: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; }
html { scroll-behavior:smooth; }
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-contact-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:22px; 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-contact-logo img { display:block; width:205px; max-width:42vw; height:auto; }
.riva-contact-nav { display:flex; align-items:center; gap:22px; color:var(--riva-title); font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.riva-contact-nav a:hover { color:var(--riva-rose); }
.riva-contact-hero { padding:90px 24px 105px; background:linear-gradient(135deg,var(--riva-bg),var(--riva-blush)); text-align:center; }
.riva-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:17px; color:var(--riva-gold); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.riva-eyebrow:before,.riva-eyebrow:after { width:28px; height:1px; background:currentColor; content:''; }
h1,h2 { color:var(--riva-title); font-family:Marcellus,Georgia,serif; font-weight:400; }
h1 { max-width:700px; margin:0 auto 18px; font-size:clamp(40px,5vw,65px); line-height:1.08; }
.riva-contact-hero p { max-width:590px; margin:0 auto; font-size:18px; line-height:1.75; }
.riva-contact-main { max-width:1200px; margin:-42px auto 0; padding:0 24px 88px; position:relative; }
.riva-contact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.riva-contact-card { min-height:200px; padding:31px 26px; border:1px solid var(--riva-border); border-radius:16px; background:#fff; box-shadow:0 16px 34px rgba(69,56,61,.08); text-align:center; transition:transform .22s ease,box-shadow .22s ease; }
.riva-contact-card:hover { transform:translateY(-5px); box-shadow:0 22px 42px rgba(69,56,61,.13); }
.riva-contact-icon { display:inline-flex; width:52px; height:52px; align-items:center; justify-content:center; margin-bottom:16px; border-radius:50%; background:var(--riva-blush); color:var(--riva-rose); font-size:20px; }
.riva-contact-card h2 { margin:0 0 9px; font-size:25px; }
.riva-contact-card p { margin:0; font-size:16px; line-height:1.55; }
.riva-contact-card a:hover { color:var(--riva-rose); }
.riva-contact-bottom { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:62px; align-items:stretch; }
.riva-contact-panel { padding:45px; border-radius:18px; background:var(--riva-title); color:#fff; }
.riva-contact-panel h2 { margin:0 0 15px; color:#fff; font-size:38px; }
.riva-contact-panel p { margin:0 0 27px; line-height:1.75; }
.riva-contact-actions { display:flex; flex-wrap:wrap; gap:11px; }
.riva-contact-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:50px; padding:13px 20px; border-radius:8px; background:var(--riva-rose); color:#fff; font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; transition:transform .2s,background .2s; }
.riva-contact-button:hover { transform:translateY(-2px); background:#9D6473; color:#fff; }
.riva-contact-button--gold { background:var(--riva-gold); }
.riva-contact-button--gold:hover { background:#B58A42; }
.riva-map-panel { display:flex; flex-direction:column; justify-content:center; padding:45px; border:1px solid var(--riva-border); border-radius:18px; background:#fff; }
.riva-map-panel h2 { margin:0 0 14px; font-size:36px; }
.riva-map-panel p { margin:0 0 26px; line-height:1.75; }
.riva-map-link { display:inline-flex; align-items:center; gap:9px; width:max-content; color:var(--riva-rose); font-size:14px; font-weight:700; }
.riva-map-link:hover { color:#9D6473; }
.riva-contact-footer { padding:30px 24px 104px; background:var(--riva-title); color:#fff; text-align:center; }
.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-contact-header { min-height:72px; padding:11px 18px; } .riva-contact-nav { gap:13px; font-size:11px; } .riva-contact-nav a[href^="tel"] { display:none; } .riva-contact-hero { padding:66px 24px 86px; } .riva-contact-hero p { font-size:16px; } .riva-contact-main { margin-top:-28px; padding:0 18px 58px; } .riva-contact-cards,.riva-contact-bottom { grid-template-columns:1fr; } .riva-contact-card { min-height:0; padding:26px 20px; } .riva-contact-bottom { gap:18px; margin-top:38px; } .riva-contact-panel,.riva-map-panel { padding:31px 25px; } .riva-contact-panel h2,.riva-map-panel h2 { font-size:31px; } .riva-contact-actions { display:grid; grid-template-columns:1fr; } .riva-contact-footer { padding-bottom:94px; } .riva-mobile-actions { display:grid; } }
