:root { --riva-bg:#FFF8F5; --riva-blush:#F3DDE1; --riva-gold:#C6A15B; --riva-title:#45383D; --riva-text:#66575B; --riva-rose:#B87F8C; --riva-border:#EBD8DD; }
* { box-sizing:border-box; }
body { margin:0; padding-bottom:76px; background:var(--riva-bg); color:var(--riva-text); font-family:'DM Sans',Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.riva-legal-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; min-height:82px; padding:12px max(22px,calc((100% - 1200px)/2)); border-bottom:1px solid var(--riva-border); background:rgba(255,248,245,.95); backdrop-filter:blur(12px); }
.riva-legal-logo img { display:block; width:205px; max-width:42vw; height:auto; }
.riva-legal-nav { display:flex; align-items:center; gap:20px; color:var(--riva-title); font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.riva-legal-nav a:hover { color:var(--riva-rose); }
.riva-legal-hero { padding:84px 24px 105px; background:linear-gradient(135deg,var(--riva-bg),var(--riva-blush)); text-align:center; }
.riva-legal-kicker { display:inline-flex; align-items:center; gap:10px; margin-bottom:16px; color:var(--riva-gold); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.riva-legal-kicker:before,.riva-legal-kicker:after { width:28px; height:1px; background:currentColor; content:''; }
h1,h2 { color:var(--riva-title); font-family:Marcellus,Georgia,serif; font-weight:400; }
h1 { margin:0; font-size:clamp(40px,5vw,64px); }
.riva-legal-main { position:relative; max-width:980px; margin:-42px auto 0; padding:0 24px 86px; }
.riva-legal-card { padding:46px clamp(24px,5vw,62px); border:1px solid var(--riva-border); border-radius:18px; background:#fff; box-shadow:0 18px 38px rgba(69,56,61,.09); }
.riva-legal-card + .riva-legal-card { margin-top:20px; }
.riva-legal-card h2 { margin:0 0 13px; font-size:30px; }
.riva-legal-card p,.riva-legal-card li { font-size:16px; line-height:1.8; }
.riva-legal-card p { margin:0; }
.riva-legal-card ul { margin:14px 0 0; padding-left:22px; }
.riva-legal-card a { color:var(--riva-rose); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.riva-legal-note { padding:17px 19px; border-left:3px solid var(--riva-gold); background:var(--riva-bg); }
.riva-mobile-actions { position:fixed; right:0; bottom:0; left:0; z-index:30; display:none; grid-template-columns:1fr 1fr; gap:8px; padding:8px 12px calc(8px + env(safe-area-inset-bottom)); background:var(--riva-bg); box-shadow:0 -4px 18px rgba(69,56,61,.14); }
.riva-mobile-actions a { display:flex; align-items:center; justify-content:center; gap:8px; min-height:52px; border-radius:7px; background:var(--riva-rose); color:#fff; font-size:13px; font-weight:700; text-transform:uppercase; }
.riva-mobile-actions a:last-child { background:#25D366; }
@media (max-width:767px) { .riva-legal-header { min-height:72px; padding:11px 18px; } .riva-legal-nav { gap:13px; font-size:11px; } .riva-legal-nav a[href^="tel"] { display:none; } .riva-legal-hero { padding:64px 24px 85px; } .riva-legal-main { margin-top:-28px; padding:0 18px 60px; } .riva-legal-card { padding:30px 23px; } .riva-legal-card h2 { font-size:27px; } .riva-mobile-actions { display:grid; } }
