/* Hill Wallet: altitude bands, one huckleberry trail. No max-width container anywhere. */
@font-face{font-family:'Bricolage Grotesque';src:url('/assets/fonts/BricolageGrotesque-VF.woff2') format('woff2-variations'),url('/assets/fonts/BricolageGrotesque-VF.woff2') format('woff2');font-weight:200 800;font-stretch:75% 100%;font-display:swap;size-adjust:100%}
@font-face{font-family:'Rubik';src:url('/assets/fonts/Rubik-VF.woff2') format('woff2-variations'),url('/assets/fonts/Rubik-VF.woff2') format('woff2');font-weight:300 900;font-display:swap;size-adjust:98%}

:root{
  --sky:#BFDCEB;--meadow:#A9CC7E;--fern:#6FA35A;--barley:#E6D27A;--heather:#B9A6D9;--huck:#34287A;--spruce:#1F2A1E;--cloud:#F7F9F4;
  --ink:var(--spruce);
  --pad:clamp(16px,2.5vw,48px);--gut:clamp(12px,1.2vw,32px);--cols:4;
  --steady:cubic-bezier(0.45,0.05,0.25,0.95);--footing:cubic-bezier(0.18,0.88,0.32,1.12);
  --fast:.27s;--base:.545s;--slow:1.09s;--long:2.18s;--stag:.068s;
  --display:clamp(44px,7.2vw,188px);--h2:clamp(30px,3.6vw,96px);--h3:clamp(21px,1.7vw,44px);--body:clamp(17px,1.05vw,24px);--small:clamp(14px,0.8vw,18px);
  --nav-h:clamp(64px,4.6vw,96px);--radius:clamp(14px,1.2vw,28px);
}
@media (min-width:768px){:root{--cols:8}}
@media (min-width:1024px){:root{--cols:12}}
@media (min-width:1900px){:root{--cols:16}}
@media (min-width:2500px){:root{--cols:20}}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--nav-h)}
body{margin:0;font-family:Rubik,system-ui,sans-serif;font-weight:420;font-size:var(--body);line-height:1.55;color:var(--ink);background:var(--sky);overflow-x:clip}
img,video,svg{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:'Bricolage Grotesque',system-ui,sans-serif;margin:0;line-height:1.02;letter-spacing:-.01em;text-wrap:balance}
.h1{font-size:var(--display);font-weight:760;font-variation-settings:'wdth' 88,'wght' 760,'opsz' 96;line-height:.96}
.h2{font-size:var(--h2);font-weight:700;font-variation-settings:'wdth' 92,'wght' 700,'opsz' 72;margin-bottom:clamp(18px,1.6vw,40px)}
.h3{font-size:var(--h3);font-weight:650;font-variation-settings:'wdth' 94,'wght' 650,'opsz' 40;line-height:1.1}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.small,small{font-size:var(--small)}
.lead{font-size:clamp(19px,1.35vw,30px);line-height:1.45}
.eyebrow{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:var(--small);letter-spacing:.01em;margin:0 0 .6em;font-variation-settings:'wght' 600}
.kicker{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:clamp(20px,1.6vw,36px);margin:0 0 .5em;line-height:1.2}
a{color:inherit;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.16em;text-decoration-color:var(--huck)}
.band[data-band=huck] a,.band[data-band=spruce] a,.band[data-band=video] a,.band[data-band=photo] a{text-decoration-color:var(--heather)}
.tlink{font-family:'Bricolage Grotesque',sans-serif;font-weight:650;color:var(--huck);text-decoration:none;position:relative;display:inline-block;padding-bottom:.15em;background:linear-gradient(var(--huck),var(--huck)) no-repeat 0 100%/100% 2px;transition:background-size var(--fast) var(--footing),transform var(--fast) var(--footing)}
.tlink:hover,.tlink:focus-visible{background-size:100% 4px;transform:translateY(-2px)}
.band[data-band=huck] .tlink,.band[data-band=spruce] .tlink,.band[data-band=video] .tlink{color:var(--cloud);background-image:linear-gradient(var(--heather),var(--heather))}
.sr-only,.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--huck);outline-offset:3px;border-radius:6px}
.band[data-band=huck] :focus-visible,.band[data-band=spruce] :focus-visible{outline-color:var(--barley)}
.skip{position:absolute;left:var(--pad);top:-80px;z-index:200;background:var(--huck);color:var(--cloud);padding:10px 16px;border-radius:0 0 16px 16px;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;text-decoration:none}
.skip:focus{top:0}
.wrap{padding-left:var(--pad);padding-right:var(--pad);width:100%}
.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gut)}
.cols2,.cols3,.cols4{column-gap:var(--gut)}
@media (min-width:1024px){.cols2{columns:2}.cols3{columns:3}.cols4{columns:4}}
@media (min-width:1900px){.cols3{columns:3}.cols4{columns:4}}
.cols2 p,.cols3 p,.cols4 p{break-inside:avoid}
.at1920,.at2560{display:none!important}
@media (min-width:1900px){.at1920{display:revert!important}}
@media (min-width:2500px){.at2560{display:revert!important}}
.tabular{font-variant-numeric:tabular-nums}

/* ---- bands and crests ---- */
.band{position:relative;padding:clamp(44px,4vw,96px) 0 calc(clamp(36px,4vw,96px) + clamp(18px,1.5vw,36px));color:var(--ink);isolation:isolate;overflow-x:clip}
main,footer.band{overflow-x:clip}
.band[data-band=sky]{background:var(--sky)}.band[data-band=meadow]{background:var(--meadow)}.band[data-band=fern]{background:var(--fern)}.band[data-band=barley]{background:var(--barley)}.band[data-band=heather]{background:var(--heather)}
.band[data-band=huck]{background:var(--huck);color:var(--cloud)}.band[data-band=spruce]{background:var(--spruce);color:var(--cloud)}.band[data-band=cloud]{background:var(--cloud)}
.band[data-band=video],.band[data-band=photo]{background:var(--fern);color:var(--cloud)}
.crest{position:absolute;left:0;right:0;top:calc(-1 * clamp(36px,4vw,96px) + 1px);height:clamp(36px,4vw,96px);width:100%;z-index:2;pointer-events:none}
.band:first-of-type .crest{display:none}
.band .wrap{position:relative;z-index:3}
.band-first{padding-top:calc(var(--nav-h) + clamp(24px,3vw,64px))}

/* ---- header: quiet, translucent, the same on every band ---- */
.alt{position:sticky;top:0;z-index:100;height:var(--nav-h);background:rgba(247,249,244,.9);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);color:var(--spruce);border-bottom:1px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}
.alt.scrolled{border-bottom-color:rgba(31,42,30,.08);box-shadow:0 1px 14px rgba(31,42,30,.06)}
.alt-in{height:100%;display:flex;align-items:center;gap:clamp(12px,1.6vw,36px);padding:0 var(--pad)}
.alt-logo{display:inline-flex;align-items:center;flex:none;text-decoration:none}
.alt-logo .wordmark{height:clamp(28px,2vw,40px);width:auto}
.alt-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(14px,1.6vw,34px)}
.alt-nav a{font-family:'Bricolage Grotesque',sans-serif;font-weight:560;font-variation-settings:'wght' 560;font-size:clamp(14px,.92vw,18px);text-decoration:none;position:relative;display:inline-block;padding:6px 0;white-space:nowrap;color:var(--spruce);opacity:.82;transition:opacity .15s ease,color .15s ease}
.alt-nav a:hover,.alt-nav a:focus-visible{opacity:1;color:var(--huck)}
.alt-nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--huck);border-radius:1px;opacity:0;transition:opacity .15s ease}
.alt-nav a[aria-current=page]{opacity:1;color:var(--huck)}
.alt-nav a[aria-current=page]::after{opacity:1}
.alt-right{display:flex;align-items:center;gap:clamp(10px,1vw,20px);flex:none;margin-left:auto}
.alt-cta .hb-label{font-size:clamp(14px,.88vw,17px)}
.alt .alt-cta{min-height:42px;padding:10px 20px}
.alt-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;text-decoration:none;color:var(--spruce);transition:background-color .15s ease}
.alt-cart:hover,.alt-cart:focus-visible{background:rgba(31,42,30,.06)}
.alt-cart .ico{width:26px;height:26px}
.cart-count{position:absolute;top:0;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--huck);color:var(--cloud);font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:11px;display:grid;place-items:center}
.alt-menu{display:none;font:inherit;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;background:transparent;border:1.5px solid currentColor;color:inherit;border-radius:999px;padding:8px 16px;cursor:pointer}
.alt-sheet-extra{display:none}
@media (max-width:1180px){.alt-nav a{font-size:14px}.alt .alt-cta{display:none}}
@media (max-width:899px){
  .alt-nav{position:fixed;left:0;right:0;bottom:0;top:auto;background:var(--cloud);color:var(--spruce);border-radius:24px 24px 0 0;padding:40px var(--pad) 32px;transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.7,.2,1);z-index:150;box-shadow:0 -10px 40px rgba(31,42,30,.18);visibility:hidden;max-height:88vh;overflow:auto}
  .alt-nav::before{content:'';position:absolute;top:14px;left:50%;width:44px;height:5px;border-radius:3px;background:rgba(31,42,30,.18);transform:translateX(-50%)}
  .alt-nav.open{transform:none;visibility:visible}
  .alt-nav ul{flex-direction:column;gap:4px}
  .alt-nav a{font-size:24px;padding:8px 0;opacity:1}
  .alt-sheet-extra{display:flex;flex-direction:column;gap:14px;margin-top:20px;align-items:flex-start}
  .alt-phone{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;color:var(--huck);text-decoration:none}
  .alt-menu{display:inline-block}
  .menu-open{overflow:hidden}
}

/* ---- buttons: a plain pill, a quick colour change on hover ---- */
.btn{--bg:var(--huck);--bg-h:#2A2066;--fg:var(--cloud);position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:0;border-radius:999px;background:transparent;color:var(--fg);font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-variation-settings:'wght' 600,'wdth' 96;font-size:clamp(15px,.98vw,19px);line-height:1.1;text-decoration:none;cursor:pointer;isolation:isolate;transition:transform .18s ease;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.btn .hb-dome{position:absolute;inset:0;background:var(--bg);border-radius:999px;z-index:-1;transition:background-color .18s ease,box-shadow .18s ease}
.btn .hb-label{position:relative;display:inline-block}
.btn:hover{transform:translateY(-1px)}
.btn:hover .hb-dome,.btn:focus-visible .hb-dome{background:var(--bg-h)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid var(--huck);outline-offset:3px;border-radius:999px}
.btn.btn-secondary{--bg:transparent;--bg-h:rgba(31,42,30,.06);--fg:var(--spruce)}
.btn.btn-secondary .hb-dome{box-shadow:inset 0 0 0 1.5px currentColor}
.band[data-band=huck] .btn.btn-secondary,.band[data-band=spruce] .btn.btn-secondary,.band[data-band=video] .btn.btn-secondary{--fg:var(--cloud);--bg-h:rgba(247,249,244,.1)}
.band[data-band=huck] .btn:not(.btn-secondary){--bg:var(--barley);--bg-h:#D8C25C;--fg:var(--spruce)}
.band[data-band=huck] .btn:focus-visible,.band[data-band=spruce] .btn:focus-visible{outline-color:var(--barley)}
.plan .btn:not(.btn-secondary){--bg:var(--huck);--bg-h:#2A2066;--fg:var(--cloud)}
.btn-lg{min-height:54px;padding:15px 28px;font-size:clamp(16px,1.1vw,21px)}
.btn-block{width:100%}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:clamp(16px,1.4vw,28px)}

/* cloud surfaces inside any band keep their own ink whatever the band color */
.band[data-band] :is(.tile,.tile-cloud,.plan,.cta-card,.gcard,.sms-form,.sms-success,.qa-col,.order-tile,.ck-media,.err-summary,.zig-list,.gauge,.pf-field,.draw-row,.plan-line-row,.result-tile) .tlink{color:var(--huck);background-image:linear-gradient(var(--huck),var(--huck))}
.band[data-band] :is(.tile,.tile-cloud,.plan,.cta-card,.gcard,.sms-form,.sms-success,.qa-col,.order-tile,.ck-media,.err-summary,.zig-list,.gauge,.pf-field,.draw-row,.plan-line-row,.result-tile) .btn.btn-secondary{--fg:var(--spruce)}
.band[data-band] :is(.tile,.tile-cloud,.plan,.cta-card,.gcard,.sms-form,.sms-success,.qa-col,.order-tile,.ck-media,.err-summary,.zig-list,.gauge,.pf-field,.draw-row,.plan-line-row,.result-tile) .btn.btn-secondary{--bg-h:rgba(31,42,30,.06)}
.band[data-band] :is(.tile,.tile-cloud,.plan,.cta-card,.gcard,.sms-form,.sms-success,.qa-col,.order-tile,.ck-media,.err-summary,.zig-list,.gauge,.pf-field,.draw-row,.plan-line-row,.result-tile) .btn:not(.btn-secondary){--bg:var(--huck);--bg-h:#2A2066;--fg:var(--cloud)}
.band[data-band] :is(.tile,.tile-cloud,.plan,.cta-card,.gcard,.sms-form,.sms-success,.qa-col,.order-tile,.ck-media,.err-summary,.zig-list,.gauge,.pf-field,.draw-row,.plan-line-row,.result-tile) :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline-color:var(--huck)}
.band[data-band] :is(.tile,.tile-cloud,.plan,.cta-card,.gcard,.sms-form,.sms-success,.qa-col,.order-tile,.ck-media,.zig-list,.gauge,.pf-field,.draw-row,.plan-line-row,.result-tile) a{text-decoration-color:var(--huck)}
.band[data-band] :is(.tile,.tile-cloud,.plan,.cta-card,.gcard,.sms-form,.sms-success,.qa-col,.order-tile,.ck-media,.err-summary,.zig-list,.gauge,.pf-field,.draw-row,.plan-line-row,.result-tile) .err{color:#8a1d1d}

/* ---- tiles, phones, photos ---- */
.tile{background:var(--cloud);color:var(--spruce);border-radius:var(--radius);padding:clamp(18px,1.6vw,36px)}
.tile-cloud{background:var(--cloud);color:var(--spruce);border-radius:var(--radius)}
.phone{margin:0;text-align:center}
.phone img{width:100%;height:auto;aspect-ratio:1026/1944;object-fit:contain}
.phone figcaption,.shot figcaption,.pim figcaption{font-size:var(--small);margin-top:.5em;opacity:.9}
.phone-sm img{width:70%;margin:0 auto}
.shot{margin:0}
.shot img{width:100%;aspect-ratio:2026/1306;object-fit:contain}
.pim{margin:0}
.pim video{width:100%;height:auto;border-radius:var(--radius);aspect-ratio:16/9;object-fit:cover}
.photo{margin:0;overflow:hidden;border-radius:var(--radius);aspect-ratio:var(--ar,3/2);position:relative}
.photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:767px){.photo{aspect-ratio:var(--arm,var(--ar,3/2))}}
.graded{position:relative}
.graded img,.graded video{filter:saturate(1.08) contrast(1.05) brightness(1.04)}
.graded::before{content:'';position:absolute;inset:0;background:var(--huck);mix-blend-mode:lighten;opacity:.12;pointer-events:none;z-index:1}
.graded::after{content:'';position:absolute;inset:0;background:var(--sky);mix-blend-mode:multiply;opacity:.10;pointer-events:none;z-index:1}
.loop{position:absolute;inset:0;overflow:hidden;z-index:0}
.loop video,.loop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.loop .loop-poster{display:none}
.rm .loop video{display:none}.rm .loop .loop-poster{display:block}
.numeral{display:inline-block;font-family:'Bricolage Grotesque',sans-serif;font-weight:760;font-variation-settings:'opsz' 96,'wdth' 75,'wght' 760;line-height:1;position:relative;padding-bottom:.12em}
.numeral .num-txt{display:inline-block;font-size:clamp(34px,3.4vw,92px);letter-spacing:-.02em}
.numeral .ledge{position:absolute;left:-.1em;right:-.1em;bottom:0;height:3px;background:currentColor;border-radius:2px;transform-origin:left;transform:scaleX(1)}
.chip{display:inline-block;background:var(--cloud);color:var(--spruce);border-radius:999px 999px 10px 10px;padding:10px 18px;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;box-shadow:0 8px 24px rgba(31,42,30,.15)}
.motif{width:100%;height:auto;overflow:visible}
.rule-switchback{width:100%;height:20px;margin:clamp(20px,2vw,44px) 0;opacity:.8}
.rule-switchback path{stroke-dasharray:1;stroke-dashoffset:0}
.treeline{width:100%;height:clamp(24px,2.4vw,48px)}
.ico{width:24px;height:24px;flex:none;color:currentColor}
.ico .dome{transition:opacity var(--fast)}
a:hover .ico .dome,button:hover .ico .dome,li:hover>.ico .dome{opacity:.9}
.medallion{width:clamp(140px,12vw,260px);height:auto}

/* ---- forms (GOV.UK error standard) ---- */
.field{margin-bottom:clamp(14px,1.2vw,24px)}
.field label,.check label{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;font-variation-settings:'wght' 650;margin-bottom:6px}
.field label .opt,.field label .req{font-family:Rubik,sans-serif;font-weight:420;font-size:var(--small);opacity:.85}
.field input,.field select,.field textarea{font:inherit;width:100%;padding:12px 14px;border:2px solid var(--spruce);border-radius:14px 14px 8px 8px;background:var(--cloud);color:var(--spruce);transition:border-color var(--fast),transform var(--fast) var(--footing),box-shadow var(--fast);font-variant-numeric:tabular-nums}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--huck)}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--huck);outline-offset:2px;transform:translateY(-1px)}
.field .hint{font-size:var(--small);opacity:.85;margin:6px 0 0}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#8a1d1d;border-left-width:6px}
.err{color:#8a1d1d;font-weight:500;font-size:var(--small);margin:6px 0 0;display:flex;gap:6px;align-items:flex-start}
.band[data-band=huck] .err,.band[data-band=spruce] .err{color:#ffd6d6}
.err::before{content:'';flex:none;width:18px;height:18px;border-radius:50%;background:#8a1d1d;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='11' fill='black'/%3E%3Cpath d='M12 6v8M12 17v1.5' stroke='white' stroke-width='2.5' stroke-linecap='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='11' fill='black'/%3E%3Cpath d='M12 6v8M12 17v1.5' stroke='white' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.err-summary{border:3px solid #8a1d1d;border-radius:var(--radius);padding:16px 20px;margin:0 0 20px;background:var(--cloud);color:var(--spruce)}
.err-summary h3{font-size:var(--h3);margin-bottom:8px}
.err-summary ul{margin:0;padding-left:1.2em}
.err-summary a{color:#8a1d1d;font-weight:500}
.check{display:grid;grid-template-columns:28px 1fr;gap:10px 12px;align-items:start;margin-bottom:16px}
.check input{width:28px;height:28px;margin:2px 0 0;accent-color:var(--huck);cursor:pointer}
.check label{font-family:Rubik,sans-serif;font-weight:420;margin:0;cursor:pointer}
.check .err{grid-column:2}
.check.has-error{border-left:6px solid #8a1d1d;padding-left:12px}
.req-hint{font-size:var(--small);opacity:.9;margin-bottom:16px}
.toggle{display:inline-grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;cursor:pointer;font-family:'Bricolage Grotesque',sans-serif;font-weight:650}
.toggle input{appearance:none;width:54px;height:30px;border-radius:15px;background:var(--cloud);border:2px solid var(--spruce);position:relative;cursor:pointer;transition:background var(--fast);margin:0}
.toggle input::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--spruce);transition:transform var(--base) var(--footing)}
.toggle input:checked{background:var(--huck);border-color:var(--huck)}
.toggle input:checked::after{transform:translateX(24px);background:var(--cloud)}
.field input[type=range]{padding:0;border:0;background:transparent;height:34px;accent-color:var(--huck);cursor:pointer}
.field input[type=range]:focus{outline:none;transform:none}
.field input[type=range]:focus-visible{outline:3px solid var(--huck);outline-offset:3px}

/* ---- plan cards (locked system) ---- */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);margin:clamp(24px,2vw,48px) 0}
@media (max-width:899px){.plans{grid-template-columns:1fr}}
.plan{background:var(--cloud);color:var(--spruce);border-radius:var(--radius);padding:clamp(22px,2.2vw,52px);display:flex;flex-direction:column;gap:clamp(10px,.9vw,20px);position:relative;overflow:hidden;transition:transform var(--base) var(--footing)}
.plan::before{content:'';position:absolute;left:-10%;right:-10%;top:0;height:16px;background:var(--meadow);border-radius:0 0 50% 50%}
.plan#plus::before{background:var(--heather)}
.plan-name{font-size:var(--h3);font-weight:700}
.plan-price{margin:0}
.plan-price .num-txt{font-size:clamp(34px,2.8vw,80px)}
.plan-under{font-size:clamp(17px,1.15vw,26px);font-weight:500;line-height:1.35}
.plan-desc{font-size:var(--body)}
.plan-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.plan-list li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;transition:transform var(--fast) var(--footing)}
.plan-list li:hover{transform:translateX(4px)}
.plan-list .ico{color:var(--huck);margin-top:2px}
.plan-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:8px}
.plan-actions .btn{flex:1 1 220px}
.plan-buy{flex:1 1 220px;display:flex;flex-direction:column;gap:8px}
.plan-actions .plan-buy .btn{flex:0 0 auto;width:100%}
.cost-line{font-size:clamp(15px,1vw,22px);font-weight:500;line-height:1.35;margin:0}
.plan-foot{font-size:var(--small);opacity:.9}
.incl{margin-top:clamp(28px,2.6vw,60px)}
.incl-head{font-size:var(--h3);margin-bottom:16px}
.incl-table{width:100%;border-collapse:separate;border-spacing:0 6px;color:var(--spruce)}
.incl-table th,.incl-table td{padding:clamp(10px,.9vw,18px) clamp(12px,1vw,24px);text-align:left;vertical-align:top;font-weight:420}
.incl-table thead th{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;color:inherit;background:transparent;padding-bottom:4px}
.band[data-band=huck] .incl-table thead th{color:var(--cloud)}
.incl-table tbody th{font-family:Rubik,sans-serif;font-weight:500}
.incl-lbl{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:center}
.incl-table tbody tr>*{background:var(--cloud)}
.incl-table tbody tr.tint-meadow>*{background:#dcebc4}.incl-table tbody tr.tint-fern>*{background:#cfe2c0}.incl-table tbody tr.tint-barley>*{background:#f3ebc1}.incl-table tbody tr.tint-heather>*{background:#e2d9f0}.incl-table tbody tr.tint-sky>*{background:#e2eef6}
.incl-table tbody tr>*:first-child{border-radius:14px 0 0 14px}.incl-table tbody tr>*:last-child{border-radius:0 14px 14px 0}
.incl-table td .yn{display:inline-flex;align-items:center;gap:6px;font-weight:500}
.yn.yes .ico{color:var(--huck)}.yn.no{opacity:.8}
.col-third{display:none}
.incl-third-line{margin-top:16px;font-weight:500}
.incl-table .col-third p{margin-bottom:12px}
@media (min-width:1900px){.col-third{display:table-cell;background:var(--cloud)!important;border-radius:14px!important;vertical-align:top;width:22%}.incl-third-line{display:none}}
@media (max-width:767px){.incl-table thead th:first-child{width:46%}.incl-table td .yn{gap:4px}.incl-table th,.incl-table td{padding:10px;font-size:15px}.incl-table thead{position:sticky;top:var(--nav-h);z-index:2}.band[data-band=huck] .incl-table thead th{background:var(--huck)}}

/* ---- SMS band ---- */
.sms-grid{gap:var(--gut)}
.sms-form-col{grid-column:span 4}
.sms-phone-col{grid-column:span 4}
.sms-phone-col .phone{max-width:clamp(240px,17vw,460px);margin:0 auto}
@media (min-width:1024px){.sms-form-col{grid-column:span 6}.sms-phone-col{grid-column:span 6}}
@media (min-width:1900px){.sms-form-col{grid-column:span 7}.sms-phone-col{grid-column:span 9}}
@media (min-width:2500px){.sms-form-col{grid-column:span 8}.sms-phone-col{grid-column:span 12}}
.sms-intro{font-size:clamp(17px,1.2vw,26px);margin-bottom:1.2em}
.sms-form{background:var(--cloud);border-radius:var(--radius);padding:clamp(18px,1.6vw,36px)}
.sms-form .check label{font-size:var(--small);line-height:1.5}
.sms-statement{font-size:var(--small);margin-top:1em;font-weight:500}
.sms-bubble{background:var(--cloud);color:var(--spruce);border-radius:18px 18px 18px 6px;padding:12px 16px;font-size:var(--small);line-height:1.45;box-shadow:0 4px 14px rgba(31,42,30,.08);position:relative;transition:transform var(--fast) var(--footing)}
.sms-bubble:hover{transform:translateY(-2px)}
.sms-bubble.dark{background:rgba(247,249,244,.12);color:var(--cloud);box-shadow:none}
@media (min-width:1900px){.sms-bubble{margin:0;font-size:clamp(15px,.85vw,22px);padding:clamp(12px,.9vw,22px) clamp(16px,1.1vw,28px)}}
.sms-success{background:var(--cloud);border-radius:var(--radius);padding:clamp(18px,1.6vw,36px)}

/* ---- footer ---- */
.band-footer{padding-top:0;padding-bottom:clamp(30px,3vw,60px)}
.foot-trees{margin-top:calc(-1 * clamp(24px,2.4vw,48px));position:relative;z-index:3}
.foot-trees .tree{transform-box:fill-box;transform-origin:50% 100%}
.foot-wordmark{margin:clamp(24px,2vw,40px) 0 8px}
.wordmark-fit{width:100%;height:auto;aspect-ratio:430/90}
.foot-brandline{font-family:'Bricolage Grotesque',sans-serif;font-weight:650;font-size:clamp(18px,1.4vw,32px);margin-bottom:clamp(24px,2.4vw,56px)}
.foot-cols{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gut);margin-bottom:clamp(28px,2.6vw,60px)}
.foot-col{grid-column:span 3;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.foot-col h3{font-size:var(--h3);margin-bottom:6px}
.foot-col a{text-decoration:none;font-weight:500;position:relative;padding-bottom:2px;background:linear-gradient(var(--heather),var(--heather)) no-repeat 0 100%/0 2px;transition:background-size var(--fast) var(--steady),transform var(--fast) var(--footing)}
.foot-col a:hover,.foot-col a:focus-visible{background-size:100% 2px;transform:translateX(3px)}
.foot-col p{margin:0}
.foot-guides,.foot-alerts{display:none}
@media (max-width:1023px){.foot-col{grid-column:span 4}}
@media (max-width:767px){.foot-col{grid-column:span 4}}
@media (min-width:1900px){.foot-col{grid-column:span 2}.foot-guides{display:flex;grid-column:span 4}.foot-alerts{display:flex;grid-column:span 4}}
@media (min-width:2500px){.foot-col{grid-column:span 3}.foot-guides{grid-column:span 4}.foot-alerts{grid-column:span 4}}
.foot-disclaimer{display:grid;grid-template-columns:1fr 2fr;gap:var(--gut);background:rgba(247,249,244,.08);border-radius:var(--radius);padding:clamp(18px,1.8vw,40px)}
.disc-title{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.disc-title .medallion{width:min(100%,220px)}
.foot-disclaimer h3{font-size:var(--h3);margin-bottom:8px}
.foot-disclaimer .disc-body{columns:2;column-gap:var(--gut);font-size:var(--small)}
.foot-disclaimer .disc-body p{break-inside:avoid}
@media (max-width:899px){.foot-disclaimer{grid-template-columns:1fr}.foot-disclaimer .disc-body{columns:1}}
@media (min-width:1900px){.foot-disclaimer .disc-body{columns:3}}
.foot-copy{margin-top:20px;font-size:var(--small);opacity:.85}

/* ---- toast ---- */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,calc(100% + 40px));visibility:hidden;background:var(--spruce);color:var(--cloud);padding:12px 20px;border-radius:999px;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;z-index:250;transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s linear .3s;max-width:calc(100vw - 32px);text-align:center;box-shadow:0 10px 30px rgba(31,42,30,.2)}
.toast.on{transform:translate(-50%,0);visibility:visible;transition-delay:0s}

/* ---- reduced motion ---- */
.rm *,.rm *::before,.rm *::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}}

/* ---- scene hosts ---- */
.scene-host{position:absolute;inset:0;z-index:1}
.scene-host canvas{width:100%;height:100%;display:block}
.scene-poster{position:absolute;inset:0;z-index:0}
.scene-poster svg{width:100%;height:100%}
.rm .scene-host{display:none}

/* =================== HOME =================== */
/* cost band */
.strip{display:flex;width:100%;height:clamp(96px,9vw,200px);border-radius:var(--radius);overflow:hidden;margin-bottom:clamp(20px,2vw,44px);color:var(--cloud)}
.strip-tile{flex:var(--share) 1 0;min-width:clamp(64px,7vw,150px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(8px,1vw,20px);transform-origin:left;position:relative}
.t-down{background:var(--huck)}.t-close{background:var(--fern);color:var(--spruce)}.t-move{background:var(--heather);color:var(--spruce)}
.strip-end{flex:0 0 clamp(110px,12vw,240px);background:var(--cloud);color:var(--spruce);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(8px,1vw,20px);align-items:flex-start}
.strip-end .num-txt{font-size:clamp(20px,2.4vw,60px)}
.st-name{font-size:var(--small);font-weight:500;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-num{font-family:'Bricolage Grotesque',sans-serif;font-weight:760;font-size:clamp(16px,2.2vw,56px);line-height:1;letter-spacing:-.02em}
.t-move .st-name{font-size:var(--small)}.t-move .st-num{font-size:clamp(16px,1.6vw,36px)}
.cost-row{align-items:start}
.cost-copy{grid-column:span 4;display:flex;flex-direction:column}.cost-copy .cols2{flex:none}.cost-motif{flex:1;display:flex;align-items:flex-end;margin-top:clamp(16px,1.5vw,32px)}.cost-motif .motif{width:100%;max-height:clamp(180px,16vw,360px)}
.cost-photo{grid-column:span 4}
.cost-phone{grid-column:span 4}
@media (min-width:1024px){.cost-copy{grid-column:span 6}.cost-photo{grid-column:span 3;align-self:stretch}.cost-photo .photo{height:100%;aspect-ratio:auto;min-height:100%}.cost-phone{grid-column:span 3}}
@media (min-width:1900px){.cost-copy{grid-column:span 6}.cost-photo{grid-column:span 3}.cost-phone{grid-column:span 3}.cost-tile{grid-column:span 4;display:flex!important;flex-direction:column;gap:16px;justify-content:space-between}.cost-tile p{display:flex;gap:10px;align-items:flex-start;font-weight:500}}
@media (min-width:2500px){.cost-copy{grid-column:span 7}.cost-photo{grid-column:span 3}.cost-phone{grid-column:span 3}.cost-tile{grid-column:span 4}.cost-phone2{grid-column:span 3}}
@media (max-width:767px){.strip{height:auto;flex-direction:column}.strip-tile{flex:0 0 auto;height:clamp(56px,var(--share) * .8vw,120px);min-height:52px}.strip-end{flex:0 0 auto}.st-name,.t-move .st-name{white-space:normal;font-size:var(--small)}}
/* car band */
.car-row{align-items:stretch}
.car-copy{grid-column:span 4;display:flex;flex-direction:column;gap:12px}
.car-copy .btn{align-self:flex-start;margin-top:auto}
.compare{grid-column:span 4;position:relative;min-height:clamp(300px,34vw,640px);border-radius:var(--radius);overflow:hidden;background:var(--cloud);color:var(--spruce);touch-action:none}
@media (min-width:1024px){.car-copy{grid-column:span 4}.compare{grid-column:span 8}}
@media (min-width:1900px){.car-copy{grid-column:span 4}.compare{grid-column:span 9}.tile-refill.at1920{grid-column:span 3;display:flex!important;align-items:center}}
@media (min-width:2500px){.car-copy{grid-column:span 4}.compare{grid-column:span 10}.tile-refill.at1920{grid-column:span 3}.tile-refill.at2560{grid-column:span 3;display:flex!important;align-items:center}}
.tile-refill p{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin:0}
.cmp-side{position:absolute;inset:0;padding:clamp(14px,1.4vw,28px);display:flex;flex-direction:column}
.cmp-left{background:var(--barley)}
.cmp-right{background:var(--meadow);clip-path:inset(0 0 0 calc(var(--seam) * 1%))}
.cmp-right .cmp-label,.cmp-right .cmp-cap{margin-left:auto;text-align:right}
.cmp-label{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:var(--h3);margin:0}
.cmp-cap{margin:auto 0 0;font-weight:500;max-width:46%;position:relative;z-index:2;background:rgba(247,249,244,.75);padding:8px 12px;border-radius:12px}
.cmp-hill{position:absolute;left:0;right:0;bottom:0;height:72%;width:100%}
.cmp-hill .m-fill{fill:rgba(247,249,244,.35)}
.cmp-seam{position:absolute;top:0;bottom:0;left:calc(var(--seam) * 1%);width:0;z-index:3}
.cmp-handle{position:absolute;top:0;bottom:0;left:-2px;width:4px;background:var(--huck)}
.cmp-handle::after{content:'';position:absolute;top:50%;left:50%;width:40px;height:40px;border-radius:50%;background:var(--huck);transform:translate(-50%,-50%);box-shadow:0 0 0 4px var(--cloud);-webkit-mask:none}
.cmp-phone{position:absolute;left:0;bottom:4%;width:clamp(100px,9vw,180px);transform:translateX(-50%)}
.cmp-phone figcaption{display:none}
.cmp-range-label{position:absolute;left:50%;transform:translateX(-50%);top:12px;font-size:var(--small);font-weight:500;z-index:4;background:rgba(247,249,244,.85);padding:4px 10px;border-radius:999px}
.cmp-range{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;z-index:4;appearance:none}
.cmp-range:focus-visible + .cmp-seam .cmp-handle::after,.compare:focus-within .cmp-handle::after{box-shadow:0 0 0 4px var(--cloud),0 0 0 8px var(--huck)}
/* stairs band */
.stairs-copy{margin-bottom:clamp(20px,2vw,44px)}
.stairs-row{display:grid;grid-template-columns:1fr;gap:var(--gut);align-items:end}
@media (min-width:1024px){.stairs-row{grid-template-columns:1fr clamp(150px,12vw,240px) clamp(180px,16vw,320px)}}
@media (min-width:1900px){.stairs-row{grid-template-columns:1fr clamp(170px,11vw,260px) clamp(220px,18vw,420px)}}
.stairs-head{display:flex;justify-content:space-between;gap:12px;font-family:'Bricolage Grotesque',sans-serif;font-size:var(--h3);margin-bottom:12px}
.stairs-live{font-family:Rubik,sans-serif;font-size:var(--small);font-weight:500}
.stairs{display:grid;grid-template-columns:repeat(40,minmax(0,1fr));gap:2px;align-items:end;height:clamp(220px,22vw,460px);position:relative}
@media (min-width:1900px){.stairs{height:clamp(260px,24vw,560px)}}
.stair{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;border:0;padding:6px 0 0;background:var(--cloud);color:var(--spruce);height:calc(28% + var(--i) * 1.8%);border-radius:6px 6px 0 0;cursor:default;font:inherit;transform-origin:50% 100%;transition:transform var(--fast) var(--footing),background var(--fast)}
.stair.done{background:var(--huck);color:var(--cloud)}
.stair.here{background:var(--barley);color:var(--spruce);box-shadow:0 0 0 3px var(--huck)}
.stair:hover,.stair:focus-visible{transform:translateY(-6px);background:var(--heather);z-index:2}
.stair.done:hover,.stair.done:focus-visible{background:var(--huck)}
.stair-n{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(9px,.8vw,16px);line-height:1}
.stair .tick{margin-top:4px}.stair .tick .ico{width:14px;height:14px}
.stair .st-lbl{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(6px);background:var(--spruce);color:var(--cloud);font-size:12px;padding:4px 8px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--fast),transform var(--fast) var(--footing)}
.stair.here .st-lbl{opacity:1;transform:translateX(-50%);background:var(--huck)}
.stair:hover .st-lbl,.stair:focus-visible .st-lbl{opacity:1;transform:translateX(-50%)}
.stair-month{display:none;position:absolute;top:calc(100% + 6px);left:0;font-size:11px;white-space:nowrap;font-weight:500}
@media (min-width:1900px){.stair-month{display:block}.stair:last-child .stair-month{left:auto;right:0}.stairs{margin-bottom:28px}}
.stairs-walker{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--cloud);box-shadow:0 0 0 3px var(--huck);left:0;bottom:0;transform:translate(-50%,-6px);z-index:3;pointer-events:none}
.stairs-phone{align-self:end}
.stairs-photo .photo{height:100%;aspect-ratio:auto;min-height:280px}
@media (max-width:1023px){.stairs{grid-template-columns:repeat(5,1fr);grid-auto-rows:60px;height:auto;gap:6px}.stair{height:100%}.stairs-walker{display:none}.stairs-photo .photo{aspect-ratio:3/2;min-height:0}}
/* date band */
.date-row{align-items:stretch}
.date-copy{grid-column:span 4;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.date-copy p{align-self:stretch}
.pano{grid-column:span 4;position:relative;min-height:clamp(300px,30vw,640px);border-radius:var(--radius);overflow:hidden;background:var(--sky)}
@media (min-width:1024px){.date-copy{grid-column:span 5}.pano{grid-column:span 7}}
@media (min-width:1900px){.date-copy{grid-column:span 5}.pano{grid-column:span 11}}
@media (min-width:2500px){.date-copy{grid-column:span 6}.pano{grid-column:span 14}}
.pano-svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%}.pano-text{text-anchor:middle}
.pano-line{stroke-dasharray:1;stroke-dashoffset:0}
.pano-fg{position:absolute;left:0;right:45%;bottom:0;display:flex;justify-content:space-evenly;align-items:flex-end;gap:var(--gut);padding:0 clamp(10px,2vw,60px);z-index:2}
.pano-phone{width:clamp(120px,12vw,260px)}
.pano-phone img{filter:drop-shadow(0 20px 30px rgba(31,42,30,.25))}
.pano-phone figcaption{background:rgba(247,249,244,.85);border-radius:10px;padding:4px 8px;font-size:12px}
.pano-clip{width:clamp(220px,20vw,420px)}
.pano-clip figcaption{background:rgba(247,249,244,.85);border-radius:10px;padding:4px 8px;font-size:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0}
.chip-btn{font:inherit;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;background:var(--cloud);color:var(--spruce);border:2px solid transparent;border-radius:999px 999px 10px 10px;padding:10px 18px;cursor:pointer;transition:transform var(--fast) var(--footing),background var(--fast),border-color var(--fast)}
.chip-btn:hover,.chip-btn:focus-visible{transform:translateY(-3px);border-color:var(--huck)}
.chip-btn[aria-pressed=true]{background:var(--huck);color:var(--cloud)}
.chip-btn:active{transform:translateY(1px)}
.proj-label{font-weight:500}
.proj-label span{font-family:'Bricolage Grotesque',sans-serif;font-weight:700}
/* checkerboard */
.checker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gut)}
@media (min-width:1900px){.checker{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:2500px){.checker{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:767px){.checker{grid-template-columns:1fr}}
.ck{border-radius:var(--radius);padding:clamp(18px,1.8vw,40px);min-height:clamp(300px,30vw,620px);display:flex;flex-direction:column;justify-content:center;transform-origin:50% 100%}
.ck-media{background:var(--cloud);align-items:center}
.ck-media .phone{width:min(100%,clamp(180px,16vw,320px))}
.ck-color{background:var(--heather);color:var(--spruce)}
.ck-split{background:var(--meadow)}
.ck-copy{background:var(--barley)}
.ck.at2560{background:var(--fern)}@media (min-width:2500px){.ck.at1920,.ck.at2560{grid-column:span 2}}
.ck-split .split-nums{display:flex;gap:clamp(20px,3vw,60px);margin:12px 0}
.ck-split .split-nums div{display:flex;flex-direction:column;gap:6px;font-family:'Bricolage Grotesque',sans-serif;font-weight:650}
.ck-split .num-txt{font-size:clamp(34px,3.2vw,88px)}
.ck-copy .cta-actions .btn{flex:1 1 200px}
/* pricing band */
.lead-cloud{max-width:none;margin-bottom:8px}
/* type wall */
.type-wall{display:grid;gap:clamp(6px,.8vw,18px);margin:clamp(20px,2vw,40px) 0}
.wall-line{width:100%;height:auto;aspect-ratio:1000/110;display:block}
.wall-small{font-size:clamp(17px,1.2vw,26px);font-weight:500}
/* shelf */
.shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gut);margin-top:clamp(20px,2vw,44px)}
@media (min-width:1900px){.shelf{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:2500px){.shelf{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:1023px){.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.shelf{grid-template-columns:1fr}}
.gcard{display:flex;flex-direction:column;gap:12px;background:var(--cloud);color:var(--spruce);border-radius:var(--radius);padding:clamp(18px,1.8vw,40px);text-decoration:none;min-height:clamp(260px,22vw,460px);transition:transform var(--base) var(--footing),box-shadow var(--base)}
.gcard:hover,.gcard:focus-visible{transform:translateY(-8px);box-shadow:0 24px 40px rgba(31,42,30,.16)}
.gcard .num-txt{font-size:clamp(34px,3vw,80px);color:var(--huck)}
.gcard .h3{flex:none}
.gcard p{flex:1}
.gcard-alt{background:var(--heather)}
.gcard-ico{width:40px;height:40px;color:var(--huck)}
.shelf-all{margin-top:20px}
/* ready band */
.band-ready{min-height:clamp(560px,70vh,1000px);display:flex;align-items:center;padding:clamp(60px,7vw,160px) 0}
.ready-wrap{position:relative;z-index:3}
.ready-card{margin:0 16.6%;padding:clamp(22px,2.4vw,56px);display:flex;flex-direction:column;gap:14px}
@media (min-width:1900px){.ready-card{margin:0 12.5% 0 12.5%}}
@media (min-width:2500px){.ready-card{margin:0 10%}}
@media (max-width:899px){.ready-card{margin:0}.ready-card .btn{width:100%}}
.mini-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gut)}
@media (min-width:1900px){.mini-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:599px){.mini-form{grid-template-columns:1fr}}
.mini-out{display:grid;grid-template-columns:clamp(120px,14vw,260px) 1fr;gap:var(--gut);align-items:center}
.mini-result{font-family:'Bricolage Grotesque',sans-serif;font-weight:650;font-size:clamp(18px,1.4vw,30px);margin:0}
.band[data-band=video] .crest path{fill:var(--fern)}

/* =================== SHARED PAGE PIECES =================== */
.hero-scene-band{padding-top:var(--nav-h);padding-bottom:0;display:flex;flex-direction:column;min-height:88svh}
.hero-scene{position:relative;order:2;flex:1 1 auto;min-height:clamp(260px,42svh,640px);overflow:hidden}
.hero-scene-tall{min-height:clamp(300px,50svh,760px)}
.hero-short .hero-scene{min-height:clamp(200px,30svh,420px)}
.hero-copy{position:relative;z-index:25;order:1;padding-top:clamp(20px,2.4vw,56px);padding-bottom:clamp(20px,2.4vw,56px);display:flex;flex-direction:column;gap:clamp(10px,1vw,20px);align-items:flex-start}
.hero-copy .lead{columns:2;column-gap:var(--gut);width:100%}
@media (max-width:899px){.hero-copy .lead{columns:1}}
@media (min-width:1900px){.hero-copy .lead{columns:3}}
.hero-copy .h1{width:100%}@media (min-width:1440px){.hero-copy .h1,.band-first .h1{text-wrap:pretty}}
.scene-poster{position:absolute;inset:0;z-index:0}
.scene-poster svg{width:100%;height:100%;display:block}
.hero-scene .scene-host{z-index:1}
.hero-scene .scene-host:empty{display:none}
.band-tight{padding-top:clamp(20px,2vw,48px)}
.tile-row{display:grid;gap:var(--gut);grid-template-columns:repeat(2,minmax(0,1fr))}
.tile-row .tile{display:flex;flex-direction:column;gap:12px}
.tile-row .tile .ico{width:36px;height:36px;color:var(--huck)}
.tile-row .tile .h3{margin-top:4px}
.tile-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tile-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:1900px){.tile-row-4{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:899px){.tile-row,.tile-row-4,.tile-row-3,.tile-row-2{grid-template-columns:1fr}}
.cta-band{position:relative;min-height:clamp(420px,52vw,900px);border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:clamp(20px,3vw,80px)}
.cta-band .photo{position:absolute;inset:0;border-radius:0;aspect-ratio:auto}
.cta-band .photo img{height:100%}
.cta-card{position:relative;z-index:2;background:var(--cloud);color:var(--spruce);border-radius:var(--radius);padding:clamp(22px,2.4vw,56px);width:min(100%,66%);display:flex;flex-direction:column;gap:12px}
@media (min-width:1900px){.cta-card{width:75%}}
@media (max-width:899px){.cta-card{width:100%}}
.h1-sm{font-size:clamp(34px,4.6vw,120px)}
.big-ico{width:56px;height:56px;color:var(--huck)}
.answer{margin-bottom:clamp(20px,2vw,44px)}
.seg{display:inline-flex;gap:4px;background:rgba(31,42,30,.08);border-radius:999px;padding:4px;margin-bottom:8px}
.seg-btn{font:inherit;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;font-size:var(--small);border:0;background:transparent;color:var(--spruce);padding:6px 14px;border-radius:999px;cursor:pointer;transition:background var(--fast),transform var(--fast) var(--footing)}
.seg-btn[aria-pressed=true]{background:var(--huck);color:var(--cloud)}
.seg-btn:hover{transform:translateY(-2px)}

/* =================== HOW IT WORKS =================== */
.cutaway-svg{width:100%;height:100%}
.cut-labels{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px;font-family:'Bricolage Grotesque',sans-serif;font-weight:650}
.cut-labels li{display:flex;align-items:center;gap:8px}
.swatch{width:18px;height:18px;border-radius:6px 6px 3px 3px;border:2px solid var(--spruce);display:inline-block}
.field-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gut);align-items:stretch}
.ftile{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:clamp(140px,12vw,240px)}
.ft-label{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:var(--small)}
.ft-num{font-family:'Bricolage Grotesque',sans-serif;font-weight:760;font-size:clamp(20px,1.6vw,40px);line-height:1.05;letter-spacing:-.01em}
.ftile-result{grid-column:span 2}
.ft-phone{grid-column:6;grid-row:1}
@media (min-width:1900px){.field-row{grid-template-columns:repeat(8,minmax(0,1fr))}.ft-phone{grid-column:8}}
@media (min-width:2500px){.field-row{grid-template-columns:repeat(10,minmax(0,1fr))}.ftile-result{grid-column:span 2}.ft-phone{grid-column:10}}
@media (max-width:1023px){.field-row{grid-template-columns:repeat(3,minmax(0,1fr))}.ft-phone{grid-column:span 3;grid-row:auto}}
@media (max-width:599px){.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-phone{grid-column:span 2}}
.gauge-row{display:grid;grid-template-columns:clamp(160px,16vw,300px) 1fr clamp(160px,16vw,300px);gap:var(--gut);align-items:end}
@media (max-width:899px){.gauge-row{grid-template-columns:1fr 1fr}.gauge-mid{grid-column:span 2;order:-1}}
.gauge-mid{display:flex;flex-direction:column;gap:var(--gut)}
.gauge{background:var(--cloud);border-radius:var(--radius);padding:clamp(18px,1.6vw,36px)}
.gauge-track{position:relative;height:clamp(36px,3vw,64px);border-radius:999px;background:#dcebc4;overflow:hidden;margin-bottom:14px}
.gauge-fill{position:absolute;inset:0;width:calc(var(--fill) * 1%);background:var(--huck);border-radius:999px;transform-origin:left}
.gauge-draw{position:absolute;inset:0;width:calc(var(--fill) * 1%);background:var(--heather);border-radius:999px;mix-blend-mode:multiply;opacity:.9}
.gauge-labels{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);font-weight:500;font-size:var(--small)}
.tile-photo{padding:0;overflow:hidden}
.tile-photo .photo{border-radius:0;height:100%}
.refill-tile p{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin:0}
.step-row{display:grid;grid-template-columns:1fr clamp(180px,18vw,340px);gap:var(--gut);align-items:end}
@media (max-width:899px){.step-row{grid-template-columns:1fr}}
.zig-list{background:var(--cloud);border-radius:var(--radius);padding:clamp(16px,1.4vw,32px);margin-bottom:var(--gut)}
.zig-head{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:var(--h3);margin-bottom:10px}
.zig-rows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
@media (min-width:1900px){.zig-rows{grid-template-columns:repeat(3,minmax(0,1fr))}}
.zig-rows li{display:flex;gap:10px;align-items:center;font-weight:500;padding:6px 0}
.zig-rows li.done .ico{color:var(--huck)}.zig-rows li.here{font-family:'Bricolage Grotesque',sans-serif;font-weight:700}
.zig-rule{position:relative}
.zig-big{height:clamp(30px,3vw,60px);margin:0;opacity:1}
.zig-ticks{display:grid;grid-template-columns:repeat(40,1fr);gap:2px;margin-top:8px}
.zig-ticks span{height:8px;border-radius:2px;background:rgba(31,42,30,.18)}
.zig-ticks span.on{background:var(--huck)}.zig-ticks span[data-here]{background:var(--cloud);box-shadow:0 0 0 2px var(--huck)}
.zig-cum{margin-top:10px}
.log-row{display:grid;grid-template-columns:clamp(180px,18vw,340px) 1fr 1fr;gap:var(--gut);align-items:stretch}
@media (min-width:1900px){.log-row{grid-template-columns:clamp(180px,16vw,340px) 1.4fr 1fr clamp(180px,16vw,340px)}}
@media (max-width:899px){.log-row{grid-template-columns:1fr}}
.log-tile{display:flex;flex-direction:column;gap:12px}
.log-tile .typed{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:var(--h3);min-height:2.2em}
.log-tile .photo{flex:1;aspect-ratio:auto;min-height:180px}
.pano-fg-right{left:auto;right:0;width:40%;justify-content:flex-end}
.tile-row .tile .ico{flex:none}

/* =================== PLAN =================== */
.planner-form{display:flex;flex-direction:column;gap:var(--gut)}
.pf-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gut)}
@media (min-width:1900px){.pf-grid{grid-template-columns:repeat(9,minmax(0,1fr))}}
@media (max-width:1023px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.pf-grid{grid-template-columns:1fr}}
.pf-field{background:var(--cloud);border-radius:var(--radius);padding:clamp(14px,1.2vw,26px);margin:0;display:flex;flex-direction:column;gap:6px}
.pf-input{position:relative;display:flex;align-items:center}
.pf-prefix,.pf-suffix{position:absolute;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;opacity:.7;pointer-events:none}
.pf-prefix{left:14px}.pf-suffix{right:14px}
.pf-field input[type=text]{padding-left:30px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(18px,1.3vw,28px)}
.pf-field .pf-input:has(.pf-prefix[hidden]) input{padding-left:14px}
.example-note{font-size:var(--small);color:var(--huck);font-weight:500;margin:0}
.pf-toggles{justify-content:center;gap:16px;grid-column:span 2}
@media (min-width:1900px){.pf-toggles{grid-column:span 1;flex-direction:column}}
@media (max-width:599px){.pf-toggles{grid-column:span 1}}
.route-b{background:rgba(247,249,244,.35);border-radius:var(--radius);padding:clamp(14px,1.4vw,32px)}
.pf-grid-b{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:899px){.pf-grid-b{grid-template-columns:1fr}}
.relief{position:relative;height:clamp(320px,36vw,720px);border-radius:var(--radius);overflow:visible;background:var(--sky)}
.relief-host{border-radius:var(--radius);overflow:hidden}
.relief-svg{position:absolute;inset:0;width:100%;height:100%;border-radius:var(--radius);z-index:2}
.relief:has(.relief-host canvas) .relief-svg{opacity:.001;pointer-events:none}
.relief-live{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.handle{position:absolute;z-index:5;transform:translate(-50%,-50%);cursor:grab;touch-action:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.handle:focus-visible{outline:3px solid var(--huck);outline-offset:4px;border-radius:50%}
.handle.dragging{cursor:grabbing}
.hf-pole{position:absolute;left:50%;bottom:50%;width:4px;height:60px;background:var(--huck);transform:translateX(-50%)}
.hf-flag{position:absolute;left:50%;bottom:calc(50% + 34px);width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:34px solid var(--huck)}
.hf-label,.hp-label{position:absolute;top:calc(50% + 10px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--cloud);border-radius:999px;padding:4px 10px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:var(--small);box-shadow:0 4px 12px rgba(31,42,30,.15)}
.hp-knob{width:28px;height:28px;border-radius:50%;background:var(--cloud);box-shadow:0 0 0 4px var(--huck)}
.relief-hint{position:absolute;left:var(--pad);top:12px;z-index:4;margin:0;font-size:var(--small);font-weight:500;background:rgba(247,249,244,.8);padding:6px 12px;border-radius:999px}
.relief-proj{position:absolute;right:var(--pad);top:12px;z-index:4;margin:0;background:rgba(247,249,244,.8);padding:6px 12px;border-radius:999px}
.draw-row{display:flex;flex-wrap:wrap;gap:var(--gut);align-items:center;margin-top:var(--gut);background:var(--cloud);border-radius:var(--radius);padding:clamp(14px,1.2vw,26px)}
.draw-line{margin:0;font-weight:500;flex:1 1 300px}
.result-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gut)}
@media (min-width:1900px){.result-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:899px){.result-row{grid-template-columns:1fr}}
.result-tile{display:flex;flex-direction:column;gap:10px;transform-origin:50% 100%}
.result-tile p:first-of-type{font-family:'Bricolage Grotesque',sans-serif;font-weight:650;font-size:clamp(18px,1.3vw,30px);line-height:1.25}
.summit-svg{width:100%;height:auto}
.plan-line-row{margin-top:var(--gut);background:var(--cloud);border-radius:var(--radius);padding:clamp(18px,1.6vw,36px);display:flex;flex-wrap:wrap;gap:var(--gut);align-items:center;justify-content:space-between}
.plan-line{font-family:'Bricolage Grotesque',sans-serif;font-weight:650;font-size:clamp(18px,1.4vw,32px);margin:0;flex:1 1 380px}
.math-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);align-items:start}
.math-row .rule-switchback{grid-column:1/-1;margin:0}
@media (min-width:1900px){.math-row{grid-template-columns:1.2fr 1fr clamp(180px,14vw,300px)}}
@media (min-width:2500px){.math-row{grid-template-columns:1.2fr 1fr clamp(180px,14vw,300px) 1fr}}
@media (max-width:899px){.math-row{grid-template-columns:1fr}}

/* =================== PRICING =================== */
.fan-note{opacity:.9}
.band[data-band=huck] .fan-note{color:var(--cloud)}
.clauses{display:flex;flex-wrap:wrap;gap:clamp(10px,1.2vw,28px);margin-top:clamp(16px,1.6vw,36px)}
.clause{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,90px);line-height:1;margin:0;flex:1 1 auto;padding:clamp(10px,1vw,20px) clamp(14px,1.4vw,30px);border-radius:999px 999px 12px 12px;background:rgba(247,249,244,.08)}
.clause:nth-child(odd){background:rgba(185,166,217,.22)}
.qa-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) clamp(160px,15vw,300px);gap:var(--gut);align-items:start}
@media (min-width:1900px){.qa-row{grid-template-columns:repeat(4,minmax(0,1fr)) clamp(160px,13vw,300px)}}
@media (max-width:1023px){.qa-row{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.qa-row{grid-template-columns:1fr}}
.qa-col{background:var(--cloud);border-radius:var(--radius);padding:clamp(18px,1.6vw,36px);height:100%}
.qa-col .h3{margin-bottom:10px}
.band[data-band=huck] .h1,.band[data-band=huck] .kicker,.band[data-band=huck] .lead{color:var(--cloud)}
.band[data-band=spruce] .clause{color:var(--cloud)}

/* =================== ABOUT =================== */
.about-hero-band{min-height:78svh;justify-content:flex-end}
.about-hero-band .loop{z-index:0}
.about-hero-band::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,42,30,0) 25%,rgba(31,42,30,.66) 100%);z-index:1;pointer-events:none}
.about-hero-band .tent{z-index:20}
.about-hero-band .hero-copy{order:1;padding-top:clamp(40px,8vw,140px);text-shadow:0 2px 20px rgba(31,42,30,.35)}
.about-hero-band .hero-copy .lead{columns:1;width:min(100%,60ch);font-weight:500}
@media (min-width:1900px){.about-hero-band .hero-copy .lead{width:min(100%,80ch)}}
.about-row{display:grid;grid-template-columns:3fr 2fr;gap:var(--gut);align-items:stretch}
@media (max-width:899px){.about-row{grid-template-columns:1fr}}
.about-cols{columns:3;column-gap:var(--gut)}
.about-cols p{break-inside:avoid}
@media (min-width:1900px){.about-cols{columns:4}.about-row{grid-template-columns:3fr 2fr}}
@media (max-width:899px){.about-cols{columns:1}}
.about-motif{column-span:all;margin-top:var(--gut)}
.about-photo{height:100%;aspect-ratio:auto;min-height:320px}
@media (max-width:899px){.about-photo{aspect-ratio:1/1;min-height:0}}
.band-scene{min-height:80svh;padding:0;display:flex;align-items:stretch}
.band-scene .hero-scene{position:absolute;inset:0;min-height:0;order:0}
.tiles-wrap{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:var(--gut);padding-top:clamp(60px,8vw,180px);padding-bottom:clamp(40px,4vw,100px);width:100%}
.tiles-copy{width:min(100%,34%)}
@media (max-width:899px){.tiles-wrap{flex-direction:column;align-items:stretch}.tiles-copy{width:100%}}
.who-cols{column-gap:calc(var(--gut) * 2)}
@media (min-width:1900px){.who-cols{columns:3}}
.about-close{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);align-items:stretch}
@media (max-width:899px){.about-close{grid-template-columns:1fr}}
.about-close-copy{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.about-close-photo{height:100%;aspect-ratio:auto;min-height:360px}
@media (max-width:899px){.about-close-photo{aspect-ratio:4/5;min-height:0}}

/* =================== GUIDES =================== */
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);align-items:stretch}
@media (min-width:1900px){.feat-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:899px){.feat-row{grid-template-columns:1fr}}
.feat{background:var(--cloud);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;gap:12px;align-items:flex-start;justify-content:center}
.feat img{width:100%;height:100%;object-fit:cover}
.feat-copy{padding:clamp(22px,2.4vw,56px)}
.shelf-6{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:1900px){.shelf-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:899px){.shelf-6{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.shelf-6{grid-template-columns:1fr}}
.shelf-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.teaser-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);align-items:stretch}
@media (max-width:899px){.teaser-row{grid-template-columns:1fr}}
.teaser-copy{display:flex;flex-direction:column;gap:12px;align-items:flex-start;background:var(--cloud);border-radius:var(--radius);padding:clamp(22px,2.4vw,56px)}
.teaser-photo{height:100%;aspect-ratio:auto;min-height:320px}
/* guide article */
.guide-n .num-txt{font-size:clamp(22px,1.6vw,40px);color:var(--huck)}
.band-article{padding-top:clamp(40px,4vw,90px)}
.article-body{columns:2;column-gap:calc(var(--gut) * 2);font-size:clamp(17px,1.15vw,25px);line-height:1.6}
@media (min-width:1900px){.article-body{columns:3}}
@media (min-width:2500px){.article-body{columns:4}}
@media (max-width:899px){.article-body{columns:1}}
.article-body p{break-inside:avoid;margin-bottom:1.1em}
.article-body .art-h{margin:1.2em 0 .5em;break-after:avoid;font-size:clamp(22px,1.7vw,40px)}
.article-body .art-h:first-child{margin-top:0}
.pull{margin:0;padding:0}
.pull p{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(28px,3.6vw,96px);line-height:1.05;letter-spacing:-.01em;margin:0}
.fig{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);align-items:stretch}
@media (max-width:899px){.fig{grid-template-columns:1fr}}
.diagram{margin:0;background:var(--cloud);border-radius:var(--radius);overflow:hidden}
.diagram img{width:100%;height:auto}
.diagram figcaption{padding:10px 16px;font-size:var(--small)}
.fig .photo{height:100%;aspect-ratio:auto;min-height:300px}
@media (max-width:899px){.fig .photo{aspect-ratio:4/5;min-height:0}}
.band-int{padding-top:clamp(30px,3vw,70px);padding-bottom:clamp(30px,3vw,70px)}
.g-int{background:var(--sky);display:flex;flex-direction:column;gap:var(--gut)}
.g-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gut)}
.g-form .field{margin:0}
@media (max-width:899px){.g-form{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.g-form{grid-template-columns:1fr}}
.g-strip{margin:0}
.g2-out{display:grid;grid-template-columns:120px 1fr;gap:var(--gut);align-items:end}
.g2-block{height:clamp(140px,14vw,260px);background:var(--cloud);border-radius:12px 12px 4px 4px;position:relative;overflow:hidden}
.g2-block span{position:absolute;left:0;right:0;bottom:0;height:0;background:var(--huck)}
.g2-total{font-size:clamp(18px,1.4vw,30px);font-family:'Bricolage Grotesque',sans-serif;font-weight:650}
.g3-out{display:grid;grid-template-columns:clamp(200px,24vw,400px) 1fr;gap:var(--gut);align-items:center}
@media (max-width:599px){.g3-out{grid-template-columns:1fr}}
.g3-tent{width:100%;height:auto}
.g3-fig{font-family:'Bricolage Grotesque',sans-serif;font-weight:650;font-size:clamp(18px,1.4vw,30px)}
.g4-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gut)}
@media (max-width:899px){.g4-row{grid-template-columns:1fr}}
.g4-stat{display:flex;flex-direction:column;gap:6px;background:var(--cloud);border-radius:var(--radius);padding:clamp(14px,1.2vw,26px)}
.g4-stat .num-txt{font-size:clamp(26px,2.6vw,64px)}
.g4-trail{height:24px;background:var(--cloud);border-radius:999px;overflow:hidden}
.g4-trail span{display:block;height:100%;width:33%;background:var(--huck);border-radius:999px}
.g5-bar{display:flex;height:48px;border-radius:999px;overflow:hidden;margin-bottom:12px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;color:var(--cloud)}
.g5-bar span{display:flex;align-items:center;justify-content:center;transition:width var(--base) var(--steady)}
#g5-bar-a{background:var(--huck)}#g5-bar-b{background:var(--fern)}
.g6-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gut)}
@media (max-width:899px){.g6-strip{grid-template-columns:1fr 1fr}}
.g6-step{font:inherit;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;background:var(--cloud);border:2px solid transparent;border-radius:var(--radius);padding:clamp(12px,1.2vw,24px);display:flex;gap:10px;align-items:center;cursor:pointer;color:var(--spruce);text-align:left;transition:transform var(--fast) var(--footing),border-color var(--fast)}
.g6-step:hover,.g6-step:focus-visible{transform:translateY(-3px);border-color:var(--huck)}
.g6-step[aria-pressed=true]{background:var(--huck);color:var(--cloud)}
.g6-out{display:grid;grid-template-columns:clamp(200px,26vw,440px) 1fr;gap:var(--gut);align-items:center}
@media (max-width:599px){.g6-out{grid-template-columns:1fr}}
.take-row{display:grid;grid-template-columns:3fr 2fr;gap:var(--gut);align-items:center}
@media (max-width:899px){.take-row{grid-template-columns:1fr}}
.take-copy{font-size:clamp(18px,1.3vw,28px)}
.take-motif .motif{width:100%}
.take-motif .m-fill{fill:rgba(247,249,244,.25)}
.take-motif path[stroke]{stroke:var(--cloud)}.take-motif .m-flag{fill:var(--cloud)}.take-motif .m-mark{stroke:var(--cloud)}.take-motif .m-done{fill:var(--cloud)}
.guide-cta{width:100%;margin-bottom:var(--gut)}
.next-h{margin:var(--gut) 0 12px}

/* =================== CONTACT =================== */
.tile-row-contact{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:1900px){.tile-row-contact{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:2500px){.tile-row-contact{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:899px){.tile-row-contact{grid-template-columns:1fr}}
.contact-big{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(19px,1.5vw,34px);line-height:1.2;word-break:break-word}
.contact-tile .medallion{width:120px}
.contact-row{display:grid;grid-template-columns:7fr 5fr;gap:var(--gut);align-items:stretch}
@media (max-width:899px){.contact-row{grid-template-columns:1fr}}
.contact-form{display:flex;flex-direction:column}
.contact-form .btn{align-self:flex-start}
.hours-tile{display:flex;flex-direction:column;gap:14px}
.hours-tile .photo{flex:1;aspect-ratio:auto;min-height:240px}
.grass-css{position:absolute;inset:0}

/* =================== HELP =================== */
.faq-wrap{display:grid;grid-template-columns:1fr;gap:var(--gut)}
@media (min-width:2500px){.faq-wrap{grid-template-columns:1fr clamp(240px,14vw,360px)}.stuck-tile{position:sticky;top:calc(var(--nav-h) + 16px);align-self:start}}
.faq-cols{columns:2;column-gap:var(--gut)}
@media (min-width:1900px){.faq-cols{columns:3}}
@media (max-width:899px){.faq-cols{columns:1}}
.faq-group{break-inside:avoid;margin-bottom:var(--gut)}
.faq-group>.h3{margin-bottom:10px}
.faq-item{background:var(--cloud);border-radius:16px;margin-bottom:8px;overflow:hidden;transition:transform var(--fast) var(--footing)}
.faq-item:hover{transform:translateX(4px)}
.faq-item h4{margin:0}
.faq-item button{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;font:inherit;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;font-size:clamp(16px,1.1vw,24px);background:transparent;border:0;color:var(--spruce);padding:14px 18px;cursor:pointer}
.faq-item button:focus-visible{outline-offset:-4px}
.faq-ico{transition:transform var(--base) var(--footing);color:var(--huck)}
.faq-item button[aria-expanded=true] .faq-ico{transform:rotate(180deg)}
.faq-panel{padding:0 18px 16px}
.stuck-tile{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.stuck-tile .photo{width:100%}
.cancel-row{display:grid;grid-template-columns:clamp(160px,16vw,300px) 1fr;gap:var(--gut);align-items:stretch}.cancel-strip{align-items:stretch}.cancel-strip .tile{display:flex;flex-direction:column;justify-content:center}
@media (max-width:899px){.cancel-row{grid-template-columns:1fr}}
.step-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gut)}
@media (max-width:899px){.step-strip{grid-template-columns:1fr}}
.step-strip .tile{display:flex;flex-direction:column;gap:10px}
.step-strip .tile .ico{width:36px;height:36px;color:var(--huck)}

/* =================== CART, CHECKOUT, CONFIRMATION =================== */
.band-strip{padding-top:calc(var(--nav-h) + 12px);padding-bottom:clamp(50px,7vw,130px)}
.trail{position:relative;height:clamp(110px,10vw,200px)}
.trail-svg{position:absolute;inset:0;width:100%;height:100%}
.trail-stops{position:absolute;inset:0;list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;align-items:flex-end}
.trail-stops li{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;font-size:var(--small);transform:translateX(-50%);background:rgba(247,249,244,.85);padding:6px 12px;border-radius:999px 999px 10px 10px}
.trail-stops li:nth-child(1){left:0;bottom:0;transform:none}.trail-stops li:nth-child(2){left:50%;bottom:36%}.trail-stops li:nth-child(3){left:auto;right:0;bottom:66%;transform:none}
.stop-dot{width:16px;height:16px;border-radius:50%;background:var(--cloud);box-shadow:0 0 0 3px var(--huck)}
.is-here .stop-dot{background:var(--huck)}.is-done .stop-dot{background:var(--heather)}
.trail-walker{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--cloud);box-shadow:0 0 0 4px var(--huck);transform:translate(-50%,-50%)}
.trail-walker[data-step="1"]{left:4%;top:86%}.trail-walker[data-step="2"]{left:50%;top:48%}.trail-walker[data-step="3"]{left:96%;top:20%}
.cart-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);align-items:stretch;margin-top:var(--gut)}
@media (min-width:1900px){.cart-row{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:899px){.cart-row{grid-template-columns:1fr}}
.cart-item{display:flex;flex-direction:column;gap:12px}
.cart-item .motif{margin-top:auto;max-height:200px}
.cart-links{display:flex;gap:20px}
.tlink-btn{background:none;border:0;padding:0;cursor:pointer;font:inherit}
.cart-summary{display:flex;flex-direction:column;gap:12px}
.sum{margin:0;display:grid;gap:8px}
.sum div{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid rgba(31,42,30,.08);padding-bottom:6px}
.sum dt{font-weight:500}.sum dd{margin:0;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.cart-renew-line{font-weight:500}
.cart-photo{height:100%;aspect-ratio:auto;min-height:300px}
@media (max-width:899px){.cart-photo{aspect-ratio:3/2;min-height:0}}
.checkout-row{display:grid;grid-template-columns:7fr 5fr;gap:var(--gut);align-items:start;margin-top:var(--gut)}
@media (min-width:1900px){.checkout-row{grid-template-columns:7fr 5fr}}
@media (min-width:2500px){.checkout-row{grid-template-columns:7fr 4fr 4fr}.co-next{position:sticky;top:calc(var(--nav-h) + 16px)}.co-next-photo{margin-top:var(--gut)}}
@media (max-width:899px){.checkout-row{grid-template-columns:1fr}}
.checkout-form{display:flex;flex-direction:column;gap:var(--gut)}
.co-sec{border:0;margin:0;padding:clamp(18px,1.6vw,36px);background:var(--cloud);border-radius:var(--radius);min-width:0}
.co-sec legend{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:var(--h3);padding:0;margin-bottom:14px;display:flex;align-items:center;gap:12px;float:left;width:100%}
.co-sec legend + *{clear:both}
.sec-n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px 999px 8px 8px;background:var(--huck);color:var(--cloud);font-size:16px}
.co-unit{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--gut)}
.co-unit-exp{grid-template-columns:1fr 1fr 1fr}
@media (max-width:599px){.co-unit{grid-template-columns:1fr}.co-unit-exp{grid-template-columns:1fr 1fr}.co-unit-exp .field:last-child{grid-column:span 2}}
.card-marks{display:flex;gap:8px;margin-bottom:14px}
.mark{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 8px;border-radius:6px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:11px;letter-spacing:.04em;color:var(--cloud)}
.mark-visa{background:#1a1f71}.mark-amex{background:#2e77bc}.mark-disc{background:#e8701a}.mark-mc{background:#222;gap:0}
.mark-mc i{width:14px;height:14px;border-radius:50%;background:#eb001b}.mark-mc i:last-child{background:#f79e1b;margin-left:-5px;opacity:.9}
.cc-wrap{position:relative}
.cc-brand{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:12px;background:var(--heather);padding:3px 8px;border-radius:999px}
.cc-brand:empty{display:none}
.free-note p{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin:0}
.opt-label{font-family:'Bricolage Grotesque',sans-serif;font-weight:650;margin:8px 0}
.co-summary{position:sticky;top:calc(var(--nav-h) + 16px);display:flex;flex-direction:column;gap:12px}
.co-summary .motif{margin-top:auto}
.co-incl li{font-size:var(--small)}
.sticky-due{display:none}
@media (max-width:899px){
  .sticky-due{display:block;position:sticky;top:var(--nav-h);z-index:30;margin:0 calc(-1 * var(--pad))}
  .sticky-due button{width:100%;display:flex;justify-content:space-between;align-items:center;font:inherit;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;background:var(--huck);color:var(--cloud);border:0;padding:12px var(--pad);cursor:pointer}
  .co-summary{position:static;display:none}.co-summary.open{display:flex}
  .checkout-row{display:flex;flex-direction:column}.co-summary{order:0}
}
.next-list{padding-left:1.2em;display:grid;gap:8px}
.oc-scene{min-height:clamp(220px,34svh,520px)}
.oc-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--gut);width:100%;align-items:center}
@media (max-width:899px){.oc-row{grid-template-columns:1fr}}
.order-tile{display:flex;flex-direction:column;gap:12px;width:100%}
.oc-medallion{display:flex;justify-content:center}
.oc-medallion .medallion{width:min(100%,320px)}
.tile-row-next{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:1900px){.tile-row-next{grid-template-columns:repeat(3,minmax(0,1fr)) clamp(160px,12vw,260px)}}
@media (min-width:2500px){.tile-row-next{grid-template-columns:repeat(3,minmax(0,1fr)) clamp(160px,11vw,260px) clamp(160px,11vw,260px)}}
@media (max-width:899px){.tile-row-next{grid-template-columns:1fr}}
.oc-account-row .tile{display:flex;flex-direction:column;gap:12px}
.oc-free-fill .motif{max-height:220px}

/* =================== LEGAL =================== */
.legal-scene{min-height:clamp(180px,26svh,380px)}.legal-toc{display:none}@media (min-width:1440px){.legal-copy{display:grid;grid-template-columns:3fr 2fr;gap:var(--gut);align-items:end}.legal-lead{display:flex;flex-direction:column;gap:clamp(10px,1vw,20px)}.legal-copy .lead{columns:1}.legal-toc{display:block}.legal-toc ol{margin:0;padding:0 0 0 1.2em;columns:2;column-gap:var(--gut);font-size:var(--small);line-height:1.5}.legal-toc li{break-inside:avoid;margin-bottom:.35em}}
.legal-body{columns:2;column-gap:calc(var(--gut) * 2);font-size:clamp(16px,1.05vw,22px)}
@media (min-width:1900px){.legal-body{columns:3}}
@media (max-width:899px){.legal-body{columns:1}}
.legal-body p{break-inside:avoid}
.legal-h{margin:1.4em 0 .5em;break-after:avoid}
.legal-rule{height:14px;margin:.6em 0;opacity:.6}
.legal-kv{font-weight:500;margin-bottom:.3em}
.band[data-band=cloud] .crest path{fill:var(--cloud)}

/* =================== 404 =================== */
.nf-band{min-height:80svh;overflow:hidden}
.nf-scene{position:absolute;inset:0;z-index:0}
.nf-motif{position:absolute;left:0;right:0;bottom:0;height:70%;width:100%}
.nf-motif .m-fill{fill:var(--meadow)}
.grass-css{position:absolute;left:0;right:0;bottom:0;height:34%;background:repeating-linear-gradient(100deg,transparent 0 6px,rgba(169,204,126,.9) 6px 9px,transparent 9px 14px,rgba(92,143,74,.9) 14px 17px),linear-gradient(to top,var(--fern),transparent);mask:linear-gradient(to top,#000 40%,transparent);-webkit-mask:linear-gradient(to top,#000 40%,transparent);animation:sway 4s ease-in-out infinite alternate}
@keyframes sway{from{transform:skewX(-3deg)}to{transform:skewX(3deg)}}
.nf-band .hero-copy{order:0}
.nav-tiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--gut);width:100%;margin-top:var(--gut)}
@media (min-width:1900px){.nav-tiles{grid-template-columns:repeat(9,minmax(0,1fr))}}
@media (max-width:899px){.nav-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nav-tiles a{text-decoration:none;display:flex;flex-direction:column;gap:10px;font-family:'Bricolage Grotesque',sans-serif;font-weight:650;transition:transform var(--fast) var(--footing)}
.nav-tiles a:hover,.nav-tiles a:focus-visible{transform:translateY(-4px)}
.nav-tiles .ico{color:var(--huck)}

.scene-overlay{position:absolute;inset:0;z-index:2;pointer-events:none}
.scene-overlay svg{width:100%;height:100%}
.band[data-band=meadow] .motif .m-fill,.band[data-band=fern] .motif .m-fill{fill:rgba(247,249,244,.5)}
.tile .motif .m-fill,.plan .motif .m-fill{fill:var(--meadow)}
.strip-tile.t-move{min-width:clamp(90px,9vw,190px)}
h1:focus{outline:none}

/* ---- mobile refinements (QA round 1) ---- */
@media (max-width:899px){
  .hero-terrain{padding-bottom:clamp(48px,8vw,80px)}
  .sms-phone-col .phone img{width:62%;margin:0 auto}
  .foot-col{grid-column:span 2}
  .foot-reach{grid-column:span 4}
  .pano-fg{width:52%}
  .pano-phone:nth-child(2){display:none}
}
@media (max-width:599px){
  .cmp-label{font-size:clamp(16px,4.6vw,20px)}
  .cmp-range-label{top:auto;bottom:10px;white-space:nowrap;font-size:12px}
  .cmp-cap{max-width:50%;font-size:12px;padding:6px 8px;margin-bottom:34px}
  .cmp-phone{width:84px;bottom:auto;top:18%}
  .compare{min-height:340px}
}
@media (max-width:767px){
  .type-wall .wall-line{display:none}
  .type-wall .sr-only{position:static!important;width:auto!important;height:auto!important;clip:auto!important;white-space:normal!important;overflow:visible!important;display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:760;font-variation-settings:'wdth' 92,'wght' 760;font-size:clamp(26px,7.4vw,40px);line-height:1.08;letter-spacing:-.01em}
}

.hero-copy .lead.lead-short{columns:1;font-size:clamp(20px,1.55vw,36px)}

/* =================== CALM MOTION AND VISUAL SYSTEM (2026-09-28) ===================
   One ease, three durations, one reveal. Motion only appears where it explains something:
   sections fade and rise once as they arrive, and the few charts that carry numbers draw to scale. */
:root{
  --ease:cubic-bezier(.2,.7,.2,1);--t-fast:.18s;--t-base:.6s;--t-draw:1s;
  --display:clamp(40px,5vw,112px);--h2:clamp(28px,2.9vw,64px);--h3:clamp(20px,1.5vw,34px);
  --nav-h:clamp(64px,4.4vw,84px);
}
.h1{font-weight:720;font-variation-settings:'wdth' 92,'wght' 720,'opsz' 96;line-height:1;letter-spacing:-.02em}
.h2{font-weight:680;font-variation-settings:'wdth' 94,'wght' 680,'opsz' 72;letter-spacing:-.015em;line-height:1.05}
.band-first{padding-top:clamp(28px,3.6vw,80px)}
.hero-scene-band{padding-top:clamp(8px,1vw,24px)}

/* the reveal: set up by site.js, removed again once it has played so hovers stay quick */
.js .rv{opacity:0;transform:translate3d(0,14px,0);transition:opacity var(--t-base) var(--ease) var(--rv-d,0ms),transform var(--t-base) var(--ease) var(--rv-d,0ms)}
.js .rv.rv-in{opacity:1;transform:none}
.rm .rv{opacity:1!important;transform:none!important;transition:none!important}

/* band edges: one clean curve, a little overlap so no seam shows */
.crest{height:clamp(22px,2.4vw,52px);top:calc(-1 * clamp(22px,2.4vw,52px) + 1px);shape-rendering:geometricPrecision}
.crest path{filter:none}

/* photos always fill their frame (the picture element was leaving an empty strip below stretched photos) */
.photo picture{display:block;width:100%;height:100%}

/* quieter shapes and hovers everywhere */
.tlink{transition:background-size var(--t-fast) ease,color var(--t-fast) ease}
.tlink:hover,.tlink:focus-visible{transform:none;background-size:100% 3px}
.chip{border-radius:999px}
.field input,.field select,.field textarea{border-radius:12px;border-width:1.5px;transition:border-color var(--t-fast) ease,box-shadow var(--t-fast) ease}
.field input:focus,.field select:focus,.field textarea:focus{transform:none;outline:0;border-color:var(--huck);box-shadow:0 0 0 3px rgba(52,40,122,.22)}
.plan{transition:none}
.plan-list li{transition:none}.plan-list li:hover{transform:none}
.sms-bubble{transition:none}.sms-bubble:hover{transform:none}
.foot-col a{transition:background-size var(--t-fast) ease}
.foot-col a:hover,.foot-col a:focus-visible{transform:none}
.gcard{transition:box-shadow var(--t-fast) ease,transform var(--t-fast) ease}
.gcard:hover,.gcard:focus-visible{transform:translateY(-3px);box-shadow:0 14px 32px rgba(31,42,30,.12)}
.chip-btn{border-radius:999px;border:1.5px solid rgba(31,42,30,.2);transition:background-color var(--t-fast) ease,border-color var(--t-fast) ease,color var(--t-fast) ease}
.chip-btn:hover,.chip-btn:focus-visible{transform:none;border-color:var(--huck)}
.chip-btn:active{transform:none}
.chip-btn[aria-pressed=true]{border-color:var(--huck)}
.seg-btn:hover{transform:none;background:rgba(31,42,30,.06)}
.seg-btn[aria-pressed=true]:hover{background:var(--huck)}
.toggle input::after{transition:transform .2s var(--ease)}
.scene-host{display:none!important}

/* ---- home hero ---- */
.band-hero{padding:clamp(28px,3.6vw,80px) 0 clamp(64px,6vw,128px);min-height:0;display:block}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,3vw,64px);align-items:center}
.hero-text{grid-column:1 / span 6;display:flex;flex-direction:column;align-items:flex-start}
.hero-visual{grid-column:7 / span 6;margin:0}
.hero-h1{font-size:clamp(40px,4.4vw,96px);margin:.15em 0 .4em;max-width:12em}
.hero-text .lead{font-size:clamp(18px,1.2vw,24px);max-width:34em;margin:0}
.hero-actions{margin-top:clamp(20px,1.8vw,36px)}
.hero-note{font-size:var(--small);margin:14px 0 0;opacity:.8;max-width:40em}
.hero-points{list-style:none;padding:0;margin:clamp(22px,2vw,40px) 0 0;display:flex;flex-wrap:wrap;gap:10px 22px;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:clamp(15px,.95vw,18px)}
.hero-points li{display:flex;align-items:center;gap:8px}
.hero-points .ico{color:var(--huck);width:22px;height:22px}
.hero-stage{position:relative;aspect-ratio:800/560;border-radius:var(--radius);background:linear-gradient(180deg,#D3E8F2 0%,#BFDCEB 70%);overflow:hidden;box-shadow:0 1px 0 rgba(31,42,30,.04),0 24px 60px -30px rgba(31,42,30,.35)}
.hero-hill{position:absolute;inset:0;width:100%;height:100%}
.hill-tag{position:absolute;z-index:3;margin:0;transform:translate(-50%,calc(-100% - 16px));background:var(--cloud);color:var(--spruce);border-radius:10px;padding:7px 11px;font-size:clamp(12px,.78vw,15px);line-height:1.3;white-space:nowrap;box-shadow:0 8px 20px -8px rgba(31,42,30,.35)}
.hill-tag strong{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:650}
.tag-base{transform:translate(-8px,22px)}
.tag-flag{transform:translate(-50%,calc(-100% - 10px))}
.hero-phone{position:absolute;right:5%;bottom:-18%;width:33%;z-index:4}
.hero-phone img{filter:drop-shadow(0 24px 30px rgba(31,42,30,.28))}
.hero-cap{font-size:var(--small);margin-top:12px;opacity:.8}
/* the hero plays once on load: the saved part of the trail draws, then the marker and labels settle in */
.js .hero .trail-done{animation:hw-draw 1.1s var(--ease) .35s both}
.js .hero .hill-here{animation:hw-fade .4s ease-out 1.2s both}
.js .hero .tag-base{animation:hw-fade .45s ease-out .5s both}
.js .hero .tag-here{animation:hw-fade .45s ease-out 1.3s both}
.js .hero .tag-flag{animation:hw-fade .45s ease-out 1.5s both}
.js .hero .hero-phone{animation:hw-rise .8s var(--ease) .15s both}
@keyframes hw-draw{from{stroke-dashoffset:17.7}to{stroke-dashoffset:0}}
@keyframes hw-fade{from{opacity:0}to{opacity:1}}
@keyframes hw-rise{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media (max-width:1023px){.hero-text,.hero-visual{grid-column:1 / -1}.hero-visual{max-width:720px}}
@media (max-width:599px){.hill-tag{font-size:11px;padding:5px 8px}.tag-flag{display:none}.hero-phone{width:38%;bottom:-24%}}

/* ---- cost: the bars grow to scale when the section arrives ---- */
.cost-copy{grid-column:span 4;display:block}
@media (min-width:1024px){.cost-copy{grid-column:span 6}}
.js .strip-tile,.js .strip-end{transform:scaleX(0);transform-origin:left}
.drawn .strip-tile,.drawn .strip-end{transform:none;transition:transform var(--t-draw) var(--ease)}
.drawn .strip-tile:nth-child(2){transition-delay:.12s}.drawn .strip-tile:nth-child(3){transition-delay:.24s}.drawn .strip-end{transition-delay:.36s}
.rm .strip-tile,.rm .strip-end{transform:none}

/* ---- cushion comparison ---- */
@media (min-width:1024px){.car-copy{grid-column:span 4}.compare{grid-column:span 5}.car-phone{grid-column:span 3}}
@media (min-width:1900px){.compare{grid-column:span 6}.car-phone{grid-column:span 3}.tile-refill.at1920{grid-column:span 3}}
.car-phone{align-self:center}
.car-phone img{max-height:clamp(320px,34vw,640px);width:auto;margin:0 auto}
.cmp-cap{background:var(--cloud);box-shadow:0 6px 18px -10px rgba(31,42,30,.4)}
.cmp-hill .m-fill{fill:rgba(247,249,244,.55)}
.cmp-handle{width:3px;left:-1.5px;background:var(--spruce)}
.cmp-handle::after{width:36px;height:36px;background:var(--cloud);box-shadow:0 0 0 2px var(--spruce),0 6px 16px rgba(31,42,30,.25)}
.cmp-range-label{background:var(--cloud);box-shadow:0 4px 12px -6px rgba(31,42,30,.4)}

/* ---- milestones chart ---- */
.stairs-wrap.tile{padding:clamp(18px,1.8vw,40px)}
.stairs{gap:3px;height:clamp(200px,18vw,400px)}
.stair{background:#E4E8DE;transition:background-color var(--t-fast) ease;border-radius:4px 4px 0 0}
.stair.here{box-shadow:inset 0 0 0 2px var(--huck)}
.stair:hover,.stair:focus-visible{transform:none;background:var(--heather)}
.stair.done:hover,.stair.done:focus-visible{background:#2A2066}
.js .stairs .stair{transform:scaleY(0)}
.drawn .stairs .stair{transform:none;transition:transform .7s var(--ease),background-color var(--t-fast) ease;transition-delay:calc(var(--i) * 14ms),0s}
.rm .stairs .stair{transform:none}
.stairs-photo .photo{min-height:0;height:100%}
@media (max-width:1023px){.stairs-photo .photo{aspect-ratio:3/2}}

/* ---- projected date ---- */
.pano{background:linear-gradient(180deg,#D3E8F2,#BFDCEB)}
.pano-fg{left:44%;right:0;justify-content:center}
.date-big-wrap{position:absolute;left:clamp(18px,2vw,40px);top:clamp(18px,2vw,40px);z-index:3;margin:0;display:flex;flex-direction:column;gap:4px}
.date-big-label{font-size:var(--small);font-weight:500;opacity:.8}
.date-big{font-family:'Bricolage Grotesque',sans-serif;font-weight:720;font-variation-settings:'wdth' 92,'wght' 720;font-size:clamp(34px,3.6vw,84px);line-height:1;letter-spacing:-.02em;color:var(--spruce);transition:opacity .18s ease}
.date-big.swap{opacity:0}
.js .pano-line{stroke-dasharray:1;stroke-dashoffset:1}
.drawn .pano-line{stroke-dashoffset:0;transition:stroke-dashoffset 1.2s var(--ease) .2s}
.rm .pano-line{stroke-dashoffset:0}

/* ---- partner plan ---- */
.ck{min-height:clamp(280px,24vw,520px)}
.ck-split{justify-content:space-between}
.split-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:rgba(247,249,244,.5);margin-top:16px}
.split-bar span{display:block;height:100%}
.split-bar .sb-a{background:var(--huck)}.split-bar .sb-b{background:var(--fern)}
.split-legend{display:flex;justify-content:space-between;font-size:var(--small);margin-top:8px;font-weight:500}

/* ---- never list ---- */
.never-list{list-style:none;padding:0;margin:clamp(16px,2vw,40px) 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gut)}
.never-list li{display:flex;gap:14px;align-items:center;padding:clamp(16px,1.4vw,28px);border-radius:var(--radius);background:rgba(247,249,244,.05);border:1px solid rgba(247,249,244,.16);font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:clamp(18px,1.35vw,30px);line-height:1.25}
.never-list .ico{width:26px;height:26px;color:var(--barley);flex:none}
@media (max-width:767px){.never-list{grid-template-columns:1fr}}

/* ---- other pages: the hero illustrations are static now; give them a calm, finished edge ---- */
.hero-scene{background:transparent}
.scene-poster svg{shape-rendering:geometricPrecision}

.cmp-side{padding-top:clamp(52px,4vw,72px)}
.cmp-range-label{top:14px;bottom:auto;white-space:nowrap}
.ck-copy{justify-content:space-between}
.ck-copy .cta-actions{margin-top:24px}

.ftile{min-height:clamp(96px,7vw,150px);justify-content:space-between}
.r-date{font-family:'Bricolage Grotesque',sans-serif;font-weight:720;font-variation-settings:'wdth' 92,'wght' 720;font-size:clamp(30px,2.6vw,60px);line-height:1;letter-spacing:-.02em;color:var(--huck);margin:6px 0 10px}
.foot-wordmark{max-width:min(620px,46%)}
@media (max-width:767px){.foot-wordmark{max-width:80%}}

.hero-scene-band{min-height:0}
.hero-scene{min-height:clamp(200px,28svh,420px)}
.hero-scene-tall{min-height:clamp(260px,38svh,540px)}
.hero-short .hero-scene{min-height:clamp(180px,24svh,340px)}
.field-row{align-items:end}
.cmp-hill .m-walker{display:none}
@media (max-width:1023px){
  .car-phone{grid-column:1 / -1;justify-self:center;width:min(62%,280px)}
  .stairs{grid-auto-rows:40px;gap:4px}
  .stair .st-lbl{display:none}.stair.here .st-lbl{display:block;font-size:11px}
  .stair-month{display:none!important}
}
@media (max-width:1023px){.stairs{height:auto}.stair.here .st-lbl{display:none}}
.field-row{align-items:center}
.ft-phone img{max-height:380px;width:auto;margin:0 auto}
.grass-css{display:none}
.rm .hero *{animation:none!important}
@media (prefers-reduced-motion:reduce){.hero *{animation:none!important}.js .rv{opacity:1;transform:none;transition:none}}
/* planner relief: labels never collide or leave the frame */
.relief{overflow:visible}
.relief-hint{left:14px;right:auto;max-width:calc(100% - 28px);border-radius:12px}
.relief-proj{top:auto;bottom:12px;right:14px}
.handle-flag .hf-label{left:auto;right:calc(50% + 6px);transform:none}
@media (max-width:767px){.relief-hint{font-size:12px;padding:5px 10px}.relief-proj{display:none}.handle-flag .hf-label{top:calc(50% + 6px)}}
/* guide heroes: size the hill strip to the drawing so the ridge and date are not cropped */
.band-g-hero .hero-scene{min-height:0;aspect-ratio:1000/370}
