@font-face{font-family:Stencil;src:url(/fonts/BigShouldersStencil-Black.ttf) format('truetype');font-weight:900;font-display:swap}
@font-face{font-family:Shoulders;src:url(/fonts/BigShoulders-ExtraBold.ttf) format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:ShText;src:url(/fonts/BigShouldersText-Medium.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:ShText;src:url(/fonts/BigShouldersText-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
:root{--slab:#1A1917;--slab-2:#24221F;--chalk:#EDE7D9;--dust:#A9A293;--tape:#FFC20E;--flag:#E2361F;--bib:#F7F5EF;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{background:var(--slab);color:var(--chalk);scrollbar-color:var(--tape) var(--slab)}
html,body{overflow-x:clip}body{margin:0;font:500 1.15rem/1.5 ShText,sans-serif;font-variant-numeric:tabular-nums;overflow-x:hidden}
::selection{background:var(--tape);color:var(--slab)}
a{color:var(--tape);text-underline-offset:.2em;text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--flag);outline-offset:3px}
.hero{position:relative;padding:9vh 6vw 12vh;max-width:1280px;margin:auto;isolation:isolate}
.hero .k{font:800 1rem Shoulders;letter-spacing:.2em;color:var(--flag);text-transform:uppercase;margin:0 0 1rem}
h1{font:900 clamp(3rem,9vw,5.6rem)/.88 Stencil,sans-serif;text-transform:uppercase;letter-spacing:-.01em;margin:0;max-width:13ch;text-wrap:balance}
h1 em{font-style:normal;color:var(--tape)}
.lede{max-width:38ch;font-size:1.3rem;color:var(--chalk);margin:1.4em 0 0}
.hero::after{content:attr(data-bg);position:absolute;right:2vw;top:5vh;font:900 clamp(8rem,22vw,20rem)/.8 Stencil;color:#2B2925;transform:rotate(-7deg);z-index:-1;pointer-events:none;white-space:nowrap}
.tape{position:absolute;left:calc(50% - 50vw - 3vw);right:calc(50% - 50vw - 3vw);bottom:3vh;height:2.6rem;background:var(--tape);color:var(--slab);transform:rotate(-1.8deg);display:flex;align-items:center;gap:3rem;padding-left:8vw;font:800 1.05rem Shoulders;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.45);clip-path:inset(0 100% 0 0);animation:unroll 1.1s .25s var(--ease) forwards}
@keyframes unroll{to{clip-path:inset(0 0 0 0)}}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;min-width:44px;text-decoration:none;cursor:pointer;border:0;font:800 1.2rem/1 Shoulders,sans-serif;text-transform:uppercase;letter-spacing:.06em;background:var(--tape);color:var(--slab);border-radius:10px;padding:1.05rem 1.6rem;box-shadow:0 0 0 3px var(--slab),0 0 0 5px var(--tape);transition:transform .2s,box-shadow .2s,background .2s}
.cta:hover{transform:translateY(-2px) rotate(-1deg)}
.cta:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.cta-wrap{margin-top:2rem}
.cta-micro{margin:.7rem 0 0;color:var(--dust);font-size:1rem}
.cta-trust{margin:.3rem 0 0;font-size:.9rem;color:var(--dust)}
.cta-repeat{max-width:1280px;margin:3rem auto 0;padding:0 6vw}
.sec{max-width:1280px;margin:0 auto;padding:5vh 6vw 1vh}
.sec h2{font:800 clamp(1.8rem,4vw,2.6rem)/1 Shoulders;text-transform:uppercase;margin:0 0 1rem;max-width:30ch}
.sec h3{font:800 1.5rem/1.2 Shoulders;text-transform:uppercase;margin:2rem 0 .4rem;color:var(--tape)}
.sec p,.sec li{max-width:64ch}
.sec p{color:var(--chalk)}
.sec ul,.sec ol{padding-left:1.2rem}
.sec li{margin:.35rem 0}
.dust{color:var(--dust)!important}
.lane{background:var(--slab-2);padding:1.6rem 1.4rem;position:relative}
.lane::before{content:"";position:absolute;left:-.4rem;right:.6rem;top:0;height:.5rem;background:var(--tape);transform:rotate(-.5deg)}
.tbl{width:100%;border-collapse:collapse;font-size:1.05rem}
.tblw{overflow-x:auto;max-width:100%}
.tbl th{font:800 .95rem Shoulders;letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--tape);padding:.7rem .8rem;border-bottom:3px solid var(--tape);white-space:nowrap}
.tbl td{padding:.65rem .8rem;vertical-align:top;background:transparent}
.tbl tbody tr:nth-child(even) td{background:rgba(237,231,217,.05)}
.tbl td.n{font:900 1.5rem/1 Stencil;color:var(--tape);white-space:nowrap}
.tbl td.r{white-space:nowrap;text-align:right}
.tbl th.r{text-align:right}
.tbl tr.chk td{box-shadow:inset 4px 0 0 var(--flag)}
.tbl tfoot td{font-weight:700;border-top:3px solid var(--tape);color:var(--tape)}
/* bib + form */
.corral{max-width:1280px;margin:0 auto;padding:10vh 6vw 8vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6vw;align-items:center}
.corral h2{font:900 clamp(2.6rem,6vw,4.4rem)/.9 Stencil;text-transform:uppercase;margin:0}
.corral p{color:var(--dust);max-width:36ch}
.bib{position:relative;background:var(--bib);color:var(--slab);border-radius:12px;padding:2.4rem 2.2rem 1.8rem;transform:rotate(1.4deg);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.bib::before,.bib::after{content:"";position:absolute;top:1rem;width:14px;height:14px;border-radius:50%;background:var(--slab);box-shadow:0 0 0 2px #D8D3C6}
.bib::before{left:1rem}.bib::after{right:1rem}
.bib .no{color:var(--slab);font:900 clamp(4rem,9vw,6rem)/.8 Stencil;margin:0;letter-spacing:-.02em}
.bib .no span{color:var(--flag)}
form{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.4rem 0 1rem}
label.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
input,select{flex:1 1 14rem;min-width:0;min-height:48px;font:600 1.05rem ShText,sans-serif;padding:.8rem 1rem;border:2px solid var(--slab);border-radius:10px;background:#fff;color:var(--slab);caret-color:var(--flag)}
input::placeholder{color:#6B665C}
form button,.btn{min-height:48px;font:800 1.2rem Shoulders;text-transform:uppercase;letter-spacing:.06em;padding:.9rem 1.5rem;border:0;border-radius:10px;background:var(--tape);color:var(--slab);cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
form button:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(26,25,23,.3)}
button:disabled{opacity:.6;cursor:progress}
.bib .fine{font-size:.98rem;color:#4F4A41;margin:0 0 .6rem;max-width:none}.fine a{color:var(--slab)}
.bib .tear{margin:1.4rem -2.2rem 0;border-top:2px dashed #C9C3B4;padding:1rem 2.2rem 0;font:700 .95rem ShText;color:#4F4A41}
.fmsg:empty{display:none}.bib .fmsg{margin:-.3rem 0 1rem;font:700 .98rem/1.35 ShText,sans-serif;color:var(--slab);border-left:5px solid var(--flag);padding:.2rem 0 .2rem .7rem}
.bib .field-error{flex-basis:100%;order:2;margin:-.2rem 0 0;font:700 .95rem/1.3 ShText,sans-serif;color:#B4230F;display:flex;gap:.45rem;align-items:center}
.field-error::before{content:"";width:.7rem;height:.7rem;background:var(--flag);transform:rotate(45deg);flex:none}
.bib input[aria-invalid=true]{border-color:var(--flag)!important;box-shadow:0 0 0 3px rgba(226,54,31,.18)}
.bib form button{order:3}
.ok{margin:1.4rem 0 1rem}.bib .ok-h{color:var(--slab);font:900 1.9rem/1 Stencil;margin:0 0 .9rem;text-transform:uppercase}
.okdl{background:var(--tape);color:var(--slab);font:800 1.1rem Shoulders;text-transform:uppercase;letter-spacing:.04em;padding:.8rem 1.4rem;border-radius:4px;box-shadow:4px 4px 0 var(--slab)}
.okdl:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--slab)}
/* footer, sticky, nudge */
.site-foot{border-top:3px solid var(--tape);margin-top:3rem;padding:2rem clamp(1.2rem,5vw,4rem) 6rem;display:flex;flex-wrap:wrap;gap:1rem 2.5rem;justify-content:space-between;color:var(--dust);font:500 .95rem ShText,sans-serif}
.site-foot b{font:900 1.4rem Stencil;color:var(--chalk);letter-spacing:.02em}
.site-foot nav{display:flex;flex-wrap:wrap;gap:0 1.2rem}
.site-foot a{color:var(--chalk);text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px;padding:0 .1rem}
.site-foot a:hover{color:var(--tape)}
.site-foot a:focus-visible{outline:3px solid var(--tape);outline-offset:3px}
.by-belmo{opacity:.75}.by-belmo:hover,.by-belmo:focus-visible{opacity:1}
@media(min-width:761px){.site-foot{padding-bottom:2rem}}
#stickycta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;align-items:center;gap:12px;justify-content:space-between;padding:10px 14px calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .3s;background:var(--slab-2);border-top:3px solid var(--tape)}
#stickycta span{color:var(--chalk);font:700 1rem ShText}
#stickycta .cta{min-height:48px;padding:.7rem 1.1rem;transform:none;box-shadow:none}
#nudge{position:fixed;right:18px;bottom:18px;z-index:45;max-width:320px;padding:18px 18px 14px;box-shadow:0 14px 40px rgba(0,0,0,.25);transform:translateY(20px);opacity:0;transition:transform .35s,opacity .35s;background:var(--bib);color:var(--slab);border-radius:12px;font:500 1.05rem ShText}
#nudge.on{transform:none;opacity:1}#nudge p{margin:0 28px 12px 0}
#nudge .x{position:absolute;top:4px;right:4px;width:44px;height:44px;border:0;background:none;color:inherit;font-size:1.5rem;cursor:pointer}
#nudge .nlink{background:none;border:0;min-height:44px;text-decoration:underline;font:inherit;font-size:.9rem;margin-left:6px;color:var(--slab);cursor:pointer}
/* calculator */
.calc{max-width:1280px;margin:0 auto;padding:0 6vw}
.ctl{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin:1rem 0 1.4rem}
.ctl label{display:block;font:800 .95rem Shoulders;letter-spacing:.1em;text-transform:uppercase;color:var(--dust);margin-bottom:.35rem}
.ctl input,.ctl select{width:100%;border-color:var(--tape);background:var(--slab);color:var(--chalk);flex:none}
.ctl select option{background:var(--slab);color:var(--chalk)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}
.chip{min-height:44px;min-width:56px;padding:.5rem .9rem;border:2px solid var(--dust);background:transparent;color:var(--chalk);border-radius:10px;font:800 1.05rem Shoulders;letter-spacing:.06em;cursor:pointer}
.chip[aria-pressed=true]{background:var(--tape);border-color:var(--tape);color:var(--slab)}
.chip:hover{border-color:var(--tape)}
.sum{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;margin:1rem 0}
.sum div{font:800 .9rem Shoulders;letter-spacing:.1em;text-transform:uppercase;color:var(--dust)}
.sum b{display:block;font:900 2.4rem/1 Stencil;color:var(--tape);letter-spacing:0}
.band{background:var(--bib);color:var(--slab);border-radius:12px;padding:1.2rem 1.2rem 1rem;margin:1.4rem 0;transform:rotate(-.6deg);box-shadow:0 14px 30px rgba(0,0,0,.45)}
.band h3{margin:0 0 .6rem;font:800 .95rem Shoulders;letter-spacing:.14em;text-transform:uppercase;color:#4F4A41}
.band ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.4rem}
.band li{margin:0;max-width:none;text-align:center;border:2px solid var(--slab);border-radius:6px;padding:.4rem .1rem .3rem}
.band li span{display:block;font:800 .72rem Shoulders;letter-spacing:.06em;text-transform:uppercase;color:#4F4A41;line-height:1.15}
.band li b{display:block;font:900 1.3rem/1.1 Stencil;margin-top:.15rem}
.fin{font:700 1rem ShText;margin:.7rem 0 0;color:#4F4A41;max-width:none!important}
.cal-err{color:var(--flag);font-weight:700;min-height:1.5em;margin:.2rem 0}
.sec2{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;align-items:center;margin:1rem 0}
.ghost{background:transparent;border:2px solid var(--chalk);color:var(--chalk);border-radius:10px;min-height:48px;padding:.6rem 1.2rem;font:800 1.05rem Shoulders;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.ghost:hover{border-color:var(--tape);color:var(--tape)}
.faq details{background:var(--slab-2);margin:.6rem 0;padding:0 1.2rem;max-width:64ch}
.faq summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font:800 1.2rem Shoulders;text-transform:uppercase;letter-spacing:.03em}
.faq details p{margin:0 0 1rem}
.xl{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:1rem 0}
.xl a{display:block;background:var(--slab-2);padding:1.2rem;text-decoration:none;color:var(--chalk);min-height:44px;outline:2px dashed rgba(237,231,217,.28);outline-offset:-8px}
.xl a b{display:block;font:800 1.3rem Shoulders;text-transform:uppercase;color:var(--tape)}
.xl a:hover{background:rgba(255,194,14,.07)}
.printonly{display:none}
@media (max-width:760px){.corral{grid-template-columns:1fr}.hero{padding-bottom:14vh}.bib{transform:none}.hero .cta,.cta-wrap .cta,.cta-repeat .cta{width:100%}#stickycta{display:flex}#stickycta.on{transform:none}#nudge{left:12px;right:12px;bottom:84px;max-width:none}.band ol{grid-template-columns:repeat(4,minmax(0,1fr))}.band{transform:none}.sec{padding-top:4vh}}
@media (prefers-reduced-motion:reduce){.tape{animation:none;clip-path:none}#stickycta,#nudge,.cta{transition:none}*{transition:none!important}}
@media print{
 @page{margin:12mm}
 html,body{background:#fff!important;color:#1A1917!important;font-size:11pt}
 .hero,.tape,.corral,.site-foot,#stickycta,#nudge,.noprint,.cta,.cta-repeat,.chips,.ctl,.sec2,.faq{display:none!important}
 .sec,.calc{padding:0!important;max-width:none}
 .sec h2,.sec h3{color:#1A1917!important}
 .sec p,.sec li,.tbl td{color:#1A1917!important}
 .tbl th{color:#1A1917!important;border-bottom:2px solid #1A1917}
 .tbl td{border-bottom:1px solid #999;font-size:9.5pt;padding:5pt 6pt}
 .tbl tbody tr:nth-child(even) td{background:none}
 .tbl td.n{color:#1A1917!important}
 .tblw{overflow:visible}
 .printonly{display:block!important}
 .band{box-shadow:none;transform:none;border:2px solid #1A1917;break-inside:avoid}
 .sum b{color:#1A1917}.sum div{color:#4F4A41}
 .lane{background:none;padding:0}.lane::before{display:none}
 .pbtm{break-before:page}
 body.pb .sec,body.pb .calc>*:not(.band){display:none!important}
}
