/* Public-facing editorial design. This file is not loaded in member or auth pages.
   The opening section and navigation retain their existing styling. */
body.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) { padding:110px max(28px,calc((100vw - 1200px)/2)); scroll-margin-top:90px; }
body.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) h2 { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(40px,4.3vw,62px); line-height:1.07; letter-spacing:-.035em; font-weight:400; }
body.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) p { font-size:18px; line-height:1.65; color:#514a47; }
body.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) :is(.rv-intro-copy>small,.rv-section-heading>small,.rv-app-copy>small) { font-size:14px; font-weight:600; letter-spacing:.13em; color:#5d504a; }
body.rv-home.rv-web :is(#why,#experience,.closing) :is(.gradient-button,.small-button) { display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:16px 30px; background:linear-gradient(180deg,#ff9d78 0%,#ffc0e6 100%)!important; color:#171411!important; border:1px solid #fff9; border-radius:999px; font-size:17px; font-weight:700; box-shadow:inset 0 1px 0 #fff8; transition:transform .2s ease,box-shadow .2s ease; }
body.rv-home.rv-web :is(#why,#experience,.closing) :is(.gradient-button,.small-button):hover { background:linear-gradient(180deg,#ffae8c,#ffcbed)!important; transform:translateY(-3px); box-shadow:0 10px 24px #5b244218; }
body.rv-home.rv-web #why { display:grid; grid-template-columns:1fr 1.05fr; gap:72px; align-items:center; background:#f8f4ed; }
body.rv-home.rv-web #why .rv-intro-copy h2 { max-width:550px; margin:18px 0 24px; }
body.rv-home.rv-web #why .rv-intro-copy h2 em { color:#a9435a; font-style:italic; }
body.rv-home.rv-web #why .rv-intro-copy p { margin:0 0 30px; }
body.rv-home.rv-web #why .rv-product-preview { position:relative; min-height:620px; width:100%; margin:0; }
body.rv-home.rv-web .rv-preview-glow { position:absolute; inset:80px -10px 60px; border-radius:50%; background:radial-gradient(ellipse at 30% 60%,#ffadac,#f7b8d3 48%,#ddd3ef 80%); transform:rotate(-12deg); }
body.rv-home.rv-web .rv-product-screen { position:absolute; width:48%; max-width:280px; height:auto; border:7px solid #fff; border-radius:34px; box-shadow:0 24px 55px #49342f25; }
body.rv-home.rv-web .rv-product-screen-back { top:12px; left:3%; transform:rotate(-8deg); }
body.rv-home.rv-web .rv-product-screen-front { bottom:45px; right:3%; transform:rotate(8deg); }
body.rv-home.rv-web .rv-product-preview figcaption { position:absolute; bottom:0; width:100%; text-align:center; font-size:13px; color:#62524e; }
body.rv-home.rv-web #how { background:#f8f4ed; padding-top:50px; padding-bottom:110px; }
body.rv-home.rv-web #how .rv-section-heading { max-width:720px; margin-bottom:70px; }
body.rv-home.rv-web #how .rv-section-heading h2 { margin:18px 0; }
body.rv-home.rv-web #how .rv-how-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
body.rv-home.rv-web #how .rv-step-card { min-height:430px; padding:30px 25px; border:1px solid #fff; border-radius:34px; box-shadow:0 16px 40px #593c2810; background:#fff!important; justify-content:flex-start; transition:transform .25s ease,box-shadow .25s ease; }
body.rv-home.rv-web #how .rv-step-card:nth-child(1) { transform:rotate(-4deg)!important; }
body.rv-home.rv-web #how .rv-step-card:nth-child(2) { background:linear-gradient(160deg,#a4e9cf,#6dcdd5)!important; transform:translateY(25px) rotate(2deg)!important; }
body.rv-home.rv-web #how .rv-step-card:nth-child(3) { background:linear-gradient(155deg,#ffb28e,#ffc3df)!important; transform:rotate(-2deg)!important; }
body.rv-home.rv-web #how .rv-step-card:nth-child(4) { transform:translateY(20px) rotate(4deg)!important; }
body.rv-home.rv-web #how .rv-step-card:hover { transform:translateY(-8px)!important; box-shadow:0 24px 45px #593c2818; }
body.rv-home.rv-web #how .rv-step-card>span { width:auto; height:auto; display:block; margin:0 0 30px; border-radius:0; background:none; font:400 66px/.95 'DM Serif Display',Georgia,serif; letter-spacing:-.05em; color:#171411; }
body.rv-home.rv-web #how .rv-step-card h3 { font:700 23px/1.16 'DM Sans',Arial,sans-serif; letter-spacing:-.035em; margin:0 0 18px; }
body.rv-home.rv-web #how .rv-step-card p { color:#3b3632; font-size:16px!important; line-height:1.6!important; }
body.rv-home.rv-web #how .rv-step-card a { font-size:14px; border:0; text-decoration:underline; text-underline-offset:5px; margin-top:auto; padding-top:16px; }
body.rv-home.rv-web #how .rv-personality-oval { max-width:1180px; margin:140px auto 0; padding:70px 100px; min-height:420px; border-radius:50%; text-align:center; background:linear-gradient(110deg,#ffcadb 0%,#ffbc98 58%,#ffe278 100%); }
body.rv-home.rv-web #how .rv-personality-oval>small { font:600 14px/1.5 'DM Sans',Arial,sans-serif; letter-spacing:.1em; color:#583831; }
body.rv-home.rv-web #how .rv-personality-oval h3 { margin:24px auto; font:400 clamp(40px,4.5vw,64px)/1.05 'DM Serif Display',Georgia,serif; letter-spacing:-.04em; color:#171411; }
body.rv-home.rv-web #how .rv-personality-oval h3 em { color:#92384a; }
body.rv-home.rv-web #how .rv-personality-topics { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; max-width:650px; margin:auto; }
body.rv-home.rv-web #how .rv-personality-topics span { padding:12px 22px; font-size:16px; border-radius:999px; background:#fff; color:#171411; }
body.rv-home.rv-web #experience { background:#fffdfb; }
body.rv-home.rv-web #experience .rv-section-heading { max-width:740px; margin-bottom:76px; }
body.rv-home.rv-web #experience .rv-offer { display:grid; grid-template-columns:1fr 1.15fr; gap:72px; margin:0 0 110px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; align-items:center; }
body.rv-home.rv-web #experience .rv-offer:last-child { margin-bottom:0; }
body.rv-home.rv-web #experience .rv-offer-copy { padding:24px 0; }
body.rv-home.rv-web #experience .rv-offer-copy>span { display:inline-block; align-self:flex-start; width:max-content; max-width:100%; padding:9px 15px; border-radius:999px; background:#ffe6d9; color:#703724; font-size:14px; font-weight:600; letter-spacing:.07em; }
body.rv-home.rv-web #experience .rv-offer-reverse .rv-offer-copy>span { background:#d8eedf; color:#27533b; }
body.rv-home.rv-web #experience .rv-offer-copy h3 { font:400 clamp(44px,4.4vw,66px)/1.05 'DM Serif Display',Georgia,serif; letter-spacing:-.035em; margin:22px 0; }
body.rv-home.rv-web #experience .rv-offer-copy p { max-width:490px; margin:0 0 28px; }
body.rv-home.rv-web #experience .rv-offer-media { height:560px; border-radius:40px 120px 40px 40px; overflow:hidden; margin:0; background:#f3e5d8; }
body.rv-home.rv-web #experience .rv-offer-reverse { grid-template-columns:1.15fr 1fr; }
body.rv-home.rv-web #experience .rv-offer-reverse .rv-offer-media { border-radius:120px 40px 40px 40px; order:-1; }
body.rv-home.rv-web #experience .rv-offer-media img { object-fit:cover; object-position:50% 50%; width:100%; height:100%; transition:transform .6s ease; }
body.rv-home.rv-web #experience .rv-offer-media:hover img { transform:scale(1.025); }
body.rv-home.rv-web #experience .rv-offer-media figcaption { font-size:12px; padding:7px 12px; }
body.rv-home.rv-web #app { position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; background:#2c1b27; overflow:hidden; }
body.rv-home.rv-web #app .rv-app-copy h2 { color:#fff8ed; margin:20px 0 28px; }
body.rv-home.rv-web #app .rv-app-copy>small { color:#fac1d8; }
body.rv-home.rv-web #app .rv-app-copy p { color:#ecdae4; }
body.rv-home.rv-web #app .rv-store-links { justify-content:flex-start; }
body.rv-home.rv-web #app .rv-store-badge { box-shadow:none; border:1px solid #f6c5db55; }
body.rv-home.rv-web #app .rv-store-badge small { font-size:12px; }
body.rv-home.rv-web .rv-pocket-preview { position:relative; margin:0; min-height:660px; display:flex; align-items:center; justify-content:center; padding:25px 0 35px; }
body.rv-home.rv-web .rv-pocket-preview::before { content:""; position:absolute; width:100%; aspect-ratio:1; border-radius:50%; background:linear-gradient(135deg,#fbb99e,#dcaed0); }
body.rv-home.rv-web .rv-pocket-preview img { position:relative; width:270px; max-width:68%; height:auto; border:7px solid #fff8ee; border-radius:34px; transform:rotate(7deg); box-shadow:0 30px 55px #120b1599; }
body.rv-home.rv-web .rv-pocket-label { position:absolute; z-index:2; top:30px; left:0; padding:15px 24px; border-radius:999px; color:#2c1b27; background:#fff7ed; font:500 20px 'DM Serif Display',Georgia,serif; transform:rotate(-7deg); box-shadow:0 8px 25px #110c181a; }
body.rv-home.rv-web .rv-pocket-preview figcaption { position:absolute; bottom:0; color:#f4d7e9; font-size:13px; text-align:center; }
body.rv-home.rv-web #locations { background:#f8f4ed; }
body.rv-home.rv-web #locations .rv-section-heading { max-width:770px; }
body.rv-home.rv-web #locations .rv-city-pills { max-width:1060px; gap:12px; margin-bottom:36px; }
body.rv-home.rv-web #locations .rv-city-pills button { border:1px solid #e7ddd2; min-height:50px; padding:13px 24px; font-size:16px; background:#fffdfb; font-weight:600; }
body.rv-home.rv-web #locations .rv-city-pills button:is(.active,:hover) { background:#2c1b27; border-color:#2c1b27; color:#fff8ef; }
body.rv-home.rv-web #locations #rvCitiesMap { height:470px; border:0; border-radius:36px; box-shadow:0 16px 40px #593c2810; }
body.rv-home.rv-web #join.closing { position:relative; isolation:isolate; margin:20px max(28px,calc((100vw - 1200px)/2)) 100px; padding:100px 40px; gap:36px; border-radius:50% / 24%; background:linear-gradient(120deg,#ffab89,#f6b6d9 60%,#dfc6f0); text-align:center; overflow:hidden; }
body.rv-home.rv-web #join.closing h2 { color:#24151d; font:400 clamp(48px,5.5vw,78px)/1.04 'DM Serif Display',Georgia,serif; letter-spacing:-.045em; margin:24px 0 0; }
body.rv-home.rv-web #join.closing h2 em { color:#8c294b; }
body.rv-home.rv-web #join.closing>div>small { color:#563749; font-size:14px; font-weight:600; letter-spacing:.12em; }
body.rv-home.rv-web #join.closing .gradient-button { background:#24151d!important; border-color:#24151d; color:#fff8ed!important; }
body.rv-home.rv-web #join.closing .gradient-button:hover { background:#48303d!important; }
body.rv-home.rv-web #join.closing .rv-store-badge { box-shadow:none; }
/* A device icon works across browsers, unlike Apple's private-use font glyph. */
body.rv-home.rv-web :is(#app,#join) .rv-apple-mark::before { content:""; display:block; width:18px; height:26px; margin:auto; border:2px solid currentColor; border-radius:4px; background:linear-gradient(currentColor,currentColor) center bottom 3px / 7px 2px no-repeat; }
body.rv-home.rv-web>footer { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:64px max(28px,calc((100vw - 1200px)/2)); background:#24151d!important; color:#fff8ed!important; border:0; font-size:15px; line-height:2; }
body.rv-home.rv-web>footer .brand { font-size:48px; color:#fff8ed; }
body.rv-home.rv-web>footer>span:nth-child(2) { align-self:center; justify-self:end; }
body.rv-home.rv-web>footer>span:last-child { grid-column:1/-1; padding-top:24px; border-top:1px solid #ffffff30; color:#f6d3e3; }
body.rv-home.rv-web>footer a { color:inherit; text-underline-offset:5px; }
body.rv-home.rv-web>footer a:hover { text-decoration:underline; }
body.rv-home.rv-web :is(#why,#how,#experience,#app,#locations,.closing,footer) :is(a,button):focus-visible { outline:3px solid #ad4063; outline-offset:5px; }
body.rv-home.rv-web :is(#app,footer) :is(a,button):focus-visible { outline-color:#f9b5d4; }

/* Public information pages share the editorial palette, not the member app. */
body.rv-web.rv-public-info .rv-info-hero,body.rv-web.rv-public-info .amb-hero { background:radial-gradient(ellipse at 100% 0%,#f9d6e4 0%,transparent 58%); padding:88px 0 78px; }
body.rv-web.rv-public-info :is(.rv-info-hero,.amb-hero) h1 { max-width:960px; font-size:clamp(48px,5.5vw,80px); line-height:1.04; letter-spacing:-.045em; }
body.rv-web.rv-public-info :is(.rv-info-button.primary,.amb-cta) { background:linear-gradient(180deg,#ff9d78,#ffc0e6); border:1px solid #fff9; color:#24151d; font-weight:700; box-shadow:none; }
body.rv-web.rv-public-info .rv-info-section.soft { background:#f6ede5; }
body.rv-web.rv-public-info .rv-info-card { border:0; box-shadow:none; padding:38px; }
body.rv-web.rv-public-info .rv-info-grid>.rv-info-card:nth-child(2) { background:linear-gradient(135deg,#fbd2c4,#f4cbe1); }
body.rv-web.rv-public-info .rv-info-panel.alt { background:linear-gradient(135deg,#bce8d7,#b7dbe7); }
body.rv-web.rv-public-info .rv-info-footer { background:#24151d; color:#fff8ed; border:0; }
body.rv-web.rv-public-info .rv-info-footer :is(p,a,.rv-info-footer-links) { color:#f3d8e4; }

@media(max-width:1100px) {
  body.rv-home.rv-web #why { gap:36px; }
  body.rv-home.rv-web #why .rv-product-preview { min-height:530px; }
  body.rv-home.rv-web #how .rv-how-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
  body.rv-home.rv-web #how .rv-step-card { min-height:330px; }
  body.rv-home.rv-web #how .rv-step-card:nth-child(n) { transform:rotate(-2deg)!important; }
  body.rv-home.rv-web #how .rv-step-card:nth-child(even) { transform:translateY(12px) rotate(2deg)!important; }
  body.rv-home.rv-web #experience .rv-offer { gap:44px; }
  body.rv-home.rv-web #experience .rv-offer-media { height:450px; }
  body.rv-home.rv-web #app { gap:30px; }
  body.rv-home.rv-web .rv-pocket-preview { min-height:600px; }
}
@media(max-width:800px) {
  body.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) { padding:72px 24px; }
  body.rv-home.rv-web #why { grid-template-columns:1fr; gap:48px; }
  body.rv-home.rv-web #why .rv-intro-copy { max-width:650px; text-align:center; margin:auto; }
  body.rv-home.rv-web #why .rv-product-preview { width:min(520px,100%); min-height:590px; margin:auto; }
  body.rv-home.rv-web #how .rv-personality-oval { margin-top:95px; padding:70px 45px; border-radius:50% / 28%; }
  body.rv-home.rv-web #experience .rv-offer,body.rv-home.rv-web #experience .rv-offer-reverse { grid-template-columns:1fr; gap:28px; margin-bottom:75px; }
  body.rv-home.rv-web #experience .rv-offer-media { order:0!important; height:480px; border-radius:34px 90px 34px 34px; }
  body.rv-home.rv-web #experience .rv-offer-copy { order:1; padding:0; }
  body.rv-home.rv-web #app { grid-template-columns:1fr; gap:44px; }
  body.rv-home.rv-web #app .rv-app-copy { max-width:600px; text-align:center; margin:auto; }
  body.rv-home.rv-web #app .rv-store-links { justify-content:center; }
  body.rv-home.rv-web .rv-pocket-preview { width:min(500px,100%); margin:auto; min-height:670px; }
  body.rv-home.rv-web #join.closing { margin:10px 20px 72px; padding:80px 24px; border-radius:50% / 18%; }
  body.rv-home.rv-web>footer { grid-template-columns:1fr; }
  body.rv-home.rv-web>footer>span:nth-child(2) { justify-self:start; }
}
@media(max-width:480px) {
  body.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) { padding:64px 22px; }
  body.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) h2 { font-size:40px; }
  body.rv-home.rv-web :is(#why,#how,#experience,#app,#locations) p { font-size:17px; }
  body.rv-home.rv-web #why .rv-product-preview { min-height:465px; }
  body.rv-home.rv-web .rv-product-screen { border-width:5px; border-radius:25px; width:51%; }
  body.rv-home.rv-web .rv-product-screen-back { top:0; left:3%; }
  body.rv-home.rv-web .rv-product-screen-front { bottom:42px; right:3%; }
  body.rv-home.rv-web .rv-preview-glow { inset:50px 0 55px; transform:none; }
  body.rv-home.rv-web #how .rv-section-heading { margin-bottom:46px; }
  body.rv-home.rv-web #how .rv-how-grid { grid-template-columns:1fr; gap:24px; }
  body.rv-home.rv-web #how .rv-step-card:nth-child(n) { transform:none!important; min-height:0; padding:30px; border-radius:30px; }
  body.rv-home.rv-web #how .rv-step-card>span { margin-bottom:25px; font-size:56px; }
  body.rv-home.rv-web #how .rv-step-card h3 { font-size:25px; }
  body.rv-home.rv-web #how .rv-personality-oval { margin-top:64px; padding:55px 24px; min-height:0; border-radius:45% / 14%; }
  body.rv-home.rv-web #how .rv-personality-oval>small { font-size:12px; letter-spacing:.06em; }
  body.rv-home.rv-web #how .rv-personality-oval h3 { font-size:43px; }
  body.rv-home.rv-web #how .rv-personality-topics { flex-direction:column; align-items:stretch; }
  body.rv-home.rv-web #how .rv-personality-topics span { font-size:15px; }
  body.rv-home.rv-web #experience .rv-offer-media { height:360px; border-radius:30px 70px 30px 30px; }
  body.rv-home.rv-web #experience .rv-offer-copy h3 { font-size:46px; }
  body.rv-home.rv-web .rv-pocket-preview { min-height:620px; }
  body.rv-home.rv-web .rv-pocket-preview img { width:250px; max-width:76%; }
  body.rv-home.rv-web .rv-pocket-label { top:20px; font-size:18px; padding:12px 18px; }
  body.rv-home.rv-web #locations .rv-city-pills { gap:9px; }
  body.rv-home.rv-web #locations .rv-city-pills button { font-size:15px; padding:11px 17px; }
  body.rv-home.rv-web #locations #rvCitiesMap { height:360px; border-radius:28px; }
  body.rv-home.rv-web #join.closing { margin-inline:14px; padding:65px 20px; }
  body.rv-home.rv-web #join.closing h2 { font-size:48px; }
  body.rv-home.rv-web #join.closing .rv-closing-actions { flex-direction:column; align-items:stretch; width:100%; }
  body.rv-home.rv-web #join.closing .rv-store-badge { justify-content:center; }
  body.rv-web.rv-public-info :is(.rv-info-hero,.amb-hero) { padding:58px 0; }
  body.rv-web.rv-public-info :is(.rv-info-hero,.amb-hero) h1 { font-size:46px; }
}
@media(prefers-reduced-motion:reduce) {
  body.rv-home.rv-web #how .rv-step-card:nth-child(n) { transform:none!important; transition:none; }
  body.rv-home.rv-web :is(#why,#experience,.closing) :is(.gradient-button,.small-button),body.rv-home.rv-web #experience .rv-offer-media img { transition:none; }
}
