/* v2 additions: real Wix features (bookings, forms, student area, legal) */
.strip a{display:inline-flex;gap:8px;align-items:center;color:#000;text-decoration:none}
.strip a:hover{text-decoration:underline}
.nav a.mo{display:none}
.hd-r{gap:12px}
@media(max-width:1000px){.hd-r .hd-cta{display:inline-flex}.nav.open a.mo,.nav a.mo{display:block}}
@media(max-width:600px){.hd-r .hd-cta{display:inline-flex;height:34px;padding:0 10px;font-size:10px;letter-spacing:.06em;white-space:nowrap}.hd-r{gap:6px}.logo{height:22px}.hd .burger{width:40px;height:40px}}
@media(max-width:360px){.hd-r .hd-cta{padding:0 7px;font-size:9px}}
.fb .lgl a{color:inherit}.fb .lgl a:hover{color:var(--g)}
.fmsg{margin:12px 0;font-size:14px;color:var(--tx2);min-height:1px}
.fmsg.ok{color:#9be29b}.fmsg.err{color:#ff9b8a}
.cform .r2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform textarea{width:100%;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff;padding:12px 16px;font:inherit;resize:vertical}
.cform.fr{max-width:560px;margin-top:8px}
.cform.fr label{display:block}
[aria-busy=true]{opacity:.6;pointer-events:none}
button.btn{cursor:pointer;font-family:inherit}
/* booking */
.stp{list-style:none;padding:0}
.stp li{height:56px;display:flex;gap:16px;align-items:center;border-top:2px solid var(--line);padding-top:16px;font:500 13px/16px var(--bf);color:var(--mut2)}
.stp li i{font:600 12px var(--hf);letter-spacing:.14em;font-style:normal}
.stp li.on{border-color:var(--g);color:#fff}.stp li.on i{color:var(--g)}
.sv-o{width:100%;text-align:left;color:#fff;cursor:pointer;flex-wrap:wrap}
.sv-o span{flex:1 1 60%}.sv-o em{font-style:normal;font-size:13px;color:var(--g);margin-left:auto}
.panel h2{font-size:28px;line-height:36px;margin-bottom:24px}
.cg{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.dy{cursor:pointer;color:#fff;font-size:13px}
.sl button{height:48px;border-radius:12px;border:1px solid var(--line);font:600 13px/1 var(--bf);background:rgba(255,255,255,.03);color:#fff;cursor:pointer}
.sl button.s{background:var(--g);color:#000;border-color:var(--g)}
.slots h3{font-size:16px;margin-bottom:16px}
.bk-nav{display:flex;justify-content:space-between;gap:16px;margin-top:32px;flex-wrap:wrap}
.btn[disabled]{opacity:.45;pointer-events:none}
.sum h3{font-size:22px;margin-bottom:16px}
.sum dl{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;font-size:14px;margin:0 0 16px}
.sum dt{color:var(--mut)}.sum dd{margin:0;color:#fff}
@media(max-width:900px){.bk-g,.dtg{grid-template-columns:1fr}.sum{position:static}}
@media(max-width:600px){.panel{padding:24px 16px}.stp{grid-template-columns:repeat(4,1fr);gap:4px}.stp li{font-size:11px;gap:6px}.cform .r2{grid-template-columns:1fr}}
/* student area */
.stu2{padding:200px 0 96px;min-height:70vh}
.stu2 .auth{display:block;min-height:0}
.stu2 .acard{max-width:640px;margin:0 auto;padding:48px;border-radius:24px;border:1px solid var(--line)}
.stu2 .acard h1{font-size:40px;line-height:48px;margin:12px 0 16px}
.stu2 .cta-r{margin:24px 0}
.stu-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.stu-h h1,.stu-ct{font-size:44px;line-height:52px}
.stu-t{font-size:24px;line-height:32px;margin:40px 0 20px}
.stu-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.cc{border-radius:20px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(180deg,var(--k3),var(--k2));display:flex;flex-direction:column}
.cc img{width:100%;aspect-ratio:16/9;object-fit:cover}
.cc-b{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.cc-b h3{font-size:20px;line-height:28px}.cc-b p{font-size:14px;color:var(--tx2);flex:1}
.cc-a{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cc.pv{border-color:rgba(241,185,27,.5)}
.back{display:inline-block;margin-bottom:16px;color:var(--g);text-decoration:none;font-size:14px}
.stu-ct{margin-bottom:32px}
.ls-s{margin-bottom:32px}.ls-s h3{font-size:20px;margin-bottom:12px;color:var(--g)}
.lsn-i{border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:rgba(255,255,255,.02)}
.lsn-i summary{padding:16px 20px;cursor:pointer;display:flex;gap:12px;align-items:center;justify-content:space-between}
.lsn-b{padding:0 20px 20px;color:var(--tx2);font-size:14px}
.lsn-b .player{position:relative;aspect-ratio:16/9;margin-bottom:16px;border-radius:12px;overflow:hidden}
.lsn-b .player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:600px){.stu2{padding:140px 0 64px}.stu2 .acard{padding:28px 20px}.stu2 .acard h1,.stu-h h1,.stu-ct{font-size:30px;line-height:38px}.stu-g{grid-template-columns:1fr}}
/* legal */
.legal{padding-top:200px}
.legal h1{font-size:48px;line-height:56px;margin:12px 0}
.draft{display:inline-block;background:var(--g);color:#000;font-weight:700;padding:8px 14px;border-radius:8px;margin:8px 0 12px}
.prose{max-width:760px;margin-top:32px}.prose h2{font-size:22px;line-height:30px;margin:32px 0 8px}.prose p{color:var(--tx2);line-height:26px}
@media(max-width:600px){.legal{padding-top:140px}.legal h1{font-size:34px;line-height:40px}}
/* v3 student dashboard */
.dsh{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start}
.dnav{position:sticky;top:24px;border:1px solid var(--line);border-radius:20px;padding:20px;background:linear-gradient(180deg,var(--k3),var(--k2))}
.dme{display:flex;flex-direction:column;gap:6px;padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid var(--line)}.dme b{font-size:15px;word-break:break-word}
.dnav nav{display:flex;flex-direction:column;gap:4px}
.dnav nav a,.dnav nav button{display:block;padding:10px 12px;border-radius:10px;color:var(--tx2);text-decoration:none;font:500 14px/20px var(--bf);background:none;border:0;text-align:left;cursor:pointer}
.dnav nav a:hover,.dnav nav button:hover{color:#fff;background:rgba(255,255,255,.04)}
.dnav nav a.on{color:#000;background:var(--g);font-weight:600}
.dnav nav button{color:var(--mut);margin-top:8px;border-top:1px solid var(--line);border-radius:0;padding-top:14px}
.dmain{min-width:0}
.d-h{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.d-h h1{font-size:40px;line-height:48px;width:100%}.d-h .mut{margin:0}
.d-g2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}
.d-card{border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;background:linear-gradient(180deg,var(--k3),var(--k2))}.d-card h3{font-size:20px;line-height:28px}
.d-sec h2,.stu-t{font-size:22px;line-height:30px;margin:8px 0 16px}
.d-empty{border:1px dashed var(--line);border-radius:16px;padding:24px;color:var(--tx2);font-size:14px;margin-bottom:16px}
.tsq{border:1px solid var(--line);border-radius:18px;padding:20px 24px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;background:rgba(255,255,255,.02)}
.tsq h3{font-size:20px;line-height:28px}.tsq p{color:var(--tx2);font-size:15px;line-height:24px;margin:0}.tsq img{max-width:100%;border-radius:12px}
.tsq .player,.pa .player{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden}.tsq .player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pbar{width:100%;height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden}.pbar i{display:block;height:100%;background:var(--g);border-radius:8px}
.bk-l{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px}
.bk-i{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:14px 18px}.bk-i div{display:flex;flex-direction:column;gap:2px}
.pa{border:1px solid rgba(241,185,27,.4);border-radius:20px;padding:24px;margin-bottom:24px}.pa h2{font-size:24px;margin-bottom:8px}
.lsn-b label.done{display:flex;gap:8px;align-items:center;margin-top:12px;color:#fff;cursor:pointer}.lsn-b label.done input{width:18px;height:18px;accent-color:var(--g)}
.lsn-b .btn{margin-top:8px}
.acc{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:0 0 12px;font-size:14px}.acc dt{color:var(--mut)}.acc dd{margin:0}
.cert{border:2px solid var(--g);border-radius:20px;padding:56px 32px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;margin:16px 0 24px;background:radial-gradient(circle at 50% 0,rgba(241,185,27,.12),transparent 60%)}
.cert h2{font-size:40px;line-height:48px;color:var(--g)}.cert h3{font-size:24px}
@media(max-width:900px){.dsh{grid-template-columns:1fr;gap:20px}.dnav{position:sticky;top:0;z-index:20;padding:10px;border-radius:14px;background:#0b0b0b}.dme{display:none}
 .dnav nav{flex-direction:row;overflow-x:auto;gap:4px;scrollbar-width:none}.dnav nav::-webkit-scrollbar{display:none}
 .dnav nav a,.dnav nav button{white-space:nowrap;padding:8px 12px;font-size:13px}.dnav nav button{margin:0;border:0;padding-top:8px}
 .d-g2{grid-template-columns:1fr}.d-h h1{font-size:30px;line-height:38px}}
@media print{.hdr,.strip,.ftr,.dnav,.back,.btn{display:none!important}.cert{border-color:#000;color:#000;background:none}.cert h2{color:#000}}
@media(max-width:900px){.dsh{grid-template-columns:minmax(0,1fr)}.dnav,.dmain,.pa,.d-card,.tsq{min-width:0;max-width:100%}.pa h2{overflow-wrap:anywhere}}
/* v4 From Reece + admin */
.rc-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.rc{border:1px solid var(--line);border-radius:18px;padding:20px 22px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;background:linear-gradient(180deg,var(--k3),var(--k2));min-width:0}
.rc h3{font-size:19px;line-height:26px}.rc p{color:var(--tx2);font-size:15px;line-height:24px;margin:0}
.rc-m{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rc .player{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden}.rc .player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.rc-ap{border-color:rgba(241,185,27,.5);margin-bottom:16px;background:radial-gradient(circle at 100% 0,rgba(241,185,27,.10),transparent 55%),linear-gradient(180deg,var(--k3),var(--k2))}
.dnav nav a.adm{color:var(--g);border:1px solid rgba(241,185,27,.4);margin-top:8px}
#admApp .d-h h1{width:auto}
.a-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:32px}.a-n{font:600 40px/48px var(--hf);color:var(--g)}
.a-q{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:#0b0b0b;color:#fff;font:400 15px var(--bf);margin-bottom:12px}
.st-l{display:flex;flex-direction:column;gap:8px}
.st-r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;border:1px solid var(--line);border-radius:14px;padding:14px 18px;text-decoration:none;color:#fff}.st-r:hover{border-color:rgba(241,185,27,.5)}
.st-r>div{display:flex;flex-direction:column;gap:4px;min-width:0}.st-r small{overflow-wrap:anywhere}
.st-t{display:flex;flex-wrap:wrap;gap:6px}
.a-who{margin-bottom:28px}.a-who h2{font-size:28px}
.a-f{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:12px}
.a-f label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--tx2)}
.a-f input,.a-f select,.a-f textarea{padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#0b0b0b;color:#fff;font:400 15px/22px var(--bf)}
.a-f .r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lsn-i summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:900px){.rc-g{grid-template-columns:minmax(0,1fr)}.a-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.st-r{grid-template-columns:minmax(0,1fr)}.a-f .r2{grid-template-columns:1fr}.a-n{font-size:30px}}
/* v6 booking tab, town board, programs */
.tag.x{border-color:#a33;color:#f88}
.tsq-a{display:flex;gap:16px}.tsq .lnk,.tsq-rp .lnk{background:none;border:0;padding:0;cursor:pointer;color:var(--g);font:600 12px var(--bf);letter-spacing:.06em;text-transform:uppercase}
.tsq-r{width:100%;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.tsq-rp{border-left:2px solid rgba(241,185,27,.4);padding:4px 0 4px 14px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.tsq-f{display:flex;flex-direction:column;gap:10px;width:100%}.tsq-new{border:1px solid rgba(241,185,27,.4);border-radius:18px;padding:20px;margin-bottom:20px}
.tsq-f input,.tsq-f textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#0b0b0b;color:#fff;font:400 15px/22px var(--bf)}
.tsq-f .r2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tsq-f button{align-self:flex-start}
.a-f input[readonly]{opacity:.7}.a-f button{align-self:flex-start}
.pg-l{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.pg-s h4{color:var(--g);font-size:15px;margin:10px 0 6px}.pg-s ul{margin:0;padding-left:18px;color:var(--tx2);font-size:14px;line-height:24px}
.bk-cal{margin-top:20px}.bk-cal .bk-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
#svcs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rq .cta-r{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){#svcs,.tsq-f .r2{grid-template-columns:1fr}.bk-i.rq{flex-direction:column;align-items:flex-start}}
.catalogue{padding:80px 0}.cat-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}
.cat{border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;background:linear-gradient(180deg,var(--k3),var(--k2))}
.cat h3{font-size:22px;line-height:30px}.cat p{color:var(--tx2);font-size:15px;line-height:24px;margin:0}.cat details{width:100%}.cat summary{cursor:pointer;color:var(--g);font-weight:600;font-size:14px}
.cat ol{color:var(--tx2);font-size:14px;line-height:24px;padding-left:20px;margin:8px 0 0}.cat .btn{margin-top:auto}
@media(max-width:900px){.cat-g{grid-template-columns:minmax(0,1fr)}}
/* v7 call request form */
.bk-f{gap:16px}.pick-t{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pk{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#0b0b0b;color:#fff;font:600 14px var(--bf);cursor:pointer}
.pk small{font-weight:400;color:var(--tx2)}.pk.on{border-color:var(--g);box-shadow:0 0 0 1px var(--g) inset}.pk.on small{color:var(--g)}
.bk-f .sl button:disabled{opacity:.3;cursor:not-allowed}.bk-f .bk-cal{margin-top:0}
.rq>div{display:flex;flex-direction:column;gap:3px}.rq.hl{border-color:var(--g);box-shadow:0 0 0 1px var(--g)}
@media(max-width:900px){.pick-t{grid-template-columns:1fr}}
/* v9 restructure: admin nav, switches, dialog, preview */
.pv-bar{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;background:var(--g);color:#000;padding:10px 16px;border-radius:12px;margin-bottom:16px;font:500 14px/20px var(--bf)}
.pv-bar a{color:#000;font-weight:600}.pv-bar .btn{background:#000;color:var(--g);border:0}
.pv #dmain button:disabled,.pv #dmain input:disabled,.pv #dmain select:disabled,.pv #dmain textarea:disabled{opacity:.45;cursor:not-allowed}
.bdg{display:inline-block;min-width:20px;padding:1px 7px;border-radius:999px;background:#e5484d;color:#fff;font:600 11px/18px var(--bf);text-align:center;margin-left:6px;vertical-align:middle}
.dnav nav a.on .bdg{background:#000;color:var(--g)}
.mdl{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:20px}
.mdl-b{max-width:440px;width:100%;padding:24px;border:1px solid var(--g);border-radius:16px;background:var(--k2,#0b0b0b)}
.mdl-b p{color:#fff;font:500 16px/24px var(--bf);margin:0 0 18px}
.sec-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.add-slot:not(:empty){margin:10px 0 14px}
.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;margin:10px 0 0}.kv dt{color:var(--mut2,#999);font-size:13px}.kv dd{margin:0;color:#fff}
.acc.on{border-left:3px solid #3fb950}.acc.off{border-left:3px solid #555;opacity:.92}
.co-r{align-items:center}.co-a{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.co-r small a{color:var(--g)}
.sw{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px}.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw span{width:42px;height:24px;border-radius:999px;background:#444;position:relative;transition:.2s;flex:none}
.sw span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}
.sw input:checked+span{background:var(--g)}.sw input:checked+span:after{left:21px;background:#000}
.sw input:focus-visible+span{outline:2px solid var(--g);outline-offset:2px}.sw b{font-weight:500;color:var(--tx2)}
.a-pend{text-decoration:none;color:inherit;border-color:var(--g)}
.a-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
#pvSel,.a-f select{background:#111;color:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit}
@media(max-width:600px){.kv{grid-template-columns:90px 1fr}.co-a{justify-content:flex-start}.bk-i.co-r{flex-direction:column;align-items:flex-start}}
.bk-i.acc,.bk-i.co-r{display:flex;justify-content:space-between;gap:16px}.bk-i.acc>.btn,.co-a .btn{flex:none;width:auto}
.sl button.o{opacity:.55;border-style:dashed}.sl button.s{outline:2px solid var(--g);outline-offset:1px}
.acc .pbar{max-width:260px;margin-top:6px}

/* badges wrap cleanly, never overlap titles */
.tag{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35;height:auto;display:inline-block;vertical-align:middle}
.cc-b .tag{margin:0 6px 6px 0}.cc-b h3{clear:both;margin-top:6px}
.cc-price{display:block;color:var(--tx2);font-size:13px;line-height:1.4;margin:0 0 8px}
.d-h .tag+.cc-price{margin-top:6px}
.tag{padding:4px 12px}.cc-b .tag{align-self:flex-start;margin:0}.cc-b .cc-price{margin:-6px 0 0}

/* admin student detail polish */
#admApp .d-sec{margin:0 0 32px}
#admApp .sec-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
#admApp .sec-h h2{margin:0}
#admApp .sec-h .btn{flex:none}
#admApp .a-f{width:100%;box-sizing:border-box}
#admApp .a-f label{width:100%}
#admApp .a-f input,#admApp .a-f textarea{width:100%;box-sizing:border-box;font-size:15px;line-height:24px;padding:12px 16px}
#admApp .ap-f{padding:24px}
#admApp .ap-f textarea{min-height:calc(12 * 24px + 26px);resize:vertical;font-size:16px}
#admApp .it-f textarea{min-height:calc(6 * 24px + 26px);resize:vertical}
#admApp .f-act{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}
#admApp .f-act .mut{margin-right:auto}
#admApp .a-f .f-act button{align-self:auto}
#admApp .d-sec>.d-empty{padding:20px 24px;margin:0;border-radius:16px}
#admApp .d-sec .lsn-i{margin-bottom:10px}
@media(max-width:600px){#admApp .f-act{flex-direction:column-reverse;align-items:stretch}#admApp .f-act .btn{width:100%}#admApp .f-act .mut{margin:0;text-align:center}}
#admApp .sec-h{max-width:none;width:100%;text-align:left}#admApp .sec-h h2{font-size:22px;line-height:30px}
#admApp .sec-h{flex-wrap:nowrap}#admApp .sec-h h2{flex:1;min-width:0}
@media(max-width:600px){#admApp .sec-h h2{font-size:18px;line-height:24px}#admApp .sec-h .btn{white-space:nowrap;padding:0 12px}}
/* Compact 'Our clients' banner (~half height): label + one row of 36px logos */
section.trust{padding:22px 0}
section.trust .hd2{margin-bottom:12px;gap:16px}
section.trust .hd2 b{display:none}
section.trust .mtrack .lg{height:44px;width:150px;padding:0 14px}
section.trust .mtrack .lg img{max-height:36px;max-width:112px}
@media(max-width:760px){section.trust{padding:18px 0}section.trust .hd2{margin-bottom:10px}
section.trust .marq{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}section.trust .marq::-webkit-scrollbar{display:none}
section.trust .mtrack{flex-wrap:nowrap!important;width:max-content!important;justify-content:flex-start}
section.trust .mtrack .lg{height:40px;width:110px;padding:0 10px}section.trust .mtrack .lg img{max-height:32px;max-width:90px}
section.trust .mtrack .lg[aria-hidden]{display:none}}
#admApp .nx{border:1px solid var(--g,#F1B91B);box-shadow:0 0 0 1px rgba(241,185,27,.25),0 8px 30px rgba(241,185,27,.12);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
#admApp .nx h3{margin:0;font-size:22px}#admApp .nx p{margin:0}
#admApp .ev small{display:block}#admApp .ev.busy{opacity:.75;border:1px dashed rgba(255,255,255,.18);border-radius:12px}
#admApp .seg{display:inline-flex;border:1px solid rgba(241,185,27,.45);border-radius:999px;padding:3px;gap:3px;align-self:flex-start}
#admApp .seg button{background:none;border:0;color:inherit;padding:7px 14px;border-radius:999px;font:inherit;font-size:14px;cursor:pointer}
#admApp .seg button.on{background:var(--g,#F1B91B);color:#000;font-weight:600}
#admApp .up-file{padding:14px;border-radius:12px;display:flex;flex-direction:column;gap:8px}
#admApp .up-player video,#admApp .up-player audio,.rc-player video,.rc-player audio{width:100%;max-width:720px;border-radius:10px;background:#000}
#admApp .up-prog{display:flex;align-items:center;gap:10px}#admApp .up-prog .pbar{flex:1}
.rc-file{display:flex;flex-direction:column;gap:10px;margin:8px 0}.rc-file .cc-a{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:600px){.rc-file .cc-a .btn{flex:1}}
#admApp .ev .tag,#admApp .nx .tag{white-space:nowrap;flex:none}
.ft .fh5{font:600 11px/16px var(--bf);letter-spacing:.24em;text-transform:uppercase;color:var(--g);margin:0 0 24px}
:where(img[width][height]){height:auto}
.e404{min-height:60vh;display:grid;place-items:center;text-align:center;padding:140px 24px 80px}.e404 h1{font-size:clamp(40px,6vw,72px)}.e404 .cta-r{justify-content:center;display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:760px){#bkPanel{min-height:560px}}
/* Courses page: online / in-person groups + pricing tiers */
.grp-sec{padding:96px 0;border-top:1px solid var(--line)}
.on-sec{padding-bottom:48px}
.grp-h{max-width:760px;margin:0 0 32px}.grp-h h2{margin:12px 0 12px}.grp-h .lead{margin:0}
.cat-g.cat-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ip-sec{background:radial-gradient(1200px 500px at 50% 0,rgba(241,185,27,.08),transparent 70%),var(--k1)}
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch;margin:16px 0 20px}
.tier{position:relative;display:flex;flex-direction:column;gap:14px;padding:28px 24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,var(--k3),var(--k2));min-width:0}
.tier.t2{border-color:rgba(241,185,27,.25)}
.tier.t4{border-color:rgba(241,185,27,.45);background:linear-gradient(180deg,#1d1a12,var(--k2))}
.tier.pop{border:2px solid var(--g);background:linear-gradient(180deg,#221c0b,var(--k2));box-shadow:0 0 0 6px var(--gg),0 24px 60px rgba(0,0,0,.5)}
.tier-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--g);color:#000;font:700 11px/26px var(--bf);letter-spacing:.14em;text-transform:uppercase;padding:0 14px;border-radius:99px;white-space:nowrap}
.tier h3{font-size:24px;line-height:32px;margin:0}
.tier-d{color:var(--tx2);font-size:15px;line-height:24px;margin:0}
.tier-p{margin:4px 0 4px;display:flex;flex-direction:column;gap:2px}.tier-p b{font:600 40px/48px var(--hf);color:var(--g)}.tier-p span{color:var(--mut);font-size:13px}
.tier-l{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;flex:1}
.tier-l li{display:flex;gap:10px;align-items:flex-start;color:var(--tx2);font-size:14px;line-height:22px}.tier-l .ic{flex:none;color:var(--g);margin-top:3px}
.tier-cta{width:100%;justify-content:center;margin-top:8px}
.tier-n{margin:8px 0 40px}
.ip-extra{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:760px}
@media(max-width:1200px){.tiers{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}}
@media(max-width:900px){.cat-g.cat-2{grid-template-columns:minmax(0,1fr)}.grp-sec{padding:64px 0}}
@media(max-width:640px){.tiers{grid-template-columns:minmax(0,1fr)}.tier-p b{font-size:34px;line-height:42px}}
@media(min-width:1201px){.tier-d{min-height:72px}}
/* Courses v2: curriculum block + balanced free training */
.cur-sec{border-top:1px solid var(--line)}
.ip-extra .note{margin:0}
.free2-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:stretch}
.free2-l,.free2-r{min-width:0;display:flex;flex-direction:column}
.free2-l .im{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;margin-bottom:28px}
.free2-l .im img{width:100%;height:100%;object-fit:cover}.free2-l .im .tag{position:absolute;left:16px;top:16px}
.free2-l h2{margin:12px 0 16px}.free2-l .lead{margin:0}.free2-l .ft-meta{margin:20px 0 0}
.free2-r{padding:32px;border-radius:24px;gap:0}
.free2-k{font:600 12px/1 var(--bf);letter-spacing:.14em;text-transform:uppercase;color:var(--g);margin:0 0 16px}
.free2-r .outs{margin:0 0 28px}
.free2-r .cform{margin-top:auto}.free2-r .cform .btn{width:100%}
@media(max-width:900px){.free2-g{grid-template-columns:minmax(0,1fr);gap:32px}.free2-r{padding:24px}}
@media(max-width:560px){.free2-r .cform .r2{grid-template-columns:minmax(0,1fr)}}
.free2-r .cform{background:none;border:0;box-shadow:none;padding:0}
/* SWITCH top-strip: the yellow phone/email bar is hidden site-wide. Delete the next 2 rules to bring it back. */
.strip{display:none!important}
.strip+.hdr.abs{top:0}
/* Courses v3: online pricing cards (reuse .tier) */
.tiers.tiers-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-left:auto;margin-right:auto;row-gap:32px}
.on-sec .grp-h{margin-left:auto;margin-right:auto;text-align:center}
.tier details{width:100%}.tier summary{cursor:pointer;color:var(--g);font-weight:600;font-size:14px}.tier details ol{color:var(--tx2);font-size:14px;line-height:24px;padding-left:20px;margin:8px 0 0}
#free,#checkout,#in-person,#online{scroll-margin-top:24px}
@media(max-width:700px){.tiers.tiers-2{grid-template-columns:minmax(0,1fr)}}
@media(min-width:701px){.tiers-2 .tier h3{min-height:64px}}
/* Header v3 (site-wide): no divider line over hero images; menu + buttons grouped on the right, logo left */
.hdr,.hdr.abs{border-bottom:0!important}
.hd .nav{margin-left:auto}
@media(min-width:1001px){.hdr .wrap.hd{max-width:none;padding-left:clamp(40px,4vw,72px);padding-right:clamp(40px,4vw,72px);gap:20px}.hd .nav{gap:4px}}
.hdr .wrap.hd{justify-content:space-between}
.free2-sub{font-size:18px;line-height:28px;color:#fff;margin:0 0 24px}.free2-sub .gold{color:var(--g);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.free2-t{display:flex;align-items:center;gap:12px;font-size:22px;line-height:30px;margin:0 0 12px}.free2-t .tag.f{color:#000}
/* Clients banner v2 (site-wide): "Trusted by", no rule line, ~18% smaller */
section.trust .hd2 i{display:none}
section.trust{padding:18px 0}section.trust .hd2{margin-bottom:10px}
section.trust .mtrack .lg{height:36px;width:128px;padding:0 12px}section.trust .mtrack .lg img{max-height:30px;max-width:94px}
@media(max-width:760px){section.trust{padding:15px 0}section.trust .hd2{margin-bottom:8px}section.trust .mtrack .lg{height:34px;width:94px;padding:0 8px}section.trust .mtrack .lg img{max-height:27px;max-width:76px}}
.free2-l .im+.free2-t{margin-top:0}
.free2-lh{margin:0 0 28px}.free2-lh h2{margin:12px 0 16px}.free2-lh .free2-sub{margin:0}
.free2-r .cform{margin-top:0}.free2-r{justify-content:center}
/* Closing CTA spacing (site-wide): section before the CTA gets the same gap as CTA-to-footer */
section:has(+ section.cta),section:has(+ template + section.cta){padding-bottom:128px!important}
section:has(+ section.cta) .wrap>:last-child,section:has(+ template + section.cta) .wrap>:last-child{margin-bottom:0!important}
section.cta{padding-top:0}
/* CTA band v4: box centred between the visible divider above (drawn by the previous section) and the footer border; only the CTA section changes. Total band height unchanged (128/80 split evenly). */
section.cta{padding:64px 0!important}
@media(max-width:600px){section.cta{padding:40px 0!important}}
.pg-services .sec .srow:last-child{padding-bottom:0;border-bottom:0}
@media(max-width:900px){section:has(+ section.cta),section:has(+ template + section.cta){padding-bottom:80px!important}}
.tier-p b.por{font-size:30px;line-height:48px}@media(max-width:640px){.tier-p b.por{font-size:28px;line-height:42px}}
.lsn-i summary .lsn-rw{margin-left:auto}
/* Call request contact fields (book.html + Student Area) */
.cform .ferr,.bk-f .ferr{display:block;min-height:0;margin-top:4px;color:#ff8f8f;font-size:12px;line-height:16px;font-weight:500}
.cform [aria-invalid="true"],.bk-f [aria-invalid="true"]{border-color:#ff8f8f!important}
fieldset.plat{border:1px solid var(--line);border-radius:12px;padding:12px 16px 4px;margin:8px 0 12px;min-width:0}
fieldset.plat legend{padding:0 6px;font-size:14px;color:#fff}fieldset.plat .note{margin:0 0 10px}
.cform label span[aria-hidden],.bk-f label span[aria-hidden]{color:var(--g)}
/* Booking details forms (public book.html + Student Area): one field system */
#bkF.cform{display:flex;flex-direction:column;gap:24px}
#bkF .cf{display:flex;flex-direction:column;gap:20px}
#bkF .r2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:0}
#bkF label{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0;font:500 14px/20px var(--bf);color:#fff}
#bkF .lt{display:block;font:500 14px/20px var(--bf);color:#fff}#bkF .lt small{font-weight:400;margin-left:4px}
#bkF label input,#bkF label select,#bkF label textarea{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;border:1px solid var(--line);border-radius:10px;background-color:rgba(255,255,255,.04);color:#fff;font:400 15px/22px var(--bf);padding:12px 16px;text-overflow:ellipsis}
#bkF label input,#bkF label select{height:48px}
#bkF label select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23F1B91B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px}
#bkF label select option{background:#111;color:#fff}
#bkF label input::placeholder,#bkF label textarea::placeholder{color:rgba(255,255,255,.4)}
#bkF label input:focus,#bkF label select:focus,#bkF label textarea:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(241,185,27,.28)}
#bkF label input[readonly]{opacity:.7;cursor:default}
#bkF .ferr{margin:0}#bkF .ferr:empty{display:none}
#bkF fieldset.plat{margin:0;padding:20px;border:1px solid var(--line);border-radius:12px;min-width:0}
#bkF fieldset.plat legend{float:left;width:100%;padding:0;margin:0 0 8px;font:500 14px/20px var(--bf);color:#fff}
#bkF .plat-in{clear:both;display:flex;flex-direction:column;gap:20px}
#bkF fieldset.plat .note,#bkF .plat-in .note{margin:0;font-size:13px;line-height:20px}
#bkF>.note{margin:0;font-size:13px;line-height:20px}
#bkF .fmsg{margin:0}#bkF .fmsg:empty{display:none}
#bkF .bk-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0;flex-wrap:wrap}
#bkF .bk-nav .btn{height:48px;min-height:48px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
#bkF.bk-f .bk-h{margin:4px 0 -4px;font-size:18px}
#bkF.bk-f>.btn{align-self:flex-start;height:48px}
@media(max-width:600px){#bkF .r2{grid-template-columns:minmax(0,1fr)}#bkF fieldset.plat{padding:16px}#bkF .bk-nav{flex-direction:column-reverse;align-items:stretch}#bkF .bk-nav .btn{width:100%}}
#bkF.bk-f{align-items:stretch;gap:24px}#bkF.bk-f>.note,#bkF.bk-f>.fmsg{margin:0}
#bkF label textarea{height:48px;min-height:48px;resize:vertical}
/* Book a call Details step: no inner box; fields share the card's left edge with the "Your details" heading */
#bkPanel #bkF.cform{max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
/* Pick a time: date + time buttons share one button system (public + Student Area A/B picker) */
.cg,.sl{gap:8px}
.cg .dy,.sl button{box-sizing:border-box;height:48px;min-height:48px;margin:0;padding:0 8px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:12px;font:500 13px/1 var(--bf);white-space:nowrap}
.cg .dy.s,.sl button.s{font-weight:700}
.slots h3{margin:0 0 16px;padding:0;text-indent:0}
@media(max-width:600px){.cg .dy,.sl button{height:44px;min-height:44px}}
.cg,.sl{align-content:start;grid-auto-rows:auto}
.dtg .slots h3,#bkCal .slots h3{font-size:16px;line-height:24px}
/* Booking steps on mobile: full-width stacked buttons, primary on top, Back last (desktop unchanged) */
@media(max-width:600px){
.bk-nav,.bk-cal .bk-nav,#bkF .bk-nav{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:12px}
.bk-nav .btn,#bkF .bk-nav .btn{width:100%;height:48px;min-height:48px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0}
.bk-nav .btn-p{order:-1}.bk-nav [id^="bk"]:not(.btn-p){order:1}
#bkF.bk-f>.btn{align-self:stretch;width:100%}
}
