@font-face{font-family:"Barlow Condensed";font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-italic.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:900;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-latin-900-italic.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/barlow-latin-600-normal.woff2) format("woff2")}

:root{
  --ink:#15181A;--ink-2:#22272A;--ink-3:#394045;
  --paper:#F2F3F3;--white:#fff;--mist:#E3E6E8;--line:#D2D7DA;
  --signal:#FF6600;--signal-d:#B93F00;--tan:#988868;
  --muted:#59636A;
  --f-display:"Barlow Condensed","Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;
  --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1240px;--gut:clamp(1.15rem,4vw,2.5rem);--r:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--f-body);font-size:1.125rem;line-height:1.6;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--f-display);font-weight:800;letter-spacing:.004em}
h1{font-weight:900;text-transform:uppercase;font-size:clamp(2.8rem,7.4vw,6.4rem);line-height:.92;letter-spacing:.005em}
h2{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:.98;text-transform:uppercase}
h3{font-size:1.65rem;line-height:1.02}
p{margin:0 0 1.1em}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:100;border-radius:var(--r)}
.skip:focus{top:1rem}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gut));margin-inline:auto;padding-inline:var(--gut)}
.narrow{max-width:calc(54rem + 2*var(--gut))}
.muted{color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.5rem 1.5rem;border:2px solid transparent;border-radius:var(--r);font:600 1rem/1.1 var(--f-body);text-decoration:none;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s}
.btn-solid{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.btn-solid:hover{background:#FF8433;border-color:#FF8433}
.btn-ink{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ink:hover{background:var(--ink-3);border-color:var(--ink-3)}
.btn-line-light{border-color:#fff;color:#fff}
.btn-line-light:hover{background:#fff;color:var(--ink)}
.btn-line-dark{border-color:var(--ink);color:var(--ink)}
.btn-line-dark:hover{background:var(--ink);color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.75rem 0 0}
.link-arrow{font-weight:600;text-decoration:none;border-bottom:2px solid var(--signal)}
.link-arrow::after{content:" →"}
.link-arrow:hover{color:var(--signal-d)}

.ruler{height:18px;color:var(--tan);position:relative;overflow:hidden;background-image:linear-gradient(90deg,currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:96px 100%,12px 45%;background-position:0 100%,0 100%;background-repeat:repeat-x}
.hero .ruler::after{content:"";position:absolute;left:0;bottom:0;width:4px;height:100%;background:var(--signal);animation:slide 1.6s cubic-bezier(.2,.7,.2,1) .3s both}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(24vw)}}
.reg{position:relative}
.reg::before{content:"";position:absolute;inset:-9px;pointer-events:none;z-index:2;--c:var(--signal);background:
 linear-gradient(var(--c),var(--c)) 0 0/26px 3px no-repeat,linear-gradient(var(--c),var(--c)) 0 0/3px 26px no-repeat,
 linear-gradient(var(--c),var(--c)) 100% 0/26px 3px no-repeat,linear-gradient(var(--c),var(--c)) 100% 0/3px 26px no-repeat,
 linear-gradient(var(--c),var(--c)) 0 100%/26px 3px no-repeat,linear-gradient(var(--c),var(--c)) 0 100%/3px 26px no-repeat,
 linear-gradient(var(--c),var(--c)) 100% 100%/26px 3px no-repeat,linear-gradient(var(--c),var(--c)) 100% 100%/3px 26px no-repeat}
.reg img{width:100%;height:100%;object-fit:cover}
img.is-logo{object-fit:contain;padding:14%;background:#fff}

.site-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:6rem}
.brand img{width:300px;height:auto;max-width:none}
.nav{display:flex;align-items:center;gap:1.75rem}
.nav ul{display:flex;gap:1.5rem}
.nav a:not(.btn){display:inline-block;padding:.5rem 0;font-weight:600;font-size:.96rem;text-decoration:none;border-bottom:3px solid transparent}
.nav a:not(.btn):hover{border-color:var(--line)}
.nav a[aria-current]{border-color:var(--signal)}
.nav-toggle{display:none;width:3rem;height:3rem;border:2px solid var(--ink);background:#fff;border-radius:var(--r);cursor:pointer;position:relative}
.bars,.bars::before,.bars::after{position:absolute;left:50%;width:1.35rem;height:2px;background:var(--ink);transform:translateX(-50%);transition:transform .2s,opacity .2s}
.bars{top:50%;margin-top:-1px}.bars::before,.bars::after{content:"";left:50%}.bars::before{top:-7px}.bars::after{top:7px}
.nav-toggle[aria-expanded=true] .bars{background:transparent}
.nav-toggle[aria-expanded=true] .bars::before{transform:translateX(-50%) translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded=true] .bars::after{transform:translateX(-50%) translateY(-7px) rotate(-45deg)}

.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(380px,56vh,580px);padding-top:clamp(5rem,10vw,8rem)}
.hero--home{min-height:clamp(560px,86vh,820px)}
.hero-bg{position:absolute;inset:0;z-index:-1}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,24,26,.82) 0%,rgba(21,24,26,.55) 55%,rgba(21,24,26,.25) 100%),linear-gradient(180deg,rgba(21,24,26,.35) 0%,rgba(21,24,26,0) 35%,rgba(21,24,26,.85) 100%)}
.hero-in{width:100%}
.hero--plain{min-height:0;padding-top:clamp(2.25rem,5vw,4.75rem)}
.hero--inner h1{font-size:clamp(2.7rem,6.4vw,5.6rem)}
.hero-copy{padding-bottom:.5rem}
.hero .lede{max-width:34rem;margin:1.5rem 0 0;font-size:clamp(1.08rem,1.6vw,1.28rem);color:#C9CFD3;line-height:1.55}
.hero--bg h1,.hero--bg .lede{text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero--bg .lede{color:#E6EAEC}
.hero .ruler{margin-top:clamp(2.5rem,5vw,4.25rem)}
.crumbs{margin-bottom:1.5rem;font-size:.9rem;color:#AEB5BA}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .5rem}
.crumbs li+li::before{content:"/";margin-right:.5rem;color:var(--tan)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff;text-decoration:underline}
.readouts{display:grid;grid-template-columns:repeat(4,1fr);border-top:0}
.readouts li{padding:1.5rem 1.25rem 1.75rem 0;display:flex;flex-direction:column}
.readouts li+li{padding-left:1.5rem;border-left:1px solid var(--ink-3)}
.ro-v{font-family:var(--f-display);font-weight:800;font-size:clamp(2.6rem,5vw,4.4rem);line-height:.95}
.ro-l{color:#AEB5BA;font-size:.95rem;margin-top:.35rem}

.sec{padding-block:clamp(3.5rem,8vw,7rem)}
.sec--white{background:#fff}.sec--paper{background:var(--paper)}
.sec--ink{background:var(--ink);color:#E4E8EA}.sec--ink h2,.sec--ink h3{color:#fff}
.sec--signal{background:var(--signal);color:var(--ink)}
.sec-title{margin-bottom:clamp(1.75rem,3vw,3rem);max-width:22ch}
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 2rem;margin-bottom:2rem}
.sec-head h2{max-width:24ch}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.split--rev .split-art{order:2}
.split-art{aspect-ratio:5/4;background:var(--mist);margin:9px}
.split-art--portrait{aspect-ratio:4/5;max-width:30rem;width:100%;margin-inline:9px}
.reg--light::before{--c:var(--signal)}
.split-copy h2{margin-bottom:1.25rem;max-width:18ch}
.prose{max-width:38rem}
.prose h2{font-size:2.2rem;margin:2rem 0 .75rem}
.prose h3{font-size:1.6rem;margin:1.5rem 0 .5rem}
.prose ul{list-style:disc;padding-left:1.25rem;margin:0 0 1.1em}
.prose ol{list-style:decimal;padding-left:1.25rem;margin:0 0 1.1em}
.prose li{margin-bottom:.35rem}
.prose a{color:var(--signal-d);text-underline-offset:3px}
.prose img{margin:1.5rem 0}
.prose blockquote{margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:4px solid var(--signal);font-size:1.15rem}
.prose--article{max-width:none;font-size:1.125rem;line-height:1.7}
.spa .prose,.sec--ink .prose{color:#D3D8DB}
.facts{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.5rem 0;padding:1rem 0;border-block:1px solid var(--line)}
.facts li{font-weight:600}
.person{display:flex;flex-direction:column;margin:1.5rem 0}
.person strong{font-family:var(--f-display);font-size:1.9rem;font-weight:800;line-height:1}
.person span{color:var(--muted)}
.person--role{margin:.25rem 0 1.25rem}
.person--role span{font-weight:600;color:var(--signal-d);font-size:1.1rem}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}
.tags li{border:1px solid var(--ink);padding:.25rem .75rem;font-size:.92rem;font-weight:600;border-radius:var(--r)}

.rows li{border-top:2px solid var(--ink)}
.rows li:last-child{border-bottom:2px solid var(--ink)}
.row-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 12.5rem 2.5rem;gap:clamp(1rem,3vw,2.5rem);align-items:center;padding-block:1.6rem;text-decoration:none}
.row-t{font-family:var(--f-display);font-weight:900;font-size:clamp(2.3rem,4.6vw,4.2rem);line-height:.92;text-transform:uppercase}
.row-d{color:var(--ink-3);max-width:32rem}
.row-i{aspect-ratio:3/2;background:var(--mist);margin:9px}
.row-go{font-family:var(--f-display);font-size:2.2rem;font-weight:800;transition:transform .2s}
.row-link:hover .row-go,.course-row:hover .row-go{transform:translateX(8px)}
.row-link:hover .row-t,.course-row:hover .cr-t{color:var(--signal-d)}

.today-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.today-grid h2{margin-bottom:1.5rem;max-width:16ch}
.mini-h{font-family:var(--f-body);font-weight:600;font-size:1rem;letter-spacing:0;margin:2rem 0 .5rem;color:var(--muted)}
.next{display:grid;gap:.15rem;padding:1.25rem 1.5rem;background:var(--ink);color:#fff;border-left:6px solid var(--signal);margin:0 0 1rem}
.next-l{font-size:.9rem;color:#AEB5BA}
.next-t{font-family:var(--f-display);font-weight:800;font-size:2rem;line-height:1;text-decoration:none}
.next-t:hover{color:var(--signal)}
.next-w{color:#D3D8DB}
.next-c{font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--signal);margin-top:.35rem}
.next--bar{grid-template-columns:auto 1fr auto auto;align-items:baseline;gap:.25rem 1.25rem}
.slots li{display:grid;grid-template-columns:5.2rem 1fr;gap:.1rem .9rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--line)}
.slots .t{font-family:var(--f-display);font-weight:800;font-size:1.65rem;line-height:1;grid-row:span 2}
.slots .t small{font-size:1rem;color:var(--muted);font-weight:800}
.slots a,.slots .wd{font-weight:600;text-decoration:none}
.slots a:hover{color:var(--signal-d);text-decoration:underline}
.slots .m{font-size:.9rem;color:var(--muted)}
.biglist li a{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-family:var(--f-display);font-weight:800;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1;text-decoration:none;text-transform:uppercase;transition:padding .18s}
.biglist li a:hover{padding-left:.6rem;color:var(--signal-d)}
.biglist small{font-family:var(--f-body);font-weight:600;font-size:.88rem;color:var(--muted);text-transform:none}

.spa .ticks{margin:1.5rem 0}
.ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem 2rem}
.ticks--wide{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.25rem 2.5rem}
.ticks li{position:relative;padding:.7rem 0 .7rem 2.4rem;border-bottom:1px solid rgba(128,138,145,.35);font-weight:600}
.ticks li::before{content:"";position:absolute;left:0;top:50%;width:1.6rem;height:12px;transform:translateY(-50%);background:linear-gradient(90deg,var(--signal) 3px,transparent 3px) 0 100%/8px 100% repeat-x}
.spa-note{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--ink-3);color:#C9CFD3}
.spa-note strong{display:block;font-family:var(--f-display);font-size:2.4rem;font-weight:800;color:var(--signal);line-height:1}

.why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.why li{border-top:4px solid var(--ink);padding-top:1.1rem}
.why h3{margin-bottom:.6rem}
.why p{color:var(--ink-3);margin:0}
.teaser{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}
.teaser li{aspect-ratio:1;background:var(--mist);overflow:hidden}
.teaser img{width:100%;height:100%;object-fit:cover}

.cta-in{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:2rem 4rem;align-items:center}
.cta-band h2{max-width:16ch;margin-bottom:1rem;font-size:clamp(2.5rem,5.5vw,4.6rem)}
.cta-band .lede{max-width:34rem;font-size:1.2rem;margin:0}
.cta-band .actions{margin:0}
.cta-in--form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.cta-contact{margin-top:1.5rem;font-weight:600}
.cta-form{background:var(--ink);color:#fff;padding:clamp(1.25rem,3vw,2rem)}

.form .f{margin-bottom:1.1rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem}
.form label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.35rem}
.opt{font-weight:400;color:var(--muted)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{width:100%;min-height:3rem;padding:.7rem .85rem;font:inherit;color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:var(--r)}
.form textarea{resize:vertical;min-height:9rem}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--signal);outline-offset:1px}
.form [aria-invalid=true]{border-color:#B42318}
.form--quick label{color:#fff}.form--quick .opt{color:#AEB5BA}
.f--check{display:grid;grid-template-columns:auto 1fr;gap:.2rem .65rem;align-items:start}
.f--check input{width:1.3rem;height:1.3rem;margin-top:.2rem;accent-color:var(--signal)}
.f--check label{font-weight:400;margin:0;font-size:.92rem}
.f--check .err{grid-column:2}
.form a{text-underline-offset:3px}
.err{margin:.3rem 0 0;color:#B42318;font-size:.9rem;font-weight:600;min-height:0}
.err:empty{display:none}
.form--quick .err{color:#FFB4A8}
.form-ok{padding:1rem 1.25rem;background:#E5F4E9;border-left:6px solid #1E7B3A;color:#12391f;font-weight:600;margin:0}
.form--quick .form-ok{background:#fff}
.f-actions{margin:1.4rem 0 0}

.week{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));border-top:4px solid var(--ink)}
.day{padding:1rem 1rem 1.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.day:first-child{border-left:1px solid var(--line)}
.day.is-today{background:#FFF1E6;box-shadow:inset 0 4px 0 var(--signal)}
.day h3{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}
.dn{font-family:var(--f-body);font-weight:600;font-size:.95rem;color:var(--muted)}
.dd{font-size:2.6rem;font-weight:900;line-height:.9}
.today-tag{margin-left:auto;font:600 .78rem var(--f-body);background:var(--signal);color:var(--ink);padding:.15rem .5rem;border-radius:var(--r)}
.day .slots li{grid-template-columns:1fr;padding:.65rem 0}
.day .slots .t{grid-row:auto}
.none{margin:1rem 0 0;font-size:.92rem}
.note{margin-top:1.25rem;font-size:.92rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}
.chip{font:600 .95rem var(--f-body);padding:.5rem 1.1rem;border:2px solid var(--ink);background:transparent;color:var(--ink);border-radius:var(--r);cursor:pointer}
.chip:hover{background:var(--mist)}
.chip.is-on{background:var(--ink);color:#fff}
.course-list li{border-top:1px solid var(--ink)}
.course-list li:last-child{border-bottom:1px solid var(--ink)}
.course-list li[hidden]{display:none}
.course-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,.7fr) 2.5rem;gap:1.5rem;align-items:center;padding-block:1.25rem;text-decoration:none}
.cr-t{font-family:var(--f-display);font-weight:800;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1;text-transform:uppercase}
.cr-d{color:var(--ink-3)}
.cr-m{font-size:.9rem;color:var(--muted)}
.course-detail{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.spec{background:var(--paper);padding:1.75rem;border-top:4px solid var(--signal)}
.spec dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin:0}
.spec dt{color:var(--muted)}.spec dd{margin:0;font-weight:600}
.spec .mini-h{margin-top:1.75rem}

.gallery{column-width:17rem;column-gap:.85rem}
.gallery li{break-inside:avoid;margin-bottom:.85rem}
.gallery li[hidden]{display:none}
.ph{display:block;width:100%;padding:0;border:0;background:var(--mist);cursor:zoom-in;overflow:hidden}
.ph img{width:100%;height:auto;transition:transform .35s}
.ph:hover img{transform:scale(1.025)}
.empty{padding:3rem 0;font-size:1.2rem;color:var(--muted);max-width:36rem}
.lightbox{border:0;padding:0;background:rgba(10,12,13,.96);color:#fff;width:100vw;height:100vh;max-width:none;max-height:none}
.lightbox::backdrop{background:rgba(10,12,13,.96)}
.lightbox[open]{display:grid;place-items:center}
.lightbox figure{margin:0;text-align:center}
.lightbox img{max-width:92vw;max-height:80vh;width:auto;height:auto;margin:auto}
.lightbox figcaption{margin-top:.9rem;color:#C9CFD3}
.lb-x,.lb-n{position:absolute;background:transparent;border:2px solid #fff;color:#fff;width:3rem;height:3rem;font-size:1.5rem;cursor:pointer;border-radius:var(--r)}
.lb-x{top:1rem;right:1rem}.lb-prev{left:1rem;top:50%}.lb-next{right:1rem;top:50%}
.lb-x:hover,.lb-n:hover{background:#fff;color:var(--ink)}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem)}
.post-card{display:flex;flex-direction:column;gap:.5rem;text-decoration:none;height:100%}
.pc-i{aspect-ratio:3/2;background:var(--mist);margin:9px 9px .75rem}
.post-card time{font-size:.9rem;color:var(--muted)}
.pc-t{font-family:var(--f-display);font-weight:800;font-size:1.9rem;line-height:1}
.post-card:hover .pc-t{color:var(--signal-d)}
.pc-d{color:var(--ink-3)}
.pager{display:flex;gap:.4rem;margin-top:2.5rem}
.pager a,.pager span{min-width:2.6rem;height:2.6rem;display:inline-grid;place-items:center;border:2px solid var(--ink);font-weight:600;text-decoration:none}
.pager .on{background:var(--ink);color:#fff}.pager .gap{border:0}

.contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.contact-info h2,.contact-form h2{margin-bottom:1.25rem;font-size:clamp(2.1rem,3.6vw,3rem)}
.info{margin:0}
.info dt{font-weight:600;color:var(--muted);font-size:.92rem;margin-top:1.25rem}
.info dd{margin:.15rem 0 0;font-size:1.1rem}
.info a{text-underline-offset:3px}
.hours-block .hours-big{font-family:var(--f-display);font-weight:800;font-size:clamp(2.2rem,5vw,4rem);line-height:1;margin:1rem 0 .5rem}

.site-foot{background:var(--ink);color:#C9CFD3;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2.5rem;padding-block:clamp(2.5rem,5vw,4rem)}
.foot-name{font-family:var(--f-display);font-weight:900;font-size:2.4rem;color:#fff;text-transform:uppercase;line-height:1;margin-bottom:.75rem}
.foot-h{font-family:var(--f-display);font-weight:800;font-size:1.4rem;color:#fff;margin-bottom:.75rem}
.foot-list li{margin-bottom:.35rem}
.foot-list a,.foot-addr a,.social a{text-decoration:none}
.foot-list a:hover,.foot-addr a:hover,.social a:hover,.foot-legal a:hover{color:#fff;text-decoration:underline}
.foot-addr{font-style:normal;line-height:1.7}
.social{display:flex;gap:1.1rem;margin-top:1rem;font-weight:600}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.5rem;border-top:1px solid var(--ink-3);font-size:.9rem}
.foot-legal p{margin:0}
.mbar{display:none}

@media (max-width:1100px){
  .row-link{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 2.5rem}.row-i{display:none}
  .why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:1fr 1fr}
  .teaser{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:960px){
  .nav-toggle{display:inline-block}
  .nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:1rem var(--gut) 1.5rem;gap:1rem;display:none;box-shadow:0 18px 30px rgba(0,0,0,.12)}
  .nav.open{display:flex}
  .nav ul{flex-direction:column;gap:0}
  .nav a:not(.btn){display:block;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}
  .split,.today-grid,.course-detail,.contact-grid,.cta-in,.cta-in--form{grid-template-columns:1fr}
  .split--rev .split-art{order:0}
  .readouts{grid-template-columns:repeat(2,1fr)}
  .readouts li:nth-child(3){padding-left:0;border-left:0}
  .readouts li:nth-child(n+3){border-top:1px solid var(--ink-3)}
  .posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-row{grid-template-columns:minmax(0,1fr) 2.5rem}.cr-d,.cr-m{grid-column:1}.course-row .row-go{grid-column:2;grid-row:1}
  .next--bar{grid-template-columns:1fr}
  .site-head{position:sticky}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.6rem var(--gut);background:#fff;border-top:1px solid var(--line)}
  .mbar .btn:only-child{grid-column:1/-1}
  body{padding-bottom:4.4rem}
}
@media (max-width:640px){
  .why,.ticks,.f-row,.posts,.foot-grid{grid-template-columns:1fr}
  .teaser{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row-link{grid-template-columns:minmax(0,1fr) 2rem}.row-d{grid-column:1}.row-link .row-go{grid-column:2;grid-row:1}
  .week{grid-template-columns:1fr}.day:first-child{border-left:0}.day{border-right:0}
  .head-in{min-height:5.4rem}.brand img{width:240px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .hero .ruler::after{transform:translateX(24vw)}
}
