/* Website refinement, September 2026.
 * Deliberately isolated from the preserved homepage header/hero, admin and native app.
 * Existing behavior, form IDs, state classes and business rules are unchanged.
 */
body.rv-web { --web-paper:#f7f3ed; --web-ink:#171514; --web-muted:#716c67; --web-line:#e9e3db; --web-shadow:0 10px 30px rgb(40 30 20 / 4%); }
body.rv-web:not(.rv-home) { background:var(--web-paper)!important; color:var(--web-ink); font-family:'DM Sans',Arial,sans-serif!important; }
.rv-web:not(.rv-home) :is(h1,h2) { text-wrap:balance; }
.rv-web:not(.rv-home) :is(input,textarea,select,button,a,summary):focus-visible { outline:3px solid #a35b7a!important; outline-offset:4px; }
.rv-web:not(.rv-home) :is(button,.btn,.rv-info-button,.amb-cta) { transition:background .18s ease,box-shadow .18s ease,transform .18s ease; }
.rv-web:not(.rv-home) button:disabled { cursor:not-allowed; opacity:.55; }

/* Homepage: selectors never reach .hero or .app-header. */
.rv-home.rv-web :is(#why,#how,#experience,#app,#locations,.closing) { padding:100px max(28px,calc((100vw - 1200px)/2)); background:#f7f3ed; }
.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) { scroll-margin-top:84px; }
.rv-home.rv-web :is(#why,#how,#experience,#app,#locations,.closing) h2 { font-size:clamp(38px,4vw,56px); line-height:1.12; letter-spacing:-.035em; font-weight:400; text-wrap:balance; }
.rv-home.rv-web :is(#why,#how,#experience,#app,#locations,.closing) :is(.rv-intro-copy>small,.rv-section-heading>small,.rv-app-copy>small) { color:#77716b; letter-spacing:.14em; font-size:12px; }
.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) p { font-size:18px; line-height:1.65; color:#716c67; }
.rv-home.rv-web .rv-section-heading { max-width:760px; margin:0 auto 52px; }
.rv-home.rv-web .rv-section-heading h2 { margin:16px 0; }
.rv-home.rv-web :is(#why,#experience,.closing) :is(.gradient-button,.small-button) { min-height:56px; padding:16px 30px; font-size:17px; background:#171514!important; color:#fff!important; border:1px solid #171514; border-radius:999px; box-shadow:none; }
.rv-home.rv-web :is(#why,#experience,.closing) :is(.gradient-button,.small-button):hover { background:#38322f!important; box-shadow:0 6px 18px #17151418; }
.rv-home.rv-web :is(#why,#experience,.closing) a:focus-visible { outline:3px solid #a35b7a; outline-offset:5px; }
.rv-home.rv-web #why { grid-template-columns:1fr 1fr; align-items:center; gap:80px; }
.rv-home.rv-web #why .rv-intro-copy h2 { max-width:580px; margin:20px 0 24px; }
.rv-home.rv-web #why .rv-intro-copy p { max-width:510px; margin-bottom:30px; }
.rv-home.rv-web .rv-compatibility-art { position:relative; min-height:460px; padding:44px 30px; border-radius:36px; background:linear-gradient(150deg,#f8e1d5,#f3deea 60%,#ece5f7); display:grid; align-content:center; justify-items:center; gap:18px; }
.rv-home.rv-web .rv-connection-symbol { display:flex; justify-content:center; align-items:center; height:118px; }
.rv-home.rv-web .rv-connection-symbol span { width:98px; height:98px; display:grid; place-items:center; border:5px solid #fff; border-radius:35px; background:#f4a4ce; transform:rotate(-9deg); font:44px 'DM Serif Display',Georgia,serif; }
.rv-home.rv-web .rv-connection-symbol span+span { margin-left:-18px; background:#cadfd8; transform:rotate(9deg); }
.rv-home.rv-web .rv-compatibility-note { padding:28px; border:1px solid #ffffffb3; border-radius:28px; background:#ffffffef; width:min(360px,100%); text-align:center; box-shadow:0 10px 30px #66465209; }
.rv-home.rv-web .rv-compatibility-note h3 { font-family:'DM Sans',Arial,sans-serif; font-size:22px; line-height:1.3; margin:0 0 18px; letter-spacing:-.025em; }
.rv-home.rv-web .rv-compatibility-topics { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
.rv-home.rv-web .rv-compatibility-topics span { padding:9px 12px; border-radius:12px; border:1px solid #e9e3db; font-size:13px; background:#fff; }
.rv-home.rv-web .rv-compatibility-art>small { font-size:13px; color:#665c61; }
.rv-home.rv-web #how { background:#f0ebe3; }
.rv-home.rv-web .rv-how-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.rv-home.rv-web .rv-step-card { background:#fff!important; border:1px solid #ece6df; border-radius:30px; padding:30px 26px; min-height:360px; box-shadow:var(--web-shadow); transform:none!important; display:flex; flex-direction:column; }
.rv-home.rv-web .rv-step-card:nth-child(2) { background:linear-gradient(155deg,#ffe8db,#f8e4ef)!important; }
.rv-home.rv-web .rv-step-card>span { width:46px; height:46px; display:grid; place-items:center; background:#f3eee7; color:#171514; border-radius:50%; font:17px 'DM Sans',sans-serif; margin-bottom:26px; }
.rv-home.rv-web .rv-step-card h3 { font-family:'DM Sans',Arial,sans-serif; font-size:23px; line-height:1.25; letter-spacing:-.035em; margin:0 0 18px; }
.rv-home.rv-web .rv-step-card p { font-size:16px!important; line-height:1.6!important; margin:0 0 24px; }
.rv-home.rv-web .rv-step-card a { margin-top:auto; color:#171514; font-size:14px; font-weight:700; border-bottom:1px solid #17151436; padding-bottom:5px; align-self:flex-start; }
.rv-home.rv-web .rv-offer { min-height:0; margin:0 0 90px; background:transparent; border:0; border-radius:0; box-shadow:none; gap:80px; overflow:visible; align-items:center; grid-template-columns:1fr 1fr; }
.rv-home.rv-web .rv-offer:last-child { margin-bottom:0; }
.rv-home.rv-web .rv-offer-copy { padding:24px 0; }
.rv-home.rv-web .rv-offer-copy>span { font-size:12px; color:#77716b; letter-spacing:.12em; }
.rv-home.rv-web .rv-offer-copy h3 { font-size:clamp(38px,4vw,52px); line-height:1.1; margin:18px 0 24px; }
.rv-home.rv-web .rv-offer-copy p { max-width:500px; margin-bottom:30px; }
.rv-home.rv-web .rv-offer-copy .small-button { align-self:flex-start; display:inline-flex; align-items:center; justify-content:center; }
.rv-home.rv-web .rv-offer-media { margin:0; padding:0; display:block; min-height:0; height:440px; border-radius:32px; position:relative; overflow:hidden; background:#efe4da; }
.rv-home.rv-web .rv-offer-media img { display:block; width:100%; height:100%; object-fit:cover; }
.rv-home.rv-web .rv-offer-media figcaption { position:absolute; left:16px; bottom:14px; border-radius:999px; padding:6px 11px; font-size:11px; color:#fff; background:#171514a8; }
.rv-home.rv-web #app { background:#efe9e2; grid-template-columns:1fr 1fr; gap:64px; align-items:center; overflow:hidden; }
.rv-home.rv-web #app .rv-app-copy h2 { margin:18px 0 24px; }
.rv-home.rv-web .rv-screen-strip { display:flex; gap:16px; justify-content:center; transform:none; padding:12px 0; }
.rv-home.rv-web .rv-screen-strip .rv-phone { width:220px; min-width:0; height:460px; border:7px solid #fff; border-radius:32px; box-shadow:0 12px 30px #17151412; transform:none; }
.rv-home.rv-web .rv-screen-strip .rv-phone { margin:0; flex:0 1 220px; }
.rv-home.rv-web .rv-screen-strip .rv-phone:nth-child(2) { display:none; }
.rv-home.rv-web .rv-screen-strip .rv-phone:last-child { transform:translateY(25px); }
.rv-home.rv-web .rv-screen-strip .rv-mock-screen { padding:20px 14px; border-radius:25px; background:#f9f5ee; }
.rv-home.rv-web .rv-screen-strip .rv-mock-screen p { font-size:13px; line-height:1.5; }
.rv-home.rv-web .rv-screen-strip .rv-mock-screen h3 { font-size:26px; }
.rv-home.rv-web .rv-mock-action { display:block; border-radius:999px; background:#171514; color:#fff; text-align:center; padding:12px 10px; font:600 12px 'DM Sans',Arial,sans-serif; margin-top:auto; }
.rv-home.rv-web .rv-mock-secondary { display:block; text-align:center; font-size:11px; margin-top:12px; }
.rv-home.rv-web #locations .rv-city-pills { gap:10px; max-width:920px; margin:0 auto 30px; justify-content:center; }
.rv-home.rv-web #locations .rv-city-pills button { background:#fff; border:1px solid #e6e0d8; padding:13px 23px; min-height:48px; border-radius:999px; color:#171514; font-size:15px; }
.rv-home.rv-web #locations .rv-city-pills button:is(.active,:hover) { background:#171514; color:#fff; border-color:#171514; }
.rv-home.rv-web #locations #rvCitiesMap { height:490px; border:8px solid #fff; border-radius:32px; box-shadow:var(--web-shadow); }
.rv-home.rv-web .closing { background:linear-gradient(130deg,#f9e6dc,#f4dfec); border-radius:36px; margin:0 max(28px,calc((100vw - 1200px)/2)) 80px; padding:64px; text-align:center; display:flex; align-items:center; flex-direction:column; gap:30px; }
.rv-home.rv-web .closing h2 { margin:18px 0 0; font-size:clamp(42px,5vw,66px); color:#171514; }
/* Keep closing copy legible on paper; do not recolor the dark store badges. */
.rv-home.rv-web .closing>div>small { color:#5f5753; }
.rv-home.rv-web .closing h2 em { color:#a8444b; }
.rv-home.rv-web .closing .rv-closing-actions { justify-content:center; }
.rv-home.rv-web>footer { background:#f7f3ed!important; color:#171514!important; border-top:1px solid #e9e3db; padding:40px max(28px,calc((100vw - 1200px)/2)); font-size:14px; gap:30px; }
.rv-home.rv-web>footer a { color:inherit; }

/* Secondary information pages. */
.rv-web.rv-public-info .rv-info-wrap { width:min(1200px,calc(100% - 64px)); }
.rv-web.rv-public-info .rv-info-header { padding:24px 0 0; }
.rv-web.rv-public-info .rv-info-nav { border-color:#ffffff; background:#fff; min-height:88px; padding:14px 24px; box-shadow:var(--web-shadow); gap:20px; }
.rv-web.rv-public-info .rv-info-brand { font-size:32px; }
.rv-web.rv-public-info .rv-info-links { gap:20px; }
.rv-web.rv-public-info .rv-info-links a { font-size:14px; font-weight:500; }
.rv-web.rv-public-info .rv-info-button { min-height:50px; padding:0 24px; font-size:15px; font-weight:600; }
.rv-web.rv-public-info :is(.rv-info-hero,.amb-hero) { background:transparent; padding:86px 0 68px; text-align:center; }
.rv-web.rv-public-info .rv-info-hero:before,.rv-web.rv-public-info .rv-info-hero:after { display:none; }
.rv-web.rv-public-info .rv-info-eyebrow { color:#716c67; letter-spacing:.15em; font-weight:600; font-size:12px; }
.rv-web.rv-public-info :is(.rv-info-hero,.amb-hero) h1 { font-size:clamp(48px,6vw,78px); line-height:1.08; letter-spacing:-.04em; max-width:940px; margin:22px auto; }
.rv-web.rv-public-info :is(.rv-info-lead,.amb-hero p) { font-size:19px; line-height:1.65; max-width:700px; margin:24px auto; color:#716c67; }
.rv-web.rv-public-info .rv-info-cta { justify-content:center; }
.rv-web.rv-public-info :is(.rv-info-section,.amb-section) { padding:72px 0; }
.rv-web.rv-public-info :is(.rv-info-section.soft,.amb-section.soft) { background:#f0ebe4; }
.rv-web.rv-public-info :is(.rv-info-section h2,.amb-title) { font-size:clamp(36px,4vw,50px); line-height:1.15; letter-spacing:-.025em; }
.rv-web.rv-public-info .rv-info-intro { font-size:18px; line-height:1.65; }
.rv-web.rv-public-info :is(.rv-info-grid,.amb-grid) { gap:24px; }
.rv-web.rv-public-info :is(.rv-info-card,.amb-grid article,.amb-card,.amb-terms) { background:#fff; border:1px solid #eee8e1; border-radius:32px; padding:32px; box-shadow:var(--web-shadow); }
.rv-web.rv-public-info :is(.rv-info-card h2,.amb-grid h2) { font:600 25px/1.3 'DM Sans',Arial,sans-serif; letter-spacing:-.03em; }
.rv-web.rv-public-info :is(.rv-info-card p,.rv-info-card li,.amb-grid p,.amb-terms) { font-size:17px; color:#716c67; }
.rv-web.rv-public-info .rv-info-card small { color:#716c67; letter-spacing:.1em; font-size:12px; }
.rv-web.rv-public-info .rv-info-panel { border-radius:32px; padding:42px; background:#fff; color:#171514; box-shadow:var(--web-shadow); }
.rv-web.rv-public-info .rv-info-panel p { color:#716c67; font-size:18px; }
.rv-web.rv-public-info .rv-info-panel.alt { background:linear-gradient(140deg,#ffe9da,#f5deee); }
.rv-web.rv-public-info .rv-faq { max-width:856px; margin:0 auto; gap:10px; }
.rv-web.rv-public-info .rv-faq details { background:#fff; border:1px solid transparent; border-radius:24px; padding:0 26px; box-shadow:var(--web-shadow); }
.rv-web.rv-public-info .rv-faq summary { padding:22px 35px 22px 0; font-size:18px; font-weight:500; color:#716c67; line-height:1.5; }
.rv-web.rv-public-info .rv-faq summary:after { content:''; width:9px; height:9px; top:29px; right:5px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.rv-web.rv-public-info .rv-faq details[open] { border-color:#ddd3c8; }
.rv-web.rv-public-info .rv-faq details[open] summary { font-weight:600; color:#171514; }
.rv-web.rv-public-info .rv-faq details[open] summary:after { transform:rotate(225deg); top:33px; }
.rv-web.rv-public-info .rv-faq details p { font-size:17px; line-height:1.7; color:#716c67; margin:0 0 26px; }
.rv-web.rv-public-info .rv-info-note { max-width:856px; margin:30px auto 0; padding:22px 26px; border:1px solid #e5d9ce; border-radius:24px; background:#efe8dd; }
.rv-web.rv-public-info .rv-info-footer { background:#f7f3ed; color:#171514; border-top:1px solid #e9e3db; padding:46px 0; }
.rv-web.rv-public-info :is(.rv-info-footer p,.rv-info-footer-links) { color:#716c67; font-size:14px; line-height:1.7; }
.rv-web.rv-public-info :is(.amb-cta,.amb-card button) { min-height:54px; justify-content:center; padding:16px 28px; font-size:16px; background:#171514; color:#fff; }
.rv-web.rv-public-info :is(.amb-card input,.amb-card textarea) { border:1px solid #e5dfd7; border-radius:16px; min-height:52px; background:#faf8f5; }

/* Sign-in, account creation and confirmation: same soft, focused form system. */
body.rv-web.rv-auth { background:#f7f3ed!important; }
.rv-web.rv-auth>.shell { background:#f7f3ed!important; gap:0; grid-template-columns:1fr 1fr; min-height:100svh; width:100%; max-width:none; margin:0; padding:0; border:0!important; border-radius:0!important; box-shadow:none!important; }
.rv-web.rv-auth .visual { background:#efe9e1!important; padding:44px clamp(28px,5vw,76px)!important; color:#171514!important; overflow:hidden; border-radius:0 36px 36px 0; }
.rv-web.rv-auth .visual:before,.rv-web.rv-auth .visual:after,.rv-web.rv-auth .panel:before { display:none!important; }
.rv-web.rv-auth .visual,.rv-web.rv-auth .panel { border:0!important; box-shadow:none!important; }
.rv-web.rv-auth .visual { justify-content:center; gap:58px; }
.rv-web.rv-auth #signInButton,.rv-web.rv-auth #resetButton,.rv-web.rv-auth #sessionNotice button:first-of-type { background:#171514!important; color:#fff!important; border:1px solid #171514!important; box-shadow:none!important; }
.rv-web:not(.rv-home) #rvLanguageButton { background:#fff!important; color:#171514!important; border:1px solid #e5dfd7!important; box-shadow:var(--web-shadow)!important; margin:0!important; }
.rv-web.rv-auth .visual .brand { color:#171514!important; }
.rv-web.rv-auth .visual .brand img { filter:none!important; }
.rv-web.rv-auth .visual-copy { background:transparent!important; border:0!important; padding:0!important; box-shadow:none!important; backdrop-filter:none!important; }
.rv-web.rv-auth .visual h1 { color:#171514!important; font-size:clamp(48px,5.2vw,76px)!important; line-height:1.05!important; max-width:590px; letter-spacing:-.045em; }
.rv-web.rv-auth .visual p { color:#716c67!important; font-size:18px; max-width:450px; }
.rv-web.rv-auth .panel { background:transparent!important; padding:60px 36px!important; }
.rv-web.rv-auth .card { background:#fff!important; border:1px solid #eee8e1!important; border-radius:32px!important; padding:42px!important; width:min(520px,100%); box-shadow:var(--web-shadow)!important; backdrop-filter:none!important; }
.rv-web.rv-auth .card h2 { font-size:44px!important; line-height:1.1; }
.rv-web.rv-auth .card h1 { font-size:clamp(36px,4vw,50px)!important; line-height:1.1; }
.rv-web.rv-auth .eyebrow { font-size:11px!important; color:#716c67!important; letter-spacing:.13em!important; }
.rv-web.rv-auth .muted { font-size:16px; color:#716c67; }
.rv-web.rv-auth .field label { font-size:14px!important; font-weight:500!important; }
.rv-web.rv-auth .field input { min-height:54px; border:1px solid #e5dfd7!important; border-radius:16px!important; background:#faf8f5!important; color:#171514!important; font:16px 'DM Sans',Arial,sans-serif!important; }
.rv-web.rv-auth :is(.card button,.card .button) { min-height:54px; border-radius:999px!important; background:#171514!important; color:#fff!important; border:1px solid #171514!important; font-size:16px!important; box-shadow:none!important; padding:15px 20px!important; }
.rv-web.rv-auth .card button.secondary { background:#fff!important; color:#171514!important; border:1px solid #e5dfd7!important; }
.rv-web.rv-auth .fine { font-size:13px; line-height:1.6; }
.rv-web.rv-auth .fine a { text-decoration:underline; text-underline-offset:3px; }

/* Application: preserve choice/consent semantics and native controls. */
.rv-web.rv-application .ambient { display:none; }
.rv-web.rv-application .shell { max-width:1320px; padding:0 36px 64px; }
.rv-web.rv-application .app-layout { grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr); gap:64px; }
.rv-web.rv-application .experience-panel h2 { font-size:clamp(48px,5vw,70px)!important; line-height:1.04; }
.rv-web.rv-application .experience-panel .eyebrow { color:#716c67; }
.rv-web.rv-application .experience-panel { border:0!important; box-shadow:none!important; border-radius:0!important; }
.rv-web.rv-application .top { border:0!important; background:transparent!important; box-shadow:none!important; padding-right:78px; gap:16px; }
.rv-web.rv-application .journey { display:grid; grid-template-columns:1fr; gap:16px; }
.rv-web.rv-application .journey-item { display:flex; gap:16px; align-items:flex-start; border:0; padding:0; }
.rv-web.rv-application .journey-icon { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; background:#ece5dc!important; border-radius:50%; color:#171514; font-size:13px; }
.rv-web.rv-application .journey-item strong { font-size:15px; }
.rv-web.rv-application .journey-item small { font-size:13px; margin-top:4px; }
.rv-web.rv-application .trust-note { border:0!important; background:transparent!important; padding:12px 0; }
.rv-web.rv-application .card { background:#fff!important; border:1px solid #eee8e1!important; border-radius:32px; padding:42px; min-height:0; box-shadow:var(--web-shadow)!important; }
.rv-web.rv-application .card :is(h1,h2) { font-size:clamp(34px,3.2vw,46px)!important; line-height:1.12; }
.rv-web.rv-application :is(.section-kicker,.question-count) { color:#716c67; letter-spacing:.1em; font-size:11px; }
.rv-web.rv-application :is(.field input:not([type='checkbox']):not([type='radio']):not([type='file']),.field select,.field textarea) { min-height:54px; font-size:16px; background:#faf8f5!important; border:1px solid #e5dfd7!important; border-radius:16px!important; }
.rv-web.rv-application .password-row input { padding-right:76px!important; }
.rv-web.rv-application :is(.choice,.check) { border:1px solid #e5dfd7; border-radius:18px; padding:18px; box-shadow:none; }
.rv-web.rv-application .choice.selected { background:#f8e9ed!important; border-color:#171514!important; box-shadow:inset 0 0 0 1px #171514; }
.rv-web.rv-application .choice.selected:after { background:#171514!important; color:#fff!important; }
.rv-web.rv-application .btn { min-height:54px; background:#171514!important; color:#fff!important; border:1px solid #171514; box-shadow:none!important; font-size:15px; }
.rv-web.rv-application .btn.secondary { background:#fff!important; color:#171514!important; border-color:#e5dfd7; }
.rv-web.rv-application .progress { height:6px; background:#eee9e1; }
.rv-web.rv-application .progress span { background:#171514; }
.rv-web.rv-application .demo { border-radius:24px; background:#f7f3ed!important; border:1px solid #e9e3db; }

/* Legal reading surface, without changing the document. */
.rv-web.rv-legal .nav { position:relative; background:transparent!important; }
.rv-web.rv-legal .navin { min-height:90px; }
.rv-web.rv-legal .hero { min-height:0!important; padding:68px 0!important; background:transparent!important; }
.rv-web.rv-legal .hero:before,.rv-web.rv-legal .hero:after { display:none!important; }
.rv-web.rv-legal h1 { font-size:clamp(48px,6vw,76px)!important; line-height:1.05; }
.rv-web.rv-legal .hero h1 { color:#171514!important; }
.rv-web.rv-legal .hero .lead { color:#716c67!important; }
.rv-web.rv-legal .lead { font-size:18px; line-height:1.7; max-width:740px; }
.rv-web.rv-legal .draft { background:#fff!important; border:1px solid #eee8e1; border-radius:24px; box-shadow:none; }
.rv-web.rv-legal .layout { gap:40px; padding-top:20px; }
.rv-web.rv-legal .toc { background:transparent!important; border:0; border-radius:24px; }
.rv-web.rv-legal .toc a { font-size:14px; padding:12px 14px; }
.rv-web.rv-legal .toc a:hover { background:#eee7de; }
.rv-web.rv-legal .doc { background:#fff!important; border:1px solid #eee8e1; border-radius:32px; box-shadow:var(--web-shadow); }
.rv-web.rv-legal .doc h2 { font-size:clamp(32px,4vw,42px)!important; line-height:1.18; }
.rv-web.rv-legal .doc h3 { font:600 21px/1.4 'DM Sans',Arial,sans-serif!important; }
.rv-web.rv-legal .doc :is(p,li) { font-size:16px; line-height:1.8; }
.rv-web.rv-legal .summary { border:0; background:#f5f0e9; border-radius:20px; }
.rv-web.rv-legal .tag { background:#eee8df; color:#716c67; letter-spacing:.08em; }

/* Member website only. Specificity intentionally exceeds the late premium sheet. */
body.rv-web.rv-member { background:#f7f3ed!important; }
body.rv-web.rv-member:before { display:none!important; }
.rv-web.rv-member .topbar { background:#f7f3ed!important; border-bottom:1px solid #e9e3db; box-shadow:none!important; }
.rv-web.rv-member .shell { width:min(1320px,calc(100% - 56px)); padding-top:34px; }
.rv-web.rv-member .layout { grid-template-columns:220px minmax(0,1fr); gap:32px; }
.rv-web.rv-member .side { background:#fff!important; border:1px solid #eee8e1!important; border-radius:28px; padding:22px 14px; box-shadow:var(--web-shadow)!important; backdrop-filter:none; }
.rv-web.rv-member .navbtn { min-height:48px; border-radius:999px; font-size:14px; padding:12px 18px; color:#716c67; }
.rv-web.rv-member .navbtn.active { background:#171514!important; color:#fff!important; border-color:#171514!important; }
.rv-web.rv-member :is(.card,.auth,.match-card) { background:#fff!important; border:1px solid #eee8e1!important; border-radius:28px; box-shadow:var(--web-shadow)!important; backdrop-filter:none; }
.rv-web.rv-member .auth { max-width:560px; padding:42px; }
.rv-web.rv-member .hero { background:transparent!important; border:0!important; box-shadow:none!important; padding:8px 0 28px!important; min-height:0!important; }
.rv-web.rv-member .hero h1 { font-size:clamp(40px,4vw,62px)!important; line-height:1.08; }
.rv-web.rv-member :is(.hero p,.muted) { color:#716c67; line-height:1.7; }
.rv-web.rv-member :is(.btn.primary,.btn.dark) { background:#171514!important; color:#fff!important; border-color:#171514!important; border-radius:999px!important; min-height:48px; box-shadow:none!important; }
.rv-web.rv-member .btn.ghost { background:#fff!important; color:#171514!important; border:1px solid #e5dfd7!important; border-radius:999px!important; min-height:46px; box-shadow:none!important; }
.rv-web.rv-member .field :is(input:not([type='checkbox']):not([type='radio']):not([type='file']),select,textarea) { min-height:52px; border:1px solid #e5dfd7!important; border-radius:16px!important; background:#faf8f5!important; font-size:16px; }

@media(max-width:1100px) {
  .rv-home.rv-web #why,.rv-home.rv-web #app,.rv-home.rv-web .rv-offer { gap:40px; }
  .rv-home.rv-web .rv-how-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rv-home.rv-web .rv-step-card { min-height:300px; }
  .rv-home.rv-web .rv-screen-strip .rv-phone { width:190px; height:425px; }
  .rv-web.rv-public-info .rv-info-links { display:none; }
  .rv-web.rv-public-info .rv-info-menu { display:block; }
  .rv-web.rv-application .app-layout { gap:32px; }
}
@media(max-width:900px) {
  .rv-home.rv-web :is(#why,#how,#experience,#app,#locations) { padding:72px 28px; }
  .rv-home.rv-web #why,.rv-home.rv-web #app { grid-template-columns:1fr; }
  .rv-home.rv-web #why .rv-intro-copy { max-width:650px; margin:auto; text-align:center; }
  .rv-home.rv-web #why .rv-intro-copy p { margin-inline:auto; }
  .rv-home.rv-web .rv-compatibility-art { min-height:410px; max-width:600px; width:100%; margin:auto; }
  .rv-home.rv-web #app .rv-app-copy { text-align:center; max-width:640px; margin:auto; }
  .rv-home.rv-web #app .rv-store-links { justify-content:center; }
  .rv-home.rv-web .rv-screen-strip .rv-phone { width:230px; height:450px; }
  .rv-web.rv-auth>.shell { grid-template-columns:1fr; }
  .rv-web.rv-auth .visual { min-height:0!important; padding:28px 32px!important; border-radius:0; }
  .rv-web.rv-auth .visual { gap:0; }
  .rv-web.rv-auth .visual h1 { font-size:42px!important; margin-top:28px; max-width:640px; }
  .rv-web.rv-auth .visual p { margin-bottom:0; }
  .rv-web.rv-auth .panel { padding:32px!important; }
  .rv-web.rv-application .app-layout { grid-template-columns:1fr; gap:22px; }
  .rv-web.rv-application .experience-panel { padding:18px 0 0; }
  .rv-web.rv-application .experience-panel h2 { font-size:44px!important; margin:12px 0; }
  .rv-web.rv-application .experience-panel :is(.journey,.trust-note) { display:none; }
  .rv-web.rv-application .card { max-width:none; }
  .rv-web.rv-member .layout { grid-template-columns:1fr; }
  .rv-web.rv-member .side { display:flex; overflow-x:auto; padding:10px; gap:6px; border-radius:24px; }
  .rv-web.rv-member .side .member-mini { display:none; }
  .rv-web.rv-member .navbtn { flex-shrink:0; width:auto; white-space:nowrap; }
}
@media(max-width:600px) {
  .rv-home.rv-web :is(#why,#how,#experience,#app,#locations) { padding:60px 20px; }
  .rv-home.rv-web :is(#why,#how,#experience,#app,#locations) h2 { font-size:38px; }
  .rv-home.rv-web :is(#why,#how,#experience,#app,#locations) p { font-size:17px; }
  .rv-home.rv-web .rv-section-heading { margin-bottom:32px; }
  .rv-home.rv-web .rv-how-grid { grid-template-columns:1fr; gap:16px; }
  .rv-home.rv-web .rv-step-card { min-height:0; padding:28px; border-radius:28px; }
  .rv-home.rv-web .rv-step-card>span { margin-bottom:20px; }
  .rv-home.rv-web .rv-compatibility-art { min-height:390px; padding:26px 20px; border-radius:28px; }
  .rv-home.rv-web .rv-offer { grid-template-columns:1fr; gap:24px; margin-bottom:60px; }
  .rv-home.rv-web .rv-offer-copy { order:2; padding:0; }
  .rv-home.rv-web .rv-offer-media { order:1; height:330px; border-radius:28px; }
  .rv-home.rv-web .rv-offer-copy h3 { font-size:38px; }
  .rv-home.rv-web .rv-screen-strip { gap:12px; overflow:visible; padding-bottom:30px; }
  .rv-home.rv-web .rv-screen-strip .rv-phone { width:calc(50% - 6px); flex:0 1 calc(50% - 6px); height:520px; border-width:5px; border-radius:26px; }
  .rv-home.rv-web .rv-mock-action { width:100%; font-size:11px; }
  .rv-home.rv-web .rv-screen-strip .rv-mock-screen { padding:18px 10px; }
  .rv-home.rv-web .rv-screen-strip .rv-mock-screen h3 { font-size:22px; }
  .rv-home.rv-web .rv-screen-strip .rv-mock-brand { font-size:18px; }
  .rv-home.rv-web .rv-screen-strip .rv-mock-kicker { font-size:8px; }
  .rv-home.rv-web #locations #rvCitiesMap { height:370px; border-width:5px; border-radius:26px; }
  .rv-home.rv-web #locations .rv-city-pills { gap:8px; }
  .rv-home.rv-web #locations .rv-city-pills button { padding:11px 15px; font-size:13px; }
  .rv-home.rv-web .closing { margin:0 16px 50px; padding:40px 22px; border-radius:28px; }
  .rv-home.rv-web .closing h2 { font-size:42px; }
  .rv-home.rv-web .closing .rv-closing-actions { gap:12px; }
  .rv-home.rv-web>footer { padding:32px 24px; align-items:flex-start; flex-direction:column; line-height:1.9; }
  .rv-web.rv-public-info .rv-info-wrap { width:calc(100% - 32px); }
  .rv-web.rv-public-info .rv-info-header { padding-top:12px; }
  .rv-web.rv-public-info .rv-info-nav { min-height:72px; padding:10px 12px; gap:8px; }
  .rv-web.rv-public-info .rv-info-brand { font-size:22px; }
  .rv-web.rv-public-info .rv-info-actions { gap:6px; }
  .rv-web.rv-public-info .rv-info-button { min-height:44px; padding:0 12px; font-size:12px; white-space:nowrap; flex-shrink:0; }
  .rv-web.rv-public-info #rvLanguageButton { min-width:48px!important; padding:0 8px!important; min-height:44px!important; }
  .rv-web.rv-public-info .rv-info-menu-panel { position:fixed; top:92px; left:16px; right:16px; width:auto; }
  .rv-web.rv-public-info :is(.rv-info-hero,.amb-hero) { padding:54px 0 34px; }
  .rv-web.rv-public-info :is(.rv-info-hero,.amb-hero) h1 { font-size:47px; }
  .rv-web.rv-public-info :is(.rv-info-lead,.amb-hero p) { font-size:17px; }
  .rv-web.rv-public-info :is(.rv-info-section,.amb-section) { padding:44px 0; }
  .rv-web.rv-public-info :is(.rv-info-card,.amb-grid article,.amb-card,.rv-info-panel) { padding:26px; border-radius:26px; }
  .rv-web.rv-public-info .rv-faq details { padding-inline:22px; }
  .rv-web.rv-public-info .rv-faq summary { font-size:17px; }
  .rv-web.rv-auth .visual { padding:24px!important; }
  .rv-web.rv-auth .visual h1 { font-size:38px!important; }
  .rv-web.rv-auth .visual p { font-size:16px; }
  .rv-web.rv-auth .panel { padding:24px 16px 40px!important; }
  .rv-web.rv-auth .card { padding:28px 24px!important; border-radius:28px!important; }
  .rv-web.rv-auth .card h2 { font-size:37px!important; }
  .rv-web.rv-application .shell { padding:0 16px 32px; }
  .rv-web.rv-application .top { padding:0 64px 0 0; gap:12px; }
  .rv-web.rv-application .brand-wordmark { width:132px; }
  .rv-web.rv-application .privacy-link { font-size:12px; line-height:1.3; }
  .rv-web.rv-application .experience-panel h2 { font-size:38px!important; }
  .rv-web.rv-application .card { padding:28px 22px; border-radius:28px; }
  .rv-web.rv-application .card :is(h1,h2) { font-size:35px!important; }
  .rv-web.rv-legal .hero { padding:38px 0!important; }
  .rv-web.rv-legal h1 { font-size:48px!important; }
  .rv-web.rv-legal .doc { padding:26px 22px; border-radius:26px; }
  .rv-web.rv-legal .doc h2 { font-size:34px!important; }
  .rv-web.rv-member .shell { width:calc(100% - 28px); padding-top:20px; }
  .rv-web.rv-member .auth { padding:28px 24px; }
}
@media(max-width:380px) {
  .rv-web.rv-public-info .rv-info-nav { flex-wrap:wrap; border-radius:28px; }
  .rv-web.rv-public-info .rv-info-actions { width:100%; justify-content:flex-end; }
  .rv-web.rv-public-info .rv-info-menu-panel { top:124px; }
}
@media(prefers-reduced-motion:reduce) {
  .rv-web:not(.rv-home) :is(button,.btn,.rv-info-button,.amb-cta) { transition:none; }
}
