/* LB Acting Studio public website — tokens from INR-0004 §3 (sampled from the Canva frames). */
@import url("fonts/fonts.css");
:root{color-scheme:dark;
  --bg:#000;--bg-2:#050608;--surface:#070808;--line:rgba(255,255,255,.08);--hover:#141414;
  --cream:#faf6d5;--sky:#9cc7e7;--blue:#0077ab;--blue-line:#45789b;--gold-text:#ffde59;--gold:#bd8c49;
  --navy:#162540;--pill:#d8d8d8;--pill-ink:#141415;--red:#e7191f;--teal:#014260;--grey-btn:#ceced0;
  --ink:#fff;--ink-2:#8b8c8e;--display:Oswald,"Arial Narrow",sans-serif;--font:Roboto,-apple-system,"Segoe UI",sans-serif;
  --gutter:16px;--max:1440px;--r-btn:0px}
html[data-colourway=gold]{--sky:#bd8c49;--blue:#bd8c49;--gold-text:#bd8c49}
html[data-button=pill]{--r-btn:9999px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.5 var(--font)}
img{max-width:100%;height:auto}a{color:inherit}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--cream);color:#000;padding:8px}.skip:focus{left:8px;z-index:10}
h1,h2,.label,.btn,.eyebrow,.row-title,.back,.tagline,.level-h,.site-nav,summary{font-family:var(--display);text-transform:uppercase}
h1{font-weight:700;font-size:clamp(40px,8vw,76px);line-height:.92;margin:0 0 16px}
.hero-home h1{font-size:clamp(48px,10vw,104px);color:var(--cream)}
h2{font-weight:700;font-size:clamp(28px,4vw,48px);line-height:1;margin:0 0 12px}
.label{color:var(--cream);font-weight:500;font-size:17px;letter-spacing:.16em;margin:0 0 16px}
.eyebrow,.tagline{font-weight:500;letter-spacing:.2em;font-size:14px}.eyebrow{color:var(--sky)}
.level-h{color:var(--gold-text);font-weight:300;letter-spacing:.2em;font-size:22px}
.btn{display:inline-block;padding:12px 22px;border-radius:var(--r-btn);font-weight:500;letter-spacing:.1em;font-size:15px;text-decoration:none;margin:0 12px 12px 0}
.btn-primary{background:var(--blue);color:var(--cream)}.btn-outline{border:2px solid var(--cream);color:var(--cream)}.btn-grey{background:var(--grey-btn);color:#000;border-radius:4px}
/* header */
.site-head{display:flex;align-items:center;gap:16px;padding:12px var(--gutter);max-width:var(--max);margin:0 auto;position:relative}
.logo img{display:block}
.nav-sheet{margin-left:auto}.nav-sheet>summary{list-style:none;cursor:pointer;width:32px;height:24px;display:flex;flex-direction:column;justify-content:space-between}
.nav-sheet>summary::-webkit-details-marker{display:none}.nav-sheet>summary span{display:block;height:2px;background:#fff}
.site-nav ul{list-style:none;margin:0;padding:0}.site-nav a,.site-nav summary{color:#fff;text-decoration:none;font-size:18px;line-height:1.1;letter-spacing:.08em;font-weight:500}
.nav-dd>summary{list-style:none;cursor:pointer}.nav-dd>summary::-webkit-details-marker{display:none}
.nav-item.on>a,.nav-item.on>details>summary{position:relative}.nav-item.on>a::after,.nav-item.on>details>summary::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-10px;width:64px;height:3px;background:var(--sky)}
.mega{background:#000;border-top:1px solid var(--line);text-align:left}.mega-col{text-align:left}.mega-in{display:grid;gap:28px 40px;padding:32px 40px 40px}
.mega-col h3{font:700 22px/1.1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--sky);margin:0 0 16px}
.mega-col ul{list-style:none;padding:0;margin:0}.mega-col li{margin:0 0 10px}.mega-col a{font:500 15px/1.3 var(--display);letter-spacing:.06em;text-transform:uppercase;color:#fff;text-decoration:none}.mega-col ul ul{margin:8px 0 14px 22px}.mega-col ul ul li{margin:0 0 5px}.mega-col ul ul a{font:400 14px/1.35 var(--font);letter-spacing:0;text-transform:none}.mega-col ul ul a::before{content:"• ";color:#fff}
.mega-col a::before{content:"→ ";color:#fff}.mega-col ul ul a::before{content:"• "}.mega-col a.pending{color:#d9dadc}[data-x-mega=resources] .mega-col>ul>li>a{color:var(--cream)}[data-x-mega=resources] .mega-col>ul>li>a::before{color:var(--cream)}.mega-note{color:var(--red);font:700 12px/1.2 var(--font);text-transform:uppercase;margin:0 0 8px}
.mega-all{display:block;padding:8px 20px;font-size:12px}
.nav-tools{display:flex;gap:12px}.tool{display:inline-flex}.ico{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}
@media (max-width:899px){.nav-sheet[open]>.site-nav{position:absolute;left:0;right:0;top:100%;background:var(--bg-2);padding:8px var(--gutter) 24px;z-index:5}
  .site-nav li{border-bottom:1px solid var(--line)}.site-nav a,.site-nav summary{display:block;padding:12px 0}.mega-in{grid-template-columns:1fr}}
@media (min-width:900px){.bridge{padding:48px 40px 48px 96px}.site-head{position:absolute;left:0;right:0;top:0;z-index:4;max-width:none;padding:18px 32px;background:linear-gradient(rgba(0,0,0,.85),rgba(0,0,0,0))}main{padding-top:110px}.hero-home,.hero-audience{padding-top:120px}
  .nav-sheet{flex:1}.nav-sheet>summary{display:none}.site-nav{display:flex;align-items:center;gap:32px}.site-nav>ul{display:flex;flex:1;justify-content:space-between;gap:12px;align-items:center}
  .site-nav>ul>li{text-align:center;max-width:170px}.site-nav>ul>li>a,.site-nav>ul>li>details>summary{text-wrap:balance}.site-nav a,.site-nav summary{display:block}.nav-item.on>a::after,.nav-item.on>details>summary::after{bottom:-12px}
  .nav-item{position:static}.nav-dd[open]>summary::after{content:"";position:absolute;left:0;right:0;height:40px;top:100%}.nav-dd>summary{position:relative}.mega{position:absolute;left:0;right:0;top:100%;z-index:6}.mega-in{display:flex;flex-wrap:wrap;gap:28px 48px;justify-content:flex-start}.mega-col{flex:0 0 auto;min-width:180px}
  .mega-all{position:absolute;left:0;top:calc(100% + 1px)}}
/* sections */
main>section,.page{padding:40px var(--gutter);max-width:var(--max);margin:0 auto}
.hero{background:var(--bg-2)}.hero-text{max-width:720px}.hero p{max-width:60ch}
.cards{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.strip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
@media (min-width:900px){.strip ul{grid-template-columns:repeat(6,1fr)}}
.cards li a{display:block;background:var(--surface);border:1px solid var(--line);padding:16px;text-decoration:none;min-height:120px}
.strip li a{display:block;text-align:center;padding:28px 16px;text-decoration:none;border-left:1px solid var(--line)}.strip li:first-child a{border-left:0}.strip .ico{width:52px;height:52px;stroke:var(--sky);stroke-width:1.2}
.cards strong{display:block;font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--sky);margin:8px 0 4px}.cards span{color:var(--ink-2);font-size:14px}
.strip strong{display:block;font:500 17px/1.2 var(--display);text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:14px 0 6px}.strip span{display:block;color:#c9cacc;font-size:14px;line-height:1.4;max-width:22ch;margin:0 auto}
.cards.scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:none}.cards.scroll::-webkit-scrollbar{display:none}.cards.scroll li{flex:0 0 78vw;max-width:340px;scroll-snap-align:start}
@media (min-width:900px){.cards.scroll{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;overflow:visible}.cards.scroll li{flex:none;max-width:none;min-width:0}.cards.scroll.many{display:flex;overflow-x:auto}.cards.scroll.many li{flex:0 0 calc(25% - 12px)}}
.label-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.label-row a{color:var(--sky);font:500 15px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.bridge{position:relative;min-height:340px;display:flex;flex-direction:column;justify-content:center;padding:48px 32px;background:linear-gradient(90deg,#000 32%,rgba(0,0,0,.35) 60%,rgba(0,0,0,0)),var(--card-photo,#000) right center/cover no-repeat;max-width:calc(var(--max) - 2*var(--gutter));margin:0 auto;border-radius:8px}
.bridge-text{max-width:520px}.bridge h2{color:var(--cream);font-weight:500;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:.01em;margin:0 0 20px}.bridge p{color:var(--sky);font:400 15px/1.5 var(--font);text-transform:uppercase;letter-spacing:.06em;max-width:56ch;margin:0}
.bridge .btn-cream{position:absolute;right:40px;bottom:36px;background:var(--cream);color:#000;font-weight:700;border-radius:0;padding:14px 26px}
@media (max-width:899px){.bridge{background:linear-gradient(rgba(0,0,0,.1),#000 70%),var(--card-photo,#000) center top/cover no-repeat;min-height:420px;justify-content:flex-end}.bridge .btn-cream{position:static;align-self:flex-start;margin-top:20px}}.brain{text-align:center;font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-weight:500;color:var(--cream);font-size:clamp(20px,2.4vw,32px);line-height:1.25;max-width:60ch;padding:24px var(--gutter)}
.final{position:relative;min-height:420px;display:flex;align-items:center;justify-content:flex-end;padding:48px 40px;max-width:calc(var(--max) - 2*var(--gutter));margin:0 auto;background:linear-gradient(90deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.6) 52%,#000 62%),var(--card-photo,#000) left center/cover no-repeat}
.final-text{max-width:640px;text-align:right}.final h2{color:var(--cream);font-weight:700;font-size:clamp(34px,4.6vw,66px);line-height:1;margin:0 0 24px}.final p{color:var(--sky);font:400 15px/1.5 var(--font);text-transform:uppercase;letter-spacing:.06em;margin:0 0 28px}.final .cta{margin:0}.final .btn{margin:0 0 0 16px;font-weight:700;padding:16px 30px;border-radius:0}.btn-cream{background:var(--cream);color:#000}.final .btn-outline{border-color:var(--cream)}
@media (max-width:899px){.final{background:linear-gradient(rgba(0,0,0,.15),#000 65%),var(--card-photo,#000) center top/cover no-repeat;justify-content:flex-start;align-items:flex-end;min-height:520px}.final-text{text-align:left}.final .btn{margin:0 12px 12px 0}}.different{background:linear-gradient(90deg,var(--teal),var(--bg) 70%)}
.doors{list-style:none;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.doors a{display:block;padding:20px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em}
.back{display:inline-block;font-size:13px;letter-spacing:.14em;text-decoration:none;margin:0 0 16px}
/* class rows */
.rows{list-style:none;margin:0;padding:0}.row-link{display:grid;grid-template-columns:96px 1fr;gap:12px 14px;padding:12px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:0 0 10px}
.row-link:hover,.row-link:focus-visible{background:var(--hover)}
.thumb{position:relative;aspect-ratio:3/1;background:#222;display:flex;align-items:center;justify-content:center}.thumb .ico{width:28px;height:28px;stroke:#fff}
.badge{position:absolute;left:6px;bottom:6px;background:var(--red);color:#fff;font:700 11px/1 var(--font);text-transform:uppercase;padding:4px 8px;border-radius:9999px}
.row-title{display:block;font-weight:500;letter-spacing:.1em;font-size:17px}.pills{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.pills span{background:var(--pill);color:var(--pill-ink);font-size:12px;padding:3px 10px;border-radius:9999px}
.detail{display:block;color:var(--ink-2);font-size:14px}.price{font-size:15px;letter-spacing:.06em;grid-column:1/-1;text-align:right}
@media (min-width:900px){.row-link{grid-template-columns:220px 1fr 120px}.thumb{aspect-ratio:3/1}.badge{left:auto;right:6px}.price{grid-column:auto;align-self:center}}
.empty{color:var(--ink-2)}
/* footer */
.site-foot{background:var(--bg-2);border-top:1px solid var(--line)}
.foot-in{max-width:var(--max);margin:0 auto;padding:48px var(--gutter) 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}
@media (max-width:899px){.foot-in{grid-template-columns:1fr}}
.foot-left{display:flex;flex-direction:column;gap:22px}.foot-left address{margin-top:-10px}
address{font-style:normal;font-weight:400;font-size:17px;line-height:1.5;color:#e6e7e9}.foot-logo{display:block;width:210px}.foot-logo img{display:block;height:35px;width:auto;margin-left:-17.9px}address a{color:#fff;text-decoration:none}
.socials{list-style:none;padding:0;margin:0;display:flex;gap:28px;justify-self:end;order:3}.socials a{display:inline-flex;color:#fff}.socials svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6}.socials li:nth-child(2) svg,.socials li:nth-child(3) svg,.socials li:nth-child(4) svg{fill:currentColor;stroke:none}
.newsletter{min-width:280px;max-width:420px;text-align:center;justify-self:center;order:2}.newsletter h2{font-size:clamp(28px,3vw,40px);letter-spacing:.14em;color:#fff;margin:0 0 14px}
.nl-row{display:flex;justify-content:center}.newsletter input{background:#111;border:1px solid var(--line);color:#fff;padding:12px;font:inherit;width:70%;max-width:280px}.newsletter button{background:#fff;color:#000;border:0;padding:12px 16px;font-size:18px}
.foot-bar{max-width:var(--max);margin:0 auto;padding:16px var(--gutter) 28px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;border-top:1px solid var(--line)}
.foot-links{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.foot-links a{color:#d9dadc}
@media (max-width:899px){.newsletter{text-align:left;justify-self:start}.nl-row{justify-content:flex-start}.socials{justify-self:start}}.tiny{font-size:12px;color:var(--ink-2)}
/* ---- phase 2: catalogue, drawer, waitlist, tabs, filters (INR-0004 §4, §5.8–5.13) ---- */
.hero-text p{color:var(--ink)}.hero-audience h1{color:#fff}
.level p{max-width:75ch}.ideal,.leave{margin:0 0 16px;padding-left:20px}.ideal li,.leave li{margin:2px 0}
.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:0 auto;padding:0 var(--gutter);max-width:var(--max);overflow-x:auto}
.tabs a{font:500 14px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:14px 0;white-space:nowrap;color:var(--ink-2)}
.tabs a.on,.tabs a[aria-current=true]{color:#fff;box-shadow:inset 0 -3px 0 var(--blue-line)}
/* filters: one scroll row on phone inside "Filter"; open on desktop */
.filters{margin:8px 0 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.filters>summary{cursor:pointer;padding:10px 14px;font:500 13px/1 var(--display);letter-spacing:.14em}
.filter-in{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 14px 14px}
.filter-group{display:flex;gap:6px;align-items:center;scroll-snap-align:start;flex:none}
.filter-label{font:500 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-right:2px}
.filter-in a{display:inline-flex;gap:6px;align-items:center;background:var(--pill);color:var(--pill-ink);text-decoration:none;font-size:13px;padding:5px 12px;border-radius:9999px;white-space:nowrap}
.filter-in a span{opacity:.6}.filter-in a.on{background:var(--sky)}.filter-in a.filter-clear{background:none;color:var(--sky);text-decoration:underline}
.filtered{color:var(--ink-2);margin:0 0 8px}
@media (min-width:900px){.filter-in{flex-wrap:wrap;overflow:visible}.filters>summary{display:none}}
/* drawer: slides from the right over the list on desktop, a full sheet on phone */
body.drawer-open{overflow:hidden}
.drawer-wrap{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.6);display:flex;justify-content:flex-end}
.drawer-wrap[hidden]{display:none}
.drawer{background:var(--navy);width:100%;max-width:420px;height:100%;overflow-y:auto;padding:0 24px 32px;box-shadow:-12px 0 40px rgba(0,0,0,.5)}
@media (max-width:599px){.drawer{max-width:none}}
.drawer-head{position:sticky;top:0;background:var(--navy);display:flex;justify-content:space-between;align-items:center;padding:14px 0;font:500 12px/1 var(--display);letter-spacing:.18em;text-transform:uppercase;z-index:1}
.drawer-x{background:none;border:0;color:#fff;font:700 30px/1 var(--display);cursor:pointer;padding:4px 8px}
.drawer-x:focus-visible,.row-link:focus-visible,.btn:focus-visible,.tabs a:focus-visible,.filter-in a:focus-visible{outline:2px solid var(--cream);outline-offset:2px}
.detail-media{margin:0 0 16px;aspect-ratio:16/9;border-radius:4px}
.detail-title{font:700 clamp(24px,4vw,32px)/1 var(--display);text-transform:uppercase;margin:0 0 14px}
.facts{list-style:none;padding:0;margin:0 0 12px;line-height:1.6}
.seats{font-weight:700;margin:0 0 8px}.prereq{color:var(--gold-text);font-weight:700;margin:0 0 16px}
.leave-h{font:700 17px/1.3 var(--font);margin:16px 0 6px;text-transform:none}
.action{margin:20px 0}.action-note{color:var(--ink);margin:0 0 10px;font-size:15px}
.waitlist-block{background:var(--bg-2);padding:28px 20px;margin:20px -24px;text-align:center}
.btn-disabled{background:#2a2e36;color:#c8cbd0;cursor:not-allowed}
.drawer .btn,.class-card .btn{font-size:18px;font-weight:700}   /* cream/white on blue passes AA at 18px bold (§3) */
.policy{margin-top:24px;font-size:13px;color:#d6dbe4;text-align:center}.policy h3{font:700 13px/1.3 var(--font);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px}
.policy p{margin:0 0 6px}.policy .derived{color:#fff;font-weight:700;margin-top:10px}
/* class page */
.class-page .lead{max-width:75ch;font-size:18px}
.class-card{background:var(--navy);border-radius:8px;padding:24px;margin:24px 0;max-width:720px}
.class-card .waitlist-block{margin:20px -24px}
/* ---- phase 3: home, heroes, carousels, training path, classes map (INR-0004 §5.3–5.7, 5.23, 5.24) ---- */
:root{--map-box:#0b1a2b;--map-line:var(--sky);--map-gate:var(--gold-text)}
html[data-colourway=gold]{--map-box:#1a140b}
.hero-home{min-height:min(78vh,720px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#000 38%,rgba(0,0,0,.15) 70%,rgba(0,0,0,0)),url(/media/hero-home.jpg) right center/cover no-repeat,var(--bg-2)}
@media (max-width:899px){.hero-home{background:linear-gradient(rgba(0,0,0,.35),#000 85%),url(/media/hero-home.jpg) center 20%/cover no-repeat,var(--bg-2)}}
.hero-home .sub{font-size:clamp(17px,2vw,20px);max-width:52ch}
.kicker{color:var(--sky);font:500 clamp(18px,2.4vw,26px)/1 var(--display);letter-spacing:.2em;text-transform:uppercase;margin:0 0 8px}
.hero-A h1,.hero-B h1{color:var(--cream)}.hero-A .sub,.hero-B .sub{color:var(--sky);font:500 clamp(18px,2.4vw,26px)/1.1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.hero-D h1{color:var(--sky)}
.band{margin-top:24px;padding:24px 0;border-top:1px solid var(--line)}.band p{font:500 clamp(18px,2.6vw,26px)/1.2 var(--display);text-transform:uppercase;letter-spacing:.04em}
.video-card{display:flex;align-items:center;justify-content:center;gap:12px;aspect-ratio:16/9;max-width:720px;margin:24px 0;background:#111;text-decoration:none;color:var(--sky)}
.video-card .ico{width:56px;height:56px;fill:#fff;stroke:none}.video-cap{font:500 16px/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase}
.car{position:relative}@media (min-width:900px){.car{padding:0 48px}.car-btn[data-x-car=prev]{left:0}.car-btn[data-x-car=next]{right:0}}@media (max-width:899px){.car-btn{display:none}}.car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(0,0,0,.7);color:var(--sky);border:0;width:40px;height:40px;font:400 30px/1 var(--display);cursor:pointer}
.car-btn[data-x-car=prev]{left:-6px}.car-btn[data-x-car=next]{right:-6px}.car-btn[hidden]{display:none}
.paths .cards li a{position:relative;aspect-ratio:1.1/1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:linear-gradient(0deg,#000 15%,rgba(0,0,0,.2) 60%,rgba(0,0,0,.35)),var(--card-photo,linear-gradient(160deg,#1a1410,#07090c)) center top/cover no-repeat}
.paths .cards strong{color:var(--cream);font-size:clamp(22px,1.9vw,30px);font-weight:400;letter-spacing:.015em;margin:10px 0 6px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.paths .cards span{font-size:16px;color:#c9cacc;max-width:20ch}
.paths .ico{width:36px;height:36px;stroke:#fff;stroke-width:1.2}.chev{position:absolute;right:18px;bottom:22px;font-style:normal;color:var(--sky);font-size:26px}
.featured .cards li a{aspect-ratio:1.85/1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:20px 22px;border-radius:8px;background:linear-gradient(90deg,rgba(0,0,0,.9) 35%,rgba(0,0,0,.25)),var(--card-photo,linear-gradient(160deg,#141414,#050608)) right center/auto 100% no-repeat,#050608}
.featured .cards strong{color:var(--cream);font-size:clamp(22px,1.9vw,30px);font-weight:400;line-height:1.02;letter-spacing:.015em;max-width:55%;margin:0 0 10px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.featured .cards span{color:#cfd0d2;font:400 12px/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase}.featured .ico{display:none}
.featured strong{color:var(--cream)}.featured .ico{width:34px;height:34px;fill:#fff;stroke:none;margin-bottom:auto;align-self:flex-end}
.brain p{margin:0}
.offer .cards li a{min-height:90px}
/* training path page */
.path-head{text-align:center;padding-top:56px}.path-head h1{color:var(--cream)}.reassure{max-width:52ch;margin:12px auto 0;font-size:18px}
.steps{list-style:none;margin:0 auto;padding:24px var(--gutter);max-width:900px;display:grid;gap:28px;background:linear-gradient(180deg,#000,#07233a 40%,#000)}
.step{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:start;padding:20px;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:8px;position:relative}
.step:not(:last-child)::after{content:"⌄";position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);color:var(--sky);font-size:26px;line-height:1}
.step .ico-clapper{width:34px;height:34px;stroke:var(--sky);grid-row:1/3}.step-n{position:absolute;left:44px;top:14px;font:700 14px/1 var(--display);color:var(--gold-text)}
.step h2{font-size:clamp(22px,3vw,30px);margin:0}.step-body p{margin:6px 0}.more{color:var(--sky);font-size:14px}
.next{text-align:center;padding:56px var(--gutter);background:linear-gradient(0deg,#000,#0a1826)}.next h2{color:var(--cream)}
/* classes map */
.class-map{margin:0}.class-map svg{width:100%;max-width:900px;height:auto;display:block}
.class-map rect{fill:var(--map-box);stroke:var(--map-line);stroke-width:1.5}.class-map text{fill:#fff;font:500 13px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.class-map .is-specialty rect{stroke-dasharray:4 3}.class-map .map-gate{fill:var(--map-gate);font-size:11px}
.class-map a:focus-visible rect,.class-map a:hover rect{stroke:var(--cream);stroke-width:2.5}
.map-edge{stroke:var(--map-line);stroke-width:1.5}#map-arrow path{fill:var(--map-line)}
.class-map figcaption{color:var(--ink-2);font-size:14px;margin-top:8px}
.map-list{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}   /* text version for screen readers */
/* ---- phase 4: resources, alumni, coaches, events, blog, search, policies (INR-0004 §5.17–5.20, §6) ---- */
.meta{color:var(--ink-2);font-size:14px}.empty{color:var(--ink-2)}
.hub{list-style:none;padding:0;margin:0;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}@media (min-width:900px){.hub{grid-template-columns:repeat(5,1fr)}}
.hub a{display:flex;flex-direction:column;gap:8px;min-height:250px;padding:24px 22px;background:linear-gradient(180deg,#0c0d0f,#050608);border:1px solid var(--line);border-radius:10px;text-decoration:none}
.hub strong{font:500 20px/1.15 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--sky);margin-top:14px}.hub span{color:#c9cacc;font-size:15px;line-height:1.4}.hub em{margin-top:auto;font-style:normal;color:var(--sky);font-size:15px;font-weight:700}
.hub .ico{width:52px;height:52px;stroke:var(--sky);stroke-width:1.2}.ico-lb{width:52px;height:52px;padding:6px;object-fit:contain;box-sizing:border-box}
.res-group{margin:28px 0}.res-list{list-style:none;padding:0;margin:0}.res-list li{padding:8px 0;border-bottom:1px solid var(--line)}.res-list a{text-decoration:none}.res-list a:hover{color:var(--sky)}
.ext{color:var(--sky);font-size:.85em}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#1c2a3a;color:var(--sky);font:700 22px/1 var(--display)}
.avatar.big{width:120px;height:120px;font-size:36px}
.alumni{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.alumni a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:8px;text-decoration:none;height:100%}
.alumni strong{font:500 16px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase}.alumni span:last-child{color:var(--ink-2);font-size:14px}
.prof{display:flex;gap:20px;align-items:center;margin:0 0 20px;flex-wrap:wrap}.prof h1{margin:0}
.quote{margin:16px 0;padding:0 0 0 16px;border-left:3px solid var(--gold-text);font-size:19px;font-style:italic;color:var(--cream)}
.quotes{list-style:none;padding:0}.quotes li{margin:0 0 24px}
.views{padding:0;margin:0 0 20px}
.ev-day{margin:18px 0}.ev{list-style:none;padding:0;margin:0}.ev li{padding:6px 0}.ev a{text-decoration:none;color:var(--sky)}
.tagpill{background:var(--pill);color:var(--pill-ink);font-size:12px;padding:2px 8px;border-radius:9999px}
.cal-wrap{overflow-x:auto}.cal{border-collapse:collapse;width:100%;min-width:640px;table-layout:fixed /* scroll ok: the month grid scrolls inside .cal-wrap, the page does not */}
.cal th{font:500 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--sky);padding:8px;text-align:left}
.cal td{vertical-align:top;border:1px solid var(--line);height:96px;padding:6px;font-size:12px}.cal .dnum{color:var(--ink-2)}.cal .ev li{padding:2px 0}
.week{list-style:none;padding:0;display:grid;gap:10px}.week li{padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.week h3{font:500 14px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px}
.svc{margin:24px 0}.svc h3{font:500 18px/1.2 var(--display);text-transform:uppercase;letter-spacing:.06em;margin:18px 0 6px}
.search{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}.search input{flex:1;min-width:0;background:#111;border:1px solid var(--line);color:#fff;padding:12px;font:inherit}
.audit{margin-top:40px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.post p{max-width:70ch}.related{margin-top:32px}
.page-policy{text-align:left;font-size:16px;color:var(--ink)}.page address{font-style:normal;font-weight:700;margin:0 0 12px}
/* ---- phase 5: keyboard focus, visible everywhere ---- */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--cream);outline-offset:2px}
.social{text-align:center}.social .label{color:var(--cream);font-size:clamp(28px,3.4vw,48px);font-weight:700;letter-spacing:.01em;text-align:center;margin:0 0 28px}.social .label-row{justify-content:center}
.social img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;background:#000}.social li a{position:relative;display:block;padding:0;min-height:0;background:none;border:0}.social li a span{position:absolute;left:-9999px}
@media (min-width:900px){.social .car{padding:0 88px}.social .cards.scroll{grid-template-columns:repeat(5,1fr);gap:20px;padding:0}.social .car-btn{background:none;color:var(--sky);font-size:120px;font-weight:700;line-height:1;width:72px;height:120px}}
.social .ico{position:absolute;top:10px;right:10px;width:28px;height:28px;fill:#fff;stroke:none}
.faq{padding-top:0}.faq-band{margin:0 calc(-1 * var(--gutter)) 16px;padding:18px;text-align:center;color:#000;font-size:20px;letter-spacing:.12em;
  background:linear-gradient(90deg,#000 0,#00222e 12px,#a5c2d3 40%,#e8f2f3 70%,#000 calc(100% - 12px),#000)}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}.faq summary{cursor:pointer;font:500 17px/1.3 var(--font);text-transform:none}.faq p{color:var(--ink-2)}
