@font-face{font-family:"Inter";src:url(/assets/fonts/inter.woff2?v=f11d729bb0) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:"Space Grotesk";src:url(/assets/fonts/space-grotesk.woff2?v=c0781ea2f2) format("woff2");font-weight:500 700;font-style:normal;font-display:swap}:root{--ink:#0f1824;--ink-2:#2c3a4d;--ink-soft:#5b6b80;--line:#e2e8f0;--bg:#ffffff;--soft:#f6f7f8;--dark:#04325a;--dark-2:#0a4571;--brand:#187abf;--accent:#07795d;--accent-bright:#0db88f;--gold:#f5b700;--wrap:1140px;--gutter:20px;--r:16px;--display:"Space Grotesk","Segoe UI",system-ui,sans-serif;--body:"Inter","Segoe UI",-apple-system,system-ui,sans-serif;--shadow:0 1px 2px rgba(13,23,38,.06),0 8px 24px -12px rgba(13,23,38,.18);--shadow-lift:0 2px 6px rgba(13,23,38,.08),0 18px 40px -18px rgba(13,23,38,.3);--b-white:#dfe5ec;--b-yellow:#f5c518;--b-orange:#f07e26;--b-green:#2e9e4f;--b-blue:#1e98c9;--b-purple:#6b2fa8;--b-brown:#7b4a2d;--b-red:#d7262e;--b-black:#1a1a1a}*{box-sizing:border-box}body{margin:0;font-family:var(--body);color:var(--ink-2);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:16.5px}img{max-width:100%}a{color:var(--brand)}h1,h2,h3,.display{font-family:var(--display);color:var(--ink);letter-spacing:-.02em}.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:#fff;padding:10px 14px;z-index:99}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.wrap.narrow{max-width:780px}header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.bar{display:flex;align-items:center;gap:14px;padding-top:12px;padding-bottom:12px}@media (max-width:999px){.bar{flex-wrap:wrap}}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);margin-right:auto}.mark{width:42px;height:42px;border-radius:12px;background:var(--dark);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;font-family:var(--display);letter-spacing:.5px;flex:none}.burger{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;cursor:pointer;flex:none}.burger span,.burger span::before,.burger span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);border-radius:2px}.burger span::before{transform:translateY(-6px)}.burger span::after{transform:translateY(4px)}nav.main{display:none;width:100%;flex-direction:column;gap:2px;padding:6px 0 4px;order:9}#navtoggle:checked ~ nav.main{display:flex}nav.main a{padding:12px 4px;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:1px solid var(--line)}nav.main a.on{color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--accent);color:#fff;font-weight:700;text-decoration:none;padding:14px 22px;border-radius:12px;border:2px solid var(--accent);font-family:var(--display);font-size:16px;box-shadow:0 6px 16px -8px rgba(7,121,93,.55)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none}.btn{cursor:pointer;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn:hover{background:#06634c;border-color:#06634c;transform:translateY(-2px);box-shadow:0 12px 22px -10px rgba(7,121,93,.7)}.btn.ghost:hover{background:#fff;border-color:var(--accent);color:var(--accent);box-shadow:0 10px 20px -12px rgba(13,23,38,.35)}.btn:active{transform:scale(.97);box-shadow:none}.btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.hero .btn.ghost,.band.dark .btn.ghost,.cta-band .btn.ghost{color:#fff;border-color:rgba(255,255,255,.4)}.hero .btn.ghost:hover,.band.dark .btn.ghost:hover,.cta-band .btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.14)}.btn.small{padding:10px 16px;font-size:14.5px}.btn.big{padding:17px 30px;font-size:18px}.cta{display:flex;flex-wrap:wrap;gap:11px;margin:26px 0 0}h1{font-size:clamp(31px,6.6vw,52px);line-height:1.08;margin:0 0 16px;text-wrap:balance;font-weight:700}h2{font-size:clamp(24px,4.4vw,34px);line-height:1.18;margin:0 0 12px;text-wrap:balance;font-weight:700}h3{font-size:19px;margin:0 0 7px;font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;font-weight:700;color:var(--brand);margin:0 0 12px;font-family:var(--display)}.lede{font-size:clamp(17px,2.3vw,20px);color:var(--ink-soft);margin:0;max-width:60ch;line-height:1.6}.sub{color:var(--ink-soft);margin:0 0 26px;max-width:64ch}.fine{font-size:13.5px;color:var(--ink-soft)}.hero{position:relative;overflow:hidden;background:var(--dark);color:#fff;padding:52px 0 56px}.hero::before{content:"";position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(ellipse 80% 70% at 70% 20%,#000,transparent 75%)}.hero::after{content:"";position:absolute;width:420px;height:420px;right:-130px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(30,152,201,.5),transparent 68%)}.hero .wrap{position:relative;z-index:2}.hero h1{color:#fff}.hero .lede{color:#b9c8da}.hero .eyebrow{color:#67c6ec}.hero.light{background:var(--soft);color:var(--ink-2)}.hero.light h1{color:var(--ink)}.hero.light .lede{color:var(--ink-soft)}.hero.light::before,.hero.light::after{display:none}.band{padding:52px 0}.band.alt{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.band.dark{background:var(--dark-2);color:#d7e2ef}.band.dark h2,.band.dark h3{color:#fff}.band.dark .sub{color:#9fb3c9}.steps{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:s}.steps li{counter-increment:s;position:relative;padding-left:60px}.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:44px;height:44px;border-radius:14px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:19px}.steps h3{margin-bottom:3px}.steps p{margin:0;color:var(--ink-soft)}.grid{display:grid;grid-template-columns:1fr;gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:block;box-shadow:var(--shadow)}a.card{text-decoration:none;color:inherit}a.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);border-color:transparent}.card.prog{border-top:5px solid var(--c,var(--brand));position:relative;display:flex;flex-direction:column}.icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--brand)) 13%,#fff);margin:0 0 14px}.icon svg{width:24px;height:24px;stroke:var(--c,var(--brand));fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.card .ages{color:var(--ink-soft);font-size:13.5px;margin:0 0 12px;font-weight:600}.card .does{margin:0 0 14px;color:var(--ink-2)}.card ul{margin:0 0 16px;padding-left:19px;color:var(--ink-soft);font-size:14.5px}.card li{margin:4px 0}.card .foot{margin-top:auto;display:flex;align-items:baseline;gap:10px;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}.card .price{font-weight:700;font-size:15px;color:var(--ink);font-family:var(--display)}.card .price small{font-weight:500;font-size:12.5px;color:var(--ink-soft)}.more{font-weight:700;color:var(--brand);font-size:14.5px;font-family:var(--display)}.card.camp .when{font-size:12.5px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:0 0 5px;font-family:var(--display)}.split{display:grid;grid-template-columns:1fr;gap:26px}.prose h2{margin-top:30px}.prose h2:first-child{margin-top:0}.prose p{max-width:66ch}.side{background:var(--soft);border:1px solid var(--line);border-top:5px solid var(--c,var(--brand));border-radius:var(--r);padding:22px;align-self:start;box-shadow:var(--shadow)}.side h4{margin:18px 0 7px;font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-family:var(--display)}.bigprice{font-size:40px;font-weight:700;margin:0;line-height:1;font-family:var(--display);color:var(--ink)}.bigprice span{font-size:15px;font-weight:500;color:var(--ink-soft)}ul.plain{list-style:none;margin:0;padding:0}ul.plain.times li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14.5px}ul.plain.times strong{display:inline-block;min-width:48px}ul.plain.dates li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.side .btn{margin-top:18px;width:100%;text-align:center}.scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r);background:#fff}table.sched{width:100%;border-collapse:collapse;min-width:640px;font-size:14.5px}table.sched th,table.sched td{border-bottom:1px solid var(--line);padding:13px 12px;text-align:left;vertical-align:top}table.sched tr:last-child th,table.sched tr:last-child td{border-bottom:0}table.sched thead th{font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);background:var(--soft);font-family:var(--display)}table.sched tbody th{border-left:5px solid var(--c,var(--brand));padding-left:14px;font-family:var(--display)}table.sched tbody th small{display:block;font-weight:400;color:var(--ink-soft);font-family:var(--body)}table.sched td small{color:var(--ink-soft)}table.sched td.na{color:var(--ink-soft);font-size:13.5px}table.sched td small.note{display:block;font-size:12px;margin-top:2px}.no{color:#c8d2de}table.hours{width:100%;border-collapse:collapse;font-size:14.5px}table.hours th,table.hours td{padding:7px 0;text-align:left;font-weight:600}table.hours td{text-align:right;font-weight:500;color:var(--ink-soft)}.terms{display:grid;gap:14px;grid-template-columns:1fr;margin-top:24px}.term{position:relative;display:grid;gap:2px;justify-items:start;border:1.5px solid var(--line);border-radius:16px;padding:18px 18px 16px;background:#fff;box-shadow:var(--shadow)}.term.feat{border-color:var(--accent);background:#f3fbf8;box-shadow:0 10px 24px -14px rgba(7,121,93,.6)}.tnum{font:700 38px/1 var(--display);color:var(--ink)}.term.feat .tnum{color:var(--accent)}.tunit{font:700 12px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}.tsave{display:block;font:700 17px var(--display);color:var(--accent);margin:2px 0 8px}.tsave.none{color:var(--ink-soft);font-weight:600;font-size:14px}.term.feat .tsave{color:var(--accent)}.tperk{font:600 14.5px var(--body);color:var(--ink)}.troll{font-size:13px;color:var(--ink-soft);line-height:1.45}.tbadge{position:absolute;top:14px;right:14px;font-style:normal;font:700 10.5px var(--display);letter-spacing:.07em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:999px;padding:5px 10px}.termnote{margin-top:22px;padding:18px 20px;background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:14px}.termnote p{margin:0;color:var(--ink-soft);font-size:14.5px;max-width:74ch}.termnote p + p{margin-top:8px}.termnote strong{color:var(--ink)}@media (min-width:620px){.terms{grid-template-columns:1fr 1fr}}@media (min-width:980px){.terms{grid-template-columns:repeat(4,1fr)}}.offer{border:2px dashed var(--accent);border-radius:var(--r);padding:20px 22px;margin:0 0 28px;background:#f0faf6}.pill{display:inline-block;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:999px;margin-bottom:9px;font-family:var(--display)}.offer h3{margin:0 0 5px}.offer p{margin:0;color:var(--ink-soft);font-size:14.5px}details{border-bottom:1px solid var(--line);padding:15px 0}summary{font-weight:700;cursor:pointer;list-style:none;font-family:var(--display);color:var(--ink)}summary::-webkit-details-marker{display:none}summary::after{content:"+";float:right;color:var(--brand);font-weight:700;font-size:20px;line-height:1}details[open] summary::after{content:"\2013"}details p{margin:11px 0 0;color:var(--ink-soft)}.cta-band{background:var(--dark);color:#fff;padding:54px 0;text-align:center;position:relative;overflow:hidden}.cta-band::after{content:"";position:absolute;width:460px;height:460px;left:-150px;bottom:-250px;border-radius:50%;background:radial-gradient(circle,rgba(13,184,143,.35),transparent 68%)}.cta-band .wrap{position:relative;z-index:2}.cta-band h2{color:#fff}.cta-band p{color:#c2d0e0}.cta-band .fine{color:#93a7bd}.cta-band a{color:#fff}.mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:10px;padding:10px var(--gutter);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}.mobilebar .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 10px}.mobilebar svg{flex:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mobilebar .btn.call{flex:0 0 96px}.deskonly{display:none}body{padding-bottom:86px}@media (min-width:720px){.grid{grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr);gap:26px}footer .cols{grid-template-columns:1.4fr 1fr 1fr}.hero{padding:72px 0 76px}.band{padding:68px 0}}@media (min-width:1000px){.burger{display:none}nav.main{display:flex;flex-direction:row;width:auto;gap:2px;padding:0;order:0}nav.main a{border:0;padding:9px 13px;border-radius:9px}nav.main a:hover{background:var(--soft)}.grid{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1.65fr .9fr;gap:46px}.mobilebar{display:none}.deskonly{display:inline-block}body{padding-bottom:0}}@media (prefers-reduced-motion:no-preference){a.card{transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}}@media (prefers-reduced-motion:reduce){a.card:hover{transform:none}}.demo{display:grid;grid-template-columns:1fr;gap:20px;margin-top:26px}.demo h3{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:#9fb3c9;margin:0 0 10px}.palette{display:flex;flex-direction:column;gap:8px}.program{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-height:58px}.blk{position:relative;display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:0;border-radius:11px;padding:12px 14px 12px 12px;font:600 14.5px/1.3 var(--body);color:#fff;cursor:pointer;box-shadow:0 2px 0 rgba(0,0,0,.22)}.blk .nub{width:11px;height:11px;border-radius:3px;background:rgba(255,255,255,.55);flex:none}.blk.cat-start{background:#5b6b80;cursor:default}.blk.cat-motion{background:#1e98c9}.blk.cat-loops{background:#2e9e4f}.blk.cat-logic{background:#17a398}.blk.cat-vars{background:var(--accent)}.blk.used{opacity:.32;cursor:default;box-shadow:none}.program .blk{cursor:default}.blk .rm{margin-left:auto;background:rgba(0,0,0,.22);border:0;color:#fff;width:24px;height:24px;border-radius:7px;cursor:pointer;font-size:16px;line-height:1;flex:none}.note{color:var(--gold);font-size:14px;margin:14px 0 16px;min-height:21px;font-weight:600}.demo-stage{display:flex;flex-direction:column}.demo-stage canvas{width:100%;height:320px;display:block;border-radius:14px;background:#1d4a73;border:1px solid rgba(255,255,255,.12);touch-action:none;cursor:crosshair}.hud{display:flex;align-items:baseline;gap:9px;margin:0 0 10px}.hud span{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:#9fb3c9}.hud strong{font:700 24px var(--display);color:var(--gold)}pre.code{margin:14px 0 8px;padding:15px 16px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);overflow-x:auto;font:500 13.5px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace;color:#cfe0f0;white-space:pre}.c-kw{color:#ff9d6e}.c-num{color:#8ce0a8}.c-com{color:#7b8ea6;font-style:italic}.band.dark .fine{color:#8ea3ba}@media (min-width:900px){.demo{grid-template-columns:minmax(300px,1fr) 1.25fr;gap:34px;align-items:start}}header.site{background:var(--dark);border-bottom:1px solid rgba(255,255,255,.1)}.brand img{display:block;height:34px;width:auto}.burger{border-color:rgba(255,255,255,.22)}.burger span,.burger span::before,.burger span::after{background:#fff}nav.main a{color:#d7e2ef;border-bottom-color:rgba(255,255,255,.1)}nav.main a.on{color:#67c6ec}@media (min-width:1000px){nav.main a:hover{background:rgba(255,255,255,.08)}}.ladder > input{position:absolute;opacity:0;pointer-events:none}.belt-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.belt-tile{display:flex;flex-direction:column;align-items:center;gap:5px;padding:13px 7px 11px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;text-align:center}.belt-tile img{width:52px;height:auto;display:block}.belt-tile span{font:700 14px var(--display);color:var(--ink)}.belt-tile b{font-size:11.5px;font-weight:500;color:var(--ink-soft)}.belt-tile:hover{border-color:var(--brand)}.belt-panels{margin-top:18px}.belt-panel{display:none;background:var(--soft);border:1px solid var(--line);border-radius:var(--r);padding:22px}.belt-panel h3{font-size:21px;margin:0 0 7px}.belt-panel .summary{color:var(--ink-2);margin:0 0 18px;max-width:70ch}ol.levels{list-style:none;margin:0;padding:0;display:grid;gap:13px}ol.levels li{display:flex;gap:13px;align-items:flex-start}ol.levels .lv{flex:none;width:30px;height:30px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 13.5px var(--display)}ol.levels strong{display:block;font-family:var(--display);color:var(--ink)}ol.levels p{margin:1px 0 0;font-size:14.5px;color:var(--ink-soft);max-width:62ch}.belt-panel h3,.band.dark .belt-panel h3{color:var(--ink)}.lv-official{display:block;font-style:normal;font-size:12.5px;font-weight:600;color:var(--brand);margin-top:2px}ol.levels .lv-sub{margin-top:10px}ol.levels .lv-sub ul{text-transform:none;letter-spacing:normal;font-weight:400;font-family:var(--body)}ol.levels ul.lv-builds li,ol.levels ul.lv-skills li{display:block}ol.levels ul.lv-skills li{margin-bottom:6px}#bl-white:checked ~ .belt-tiles .belt-white,#bl-yellow:checked ~ .belt-tiles .belt-yellow,#bl-orange:checked ~ .belt-tiles .belt-orange,#bl-green:checked ~ .belt-tiles .belt-green,#bl-blue:checked ~ .belt-tiles .belt-blue,#bl-purple:checked ~ .belt-tiles .belt-purple,#bl-brown:checked ~ .belt-tiles .belt-brown,#bl-red:checked ~ .belt-tiles .belt-red,#bl-black:checked ~ .belt-tiles .belt-black{border-color:var(--ink);background:#fff;box-shadow:var(--shadow-lift)}#bl-white:checked ~ .belt-panels .panel-white,#bl-yellow:checked ~ .belt-panels .panel-yellow,#bl-orange:checked ~ .belt-panels .panel-orange,#bl-green:checked ~ .belt-panels .panel-green,#bl-blue:checked ~ .belt-panels .panel-blue,#bl-purple:checked ~ .belt-panels .panel-purple,#bl-brown:checked ~ .belt-panels .panel-brown,#bl-red:checked ~ .belt-panels .panel-red,#bl-black:checked ~ .belt-panels .panel-black{display:block}.ladder input:focus-visible + .belt-tiles .belt-tile{outline:3px solid var(--brand)}@media (min-width:720px){.belt-tiles{grid-template-columns:repeat(9,1fr);gap:8px}.belt-tile img{width:46px}ol.levels{grid-template-columns:1fr 1fr;gap:16px 26px}}.bar .btn{white-space:nowrap}@media (min-width:1000px){.bar .btn{min-width:173px}}html{scrollbar-gutter:stable}@view-transition{navigation:auto}header.site{view-transition-name:site-header}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}@media (min-width:1000px){nav.main a.menuonly{display:none}}@media (min-width:1000px) and (max-width:1179px){nav.main a{padding:9px 10px;font-size:15px}.brand img{height:30px}}.band h2 + .sub,.band .eyebrow + h2 + .sub,.band > .wrap > p{max-width:62ch}.band > .wrap > h2,.band > .wrap > .eyebrow{max-width:none}.cta-inner{max-width:720px;text-align:center}.steps{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px;counter-reset:s}.steps li{counter-increment:s;position:relative;padding:20px 20px 20px 70px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.steps li::before{content:counter(s);position:absolute;left:20px;top:19px;width:34px;height:34px;border-radius:11px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:16px}.band.alt .steps li{background:#fff}.steps h3{margin:0 0 4px;font-size:17px}.steps p{margin:0;color:var(--ink-soft);max-width:48ch}.card.prog{padding:0;overflow:hidden}.phead{display:flex;align-items:center;gap:13px;padding:17px 20px;background:color-mix(in srgb,var(--c) 9%,#fff);border-bottom:1px solid color-mix(in srgb,var(--c) 22%,#fff)}.phead .icon{margin:0;background:#fff;box-shadow:0 1px 3px color-mix(in srgb,var(--c) 35%,transparent)}.pmeta{display:block;min-width:0}.pmeta strong{display:block;font:700 18px/1.2 var(--display);color:var(--ink)}.pmeta em{display:block;font-style:normal;font-size:13px;color:var(--ink-soft);font-weight:600;margin-top:2px}.card.prog .does{display:block;padding:17px 20px 0;margin:0;color:var(--ink-2)}ul.tags{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:0 20px}ul.tags li{font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px 11px}.card.prog .foot{margin-top:auto;padding:16px 20px;border-top:1px solid var(--line)}.grid,.grid.two{grid-template-columns:minmax(0,1fr)}@media (min-width:720px){.grid,.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}@media (min-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}.card.track{border-left:4px solid var(--accent)}.card.track h3{margin-bottom:6px}.card.track p{margin:0;color:var(--ink-soft)}.card.camp .price{color:var(--accent)}p,li,.sub,.lede,.does,.summary{text-wrap:pretty}.lede{max-width:56ch}.sub{max-width:66ch}.steps p{max-width:none}.belt-panel .summary{max-width:74ch}ol.levels p{max-width:none}.prose p{max-width:68ch}.card .does{max-width:none}.proof{display:grid;grid-template-columns:1fr;gap:22px;margin-top:26px}.proof-note{background:#fff;border-radius:var(--r);padding:20px;box-shadow:0 18px 44px -22px rgba(0,0,0,.6)}.pn-head{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.pn-dot{width:9px;height:9px;border-radius:50%;background:#2e9e4f;flex:none}.pn-quote{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink-2)}.pn-by{margin:10px 0 0;font-size:14px;color:var(--ink-soft);font-weight:600}.pn-ask{margin-top:16px;padding:14px 16px;border-left:4px solid var(--brand);background:var(--soft);border-radius:0 11px 11px 0}.pn-ask strong{display:block;font-family:var(--display);font-size:14px;color:var(--ink)}.pn-ask span{display:block;font-size:14.5px;color:var(--ink-soft);margin-top:3px}.faqs{margin-top:20px;border-top:1px solid var(--line)}.faqs details{border-bottom:1px solid var(--line);padding:16px 0}.faqs summary{font-size:17px}.faqs p{max-width:72ch}@media (min-width:880px){.proof{grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}}footer.site{background:var(--dark);color:#b9c8da;border-top:0;padding:46px 0 0}footer.site .fcols{display:grid;grid-template-columns:1fr;gap:34px}footer.site h3{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#7f94ab;margin:0 0 12px;font-family:var(--display)}footer.site a{color:#dce7f2;text-decoration:none}footer.site a:hover{color:#fff;text-decoration:underline}.fbrand img{display:block;height:32px;width:auto;margin-bottom:14px}.fline{margin:0;color:#8ea3ba;font-size:14.5px;max-width:34ch}.fsocial{display:flex;gap:10px;margin-top:18px}.fsocial a{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}.fsocial a:hover{background:rgba(255,255,255,.14)}.fsocial svg{width:19px;height:19px;fill:#dce7f2}footer.site ul.plain a{display:block;padding:5px 0;font-size:14.5px}.fmap{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);margin-bottom:16px}.fmap:hover{background:rgba(255,255,255,.1);text-decoration:none}.fpin{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(13,184,143,.2)}.fpin svg{width:19px;height:19px;fill:none;stroke:var(--accent-bright);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fmap strong{display:block;color:#fff;font-size:14.5px;font-weight:600}.fmap span{font-size:14px;color:#9fb3c9;line-height:1.5}.fmap em{display:block;font-style:normal;color:var(--accent-bright);font-weight:600;font-size:13.5px;margin-top:5px}.fcontact{margin:0 0 20px;display:flex;flex-direction:column;gap:4px;font-size:14.5px}footer.site table.hours{font-size:14px}footer.site table.hours th{color:#dce7f2;font-weight:500;padding:5px 0}footer.site table.hours td{color:#8ea3ba;padding:5px 0}footer.site .fine{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding:16px 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}footer.site .fine p{margin:0;font-size:13px;color:#7f94ab}.cta-band h2{font-size:clamp(26px,4.6vw,38px)}.cta-band p{max-width:52ch;margin-left:auto;margin-right:auto;font-size:17px}@media (min-width:760px){footer.site .fcols{grid-template-columns:1.15fr .8fr 1.05fr;gap:40px}}.openpill{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-family:var(--display);font-size:14px;padding:8px 15px;border-radius:999px;margin-bottom:14px;border:1px solid}.openpill.open{color:#176b36;background:#eaf8ef;border-color:#bfe6cd}.openpill.shut{color:#7a3b2e;background:#fdefea;border-color:#f3cfc2}.openpill i{width:8px;height:8px;border-radius:50%;background:currentColor;font-style:normal}.book{display:grid;grid-template-columns:1fr;gap:34px;align-items:start}.slot{padding:14px 8px;border-radius:12px;border:2px solid var(--line);background:#fff;cursor:pointer;font:700 15px var(--display);color:var(--ink)}.slot:hover{border-color:var(--brand)}.slot.on{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 6px 16px -8px rgba(7,121,93,.55)}.chosen{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin:0 0 20px;font-size:15px}.chosen strong{font-family:var(--display);color:var(--ink)}.book form{display:grid;gap:15px}.book label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-2);font-family:var(--display)}.book input,.book select{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;font:400 16px var(--body);color:var(--ink);background:#fff}.book input:focus,.book select:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}.book label.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-family:var(--body);font-size:14.5px;color:var(--ink-soft)}.book label.check input{width:auto;margin:2px 0 0}.book .btn{width:100%}.booked{background:#eaf8ef;border:1px solid #bfe6cd;border-radius:var(--r);padding:24px}.booked h3{color:#176b36;font-size:21px}.booked p{margin:8px 0 0;color:#2f5a41}@media (min-width:860px){.book{grid-template-columns:1fr 1fr;gap:46px}}footer.site ul.plain a{color:#cddae8}footer.site ul.plain a:hover{color:#fff}.hourlist{list-style:none;margin:0;padding:14px 8px 8px}.hourlist li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 12px;border-radius:11px}.hourlist li + li{margin-top:2px}.hourlist span{font-family:var(--display);font-weight:700;color:var(--ink);font-size:15.5px}.hourlist b{font-weight:600;color:var(--ink-2);font-size:15px;white-space:nowrap}.hourlist li.shut{color:var(--ink-soft)}.hourlist li.shut span,.hourlist li.shut b{color:var(--ink-soft);font-weight:500}.hourlist li.today{background:#eef7fd;box-shadow:inset 0 0 0 1px #cfe6f6}.fofficial{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;border-radius:11px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:13.5px;font-weight:600}.fofficial:hover{background:rgba(255,255,255,.13);text-decoration:none}.fofficial svg{width:15px;height:15px;fill:none;stroke:#67c6ec;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.faqs p{max-width:none}.belt-panel .summary{max-width:none}.sub,.lede{max-width:62ch}.prose p,.prose li{max-width:66ch}.openside p,.campnext p,.booked p{max-width:52ch}.band > .wrap > p:not(.sub):not(.fine):not(.cta):not(.srcnote){max-width:62ch}.cta-band p{max-width:52ch}.belt-panel .summary{max-width:72ch}.faqs{max-width:none;display:grid;grid-template-columns:1fr;gap:0 44px;border-top:1px solid var(--line);margin-top:20px}.faqs details{border-bottom:1px solid var(--line);padding:16px 0;margin:0}.faqs summary{font-size:16.5px}.faqs p{max-width:none;font-size:15.5px}@media (min-width:900px){.faqs{grid-template-columns:1fr 1fr;border-top:0}.faqs details{border-top:1px solid var(--line);border-bottom:0}}footer.site{padding:34px 0 0}footer.site .fcols{gap:26px}footer.site h3{margin-bottom:9px}.fline{font-size:14px}.fsocial{margin-top:13px}.fsocial a{width:34px;height:34px;border-radius:10px}.fsocial svg{width:17px;height:17px}.fofficial{margin-top:13px;padding:8px 12px;font-size:13px}footer.site ul.plain a{padding:4px 0;font-size:14px}.fmap{padding:12px;margin-bottom:13px}.fcontact{margin:0 0 15px;gap:2px;font-size:14px}.fhours{list-style:none;margin:0;padding:0;font-size:14px}.fhours li{display:flex;justify-content:space-between;gap:14px;padding:4px 0}.fhours span{color:#dce7f2;font-weight:500}.fhours b{color:#8ea3ba;font-weight:500}.fhours li.shut span,.fhours li.shut b{color:#7f94ab}footer.site .fine{margin-top:26px;padding:14px var(--gutter)}.fmap strong{text-wrap:balance}@media (min-width:760px){footer.site .fcols{grid-template-columns:.7fr .8fr 1.5fr;gap:26px 32px}.fbrand{grid-column:1/-1}.fline{max-width:none}}@media (min-width:1080px){footer.site .fcols{grid-template-columns:1fr .65fr .75fr 1.5fr}.fbrand{grid-column:auto}.fline{max-width:34ch}}.fhours li.shut{font-size:13px;color:#8ea3ba}.fbottom{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.fbottom .fofficial,.fbottom .fsocial{margin:0}footer.site .fbottom p{display:flex;gap:14px}.rowlabel{font-family:var(--display);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);margin:26px 0 12px}.rowlabel:first-child{margin-top:4px}.grid.three{grid-template-columns:minmax(0,1fr)}@media (min-width:720px){.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1000px){.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:880px){.proof{align-items:stretch}}.btn{border-radius:9px}.icon.art{background:#fff;padding:3px}.icon.art img{display:block;width:100%;height:auto;object-fit:contain}.calendar{display:grid;grid-template-columns:1fr;gap:12px;margin-top:22px}.cal-day{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;box-shadow:var(--shadow)}.cal-head{display:flex;align-items:baseline;gap:7px;padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid var(--line)}.cal-head b{font:700 15px var(--display);color:var(--ink);text-transform:uppercase;letter-spacing:.06em}.cal-head span{font-size:13px;color:var(--ink-soft)}.cal-slot{display:block;text-decoration:none;border-radius:11px;padding:11px 13px;margin-bottom:9px;background:color-mix(in srgb,var(--c) 8%,#fff);border:1px solid color-mix(in srgb,var(--c) 26%,#fff);border-left:4px solid var(--c)}.cal-slot:last-child{margin-bottom:0}.cal-slot:hover{background:color-mix(in srgb,var(--c) 15%,#fff)}.cal-time{display:block;font:700 14.5px var(--display);color:var(--ink)}.cal-prog{display:block;font-size:14px;font-weight:600;color:var(--ink-2);margin-top:2px}@media (min-width:760px){.calendar{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:start}.cal-day{padding:12px 10px}.cal-slot{padding:10px}.cal-time{font-size:13.5px}.cal-prog{font-size:13px}}.cal-head b{font-size:14px}@media (min-width:760px){.cal-head b{font-size:12.5px}.cal-head b::first-line{}}.cal-head{justify-content:space-between}.cal-head em{font-style:normal;font-size:11.5px;color:var(--ink-soft);font-weight:600;white-space:nowrap}.cal-slots{display:grid;gap:9px}@media (min-width:760px){.calendar{grid-template-columns:repeat(4,minmax(0,1fr)) 1.75fr}.cal-day.busy .cal-slots{grid-template-columns:1fr 1fr;gap:9px}}.cal-slot{padding:9px 11px;margin-bottom:0}.cal-time{display:flex;align-items:baseline;gap:7px;font:700 14px var(--display);color:var(--ink)}.cal-time i{font-style:normal;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c);background:#fff;border:1px solid color-mix(in srgb,var(--c) 34%,#fff);border-radius:999px;padding:2px 6px;white-space:nowrap}.cal-prog{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-top:3px;line-height:1.35}.cal-prog em{font-style:normal;font-weight:500;color:var(--ink-soft);font-size:12px}.cal-slot{display:flex;align-items:flex-start;gap:10px;min-height:76px}.cal-ico{flex:none;width:30px;height:30px;border-radius:9px;background:#fff;border:1px solid color-mix(in srgb,var(--c) 22%,#fff);display:grid;place-items:center;padding:2px;margin-top:1px}.cal-ico img{display:block;width:100%;height:auto;object-fit:contain}.cal-ico.svg svg{width:17px;height:17px;stroke:var(--c);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cal-body{min-width:0}.cal-slots{grid-auto-rows:1fr}.cal-slot{min-height:0;height:100%;align-items:center}.cal-slots{grid-auto-rows:66px}.cal-time{font-size:13.5px;white-space:nowrap}.cal-prog{display:flex;align-items:baseline;gap:6px;margin-top:2px;font-size:13px;white-space:nowrap}.cal-prog i{font-style:normal;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c);background:#fff;border:1px solid color-mix(in srgb,var(--c) 34%,#fff);border-radius:999px;padding:2px 6px}.cal-ico{width:28px;height:28px;margin-top:0}@media (min-width:760px){.calendar{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar.wide{grid-template-columns:1fr;margin-top:10px}.calendar.wide .cal-slots{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1000px){.calendar.wide .cal-slots{grid-template-columns:repeat(5,minmax(0,1fr))}}.lvgrid .lv{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}.lvgrid{display:grid;gap:14px;margin-top:22px}.lv-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.lv-no{flex:none;width:26px;height:26px;border-radius:8px;background:var(--dark);color:#fff;display:grid;place-items:center;font:700 12.5px var(--display)}.lv-head strong{font:700 16px var(--display);color:var(--ink)}.lv-concept{margin:0 0 10px;font-size:14px;color:var(--brand);font-weight:600}.lv-sub{font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--ink-soft);font-family:var(--display);margin-bottom:6px}.lv-sub + .lv-sub{margin-top:12px}ul.lv-builds{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0 0 2px;padding:0}ul.lv-builds li{font-size:13px;font-weight:600;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px 11px}ul.lv-skills{list-style:none;margin:0;padding:0;display:grid;gap:7px}ul.lv-skills li{font-size:13.5px}ul.lv-skills b{color:var(--ink);font-weight:600}ul.lv-skills span{color:var(--ink-soft);display:block;font-size:13px;line-height:1.5}.lvgrid .lv .fine{margin:10px 0 0}details.checks,details.skillset{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}details.checks summary,details.skillset summary{cursor:pointer;font:600 13px var(--display);color:var(--brand);list-style:none}details.checks summary::-webkit-details-marker,details.skillset summary::-webkit-details-marker{display:none}details.checks summary::marker,details.skillset summary::marker{content:""}details.checks summary::after,details.skillset summary::after{content:"+";font-weight:700;margin-left:6px}details.checks[open] summary::after,details.skillset[open] summary::after{content:"–"}details.checks ul{margin:10px 0 0;padding-left:18px;display:grid;gap:6px}details.checks li{font-size:13px;color:var(--ink-soft);line-height:1.5}details.skillset summary{display:flex;align-items:center;gap:8px}details.skillset summary span{font-size:11.5px;font-weight:700;color:var(--ink-soft);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:1px 7px}details.skillset summary::after{margin-left:auto}details.skillset ul.lv-skills{margin-top:10px}@media (min-width:820px){.lvgrid{grid-template-columns:1fr 1fr}ul.lv-skills{grid-template-columns:1fr}}.games{display:flex;gap:16px;margin-top:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 4px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:10px;scrollbar-width:none}.games::-webkit-scrollbar{display:none}.games .game{flex:0 0 74%;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;gap:2px}@media (min-width:560px){.games{display:grid;gap:30px 20px;grid-template-columns:1fr 1fr;justify-items:center;overflow:visible;padding-bottom:0}.games .game{flex:none;max-width:280px}}@media (min-width:900px){.games{grid-template-columns:repeat(3,1fr)}}.games .shot{position:relative;display:block;line-height:0;margin-top:8px;overflow:visible;border-radius:0;background:none;box-shadow:none;transition:transform .22s cubic-bezier(.2,.7,.3,1)}.games .shot img{position:relative;z-index:1;display:block;width:auto;height:250px;max-width:100%;aspect-ratio:311/366;object-fit:contain;border-radius:18px;filter:drop-shadow(0 14px 18px rgba(0,0,0,.42)) drop-shadow(0 2px 3px rgba(0,0,0,.3));transition:filter .22s ease}.games .cue{position:absolute;left:50%;top:33%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;z-index:2;background:rgba(9,22,38,.62);border:2px solid rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(0,0,0,.4);opacity:0;transform:scale(.82);transition:opacity .22s ease,transform .22s cubic-bezier(.2,.7,.3,1)}.games .cue::after{content:"";position:absolute;left:21px;top:15px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #fff}.games .game:hover .shot,.games .game:focus-visible .shot{transform:translateY(-8px)}.games .game:hover .shot img,.games .game:focus-visible .shot img{filter:drop-shadow(0 26px 30px rgba(0,0,0,.5)) drop-shadow(0 3px 5px rgba(0,0,0,.34))}.games .shot:hover img{transform:none}.games .game:hover .cue,.games .game:focus-visible .cue{opacity:1;transform:scale(1)}.games .game strong{margin-top:20px;font:700 16px var(--display);color:var(--ink);transition:color .18s ease}.games .game:hover strong{color:var(--accent)}.games .game em{font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-family:var(--display)}@media (prefers-reduced-motion:reduce){.games .shot,.games .shot img,.games .cue,.games .game strong{transition:none}.games .game:hover .shot,.games .game:focus-visible .shot{transform:none}}@media (min-width:820px){ol.steps.pairs{grid-template-columns:1fr 1fr}}.srcnote,.band > .wrap > p.srcnote,.band .wrap p.srcnote{max-width:none;margin:22px 0 0;padding-top:16px;font-size:13.5px;line-height:1.6;color:var(--ink-soft);border-top:1px solid var(--line)}.srcnote a{color:var(--brand)}@media (max-width:819px){ol.steps.pairs{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:10px;scrollbar-width:none}ol.steps.pairs::-webkit-scrollbar{display:none}ol.steps.pairs > li{flex:0 0 82%;scroll-snap-align:center;margin:0}}.hero.camp{position:relative;overflow:hidden}.hero.camp::before{content:"";position:absolute;top:-30%;right:-10%;width:60%;height:120%;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,rgba(13,184,143,.26),transparent)}.hero.camp .wrap{position:relative;display:grid;gap:30px;grid-template-columns:1fr;align-items:center}.hero.camp .pills{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px;padding:0;list-style:none}.hero.camp .pills li{font:600 13px var(--body);color:#dbe9f6;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 13px}.hero.camp .scene,.hero.camp img.scene{display:block;width:100%;height:auto;border-radius:20px}.hero.camp img.scene{aspect-ratio:16/10;object-fit:cover;box-shadow:0 30px 60px -22px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.10)}.hero.camp svg.scene{filter:drop-shadow(0 24px 36px rgba(0,0,0,.45))}.campstats{background:var(--dark);border-top:1px solid rgba(255,255,255,.08)}.campstats .wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.08);padding:0}.campstats .stat{background:var(--dark);padding:22px 18px;text-align:center}.campstats .stat b{display:block;font:700 25px var(--display);color:#fff;line-height:1.1}.campstats .stat span{display:block;font:700 11.5px var(--display);letter-spacing:.09em;text-transform:uppercase;color:#8fa9c4;margin-top:6px}.builds{display:grid;gap:18px;grid-template-columns:1fr;margin-top:26px}.builds .build{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.builds .art{background:linear-gradient(160deg,#10324f,#0a4571);aspect-ratio:16/7;display:grid;place-items:center;overflow:hidden}.builds .art svg.motif,.builds .art img.campimg{display:block;width:100%;height:100%;object-fit:cover}.builds .txt{padding:20px 22px 22px}.builds .bno{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--dark);color:#fff;font:700 13.5px var(--display);margin-bottom:11px}.builds h3{font-size:17px;margin-bottom:6px}.builds p{margin:0;color:var(--ink-soft);font-size:14.5px}.concepts{display:grid;gap:18px;grid-template-columns:1fr;margin-top:26px}.concepts .concept{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow)}.concepts .concept h3{font-size:16.5px;margin-bottom:10px}.concepts .concept p{margin:12px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.55}.blocks{display:grid;gap:4px;font:600 12.5px var(--body)}.blk{color:#fff;border-radius:7px;padding:8px 12px;width:fit-content;max-width:100%;box-shadow:0 1px 0 rgba(0,0,0,.18) inset}.blk.ev{background:#c8a21a}.blk.var{background:#e07a3c}.blk.ctl{background:#c77c2b}.blk.act{background:#3a7bbf}.blk.op{background:#4a9c5d}.blk.ind{margin-left:18px}.blk em{font-style:normal;background:rgba(255,255,255,.22);border-radius:5px;padding:1px 7px;margin:0 2px}ul.outcomes{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px}ul.outcomes li{position:relative;padding-left:32px;color:#d7e2ef;font-size:15.5px}ul.outcomes li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:6px;background:var(--accent)}ul.outcomes li::after{content:"";position:absolute;left:7px;top:6px;width:6px;height:11px;box-sizing:border-box;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.dates{display:grid;gap:12px;margin-top:22px}.dates .date{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent-bright);border-radius:12px;padding:15px 18px;flex-wrap:wrap}.dates .date b{font:700 15.5px var(--display)}.dates .date span{color:var(--ink-soft);font-size:14px}.dates .date .price{font:700 15px var(--display);color:var(--ink)}.dates .date .btn{margin-left:auto;padding:9px 16px;font-size:14px}.rel{--c:var(--brand);position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;text-decoration:none;background:#fff;border:1px solid var(--line);box-shadow:0 1px 2px rgba(13,23,38,.05),0 10px 26px -16px rgba(13,23,38,.25);transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s ease,border-color .24s ease}.rel:hover,.rel:focus-visible{transform:translateY(-6px);border-color:var(--c);box-shadow:0 10px 20px -8px rgba(13,23,38,.18),0 30px 50px -24px rgba(13,23,38,.45)}.rel .shot{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--dark-2)}.ageflag{position:absolute;left:12px;top:12px;padding:4px 11px;border-radius:999px;background:#fff;color:var(--accent);font:600 13px var(--body)}.rel .shot svg.motif,.rel .shot img.campimg{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.3,1)}.rel:hover .shot img.campimg,.rel:hover .shot svg.motif{transform:scale(1.07)}.rel .txt{position:relative;display:flex;flex-direction:column;flex:1;padding:16px 18px 18px;background:#fff;border-top:1px solid var(--line)}.rel b{display:block;font:700 17px var(--display);color:var(--ink);line-height:1.25;margin-bottom:5px}.rel .txt > span{display:block;font-size:13.5px;color:var(--ink-2);line-height:1.45}.rel .txt > .su{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14.5px;color:var(--ink-soft)}.rel .txt::after{content:"";position:absolute;right:16px;bottom:17px;width:9px;height:9px;border:solid var(--c);border-width:2px 2px 0 0;transform:rotate(45deg);opacity:0;transition:opacity .22s ease,transform .22s cubic-bezier(.2,.7,.3,1)}.rel:hover .txt::after{opacity:1;transform:rotate(45deg) translate(3px,-3px)}.related{display:grid;gap:18px;grid-template-columns:1fr;margin-top:24px}@media (min-width:720px){.campstats .wrap{grid-template-columns:repeat(4,1fr)}.builds{grid-template-columns:1fr 1fr}.concepts{grid-template-columns:1fr 1fr}.related{grid-template-columns:repeat(3,1fr)}ul.outcomes{grid-template-columns:1fr 1fr;gap:12px 30px}}@media (min-width:980px){.hero.camp .wrap{grid-template-columns:.92fr 1.08fr;gap:44px;align-items:stretch}.hero.camp img.scene{height:100%;aspect-ratio:auto;object-fit:cover}.hero.camp .wrap > div{align-self:center}}@media (prefers-reduced-motion:reduce){.related .rel,.related .shot img.campimg,.related .shot svg.motif{transition:none}.related .rel:hover{transform:none}.related .rel:hover .shot img.campimg{transform:none}}.hero.camps{position:relative;overflow:hidden;color:#fff;padding-block:56px 60px;background: radial-gradient(60% 80% at 85% 5%,rgba(13,184,143,.28),transparent 62%),radial-gradient(50% 70% at 5% 95%,rgba(24,122,191,.35),transparent 60%),linear-gradient(165deg,var(--dark) 0%,var(--dark-2) 100%)}.hero.camps h1{color:#fff;font-size:clamp(30px,4.8vw,48px);margin-bottom:16px}.hero.camps .lede{color:#cfe0f0;font-size:18px;max-width:58ch;margin:0}.cathead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cathead h2{margin:0}.count{margin:0;font:700 12.5px var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:rgba(13,184,143,.12);border:1px solid rgba(13,184,143,.3);border-radius:999px;padding:7px 15px}.filters{margin:22px 0 28px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 1px 2px rgba(13,23,38,.05),0 14px 34px -22px rgba(13,23,38,.3)}.fhead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px 10px 5px 20px;background:var(--soft);border-bottom:1px solid var(--line)}.ftoggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:none;border:0;padding:9px 0;cursor:default;text-align:left;color:inherit}.ftitle{font:700 12px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.fsum{font:700 11.5px var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.fchev{display:none;width:17px;height:17px;margin-left:auto;color:var(--ink-soft);transition:transform .22s ease}.fbody{display:grid;gap:18px;padding:18px 20px 20px}.fgroup{display:grid;gap:10px;align-content:start;min-width:0}.flabel{display:flex;align-items:center;gap:7px;font:700 11px var(--display);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft)}.flabel svg{width:15px;height:15px;color:var(--brand);flex:none}.chips{display:flex;flex-wrap:wrap;gap:8px}.seasons{display:grid;gap:6px;align-content:start}.srow{position:relative;display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:9px 13px;cursor:pointer;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.2,.7,.3,1)}.srow::before{content:"";position:absolute;inset:0;opacity:0;background:linear-gradient(100deg,var(--c),color-mix(in srgb,var(--c) 72%,#000));transition:opacity .22s ease}.srow > *{position:relative}.srow svg{width:17px;height:17px;flex:none;color:var(--c);transition:color .18s ease,transform .3s cubic-bezier(.2,.7,.3,1)}.srow span{flex:1;font:600 14px var(--body);color:var(--ink);transition:color .18s ease}.srow em{font-style:normal;font:600 11.5px var(--display);letter-spacing:.04em;color:var(--ink-soft);white-space:nowrap;transition:color .18s ease}.srow:hover{border-color:var(--c);transform:translateX(2px)}.srow:hover svg{transform:rotate(-12deg) scale(1.1)}.srow[aria-pressed="true"]{border-color:var(--c);box-shadow:0 8px 18px -8px var(--c)}.srow[aria-pressed="true"]::before{opacity:1}.srow[aria-pressed="true"] svg,.srow[aria-pressed="true"] span{color:#fff}.srow[aria-pressed="true"] em{color:rgba(255,255,255,.85)}[data-camps]{position:relative;isolation:isolate;transition:background-color .45s ease}[data-camps][data-season-on]{background-color:color-mix(in srgb,var(--season-c) 7%,#fff)}[data-camps]::before,[data-camps]::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:0;transition:opacity .45s ease}[data-camps]::before{background: linear-gradient(180deg,color-mix(in srgb,var(--season-c) 20%,transparent) 0%,color-mix(in srgb,var(--season-c) 7%,transparent) 42%,transparent 78%),radial-gradient(55% 45% at 90% 8%,color-mix(in srgb,var(--season-c) 26%,transparent),transparent 70%),radial-gradient(45% 40% at 5% 60%,color-mix(in srgb,var(--season-c) 18%,transparent),transparent 70%)}[data-camps][data-season-on]::before{opacity:1}[data-camps][data-season-on]::after{opacity:.22}[data-camps] > .wrap{position:relative;z-index:1}.chip{display:inline-flex;align-items:center;gap:7px;font:600 13.5px var(--body);color:var(--ink-2);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.chip:hover{transform:translateY(-1px);border-color:var(--c,var(--accent));color:var(--c,var(--accent))}.chip[aria-pressed="true"]{background:var(--c,var(--accent));border-color:var(--c,var(--accent));color:#fff;box-shadow:0 6px 14px -6px var(--c,var(--accent))}.chip .dot{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none;transition:background .16s ease}.chip[aria-pressed="true"] .dot{background:rgba(255,255,255,.85)}.clearf{display:inline-flex;align-items:center;gap:7px;font:700 12.5px var(--display);letter-spacing:.03em;color:#fff;background:var(--dark);border:0;border-radius:999px;padding:8px 15px;cursor:pointer;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.clearf svg{width:13px;height:13px}.clearf:hover{background:#b3282d;transform:translateY(-1px);box-shadow:0 8px 16px -8px rgba(179,40,45,.8)}@media (max-width:979px){.ftoggle{cursor:pointer}.fchev{display:block}.filters[data-open] .fchev{transform:rotate(180deg)}.fbody{display:none}.filters[data-open] .fbody{display:grid}}.catalogue{display:grid;gap:20px;grid-template-columns:1fr}.catalogue [data-camp]{display:block}.catalogue [data-camp][hidden]{display:none}.catalogue .rel{height:100%}.empty{margin:26px 0 0;padding:34px;text-align:center;color:var(--ink-soft);background:var(--soft);border:1px dashed var(--line);border-radius:20px}@media (min-width:640px){.catalogue{grid-template-columns:1fr 1fr}}@media (min-width:980px){.catalogue{grid-template-columns:repeat(3,1fr)}.filters{position:sticky;top:64px;z-index:9}.fbody{grid-template-columns:minmax(380px,auto) minmax(300px,1fr);align-items:stretch;gap:0}.fbody > * + *{border-left:1px solid var(--line);padding-left:28px;margin-left:28px}.seasons{grid-template-columns:1fr 1fr;gap:8px}}@media (prefers-reduced-motion:reduce){.rel,.rel .shot img.campimg,.rel .shot svg.motif,.chip,.rel .txt::after,.srow,.srow::before,.srow svg,[data-camps],[data-camps]::before,[data-camps]::after{transition:none}.srow:hover{transform:none}.srow:hover svg{transform:none}.rel:hover{transform:none}.rel:hover .shot img.campimg{transform:none}}.price-card{position:relative;display:flex;flex-direction:column;padding-top:26px;overflow:hidden}.price-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--c)}.pc-head{display:flex;align-items:center;gap:13px;margin-bottom:14px}.pc-head h3{margin:0;font-size:20px}.pc-head .ages{margin:2px 0 0;font-size:13px;color:var(--ink-soft)}.price-card .bigprice{margin:0}.price-card > .fine{margin:2px 0 14px}.price-card ul{flex:1}.price-card .btn{align-self:stretch;text-align:center}.addname{display:flex;align-items:center;gap:11px}.addname > span{display:block}.addname .icon{flex:none}table.sched .addname .icon{width:40px;height:40px;flex:none}table.sched .addname .icon img,table.sched .addname .icon .vrbadge{width:34px;height:34px;object-fit:contain}.icon.art.badge{background:none;border:0}.icon .vrbadge{display:block;width:40px;height:40px}table.sched .addname > span > span,table.sched tbody th{font-size:16px}table.sched .addname small{font-size:13.5px}table.sched thead th + th,table.sched tbody td{text-align:center}table.sched tbody th,table.sched tbody td{vertical-align:middle}table.sched tbody th{padding-top:20px;padding-bottom:20px}table.sched tbody td{font:700 20px var(--display);color:var(--ink);padding-top:20px;padding-bottom:20px}table.sched tbody td .amt{display:block;position:relative}table.sched tbody td small{font-weight:600;font-size:13px;color:var(--ink-soft)}table.sched tbody td small.note{position:absolute;top:100%;left:0;right:0;margin-top:0;line-height:1.3}table.sched tbody td.na{font:600 14.5px var(--body);color:var(--ink-soft)}.academy{--c:var(--brand)}.acfigs{display:grid;grid-template-columns:repeat(3,auto);gap:14px 34px;justify-content:start;margin:0 0 26px;padding:18px 24px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:16px;width:fit-content;max-width:100%;box-shadow:var(--shadow)}.acfigs b{display:block;font:700 30px/1 var(--display);color:var(--c)}.acfigs span{display:block;margin-top:4px;font:700 11px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.modlist{display:grid;gap:10px}.modrow{background:#fff;border:1.5px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.modrow:hover{border-color:var(--c)}.modrow[open]{border-color:var(--c);box-shadow:0 10px 26px -18px var(--c)}.modrow summary{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;list-style:none}.modrow summary::-webkit-details-marker{display:none}.modrow summary::after{content:"";margin-left:auto;width:9px;height:9px;border:solid var(--c);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translateY(-2px);transition:transform .22s ease}.modrow[open] summary::after{transform:rotate(-135deg) translateY(-2px)}.modno{display:grid;place-items:center;flex:none;min-width:34px;height:34px;padding:0 8px;border-radius:10px;background:var(--c);color:#fff;font:700 13.5px var(--display)}.modname{font:700 16.5px var(--display);color:var(--ink)}.modcount{margin-left:4px;font:700 11px var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);border-radius:999px;padding:5px 11px}ol.modlessons{margin:0;padding:4px 20px 20px 22px;display:grid;gap:9px;list-style:none;border-top:1px solid var(--line)}ol.modlessons li{display:flex;gap:11px;align-items:baseline;color:var(--ink-2);font-size:14.5px;line-height:1.45}ol.modlessons li span{flex:none;min-width:22px;font:700 11.5px var(--display);color:var(--c);padding-top:2px}@media (min-width:820px){ol.modlessons{grid-template-columns:1fr 1fr;gap:9px 30px;padding-top:14px}}.addr{font-size:18px;line-height:1.5}.addr strong{font-family:var(--display);color:var(--ink);font-size:19px}.distances{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px;max-width:620px}.distances li{display:flex;align-items:baseline;gap:12px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;padding:13px 18px}.distances span{font:600 16px var(--body);color:var(--ink)}.distances b{margin-left:auto;font:700 16px var(--display);color:var(--brand);font-variant-numeric:tabular-nums}.distances em{flex:none;min-width:96px;text-align:right;font-style:normal;font-size:13.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums}@media (max-width:520px){.distances li{flex-wrap:wrap;gap:4px 12px}.distances b{margin-left:auto}.distances em{min-width:0;width:100%;text-align:left}}@media (min-width:780px){.steps.four{grid-template-columns:repeat(2,1fr);gap:24px 40px}}.nextgrid{display:grid;gap:14px}@media (min-width:1100px){.nextgrid{grid-template-columns:1fr 1fr}}.nextphoto{flex:none;width:130px;align-self:stretch;height:auto;min-height:110px;object-fit:cover}.nextcard{--c:var(--brand);display:flex;align-items:center;gap:16px;overflow:hidden;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:0 20px 0 0;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.nextcard:hover{border-color:var(--c);transform:translateY(-2px);box-shadow:var(--shadow-lift)}.nextbody{display:grid;gap:2px;min-width:0}.nextbody b{font:700 18px var(--display);color:var(--ink)}.nextdate{font-size:14.5px;color:var(--ink-2)}.nextmeta{font:700 11px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--c)}.nextgo{margin-left:auto;flex:none;font:700 13px var(--display);color:var(--c);white-space:nowrap}.nextgo::after{content:" \2192"}@media (max-width:460px){.nextphoto{width:96px}.nextgo{display:none}}.tracklinks{list-style:none;margin:0;padding:0;display:grid;gap:10px}@media (min-width:760px){.tracklinks{grid-template-columns:1fr 1fr}}.tracklinks a{display:block;height:100%;background:#fff;border:1.5px solid var(--line);border-left:4px solid var(--brand);border-radius:14px;padding:14px 18px;text-decoration:none;color:inherit;transition:border-color .18s ease,box-shadow .18s ease}.tracklinks a:hover{border-color:var(--brand);box-shadow:var(--shadow)}.tracklinks b{display:block;font:700 16.5px var(--display);color:var(--ink)}.tracklinks span{display:block;margin-top:3px;font-size:14.5px;color:var(--ink-soft);line-height:1.5}.tracklinks a::after{content:"Read the week \2192";display:block;margin-top:9px;font:700 11.5px var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--brand)}.tracklinks.compact a::after{content:none}.tracklinks.compact span{margin-top:1px}.hero.legal{padding-bottom:34px}.legalbody h2{margin:34px 0 10px;font-size:22px;scroll-margin-top:90px}.legalbody h2:first-child{margin-top:0}.legalbody p{margin:0 0 14px;max-width:62ch}.legalbody a{text-decoration:underline;text-underline-offset:2px}.legallinks{margin-top:6px;display:flex;gap:18px}.legallinks a{color:inherit;opacity:.72;text-decoration:none}.legallinks a:hover{opacity:1;text-decoration:underline}.rvone{display:grid;gap:24px;align-items:center}@media (min-width:900px){.rvone{grid-template-columns:1fr 1.5fr;gap:48px}}.rvhead h2{margin-bottom:0}.rvcard{margin:0;padding:34px 32px;display:flex;flex-direction:column;gap:18px}.rvcard p{margin:0;font:500 24px/1.4 var(--display);color:var(--ink);letter-spacing:-.015em}@media (max-width:620px){.rvcard{padding:26px 22px}.rvcard p{font-size:20px}}.rv2{display:grid;gap:14px;margin-top:22px}@media (min-width:900px){.rv2{grid-template-columns:1.25fr 1fr}}.rvlead{margin:0;padding:34px 32px;display:flex;flex-direction:column;gap:18px;justify-content:center}.rvlead p{margin:0;font:500 24px/1.4 var(--display);color:var(--ink);letter-spacing:-.015em}@media (max-width:620px){.rvlead p{font-size:20px}}.rvsmalls{display:grid;gap:14px}.rvmini{margin:0;padding:20px 22px;display:flex;flex-direction:column;gap:10px}.rvmini p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}.rvmini .who{margin-top:auto}.rvlead .disc{background:var(--accent-bright)!important}.stars2{color:var(--gold);letter-spacing:3px;font-size:14px;line-height:1}.disc{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:700 15px var(--display);color:#fff}.who{display:flex;align-items:center;gap:11px}.who b{display:block;font:700 14.5px var(--display);line-height:1.25;color:var(--ink)}.who span span{display:block;font-size:12.5px;color:var(--ink-soft)}.rvfoot{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin-top:18px;font-size:14px}.gbadge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:7px 15px;font:700 13px var(--display);color:var(--ink)}.gbadge .pstars{letter-spacing:1.5px;font-size:12px}.pstars{color:var(--gold);letter-spacing:2px;font-size:13px}.heroproof{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:18px 0 0;color:#dbe7f2;font-size:14px}.heroproof b{color:#fff}.argwrap{margin-top:26px;display:grid;gap:18px}@media (min-width:980px){.argwrap{grid-template-columns:1fr 310px;align-items:stretch}}.argue{display:grid;background:#fff;border:1.5px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}@media (min-width:620px){.argue{grid-template-columns:1fr 1fr}}.arg{padding:24px 26px;border-top:1px solid var(--line)}.arg:first-child{border-top:0}@media (min-width:620px){.arg:nth-child(2){border-top:0}.arg:nth-child(odd){border-right:1px solid var(--line)}}.argkey{display:block;font:700 11px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:8px}.arg h3{margin:0 0 6px;font-size:18.5px;line-height:1.26}.arg p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-soft)}.bignum{display:grid;gap:6px;place-content:center;justify-items:center;text-align:center;padding:30px 26px;background:var(--dark);color:#fff;border-radius:20px}.bignum b{font:700 54px/1 var(--display);color:var(--accent-bright);letter-spacing:-.03em}.bignum span{font-size:15px;line-height:1.55;color:#cfe0ee;max-width:34ch}.golink{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:11px 20px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font:700 14px var(--display);box-shadow:var(--shadow);transition:border-color .18s ease,transform .18s ease}.golink:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.golink::after{content:"\2192";font-size:15px;line-height:1}.band.alt .golink{background:#fff}.rvfoot .golink{margin-top:0;padding:9px 18px;font-size:13px}.ctacall{margin:14px 0 10px}@media (min-width:760px){.shot.wide{grid-column:span 2}}@media (min-width:1060px){.shot.wide{grid-column:span 2;grid-row:span 2}}.shot{margin:0;overflow:hidden;border-radius:18px;background:var(--soft);box-shadow:var(--shadow)}.shot img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;transition:transform .5s ease}.shot.wide img{aspect-ratio:16/9}@media (min-width:1100px){.shot.wide img{height:100%;aspect-ratio:auto}}.shot:hover img{transform:scale(1.03)}:root{--lime:#a4d41f;--mint:#effaf5;--sun:#ffc533}body{font-size:17px}.band{padding:72px 0}.band.alt{background:var(--mint);border:0}h2{font-size:clamp(28px,4.6vw,42px);letter-spacing:-.025em}.eyebrow{color:var(--accent)}.band.dark .eyebrow,.hero .eyebrow{color:var(--lime)}.btn{border-radius:999px}.linkrow{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.linkrow .golink{margin:0}.band:has(.linkrow){padding:36px 0}.hero::after{right:0;top:0;bottom:0;left:auto;width:56%;height:auto;border-radius:0;opacity:.5;background:url(/assets/photos/hero-classroom.webp?v=5f0a6ba306) center 30%/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent,#000 75%);mask-image:linear-gradient(90deg,transparent,#000 75%)}.hero.camp::after,.hero.legal::after{display:none}.hero .wrap > *{max-width:680px}.hero.camp .wrap > *{max-width:none}@media (max-width:760px){.hero::after{width:100%;opacity:.16;-webkit-mask-image:none;mask-image:none}}.hero.photo{padding:0;display:flex;align-items:center;min-height:620px}.hero.photo::before{z-index:1;opacity:1;mask-image:none;-webkit-mask-image:none;background:linear-gradient(90deg,rgba(4,50,90,.97) 0,rgba(4,50,90,.92) 36%,rgba(4,50,90,.12) 72%);background-size:auto}.hero.photo::after{display:none}.hero.photo .heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 35%}.hero.photo .wrap{padding-top:64px;padding-bottom:64px}.hero.photo .wrap > *{max-width:560px}.hero.photo h1{font-size:clamp(36px,5.2vw,62px);line-height:1.04}.hero.photo .lede{font-size:20px;color:#dbe7f2}@media (max-width:820px){.hero.photo{display:block;min-height:0}.hero.photo .heroimg{position:static;display:block;height:auto;aspect-ratio:3/2}.hero.photo::before{display:none}.hero.photo .wrap{padding-top:30px;padding-bottom:34px}}.agegrid{display:grid;gap:18px;margin-top:26px}@media (min-width:760px){.agegrid{grid-template-columns:1fr 1fr}}.agecard{--c:var(--brand);display:flex;flex-direction:column;padding:0;overflow:hidden;color:var(--ink-2);text-decoration:none;transition:transform .2s ease}.agecard:hover{transform:translateY(-4px)}.ageband{align-self:flex-start;padding:6px 14px;border-radius:999px;background:var(--c);color:#fff;font:700 15px var(--display)}.agecard strong{font:700 clamp(28px,3.4vw,38px)/1.1 var(--display);color:var(--ink)}.agetext{font-size:16px;line-height:1.5;color:var(--ink-soft)}.agego{margin-top:auto;padding-top:10px;color:var(--c);font:700 15px var(--display)}.agego::after{content:" \2192"}.addlabel{margin:30px 0 14px;font-size:20px}.addgrid{display:grid;gap:14px}@media (min-width:760px){.addgrid{grid-template-columns:repeat(3,1fr)}}.addcard{--c:var(--brand);display:flex;align-items:center;gap:14px;overflow:hidden;border-radius:20px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .2s ease}.addcard:hover{transform:translateY(-3px)}.addphoto{flex:none;width:112px;height:84px;object-fit:cover}.addbody{display:grid;gap:1px;min-width:0;padding-right:12px}.addbody b{font:700 19px var(--display)}.addbody span{font-size:14px;color:var(--c);font-weight:600}.proofphoto{margin:0;height:100%}.proofphoto img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:var(--r)}@media (min-width:900px){.proof{align-items:stretch!important}}.flow{display:grid;gap:16px;padding:16px;background:#fff}.flow > .band{padding:60px 0;border:0;border-radius:32px;background:#fff;color:var(--ink-2)}.flow > .band:nth-of-type(2){background:#c8ecdd}.flow > .band:nth-of-type(3){background:#d8ecf9}.flow > .band:nth-of-type(4){background:#e8f3bf}.flow > .band:nth-of-type(5){background:#d8ecf9}.flow > .band:nth-of-type(6){background:#ffeebb}.flow > .band:nth-of-type(7){background:#c8ecdd}.flow > .band:nth-of-type(7) .faqs,.flow > .band:nth-of-type(7) .faqs details{border-color:rgba(7,121,93,.22)}.flow .band h2{color:var(--ink)}.flow .band .sub{color:var(--ink-2);margin-bottom:24px}.flow .pathhead .sub{margin-bottom:0}.flow .eyebrow.step{display:inline-flex;align-items:center;gap:9px;margin-bottom:12px;color:var(--ink)}.step i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font:700 14px var(--display);letter-spacing:0}:root{--card:0 1px 2px rgba(13,23,38,.05),0 12px 30px -18px rgba(13,23,38,.28)}.card,.rel,.side,.agecard,.addcard,.proof-note,.rvcard,.rvlead,.rvmini,.nextcard,.belt-panel,.belt-tile,.builds .build,.concepts .concept,.tracklinks a{background:#fff;border:0;border-radius:20px;box-shadow:var(--card)}.card.prog{border-top:0}.belt-tile{border:2px solid transparent;border-radius:16px}main > .band{margin:16px;padding:60px 0;border-radius:32px}main > .band:nth-of-type(n).alt,main > .band.dark,main > .band.reviews{--tint:#c8ecdd;background:var(--tint);border:0}main > .band:nth-of-type(4n+2).alt,main > .band:nth-of-type(4n+2).dark,main > .band:nth-of-type(4n+2).reviews{--tint:#d8ecf9}main > .band:nth-of-type(4n+3).alt,main > .band:nth-of-type(4n+3).dark,main > .band:nth-of-type(4n+3).reviews{--tint:#e8f3bf}main > .band:nth-of-type(4n).alt,main > .band:nth-of-type(4n).dark,main > .band:nth-of-type(4n).reviews{--tint:#ffeebb}main > .band.dark{color:var(--ink-2)}main > .band.dark h2,main > .band.dark h3{color:var(--ink)}main > .band.dark .sub,main > .band .sub{color:var(--ink-2)}main > .band.dark .eyebrow{color:var(--accent)}main > .band.dark .fine{color:var(--ink-soft)}main > .band.dark .btn.ghost{color:var(--ink);border-color:var(--ink)}main > .band.dark .btn.ghost:hover{background:#fff;border-color:var(--accent);color:var(--accent)}main > .band.dark ul.outcomes li{color:var(--ink-2)}main > .band.dark .golink{color:var(--ink)}@media (max-width:700px){main > .band{margin:10px;padding:40px 0;border-radius:24px}}.aftercard{display:grid;overflow:hidden;border-radius:24px;background:#fff;box-shadow:var(--card)}.afterphoto{display:block;width:100%;height:100%;min-height:240px;object-fit:cover}.aftertext{padding:28px 24px}.aftertext h2{margin-top:0}.aftertext p{color:var(--ink-2)}.aftertext .eyebrow{color:var(--accent)}.aftertext .cta{margin-top:20px}@media (min-width:820px){.aftercard{grid-template-columns:1fr 1.1fr;align-items:stretch}.aftertext{align-self:center;padding:44px}}.guideband{padding-top:44px}.guidegrid{display:grid;gap:32px}@media (min-width:980px){.guidegrid{grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}}.guidebody{min-width:0;font-size:17px;line-height:1.7;color:var(--ink-2)}.guidebody h2{margin:40px 0 12px;scroll-margin-top:90px;font-size:clamp(25px,3vw,32px);line-height:1.2}.guidebody p{margin:0 0 16px;max-width:68ch}.guidebody b{color:var(--ink)}.guideauthor{display:flex;align-items:center;gap:11px;margin-bottom:22px;font-size:14px}.guideauthor b{display:block;line-height:1.3}.guideauthor span span{display:block;color:var(--ink-soft);font-size:13px}.shortanswer{margin:0 0 26px;padding:22px 24px;border-radius:18px;background:#c8ecdd}.shortanswer b{display:block;margin-bottom:6px;font:700 13px var(--display);letter-spacing:.08em;text-transform:uppercase;color:#07795d}.shortanswer p{margin:0;color:var(--ink);font-size:18px;line-height:1.55}ul.guidelist{grid-template-columns:1fr!important;margin:0 0 18px;gap:10px}ul.guidelist li{color:var(--ink-2);font-size:16.5px;line-height:1.55}.guidephoto{margin:26px 0}.guideimg{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:18px}.guidephoto figcaption{margin-top:8px;color:var(--ink-soft);font-size:13.5px}.guidetable{margin:6px 0 22px;overflow-x:auto;border-radius:16px;box-shadow:var(--card)}.guidetable table{width:100%;min-width:520px;border-collapse:collapse;background:#fff;font-size:15px;line-height:1.45}.guidetable th{padding:12px 16px;background:var(--dark);color:#fff;text-align:left;font:700 14px var(--display)}.guidetable td{padding:13px 16px;border-top:1px solid var(--line);vertical-align:top}.guidetable td:first-child{color:var(--ink);font-weight:700;white-space:nowrap}.guidecta{display:grid;gap:14px;align-items:center;margin:28px 0;padding:24px;border-radius:20px;background:var(--dark);color:#d7e2ef}.guidecta h3{margin:0 0 4px;color:#fff;font-size:21px}.guidecta p{margin:0;font-size:15.5px;line-height:1.5}@media (min-width:620px){.guidecta{grid-template-columns:1fr auto;gap:22px}}.guidecta .btn{text-align:center;white-space:nowrap}.guidesources{display:grid;gap:10px}.guidesources a{display:block;padding:14px 16px;border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--card)}.guidesources a:hover{box-shadow:0 0 0 2px var(--accent)}.guidesources b{display:block;font-size:15px}.guidesources span{color:var(--ink-soft);font-size:13.5px}.guideside{display:grid;gap:16px}@media (min-width:980px){.guideside{position:sticky;top:90px}}.guideside .card{padding:20px}.guideside h3{margin:0 0 10px;font-size:17px}.guidetoc a{display:block;padding:7px 0;border-top:1px solid var(--line);color:var(--ink-2);font-size:14.5px;text-decoration:none}.guidetoc a:hover{color:var(--accent)}.guidebook p{margin:0 0 14px;color:var(--ink-soft);font-size:14.5px;line-height:1.5}.guidebook .btn{display:block;margin-top:8px;text-align:center;font-size:14.5px;padding:11px 14px}.guidemeta{margin-top:auto;padding-top:10px;color:var(--ink-soft);font-size:12.5px}.backchip{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:7px 14px;border:1.5px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;font:700 13.5px var(--display);text-decoration:none;transition:background-color .15s ease}.backchip::before{content:"\2190"}.backchip:hover{background:rgba(255,255,255,.14);border-color:#fff}.backchip:focus-visible{outline:3px solid #fff;outline-offset:2px}.booksheet{position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:92dvh;margin:0;padding:0;border:0;border-radius:24px 24px 0 0;background:#eef8f3;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.booksheet[open]{animation:sheetup .28s cubic-bezier(.2,.7,.3,1)}.booksheet::backdrop{background:rgba(4,30,54,.55)}html:has(.booksheet[open]){overflow:hidden}.booksheet .bookfailed,.booksheet .bookdone{display:none}.sheetclose{position:sticky;top:14px;float:right;z-index:5;width:38px;height:38px;margin:14px 14px 0 0;padding:0;border:0;border-radius:50%;background:#fff;cursor:pointer}.sheetclose::before,.sheetclose::after{content:"";position:absolute;left:11px;top:18px;width:16px;height:2px;background:var(--ink);transform:rotate(45deg)}.sheetclose::after{transform:rotate(-45deg)}.sheetclose:focus-visible{outline:3px solid var(--brand);outline-offset:2px}@keyframes sheetup{from{transform:translateY(100%)}to{transform:none}}.booksheet #bookpanel{padding:0 16px 28px;border-radius:0;background:none;box-shadow:none;scroll-margin-top:0}.booksheet .bookpanelhead{position:sticky;top:0;z-index:4;margin:0 -16px 18px;padding:18px 64px 16px 16px;background:linear-gradient(100deg,var(--dark) 40%,rgba(4,50,90,.5)),url(/assets/photos/hero-classroom.webp?v=5f0a6ba306) center 30%/cover}.booksheet .bookpanelhead h2{margin:0 0 4px;color:#fff;font-size:clamp(24px,3vw,30px)}.booksheet .bookpanelhead p{margin:0;color:#c9d8e6;font-size:15px}.bookloading{display:grid;place-items:center;align-content:center;gap:16px;min-height:300px;text-align:center}.bookloading .sensei{height:170px;animation:senseibob 1.2s ease-in-out infinite alternate}.bookloading p{margin:0;color:var(--ink);font:700 18px var(--display)}.beltrow{display:flex;gap:5px}.beltrow i{width:24px;height:9px;border-radius:5px;background:var(--b);box-shadow:inset 0 0 0 1px rgba(13,23,38,.18);opacity:.15;animation:beltlit 1.8s linear infinite;animation-delay:calc(var(--n)*.16s)}@keyframes senseibob{to{transform:translateY(-8px)}}@keyframes beltlit{0%,8%{opacity:.15}16%,72%{opacity:1}88%,100%{opacity:.15}}@media (prefers-reduced-motion:reduce){.bookloading .sensei{animation:none}.beltrow i{animation:none;opacity:1}}@keyframes sheetside{from{transform:translateX(100%)}to{transform:none}}@media (min-width:821px){.booksheet{inset:auto 16px 16px auto;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 32px);border-radius:28px;box-shadow:0 30px 70px -20px rgba(4,30,54,.6)}.booksheet[open]{animation-name:sheetside}.booksheet #bookpanel{padding:0 30px 32px}.booksheet .bookpanelhead{margin:0 -30px 22px;padding:24px 70px 20px 30px}}@media (prefers-reduced-motion:reduce){.booksheet[open]{animation:none}}.agephoto{aspect-ratio:3/2}.flow .demo{background:var(--dark-2);color:#d7e2ef;border-radius:24px;padding:28px;margin-top:28px;box-shadow:0 30px 60px -30px rgba(4,50,90,.6)}.flow .demo h3{color:#fff}.flow .demo .fine{color:#9fb3c9}.flow .demo .btn.ghost{color:#fff;border-color:rgba(255,255,255,.6)}.flow .demo .btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.14)}.flow .proofphoto img,.flow .loopfig{border-radius:20px}.flow .proof{margin-top:28px}.flow .belt-panel{margin-top:6px}.flowcta{margin:30px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:14px}.flowcta span{color:var(--ink-2);font-size:15px}@media (max-width:700px){.flow{gap:10px;padding:10px}.flow > .band{padding:40px 0;border-radius:24px}.flow .demo{padding:18px}}.hero.photo.slim{min-height:440px}.hero.photo.slim::before{display:none}.hero.photo.slim .heroimg{left:auto;right:0;width:62%;object-position:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 42%);mask-image:linear-gradient(90deg,transparent,#000 42%)}.hero.photo.slim h1{font-size:clamp(32px,4.2vw,50px);line-height:1.08}.hero.photo.slim .lede{font-size:18px}@media (max-width:820px){.hero.photo.slim{min-height:0}.hero.photo.slim .heroimg{width:100%;-webkit-mask-image:none;mask-image:none}}.agephoto{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.agebody{display:flex;flex-direction:column;flex:1;gap:10px;padding:26px 32px 30px}.pphoto{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.heroloop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}.heroloop.playing{opacity:1}@media (max-width:820px){.heroloop{display:none}}.loopfig{position:relative;border-radius:var(--r);overflow:hidden;background:var(--dark-2)}.loopfig video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.prose .loopfig{margin:0 0 26px}.pathhead{display:grid;gap:24px;align-items:center;margin-bottom:26px}.pathhead .sub{margin-bottom:0}@media (min-width:821px){.pathhead{grid-template-columns:1fr 1fr;gap:40px}}.cta-band.withloop{overflow:hidden}.cta-band.withloop > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cta-band.withloop::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(4,40,74,.8)}.cta-band.withloop::after{display:none}.looptoggle{position:absolute;right:14px;bottom:14px;z-index:3;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:rgba(10,30,52,.7);cursor:pointer}.looptoggle::before{content:"";position:absolute;left:13px;top:12px;width:4px;height:14px;background:#fff;box-shadow:8px 0 0 #fff}.looptoggle.paused::before{left:15px;top:11px;width:0;height:0;background:none;box-shadow:none;border-style:solid;border-width:8px 0 8px 12px;border-color:transparent transparent transparent #fff}.looptoggle:focus-visible{outline:3px solid #fff;outline-offset:2px}.seasonlink{display:inline-block;padding:3px 11px;border-radius:999px;border:1.5px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600}.seasonlink:hover{border-color:var(--brand);color:var(--brand)}.linkrow.left{justify-content:flex-start}@media (min-width:821px){.band .wrap:not(.narrow) > .sub{max-width:none}.termnote{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:center}.band .wrap > .fine{max-width:none}.termnote p{max-width:none}.termnote p + p{margin-top:0}.distances{grid-template-columns:1fr 1fr;gap:10px 14px;max-width:none}.related:has(> :nth-child(2):last-child){grid-template-columns:1fr 1fr}.related:has(> :only-child){grid-template-columns:1fr}.related > .rel:only-child{display:grid;grid-template-columns:1fr 1fr}.related > .rel:only-child .shot{aspect-ratio:16/9}.related > .rel:only-child .txt{justify-content:center;padding:28px 32px;border-top:0}.acfigs{grid-template-columns:repeat(3,1fr);width:auto}ul.outcomes li:last-child:nth-child(odd){grid-column:1/-1}}.concepts{grid-template-columns:minmax(0,1fr)}@media (min-width:720px){.concepts{grid-template-columns:repeat(2,minmax(0,1fr))}}.concept{min-width:0}.concepts .blk{flex-wrap:wrap;max-width:100%;white-space:normal;overflow-wrap:anywhere}.concepts .blk.ind{max-width:calc(100% - 18px)}@media (min-width:760px) and (max-width:1099px){.calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar.wide{grid-template-columns:1fr}.calendar.wide .cal-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:999px){.steps,.steps.four{grid-template-columns:minmax(0,1fr)}.steps p{max-width:none}}@media (max-width:480px){.modcount{display:none}}.campbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px;padding:9px 16px;font-size:15px;line-height:1.35;text-align:center;color:#fff}.campbar[hidden]{display:none}.campbar b{font:700 15px var(--display)}.campbar a{display:inline-flex;align-items:center;padding:5px 14px;border-radius:999px;background:#fff;font:700 13.5px var(--display);text-decoration:none;white-space:nowrap}.campbar a:hover{text-decoration:underline}.campbar.fall{background:#b93d0a}.campbar.fall a{color:#a4370a}.campbar.winter{background:#146ca6}.campbar.winter a{color:#0f5d90}.cb-short{display:none}@media (max-width:700px){.cb-full{display:none}.cb-short{display:inline}}.demo > *{min-width:0}.demo-stage pre.code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.demo-stage pre.code code{white-space:inherit}.sensei{display:inline-block;flex:none;line-height:0}.sensei img{display:block;height:100%;width:auto}.sensei img[hidden]{display:none}.coach{display:flex;align-items:flex-end;gap:12px;margin:14px 0 16px}.coach .sensei{height:130px}.demo.won .coach{display:none}.demo.won [data-reset]{margin-top:14px}.coach .note,.flow .demo .coach .note{position:relative;align-self:center;margin:0;min-height:0;padding:12px 15px;border-radius:14px;background:#fff;color:var(--ink);font-size:14.5px;line-height:1.4}.coach .note::before{content:"";position:absolute;left:-6px;top:50%;width:13px;height:13px;margin-top:-6.5px;background:#fff;transform:rotate(45deg)}.lostbox{display:flex;align-items:center;gap:24px}.lostbox .sensei{height:190px}.lostbox > div{min-width:0}@media (max-width:600px){.coach .sensei{height:104px}.lostbox .sensei{height:130px}.lostbox{gap:14px}}section[id]{scroll-margin-top:84px}.demowin{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin:12px 0;padding:16px 18px;border-radius:14px;background:#fff}.demowin[hidden]{display:none}.demowin p{flex:1 1 240px;margin:0;color:var(--ink-2);font-size:15px}.demowin b{color:var(--ink)}.buildphoto{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}.build:has(> .buildphoto){padding:0;overflow:hidden}@media (min-width:821px){.builds:has(> .build:nth-child(3):last-child),.concepts:has(> .concept:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}}.offercard{display:flex;flex-direction:column;padding:0;overflow:hidden}.offerphoto{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.offerbody{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}.offerbody .btn{margin-top:auto;align-self:flex-start}.weekfacts{display:grid;gap:14px;margin:6px 0 24px}.weekfacts > div{padding:24px 26px;border-radius:18px;background:#fff;box-shadow:var(--card)}.weekfacts h3{margin:0 0 8px}.weekfacts p{margin:0;max-width:none;color:var(--ink-2)}@media (min-width:821px){.weekfacts{grid-template-columns:repeat(3,1fr);gap:18px}}main > .band.dark ul.outcomes li{padding:14px 18px 14px 50px;border-radius:14px;background:#fff;box-shadow:var(--card)}main > .band.dark ul.outcomes li::before{left:18px;top:15px}main > .band.dark ul.outcomes li::after{left:25px;top:18px}