:root{--ink:#171315;--paper:#f4efe8;--cream:#fffaf2;--plum:#3a162f;--plum-2:#6e2e62;--coral:#ff6846;--cobalt:#315eff;--acid:#d9f56e;--muted:#786e72;--line:rgba(23,19,21,.14);--white-line:rgba(255,255,255,.18);--success:#187454;--warning:#a75b0c;--danger:#bd3747;--info:#315e91;--display:Arial Black,"Arial Narrow",Arial,sans-serif;--body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif;--r:18px;--shadow:0 24px 70px rgba(25,14,20,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--body);line-height:1.5;background:var(--paper)}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}button,input,select,textarea{font:inherit}button{color:inherit}.site-header{height:78px;background:var(--ink);color:#fff;border-bottom:1px solid var(--white-line);position:relative;z-index:20}.site-header__inner{height:100%;max-width:1440px;margin:auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-transform:uppercase;letter-spacing:.07em}.brand__mark{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:var(--ink);font:900 12px var(--display);letter-spacing:-.05em}.brand>span:last-child{display:flex;flex-direction:column;line-height:.9}.brand b{font:900 14px var(--display)}.brand small{font:500 9px var(--body);letter-spacing:.25em;margin-top:4px}.site-nav{display:flex;align-items:center;gap:28px;font-size:13px}.site-nav a{position:relative}.site-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--coral);transition:.25s}.site-nav>a:hover:after{right:0}.site-nav form{margin:0}.nav-quiet{background:0;border:0;color:#fff;padding:0;cursor:pointer}.nav-cta{background:var(--coral);color:var(--ink);padding:12px 16px;font-weight:800}.nav-cta span,.button span{margin-left:14px}.site-main{min-height:calc(100vh - 78px)}.flash-stack{position:fixed;top:94px;right:24px;z-index:80;width:min(400px,calc(100% - 32px))}.alert{padding:14px 16px;border-radius:10px;margin-bottom:8px;background:#fff;box-shadow:var(--shadow);border-left:4px solid}.alert--success{color:var(--success);border-color:var(--success)}.alert--danger{color:var(--danger);border-color:var(--danger)}.alert--warning{color:var(--warning);border-color:var(--warning)}
.home-hero{height:min(780px,calc(100vh - 78px));min-height:620px;position:relative;overflow:hidden;background:#100b11;color:#fff}.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,8,12,.94) 0%,rgba(24,11,23,.77) 34%,rgba(20,11,17,.14) 67%,rgba(12,8,12,.15)),linear-gradient(0deg,rgba(9,6,8,.65),transparent 42%)}.home-hero__grain{position:absolute;inset:0;opacity:.25;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.home-hero__content{position:relative;z-index:2;max-width:1440px;margin:auto;height:100%;padding:clamp(70px,10vh,130px) 7vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.24em;font-weight:850;margin-bottom:22px}.home-hero h1{font:900 clamp(58px,8.2vw,126px)/.82 var(--display);text-transform:uppercase;margin:0 0 34px;letter-spacing:-.08em}.home-hero h1 em,.manifesto h2 em,.home-cta h2 em{font:italic 500 1.05em/.8 var(--serif);text-transform:none;letter-spacing:-.06em;color:var(--coral)}.hero-lede{font-size:clamp(16px,1.5vw,21px);line-height:1.55;max-width:570px;color:rgba(255,255,255,.75);margin-bottom:34px}.hero-actions{display:flex;align-items:center;gap:30px}.button{min-height:48px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;background:var(--plum-2);color:#fff;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button--coral{background:var(--coral);color:var(--ink)}.button--ink{background:var(--ink);color:#fff}.button--secondary{background:transparent;border-color:var(--line);color:var(--ink)}.button--ghost{background:transparent;border-color:var(--line);color:var(--ink)}.button--small{min-height:38px;padding:8px 12px;font-size:12px}.text-link{border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:4px;font-weight:700}.text-link span{margin-left:10px}.hero-stamp{position:absolute;right:3.5vw;bottom:38px;z-index:2;width:104px;height:104px;border:1px solid rgba(255,255,255,.42);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase}.hero-stamp span{font-size:8px;letter-spacing:.18em}.hero-stamp strong{font:900 22px var(--display);line-height:1.1}
.manifesto{padding:110px max(7vw,28px);display:grid;grid-template-columns:.65fr 1.5fr 1fr;gap:7vw;max-width:1600px;margin:auto}.manifesto h2,.home-cta h2{font:900 clamp(44px,5.5vw,82px)/.93 var(--display);text-transform:uppercase;margin:0 0 30px}.manifesto>div>p{max-width:570px;color:var(--muted);font-size:18px}.manifesto__facts{display:flex;flex-direction:column;border-top:1px solid var(--line)}.manifesto__facts span{padding:19px 0;border-bottom:1px solid var(--line);font-weight:750}.manifesto__facts b{display:inline-block;color:var(--coral);font-size:10px;letter-spacing:.15em;width:40px}.schedule-section{background:var(--ink);color:#fff;padding:100px max(7vw,28px) 120px}.section-heading{max-width:1400px;margin:0 auto 60px;display:flex;justify-content:space-between;align-items:end}.section-heading h2{font:900 clamp(44px,5vw,72px)/.9 var(--display);text-transform:uppercase;margin:0}.section-heading>p{color:rgba(255,255,255,.55);max-width:360px}.schedule-date{max-width:1400px;margin:48px auto 0;padding-bottom:12px;border-bottom:1px solid var(--white-line);display:flex;align-items:baseline;gap:10px;color:var(--coral);text-transform:uppercase}.schedule-date span{font-weight:850;font-size:11px;letter-spacing:.2em}.schedule-date strong{font:900 28px var(--display)}.schedule-date small{color:rgba(255,255,255,.48)}.class-row{max-width:1400px;margin:auto;min-height:126px;border-bottom:1px solid var(--white-line);display:grid;grid-template-columns:95px 4px 1fr 112px 58px;gap:25px;align-items:center;transition:background .2s,padding .2s}.class-row:hover{background:rgba(255,255,255,.04);padding-inline:18px}.class-row__time strong{font:900 26px var(--display);display:block}.class-row__time span{font-size:9px;color:rgba(255,255,255,.52);letter-spacing:.16em}.class-row__line{height:50px;background:var(--accent)}.class-row__name p{margin:0 0 2px;color:var(--accent);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:850}.class-row__name h3{font:900 clamp(22px,2.2vw,34px)/1 var(--display);text-transform:uppercase;margin:0 0 6px}.class-row__name span{color:rgba(255,255,255,.5);font-size:13px}.class-row__price{display:grid;gap:7px}.class-row__price small{display:block;color:rgba(255,255,255,.45);font-size:9px;text-transform:uppercase}.class-row__price strong{font-size:16px}.circle-link{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--white-line);font-size:21px;transition:.2s}.circle-link:hover{background:var(--coral);color:var(--ink);border-color:var(--coral);transform:rotate(8deg)}.empty{padding:70px 28px;text-align:center;background:var(--cream);border:1px solid var(--line)}.empty--dark{max-width:1400px;margin:auto;background:rgba(255,255,255,.03);border-color:var(--white-line)}.empty--dark span{font-size:35px;color:var(--coral)}.home-cta{padding:120px max(7vw,28px);background:var(--coral);position:relative;overflow:hidden}.home-cta:after{content:"TDC";position:absolute;right:-3vw;bottom:-7vw;font:900 28vw/.7 var(--display);color:rgba(23,19,21,.07)}.home-cta>*{position:relative;z-index:1}.home-cta h2{max-width:850px}.home-cta h2 em{color:var(--cream)}
/* Interior student pages */
.site-main>.page-head,.site-main>.panel,.site-main>.stat-grid,.site-main>.action-grid,.site-main>.list,.site-main>.credit-grid,.site-main>.auth-card,.site-main>.pay-card,.site-main>.choice-grid,.site-main>.back,.site-main>h2,.site-main>.table-wrap,.site-main>.hero:not(.home-hero){width:min(1120px,calc(100% - 40px));margin-left:auto;margin-right:auto}.page-head{padding-top:70px;margin-bottom:30px;display:flex;justify-content:space-between;align-items:end}.page-head h1,.admin-head h1{font:900 clamp(42px,5vw,72px)/.9 var(--display);text-transform:uppercase;margin:0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:850;color:var(--plum-2);margin-bottom:10px}.panel,.auth-card,.pay-card,.choice,.credit-card,.list-card,.stat,.action-card{background:var(--cream);border:1px solid var(--line)}.panel{padding:28px;margin-bottom:22px}.panel__head,.admin-head{display:flex;justify-content:space-between;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}.stat-grid--four{grid-template-columns:repeat(4,1fr)}.stat{padding:22px;display:flex;flex-direction:column}.stat strong{font:900 32px var(--display)}.stat span,.muted{color:var(--muted);font-size:13px}.action-grid,.choice-grid,.credit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:80px}.action-card,.choice,.credit-card{padding:24px}.action-card{display:flex;flex-direction:column;background:var(--plum);color:#fff}.action-card span{color:rgba(255,255,255,.55)}.choice{display:flex;flex-direction:column;gap:10px}.choice .button-row{margin-top:auto}.auth-card,.pay-card{max-width:520px!important;margin-top:70px!important;margin-bottom:100px!important;padding:38px}.auth-card h1,.pay-card h1{font:900 48px/.95 var(--display);text-transform:uppercase}.auth-card form,.pay-card form{display:grid;gap:16px}.auth-card label,.form-grid label{display:grid;gap:6px;font-size:12px;font-weight:750}input,select,textarea{width:100%;min-height:48px;border:1px solid var(--line);background:#fffdf9;padding:12px 13px;color:var(--ink);border-radius:0}textarea{min-height:105px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(49,94,255,.17);border-color:var(--cobalt)}.reference{text-align:center;padding:12px;background:var(--paper);margin:14px 0}.qr{display:block;width:min(340px,100%);margin:15px auto}.pay-card .button--ghost{width:100%;margin-top:10px}.list{display:grid;gap:10px;margin-bottom:100px}.list-card{padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.list-card h2{font:900 20px var(--display);text-transform:uppercase;margin:3px 0}.list-card p{margin:0;color:var(--muted);font-size:13px}.list-card__meta{display:flex;align-items:flex-end;flex-direction:column;gap:7px}.credit-card>strong{font:900 58px/.9 var(--display);color:var(--plum-2);display:block}.credit-card>span{color:var(--muted)}.credit-card h2{font:900 20px var(--display);text-transform:uppercase;margin:24px 0 5px}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;padding:5px 9px;background:#e7dfe1;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.badge--active,.badge--paid{background:#d9eee5;color:var(--success)}.badge--pending{background:#fae8ca;color:var(--warning)}.badge--awaiting_confirmation{background:#dce7f4;color:var(--info)}.badge--cancelled,.badge--failed{background:#f2dadd;color:var(--danger)}code{font-family:"SFMono-Regular",Consolas,monospace;font-size:11px;color:var(--muted)}.link-button,.link-danger,.nav-quiet{border:0;background:none;cursor:pointer;padding:4px}.link-danger{color:var(--danger)}.back{display:block;margin-top:40px;margin-bottom:14px}.booking-summary{margin-top:0!important}.bottomnav{display:none}
/* Admin workspace */
.admin-body{background:#ebe7e0}.admin-shell{min-height:100vh;display:grid;grid-template-columns:246px 1fr}.admin-rail{position:sticky;top:0;height:100vh;background:var(--ink);color:#fff;padding:27px 20px;display:flex;flex-direction:column}.brand--admin{padding:0 8px 38px}.admin-nav{display:grid;gap:4px}.admin-nav a{display:flex;align-items:center;gap:13px;color:rgba(255,255,255,.6);padding:12px;border-left:2px solid transparent;font-size:13px}.admin-nav a span{font-size:9px;color:rgba(255,255,255,.3);letter-spacing:.1em}.admin-nav a.active,.admin-nav a:hover{color:#fff;border-left-color:var(--coral);background:rgba(255,255,255,.05)}.admin-rail__foot{margin-top:auto;border-top:1px solid var(--white-line);padding-top:18px;display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center}.avatar{width:36px;height:36px;background:var(--coral);color:var(--ink);border-radius:50%;display:grid;place-items:center;font-weight:900}.admin-rail__foot strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-rail__foot a{font-size:9px;color:rgba(255,255,255,.5)}.admin-rail__foot form button{background:none;border:0;color:#fff;cursor:pointer}.admin-workspace{padding:52px clamp(25px,4vw,70px) 90px;min-width:0}.admin-head{margin-bottom:32px}.admin-head nav{display:flex;gap:9px;align-items:center}.admin-head nav>a:not(.button){border-bottom:1px solid var(--line);font-size:12px}.admin-workspace .stat-grid,.admin-workspace .panel,.admin-workspace .table-wrap,.admin-workspace>.list{width:100%;margin-inline:0}.admin-workspace .stat{background:#fff}.admin-workspace .stat:first-child{background:var(--plum);color:#fff}.admin-workspace .stat:first-child span{color:rgba(255,255,255,.55)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);margin-bottom:30px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);background:#f8f5f0}td{font-size:13px}td small{display:block;color:var(--muted);font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .span-2{grid-column:span 2}.check{display:flex!important;align-items:center;gap:9px}.check input{width:auto;min-height:0}.color-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}.search{display:flex;gap:8px;margin-bottom:18px;max-width:560px}.section-title{margin-top:34px}
@media(max-width:900px){.site-header__inner{padding:0 20px}.site-nav{gap:14px}.site-nav>a:not(.nav-cta):not(:last-of-type){display:none}.manifesto{grid-template-columns:1fr}.manifesto>.kicker{margin-bottom:0}.class-row{grid-template-columns:78px 3px 1fr 55px}.class-row__price{display:none}.admin-shell{grid-template-columns:76px 1fr}.admin-rail{padding:22px 10px}.brand--admin>span:last-child,.admin-nav a{font-size:0}.admin-nav a{justify-content:center}.admin-nav a span{font-size:9px}.admin-rail__foot>div:not(.avatar),.admin-rail__foot form{display:none}.admin-rail__foot{display:block}.stat-grid--four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.site-header{height:66px}.site-header__inner{padding:0 14px}.site-nav>a,.site-nav form{display:none!important}.site-nav .nav-cta{display:flex!important}.site-main{min-height:calc(100vh - 66px)}.home-hero{height:720px;min-height:0}.home-hero>img{object-position:66% center}.home-hero__shade{background:linear-gradient(0deg,rgba(12,8,12,.94) 5%,rgba(12,8,12,.54) 62%,rgba(12,8,12,.15))}.home-hero__content{justify-content:flex-end;padding:50px 20px 74px}.home-hero h1{font-size:56px}.hero-lede{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-stamp{width:78px;height:78px;right:18px;top:25px;bottom:auto}.manifesto{padding:76px 20px}.manifesto h2,.home-cta h2{font-size:46px}.schedule-section{padding:75px 18px 90px}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:38px}.section-heading h2{font-size:42px}.schedule-date{margin-top:36px}.class-row{grid-template-columns:62px 3px 1fr 44px;gap:12px;min-height:105px}.class-row__time strong{font-size:20px}.class-row__name h3{font-size:18px}.circle-link{width:40px;height:40px}.home-cta{padding:80px 20px 110px}.site-main>.page-head,.site-main>.panel,.site-main>.stat-grid,.site-main>.action-grid,.site-main>.list,.site-main>.credit-grid,.site-main>.auth-card,.site-main>.pay-card,.site-main>.choice-grid,.site-main>.back,.site-main>h2,.site-main>.table-wrap,.site-main>.hero:not(.home-hero){width:calc(100% - 28px)}.page-head{padding-top:40px;align-items:flex-start;flex-direction:column}.page-head h1{font-size:42px}.stat-grid,.action-grid,.choice-grid,.credit-grid{grid-template-columns:1fr}.list-card{align-items:flex-start;flex-direction:column}.list-card__meta{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.auth-card,.pay-card{padding:24px;margin-top:35px!important}.bottomnav{position:fixed;display:flex;z-index:60;bottom:0;left:0;right:0;background:var(--ink);color:#fff;justify-content:space-around;padding:9px 4px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--white-line)}.bottomnav a{font-size:9px;text-transform:uppercase;letter-spacing:.07em;display:grid;gap:2px;text-align:center}.bottomnav b{font-size:16px;color:var(--coral)}.admin-shell{display:block}.admin-rail{position:relative;height:auto;padding:15px;display:flex;flex-direction:row;align-items:center}.brand--admin{padding:0}.brand--admin>span:last-child{display:flex}.admin-nav{display:flex;margin-left:auto}.admin-nav a{display:none}.admin-nav a.active{display:flex;padding:9px}.admin-rail__foot{display:none}.admin-workspace{padding:32px 14px 80px}.admin-head{align-items:flex-start;flex-direction:column}.admin-head h1{font-size:40px}.admin-head nav{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.member-hero{width:min(1120px,calc(100% - 40px));margin:0 auto 14px;min-height:290px;background:var(--plum);color:#fff;padding:42px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.member-hero .kicker{color:var(--coral);margin-bottom:16px}.member-hero h2{font:900 clamp(34px,4vw,58px)/.95 var(--display);text-transform:uppercase;max-width:650px;margin-bottom:13px}.member-hero p{color:rgba(255,255,255,.62)}.member-hero a{display:inline-block;border-bottom:1px solid var(--coral);padding-bottom:3px}.member-hero__glyph{font:900 180px/.7 var(--display);letter-spacing:-.18em;color:rgba(255,255,255,.06);transform:rotate(-8deg);margin-right:30px}.member-hero__glyph span{color:rgba(255,104,70,.25)}.stat small,.action-card small{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.action-card{position:relative;min-height:155px}.action-card strong{font:900 24px var(--display);text-transform:uppercase;margin:17px 0 3px}.action-card b{position:absolute;right:20px;top:20px;color:var(--coral)}.action-card--coral{background:var(--coral);color:var(--ink)}.action-card--coral span,.action-card--coral small{color:rgba(23,19,21,.6)}.action-card--coral b{color:var(--ink)}.passes-hero{background:var(--plum);color:#fff;padding:100px max(7vw,28px);position:relative;overflow:hidden}.passes-hero:after{content:"PASS";position:absolute;right:-2vw;bottom:-5vw;font:900 20vw/.7 var(--display);color:rgba(255,255,255,.035)}.passes-hero>*{position:relative;z-index:1}.passes-hero h1{font:900 clamp(55px,8vw,112px)/.82 var(--display);text-transform:uppercase;margin-bottom:30px}.passes-hero h1 em{font:italic 500 1em var(--serif);text-transform:none;color:var(--coral)}.passes-hero>p:last-child{max-width:550px;color:rgba(255,255,255,.65);font-size:18px}.passes-grid{width:min(1200px,calc(100% - 40px));margin:70px auto 100px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.pass-card{background:var(--ink);color:#fff;padding:32px;min-height:420px;display:flex;flex-direction:column}.pass-card--light{background:var(--coral);color:var(--ink)}.pass-card__top{display:flex;justify-content:space-between;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.pass-card--light code{color:rgba(23,19,21,.55)}.pass-card__count{display:flex;align-items:end;margin:36px 0 24px}.pass-card__count strong{font:900 105px/.7 var(--display);letter-spacing:-.08em}.pass-card__count span{text-transform:uppercase;font-size:11px;letter-spacing:.14em;margin-left:12px}.pass-card h2{font:900 26px/1 var(--display);text-transform:uppercase;margin-bottom:8px}.pass-card p{color:rgba(255,255,255,.55);max-width:430px}.pass-card--light p{color:rgba(23,19,21,.6)}.pass-card__buy{display:flex;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid var(--white-line);padding-top:20px}.pass-card--light .pass-card__buy{border-color:rgba(23,19,21,.18)}.pass-card__buy b{font:900 24px var(--display)}.pass-card .circle-link{background:transparent;color:inherit}.pass-card--light .circle-link{border-color:rgba(23,19,21,.25)}.booking-summary{width:min(1120px,calc(100% - 40px));margin:0 auto 32px;background:var(--plum);color:#fff;padding:35px;display:grid;grid-template-columns:110px 1fr;gap:35px;align-items:center}.booking-summary__date{border-right:1px solid var(--white-line);display:flex;flex-direction:column}.booking-summary__date span,.booking-summary__date small{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--coral)}.booking-summary__date strong{font:900 56px/.9 var(--display)}.booking-summary h1{font:900 clamp(34px,4vw,58px)/.95 var(--display);text-transform:uppercase;margin:0 0 10px}.booking-summary p:last-child{color:rgba(255,255,255,.6);margin:0}
@media(max-width:640px){.member-hero{width:calc(100% - 28px);padding:28px;min-height:260px}.member-hero__glyph{display:none}.passes-hero{padding:72px 20px}.passes-hero h1{font-size:54px}.passes-grid{width:calc(100% - 28px);grid-template-columns:1fr;margin-top:30px}.pass-card{min-height:370px;padding:25px}.pass-card__count strong{font-size:88px}.booking-summary{width:calc(100% - 28px);grid-template-columns:70px 1fr;padding:24px;gap:20px}.booking-summary__date strong{font-size:45px}.booking-summary h1{font-size:30px}}

/* Schedule controls and public footer */
.schedule-filters{max-width:1400px;margin:-20px auto 28px;display:flex;gap:8px;flex-wrap:wrap}.schedule-filters button{border:1px solid var(--white-line);background:transparent;color:rgba(255,255,255,.58);padding:9px 14px;cursor:pointer;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.schedule-filters button:hover,.schedule-filters button.active{background:var(--coral);border-color:var(--coral);color:var(--ink)}.class-row[hidden],.schedule-date[hidden]{display:none}.schedule-more{max-width:1400px;margin:46px auto 0;text-align:center}.site-footer{background:#0d0a0b;color:#fff;padding:70px max(7vw,28px) 36px;display:grid;grid-template-columns:1fr auto;gap:45px;border-top:1px solid var(--white-line)}.site-footer>div>p{color:rgba(255,255,255,.48);max-width:430px;margin:24px 0 0}.site-footer nav{display:flex;gap:28px;align-items:flex-start;font-size:13px}.site-footer nav a{border-bottom:1px solid transparent}.site-footer nav a:hover{border-color:var(--coral)}.site-footer>small{grid-column:1/-1;color:rgba(255,255,255,.32);border-top:1px solid var(--white-line);padding-top:24px}
@media(max-width:900px){.class-row{grid-template-columns:78px 3px minmax(0,1fr) 55px;grid-template-areas:"time line name action" "time line price action";padding-block:16px}.class-row__time{grid-area:time}.class-row__line{grid-area:line;height:100%;min-height:70px}.class-row__name{grid-area:name;min-width:0}.class-row__price{grid-area:price;display:flex;gap:18px;margin-top:9px}.circle-link{grid-area:action}}
@media(max-width:640px){.class-row{grid-template-columns:62px 3px minmax(0,1fr) 44px;padding-block:14px}.class-row__price{gap:14px}.class-row__price strong{font-size:14px}}
.class-row{grid-template-columns:95px 4px 1fr 245px 58px}.class-row__price{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap}.class-row__price>div{display:flex;align-items:baseline;gap:4px;white-space:nowrap}
@media(max-width:900px){.class-row{grid-template-columns:78px 3px minmax(0,1fr) 55px;grid-template-areas:"time line name action" "time line price price";row-gap:4px}.class-row__price{display:flex;margin-top:0}}
@media(max-width:640px){.class-row{grid-template-columns:62px 3px minmax(0,1fr) 44px;row-gap:3px}.class-row__price{gap:6px 12px}}
.class-row__price{display:grid;grid-template-columns:max-content max-content;column-gap:12px;row-gap:3px;align-items:baseline}.class-row__price>div{display:contents}
@media(max-width:900px){.class-row__price{display:grid}}
.schedule-day-empty{width:min(100%,1400px);margin-inline:auto;padding:24px 0;border-bottom:1px solid var(--white-line);color:rgba(255,255,255,.58);font-size:14px}
@media(max-width:640px){.schedule-filters{margin-top:-12px;overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.schedule-filters button{white-space:nowrap}.site-footer{grid-template-columns:1fr;padding:55px 20px 100px;gap:30px}.site-footer nav{gap:18px}.site-footer>small{grid-column:auto}}

/* Catalog, account, and responsive menu refinements */
.catalog-hero{background:var(--coral);min-height:440px;padding:95px max(7vw,28px);position:relative;overflow:hidden}.catalog-hero:after{content:"↘";position:absolute;right:4vw;bottom:-8vw;font:400 34vw/.7 var(--body);color:rgba(23,19,21,.07)}.catalog-hero>*{position:relative;z-index:1}.catalog-hero h1{font:900 clamp(58px,8vw,108px)/.82 var(--display);text-transform:uppercase;margin:0 0 28px}.catalog-hero h1 em{font:italic 500 1em var(--serif);text-transform:none;color:var(--cream)}.catalog-hero>p:not(.kicker){max-width:520px;font-size:18px}.catalog-hero>a{display:inline-block;margin-top:14px;border-bottom:1px solid var(--ink);padding-bottom:4px;font-weight:800}.catalog-hero>a span{margin-left:12px}.empty--passes{width:min(800px,calc(100% - 40px));margin:60px auto 100px;padding:70px 30px}.empty--passes>span{display:block;font-size:40px;color:var(--coral);margin-bottom:10px}.empty--passes h2{font:900 clamp(30px,4vw,50px)/.95 var(--display);text-transform:uppercase}.empty--passes p{max-width:530px;margin:0 auto 25px;color:var(--muted)}.profile-panel{margin-bottom:100px!important;padding:0!important;overflow:hidden}.profile-intro{background:var(--plum);color:#fff;padding:30px;display:flex;align-items:center;gap:18px}.profile-intro>span{width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:var(--coral);color:var(--ink);display:grid;place-items:center;font:900 24px var(--display)}.profile-intro h2{font:900 26px var(--display);text-transform:uppercase;margin:0 0 3px}.profile-intro p{margin:0;color:rgba(255,255,255,.6)}.profile-panel form{padding:30px}.profile-password{border-top:1px solid var(--line);margin-top:10px;padding-top:24px}.profile-password .eyebrow{margin-bottom:4px}.profile-password p:last-child{color:var(--muted);font-size:12px;margin:0}.menu-toggle{display:none}:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.phone-field{display:grid;grid-template-columns:minmax(155px,.7fr) minmax(0,1.3fr);gap:16px}
@media(max-width:640px){.site-header__inner{position:relative}.menu-toggle{display:flex;align-items:center;gap:8px;border:1px solid var(--white-line);background:transparent;color:#fff;padding:8px 10px;cursor:pointer;text-transform:uppercase;font-size:9px;letter-spacing:.14em}.menu-toggle b{font-size:17px;line-height:1;transition:transform .2s}.menu-toggle.open b{transform:rotate(45deg)}.site-nav,.site-nav .nav-cta{display:none!important}.site-nav.open{position:absolute;display:grid!important;top:66px;left:0;right:0;background:var(--ink);padding:20px;gap:0;border-top:1px solid var(--white-line);box-shadow:0 24px 40px rgba(0,0,0,.3)}.site-nav.open>a,.site-nav.open>form,.site-nav.open .nav-cta{display:flex!important;align-items:center;min-height:46px;border-bottom:1px solid var(--white-line)}.site-nav.open .nav-cta{margin-top:10px;justify-content:space-between;border-bottom:0}.site-nav.open form button{padding:0;color:#fff}.catalog-hero{min-height:380px;padding:70px 20px}.catalog-hero h1{font-size:54px}.catalog-hero>p:not(.kicker){font-size:16px}.profile-intro,.profile-panel form{padding:22px}.profile-panel .span-2{grid-column:auto}.empty--passes{width:calc(100% - 28px);margin:30px auto 70px;padding:50px 22px}.bottomnav a{font-size:8px}}
@media(min-width:641px) and (max-width:900px){.site-header__inner{position:relative}.menu-toggle{display:flex;align-items:center;gap:8px;border:1px solid var(--white-line);background:transparent;color:#fff;padding:8px 10px;cursor:pointer;text-transform:uppercase;font-size:9px;letter-spacing:.14em}.menu-toggle b{font-size:17px;line-height:1}.menu-toggle.open b{transform:rotate(45deg)}.site-nav,.site-nav .nav-cta{display:none!important}.site-nav.open{position:absolute;display:grid!important;top:78px;left:0;right:0;background:var(--ink);padding:20px;gap:0;border-top:1px solid var(--white-line);box-shadow:0 24px 40px rgba(0,0,0,.3)}.site-nav.open>a,.site-nav.open>form,.site-nav.open .nav-cta{display:flex!important;align-items:center;min-height:46px;border-bottom:1px solid var(--white-line)}.site-nav.open .nav-cta{margin-top:10px;justify-content:space-between;border-bottom:0}.site-nav.open form button{padding:0;color:#fff}}

/* Compact admin session editor */
.run-sessions{margin-top:38px}.run-sessions__head{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.run-sessions__head h2{margin:0;font:900 28px var(--display);text-transform:uppercase}.run-sessions__head>p{margin:0;color:var(--muted);font-size:12px}.session-editor-list{display:grid;gap:8px}.session-editor{background:#fff;border:1px solid var(--line)}.session-editor__summary{list-style:none;display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(160px,.8fr) auto 76px;gap:22px;align-items:center;min-height:76px;padding:14px 18px;cursor:pointer;transition:background .2s,border-color .2s}.session-editor__summary::-webkit-details-marker{display:none}.session-editor__summary:hover{background:#faf7f2}.session-editor[open]>.session-editor__summary{background:#f8f3ed;border-bottom:1px solid var(--line)}.session-editor__date,.session-editor__main{display:flex;flex-direction:column;min-width:0}.session-editor__date small{color:var(--plum-2);font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.session-editor__date strong,.session-editor__main>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-editor__date strong{font:900 17px var(--display);text-transform:uppercase}.session-editor__main>strong{font-size:13px}.session-editor__main>small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-editor__meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--muted);font-size:11px;white-space:nowrap}.session-editor__action{display:flex;align-items:center;justify-content:flex-end;gap:9px;color:var(--plum-2);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.session-editor__action b{font-size:17px;line-height:1;transition:transform .2s}.session-editor[open] .session-editor__action b{transform:rotate(180deg)}.session-editor__body{padding:22px;background:#fff}.session-editor__form-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:16px}.session-editor--add{margin:28px 0 22px}.session-editor__summary--add{grid-template-columns:44px 1fr 76px}.session-editor__add-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--coral);font-size:24px;font-weight:400}.session-editor__summary--add .session-editor__main>strong{font:900 17px var(--display);text-transform:uppercase}
@media(max-width:760px){.run-sessions__head{align-items:flex-start;flex-direction:column;gap:5px}.session-editor__summary{grid-template-columns:1fr auto;gap:8px 14px;padding:14px}.session-editor__main{grid-column:1/-1}.session-editor__meta{grid-column:1/-1;grid-row:3;justify-content:flex-start;flex-wrap:wrap}.session-editor__action{grid-column:2;grid-row:1}.session-editor__summary--add{grid-template-columns:38px 1fr auto}.session-editor__summary--add .session-editor__main{grid-column:2}.session-editor__summary--add .session-editor__action{grid-column:3}.session-editor__body{padding:18px 14px}.session-editor__form-actions{align-items:stretch;flex-direction:column}.session-editor__form-actions .button{width:100%}}

.session-editor__summary--session{display:list-item;list-style:disclosure-closed inside;padding:17px 18px;min-height:58px}.session-editor[open]>.session-editor__summary--session{list-style-type:disclosure-open}.session-editor__summary--session::-webkit-details-marker{display:inline-block;color:var(--plum-2)}.session-editor__summary-line{display:inline-flex;width:calc(100% - 22px);align-items:center;gap:7px;vertical-align:middle;font-size:12px}.session-editor__summary-line>span,.session-editor__summary-line>strong,.session-editor__summary-line>code{white-space:nowrap}.session-editor__summary-line>strong{font-size:13px}.session-editor__divider{color:rgba(23,19,21,.32);font-weight:400}.session-editor__summary-line>.badge{margin-left:auto}
@media(max-width:900px){.session-editor__summary-line{flex-wrap:wrap}.session-editor__summary-line>.badge{margin-left:0}}
@media(max-width:760px){.session-editor__summary--session{padding:14px}.session-editor__summary-line{gap:5px 6px;font-size:11px}.session-editor__summary-line>strong{font-size:12px}}

/* Unified page alignment */
:root{--content-width:1400px;--page-gutter:max(28px,calc((100% - 1400px)/2))}
.site-header__inner{max-width:none;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.home-hero__content,.manifesto{max-width:none;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.schedule-section,.home-cta,.catalog-hero,.passes-hero,.site-footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.site-main>.page-head,.site-main>.panel,.site-main>.stat-grid,.site-main>.action-grid,.site-main>.list,.site-main>.credit-grid,.site-main>.auth-card,.site-main>.pay-card,.site-main>.choice-grid,.site-main>.back,.site-main>h2,.site-main>.table-wrap,.site-main>.hero:not(.home-hero),.site-main>.empty:not(.empty--passes),.member-hero,.booking-summary,.passes-grid{width:min(var(--content-width),calc(100% - 56px))}
.site-main>.empty:not(.empty--passes){margin-left:auto;margin-right:auto}
.admin-workspace{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
@media(min-width:901px){.admin-workspace{padding-left:max(25px,calc((100% - 1400px)/2));padding-right:max(25px,calc((100% - 1400px)/2))}}
@media(max-width:900px){:root{--page-gutter:20px}.site-main>.page-head,.site-main>.panel,.site-main>.stat-grid,.site-main>.action-grid,.site-main>.list,.site-main>.credit-grid,.site-main>.auth-card,.site-main>.pay-card,.site-main>.choice-grid,.site-main>.back,.site-main>h2,.site-main>.table-wrap,.site-main>.hero:not(.home-hero),.site-main>.empty:not(.empty--passes),.member-hero,.booking-summary,.passes-grid{width:calc(100% - 40px)}}
@media(max-width:640px){:root{--page-gutter:18px}.site-main>.page-head,.site-main>.panel,.site-main>.stat-grid,.site-main>.action-grid,.site-main>.list,.site-main>.credit-grid,.site-main>.auth-card,.site-main>.pay-card,.site-main>.choice-grid,.site-main>.back,.site-main>h2,.site-main>.table-wrap,.site-main>.hero:not(.home-hero),.site-main>.empty:not(.empty--passes),.member-hero,.booking-summary,.passes-grid{width:calc(100% - 36px)}}
.auth-google{display:flex;align-items:center;justify-content:center;width:100%;margin:22px 0 10px;text-align:center}
.auth-divider{text-align:center;color:var(--muted);font-size:12px;margin:12px 0 18px}
.profile-google{border-top:1px solid var(--line);padding:24px 30px 30px}
.profile-google h2{font:900 20px var(--display);text-transform:uppercase;margin:0 0 6px}
.profile-google p{color:var(--muted);font-size:13px;margin:0 0 14px}

/* Payment history cards */
.payment-card{align-items:center;padding:24px 26px;gap:28px}.payment-card__details{flex:1;min-width:0}.payment-card__top{margin-bottom:10px}.payment-card h2{margin:0 0 5px}.payment-card__actions{display:flex;align-items:center;gap:12px;padding-left:24px;border-left:1px solid var(--line);white-space:nowrap}.payment-card__actions .badge{flex:0 0 auto;border-radius:999px;padding:6px 11px}.payment-card__actions form{margin:0}.payment-card__actions .button{min-width:112px;min-height:42px}.payment-card__cancel{border-color:rgba(189,55,71,.35);background:#f2dadd;color:var(--danger)}.payment-card__cancel:hover{background:var(--danger);color:#fff}
@media(max-width:760px){.payment-card{display:block;padding:22px}.payment-card__top{margin-bottom:12px}.payment-card__actions{margin-top:18px;padding:16px 0 0;border-left:0;border-top:1px solid var(--line);gap:6px}.payment-card__actions .badge{padding:5px 7px;font-size:8px;letter-spacing:.04em}.payment-card__actions .button{min-width:72px;min-height:38px;padding:8px;font-size:10px}}

/* UOB statement reconciliation */
.statement-upload{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:38px;align-items:end}.statement-upload h2,.statement-summary h2{font:900 24px var(--display);text-transform:uppercase;margin:0 0 10px}.statement-upload p:last-child{margin-bottom:0}.statement-upload__form{display:grid;gap:12px}.statement-upload__form label{display:grid;gap:7px;font-size:12px;font-weight:750}.statement-upload__form input[type=file]{padding:10px;background:#fff}.statement-summary{background:#fff;border:1px solid var(--line);padding:24px 26px;margin-bottom:14px}.statement-summary .panel__head{gap:20px}.statement-summary .muted{margin:12px 0 0}.statement-stats{margin-bottom:14px!important}.statement-stats .stat:first-child{background:#fff;color:var(--ink)}.statement-stats .stat:first-child span{color:var(--muted)}.statement-note{padding:12px 15px;margin:0 0 14px;background:#fae8ca;color:#765323;font-size:12px}.statement-results .badge{margin-bottom:4px}.badge--match-paid,.badge--match-already_paid{background:#d9eee5;color:var(--success)}.badge--match-paid_late,.badge--match-not_found,.badge--match-amount_mismatch,.badge--match-duplicate,.badge--match-not_eligible{background:#fae8ca;color:var(--warning)}.badge--match-failed{background:#f2dadd;color:var(--danger)}.statement-note--late{border-left:4px solid var(--warning)}
@media(max-width:760px){.statement-upload{grid-template-columns:1fr;gap:22px}.statement-summary .panel__head{align-items:flex-start;flex-direction:column}.statement-stats{grid-template-columns:repeat(2,1fr)}}

/* Social dance credits */
.page-head--bookings{display:block}.page-head--bookings__row{display:flex;justify-content:space-between;align-items:stretch;gap:16px}.page-head--bookings__row h1{flex:1;min-width:0}.page-head--bookings__row .button{min-height:0;white-space:nowrap}
@media(max-width:640px){.page-head--bookings__row{gap:10px}.page-head--bookings h1{font-size:clamp(26px,7vw,42px)}.page-head--bookings .button{padding:0 10px;font-size:12px}}
@media(max-width:640px){.bottomnav a{flex:1;min-width:0;white-space:normal;letter-spacing:0;line-height:1.15;grid-template-rows:18px auto;align-content:start}.bottomnav b{line-height:18px}}
.booking-filters{width:min(var(--content-width),calc(100% - 56px));margin:0 auto 20px;display:flex;gap:8px}.booking-filters a{padding:9px 17px;border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:800}.booking-filters a:hover,.booking-filters a.active{background:var(--plum-2);border-color:var(--plum-2);color:#fff}
@media(max-width:900px){.booking-filters{width:calc(100% - 40px)}}
@media(max-width:640px){.booking-filters{width:calc(100% - 36px)}.booking-filters a{flex:1;text-align:center}}
.activity-tabs{margin-bottom:22px}
.activity-tabs a{min-width:0;text-align:center}
.activity-payment-prompt{width:min(var(--content-width),calc(100% - 56px));margin:0 auto 18px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff3e9;border-left:4px solid var(--coral)}
.activity-payment-prompt span{display:grid;gap:2px}.activity-payment-prompt strong{font-size:14px}.activity-payment-prompt small{color:var(--muted);font-size:12px}.activity-payment-prompt b{white-space:nowrap;font-size:12px}
@media(max-width:900px){.activity-payment-prompt{width:calc(100% - 40px)}}
@media(max-width:640px){.activity-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.activity-tabs a{padding:9px 4px;font-size:10px;line-height:1.2;display:grid;place-items:center}.activity-payment-prompt{width:calc(100% - 36px);align-items:flex-start;flex-direction:column;gap:8px}}
.field-note{margin-left:7px;color:var(--muted);font-weight:500}
.credit-inclusion{display:grid;gap:2px;margin:16px 0;padding:13px 15px;border-left:4px solid var(--coral);background:#fff3e9;color:var(--ink)}.credit-inclusion strong{font-size:13px}.credit-inclusion span{color:var(--muted);font-size:11px}.credit-inclusion--payment{max-width:440px;margin:18px auto;text-align:left}
.stat-grid--three{grid-template-columns:repeat(3,1fr)}.choice--social{border-color:rgba(255,104,70,.5);background:#fff3e9}.student-credit-summary{display:flex;align-items:center;justify-content:space-between;gap:24px}.student-credit-summary h2{margin:0;font:900 28px var(--display);text-transform:uppercase}.student-credit-summary p:last-child{margin:0}
.page-head--social-credits{display:block}
.page-head--social-credits>p{max-width:520px;margin:20px 0 0;color:var(--muted);font-size:14px;line-height:1.55}
.social-credit-grid{width:min(var(--content-width),calc(100% - 56px));margin:0 auto 100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.social-credit-card{min-height:310px;padding:26px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.social-credit-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.social-credit-card h2{font:900 25px/1 var(--display);text-transform:uppercase;margin:7px 0 10px}.social-credit-card>p:not(.eyebrow){color:var(--muted)}.social-credit-card>.button{margin-top:auto;align-self:flex-start}.social-credit-card>small{margin-top:auto;color:var(--muted)}.social-credit-card--claimed,.social-credit-card--expired{opacity:.66;background:#eee9e2}.social-credit-pass{margin-top:20px!important}.social-credit-pass h1{margin:0 0 12px}.social-credit-pass__course{margin:0 0 20px}.social-credit-pass .reference{margin:0 0 16px}.social-credit-pass .qr{background:#fff;width:min(340px,100%);height:auto;margin:0 auto 14px}.social-credit-pass__instruction{margin:20px 0 16px;line-height:1.5}.social-credit-pass__expiry{border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:13px}.social-credit-pass__expiry strong{color:var(--ink)}.social-credit-pass__notice{display:grid;gap:4px;margin-top:22px;padding:16px;background:#d9eee5;color:var(--success)}.social-credit-pass__notice--expired{background:#f2dadd;color:var(--danger)}.social-credit-pass__notice span{font-size:13px}
.credit-scanner{display:grid;grid-template-columns:1fr minmax(280px,440px);gap:30px;align-items:center}.credit-scanner h2{font:900 25px var(--display);text-transform:uppercase}.credit-scanner video{width:100%;max-height:330px;background:var(--ink);object-fit:cover}.credit-claim{max-width:780px!important}.credit-claim__status{margin-bottom:22px}.credit-claim dl{display:grid;gap:0;margin:0 0 28px}.credit-claim dl>div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.credit-claim dt{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.credit-claim dd{margin:0;font-weight:800}.credit-claim dd small,.table-wrap td small{display:block;color:var(--muted);font-weight:400;margin-top:2px}
@media(max-width:900px){.social-credit-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 40px)}}
@media(max-width:640px){.page-head--social-credits h1{line-height:1}.page-head--social-credits>p{max-width:100%}}
@media(max-width:760px){.stat-grid--three{grid-template-columns:1fr}.social-credit-grid{grid-template-columns:1fr;width:calc(100% - 36px)}.credit-scanner{grid-template-columns:1fr}.credit-claim dl>div{grid-template-columns:1fr;gap:4px}}
.admin-manual-help,.student-manual-help{display:flex;align-items:center;justify-content:space-between;gap:24px}
.admin-manual-help h2,.student-manual-help h2,.manual-assignment-grid h2{font:900 26px var(--display);text-transform:uppercase;margin:0 0 7px}
.admin-manual-help p:last-child,.student-manual-help p:last-child{margin:0;color:var(--muted);font-size:13px}
.admin-manual-help .button,.student-manual-help .button{flex:none}
.manual-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.manual-assignment-grid>.panel{margin:0}
.manual-assignment-grid>.panel>.muted{min-height:55px;line-height:1.5}
.manual-assignment-form{display:grid;gap:16px;margin-top:24px}
.manual-assignment-form label{display:grid;gap:7px;font-size:12px;font-weight:750}
.manual-assignment-form .button{justify-self:start}
.manual-assignment-form .button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:900px){.manual-assignment-grid{grid-template-columns:1fr}.manual-assignment-grid>.panel>.muted{min-height:0}}
@media(max-width:640px){.admin-manual-help,.student-manual-help{align-items:flex-start;flex-direction:column}.manual-assignment-form .button{width:100%}}
#run-credit-award-field[hidden],#run-social-night-field[hidden]{display:none}

/* Home-page redesign based on the Bachata mockup; other pages retain their layout. */
.home-body .site-header{position:absolute;inset:0 0 auto;background:transparent;border:0;height:82px}
.home-body .site-header__inner{max-width:1400px;padding-inline:0;width:calc(100% - 56px)}
.home-body .brand__mark{width:42px;height:42px}
.home-body .site-nav{gap:32px;font-size:12px}
.home-body .nav-cta{border-radius:26px;padding:11px 21px;background:var(--coral)}
.home-body .nav-cta span{display:none}
.home-body .home-hero{height:min(760px,82vh);min-height:590px;background:#211915}
.home-body .home-hero>img{object-position:center center}
.home-body .home-hero__shade{background:linear-gradient(90deg,rgba(18,15,14,.93),rgba(18,15,14,.72) 35%,rgba(18,15,14,.06) 75%),linear-gradient(0deg,rgba(18,15,14,.45),transparent 35%)}
.home-body .home-hero__content{width:min(1400px,calc(100% - 56px));padding:105px 0 75px;max-width:1400px}
.home-body .home-hero .kicker{margin-bottom:16px;letter-spacing:.16em;font-weight:650}
.home-body .home-hero h1{font:850 clamp(56px,5.8vw,96px)/.98 var(--body);letter-spacing:-.055em;text-transform:none;max-width:900px;margin-bottom:24px}
.home-body .home-hero h1 span{color:var(--coral)}
.home-body .hero-lede{font-size:clamp(15px,1.2vw,18px);max-width:660px;line-height:1.62;color:rgba(255,255,255,.84);margin-bottom:27px}
.home-body .hero-actions{gap:27px}
.home-body .hero-actions .button{min-width:150px}
.home-body .hero-actions .text-link{border:0;padding:0;font-size:13px}
.home-benefits{background:#f7f2ed;color:var(--ink)}
.home-benefits__inner{max-width:1400px;width:calc(100% - 56px);margin:auto;min-height:168px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}
.home-benefits__inner>div{min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;border-right:1px solid var(--line)}
.home-benefits__inner>div:last-child{border-right:0}
.home-benefits svg{width:32px;height:32px}
.home-benefits strong{font-size:13px;line-height:1.35}
.schedule-section--home{padding-top:82px;padding-bottom:82px;background:#1b1818}
.schedule-section--home .section-heading{margin-bottom:35px}
.schedule-section--home .section-heading .kicker{margin-bottom:10px;font-weight:600}
.schedule-section--home .section-heading h2{font:850 clamp(42px,4.5vw,67px)/1 var(--body);letter-spacing:-.045em;text-transform:uppercase}
.schedule-section--home .section-heading>p{font-size:14px;line-height:1.5}
.schedule-section--home .schedule-date{margin-top:22px;padding:7px 0 10px;gap:8px;border-bottom-color:rgba(255,255,255,.11)}
.schedule-section--home .schedule-date span{font-size:13px;color:var(--coral)}
.schedule-section--home .schedule-date strong{font:850 27px var(--body);letter-spacing:-.04em}
.schedule-section--home .schedule-date small{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.schedule-section--home .schedule-day-empty{padding:10px 0 12px;font-size:12px;color:rgba(255,255,255,.58)}
.schedule-section--home .class-row{min-height:83px;grid-template-columns:78px 2px minmax(0,1fr) minmax(130px,220px) 42px;gap:18px}
.schedule-section--home .class-row__time strong{font:800 23px var(--body);letter-spacing:-.04em}
.schedule-section--home .class-row__time span{font-size:9px}
.schedule-section--home .class-row__line{height:47px;background:var(--coral)}
.schedule-section--home .class-row__name h3{font:800 clamp(16px,1.45vw,20px)/1.15 var(--body);letter-spacing:-.02em;margin-bottom:4px}
.schedule-section--home .class-row__name p{font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.7);margin-bottom:2px}
.schedule-section--home .class-row__name span{font-size:11px}
.schedule-section--home .class-row__price{grid-template-columns:max-content max-content;column-gap:12px;row-gap:1px}
.schedule-section--home .class-row__price small{font-size:9px}
.schedule-section--home .class-row__price strong{font-size:13px}
.schedule-section--home .circle-link{width:34px;height:34px;font-size:17px}
.schedule-section--home .schedule-more{margin-top:36px}
.schedule-section--home .schedule-more .button{min-height:43px;font-size:12px}
.home-body .home-cta{padding-top:65px;padding-bottom:65px}
.home-body .home-cta:after{display:none}
.home-cta__inner{max-width:1400px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}
.home-body .home-cta .kicker{font-size:10px;letter-spacing:.14em;margin-bottom:5px}
.home-body .home-cta h2{font:850 clamp(56px,6vw,90px)/.95 var(--body);letter-spacing:-.055em;text-transform:none;margin:0 0 23px}
.home-body .home-cta__inner>p{border-left:1px solid rgba(23,19,21,.45);padding:25px 0 25px 60px;margin:0;text-align:center;font:clamp(25px,3.1vw,48px)/1.2 var(--serif);letter-spacing:-.04em}
.home-body .site-footer{padding-top:44px;padding-bottom:30px;grid-template-columns:1fr auto;gap:22px}
.home-body .site-footer nav{font-size:11px;gap:25px}
.home-body .site-footer>small{font-size:11px;padding-top:18px}
.site-footer__contact{display:grid;gap:9px;margin-top:18px;color:rgba(255,255,255,.7);font-size:13px;font-style:normal;line-height:1.5}
.site-footer__contact-row{display:flex;align-items:flex-start;gap:10px}
.class-row__registration{display:block;margin-top:5px;color:var(--coral);font-size:11px;font-weight:800;letter-spacing:.02em}
.class-row__name .class-row__booked,.class-row__name .class-row__pending{display:block;width:max-content;margin-top:7px;padding:3px 8px;font-size:10px;font-weight:850;line-height:1.4;letter-spacing:.07em;text-transform:uppercase}
.class-row__name .class-row__booked{background:#d9eee5;color:#175944}
.class-row__name .class-row__pending{background:#fae8ca;color:#765323}
.circle-link--whatsapp svg{width:22px;height:22px}
.site-footer__contact-row svg{width:1em;height:1em;flex:none;margin-top:.25em;color:var(--coral)}
.site-footer__contact-row>span{white-space:nowrap}
.site-footer__contact a{color:#fff;text-decoration:none}
.site-footer__contact a:hover{color:var(--coral)}
.site-footer__contact a:hover svg{color:currentColor}
.site-footer__contact a:focus-visible{outline:2px solid var(--coral);outline-offset:4px}
.home-body .site-footer__contact{font-size:12px}
@media(max-width:640px){.site-footer__contact-row>span{white-space:normal}}
@media(max-width:900px){
  .home-body .site-header__inner,.home-body .home-hero__content,.home-benefits__inner{width:calc(100% - 40px)}
  .schedule-section--home .class-row{grid-template-columns:65px 2px minmax(0,1fr) 38px;grid-template-areas:"time line name action" "time line price price";gap:4px 12px;padding-block:13px}
  .schedule-section--home .class-row__price{margin-top:4px}
  .home-benefits__inner{min-height:145px}
}
.pay-card__qr-expiry{max-width:380px;margin:12px auto 20px;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}
@media(max-width:640px){
  .home-body .site-header__inner,.home-body .home-hero__content,.home-benefits__inner{width:calc(100% - 36px)}
  .home-body .home-hero{height:690px;min-height:0}
  .home-body .home-hero>img{object-position:88% center}
  .home-body .home-hero__shade{background:linear-gradient(0deg,rgba(18,15,14,.96) 0%,rgba(18,15,14,.78) 38%,rgba(18,15,14,.1) 100%)}
  .home-body .home-hero__content{justify-content:flex-end;padding:105px 0 50px}
  .home-body .home-hero h1{font-size:clamp(36px,9vw,54px);max-width:100%;overflow-wrap:normal}
  .home-body .hero-lede{font-size:14px}
  .home-body .hero-lede br{display:none}
  .home-body .hero-actions{flex-direction:row;align-items:center;gap:18px}
  .home-body .hero-actions .button{min-width:110px}
  .home-benefits__inner{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 0}
  .home-benefits__inner>div{min-height:115px}
  .home-benefits__inner>div:nth-child(2){border-right:0}
  .home-benefits__inner>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .home-benefits strong{font-size:11px}
  .schedule-section--home{padding-top:64px;padding-bottom:65px}
  .schedule-section--home .section-heading h2{font-size:39px}
  .schedule-section--home .class-row{grid-template-columns:55px 2px minmax(0,1fr) 35px;gap:4px 9px}
  .schedule-section--home .class-row__time strong{font-size:18px}
  .schedule-section--home .class-row__name h3{font-size:15px}
  .schedule-section--home .class-row__price{column-gap:9px}
  .schedule-section--home .class-row__price strong{font-size:12px}
  .schedule-section--home .circle-link{width:33px;height:33px}
  .home-body .home-cta{padding-top:57px;padding-bottom:60px}
  .home-cta__inner{grid-template-columns:1fr;gap:28px}
  .home-body .home-cta h2{font-size:59px}
  .home-body .home-cta__inner>p{border-left:0;border-top:1px solid rgba(23,19,21,.45);padding:26px 0 0;text-align:left;font-size:32px}
  .home-body .site-footer{grid-template-columns:1fr;gap:24px}
  .home-body .site-footer{padding-bottom:100px}
  .home-body .site-footer nav{flex-wrap:wrap}
}
