@import url("/assets/fonts.css?v=1");





:root{--chalk:#F4F1EA;--ink:#111110;--blaze:#EB5E28;--ui:'Archivo',Helvetica,Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--chalk);height:100svh;display:flex;flex-direction:column;overflow:hidden}
.hero{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;position:relative}
#vwrap{position:absolute;inset:0;overflow:hidden;z-index:4;opacity:1;transition:opacity .5s ease;cursor:pointer}
#vwrap.hide{opacity:0;pointer-events:none}
#vwrap #intro,#vwrap #introv{position:absolute;background:#F4F1EA}
body.done .c1,body.done .c2,body.done .c3{opacity:1;transform:none}
body.done .wm{opacity:1;transform:none;filter:none}
body.done .tcue,body.done .top{animation:fadein .6s ease .05s forwards}
.totem{width:min(360px,70vw,58svh)}
.courses{display:block;width:100%;height:auto}
.c1,.c2,.c3{opacity:0;transform:translateY(-680px);transform-box:fill-box;transform-origin:50% 100%}
.wm{opacity:0;transform-box:fill-box;transform-origin:50% 55%;will-change:transform,filter}
.shad{opacity:0;fill:#111110;transform-box:fill-box;transform-origin:center}
.top{opacity:0}
.top{position:fixed;top:22px;right:26px;z-index:10;opacity:0}
.top a{display:inline-block;background:var(--blaze);color:#111110;border-radius:999px;padding:14px 26px;font-family:var(--ui);font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:transform .18s ease,background .18s ease}
.top a:hover{background:#D9531F;transform:scale(1.05)}
.top a:active{transform:scale(.97)}
.top a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.tcue{opacity:0;margin-top:24px;text-align:center;white-space:nowrap;font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#6E6A63}
.num{opacity:0;fill:#8F8A80;font-family:var(--ui);font-weight:600;font-size:34px;letter-spacing:.1em;transition:fill .2s,opacity .4s}.wsp{opacity:0;fill:#9A948A;font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:30px;pointer-events:none}.wsp-tap{display:none}@media(hover:none){.wsp-click{display:none}.wsp-tap{display:block}}@keyframes whisp{0%{opacity:0}2.5%,19.5%{opacity:.9}28%,100%{opacity:0}}body.ready .wsp{animation:whisp 3.2s ease-in-out infinite}body.ready .wspb{animation-delay:1.6s}body.ready .wspr{animation-delay:2.15s}body.ready .wspn{animation-delay:2.7s}@media(prefers-reduced-motion:reduce){.wsp{animation:none!important;opacity:0}}
.ready .num{opacity:1}
.ready .hn:hover ~ .num-run,.ready .hr:hover ~ .num-reach,.ready .hb:hover ~ .num-build{fill:var(--blaze)}
.ready .hit{cursor:pointer;transform-box:fill-box;transform-origin:center}
.hit.nodding{animation:nod .45s cubic-bezier(.3,.6,.3,1) 1}
@keyframes nod{0%{transform:translateY(0)}35%{transform:translateY(-11px)}65%{transform:translateY(2px)}100%{transform:translateY(0)}}
.hit:focus{outline:none}.hit:focus-visible path{stroke:var(--blaze);stroke-width:10px;paint-order:stroke}
#panel{position:fixed;inset:0;z-index:20;display:none}
#panel.open{display:grid;place-items:center}
#panel .wash{position:absolute;inset:0}
#panel.chalk .wash{background:var(--chalk)}
#panel.ink .wash{background:var(--ink)}
#panel .pc{position:relative;max-width:620px;width:calc(100% - 48px);max-height:92svh;overflow-y:auto;animation:prise .35s cubic-bezier(.2,.8,.2,1)}
#panel.qmode{overflow-y:auto}
#panel.qmode.open{display:block}
#panel.qmode .wash{position:fixed}
#panel.qmode .pc{max-height:none;overflow:visible;margin:7svh auto 90px}
@keyframes prise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
#panel .pnum{font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.22em}
#panel.chalk .pnum{color:var(--graphite,#3A3835)}
#panel.ink .pnum{color:#FF6B33}
#panel .pname{padding-right:92px;font-family:'Archivo Exp','Archivo',sans-serif;font-weight:900;font-size:clamp(40px,7vw,68px);letter-spacing:.02em;line-height:1;margin:10px 0 20px;text-transform:uppercase}
#panel.chalk .pname{color:var(--ink)}
#panel.ink .pname{color:var(--chalk)}
#panel .pline{font-family:'Source Serif 4',Georgia,serif;font-size:19px;line-height:1.6;margin-bottom:30px}
#panel.chalk .pline{color:#3A3835}
#panel.ink .pline{color:#CDC8BD}
#panel .pinc{font-family:'Source Serif 4',Georgia,serif;font-size:16.5px;line-height:1.5;padding:13px 0}
#panel.chalk .pinc{border-top:1px solid #E0DBD0;color:#3A3835}
#panel.ink .pinc{border-top:1px solid #2E2C27;color:#CDC8BD}
#panel .pmark{margin-top:26px;font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
#panel.chalk .pmark{color:#6E6A63}
#panel.ink .pmark{color:#8F8A80}
#panel .pq{display:inline-block;margin-top:30px;font-family:var(--ui);font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding-bottom:3px}
#panel.chalk .pq{color:var(--ink);border-bottom:2px solid var(--ink)}
#panel.chalk .pq:hover{color:var(--blaze);border-color:var(--blaze)}
#panel.ink .pq{color:var(--chalk);border-bottom:2px solid var(--chalk)}
#panel.ink .pq:hover{color:#FF6B33;border-color:#FF6B33}
.qf{margin-top:6px}
.qf .qrow{margin-bottom:26px}
.qf label{display:block;font-family:var(--ui);font-weight:600;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#6E6A63;margin-bottom:6px}
.qf input,.qf textarea{width:100%;background:none;border:none;border-bottom:1px solid #CFC9BC;color:#111110;font-family:'Source Serif 4',Georgia,serif;font-size:19px;padding:6px 0 10px;border-radius:0;outline:none}
.qf input:focus,.qf textarea:focus{border-bottom-color:#111110}
.qf textarea{resize:vertical;min-height:120px;border:1px solid #CFC9BC;padding:12px 14px;background:transparent}
.qf textarea:focus{border-color:#111110}
.qchips{display:flex;gap:10px;flex-wrap:wrap}
.qchips input{position:absolute;opacity:0;width:0;height:0}
.qchips span{display:inline-block;border:1px solid #CFC9BC;padding:10px 14px;font-family:var(--ui);font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#3A3835;cursor:pointer}
.qchips input:checked + span{background:#111110;border-color:#111110;color:#F4F1EA}
.qchips input:focus-visible + span{border-color:#111110}
.qsubmit{margin-top:8px;display:inline-block;font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;background:var(--blaze);color:#111110;border:1px solid var(--blaze);padding:16px 32px;cursor:pointer}
.qsubmit:hover{background:#D9531F;border-color:#D9531F}
.qfine{margin-top:16px;font-family:var(--ui);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#6E6A63}
.srow{display:flex;align-items:flex-end;gap:16px;margin:2px 0 32px}
.srow svg{height:118px;flex:0 0 auto;transform-origin:50% 100%}
.sbubble{position:relative;border:1.5px solid #111110;background:#FBF8F2;padding:12px 16px;font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:15.5px;line-height:1.45;color:#111110;max-width:330px;margin-bottom:30px}
.sbubble:after{content:'';position:absolute;left:-7.5px;bottom:16px;width:12px;height:12px;background:#FBF8F2;border-left:1.5px solid #111110;border-bottom:1.5px solid #111110;transform:rotate(45deg)}
.srow svg .eyes{transform-box:fill-box;transform-origin:center}
.srow svg .eyes.bl{animation:sblink .18s ease}
@keyframes sblink{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.08)}}
.srow svg{animation:sbreathe 3.4s ease-in-out infinite}
@keyframes sbreathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.982) scaleX(1.004)}}
svg .pupils{transform-box:fill-box;transform-origin:center;transition:transform .28s ease}
.srow svg.hop{animation:shop .5s cubic-bezier(.3,.7,.3,1)}
@keyframes shop{0%{transform:translateY(0)}35%{transform:translateY(-14px) rotate(-1.2deg)}70%{transform:translateY(0) scaleY(.95)}100%{transform:translateY(0)}}
.srow.sdone svg{animation:shop .55s .25s cubic-bezier(.3,.7,.3,1)}
@media(prefers-reduced-motion:reduce){.srow svg.hop,.srow.sdone svg,.srow svg{animation:none!important}}
@media(max-width:640px){.srow{gap:12px}.srow svg{height:94px}.sbubble{font-size:14px;margin-bottom:20px;padding:10px 13px}}
#sguide{position:absolute;right:6px;top:0;width:120px;pointer-events:none;z-index:3;transition:top .5s cubic-bezier(.3,.7,.3,1)}
#sguide svg{display:block;width:100%;height:auto;pointer-events:auto;cursor:pointer}
#sguide .sbubble{position:absolute;right:0;bottom:80%;margin:0;width:max-content;max-width:240px;font-size:13.5px;padding:10px 13px;opacity:0;transition:opacity .4s ease}
#sguide.arrived .sbubble{opacity:0}#sguide.arrived .sbubble.show{opacity:1}
#sguide .sbubble:after{left:auto;right:min(44px,calc(50% - 9px));top:auto;bottom:-7.5px;margin:0;border-left:none;border-top:none;border-right:1.5px solid #111110;border-bottom:1.5px solid #111110;transform:rotate(45deg)}
#sguide.sk-shake svg{animation:skshake .45s ease}
@keyframes skshake{0%,100%{transform:translateX(0)}20%{transform:translateX(-3px) rotate(-.8deg)}40%{transform:translateX(3px) rotate(.6deg)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}
@media(max-width:640px){#sguide{width:92px}#sguide .sbubble{max-width:160px;font-size:12.5px}#sguide.arrived .sbubble{opacity:0}#sguide.arrived .sbubble.show{opacity:1}}
@media(prefers-reduced-motion:reduce){#sguide{transition:none}#sguide *{animation:none!important}#sguide .sbubble{opacity:1;transition:none}}
@keyframes i1{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-6.00px) rotate(1.32deg)}}@keyframes i2{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-3.90px) rotate(-0.96deg)}}@keyframes i3{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-2.10px) rotate(0.54deg)}}@keyframes swayA{0%,100%{transform:rotate(3deg)}50%{transform:rotate(-3deg)}}@keyframes swayB{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}#sguide.m-idle .sk-armL{animation:swayA 4.4s ease-in-out infinite}#sguide.m-idle .sk-armR{animation:swayB 4.4s ease-in-out infinite}#sguide.m-idle .sk-body{animation:bodybob 3.1s ease-in-out infinite}#sguide.m-idle .sk-c1{animation:i1 3.1s ease-in-out infinite;animation-delay:.22s}#sguide.m-idle .sk-c2{animation:i2 3.1s ease-in-out infinite;animation-delay:.11s}#sguide.m-idle .sk-c3{animation:i3 3.1s ease-in-out infinite}@keyframes bodybob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}#sguide .sk-body{transform-box:view-box;transform-origin:210px 454.0px}#sguide .sk-legL{transform-box:view-box;transform-origin:178px 351.5px}#sguide .sk-legR{transform-box:view-box;transform-origin:244px 351.5px}#sguide .sk-footL{transform-box:view-box;transform-origin:172px 454.0px}#sguide .sk-footR{transform-box:view-box;transform-origin:250px 454.0px}#sguide .sk-armL{transform-box:view-box;transform-origin:95px 226.2px}#sguide .sk-armR{transform-box:view-box;transform-origin:337px 226.2px}@keyframes j1{0%{transform:translateY(0)}18%{transform:translateY(2.40px)}45%{transform:translateY(-15.60px) rotate(-1.80deg)}70%{transform:translateY(-7.80px)}84%{transform:translateY(4.20px)}100%{transform:translateY(0)}}@keyframes j2{0%{transform:translateY(0)}18%{transform:translateY(1.20px)}45%{transform:translateY(-9.00px) rotate(1.20deg)}70%{transform:translateY(-4.50px)}84%{transform:translateY(2.40px)}100%{transform:translateY(0)}}@keyframes j3{0%{transform:translateY(0)}45%{transform:translateY(-3.60px)}84%{transform:translateY(1.20px) scaleY(0.952)}100%{transform:translateY(0)}}@keyframes jbody{0%{transform:translateY(0)}18%{transform:translateY(6px)}45%{transform:translateY(-30px)}70%{transform:translateY(-16px)}84%{transform:translateY(4px)}100%{transform:translateY(0)}}#sguide.m-hop .sk-body{animation:jbody .75s cubic-bezier(.4,0,.35,1) 1}#sguide.m-hop .sk-c1{animation:j1 .75s cubic-bezier(.4,0,.35,1) 1}#sguide.m-hop .sk-c2{animation:j2 .75s cubic-bezier(.4,0,.35,1) 1}#sguide.m-hop .sk-c3{animation:j3 .75s cubic-bezier(.4,0,.35,1) 1}@keyframes a1{0%{transform:translateY(-300px);opacity:0}12%{opacity:1}60%{transform:translateY(4.20px)}78%{transform:translateY(-2.40px)}90%{transform:translateY(0.96px)}100%{transform:translateY(0)}}@keyframes a2{0%{transform:translateY(-260px);opacity:0}12%{opacity:1}60%{transform:translateY(4.20px)}78%{transform:translateY(-2.40px)}90%{transform:translateY(0.96px)}100%{transform:translateY(0)}}@keyframes a3{0%{transform:translateY(-220px);opacity:0}12%{opacity:1}60%{transform:translateY(4.20px)}78%{transform:translateY(-2.40px)}90%{transform:translateY(0.96px)}100%{transform:translateY(0)}}@keyframes grow{0%{transform:scale(.02)}100%{transform:scale(1)}}@keyframes pop{0%{transform:scale(0)}100%{transform:scale(1)}}#sguide.m-arrive .sk-c1{animation:a1 1s cubic-bezier(.3,0,.2,1) .24s both}#sguide.m-arrive .sk-c2{animation:a2 1s cubic-bezier(.3,0,.2,1) .12s both}#sguide.m-arrive .sk-c3{animation:a3 1s cubic-bezier(.3,0,.2,1) both}#sguide.m-arrive .sk-legL{animation:grow .55s cubic-bezier(.34,1.5,.6,1) .85s both}#sguide.m-arrive .sk-legR{animation:grow .55s cubic-bezier(.34,1.5,.6,1) .93s both}#sguide.m-arrive .sk-armL{animation:grow .5s cubic-bezier(.34,1.5,.6,1) 1.06s both}#sguide.m-arrive .sk-armR{animation:grow .5s cubic-bezier(.34,1.5,.6,1) 1.14s both}#sguide.m-arrive .sk-facepop{transform-box:fill-box;transform-origin:center;animation:pop .45s cubic-bezier(.34,1.5,.6,1) 1.32s both}#sguide .sk-eye{transform-box:fill-box;transform-origin:center;animation:blink 5.4s infinite}#sguide .sk-eye.sk-b2{animation-delay:.04s}@keyframes blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(.08)}}#sguide .sk-pup{transition:transform .28s ease}
#sbuild{position:absolute;right:12px;bottom:0;width:172px;pointer-events:none;opacity:0;animation:fadein .5s ease .35s forwards}
#sbuild .sbubble{position:absolute;bottom:79%;right:6px;margin:0;width:max-content;max-width:190px;font-size:12.5px;padding:8px 11px;opacity:1}
#sbuild .sbubble:after{left:auto;right:36px;top:auto;bottom:-7.5px;margin:0;border-left:none;border-top:none;border-right:1.5px solid #111110;border-bottom:1.5px solid #111110;transform:rotate(45deg)}
@media(max-width:640px){#sbuild{width:104px;right:8px}}
@media(prefers-reduced-motion:reduce){#sbuild, #sbuild *{animation:none!important}#sbuild{opacity:1}#sbuild .bb1,#sbuild .bb2,#sbuild .bb3{opacity:1}}
#sbuild .sk-body{transform-box:view-box;transform-origin:210px 454.0px}#sbuild .sk-armL,#sbuild .harm{transform-box:view-box;transform-origin:95px 226.2px}#sbuild .sk-armR{transform-box:view-box;transform-origin:337px 226.2px}#sbuild .sk-c1,#sbuild .sk-c2,#sbuild .sk-c3{transform-box:fill-box;transform-origin:center}#sbuild .bpage{transform-box:view-box;transform-origin:-97px 449px}@keyframes bhit{0%{transform:rotate(0deg)}40%{transform:rotate(135deg)}46%{transform:rotate(131deg)}54%{transform:rotate(-12deg)}64%{transform:rotate(-3deg)}100%{transform:rotate(0deg)}}#sbuild .sk-armL,#sbuild .harm{animation:bhit 1.4s cubic-bezier(.5,0,.4,1) infinite}@keyframes bbrace{0%,100%{transform:rotate(-3deg)}40%{transform:rotate(6deg)}54%{transform:rotate(-6deg)}}#sbuild .sk-armR{animation:bbrace 1.4s ease-in-out infinite}@keyframes bbob2{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-9px) rotate(2.4deg)}54%{transform:translateY(3px) rotate(-1.8deg) scaleY(.98)}66%{transform:translateY(0) rotate(0)}}#sbuild .sk-body{animation:bbob2 1.4s cubic-bezier(.5,0,.4,1) infinite}@keyframes bset2{0%,100%{transform:translateY(0) rotate(0)}42%{transform:translateY(-2.5px) rotate(.8deg)}56%{transform:translateY(1.5px)}}#sbuild .sk-c1{animation:bset2 1.4s ease-in-out infinite;animation-delay:.10s}#sbuild .sk-c2{animation:bset2 1.4s ease-in-out infinite;animation-delay:.05s}#sbuild .sk-c3{animation:bset2 1.4s ease-in-out infinite}@keyframes bgrow{0%,8%{transform:scale(.35)}11%,33%{transform:scale(.55)}36%,57%{transform:scale(.72)}60%,81%{transform:scale(.88)}84%,100%{transform:scale(1)}}#sbuild .bgrow{transform-box:view-box;transform-origin:-97px 449px;animation:bgrow 5.6s ease-out infinite}#sbuild.m-arrive .bgrow{animation:none}@keyframes bjolt{0%,48%,64%,100%{transform:translateY(0)}54%{transform:translateY(2px)}}#sbuild .bpage{animation:bjolt 1.4s linear infinite}@keyframes bspark{0%,50%{opacity:0}54%,59%{opacity:1}65%,100%{opacity:0}}#sbuild .spark{animation:bspark 1.4s linear infinite}@keyframes wp1k{0%,5%{opacity:0;transform:translateY(-90px)}9%{opacity:1;transform:translateY(4px)}12%{transform:translateY(0)}90%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(0)}}@keyframes wp2k{0%,30%{opacity:0;transform:translateY(-90px)}34%{opacity:1;transform:translateY(4px)}37%{transform:translateY(0)}90%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(0)}}@keyframes wp3k{0%,54%{opacity:0;transform:translateY(-90px)}58%{opacity:1;transform:translateY(4px)}61%{transform:translateY(0)}90%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(0)}}@keyframes wp4k{0%,78%{opacity:0;transform:translateY(-90px)}82%{opacity:1;transform:translateY(4px)}85%{transform:translateY(0)}90%{opacity:1;transform:translateY(0)}97%,100%{opacity:0;transform:translateY(0)}}#sbuild .wp1{animation:wp1k 5.6s ease-out infinite}#sbuild .wp2{animation:wp2k 5.6s ease-out infinite}#sbuild .wp3{animation:wp3k 5.6s ease-out infinite}#sbuild .wp4{animation:wp4k 5.6s ease-out infinite}#sbuild .sk-legL{transform-box:view-box;transform-origin:178px 351.5px}#sbuild .sk-legR{transform-box:view-box;transform-origin:244px 351.5px}#sbuild.m-arrive .sk-c1{animation:a1 1s cubic-bezier(.3,0,.2,1) .24s both}#sbuild.m-arrive .sk-c2{animation:a2 1s cubic-bezier(.3,0,.2,1) .12s both}#sbuild.m-arrive .sk-c3{animation:a3 1s cubic-bezier(.3,0,.2,1) both}#sbuild.m-arrive .sk-legL{animation:grow .55s cubic-bezier(.34,1.5,.6,1) .85s both}#sbuild.m-arrive .sk-legR{animation:grow .55s cubic-bezier(.34,1.5,.6,1) .93s both}#sbuild.m-arrive .sk-armL,#sbuild.m-arrive .harm{animation:grow .5s cubic-bezier(.34,1.5,.6,1) 1.06s both}#sbuild.m-arrive .sk-armR{animation:grow .5s cubic-bezier(.34,1.5,.6,1) 1.14s both}#sbuild.m-arrive .sk-facepop{transform-box:fill-box;transform-origin:center;animation:pop .45s cubic-bezier(.34,1.5,.6,1) 1.32s both}#sbuild.m-arrive .sk-body{animation:none}#sbuild.m-arrive .wp1,#sbuild.m-arrive .wp2,#sbuild.m-arrive .wp3,#sbuild.m-arrive .wp4{animation:none;opacity:0}#sbuild.m-arrive .spark{animation:none;opacity:0}#sbuild.m-arrive .bpage{animation:none}#sbuild .sbubble{transition:opacity .4s ease}#sbuild.m-arrive .sbubble{opacity:0}#sbuild .sk-eye{transform-box:fill-box;transform-origin:center;animation:blink 5.4s infinite}#sbuild .sk-eye.sk-b2{animation-delay:.04s}
#sreach{position:absolute;right:8px;bottom:0;width:min(310px,55%);pointer-events:none;z-index:2}
@media(max-width:640px){#sreach{width:min(230px,70%)}}
@media(prefers-reduced-motion:reduce){#sreach *{animation:none!important}#sreach .sbeam,#sreach .sbeam2{opacity:.2}}
#sreach .sk-body{transform-box:view-box;transform-origin:210px 454.0px}#sreach .sk-legL{transform-box:view-box;transform-origin:178px 351.5px}#sreach .sk-legR{transform-box:view-box;transform-origin:244px 351.5px}#sreach .sk-armR{transform-box:view-box;transform-origin:337px 226.2px}#sreach .storchg{transform-box:view-box;transform-origin:31px 296px}#sreach .senter{transform-box:view-box}@keyframes renter{0%{transform:translateX(300px)}100%{transform:translateX(0)}}#sreach .senter{animation:renter 1.9s cubic-bezier(.3,.6,.3,1) both}@keyframes wlegA{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}@keyframes wlegB{0%,100%{transform:rotate(15deg)}50%{transform:rotate(-15deg)}}@keyframes wrock{0%,100%{transform:rotate(-2.4deg)}50%{transform:rotate(2.4deg)}}#sreach.m-walkin .sk-legL{animation:wlegA .5s ease-in-out infinite}#sreach.m-walkin .sk-legR{animation:wlegB .5s ease-in-out infinite}#sreach.m-walkin .sk-body{animation:wrock .5s ease-in-out infinite}#sreach.m-walkin .sbeam,#sreach.m-walkin .sbeam2{opacity:0}@keyframes rsweep{0%,100%{transform:rotate(-17deg)}14%{transform:rotate(-14deg)}26%{transform:rotate(23deg)}40%{transform:rotate(39deg)}50%{transform:rotate(35deg)}62%{transform:rotate(5deg)}74%{transform:rotate(-18deg)}86%{transform:rotate(25deg)}}#sreach.m-look .storchg{animation:rsweep 7s ease-in-out infinite}@keyframes rlook{0%,100%{transform:translate(-5px,-4px)}14%{transform:translate(-6px,-4px)}26%{transform:translate(-6px,2px)}40%{transform:translate(-5px,5px)}50%{transform:translate(-6px,4px)}62%{transform:translate(-6px,0px)}74%{transform:translate(-5px,-5px)}86%{transform:translate(-6px,3px)}}#sreach.m-look .sk-pup{animation:rlook 7s ease-in-out infinite}@keyframes rbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}#sreach.m-look .sk-body{animation:rbob 3.4s ease-in-out infinite}.sbeam,.sbeam2{transition:opacity .5s ease}#sreach .sk-eye{transform-box:fill-box;transform-origin:center;animation:blink 5.4s infinite}#sreach .sk-eye.sk-b2{animation-delay:.04s}
#srun{position:absolute;right:12px;bottom:0;width:190px;pointer-events:none;z-index:2;opacity:0;animation:fadein .5s ease .35s forwards}
@media(max-width:640px){#srun{width:132px;right:8px}}
@media(prefers-reduced-motion:reduce){#srun *{animation:none!important}#srun{opacity:1}#srun .ck{opacity:1}}
#srun .sk-body{transform-box:view-box;transform-origin:210px 454.0px}#srun .sk-armL{transform-box:view-box;transform-origin:95px 226.2px}#srun .sk-armR{transform-box:view-box;transform-origin:337px 226.2px}#srun .sk-c1{transform-box:fill-box;transform-origin:center}#srun .cd1,#srun .cd2,#srun .cd3{transform-box:view-box}@keyframes unod{0%,4%,18%,37%,51%,70%,84%,100%{transform:translateY(0) rotate(0)}10%,43%,76%{transform:translateY(5px) rotate(1.6deg)}}#srun .sk-c1{animation:unod 5.7s ease-in-out infinite}@keyframes uflick{0%,5%,19%,38%,52%,71%,85%,100%{transform:rotate(0)}11%,44%,77%{transform:rotate(-24deg)}}#srun .sk-armL{animation:uflick 5.7s ease-in-out infinite}@keyframes upush{0%,5%,21%,38%,54%,71%,87%,100%{transform:translateY(0) rotate(0)}10%,43%,76%{transform:translateY(3px) rotate(2.5deg)}15%,48%,81%{transform:translateY(-9px) rotate(-1.2deg)}}#srun .sk-body{animation:upush 5.7s ease-in-out infinite}@keyframes upup{0%{transform:translate(-6px,3px)}14%{transform:translate(1px,4px)}30%{transform:translate(7px,2px)}33%{transform:translate(-6px,3px)}47%{transform:translate(1px,4px)}63%{transform:translate(7px,2px)}66%{transform:translate(-6px,3px)}80%{transform:translate(1px,4px)}96%{transform:translate(7px,2px)}100%{transform:translate(-6px,3px)}}#srun .sk-pup{animation:upup 5.7s ease-in-out infinite}@keyframes uswayR{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}#srun .sk-armR{animation:uswayR 4.4s ease-in-out infinite}@keyframes ucd1{0%{transform:translateX(-250px);opacity:0}3%{opacity:1}31%{opacity:1}34%,100%{transform:translateX(520px);opacity:0}}@keyframes ucd2{0%,33%{transform:translateX(-250px);opacity:0}36%{opacity:1}64%{opacity:1}67%,100%{transform:translateX(520px);opacity:0}}@keyframes ucd3{0%,66%{transform:translateX(-250px);opacity:0}69%{opacity:1}97%{opacity:1}100%{transform:translateX(520px);opacity:0}}#srun .cd1{animation:ucd1 5.7s linear infinite}#srun .cd2{animation:ucd2 5.7s linear infinite}#srun .cd3{animation:ucd3 5.7s linear infinite}@keyframes uck1{0%,9%{opacity:0}10%,100%{opacity:1}}@keyframes uck2{0%,42%{opacity:0}43%,100%{opacity:1}}@keyframes uck3{0%,75%{opacity:0}76%,100%{opacity:1}}#srun .cd1 .ck{animation:uck1 5.7s linear infinite}#srun .cd2 .ck{animation:uck2 5.7s linear infinite}#srun .cd3 .ck{animation:uck3 5.7s linear infinite}#srun .sk-eye{transform-box:fill-box;transform-origin:center;animation:blink 5.4s infinite}#srun .sk-eye.sk-b2{animation-delay:.04s}
#panel .pclose{position:absolute;top:26px;right:30px;font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:none;border:none;cursor:pointer;padding:6px}
#panel.chalk .pclose{color:var(--graphite,#3A3835)}
#panel.ink .pclose{color:#8F8A80}
#panel .pclose:hover{color:var(--blaze)}
.dust ellipse{opacity:0;fill:#C6BEAD;filter:url(#puff);transform-box:fill-box;transform-origin:center}
.play .c3{animation:fallL .5s .3s forwards}
.play .c2{animation:fallR .5s .8s forwards}
.play .c1{animation:fallL .5s 1.3s forwards}
.play .courses{animation:rumble 2.4s linear both}
.play .s3{animation:shadowin .5s linear .3s}
.play .s2{animation:shadowin .5s linear .8s}
.play .s1{animation:shadowin .5s linear 1.3s}
.play .s0{animation:stampshadow .62s linear 1.78s}
.play .d3 ellipse{animation:puff .85s ease-out .64s forwards}
.play .d2 ellipse{animation:puff .85s ease-out 1.14s forwards}
.play .d1 ellipse{animation:puff .85s ease-out 1.64s forwards}
.play .d3 ellipse:nth-child(2),.play .d3 ellipse:nth-child(4),
.play .d2 ellipse:nth-child(2),.play .d2 ellipse:nth-child(4),
.play .d1 ellipse:nth-child(2),.play .d1 ellipse:nth-child(4){animation-duration:1s}
.play .wm{animation:wmfall .55s 1.8s forwards}
.play .tcue,.play .top{animation:fadein .7s ease 2.55s forwards}
@keyframes fallL{
  0%{transform:translateY(-680px) rotate(-2deg) scaleY(1.1);opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.65)}
  10%{opacity:1}
  72%{transform:translateY(0) rotate(0deg) scaleY(1);opacity:1;animation-timing-function:cubic-bezier(0,.6,.4,1)}
  85%{transform:translateY(6px) rotate(0deg) scaleY(.97);opacity:1;animation-timing-function:cubic-bezier(.6,0,.4,1)}
  100%{transform:translateY(0) rotate(0deg) scaleY(1);opacity:1}
}
@keyframes fallR{
  0%{transform:translateY(-680px) rotate(2deg) scaleY(1.1);opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.65)}
  10%{opacity:1}
  72%{transform:translateY(0) rotate(0deg) scaleY(1);opacity:1;animation-timing-function:cubic-bezier(0,.6,.4,1)}
  85%{transform:translateY(6px) rotate(0deg) scaleY(.97);opacity:1;animation-timing-function:cubic-bezier(.6,0,.4,1)}
  100%{transform:translateY(0) rotate(0deg) scaleY(1);opacity:1}
}
@keyframes puff{
  0%{transform:translate(0,0) scale(.3);opacity:0}
  14%{opacity:.5}
  100%{transform:translate(var(--dx),-30px) scale(1.7);opacity:0}
}
@keyframes stampshadow{
  0%{opacity:0;transform:scale(.5,.7)}
  55%{opacity:.16;transform:scale(.96,.96)}
  68%{opacity:.34;transform:scale(1,1)}
  100%{opacity:0;transform:scale(1.04,1)}
}
@keyframes shadowin{
  0%{opacity:0;transform:scale(.55,.8)}
  70%{opacity:.2;transform:scale(1,1)}
  100%{opacity:0;transform:scale(1.06,1)}
}
@keyframes rumble{
  0%,25%,30%,46%,51%,66%,71%,89%,95%,100%{transform:translate(0,0)}
  27.5%{transform:translate(1px,2px)}
  48.3%{transform:translate(-1px,2px)}
  69.2%{transform:translate(1px,2px)}
  91.7%{transform:translate(-2px,4px)}
}
@keyframes wmfall{
  0%{transform:scale(3.2) rotate(-2.5deg);opacity:0;filter:blur(16px);animation-timing-function:cubic-bezier(.55,0,1,.65)}
  18%{opacity:1}
  72%{transform:scale(1) rotate(0deg);opacity:1;filter:blur(0);animation-timing-function:cubic-bezier(0,.6,.4,1)}
  85%{transform:scale(.962) rotate(0deg);opacity:1;filter:blur(0);animation-timing-function:cubic-bezier(.6,0,.4,1)}
  100%{transform:scale(1) rotate(0deg);opacity:1;filter:blur(0)}
}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .c1,.c2,.c3,.wm,.tcue,.top{opacity:1!important;transform:none!important;animation:none!important}
  .dust ellipse,.shad{animation:none!important;opacity:0!important}
  .num{opacity:1!important}
  .hit.nodding{animation:none!important}
  .play .courses{animation:none!important}
}
footer{background:var(--ink);color:#8F8A80;padding:34px 24px 22px}
.fwrap{max-width:1280px;margin:0 auto}
.ftop{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}
.ftonal{width:44px}
.fmeta{display:flex;gap:48px;flex-wrap:wrap}
.fmeta .label{display:block;margin-bottom:6px;font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8F8A80}
.fmeta div{font-family:var(--ui);font-weight:400;font-size:13px;line-height:1.9;letter-spacing:.06em;color:#CDC8BD}
.fmeta a{color:#CDC8BD;text-decoration:none}
.fmeta a:hover{color:var(--chalk)}
.fabout{max-width:420px}
@media(max-width:640px){.fabout{max-width:100%}}
.fbot{margin-top:26px;padding-top:16px;border-top:1px solid #2E2C27;font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8F8A80}

@media(max-width:640px){
.top{top:14px;right:14px}
.top a{padding:9px 16px;font-size:10px;letter-spacing:.14em}
footer{padding:18px 20px 12px}
.fabout{order:-1}
.ftonal{width:28px}
.ftop{gap:16px}
.fmeta{gap:26px;row-gap:12px}
.fmeta div{font-size:12px;line-height:1.55}
.fmeta .label{margin-bottom:3px;font-size:10px}
.fbot{margin-top:12px;padding-top:9px;font-size:10px}
}
@media(prefers-reduced-motion:no-preference){
body.ready .hit{animation:beckon 5.2s ease-in-out 1.6s infinite}
body.ready .hit.hr{animation-delay:2.15s}
body.ready .hit.hn{animation-delay:2.7s}
body.ready .hit.nodding{animation:nod .45s cubic-bezier(.3,.6,.3,1) 1}
}
@keyframes beckon{0%,12%,100%{transform:translateY(0) rotate(0)}3%{transform:translateY(-6px) rotate(-1.2deg)}6%{transform:translateY(1px) rotate(1deg)}9%{transform:translateY(-2px) rotate(0)}}

@media(prefers-reduced-motion:no-preference){
body.ready .hit{animation:beckon 3.2s ease-in-out 1.6s infinite}
body.ready .hit.hr{animation-delay:2.15s}
body.ready .hit.hn{animation-delay:2.7s}
body.ready .hit.nodding{animation:nod .45s cubic-bezier(.3,.6,.3,1) 1}
}
@keyframes beckon{0%,19.5%,100%{transform:translateY(0) rotate(0)}4.9%{transform:translateY(-6px) rotate(-1.2deg)}9.8%{transform:translateY(1px) rotate(1deg)}14.6%{transform:translateY(-2px) rotate(0)}}

.thint{opacity:0;margin-top:10px;text-align:center;font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:13.5px;letter-spacing:.01em;color:#6E6A63}
body.done .thint{animation:fadein .6s ease .25s forwards}
body.play .thint{animation:fadein .7s ease 2.75s forwards}
.hint-tap{display:none}
@media(pointer:coarse){.hint-click{display:none}.hint-tap{display:inline}}
@media(prefers-reduced-motion:reduce){.thint{opacity:1!important;animation:none!important}}

/* ---- TEAM panel ---- */
#panel.team .pc{max-width:940px}
#panel.team .pname{margin-bottom:30px}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media(max-width:680px){.tgrid{grid-template-columns:1fr;gap:34px}}
.tm{display:flex;flex-direction:column}
.tphoto{position:relative;width:min(300px,100%);aspect-ratio:4/5;overflow:hidden;background:#EDE9E0}
.tphoto img{width:100%;height:100%;object-fit:cover;display:block}
.tphoto.pending{display:grid;place-items:center;background:#EDE9E0;box-shadow:inset 0 0 0 1px #E0DBD0}
.tphoto.pending .eye{position:absolute;left:0;right:0;top:38%;height:1px;background:#DCD6C8}
.tpend{position:relative;text-align:center;padding:0 14px;font-family:var(--ui);font-weight:600;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#9A948A;line-height:2.2}
.tpend b{display:block;font-weight:600;color:#6E6A63}
.tname{margin-top:18px;font-family:'Archivo Exp','Archivo',sans-serif;font-weight:900;font-size:clamp(22px,3.4vw,28px);letter-spacing:.02em;line-height:1;text-transform:uppercase;color:var(--ink)}
.trole{margin-top:8px;font-family:var(--ui);font-weight:600;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#6E6A63}
.tbio{margin-top:16px;padding-top:15px;border-top:1px solid #E0DBD0;font-family:'Source Serif 4',Georgia,serif;font-size:16.5px;line-height:1.62;color:#3A3835}
.tbio.cont{margin-top:12px;padding-top:0;border-top:none}
#panel.team .pmark{margin-top:30px;padding-top:16px;border-top:1px solid #E0DBD0}

.nav{position:fixed;top:22px;left:26px;z-index:10;opacity:0}
.nav ul a{display:inline-block;font-family:var(--ui);font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:2px solid transparent;padding-bottom:2px}
.nav ul a:hover{color:var(--blaze);border-bottom-color:var(--blaze)}
body.done .nav{animation:fadein .6s ease .05s forwards}
body.play .nav{animation:fadein .7s ease 2.55s forwards}
@media(prefers-reduced-motion:reduce){.nav{opacity:1!important;animation:none!important}}
@media(max-width:640px){.nav{top:14px;left:14px}.nav ul a{font-size:10px;letter-spacing:.14em}}


/* ===== multi-page additions (09/2026) ===== */
:focus-visible{outline:2px solid var(--blaze);outline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--chalk);font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:12px 16px;text-decoration:none}
.skip:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px;align-items:center}
.nav ul a[aria-current="page"]{border-bottom-color:var(--blaze)}
.nav .hm{display:inline-flex;align-items:center;border:0;padding:0;margin-right:6px}
.nav .hm svg{width:28px;height:auto;display:block}
.nav .hm path{fill:var(--ink)}
.nav .hm path.bz{fill:var(--blaze)}
/* footer: mark | four short columns | about on the right, one row */
footer{padding:26px 24px 16px}
.ftop{display:grid;grid-template-columns:auto 1fr minmax(340px,520px);gap:28px 44px;align-items:start;flex-wrap:nowrap}
.fmeta{display:flex;gap:40px;flex-wrap:wrap}
.fmeta div{line-height:1.55}
.fabout{max-width:none;font-family:var(--ui);font-weight:400;font-size:13px;line-height:1.55;letter-spacing:.06em;color:#CDC8BD}
.fabout .label{display:block;margin-bottom:6px;font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8F8A80}
.fnav{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:auto auto;gap:2px 16px}
.fnav a{color:#CDC8BD;text-decoration:none}
.fnav a:hover{color:#FF6B33}
.fbot{margin-top:18px;padding-top:12px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:960px){.ftop{grid-template-columns:auto 1fr}.fabout{grid-column:1/-1}}
@media(max-width:640px){footer{padding:18px 20px 12px}.ftop{grid-template-columns:1fr;gap:12px}.ftonal{display:none}.fmeta{gap:20px;row-gap:8px}.fnav{display:flex;flex-wrap:wrap;gap:4px 14px}.fabout{order:0}.fbot{margin-top:10px;padding-top:8px}}
.flegal{list-style:none;margin:0;padding:0;display:flex;gap:16px;flex-wrap:wrap}
.flegal a{color:#8F8A80;text-decoration:none}
.flegal a:hover{color:#FF6B33}
/* sub pages: the old panel becomes the page */
body.sub{height:auto;min-height:100svh;overflow:auto;display:block}
body.sub.ink{background:var(--ink)}
body.sub .nav{position:absolute;left:0;right:0;top:0;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;opacity:1;animation:none}
body.sub .top{position:static;opacity:1;animation:none}
@media(max-width:640px){body.sub .nav{padding:14px}body.sub .nav ul{gap:12px}body.sub .nav .hm{margin-right:0}body.sub .nav .hm svg{width:24px}}
body.sub.ink .nav ul a{color:var(--chalk)}
body.sub.ink .nav ul a[aria-current="page"],body.sub.ink .nav ul a:hover{color:var(--blaze)}
body.sub.ink .nav .hm path{fill:var(--chalk)}
body.sub.ink .nav .hm path.bz{fill:var(--blaze)}
body.sub #panel{position:static;display:block;inset:auto;z-index:auto;padding:118px 24px 72px}
body.sub #panel .wash{display:none}
body.sub #panel .pc{max-height:none;overflow:visible;animation:none;width:100%;margin:0 auto}
body.sub #panel .pname{padding-right:0}
body.sub #panel.qmode .pname{padding-right:150px;font-size:clamp(40px,6vw,58px)}
@media(min-width:641px){body.sub #sguide .sbubble{max-width:172px;right:-4px}}
@media(max-width:640px){body.sub #panel.qmode .pname{padding-right:0}
body.sub #sguide .sbubble{max-width:150px}}
body.sub #panel .pinc-list{list-style:none;margin:0;padding:0}
body.sub #panel .pinc{margin:0}
body.sub #panel .pnext{display:block;margin-top:18px;font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:#6E6A63}
body.sub #panel.ink .pnext{color:#8F8A80}
body.sub #panel .pnext:hover{color:var(--blaze)}
body.sub #panel .stage{position:relative;pointer-events:none}
body[data-page="build"] .stage{height:34px}
body[data-page="run"] .stage{height:64px}
body[data-page="reach"] .stage{height:24px}
body.sub #panel .pmark,body.sub #panel .pq,body.sub #panel .pnext{position:relative;z-index:3}
@media(max-width:640px){body.sub #panel{padding:92px 20px 56px}body[data-page="build"] .stage{height:26px}body[data-page="run"] .stage{height:44px}body[data-page="reach"] .stage{height:20px}}
/* quote page: Steve rides the rows, same as before, but the page scrolls normally */
body.sub #panel.qmode .pc{margin:0 auto}
/* quote: real boxed fields, not underlined text on the page; nothing grabs focus on load */
.qf{border:1px solid #CFC9BC;background:#FBF9F4;padding:30px 30px 28px;margin-top:10px}
.qf input:not([type=radio]){border:1px solid #CFC9BC;background:#fff;padding:13px 14px;font-size:18px;line-height:1.3;border-radius:0;-webkit-appearance:none;appearance:none}
.qf input:not([type=radio]):focus{border-color:#111110}
.qf textarea{background:#fff}
.qf .qrow{margin-bottom:22px}
.qchips span{padding:12px 16px;background:#fff}
.qsubmit{padding:17px 36px}
@media(min-width:641px){body.sub #panel.qmode .qf{margin-right:140px}}
@media(max-width:640px){.qf{padding:18px 16px 16px;margin-top:190px}.qf input:not([type=radio]),.qf textarea{font-size:16px}.qchips{flex-direction:column;gap:8px}.qchips label,.qchips span{display:block}.qsubmit{width:100%;text-align:center}}
/* legal pages: typography scoped to the article so the footer keeps its own styling */
.legal #panel .pc{max-width:680px}
.legal #panel h1{font-family:'Archivo Exp','Archivo',sans-serif;font-weight:900;font-size:clamp(34px,6vw,56px);letter-spacing:.02em;line-height:1;margin:10px 0 14px;text-transform:uppercase;color:var(--ink)}
.legal #panel .upd{font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6E6A63;margin-bottom:34px}
.legal #panel h2{font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:34px 0 10px;padding-top:18px;border-top:1px solid #E0DBD0}
.legal #panel p,.legal #panel li{font-family:'Source Serif 4',Georgia,serif;font-size:17px;line-height:1.62;color:#3A3835;margin:0 0 14px}
.legal #panel ul{margin:0 0 14px 20px;padding:0}
.legal #panel .pc a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.legal #panel .pc a:hover{color:var(--blaze)}
/* no gray tap flash on phones; keyboard focus rings stay */
a,button,label,.hit{-webkit-tap-highlight-color:transparent}
