:root{--canvas:#eeede8;--panel:#fff;--ink:#14171f;--muted:#5a5f6b;--rule:#d5d3cc;--red:#c42530;--blue:#1d4b9c;--on-accent:#fff;--hero-bg:#14171f;--hero-fg:#f3f1ea;--f-display:"Big Shoulders Display", "Arial Narrow", Impact, sans-serif;--f-body:"Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--wrap:1180px;--gutter:clamp(16px, 4vw, 40px);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:#101218;--panel:#181b23;--ink:#eceae3;--muted:#9ea2ad;--rule:#2a2e39;--red:#e2434d;--blue:#5b8ae0;--hero-bg:#08090d;--hero-fg:#f3f1ea;color-scheme:dark}}:root[data-theme=dark]{--canvas:#101218;--panel:#181b23;--ink:#eceae3;--muted:#9ea2ad;--rule:#2a2e39;--red:#e2434d;--blue:#5b8ae0;--hero-bg:#08090d;--hero-fg:#f3f1ea;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--canvas);color:var(--ink);font:400 1.0625rem/1.6 var(--f-body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.wrap{max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}h1,h2,h3{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.005em;text-wrap:balance;margin:0;font-weight:900;line-height:.92}h2{font-size:clamp(2.6rem,6vw,4.5rem)}h3{font-size:1.75rem;font-weight:800}p,figure{margin:0}.eyebrow{font:500 .78rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}.lede{color:var(--muted);max-width:60ch;font-size:1.125rem}section{padding-block:clamp(64px,9vw,120px)}section.flush-top{padding-top:0}.sec-head{gap:16px;margin-bottom:48px;display:grid}.stack-16{margin-top:16px}.btn{font:700 .95rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:2px solid #0000;align-items:center;gap:10px;padding:14px 22px;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--red);color:var(--on-accent)}.btn-ghost{color:inherit;background:0 0;border-color:currentColor}.nav{top:env(safe-area-inset-top,0px);z-index:20;background:var(--hero-bg);color:var(--hero-fg);border-bottom:1px solid #ffffff14;position:sticky}.nav .wrap{justify-content:space-between;align-items:center;gap:24px;min-height:68px;display:flex}.brand{font:900 1.45rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{border:2px solid var(--hero-fg);width:40px;height:40px;font:900 1.05rem/1 var(--f-display);grid-auto-flow:column;place-content:center;display:grid}.brand-mark span:first-child{color:var(--red)}.nav ul{gap:28px;margin:0;padding:0;font-size:.92rem;font-weight:600;list-style:none;display:flex}.nav ul a{opacity:.8;text-decoration:none}.nav ul a:hover{opacity:1}.nav .btn{padding:10px 16px;font-size:.82rem}@media (width<=860px){.nav ul{display:none}}.hero{background:var(--hero-bg);color:var(--hero-fg);padding-block:clamp(56px,8vw,104px) 0;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--red) 22%, transparent) 0 50%, color-mix(in srgb, var(--blue) 22%, transparent) 50% 100%);pointer-events:none;position:absolute;inset:0;mask-image:linear-gradient(#0000,#000 85%)}.hero .wrap{gap:28px;display:grid;position:relative}.hero h1{font-size:clamp(3.6rem,12.5vw,10.5rem);line-height:.84}.hero h1 .red{color:var(--red)}.hero h1 .blue{color:color-mix(in srgb, var(--blue) 70%, white)}.hero .eyebrow{color:color-mix(in srgb, var(--red) 70%, white)}.hero .lede{color:color-mix(in srgb, var(--hero-fg) 75%, transparent);font-size:1.2rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero-call{font:500 .9rem/1.4 var(--f-mono);color:color-mix(in srgb, var(--hero-fg) 70%, transparent)}.hero-call strong{color:var(--hero-fg);font-size:1.05rem}.tale{border-top:1px solid #ffffff24;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,6vw,72px);display:grid}.tale div{gap:6px;padding:22px 18px 26px 0;display:grid}.tale div+div{border-left:1px solid #ffffff24;padding-left:18px}.tale b{font:900 clamp(2rem, 4vw, 3rem)/1 var(--f-display)}.tale span{font:500 .72rem/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;opacity:.7}@media (width<=640px){.tale{grid-template-columns:1fr 1fr}.tale div:nth-child(3){border-left:0;padding-left:0}.tale div:nth-child(n+3){border-top:1px solid #ffffff24}}.card-list{border-top:3px solid var(--ink);display:grid}.bout{border-bottom:1px solid var(--rule);grid-template-columns:120px 1fr auto;align-items:center;gap:24px;padding:22px 0;text-decoration:none;transition:background .15s,padding .15s;display:grid}.bout:hover{background:var(--panel);padding-inline:16px}.bout-date{font-family:var(--f-display);text-transform:uppercase;line-height:.9}.bout-date b{font-variant-numeric:tabular-nums;font-size:3rem;font-weight:900;display:block}.bout-date small{color:var(--muted);letter-spacing:.04em;font-size:1rem;font-weight:800}.bout-title{min-width:0;font-size:1.2rem;font-weight:700}.bout-title .tag{font:500 .72rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--on-accent);background:var(--blue);margin-bottom:6px;padding:5px 8px;display:inline-block}.bout-title .tag.free{background:var(--red)}.bout-go{font:500 .8rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.bout.past{opacity:.45}.bout.past .bout-go{text-decoration:line-through}@media (width<=600px){.bout{grid-template-columns:76px 1fr}.bout-date b{font-size:2.3rem}.bout-go{grid-column:2}}.disc-grid{background:var(--ink);border:2px solid var(--ink);grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.disc{background:var(--panel);align-content:start;gap:14px;min-width:0;padding:28px 24px 32px;display:grid}.disc .num{font:500 .75rem/1 var(--f-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.disc h3{font-size:2.2rem}.disc p{color:var(--muted);font-size:.98rem}.disc.red h3{color:var(--red)}.disc.blue h3{color:var(--blue)}@media (width<=960px){.disc-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.disc-grid{grid-template-columns:1fr}}.note-row{color:var(--muted);flex-wrap:wrap;gap:12px 32px;margin-top:28px;font-size:.95rem;display:flex}.note-row strong{color:var(--ink)}.split{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,6vw,80px);display:grid}.split>*{min-width:0}@media (width<=860px){.split{grid-template-columns:1fr}}.goals{border-top:1px solid var(--rule);margin:28px 0 0;padding:0;list-style:none;display:grid}.goals li{border-bottom:1px solid var(--rule);align-items:baseline;gap:16px;padding:14px 0;font-size:1.15rem;font-weight:600;display:flex}.goals li:before{content:"";background:var(--red);flex:none;width:10px;height:10px;transform:translateY(-2px)}.goals li:nth-child(2n):before{background:var(--blue)}.photo{border:2px solid var(--ink);position:relative}.photo img{aspect-ratio:4/3;object-fit:cover;filter:grayscale(.25)contrast(1.05);background:var(--rule);width:100%}.photo figcaption{font:500 .75rem/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 0 0}.academy{background:var(--panel);border-block:1px solid var(--rule)}.creds{grid-template-columns:repeat(3,1fr);gap:40px 48px;display:grid}.cred{align-content:start;gap:10px;min-width:0;display:grid}.cred h3{font-size:1.6rem}.cred p{color:var(--muted);font-size:.98rem}@media (width<=860px){.creds{grid-template-columns:1fr 1fr}}@media (width<=560px){.creds{grid-template-columns:1fr}}.belts{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:56px;padding-top:28px;display:flex}.belts .eyebrow{color:var(--muted);margin-right:8px}.belts span.org{font:800 1.15rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.04em;border:1.5px solid var(--ink);padding:8px 12px}.corner{background:var(--hero-bg);color:var(--hero-fg)}.corner .eyebrow{color:color-mix(in srgb, var(--red) 75%, white)}.corner .lede{color:color-mix(in srgb, var(--hero-fg) 70%, transparent)}.quotes{background:#ffffff1f;grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.quote{background:var(--hero-bg);align-content:space-between;gap:22px;min-width:0;padding:32px 28px 32px 0;display:grid}.quote+.quote{padding-left:28px}.quote p{font-size:1.08rem;line-height:1.55}.quote p:before{content:"“";font:900 4rem/.6 var(--f-display);color:var(--red);margin-bottom:12px;display:block}.quote:nth-child(2) p:before{color:color-mix(in srgb, var(--blue) 70%, white)}.quote cite{gap:4px;font-style:normal;display:grid}.quote cite b{font:800 1.35rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}.quote cite span{font:500 .72rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.65}@media (width<=900px){.quotes{grid-template-columns:1fr}.quote,.quote+.quote{padding:28px 0}}.corner .more{margin-top:36px}.address{font:700 1.35rem/1.35 var(--f-body);margin-top:24px}.directions{color:var(--muted);max-width:52ch;margin-top:20px}.directions strong{color:var(--ink)}.contact-lines{border-top:3px solid var(--ink);margin:32px 0 0;display:grid}.contact-lines div{border-bottom:1px solid var(--rule);grid-template-columns:110px 1fr;align-items:baseline;gap:16px;padding:16px 0;display:grid}.contact-lines dt{font:500 .75rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.contact-lines dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.1rem;font-weight:700}.contact-lines a{text-decoration-color:var(--red);text-underline-offset:4px}.book{background:var(--panel);border:2px solid var(--ink);align-content:start;gap:18px;padding:clamp(24px,4vw,40px);display:grid}.book h3{font-size:2.2rem}.book ol{color:var(--muted);gap:8px;margin:0;padding-left:1.2em;display:grid}.book ol strong{color:var(--ink)}.book .btn{justify-self:start}footer{background:var(--hero-bg);color:color-mix(in srgb, var(--hero-fg) 65%, transparent);padding-block:40px;font-size:.9rem}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}footer b{color:var(--hero-fg)}.chat-launch{right:max(16px, env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--red);color:var(--on-accent);font:700 .9rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:0;align-items:center;gap:10px;padding:14px 20px 14px 16px;transition:transform .15s;display:inline-flex;position:fixed;box-shadow:0 8px 24px #00000040}.chat-launch:hover{transform:translateY(-2px)}.chat-launch svg{flex:none;width:20px;height:20px}.chat{right:max(16px, env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:41;width:min(400px,100vw - 32px);height:min(620px, calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));background:var(--panel);color:var(--ink);border:2px solid var(--ink);flex-direction:column;display:flex;position:fixed;box-shadow:0 16px 48px #0000004d}.chat-head{background:var(--hero-bg);color:var(--hero-fg);align-items:center;gap:12px;padding:14px 16px;display:flex}.chat-head .brand-mark{width:34px;height:34px;font-size:.9rem}.chat-head div{flex:1;gap:3px;min-width:0;display:grid}.chat-head b{font:900 1.25rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}.chat-head span{font:500 .68rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.7}.chat-close{color:inherit;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:1.6rem;line-height:1}.chat-log{background:var(--canvas);overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.msg{overflow-wrap:anywhere;max-width:86%;padding:10px 14px;font-size:.95rem;line-height:1.5}.msg p+p{margin-top:8px}.msg a{color:inherit;text-underline-offset:3px}.msg.bot{background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--blue);align-self:flex-start}.msg.user{background:var(--ink);color:var(--canvas);align-self:flex-end}.msg.typing:after{content:"▍";animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--panel);color:var(--ink);border:1.5px solid var(--ink);font:600 .85rem/1.2 var(--f-body);cursor:pointer;padding:8px 12px}.chip:hover{background:var(--ink);color:var(--canvas)}.chat-cta{background:var(--panel);border-top:1px solid var(--rule);gap:8px;padding:10px 16px 0;display:flex}.chat-cta a{text-align:center;font:700 .78rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;background:var(--red);color:var(--on-accent);flex:1;padding:10px;text-decoration:none}.chat-form{background:var(--panel);gap:8px;padding:10px 16px 14px;display:flex}.chat-form textarea{resize:none;min-width:0;height:44px;max-height:120px;font:400 .95rem/1.4 var(--f-body);color:var(--ink);background:var(--canvas);border:1.5px solid var(--rule);border-radius:0;flex:1;padding:11px 12px}.chat-form textarea:focus{border-color:var(--blue);outline:none}.chat-form button{background:var(--ink);color:var(--canvas);font:700 .8rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:0;padding:0 16px}.chat-form button:disabled{opacity:.4;cursor:default}.chat-foot{background:var(--panel);color:var(--muted);padding:0 16px 10px;font-size:.72rem}@media (width<=520px){.chat{width:100%;height:auto;padding-top:env(safe-area-inset-top,0px);border:0;inset:0}}.nav ul a[aria-current=page]{opacity:1;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:6px}footer a{color:var(--hero-fg)}.faq-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px clamp(32px,6vw,80px);display:grid}.faq-layout .sec-head{grid-column:1/-1;margin-bottom:24px}.faq-layout .book{top:calc(88px + env(safe-area-inset-top,0px));position:sticky}@media (width<=860px){.faq-layout{grid-template-columns:1fr}.faq-layout .book{position:static}}.faq{border-top:3px solid var(--ink);min-width:0}.faq details{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:24px;padding:20px 0;font-size:1.15rem;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:900 1.6rem/1 var(--f-display);color:var(--red);flex:none;transition:transform .15s}.faq details[open] summary:after{transform:rotate(45deg)}.faq summary:hover{color:var(--red)}.faq details p{max-width:65ch;color:var(--muted);padding:0 0 22px}.faq details .faq-call a{color:var(--ink);text-decoration-color:var(--red);text-underline-offset:3px;font-weight:600}
