/* chanceatfinance.com v5: shared chrome (fonts, header, menu, footer, phone bar, consent, progress, veil).
   Prefixed v5* so it can sit beside the six guides' own stylesheets. Brand: Fraunces display, Inter text, forest + cream, lime action. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 900;font-display:fallback;src:url("/fonts/fraunces.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:300 900;font-display:fallback;src:url("/fonts/fraunces-italic.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 800;font-display:fallback;src:url("/fonts/inter.woff2") format("woff2")}
/* v5.2 metric-matched fallbacks, measured with fontTools over every H1/H2 on the site (Fraunces at wght 500 / opsz 144 is 15% narrower than
   Iowan Old Style and 14% narrower than Georgia; Inter 400 is 6.8% wider than Helvetica Neue and 9.1% wider than Arial). One face per local
   font so the width ratio is exact; the browser skips a face whose local() font is missing. Overrides = Fraunces 0.978 / 0.255, Inter 0.969 / 0.241, each divided by its size-adjust. */
@font-face{font-family:"Fraunces Fallback";src:local("Iowan Old Style"),local("IowanOldStyle-Roman");size-adjust:85%;ascent-override:115%;descent-override:30%;line-gap-override:0%}
@font-face{font-family:"Fraunces Fallback 2";src:local("Georgia");size-adjust:86.4%;ascent-override:113.2%;descent-override:29.5%;line-gap-override:0%}
@font-face{font-family:"Inter Fallback";src:local("Helvetica Neue"),local("HelveticaNeue");size-adjust:106.8%;ascent-override:90.7%;descent-override:22.6%;line-gap-override:0%}
@font-face{font-family:"Inter Fallback 2";src:local("Arial"),local("ArialMT");size-adjust:109.1%;ascent-override:88.8%;descent-override:22.1%;line-gap-override:0%}
:root{
  --c-forest:#33532B;--c-forest-deep:#2A4522;--c-950:#22391C;--c-lime:#D9F14F;--c-lime-soft:rgba(217,241,79,.16);
  --c-cream:#FAF5EA;--c-cream2:#F1EAD9;--c-paper:#FFFFFF;--c-ink:#20301B;--c-ink-dim:#51604B;--c-ink-soft:#5D6B56;
  --c-milk:#F6F2E4;--c-milk-dim:#C6D0BC;--c-line:#E4DCC6;--c-line-g:rgba(246,242,228,.16);--c-red:#C9342A;
  --c-sans:"Inter","Inter Fallback","Inter Fallback 2",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --c-serif:"Fraunces","Fraunces Fallback","Fraunces Fallback 2","Iowan Old Style",Georgia,serif;
  --c-ease:cubic-bezier(.22,1,.36,1);--c-spring:linear(0,.0462,.1527,.2841,.4183,.5429,.6515,.742,.8147,.8712,.9138,.945,.9673,.9825,.9926,.9988,1.0025,1.0043,1.005,1.0049,1.0045,1.0039,1.0032,1.0025,1);
  --c-nav-h:72px;--c-safe-b:env(safe-area-inset-bottom,0px)
}
@media (max-width:760px){:root{--c-nav-h:62px}}
.v5skip{position:absolute;left:-9999px;top:12px;z-index:9999;background:var(--c-950);color:var(--c-milk);padding:10px 16px;border-radius:999px;font:600 14px var(--c-sans)}
.v5skip:focus{left:12px}

/* ---------- progress ---------- */
.v5prog{position:fixed;left:0;top:0;height:3px;width:100%;z-index:120;pointer-events:none}
.v5prog i{display:block;height:100%;width:0;background:var(--c-lime);box-shadow:0 0 12px rgba(217,241,79,.6)}

/* ---------- header ---------- */
.v5nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--c-nav-h);background:rgba(250,245,234,.86);-webkit-backdrop-filter:saturate(170%) blur(14px);backdrop-filter:saturate(170%) blur(14px);border-bottom:1px solid rgba(32,48,27,.08);color:var(--c-ink);transition:background .45s var(--c-ease),color .45s var(--c-ease),box-shadow .45s var(--c-ease),border-color .45s var(--c-ease),transform .5s var(--c-ease)}
.v5nav.scrolled{box-shadow:0 10px 30px -18px rgba(34,57,28,.35)}
.v5nav.over{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--c-milk);box-shadow:none}
.v5nav.hidden{transform:translateY(-110%)}
body.v5-menu-open .v5nav{transform:none}
.v5nav-in{height:100%;max-width:1180px;margin:0 auto;padding:0 clamp(18px,3vw,32px);display:flex;align-items:center;justify-content:space-between;gap:14px}
.v5brand{display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none;white-space:nowrap;min-height:44px}
.v5brand svg{width:30px;height:30px;flex:none;transition:transform .5s var(--c-ease)}
.v5brand:hover svg{transform:rotate(-8deg)}
.v5brand .m-c{fill:var(--c-forest);transition:fill .45s var(--c-ease)}
.v5brand .m-k{fill:var(--c-lime)}
.v5nav.over .v5brand .m-c{fill:var(--c-milk)}
.v5brand-t{font-family:var(--c-serif);font-weight:600;font-size:19px;letter-spacing:-.01em;line-height:1}
.v5brand-t em{font-style:italic;font-weight:500;opacity:.72;margin-left:5px;font-variation-settings:"opsz" 24}
.v5links{display:flex;gap:4px;align-items:center}
.v5links a{position:relative;white-space:nowrap;color:inherit;text-decoration:none;font:600 14.5px/1 var(--c-sans);letter-spacing:-.005em;padding:14px 12px;border-radius:999px;opacity:.86;transition:opacity .2s,background .2s}
.v5links a:after{content:"";position:absolute;left:12px;right:12px;bottom:9px;height:2px;background:var(--c-lime);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--c-ease)}
.v5links a:hover,.v5links a.on{opacity:1}
.v5links a:hover:after,.v5links a.on:after{transform:scaleX(1)}
.v5nav-r{display:flex;align-items:center;gap:8px}
.v5nav-book{position:relative;display:inline-flex;white-space:nowrap;align-items:center;color:inherit;text-decoration:none;font:600 14.5px/1 var(--c-sans);letter-spacing:-.005em;padding:14px 12px;border-radius:999px;opacity:.86;min-height:44px;transition:opacity .2s}
.v5nav-book:after{content:"";position:absolute;left:12px;right:12px;bottom:9px;height:2px;background:var(--c-lime);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--c-ease)}
.v5nav-book:hover{opacity:1}
.v5nav-book:hover:after{transform:scaleX(1)}
.v5btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 20px;border-radius:999px;background:var(--c-lime);color:var(--c-950);font:700 14.5px/1 var(--c-sans);letter-spacing:-.01em;text-decoration:none;border:0;cursor:pointer;transition:transform .35s var(--c-spring),box-shadow .25s var(--c-ease),background .2s}
.v5btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px -8px rgba(217,241,79,.7)}
.v5btn:active{transform:scale(.97)}
.v5btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.v5btn.ghost:hover{box-shadow:inset 0 0 0 1.5px currentColor,0 10px 24px -12px rgba(34,57,28,.4)}
.v5menu-btn{display:inline-flex;align-items:center;gap:9px;background:transparent;border:0;color:inherit;cursor:pointer;font:700 14.5px/1 var(--c-sans);padding:12px 8px 12px 12px;border-radius:999px;min-height:44px}
.v5menu-btn .bars{width:22px;height:14px;position:relative;display:block}
.v5menu-btn .bars i{position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:2px;transition:transform .45s var(--c-ease),opacity .3s,top .45s var(--c-ease)}
.v5menu-btn .bars i:nth-child(1){top:0}.v5menu-btn .bars i:nth-child(2){top:6px}.v5menu-btn .bars i:nth-child(3){top:12px;width:60%}
.v5menu-btn[aria-expanded="true"] .bars i:nth-child(1){top:6px;transform:rotate(45deg)}
.v5menu-btn[aria-expanded="true"] .bars i:nth-child(2){opacity:0;transform:scaleX(0)}
.v5menu-btn[aria-expanded="true"] .bars i:nth-child(3){top:6px;width:100%;transform:rotate(-45deg)}
@media (max-width:1040px){.v5links{display:none}}
@media (max-width:760px){.v5brand-t em{display:none}.v5nav-book{display:none}.v5nav .v5btn{padding:10px 16px}.v5menu-btn .t{display:none}}
@media (max-width:360px){.v5nav .v5btn{display:none}}

/* ---------- menu sheet ---------- */
.v5menu{position:fixed;inset:0;z-index:99;pointer-events:none;visibility:hidden;transition:visibility 0s .6s}
.v5menu.open{pointer-events:auto;visibility:visible;transition:none}
.v5menu-bg{position:absolute;inset:0;background:rgba(20,33,16,.5);opacity:0;transition:opacity .45s var(--c-ease)}
.v5menu.open .v5menu-bg{opacity:1}
.v5menu-panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--c-cream);color:var(--c-ink);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(var(--c-nav-h) + 26px) clamp(22px,4vw,44px) calc(28px + var(--c-safe-b));transform:translateX(100%);transition:transform .6s var(--c-ease);box-shadow:-30px 0 80px -30px rgba(20,33,16,.4)}
.v5menu.open .v5menu-panel{transform:none}
.v5menu-panel h5{margin:22px 0 8px;font:700 11.5px/1 var(--c-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--c-ink-soft)}
.v5menu-panel h5:first-child{margin-top:0}
.v5menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.v5menu-grid > div{min-width:0}
.v5menu-panel a:not(.v5btn){display:flex;align-items:center;min-height:46px;color:var(--c-ink);text-decoration:none;font:500 16px/1.3 var(--c-sans);padding:12px 2px;border-bottom:1px solid var(--c-line);transition:padding-left .3s var(--c-ease),color .2s}
.v5menu-panel a:not(.v5btn):hover{padding-left:6px;color:var(--c-forest)}
.v5menu-panel a:not(.v5btn).on{color:var(--c-forest);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.v5menu-panel .big a:not(.v5btn){font:500 clamp(22px,2.4vw,28px)/1.15 var(--c-serif);letter-spacing:-.015em;padding:11px 0;display:flex;justify-content:space-between;align-items:center}
.v5menu-panel .big a:not(.v5btn):after{content:"\2192";font-family:var(--c-sans);font-size:18px;color:var(--c-forest);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s var(--c-ease)}
.v5menu-panel .big a:not(.v5btn):hover:after{opacity:1;transform:none}
.v5menu-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid var(--c-line)}
.v5menu-cta .v5btn{min-height:50px;padding:14px 22px;font-size:15px}
.v5menu-panel .v5menu-item{opacity:0;transform:translateY(14px);transition:opacity .5s var(--c-ease),transform .6s var(--c-ease)}
.v5menu.open .v5menu-item{opacity:1;transform:none}
.v5menu-close{position:absolute;top:calc(var(--c-nav-h) - 52px);right:clamp(18px,3vw,32px)}
@media (max-width:640px){.v5menu-grid{grid-template-columns:1fr}}
body.v5-menu-open{overflow:hidden}
/* polish 10-12: the sheet's slide/fade and the staggered group reveal both respect Reduce Motion, same convention as the booking sheet */
html.v5-rm .v5menu,html.v5-rm .v5menu-bg,html.v5-rm .v5menu-panel,html.v5-rm .v5menu-panel .v5menu-item{transition:none}

/* ---------- footer ---------- */
.v5foot{background:var(--c-950);color:var(--c-milk-dim);padding:72px 0 calc(56px + var(--c-safe-b));font:400 14px/1.7 var(--c-sans);position:relative;overflow:hidden}
.v5foot:before{content:"";position:absolute;right:-12%;bottom:-40%;width:640px;height:640px;background:radial-gradient(closest-side,rgba(217,241,79,.12),transparent 70%);filter:blur(30px);pointer-events:none}
.v5foot .v5wrap{position:relative;max-width:1180px;margin:0 auto;padding:0 clamp(18px,3vw,32px)}
.v5foot a{color:var(--c-milk-dim);text-decoration:none;transition:color .2s}
.v5foot a:hover{color:var(--c-milk)}
.v5foot strong{color:var(--c-milk);font-weight:600}
.v5news{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;padding-bottom:36px;border-bottom:1px solid var(--c-line-g);margin-bottom:38px}
.v5news h3{font:600 clamp(22px,2.4vw,28px)/1.15 var(--c-serif);color:var(--c-milk);margin:0 0 6px;letter-spacing:-.015em}
.v5news p{margin:0;font-size:14.5px}
.v5foot .news-form{display:flex;gap:10px}
.v5foot .news-form input{flex:1;min-width:0;background:rgba(246,242,228,.08);border:1px solid var(--c-line-g);border-radius:999px;padding:13px 18px;color:var(--c-milk);font:400 16px var(--c-sans);transition:border-color .2s,box-shadow .2s}
.v5foot .news-form input::placeholder{color:var(--c-milk-dim)}
.v5foot .news-form input:focus{outline:0;border-color:var(--c-lime);box-shadow:0 0 0 3px var(--c-lime-soft)}
.v5foot .news-form .btn,.v5foot .news-form .v5btn{white-space:nowrap}
.v5foot .cs-success{display:none;color:var(--c-milk)}
.v5foot .cs-success.show{display:block}
.v5foot .cs-success h4{font:600 17px var(--c-serif);margin:0}
.v5foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;padding-bottom:34px;border-bottom:1px solid var(--c-line-g)}
.v5foot .label{display:block;font:700 11.5px/1 var(--c-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--c-milk-dim);opacity:.8;margin:0 0 10px}
.v5foot .val{display:block;color:var(--c-milk-dim);font-size:14.5px;line-height:1.6}
.v5foot .list{display:flex;flex-direction:column;gap:2px}
.v5foot .list a{padding:9px 0;font-size:14.5px;display:inline-flex;min-height:40px;align-items:center}
.v5foot .social{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.v5foot .social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--c-line-g);display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s,transform .35s var(--c-spring)}
.v5foot .social a:hover{border-color:var(--c-lime);color:var(--c-lime);transform:translateY(-2px)}
.v5foot .social svg{width:16px;height:16px;fill:currentColor}
.v5foot .legal{padding-top:28px;font-size:13px;line-height:1.75;max-width:980px}
.v5foot .legal p{margin:0 0 12px}
.v5foot .legal a{text-decoration:underline;text-underline-offset:2px}
.v5foot .ehl{display:flex;align-items:center;gap:14px;margin:18px 0}
.v5foot .ehl svg{flex:none}
.v5foot .foot-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin:14px 0 0;font-size:13.5px}
.v5foot .foot-links a,.v5foot .cc-open-link{display:inline-block;padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.v5foot .cc-open-link{background:none;border:0;color:var(--c-milk-dim);font:400 13.5px var(--c-sans);cursor:pointer;padding:8px 0}
.v5foot .cc-open-link:hover{color:var(--c-milk)}
.v5foot .updated{margin:18px 0 0;font-size:12.5px;opacity:.75}
.v5foot .copyright{margin:6px 0 0;font-size:12.5px;opacity:.75}
.v5foot .guide-notes{margin-top:22px;padding-top:18px;border-top:1px solid var(--c-line-g);font-size:12.5px;opacity:.9}
.v5foot .guide-notes p{margin:0 0 8px}
@media (max-width:980px){.v5foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.v5news{grid-template-columns:1fr;gap:16px}.v5foot .news-form{flex-direction:column}.v5foot-grid{grid-template-columns:1fr 1fr;gap:26px 18px}.v5foot{padding-top:56px}}
@media (max-width:420px){.v5foot-grid{grid-template-columns:1fr}}

/* ---------- phone bar, consent, back to top, call, veil ---------- */
.v5bar{position:fixed;left:12px;right:12px;bottom:calc(12px + var(--c-safe-b));z-index:95;display:none;gap:8px;padding:8px;border-radius:999px;background:rgba(34,57,28,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 44px -10px rgba(20,33,16,.5);transition:transform .5s var(--c-ease),opacity .4s var(--c-ease);color:var(--c-milk)}
.v5bar .v5btn{flex:1;min-height:48px;font-size:15px}
.v5bar .v5btn.ghost{flex:0 0 auto;padding:12px 18px}
.v5bar.hide,body.v5-cc-open .v5bar,body.cc-open .v5bar{transform:translateY(140%);opacity:0;pointer-events:none}
/* v5.2 polish: no body padding for the bar (it hides over the footer anyway; the padding left a cream strip under the footer) */
@media (max-width:760px){.v5bar{display:flex}}
.v5cc{position:fixed;left:12px;right:12px;bottom:calc(12px + var(--c-safe-b));z-index:105;display:none;transform:translateY(20px);opacity:0;transition:transform .5s var(--c-ease),opacity .4s}
.v5cc.show{display:block;transform:none;opacity:1;animation:v5ccIn .3s var(--c-ease)}
@keyframes v5ccIn{from{transform:translateY(calc(100% + 24px));opacity:0}to{transform:none;opacity:1}}
html.v5-rm .v5cc.show{animation:none}
@media (prefers-reduced-motion:reduce){.v5cc.show{animation:none}}
.v5cc-in{max-width:640px;margin:0 auto;background:var(--c-paper);border:1px solid var(--c-line);border-radius:18px;box-shadow:0 18px 44px rgba(34,57,28,.28);padding:18px 20px;color:var(--c-ink)}
.v5cc p{margin:0 0 12px;font:400 13.5px/1.6 var(--c-sans);color:var(--c-ink-dim)}
.v5cc p a{text-decoration:underline;color:inherit}
.v5cc-row{display:flex;gap:10px;flex-wrap:wrap}
.v5cc .v5btn.ghost{color:var(--c-ink-dim)}
.v5totop{position:fixed;right:18px;bottom:calc(20px + var(--c-safe-b));z-index:90;width:46px;height:46px;border-radius:50%;background:var(--c-paper);color:var(--c-forest);border:1px solid var(--c-line);box-shadow:0 10px 28px -10px rgba(34,57,28,.4);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .35s,transform .45s var(--c-spring),background .2s}
.v5totop.show{opacity:1;transform:none;pointer-events:auto}
.v5totop:hover{background:var(--c-lime)}
.v5totop.show:active{transform:scale(.92)}
/* v5.2 polish: on phones back-to-top sat dead behind the sticky bar; it now steps aside while the bar is up and shows once the bar hides (footer, forms) */
@media (max-width:760px){.v5bar:not(.hide) ~ .v5totop.show{opacity:0;pointer-events:none;transform:translateY(16px) scale(.9)}body.cc-open .v5bar ~ .v5totop.show{opacity:1;pointer-events:auto;transform:none}}
/* ---------- booking sheet (v5.2): inline Calendly, opened from any "Book a discovery call"; a side sheet on desktop, a bottom sheet on phones ---------- */
.v5book{position:fixed;inset:0;z-index:110;display:block}
.v5book[hidden]{display:none}
.v5book-bg{position:absolute;inset:0;background:rgba(20,33,16,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .45s var(--c-ease)}
.v5book.open .v5book-bg{opacity:1}
.v5book-panel{position:absolute;top:0;right:0;bottom:0;width:min(600px,100%);background:var(--c-cream);color:var(--c-ink);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .6s var(--c-ease);box-shadow:-30px 0 80px -30px rgba(20,33,16,.45);overflow:hidden}
.v5book.open .v5book-panel{transform:none}
.v5book-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:clamp(20px,3vw,30px) clamp(20px,3vw,32px) 14px}
.v5book-eyebrow{display:block;font:700 11.5px/1.4 var(--c-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--c-forest);margin-bottom:10px}
.v5book-title{margin:0 0 6px;font:500 clamp(26px,3vw,36px)/1.05 var(--c-serif);letter-spacing:-.025em;color:var(--c-ink);font-variation-settings:"opsz" 96}
.v5book-sub{margin:0;font:400 15px/1.5 var(--c-sans);color:var(--c-ink-dim)}
.v5book-close{flex:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--c-line);background:var(--c-paper);color:var(--c-forest);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,transform .35s var(--c-spring)}
.v5book-close:hover{background:var(--c-lime);transform:rotate(90deg)}
.v5book-frame{position:relative;flex:1;min-height:0;margin:0 clamp(12px,2vw,20px);border-radius:16px;overflow:hidden;background:var(--c-paper);border:1px solid var(--c-line)}
.v5book-frame iframe{display:block;width:100%;height:100%;border:0;opacity:0;transition:opacity .5s var(--c-ease)}
.v5book[data-state="ready"] .v5book-frame iframe{opacity:1}
.v5book-wait,.v5book-err{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;font:500 15px/1.5 var(--c-sans);color:var(--c-ink-dim)}
.v5book[data-state="loading"] .v5book-wait{display:flex}
.v5book[data-state="error"] .v5book-err{display:flex}
.v5book-err p{margin:0;font-size:16px;color:var(--c-ink)}
.v5book-spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--c-line);border-top-color:var(--c-forest);animation:v5spin .9s linear infinite}
@keyframes v5spin{to{transform:rotate(360deg)}}
.v5book-foot{margin:0;padding:14px clamp(20px,3vw,32px) calc(16px + var(--c-safe-b));font:400 12.5px/1.6 var(--c-sans);color:var(--c-ink-soft)}
.v5book-foot a{color:var(--c-forest);text-decoration:underline;text-underline-offset:2px}
body.v5-book-open{overflow:hidden}
body.v5-book-open .v5bar,body.v5-book-open .v5totop{transform:translateY(140%);opacity:0;pointer-events:none}
@media (max-width:760px){.v5book-panel{top:auto;left:0;width:100%;height:min(94dvh,94vh);border-radius:22px 22px 0 0;transform:translateY(100%);box-shadow:0 -30px 80px -30px rgba(20,33,16,.5)}.v5book-head{padding:18px 18px 10px}.v5book-sub{display:none}.v5book-frame{margin:0 10px}}
html.v5-rm .v5book-panel,html.v5-rm .v5book-bg{transition:none}
html.v5-rm .v5book-spin{animation:none;border-top-color:var(--c-line)}
.v5veil{position:fixed;inset:0;z-index:200;background:var(--c-cream);pointer-events:none;opacity:0;transition:opacity .28s ease}
html.v5-leaving .v5veil{opacity:1;pointer-events:auto}
html.v5-rm .v5veil{display:none}
html.v5-rm *{scroll-behavior:auto!important}
/* ---------- v5.2 polish: states shared by every page, the six guides included (they load only this file) ---------- */
.v5book-close svg{stroke-width:2}
.v5book-eyebrow{text-wrap:balance}
.v5book-close:active{transform:rotate(90deg) scale(.92)}
/* submit loading state for buttons the brand .btn rule does not reach (the guides' own buttons) */
form button[type=submit].is-loading{position:relative;color:transparent!important;pointer-events:none}
form button[type=submit].is-loading:before{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:2.5px solid rgba(34,57,28,.25);border-top-color:var(--c-950);animation:v5spin .8s linear infinite}
/* inline field errors: .cs-field forms and fields with no wrapper (newsletter, guide unlock). Tones for dark panels here; main.css sets the cream-page tone */
.cs-field.err input:not([type=radio]),.cs-field.err select,.cs-field.err textarea,form [aria-invalid="true"]:not([type=radio]):not([type=checkbox]){border-color:#F7B1AA!important;box-shadow:0 0 0 3px rgba(247,177,170,.22)!important}
.cs-field.err:after{content:attr(data-err);display:block;font:500 12.5px/1.4 var(--c-sans);color:#F7B1AA;margin-top:6px}
.cs-field.cs-preferred.err .cs-radio{border-color:#F7B1AA}
/* guides: the hero starts below the fixed header (the guide's own html,body{padding:0} cancelled the build's body offset) */
section.hero#main{padding-top:calc(var(--c-nav-h) + 40px)}
/* guides: the metric-matched Inter fallback for body text (their stack went straight to Helvetica), and an em measure for the H1: 14ch was 565 px in
   Iowan and 619 px in Fraunces, so the hero re-wrapped on swap; 619 px / 68 px = 9.1em. Their serif fallback (plain Iowan) stays: at the guide H1's
   weight 600 / auto optical size it is within 2% of Fraunces, closer than the opsz-144-tuned face */
html:root{--f-sans:var(--c-sans)}
section.hero#main h1{max-width:9.1em}
@media (max-width:420px){.about > *{min-width:0}.about-stats .a .num{font-size:21px}}
@media print{.v5nav,.v5menu,.v5bar,.v5cc,.v5totop,.v5book,.v5prog,.v5veil{display:none!important}body{padding-top:0!important}}
/* v5.2 polish: one print sheet for all 30 pages (guides included): ink on paper, every reveal finished, pins unrolled, decorative art and footage off.
   Before: page heroes printed milk text on white, the home printed a full-page photo and 320vh of empty pin, the guides printed grey, blurred text. */
@media print{*{color:#000!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1!important}
 html,body{background:#fff!important}.rv,.hs,.w i,.story-beat,.goal,.prog,.door,.card,.counter,.step,.facts>div,.pain>div,.receipt li{transform:none!important;animation:none!important}
 .cine-media,.cine-shade,.cine-grain,.cine-beat,.cine-hint,.cine-spec,.hero-art,.story-stage,.story-rail,.lost-art,.sidx,.px-bg,#cs-gate,.sticky-cta,.read-progress,.v5skip{display:none!important}
 .cine,.cine.sticky,.story,.story-pin{position:static!important;min-height:0!important;height:auto!important}.cine-copy{padding:0 0 24px!important}.curtain{margin:0!important}
 .story-beats{display:block!important}.story-beat{margin:0 0 14px!important}a{text-decoration:underline}.btn,.v5btn{border:1px solid #000!important}}

/* chanceatfinance.com v5: the brand design system for every page but the six guides. Loaded after the chrome. */
:root{
  --green:#33532B;--green-deep:#2A4522;--green-950:#22391C;--lime:#D9F14F;--lime-soft:rgba(217,241,79,.16);--lime-ink:#22391C;
  --red:#C9342A;--cream:#FAF5EA;--cream-2:#F1EAD9;--paper:#FFFFFF;--ink:#20301B;--ink-dim:#51604B;--ink-soft:#5D6B56;
  --milk:#F6F2E4;--milk-dim:#C6D0BC;--line:#E4DCC6;--line-strong:#CFC5A9;--line-green:rgba(246,242,228,.16);
  --f-sans:var(--c-sans);--f-display:var(--c-serif);
  --r-sm:12px;--r:18px;--r-lg:24px;--maxw:1180px;--gutter:clamp(18px,3vw,32px);
  --shadow:0 18px 44px -14px rgba(34,57,28,.22);--shadow-lg:0 30px 70px -20px rgba(34,57,28,.35);
  --ease:cubic-bezier(.22,1,.36,1);--spring:var(--c-spring);--dur:.7s;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --sec:clamp(72px,9vw,128px);--sec-tight:clamp(40px,5vw,64px);
  --fs-0:13px;--fs-1:14.5px;--fs-2:16px;--fs-3:17px;--fs-lede:clamp(17px,1.5vw,20px);
  --fs-h4:19px;--fs-h3:clamp(21px,2.1vw,26px);--fs-h2:clamp(32px,4.4vw,56px);--fs-h1:clamp(40px,6.6vw,84px);--fs-hero:clamp(42px,7.4vw,92px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.v5-rm{scroll-behavior:auto}
html,body{margin:0;padding:0;background:var(--cream);color:var(--ink);font-family:var(--f-sans);font-size:var(--fs-3);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden;padding-top:var(--c-nav-h)}
body.v5-has-cine{padding-top:0}
img,svg,video{max-width:100%;display:block}
a{color:var(--green);text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--green);outline-offset:3px}
/* v5.2 polish: the 4 px radius is for inline links only; on pills, circles and tiles it reshaped the control itself on keyboard focus */
a:not([class]):focus-visible,.textlink:focus-visible{border-radius:4px}
.on-ink :focus-visible,.cine :focus-visible,.fun-card :focus-visible{outline-color:var(--lime)}
::selection{background:var(--lime);color:var(--green-950)}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:0 0 .45em;text-wrap:balance;color:var(--ink)}
h1{font-size:var(--fs-h1);letter-spacing:-.03em;line-height:.98;font-weight:500;font-variation-settings:"opsz" 144}
h2{font-size:var(--fs-h2);letter-spacing:-.025em;font-variation-settings:"opsz" 96}
h3{font-size:var(--fs-h3);line-height:1.15;letter-spacing:-.015em}
h4{font-size:var(--fs-h4);line-height:1.25;letter-spacing:-.01em}
h1 em,h2 em,h3 em{font-style:italic;font-weight:500;color:var(--green)}
.on-ink h1 em,.on-ink h2 em,.on-ink h3 em,.cine h1 em,.fun-card h3 em{color:var(--lime)}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.wrap-narrow{max-width:820px}
.section{padding:var(--sec) 0}
.section.tight{padding:var(--sec-tight) 0}
.section.alt{background:var(--cream-2)}
.section-head{max-width:720px;margin-bottom:clamp(28px,4vw,48px)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .lede{margin-left:auto;margin-right:auto}
.section-head p:not(.lede){color:var(--ink-dim);max-width:60ch}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font:700 12px/1.4 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
.eyebrow:before{content:"";width:18px;height:2px;background:var(--lime);border-radius:2px;flex:none}
.center .eyebrow{justify-content:center}
.on-ink .eyebrow,.cine .eyebrow{color:var(--milk-dim)}
.lede{font-size:var(--fs-lede);line-height:1.6;color:var(--ink-dim);max-width:60ch;margin:0 0 1.2em}
.on-ink .lede{color:var(--milk-dim)}
.muted{color:var(--ink-dim)}
.small{font-size:var(--fs-1)}
.label,.idx,.mono{font:700 11.5px/1.4 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.idx{font-family:var(--f-display);font-weight:500;font-size:13px;letter-spacing:.06em;color:var(--green)}
.on-ink .label,.on-ink .idx,.on-ink .mono{color:var(--milk-dim)}
.on-ink{background:linear-gradient(175deg,var(--green) 0%,var(--green-deep) 100%);color:var(--milk)}
.on-ink h2,.on-ink h3,.on-ink h4{color:var(--milk)}
.on-ink a{color:var(--milk)}
.on-ink p{color:var(--milk-dim)}
.tag{display:inline-flex;align-items:center;gap:6px;font:700 11.5px/1 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--green);background:var(--lime-soft);border-radius:999px;padding:7px 11px;margin-bottom:12px}
.on-ink .tag,.fun-card .tag{color:var(--lime);background:rgba(217,241,79,.12)}
.chip{display:inline-flex;align-items:center;gap:6px;font:800 11.5px/1 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;border-radius:7px;padding:6px 10px;background:var(--red);color:#fff}
.chip.quiet,.chip.clay{background:transparent;color:var(--milk-dim);border:1px solid var(--line-green);font-weight:600}
.fun-card .chip{background:transparent;color:var(--lime);border:1px solid rgba(217,241,79,.4);font-weight:700}
.card .chip.clay{color:var(--green);border-color:var(--line-strong)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:999px;background:var(--lime);color:var(--green-950);font:700 16px/1 var(--f-sans);letter-spacing:-.01em;border:0;cursor:pointer;text-align:center;text-decoration:none;white-space:nowrap;position:relative;overflow:hidden;transition:transform .45s var(--spring),box-shadow .3s var(--ease),background .25s,color .25s}
.btn:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),transparent 55%);opacity:0;transition:opacity .35s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(217,241,79,.7);color:var(--green-950)}
.btn:hover:after{opacity:1}
.btn:active{transform:scale(.97)}
.btn .arr{display:inline-block;transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn.ghost{background:transparent;color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green)}
.btn.ghost:hover{background:var(--green);color:var(--milk);box-shadow:inset 0 0 0 1.5px var(--green),0 14px 30px -12px rgba(34,57,28,.5)}
.btn.ghost:after{display:none}
.on-ink .btn.ghost,.cine .btn.ghost,.fun-card .btn.ghost{color:var(--milk);box-shadow:inset 0 0 0 1.5px rgba(246,242,228,.55)}
.on-ink .btn.ghost:hover,.cine .btn.ghost:hover,.fun-card .btn.ghost:hover{background:var(--milk);color:var(--green-950);box-shadow:inset 0 0 0 1.5px var(--milk)}
.btn.lg{min-height:60px;padding:17px 32px;font-size:17px}
.btn.sm{min-height:44px;padding:10px 18px;font-size:14.5px}
.btn.block{width:100%}
.btn.is-loading{color:transparent!important;pointer-events:none}
.btn.is-loading:before{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:2.5px solid rgba(34,57,28,.25);border-top-color:var(--green-950);animation:spin .8s linear infinite}
.btn.ghost.is-loading:before{border-color:rgba(51,83,43,.25);border-top-color:var(--green)}
@keyframes spin{to{transform:rotate(360deg)}}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.textlink{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:700;font-size:15.5px;padding:10px 0 2px;min-height:44px;position:relative;text-decoration:none}
.textlink:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--lime);transform-origin:left;transition:transform .4s var(--ease)}
.textlink:hover:after{transform:scaleX(.6)}
.textlink .arr{transition:transform .35s var(--ease)}
.textlink:hover .arr{transform:translateX(5px)}
.on-ink .textlink{color:var(--milk)}
.alt-link{margin:18px 0 0;font-size:14.5px;color:var(--ink-dim)}
.cine .alt-link{color:var(--milk-dim)}
.alt-link .textlink{min-height:0;padding:0 0 1px;font-size:inherit}

/* ---------- reveals ---------- */
html.v5-js .rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
html.v5-js .rv.in{opacity:1;transform:none}
html.v5-js .rv-delay-1{transition-delay:.1s}html.v5-js .rv-delay-2{transition-delay:.2s}html.v5-js .rv-delay-3{transition-delay:.3s}
html.v5-rm .rv{transform:none;transition:opacity .5s ease}
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.w i{display:inline-block;font-style:inherit;transform:translateY(110%);opacity:0;animation:wIn 1s var(--ease) forwards}
@keyframes wIn{to{transform:none;opacity:1}}
html.v5-gsap .w i{animation:none}
html.v5-rm .w i{animation:none;transform:none;opacity:1}
.hs{opacity:0;transform:translateY(16px);animation:hsIn .9s var(--ease) forwards}
.hs:nth-of-type(2){animation-delay:.15s}.hs:nth-of-type(3){animation-delay:.3s}.hs:nth-of-type(4){animation-delay:.45s}
@keyframes hsIn{to{opacity:1;transform:none}}
html.v5-gsap .hs{animation:none}
html.v5-rm .hs{animation:none;opacity:1;transform:none}
html:not(.v5-js) .rv,html:not(.v5-js) .hs,html:not(.v5-js) .w i{opacity:1;transform:none;animation:none}

/* ---------- cinematic open ---------- */
.cine-wrap{position:relative}
.cine{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;background:var(--green-950);color:var(--milk);overflow:hidden;isolation:isolate}
.cine.sticky{position:sticky;top:0;z-index:0}
.cine.page{min-height:min(82svh,900px)}
.cine.page h1{font-size:clamp(38px,5.6vw,72px);max-width:9.62em}
.cine .lede{color:rgba(246,242,228,.84)}
.cine .crumbs,.cine .crumbs a{color:var(--milk-dim)}
.cine-sentinel{position:absolute;top:0;height:1px;width:1px}
.cine-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--green-950)}
.cine-media picture,.cine-media img,.cine-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cine-media img{transform:scale(1.04);animation:cineIn 2.4s var(--ease) forwards}
@keyframes cineIn{to{transform:none}}
html.v5-rm .cine-media img{animation:none;transform:none}
.cine-media video{opacity:0;transition:opacity 1.2s ease}
.cine-media video.ready{opacity:1}
html.v5-rm .cine-media video,.cine-media.nomotion video{display:none}
.cine-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(34,57,28,.94) 0%,rgba(34,57,28,.62) 36%,rgba(34,57,28,.16) 64%,rgba(34,57,28,.3) 100%)}
.cine-grain{position:absolute;inset:-50%;z-index:1;opacity:.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px}
html:not(.v5-rm) .cine-grain{animation:grain 1.2s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-4%,2%)}50%{transform:translate(3%,-3%)}75%{transform:translate(-2%,4%)}100%{transform:translate(0,0)}}
.cine-copy{position:relative;z-index:2;padding:calc(var(--c-nav-h) + 48px) 0 clamp(84px,11vh,132px)}
.cine.page .cine-copy{padding-bottom:clamp(44px,7vh,84px)}
.cine .eyebrow{color:var(--milk-dim)}
/* v5.2 polish: H1 measures are in em, not ch. ch is the "0" of whichever face is drawing (16ch = 635 px in the fallback, 808 px in Fraunces at 84 px),
   so a ch measure re-wrapped the headline on font swap. 1ch of Fraunces 500 / opsz 144 = .6015em: 16ch = 9.62em, 13ch = 7.82em, 12ch = 7.22em */
.cine h1{color:var(--milk);font-size:var(--fs-hero);max-width:7.82em;margin-bottom:20px}
.cine .sub{font-size:clamp(17px,1.6vw,21px);color:rgba(246,242,228,.84);max-width:52ch;margin:0 0 28px;line-height:1.55}
/* polish 10-12: licence chips demoted below the fold of the hero's attention (smallest, dimmest line here) but kept at the 12px / AA-contrast floor */
.cine .lic{display:flex;flex-wrap:wrap;gap:8px 18px;font:600 12.5px/1.4 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(246,242,228,.72);margin-top:26px}
.cine .lic b{color:var(--milk);font-weight:600}
.cine .reassure{display:flex;align-items:center;gap:10px;margin-top:16px;color:var(--milk-dim);font-size:14px;flex-wrap:wrap}
.cine .reassure .chip{background:var(--lime);color:var(--green-950)}
.cine-spec{position:absolute;right:var(--gutter);bottom:clamp(84px,11vh,132px);z-index:2;display:flex;align-items:center;gap:14px;background:rgba(34,57,28,.55);border:1px solid var(--line-green);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--r-lg);padding:14px 18px 14px 14px;max-width:300px;color:var(--milk);transform:translateY(20px);opacity:0;animation:hsIn 1s var(--ease) .6s forwards}
html.v5-rm .cine-spec{animation:none;opacity:1;transform:none}
.cine-spec .ph{width:72px;height:88px;border-radius:14px;overflow:hidden;background:var(--lime);flex:none;box-shadow:0 10px 24px -8px rgba(0,0,0,.4)}
.cine-spec .ph img{width:100%;height:100%;object-fit:cover}
.cine-spec strong{display:block;font:600 16px/1.2 var(--f-display);margin-bottom:3px}
.cine-spec span{display:block;font-size:12.5px;line-height:1.4;color:var(--milk-dim)}
.cine-beat{position:absolute;left:0;right:0;top:50%;z-index:2;transform:translateY(-50%);text-align:center;padding:0 var(--gutter);opacity:0;pointer-events:none}
.cine-beat p{font:500 clamp(28px,4.2vw,56px)/1.1 var(--f-display);letter-spacing:-.02em;color:var(--milk);max-width:22ch;margin:0 auto;text-wrap:balance}
.cine-beat em{font-style:italic;color:var(--lime)}
.cine-hint{position:absolute;right:var(--gutter);bottom:30px;z-index:2;display:flex;align-items:center;gap:10px;font:600 11px/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(246,242,228,.7)}
.cine-hint i{width:36px;height:1px;background:rgba(246,242,228,.5);position:relative;overflow:hidden;display:block}
.cine-hint i:after{content:"";position:absolute;left:-40%;top:0;width:40%;height:100%;background:var(--lime);animation:hint 1.8s var(--ease) infinite}
@keyframes hint{to{left:110%}}
html.v5-rm .cine-hint i:after{animation:none;left:0;width:100%}
.curtain{position:relative;z-index:2;background:var(--cream);border-radius:28px 28px 0 0;margin-top:-28px;box-shadow:0 -30px 60px -30px rgba(20,33,16,.5)}
.curtain:before{content:"";position:absolute;left:50%;top:12px;width:44px;height:4px;border-radius:4px;background:var(--line-strong);transform:translateX(-50%)}
@media (max-width:1100px){.cine-spec{display:none}}
@media (max-width:760px){.cine-copy{padding-bottom:88px}.cine h1{max-width:7.22em}.cine .btn-row .btn{flex:1 1 100%}.cine-hint{display:none}.curtain{border-radius:22px 22px 0 0;margin-top:-22px}}

/* ---------- page hero (non-cine) ---------- */
.page-hero{position:relative;background:linear-gradient(175deg,var(--green) 0%,var(--green-deep) 100%);color:var(--milk);padding:clamp(36px,6vw,72px) 0 clamp(48px,7vw,88px);overflow:hidden;isolation:isolate}
.page-hero:before{content:"";position:absolute;inset:auto -12% -60% auto;width:620px;height:620px;background:radial-gradient(closest-side,rgba(217,241,79,.16),transparent 70%);filter:blur(30px);pointer-events:none}
.page-hero h1{color:var(--milk);max-width:9.62em}
.page-hero h1 em,.center-page h1 em{color:var(--lime)}
.page-hero .btn.ghost{color:var(--milk);box-shadow:inset 0 0 0 1.5px rgba(246,242,228,.55)}
.page-hero .btn.ghost:hover{background:var(--milk);color:var(--green-950);box-shadow:inset 0 0 0 1.5px var(--milk)}
.page-hero .textlink,.cine .textlink{color:var(--lime)}
.page-hero .textlink:after,.cine .textlink:after{background:rgba(217,241,79,.45)}
.page-hero .lede{color:var(--milk-dim)}
.page-hero .eyebrow{color:var(--milk-dim)}
.page-hero .crumbs{color:var(--milk-dim)}
.page-hero .crumbs a{color:var(--milk-dim)}
.page-hero .alt-link{color:var(--milk-dim)}
.page-hero .mono,.page-hero .label{color:var(--milk-dim)}
.page-hero .alt-link .textlink{color:var(--lime)}
.page-hero .alt-link .textlink:after{background:rgba(217,241,79,.4)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero-art{position:relative;aspect-ratio:1/1;max-width:440px;margin-left:auto;width:100%}
.hero-art svg{width:100%;height:100%;overflow:visible}
.hero-art .ring{position:absolute;inset:6%;border-radius:50%;border:1px solid rgba(246,242,228,.14)}
.hero-art .ring.r2{inset:16%;border-style:dashed;animation:spinSlow 60s linear infinite}
@keyframes spinSlow{to{transform:rotate(360deg)}}
html.v5-rm .hero-art .ring.r2{animation:none}
.crumbs{font-size:13px;color:var(--ink-dim);margin-bottom:18px;display:flex;gap:8px;align-items:center}
.crumbs a{color:inherit;padding:10px 4px;min-height:44px;min-width:44px;display:inline-flex;align-items:center}
.crumbs span{opacity:.75}
.crumbs a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .2s,color .2s}.crumbs a:hover{text-decoration-color:currentColor;color:var(--ink)}.page-hero .crumbs a:hover,.cine .crumbs a:hover{color:var(--milk)}
.hero-split{display:grid;grid-template-columns:7fr 4fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero-split .facts{grid-template-columns:1fr;max-width:360px;margin-left:auto}
.hero-split .facts > div{border-right:0;border-bottom:1px solid var(--line)}
.hero-split .facts > div:last-child{border-bottom:0}
@media (max-width:860px){.hero-split .facts{margin-left:0;max-width:none}}
.portrait .ph{aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--green-950);box-shadow:var(--shadow-lg);border:1px solid var(--line-green);max-width:380px}
.portrait img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.4s var(--ease)}
html.v5-js .portrait .ph{clip-path:inset(10% 8% 10% 8% round 24px);transition:clip-path 1.2s var(--ease)}
html.v5-js .rv.in .ph,html.v5-js .in .portrait .ph,html.v5-rm .portrait .ph{clip-path:inset(0 round 24px)}
.rv.in .portrait img,.in .portrait img,.portrait.in img,html.v5-rm .portrait img{transform:none}
.portrait .cap{display:block;margin-top:12px;font-size:13px;color:var(--milk-dim);letter-spacing:.04em}
.section .portrait .cap{color:var(--ink-soft)}
.hero-home.lic{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--milk-dim);font-size:13px}
.hero-home.lic strong{color:var(--milk)}
@media (max-width:860px){.page-hero .hero-grid,.hero-split{grid-template-columns:1fr;gap:10px}.hero-art{max-width:150px;margin:-10px 0 -6px auto;order:-1}.portrait .ph{max-width:300px}.page-hero{padding-top:28px}}

/* ---------- goals (tap your goal) ---------- */
.goal-sec{position:relative}
.goals{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.goal{position:relative;display:flex;flex-direction:column;gap:18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px 20px;min-height:200px;color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .55s var(--spring),box-shadow .35s var(--ease),border-color .3s,background .3s}
.goal:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,var(--lime-soft),transparent 60%);opacity:0;transition:opacity .4s}
.goal:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong)}
.goal:hover:before{opacity:1}
.goal:active{transform:scale(.98)}
.goal .idx{position:absolute;top:18px;right:18px}
.goal .glyph{width:52px;height:52px;border-radius:14px;background:var(--cream-2);display:flex;align-items:center;justify-content:center;color:var(--green);transition:background .3s,color .3s,transform .5s var(--spring)}
.goal .glyph svg{width:28px;height:28px;stroke-width:1.6}
.goal:hover .glyph{background:var(--green);color:var(--lime);transform:rotate(-6deg) scale(1.05)}
.goal h3{font-size:21px;margin:0 0 5px}
.goal p{margin:0;color:var(--ink-dim);font-size:14.5px;line-height:1.5}
.goal .go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font:700 13px var(--f-sans);color:var(--green);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .4s var(--ease)}
.goal:hover .go,.goal[aria-pressed="true"] .go{opacity:1;transform:none}
.goal[aria-pressed="true"]{border-color:var(--green);background:linear-gradient(175deg,var(--green) 0%,var(--green-deep) 100%);color:var(--milk);box-shadow:var(--shadow-lg)}
.goal[aria-pressed="true"] h3{color:var(--milk)}
.goal[aria-pressed="true"] p{color:var(--milk-dim)}
.goal[aria-pressed="true"] .glyph{background:var(--lime);color:var(--green-950)}
.goal[aria-pressed="true"] .go{color:var(--lime)}
.goal[aria-pressed="true"] .idx{color:var(--milk-dim)}
.goals.has-pick .goal:not([aria-pressed="true"]){opacity:.72}
.goals.has-pick .goal:not([aria-pressed="true"]):hover{opacity:1}
.goal-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:20px;padding:14px 18px;border-radius:var(--r-sm);background:var(--lime-soft);color:var(--ink);font-size:15px}
.goal-note b{color:var(--green)}
@media (max-width:1000px){.goals{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.goals{gap:10px}.goal{min-height:0;padding:18px 16px 16px;gap:12px}.goal h3{font-size:18px}.goal .glyph{width:44px;height:44px;border-radius:12px}.goal .glyph svg{width:24px;height:24px}.goal p{font-size:13.5px}}

/* ---------- pinned story (v5.1): three drawn scenes on a forest stage, swapped per beat, drawn with the scrub ---------- */
.story-pin{position:relative;height:320vh}
.story{position:sticky;top:0;height:100svh;min-height:640px;display:flex;align-items:center;background:var(--cream-2);overflow:hidden;padding-top:var(--c-nav-h)}
.story .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"stage head" "stage copy";column-gap:clamp(28px,5vw,72px);row-gap:10px;align-items:center;width:100%}
.story-head{grid-area:head;align-self:end}
.story-head h2{margin-bottom:.3em}
.story-lede{color:var(--ink-dim);font-size:var(--fs-lede);margin:0}
.story-copy{grid-area:copy;align-self:start}
.story-stage{grid-area:stage;position:relative;aspect-ratio:4/3;width:100%;border-radius:var(--r-lg);background:linear-gradient(175deg,var(--green) 0%,var(--green-deep) 100%);overflow:hidden;isolation:isolate;box-shadow:var(--shadow)}
.story-stage:before{content:"";position:absolute;inset:auto -20% -50% auto;width:80%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(217,241,79,.16),transparent 70%);filter:blur(24px);pointer-events:none}
.story-stage .scene{position:absolute;inset:0;padding:5% 3% 0;opacity:0;transform:scale(.97);transition:opacity .6s var(--ease),transform .9s var(--ease)}
.story-stage .scene.on{opacity:1;transform:none}
.story-stage svg{width:100%;height:100%;overflow:visible}
.story-stage .art{stroke-width:2}
.story-stage .sd{stroke-dasharray:1 1.1;stroke-dashoffset:1.05}
.story-stage .pop{opacity:0;transition:opacity .5s var(--ease)}
.story-stage .pop.in{opacity:1}
.story-stage .tap{fill:none;stroke:var(--lime);stroke-width:2;transform-box:fill-box;transform-origin:center}
.story-stage .tap.in{animation:tapPulse 1.6s var(--ease) infinite}
@keyframes tapPulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.5);opacity:0}}
.story-stage .mkk{fill:var(--lime);stroke:none}
.story-stage .turnkey{transform-box:view-box;transform-origin:212px 212px;transition:transform 1.1s var(--spring)}
.story-stage .turnkey.in{transform:rotate(90deg)}
.stage-num{position:absolute;left:18px;top:14px;z-index:2;font:500 12.5px/1 var(--f-sans);letter-spacing:.14em;color:var(--milk-dim)}
.stage-num b{color:var(--lime);font-weight:600}
.story-beats{display:grid}
.story-beat{grid-area:1/1;opacity:0;transform:translateY(24px);transition:opacity .55s var(--ease),transform .7s var(--ease);pointer-events:none}
.story-beat.on{opacity:1;transform:none;pointer-events:auto}
.story-beat h3{font-size:clamp(24px,2.6vw,34px);margin-bottom:10px}
.story-beat p{color:var(--ink-dim);font-size:var(--fs-lede);max-width:46ch}
.story-rail{display:flex;gap:8px;margin:6px 0 20px}
.story-rail i{flex:1;height:4px;border-radius:4px;background:var(--line);position:relative;overflow:hidden}
.story-rail i:after{content:"";position:absolute;inset:0;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s linear}
.story-rail i.on:after{transform:scaleX(1)}
.story-rail i.part:after{transform:scaleX(var(--p,0))}
html:not(.v5-js) .story-stage .sd{stroke-dashoffset:0}
html:not(.v5-js) .story-stage .pop{opacity:1}
html.no-gsap .story-pin,html.v5-rm .story-pin{height:auto}
html.no-gsap .story,html.v5-rm .story{position:relative;height:auto;min-height:0;padding:var(--sec) 0}
html.no-gsap .story .wrap,html.v5-rm .story .wrap{grid-template-columns:1fr;grid-template-areas:"head" "stage" "copy";row-gap:22px}
html.no-gsap .story-stage,html.v5-rm .story-stage{aspect-ratio:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:none;box-shadow:none;overflow:visible;border-radius:0}
html.no-gsap .story-stage:before,html.v5-rm .story-stage:before,html.no-gsap .stage-num,html.v5-rm .stage-num,html.no-gsap .story-rail,html.v5-rm .story-rail{display:none}
html.no-gsap .story-stage .scene,html.v5-rm .story-stage .scene{position:relative;inset:auto;opacity:1;transform:none;aspect-ratio:4/3;border-radius:var(--r);background:linear-gradient(175deg,var(--green) 0%,var(--green-deep) 100%);padding:4% 3% 0;transition:none}
html.no-gsap .story-stage .sd,html.v5-rm .story-stage .sd{stroke-dashoffset:0}
html.no-gsap .story-stage .pop,html.v5-rm .story-stage .pop{opacity:1}
html.v5-rm .story-stage .tap.in{animation:none}
html.v5-rm .story-stage .turnkey{transform:rotate(90deg);transition:none}
html.no-gsap .story-beats,html.v5-rm .story-beats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;min-height:0}
html.no-gsap .story-beat,html.v5-rm .story-beat{grid-area:auto;opacity:1;transform:none;margin:0;pointer-events:auto}
@media (max-width:860px){
 .story .wrap{grid-template-columns:1fr;grid-template-areas:"head" "stage" "copy";row-gap:14px;align-content:center}
 .story{min-height:0}
 .story-head h2{font-size:clamp(28px,8.4vw,36px)}
 .story-lede{font-size:16px}
 .story-stage{aspect-ratio:400/330}
 .story-beat h3{font-size:22px;margin-bottom:6px}.story-beat p{font-size:15.5px}
 .story-rail{margin:2px 0 14px}
 html.no-gsap .story-stage,html.v5-rm .story-stage{gap:8px}
 html.no-gsap .story-beats,html.v5-rm .story-beats{grid-template-columns:1fr;gap:18px}
 /* v5.2 launch (polish L8): reduced motion on a phone, each drawing sits full width above its own step instead of three 87 px thumbnails */
 html.no-gsap .story .wrap,html.v5-rm .story .wrap{grid-template-areas:none;row-gap:12px}
 html.no-gsap .story-stage,html.v5-rm .story-stage,html.no-gsap .story-copy,html.v5-rm .story-copy,html.no-gsap .story-beats,html.v5-rm .story-beats{display:contents}
 html.no-gsap .story-head,html.v5-rm .story-head{order:0;grid-area:auto;margin-bottom:6px}
 html.no-gsap .story-stage .scene,html.v5-rm .story-stage .scene{grid-area:auto;aspect-ratio:400/270;padding:3% 4% 0}
 html.no-gsap .scene[data-scene="0"],html.v5-rm .scene[data-scene="0"]{order:1}html.no-gsap .story-beat:nth-child(1),html.v5-rm .story-beat:nth-child(1){order:2}
 html.no-gsap .scene[data-scene="1"],html.v5-rm .scene[data-scene="1"]{order:3;margin-top:18px}html.no-gsap .story-beat:nth-child(2),html.v5-rm .story-beat:nth-child(2){order:4}
 html.no-gsap .scene[data-scene="2"],html.v5-rm .scene[data-scene="2"]{order:5;margin-top:18px}html.no-gsap .story-beat:nth-child(3),html.v5-rm .story-beat:nth-child(3){order:6}
}

/* ---------- the readiness read, as a game ---------- */
.fun-sec{position:relative}
.fun-shell{max-width:680px;margin:0 auto}
.fun-card{position:relative;background:linear-gradient(180deg,var(--green) 0%,var(--green-deep) 100%);color:var(--milk);border-radius:28px;padding:30px 32px 28px;box-shadow:var(--shadow-lg);overflow:hidden;isolation:isolate}
.fun-card:before{content:"";position:absolute;inset:auto -20% -50% auto;width:420px;height:420px;background:radial-gradient(closest-side,rgba(217,241,79,.16),transparent 70%);filter:blur(24px);pointer-events:none;z-index:-1}
.fun-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.rr-step-label{font:700 12px/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--milk-dim)}
.rr-step-label b{color:var(--lime)}
.fun-pill{font:600 12px/1 var(--f-sans);color:var(--green-950);background:var(--lime);border-radius:999px;padding:7px 11px}
.fun-progress{margin-bottom:26px}
.fun-bar{display:flex;gap:5px;height:6px}
.fun-bar i{flex:1;border-radius:6px;background:rgba(246,242,228,.16);position:relative;overflow:hidden}
.fun-bar i:after{content:"";position:absolute;inset:0;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.fun-bar i.on:after{transform:scaleX(1)}
.fun-pct{display:flex;justify-content:space-between;margin-top:8px;font-size:12.5px;color:var(--milk-dim)}
.fun-pct b{color:var(--milk);font-weight:600}
.fun-steps{position:relative}
.rr-step{display:none;outline:none}
.rr-step.active{display:block;animation:rrIn .5s var(--ease)}
.rr-step.active.back{animation:rrBack .5s var(--ease)}
@keyframes rrIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes rrBack{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
html.v5-rm .rr-step.active{animation:fadeIn .4s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.fun-explain{display:flex;gap:14px;align-items:flex-start;background:rgba(246,242,228,.06);border:1px solid var(--line-green);border-radius:16px;padding:12px 14px;margin-bottom:20px}
.ex-fig{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(217,241,79,.12);display:flex;align-items:center;justify-content:center}
.ex-draw{width:30px;height:30px;fill:none;stroke:var(--lime);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.ex-draw *{stroke-dasharray:120;stroke-dashoffset:120;animation:draw 1.4s var(--ease) .15s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
html.v5-rm .ex-draw *{animation:none;stroke-dashoffset:0}
.ex-label{font:700 11px/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin-bottom:5px}
.fun-explain p{margin:0;font-size:14px;line-height:1.5;color:var(--milk-dim)}
.rr-q{font-family:var(--f-display);font-size:clamp(23px,2.6vw,30px);font-weight:600;letter-spacing:-.015em;line-height:1.18;margin:0 0 6px;color:var(--milk)}
.rr-hint{color:var(--milk-dim);font-size:14.5px;margin:0 0 20px;line-height:1.5}
.rr-opts{display:flex;flex-direction:column;gap:10px}
.rr-opt{display:flex;align-items:center;gap:14px;background:rgba(246,242,228,.06);border:1px solid var(--line-green);border-radius:16px;padding:15px 18px;cursor:pointer;text-align:left;color:var(--milk);font:500 16px/1.35 var(--f-sans);width:100%;min-height:58px;transition:border-color .2s,transform .4s var(--spring),background .2s;position:relative;overflow:hidden}
.rr-opt:after{content:"";position:absolute;inset:0;background:var(--lime);opacity:0;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease),opacity .3s}
.rr-opt > *{position:relative;z-index:1}
@media(hover:hover){.rr-opt:hover{border-color:var(--lime);transform:translateX(4px)}.rr-opt:hover .key{background:var(--lime);color:var(--green-950);border-color:var(--lime)}}
.rr-opt:active{transform:scale(.985)}
.rr-opt.selected{border-color:var(--lime);background:var(--lime-soft)}
.rr-opt.selected:after{opacity:.18;transform:none}
.rr-opt .key{flex:none;width:28px;height:28px;border-radius:9px;border:1px solid var(--line-green);display:flex;align-items:center;justify-content:center;font:700 12.5px var(--f-sans);color:var(--milk-dim);transition:all .2s}
.rr-opt.selected .key{background:var(--lime);color:var(--green-950);border-color:var(--lime)}
.rr-opt small{display:block;color:var(--milk-dim);font-weight:400;font-size:13px;margin-top:2px}
.rr-back{background:none;border:0;color:var(--milk-dim);font:500 13.5px var(--f-sans);cursor:pointer;padding:12px 10px;margin:12px 0 0 -10px;display:inline-flex;align-items:center;gap:6px;min-height:44px;border-radius:999px;transition:color .2s}
.rr-back:before{content:"\2190";transition:transform .3s var(--ease)}
.rr-back:hover{color:var(--milk)}
.rr-back:hover:before{transform:translateX(-3px)}
.rr-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.rr-pill{font-size:12.5px;color:var(--milk-dim);background:rgba(246,242,228,.07);border:1px solid var(--line-green);border-radius:999px;padding:6px 12px;animation:pillIn .5s var(--ease) both}
.rr-pill:nth-child(2){animation-delay:.06s}.rr-pill:nth-child(3){animation-delay:.12s}.rr-pill:nth-child(4){animation-delay:.18s}.rr-pill:nth-child(5){animation-delay:.24s}
@keyframes pillIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.rr-pill b{color:var(--lime);font-weight:600}
.rr-note{display:flex;align-items:center;gap:8px;color:var(--milk-dim);font-size:13px;margin-top:14px;justify-content:center;text-align:center}
.rr-note:before{content:"";width:12px;height:14px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat}
.read-card{background:rgba(246,242,228,.06);border:1px solid var(--line-green);border-radius:18px;padding:20px 20px 18px;margin-bottom:6px}
.read-card .rr-q{font-size:clamp(21px,2.3vw,26px)}
.read-card ul{list-style:none;margin:6px 0 18px;padding:0;display:flex;flex-direction:column;gap:8px}
.read-card li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--milk);animation:pillIn .5s var(--ease) both}
.read-card li:nth-child(2){animation-delay:.08s}.read-card li:nth-child(3){animation-delay:.16s}.read-card li:nth-child(4){animation-delay:.24s}.read-card li:nth-child(5){animation-delay:.32s}.read-card li:nth-child(6){animation-delay:.4s}
.read-card li:before{content:"";flex:none;width:20px;height:20px;border-radius:50%;background:var(--lime);margin-top:2px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='black'/%3E%3Cpath d='M7 12.5l3 3 7-7' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='black'/%3E%3Cpath d='M7 12.5l3 3 7-7' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.read-card li a{color:var(--lime);text-decoration:underline;text-underline-offset:2px}
.read-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.book{margin-top:18px;border-top:1px solid var(--line-green);padding-top:12px}
.book summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--milk);font:600 15px var(--f-sans);padding:10px 0;min-height:44px}
.book summary::-webkit-details-marker{display:none}
.book summary:after{content:"+";font:500 22px/1 var(--f-display);color:var(--lime);transition:transform .4s var(--ease)}
.book[open] summary:after{transform:rotate(45deg)}
.book summary{transition:color .2s}.book summary:hover{color:var(--lime)}
.book-body p{color:var(--milk-dim);font-size:14px;margin:4px 0 12px}
.book-frame{min-height:0;border-radius:14px;overflow:hidden;background:var(--cream);transition:min-height .4s var(--ease)}
.book-frame.loaded{min-height:660px}
.book-fallback{margin-top:10px}
.book-frame iframe{display:block;width:100%;height:660px;border:0;background:var(--cream)}
.fun-card .cs-form input{background:var(--paper);border-color:transparent}
.fun-card .cs-form input:focus{border-color:var(--lime);box-shadow:0 0 0 3px var(--lime-soft)}
.fun-card .cs-form label{color:var(--milk-dim);opacity:1}
.fun-card .consent,.fun-card .helper{color:var(--milk-dim)}
.fun-card .consent a{color:var(--milk-dim)}
.fun-card .cs-success{color:var(--milk)}
@media (max-width:560px){.fun-card{padding:22px 18px 20px;border-radius:22px}.rr-opt{padding:13px 14px;gap:12px}.fun-explain{padding:11px 12px}.read-actions .btn{flex:1 1 100%}}
/* ---------- Readiness Read v2: the path tiles (Q1) and the merged finish step ---------- */
.rr-opt.rr-tile{align-items:center}
.rr-opt .tico{flex:none;width:36px;height:36px;border-radius:11px;background:rgba(217,241,79,.12);display:flex;align-items:center;justify-content:center;color:var(--lime);transition:background .2s,color .2s}
.rr-opt .tico svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rr-opt.selected .tico{background:var(--lime);color:var(--green-950)}
.rr-opt .t{display:flex;flex-direction:column;gap:2px}
.rr-opt .t b{font-weight:600;font-size:16px}
.rr-opt .t small{margin-top:0}
.rr-opt.selected{animation:rrPop .4s var(--spring)}
@keyframes rrPop{0%{transform:scale(1)}45%{transform:scale(1.035)}100%{transform:scale(1)}}
.rr-finish{margin:2px 0 18px}
.rr-finish p{margin:0 0 6px;font-size:15.5px;line-height:1.45;color:var(--milk)}
.rr-finish p:nth-child(2),.rr-finish p:nth-child(3){font-size:13.5px;color:var(--milk-dim)}
.rr-finish p:last-child{margin-bottom:0}
.rr-finish p{animation:pillIn .45s var(--ease) both}
.rr-finish p:nth-child(2){animation-delay:.08s}.rr-finish p:nth-child(3){animation-delay:.16s}
.rr-finelink{margin:10px 0 0;text-align:center}
.fun-card .rr-finelink .textlink{color:var(--milk-dim);font-size:13.5px;min-height:0;padding:6px 0}
.fun-card .rr-finelink .textlink:hover{color:var(--milk)}
.fun-card .rr-finelink .textlink:after{background:var(--milk-dim)}
.fun-card .cs-success.show .ok{animation:rrBurst .8s var(--ease) both}
@keyframes rrBurst{0%{transform:scale(.6);box-shadow:0 0 0 0 rgba(217,241,79,.55)}55%{transform:scale(1.08)}100%{transform:scale(1);box-shadow:0 0 0 20px rgba(217,241,79,0)}}
html.v5-rm .rr-opt.selected{animation:none}
html.v5-rm .fun-card .cs-success.show .ok{animation:none}
@media (max-width:560px){.rr-opt .tico{width:32px;height:32px;border-radius:10px}.rr-opt .tico svg{width:19px;height:19px}.rr-opt .t b{font-size:15px}}

/* ---------- forms (shared) ---------- */
.cs-formwrap{position:relative;z-index:1;text-align:left}
.cs-form{display:flex;flex-direction:column;gap:12px}
.cs-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.cs-form .row{grid-template-columns:1fr}}
.cs-form .field{display:flex;flex-direction:column;position:relative}
.cs-form label,.cs-label{font:700 12px/1.3 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;display:block}
.cs-form input,.cs-form select,.cs-form textarea,.cs-guide-form input,.cs-guide-form select,.cs-guide-form textarea{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 15px;color:var(--ink);font:400 16px var(--f-sans);transition:border-color .2s,box-shadow .2s,transform .2s}
.cs-form input::placeholder,.cs-form textarea::placeholder,.cs-guide-form input::placeholder{color:#9AA592}
.cs-form input:focus,.cs-form select:focus,.cs-form textarea:focus,.cs-guide-form input:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(51,83,43,.18)}
.cs-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2351604B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.cs-form textarea{resize:vertical;min-height:84px;line-height:1.5}
.cs-form .btn,.cs-submit .btn{width:100%;margin-top:4px}
.cs-form.sending .btn{opacity:.7;pointer-events:none}
.cs-form .helper,.cs-microcopy{font-size:13px;color:var(--ink-soft);margin:2px 0 0;line-height:1.55}
.cs-form .helper a{text-decoration:underline;color:inherit}
.field.err input,.field.err select,.field.err textarea{border-color:var(--red);box-shadow:0 0 0 3px rgba(201,52,42,.14)}
.field.err:after{content:attr(data-err);font-size:12.5px;color:var(--red);margin-top:6px;font-weight:500}
.fun-card .field.err:after{color:#F7B1AA}
/* v5.2 polish: the cream-page tone for .cs-field and unwrapped-field errors (chrome.css carries the dark-panel tone for the guides) */
.cs-field.err input:not([type=radio]),.cs-field.err select,.cs-field.err textarea,form [aria-invalid="true"]:not([type=radio]):not([type=checkbox]){border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(201,52,42,.14)!important}
.cs-field.err:after{color:var(--red)}
.cs-field.cs-preferred.err .cs-radio{border-color:var(--red)}
.fun-card form [aria-invalid="true"]:not([type=radio]),.v5foot form [aria-invalid="true"]:not([type=radio]):not([type=checkbox]){border-color:#F7B1AA!important;box-shadow:0 0 0 3px rgba(247,177,170,.22)!important}
.consent,.cs-consent{font-size:12.5px;color:var(--ink-soft);line-height:1.6;margin-top:10px}
.consent a,.cs-consent a{color:inherit;text-decoration:underline}
.cs-success{display:none;text-align:center;padding:22px 8px}
.cs-success.show{display:block;animation:csPop .5s var(--spring)}
@keyframes csPop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.cs-success .ok,.center-card .ok{width:56px;height:56px;border-radius:50%;background:var(--lime);color:var(--green-950);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;margin:0 auto 12px;box-shadow:0 10px 28px -8px rgba(217,241,79,.8)}
.cs-success h4{font-family:var(--f-display);font-size:20px;margin:0 0 6px;font-weight:600}
.cs-success p{color:var(--ink-dim);font-size:15px;margin:0}
.cs-guide-form{display:flex;flex-direction:column;gap:12px}
.cs-fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cs-field{display:flex;flex-direction:column}
.cs-field.cs-preferred{grid-column:1/-1;border:0;padding:0;margin:0;min-width:0}
.cs-radios{display:flex;flex-wrap:wrap;gap:8px}
.cs-radio{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:10px 14px;cursor:pointer;background:var(--paper);font-size:14.5px;min-height:44px;transition:border-color .2s,background .2s}
.cs-radio:hover{border-color:var(--line-strong)}
.cs-radio{white-space:nowrap}
.cs-radio:has(input:checked){border-color:var(--green);background:var(--lime-soft)}
.cs-radio input{accent-color:var(--green);margin:0}
.cs-hp{position:absolute;left:-9999px}
@media(max-width:520px){.cs-fieldgrid{grid-template-columns:1fr}}
.news-form{display:flex;gap:10px}

/* ---------- facts, pain, get, steps, cards ---------- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.facts > div{padding:20px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.facts > div:last-child{border-right:0}
.facts .val{font:600 16px/1.35 var(--f-display);color:var(--ink);letter-spacing:-.01em}
@media (max-width:860px){.facts{grid-template-columns:1fr 1fr}.facts > div{border-bottom:1px solid var(--line)}.facts > div:nth-child(2n){border-right:0}.facts > div:nth-last-child(-n+2){border-bottom:0}}
@media (max-width:480px){.facts{grid-template-columns:1fr}.facts > div{border-right:0!important;border-bottom:1px solid var(--line)!important}.facts > div:last-child{border-bottom:0!important}}
.pain{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pain > div{display:flex;flex-direction:column;gap:16px;padding:26px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);transition:transform .5s var(--spring),box-shadow .35s}
.pain > div:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pain .idx{font-size:15px}
.pain h3{font-size:21px;margin-bottom:8px}
.pain p{margin:0;color:var(--ink-dim);font-size:15px;line-height:1.6}
@media (max-width:860px){.pain{grid-template-columns:1fr}}
.get{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;display:flex;flex-direction:column;gap:6px;position:relative;transition:transform .5s var(--spring),box-shadow .35s,border-color .3s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-strong)}
/* v5.2 polish: once revealed, a .card.rv keeps its own hover timing (the 1 s reveal transition was making the hover lift crawl and the shadow snap) */
html.v5-js .card.rv.in{transition:opacity .9s var(--ease),transform .5s var(--spring),box-shadow .35s,border-color .3s}
.card h3{font-size:22px;margin-bottom:6px}
.card p{color:var(--ink-dim);font-size:15.5px;line-height:1.6;margin:0 0 10px}
.card .textlink{margin-top:auto}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.card-head .tag{margin-bottom:0}
.card > .tag{align-self:flex-start}
@media (max-width:760px){.get{grid-template-columns:1fr}}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
@media (max-width:960px){.grid-3{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;display:flex;gap:16px;align-items:flex-start}
.step .n{flex:none;width:36px;height:36px;border-radius:50%;background:var(--lime);color:var(--green-950);display:flex;align-items:center;justify-content:center;font:800 15px var(--f-sans)}
.step h3{font-size:19px;margin:4px 0 6px}
.step p{margin:0;color:var(--ink-dim);font-size:14.5px;line-height:1.6}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.expander{margin-top:8px;border-top:1px solid var(--line);padding-top:4px}
.expander summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;font:700 15.5px var(--f-sans);color:var(--green);padding:12px 0;min-height:44px}
.expander summary::-webkit-details-marker{display:none}
.expander summary:after{content:"+";font:500 24px/1 var(--f-display);transition:transform .4s var(--ease)}
.expander[open] summary:after{transform:rotate(45deg)}
.expander summary{transition:color .2s}.expander summary:hover{color:var(--green-950)}.expander summary:hover:after{transform:scale(1.2)}.expander[open] summary:hover:after{transform:rotate(45deg) scale(1.2)}
.expander .cs-formwrap{margin-top:6px}
.numbered{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start}
.big-statement{font:500 clamp(22px,2.6vw,32px)/1.3 var(--f-display);letter-spacing:-.015em;color:var(--ink);margin:0 0 14px}
.big-statement em{font-style:italic;color:var(--green)}
@media (max-width:640px){.numbered{grid-template-columns:1fr;gap:10px}}
.spec-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.spec-list li{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-green);font:500 17px var(--f-sans);color:var(--milk)}
.spec-list .idx{color:var(--lime)}
@media (max-width:560px){.spec-list{grid-template-columns:1fr}}
.principles{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column}
.principles li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.principles li:last-child{border-bottom:0}
.principles strong{font:600 18px/1.3 var(--f-display);display:block;margin-bottom:3px;letter-spacing:-.01em}
.principles p{margin:0;color:var(--ink-dim);font-size:15px;line-height:1.6}

/* ---------- program cards + icon set ---------- */
.prog-grid,.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:12px 0 0}
.prog{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 20px;color:var(--ink);text-decoration:none;transition:transform .5s var(--spring),box-shadow .35s,border-color .3s;overflow:hidden}
.prog:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong)}
.prog:active{transform:translateY(-2px) scale(.98)}
.prog h3{font-size:20px;margin:0}
.prog p{margin:0;color:var(--ink-dim);font-size:14.5px;line-height:1.55}
.prog .ico{width:46px;height:46px;border-radius:13px;background:var(--cream-2);color:var(--green);display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s,transform .5s var(--spring)}
.prog:hover .ico{background:var(--green);color:var(--lime);transform:rotate(-6deg)}
.prog .ico svg{width:26px;height:26px}
.prog .arr{position:absolute;right:20px;top:22px;color:var(--green);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .4s var(--ease)}
.prog:hover .arr{opacity:1;transform:none}
.ico svg,.glyph svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:960px){.prog-grid,.programs{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.prog-grid,.programs{grid-template-columns:1fr}}
.doors{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.door{display:inline-flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:12px 18px;color:var(--ink);text-decoration:none;font:600 15px var(--f-sans);min-height:48px;transition:transform .4s var(--spring),border-color .2s,background .2s,color .2s}
.door h3{font:inherit;margin:0;color:inherit}
.door .arr{color:var(--green);transition:transform .35s var(--ease)}
.door:hover{background:var(--green);color:var(--milk);border-color:var(--green);transform:translateY(-2px)}
.door:active{transform:scale(.97)}
.door:hover .arr{color:var(--lime);transform:translateX(3px)}
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream);padding:14px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-track{display:flex;gap:40px;width:max-content;animation:tick 60s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker span{font:500 15px var(--f-display);color:var(--ink-dim);white-space:nowrap;display:inline-flex;align-items:center;gap:40px}
.ticker span:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime)}
@keyframes tick{to{transform:translateX(-50%)}}
html.v5-rm .ticker-track{animation:none}

/* ---------- counters ---------- */
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.counters.c3{grid-template-columns:repeat(3,1fr)}
.counter{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px 18px}
.counter b{display:block;font:500 clamp(36px,4.4vw,56px)/1 var(--f-display);letter-spacing:-.03em;color:var(--green);font-variant-numeric:tabular-nums;margin-bottom:8px}
.counter b small{font-size:.5em;letter-spacing:0;margin-left:2px}
.counter span{display:block;font-size:14px;color:var(--ink-dim);line-height:1.45}
/* v5.2 polish: the v5.2 counters wrap the number in a <span data-count>; the label rule above was shrinking it to 14 px and breaking the star / "min" onto their own lines */
.counter b span{display:inline;font:inherit;color:inherit;line-height:inherit}
@media (max-width:760px){.counters{grid-template-columns:1fr 1fr;gap:10px}.counters.c3{grid-template-columns:1fr}.counter{padding:18px 16px 14px}}

/* ---------- bands, receipt, parallax ---------- */
.band{position:relative;padding:var(--sec) 0;overflow:hidden;isolation:isolate}
.band.px .px-bg{position:absolute;inset:-12% 0;z-index:-2;background-size:cover;background-position:center;opacity:.28;filter:saturate(.7)}
.band.px:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(42,69,34,.96) 20%,rgba(42,69,34,.78) 100%)}
.band .tick{position:absolute;top:22px;right:var(--gutter);font:700 11px/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--milk-dim);opacity:.6}
.band-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
@media (max-width:900px){.band-grid{grid-template-columns:1fr}}
.receipt{position:relative;background:var(--cream);color:var(--ink);border-radius:6px;padding:28px 26px 30px;max-width:420px;margin:0 auto;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);font-family:var(--f-sans)}
.receipt:before,.receipt:after{content:"";position:absolute;left:0;right:0;height:10px;background:radial-gradient(circle,transparent 6px,var(--cream) 6.5px) 0 0/16px 12px repeat-x}
.receipt:before{top:-8px;transform:rotate(180deg)}
.receipt:after{bottom:-8px}
.receipt h4{font:600 20px var(--f-display);margin:0 0 2px;text-align:center;color:var(--ink)}
.receipt p,.receipt li,.receipt .total{color:var(--ink)}
.receipt .sub{text-align:center;color:var(--ink-soft);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;font-weight:700}
.receipt ul{list-style:none;margin:0;padding:0}
.receipt li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line-strong);font-size:15px;opacity:0;transform:translateX(-10px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.receipt li.in{opacity:1;transform:none}
.receipt li span:last-child{font-variant-numeric:tabular-nums;color:var(--ink-soft);filter:blur(3px)}
.receipt li.hl span:last-child{filter:none;color:var(--green);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.receipt .total{display:flex;justify-content:space-between;padding:14px 0 6px;font:600 17px var(--f-display)}
.receipt .total span:last-child{color:var(--green);font-style:italic;font-weight:500}
.receipt .bar{height:28px;margin:14px 0 10px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 9px,var(--ink) 9px 12px,transparent 12px 14px);opacity:.75}
.receipt .foot{font-size:11.5px;color:var(--ink-soft);line-height:1.5;margin:0;text-align:center}
html.v5-rm .receipt li,html:not(.v5-js) .receipt li{opacity:1;transform:none}

/* ---------- article + aside ---------- */
.article{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,5vw,72px);padding:var(--sec) var(--gutter);align-items:start}
.prose{font-size:17px;line-height:1.7;color:var(--ink)}
.prose .block{margin-bottom:clamp(36px,5vw,56px)}
.prose h2{font-size:clamp(26px,3vw,36px);margin:0 0 16px}
.prose h3{margin-top:24px}
.prose p{color:var(--ink);max-width:70ch}
.prose ul,.prose ol{padding-left:0;margin:0 0 1.2em;list-style:none}
.prose li{position:relative;padding-left:28px;margin-bottom:10px;max-width:70ch}
.prose ul li:before{content:"";position:absolute;left:0;top:.62em;width:14px;height:2px;background:var(--lime);border-radius:2px}
.prose ol{counter-reset:li}
.prose ol li{counter-increment:li;padding-left:38px}
.prose ol li:before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:0;font:500 14px/1.7 var(--f-display);color:var(--green)}
.prose a{color:var(--green);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:rgba(51,83,43,.4)}
.prose a:hover{text-decoration-color:var(--green)}
.prose strong{color:var(--ink);font-weight:700}
.prose .callout{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--lime);border-radius:var(--r-sm);padding:18px 20px;margin:0 0 1.4em;font-size:16px}
.prose .updated{font-size:14px;color:var(--ink-soft)}
.prose table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 1.4em}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;font:600 17px/1.35 var(--f-sans);color:var(--ink);min-height:44px;transition:color .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--green)}
.faq summary:after{content:"";flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-strong);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2333532B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .45s var(--ease),background-color .2s}
.faq details[open] summary:after{transform:rotate(45deg);background-color:var(--lime)}
.faq details p{margin:0 0 18px;color:var(--ink-dim);max-width:65ch}
.faq .faq-a{overflow:hidden}
.aside{position:sticky;top:calc(var(--c-nav-h) + 20px)}
.ask{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.ask-who{display:flex;gap:14px;align-items:center;margin-bottom:8px}
.ask-who .ph{width:60px;height:60px;border-radius:50%;overflow:hidden;background:var(--lime);flex:none}
.ask-who img{width:100%;height:100%;object-fit:cover}
.ask-who strong{display:block;font:600 16px var(--f-display)}
.ask-who span{display:block;font-size:12.5px;color:var(--ink-dim);line-height:1.4}
.ask h3{font-size:24px;margin:0 0 4px}
.ask p{margin:0 0 8px;color:var(--ink-dim);font-size:15px}
.ask .btn{width:100%}
.ask .contact{font-size:14px;margin-top:6px}
.ask .fine{font-size:12.5px;color:var(--ink-soft);margin:4px 0 0}
@media (max-width:960px){.article{grid-template-columns:1fr}.aside{position:static}}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
@media (max-width:760px){.related{grid-template-columns:1fr}}

/* ---------- CTA band ---------- */
.cta-band{position:relative;padding:var(--sec) 0;overflow:hidden;isolation:isolate}
.cta-band:before{content:"";position:absolute;inset:auto -10% -70% auto;width:700px;height:700px;background:radial-gradient(closest-side,rgba(217,241,79,.18),transparent 70%);filter:blur(30px);z-index:-1}
.cta-band .inner{text-align:center;max-width:760px}
.cta-band h2{font-size:clamp(32px,4.6vw,58px)}
.cta-band p{font-size:var(--fs-lede);margin:0 auto 28px;max-width:56ch}
.cta-band .btn-row{justify-content:center}

/* ---------- about, contact, legal, center pages ---------- */
.about-split{display:grid;grid-template-columns:4fr 7fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:860px){.about-split{grid-template-columns:1fr;gap:28px}}
.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.approach{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px}
.approach-num{display:block;font:500 40px/1 var(--f-display);color:var(--green);opacity:.35;margin-bottom:14px;letter-spacing:-.03em}
.approach h3{font-size:21px}
.approach p{margin:0;color:var(--ink-dim);font-size:15px}
@media (max-width:860px){.approach-grid{grid-template-columns:1fr}}
.deep-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.deep-text p{color:var(--ink-dim)}
@media (max-width:860px){.deep-grid{grid-template-columns:1fr}}
.areas{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.areas div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font:500 15px var(--f-sans);display:flex;justify-content:space-between;align-items:center}
.areas span{font:700 10.5px var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.creds{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.cred{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.cred .val{display:block;font:600 15px/1.35 var(--f-display);margin-top:4px}
.personal-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,5vw,64px)}
.personal-grid p{color:var(--ink-dim)}
.personal-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.personal-tags .tag{margin:0}
@media (max-width:860px){.personal-grid{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.contact-grid .big{display:block;font:600 clamp(20px,2.4vw,26px)/1.2 var(--f-display);letter-spacing:-.015em;color:var(--ink);margin:4px 0 8px;text-decoration:none;min-height:44px;display:flex;align-items:center;transition:color .2s}
.contact-grid a.big:hover{color:var(--green)}
.contact-grid p{margin:0;color:var(--ink-dim);font-size:15px}
@media (max-width:760px){.contact-grid{grid-template-columns:1fr}}
.legal-page{padding:var(--sec-tight) 0 var(--sec)}
.legal-page h1{font-size:clamp(34px,4.6vw,56px);margin-bottom:10px}
.center-page{min-height:calc(100svh - var(--c-nav-h));display:flex;align-items:center;justify-content:center;padding:var(--sec) var(--gutter);position:relative;overflow:hidden;background:linear-gradient(175deg,var(--green) 0%,var(--green-deep) 100%)}
.center-page:before{content:"";position:absolute;inset:auto -10% -40% auto;width:700px;height:700px;background:radial-gradient(closest-side,rgba(217,241,79,.18),transparent 70%);filter:blur(30px)}
.center-card{position:relative;background:var(--cream);color:var(--ink);border-radius:28px;padding:clamp(32px,5vw,56px) clamp(22px,4vw,48px);max-width:640px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}
.center-card h1{font-size:clamp(34px,5vw,56px)}
.center-card .sub{color:var(--ink-dim);font-size:var(--fs-lede);max-width:46ch;margin:0 auto 24px}
/* v5.2 polish: on the cream card the italic accent is forest (lime on cream failed contrast); the 404 drawing uses the same line set in forest */
.center-card h1 em{color:var(--green)}
.lost-art{width:min(240px,72%);margin:0 auto 4px}.lost-art svg{width:100%;height:auto;overflow:visible}
.lost-art .art{stroke:var(--green);stroke-width:1.8}.lost-art .art .fl{fill:var(--lime-soft)}.lost-art .art .sun{fill:var(--lime);stroke:none}.lost-art .art .kb{fill:var(--lime)}.lost-art .art .dim{opacity:.45}
.center-card .code{font:500 clamp(72px,12vw,120px)/1 var(--f-display);color:var(--green);opacity:.18;letter-spacing:-.04em;margin-bottom:-18px}
.center-card .next{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:18px 0}
.center-card .lbl{font:600 15px var(--f-sans);margin-bottom:12px;color:var(--ink)}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.center-card .links{display:flex;flex-wrap:wrap;gap:4px 22px;justify-content:center;margin:16px 0 8px;font-size:14.5px}
.center-card .links a{color:var(--green);font-weight:600;padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.center-card .links a{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:5px;transition:text-decoration-color .25s,color .2s}.center-card .links a:hover{text-decoration-color:var(--lime);color:var(--green-950)}
.center-card .social{display:flex;gap:8px;justify-content:center;margin-top:10px}
.center-card .social a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-dim);transition:all .3s var(--spring)}
.center-card .social a:hover{background:var(--green);color:var(--milk);border-color:var(--green);transform:translateY(-2px)}
.center-card .social svg{width:16px;height:16px;fill:currentColor}
.stamp{display:inline-block;font:700 12px/1 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--green);border:2px solid var(--green);border-radius:6px;padding:8px 12px;margin:0 0 18px;transform:rotate(-6deg) scale(1.6);opacity:0;transition:transform .5s var(--spring),opacity .3s}
.stamp.in{transform:rotate(-6deg);opacity:.9}
html.v5-rm .stamp{transform:rotate(-6deg);opacity:.9}
.keys{width:88px;height:88px;margin:0 auto 10px}
.keys svg{width:100%;height:100%;overflow:visible}
.keys .ring{fill:none;stroke:var(--line-strong);stroke-width:1.5}
.keys .k{fill:none;stroke:var(--green-950);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform-origin:44px 44px;animation:keyTurn 1.4s var(--spring) .3s both}
.keys .bow{fill:var(--lime)}
@keyframes keyTurn{0%{transform:rotate(-70deg);opacity:0}100%{transform:rotate(0);opacity:1}}
html.v5-rm .keys .k{animation:none}
.center-card.rv{opacity:1;transform:none}

/* ---------- section index (desktop) ---------- */
.sidx{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:60;display:none;flex-direction:column;gap:14px}
.sidx a{display:flex;align-items:center;gap:10px;color:var(--ink-dim);text-decoration:none;font:600 11px/1 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;flex-direction:row-reverse;min-height:24px}
.sidx a i{width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;transition:background .3s,transform .4s var(--spring)}
.sidx a span{opacity:0;transform:translateX(6px);transition:opacity .3s,transform .4s var(--ease)}
.sidx a:hover span,.sidx a.on span{opacity:1;transform:none}
.sidx a.on i{background:var(--lime);border-color:var(--green);transform:scale(1.3)}
.sidx.on-dark a{color:var(--milk-dim)}
@media (min-width:1280px){.sidx{display:flex}}

/* ---------- hero illustration (shared defs) ---------- */
.art{fill:none;stroke:var(--milk);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.art .lm{stroke:var(--lime)}
.art .fl{fill:rgba(246,242,228,.08);stroke:none}
.art .fl-l{fill:rgba(217,241,79,.2);stroke:none}
.art .drawp{stroke-dasharray:1;stroke-dashoffset:1}
html:not(.v5-js) .art .drawp,html.v5-rm .art .drawp{stroke-dashoffset:0}
.art .float{animation:floaty 7s ease-in-out infinite}
.art .float.d2{animation-delay:-2.3s}.art .float.d3{animation-delay:-4.6s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
html.v5-rm .art .float{animation:none}
.art .dim{opacity:.55}
/* v5.1 hero scene: the drawn program in its street, full width on a phone (top third at 390 px), the circled badge stays in cards */
.hero-art.scene{aspect-ratio:400/240;max-width:560px}
@media (max-width:860px){.hero-art.scene{max-width:none;width:100%;margin:-4px 0 10px;order:-1}}
/* v5.1 numbers heading above the Backed by block */
.num-head{font-size:clamp(28px,4vw,44px);max-width:22ch;margin:0 0 clamp(18px,3vw,28px)}

/* ---------- print + misc ---------- */
.onpage-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,34px);max-width:720px;box-shadow:var(--shadow)}
.onpage-form h3{font-size:24px}
.onpage-form > p{color:var(--ink-dim);font-size:15.5px}
.cs-success .ok{font-size:22px}
.cs-submit{margin-top:6px}
.hidden-section[hidden]{display:none}
/* v5.2 */
.counter span .asof{display:block;font:500 11.5px/1.4 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px}
.cta-band .alt-link{margin-top:18px;text-align:center;color:var(--milk-dim)}
.cta-band .alt-link .textlink{color:var(--lime)}
.phone-line{padding-top:0}
.phone-line .small-print{margin:0;font-size:14.5px;color:var(--ink-dim);border-top:1px solid var(--line);padding-top:18px}
.phone-line .small-print a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;font-weight:500}
@media print{.cine-media video,.cine-hint,.sidx,.cs-success,.btn-row,.mob-bar{display:none!important}body{background:#fff;color:#000}.on-ink,.cta-band,.fun-card,.page-hero{background:#fff!important;color:#000!important}}

/* v5.2 security: inline styles → classes. The build (harden() in build-v5.py) swaps every inline style attribute for the class whose
   declarations match it exactly, so the CSP can drop 'unsafe-inline' for styles. !important keeps an inline style's old precedence;
   .st-w0 has none because the readiness coach's script sets that bar's width at runtime. One rule per line; keep the declaration order. */
.st-mt12{margin-top:12px!important}
.st-mt14{margin-top:14px!important}
.st-mt18{margin-top:18px!important}
.st-mt22{margin-top:22px!important}
.st-mt36{margin-top:36px!important}
.st-mt-fluid{margin-top:clamp(40px,6vw,72px)!important}
.st-mb0{margin-bottom:0!important}
.st-mt0-mb28{margin-top:0!important;margin-bottom:28px!important}
.st-mx-auto{margin-left:auto!important;margin-right:auto!important}
.st-p0{padding:0!important}
.st-pt32{padding-top:32px!important}
.st-py10{padding:10px 0!important}
.st-card-pad{margin-top:32px!important;padding:22px 22px!important}
.st-center{text-align:center!important}
.st-jc-center{justify-content:center!important}
.st-fs14{font-size:14px!important}
.st-cc-state{font-size:14px!important;margin-left:10px!important}
.st-mt16-15{margin-top:16px!important;font-size:15px!important}
.st-legal-foot{margin-top:32px!important;font-size:13px!important}
.st-mt18-soft{margin-top:18px!important;font-size:14px!important;color:var(--ink-soft)!important}
.st-fine-64{margin-top:18px!important;font-size:11.5px!important;color:var(--ink-soft)!important;line-height:1.5!important;max-width:64ch!important}
.st-fine-78{margin-top:18px!important;font-size:11.5px!important;color:var(--ink-soft)!important;line-height:1.5!important;max-width:78ch!important}
.st-score-note{margin:-6px 0 18px!important;font-size:12px!important;color:var(--ink-soft)!important;line-height:1.5!important}
.st-note-dim{color:var(--ink-dim)!important;font-size:14px!important;margin:0!important;line-height:1.6!important}
.st-body-dim{margin:0!important;color:var(--ink-dim)!important;font-size:16px!important}
.st-accent{color:var(--accent)!important}
.st-link-accent{color:var(--accent)!important;text-decoration:underline!important}
.st-link-soft{color:var(--ink-soft)!important;text-decoration:underline!important}
.st-num-soft{color:var(--ink-soft)!important;font-family:var(--f-display)!important;margin-right:8px!important}
.st-strong-ink{color:var(--ink)!important;font-family:var(--f-sans)!important}
.st-inline{display:inline!important;margin:0!important;color:inherit!important}
.st-eyebrow{color:var(--accent)!important;font-family:var(--f-sans)!important;font-size:11px!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-weight:700!important;display:block!important;margin-bottom:8px!important}
.st-callout{margin-top:18px!important;padding:18px 20px!important;background:var(--bg-3)!important;border:1px solid var(--line)!important;border-radius:12px!important;font-size:14.5px!important;color:var(--ink-dim)!important;line-height:1.6!important}
.st-grid2{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;font-size:13px!important}
.st-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:12px!important;margin-top:18px!important;flex-wrap:wrap!important}
.st-btn-reset{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--ink-soft)!important;font-family:var(--f-sans)!important;font-size:12px!important;font-weight:600!important;padding:10px 16px!important;border-radius:999px!important;cursor:pointer!important;letter-spacing:.04em!important}
.st-btn-send{background:var(--accent)!important;color:var(--accent-ink)!important;font-family:var(--f-sans)!important;font-size:13px!important;font-weight:700!important;padding:12px 20px!important;border-radius:999px!important;border:0!important;cursor:pointer!important}
.st-w0{width:0%}
.st-w16{width:16%!important}
.st-bg-band{background-image:url(/media/band-16x9.jpg)!important}

/* .on-ink a (0,1,1) outranked .btn (0,1,0): solid lime buttons in dark bands went milk-on-lime */
.on-ink .btn,.cine .btn,.fun-card .btn{color:var(--green-950)}

/* ---------- partner strip ---------- */
.partner-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 28px}.partner-strip h3{margin:0 0 4px;font-size:24px}.partner-strip p{margin:0;color:var(--ink-dim);font-size:15px}.partner-strip .tag{margin-bottom:10px}
.mini-foot{margin:18px 0 0;font-size:12.5px;color:var(--ink-soft);text-align:center}.byline{font-size:14px;color:var(--ink-soft);margin:0 0 6px}
