
:root{--bg:#0b0c0e;--panel:#131519;--line:#24272e;--gold:#c9a24b;--gold2:#e6c873;--tx:#e9e6df;--mut:#9a9da5}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font:16px/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
h1,h2,h3,.disp{font-family:Rajdhani,sans-serif;text-transform:uppercase;letter-spacing:.04em;line-height:1.05}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--gold);color:#000;padding:8px 12px;z-index:99}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
/* top bar */
.bar{background:#07080a;border-bottom:1px solid var(--line);font-size:13px;color:var(--mut)}
.bar .wrap{display:flex;justify-content:space-between;gap:16px;padding:8px 24px;flex-wrap:wrap}
.bar b{color:var(--gold)}
header{position:sticky;top:0;z-index:50;background:rgba(11,12,14,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px}.brand img{height:44px}
.brand span{font:700 22px Rajdhani;letter-spacing:.14em}
nav ul{display:flex;gap:30px;list-style:none;font:600 15px Rajdhani;letter-spacing:.12em;text-transform:uppercase}
nav a{color:var(--mut);transition:color .2s}nav a:hover{color:var(--gold2)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font:700 15px Rajdhani;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--gold);transition:.25s;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.btn.solid{background:var(--gold);color:#0b0c0e}.btn.solid:hover{background:var(--gold2)}
.btn.ghost{color:var(--gold2)}.btn.ghost:hover{background:rgba(201,162,75,.12)}
.menu{display:none;background:none;border:0;color:var(--tx);font-size:28px;cursor:pointer}
/* hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;
background:radial-gradient(ellipse at 75% 40%,rgba(201,162,75,.14),transparent 55%),linear-gradient(180deg,#0b0c0e,#0e1013)}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;opacity:.35;mask-image:radial-gradient(ellipse at 70% 50%,#000 10%,transparent 70%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding-top:60px;padding-bottom:80px}
.eyebrow{font:600 14px Rajdhani;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;display:flex;align-items:center;gap:12px}
.eyebrow:before{content:"";width:36px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(46px,7vw,92px);margin:20px 0 22px}
.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--gold2)}
.hero p.lead{font-size:18px;color:var(--mut);max-width:560px;margin-bottom:34px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.crest{justify-self:center;width:min(380px,80%);filter:drop-shadow(0 30px 60px rgba(201,162,75,.25));animation:float 7s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-14px)}}
.scan{position:absolute;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent,rgba(201,162,75,.06),transparent);animation:scan 6s linear infinite}
@keyframes scan{from{top:-120px}to{top:100%}}
/* creds strip */
.creds{border-block:1px solid var(--line);background:var(--panel)}
.creds .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.cred{padding:26px 20px;border-right:1px solid var(--line)}.cred:last-child{border:0}
.cred small{display:block;font:600 12px Rajdhani;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}
.cred strong{font:600 18px Rajdhani;letter-spacing:.05em}
section{padding:110px 0}
.sh{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:54px;flex-wrap:wrap}
.sh h2{font-size:clamp(36px,4.5vw,58px);margin-top:12px}.sh p{max-width:440px;color:var(--mut)}
/* courses */
.courses{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.course{background:var(--bg);padding:36px 30px;position:relative;transition:background .3s;display:flex;flex-direction:column}
.course:hover{background:#111317}.course:after{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--gold);transition:width .4s}.course:hover:after{width:100%}
.course .num{font:700 14px Rajdhani;color:var(--gold);letter-spacing:.2em}
.course h3{font-size:26px;margin:14px 0 12px}.course p{color:var(--mut);font-size:15px;flex:1}
.price{margin-top:24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px}
.price b{font:700 30px Rajdhani;color:var(--gold2)}.price a{font:600 13px Rajdhani;letter-spacing:.18em;text-transform:uppercase;color:var(--tx)}
.price a:hover{color:var(--gold2)}
.course.feature{grid-column:span 2;background:linear-gradient(135deg,#15130d,#0b0c0e)}
.tag{display:inline-block;font:700 11px Rajdhani;letter-spacing:.2em;background:var(--gold);color:#000;padding:3px 9px;margin-left:10px;vertical-align:middle}
.facts{display:flex;gap:28px;margin-top:20px;flex-wrap:wrap}.facts div{font-size:14px;color:var(--mut)}.facts strong{display:block;font:700 26px Rajdhani;color:var(--tx)}
/* security */
.sec{background:var(--panel);position:relative}
.secgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.secimg{position:relative;position:sticky;top:110px}.secimg img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:30% center;filter:grayscale(.6) contrast(1.1)}
.secimg:after{content:"";position:absolute;inset:14px;border:1px solid rgba(201,162,75,.5);pointer-events:none}
.svc{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}
.svc i{font:normal 700 15px Rajdhani;color:var(--gold);border:1px solid var(--gold);width:44px;height:44px;display:grid;place-items:center}
.svc h3{font-size:22px;margin-bottom:6px}.svc p{color:var(--mut);font-size:15px}
.lic{margin-top:28px;font-size:13px;color:var(--mut);border-left:2px solid var(--gold);padding-left:14px}
/* about */
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.about blockquote{font:600 clamp(28px,3vw,40px)/1.2 Rajdhani;text-transform:uppercase;letter-spacing:.03em}
.about blockquote span{color:var(--gold2)}
.about p{color:var(--mut);margin-bottom:18px}
.badges{display:flex;gap:16px;margin-top:28px;flex-wrap:wrap}.badges img{height:84px;background:#fff;padding:8px;border-radius:4px}
/* visit */
.visit{background:linear-gradient(180deg,var(--bg),#090a0c)}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.vgrid>div{background:var(--bg);padding:44px}
.hours{list-style:none;margin-top:14px}.hours li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--line);color:var(--mut)}.hours li b{color:var(--tx);font-weight:500}
.big{font:700 clamp(32px,4vw,48px) Rajdhani;color:var(--gold2);letter-spacing:.04em;display:block;margin:10px 0}
form{display:grid;gap:14px;margin-top:20px}
input,textarea,select{width:100%;background:#0f1114;border:1px solid var(--line);color:var(--tx);padding:14px;font:inherit}
input:focus,textarea:focus,select:focus{border-color:var(--gold);outline:0}
label{font:600 12px Rajdhani;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
footer{border-top:1px solid var(--line);padding:40px 0;color:var(--mut);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
@media(max-width:900px){nav{display:none}nav.open{display:block;position:absolute;top:76px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:20px 24px}nav.open ul{flex-direction:column;gap:16px}
.menu{display:block}header .btn{display:none}.hero .wrap,.secgrid,.about .wrap,.vgrid{grid-template-columns:1fr}.crest{width:200px;grid-row:1}
.courses{grid-template-columns:1fr}.course.feature{grid-column:auto}.creds .wrap{grid-template-columns:1fr 1fr}.cred:nth-child(2){border-right:0}.cred:last-child{grid-column:span 2}.cred{border-bottom:1px solid var(--line)}
section{padding:72px 0}.secimg{position:relative;top:0}.vgrid>div{padding:28px}.bar .wrap span:last-child{display:none}.hero{min-height:auto}}

nav a.act{color:var(--gold2)}
.ph{padding:90px 0 70px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 80% 0,rgba(201,162,75,.14),transparent 60%)}
.ph h1{font-size:clamp(40px,6vw,76px);margin:16px 0}.ph p{color:var(--mut);max-width:680px;font-size:18px}
.crumb{font-size:13px;color:var(--mut)}.crumb a:hover{color:var(--gold2)}
.two{display:grid;grid-template-columns:1.4fr .9fr;gap:60px;align-items:start}
.prose h2{font-size:32px;margin:40px 0 14px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--mut);margin-bottom:12px}.prose ul{padding-left:20px}.prose strong{color:var(--tx)}
.side{position:sticky;top:100px;background:var(--panel);border:1px solid var(--line);padding:32px}
.side .big{margin:4px 0 16px}.side .btn{width:100%;justify-content:center;margin-top:10px}
.side ul{list-style:none;margin:16px 0}.side li{padding:9px 0;border-bottom:1px dashed var(--line);color:var(--mut);font-size:14px;display:flex;justify-content:space-between;gap:10px}.side li b{color:var(--tx);font-weight:500;text-align:right}
.ctaband{background:var(--gold);color:#0b0c0e;padding:60px 0}.ctaband .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.ctaband h2{font-size:clamp(28px,3.4vw,44px)}.ctaband .btn{border-color:#0b0c0e;background:#0b0c0e;color:var(--gold2)}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cgrid>div{background:var(--bg);padding:32px}.cgrid h3{font-size:22px;margin:10px 0}.cgrid p{color:var(--mut);font-size:15px}
.cgrid img{height:110px;background:#fff;padding:10px;border-radius:4px;margin-bottom:14px}
footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:30px;width:100%;margin-bottom:24px}footer h4{font:600 13px Rajdhani;letter-spacing:.2em;color:var(--gold);margin-bottom:10px;text-transform:uppercase}footer .cols a{display:block;padding:3px 0}footer .cols a:hover{color:var(--gold2)}
@media(max-width:900px){.two,.cgrid{grid-template-columns:1fr}.side{position:static}footer .cols{grid-template-columns:1fr 1fr}.ph{padding:60px 0 50px}}
/* ---- store ---- */
.cartlink{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--tx);font:600 15px Rajdhani;letter-spacing:.12em;margin-right:6px}
.cartlink svg{width:22px;height:22px}.cartcount{position:absolute;top:-8px;right:-12px;background:var(--gold);color:#000;font:700 11px Inter;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.hdr-r{display:flex;align-items:center;gap:22px}
#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,140%);background:var(--panel);border:1px solid var(--gold);color:var(--tx);padding:14px 20px;z-index:200;transition:transform .35s;font-size:14px;max-width:92vw}
#toast.show{transform:translate(-50%,0)}#toast a{color:var(--gold2);font-weight:600}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}
.filters button{background:none;border:1px solid var(--line);color:var(--mut);padding:9px 16px;font:600 13px Rajdhani;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.filters button[aria-pressed=true],.filters button:hover{border-color:var(--gold);color:var(--gold2)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.pcard{background:var(--bg);display:flex;flex-direction:column;transition:background .3s}.pcard:hover{background:#111317}
.pcard .im{aspect-ratio:1;background:#fff;display:grid;place-items:center;overflow:hidden}.pcard .im img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.pcard:hover .im img{transform:scale(1.05)}
.pcard .bd{padding:20px;display:flex;flex-direction:column;flex:1}.pcard small{font:600 11px Rajdhani;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
.pcard h3{font-size:18px;margin:8px 0 14px;flex:1;line-height:1.15}.pcard .row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pcard .row b{font:700 24px Rajdhani;color:var(--gold2)}
.btn.sm{padding:9px 14px;font-size:12px;cursor:pointer;font-family:Rajdhani}
.pd{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:start}
.gal .main{background:#fff;aspect-ratio:1;display:grid;place-items:center}.gal .main img{width:100%;height:100%;object-fit:contain}
.thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.thumbs button{width:72px;height:72px;background:#fff;border:2px solid transparent;cursor:pointer;padding:0}.thumbs button[aria-current=true]{border-color:var(--gold)}.thumbs img{width:100%;height:100%;object-fit:contain}
.pd h1{font-size:clamp(30px,3.4vw,46px);margin:10px 0 16px}.pd .pp{font:700 40px Rajdhani;color:var(--gold2);margin-bottom:20px}
.qty{display:flex;gap:12px;align-items:center;margin:20px 0}.qty input{width:84px}
.desc{color:var(--mut);margin-top:30px;border-top:1px solid var(--line);padding-top:24px}.desc h4{font:600 20px Rajdhani;text-transform:uppercase;color:var(--tx);margin:18px 0 8px}.desc p,.desc li{margin-bottom:8px}.desc ul{padding-left:20px}
.ctable{width:100%;border-collapse:collapse}.ctable th{font:600 12px Rajdhani;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);text-align:left;padding:12px;border-bottom:1px solid var(--line)}
.ctable td{padding:18px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.ctable img{width:64px;height:64px;object-fit:contain;background:#fff}
.ctable .nm{display:flex;gap:14px;align-items:center}.ctable .nm small{display:block;color:var(--mut)}.ctable input{width:70px;padding:8px}
.rm{background:none;border:0;color:var(--mut);cursor:pointer;text-decoration:underline;font:inherit;font-size:13px}.rm:hover{color:var(--gold2)}
.sum{background:var(--panel);border:1px solid var(--line);padding:30px;position:sticky;top:100px}.sum .ln{display:flex;justify-content:space-between;padding:8px 0;color:var(--mut);font-size:14px;gap:12px}.sum .tot{border-top:1px solid var(--line);margin-top:10px;padding-top:16px;color:var(--tx);font:700 26px Rajdhani}
.demo{border:1px dashed var(--gold);color:var(--gold2);padding:12px 16px;font-size:13px;margin-bottom:24px;background:rgba(201,162,75,.06)}
fieldset{border:1px solid var(--line);padding:24px;margin-bottom:22px;display:grid;gap:12px}legend{font:700 18px Rajdhani;letter-spacing:.1em;text-transform:uppercase;padding:0 8px;color:var(--gold2)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.g3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.err{color:#ff8a7a;font-size:13px}.variant select{font:600 15px Inter}
.empty{text-align:center;padding:60px 0;color:var(--mut)}
@media(max-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.pgrid{grid-template-columns:1fr 1fr}.pd{grid-template-columns:1fr}.g2,.g3{grid-template-columns:1fr}.sum{position:static}.ctable thead{display:none}.ctable tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line)}.ctable td{border:0;padding:10px 6px}.ctable td:first-child{grid-column:1/-1}.hdr-r .btn{display:none}}
@media(max-width:480px){.pgrid{grid-template-columns:1fr 1fr}.pcard .bd{padding:14px}.pcard h3{font-size:15px}.pcard .row{flex-direction:column;align-items:flex-start}}
.pcard[hidden]{display:none}
.cartcount[hidden]{display:none}
nav ul{gap:22px;white-space:nowrap}.brand span{white-space:nowrap}header .btn{white-space:nowrap}
@media(max-width:1320px){nav ul{gap:16px;font-size:14px;letter-spacing:.08em}.hdr-r .btn{padding:12px 16px}}
@media(max-width:1180px){.hdr-r .btn{display:none}}
@media(max-width:1020px) and (min-width:901px){.brand span{display:none}}
/* ---- card payment ---- */
.payhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.stripe-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--mut);border:1px solid var(--line);padding:5px 10px;border-radius:4px}.stripe-badge b{font:800 15px/1 Inter;letter-spacing:-.04em;color:#a5a3ff}
.testbadge{font:700 11px Rajdhani;letter-spacing:.2em;background:#f5a524;color:#111;padding:4px 10px;border-radius:3px}
.testhint{font-size:13px;color:var(--mut);background:#15130d;border-left:2px solid #f5a524;padding:10px 14px}
.code{font:600 13px ui-monospace,Menlo,monospace;color:var(--gold2);background:#0b0c0e;border:1px dashed var(--gold);padding:2px 8px;cursor:pointer}
.cardbox{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.cfield.full{grid-column:1/-1}
.cfield input{font:500 16px ui-monospace,Menlo,monospace;letter-spacing:.04em;background:#0f1114;transition:border-color .2s,box-shadow .2s}
.cfield input:focus{box-shadow:0 0 0 3px rgba(201,162,75,.18)}
.cfield.bad input{border-color:#ff6b57}.ferr{display:block;color:#ff8a7a;font-size:12px;min-height:16px;margin-top:4px}
.ccwrap{position:relative}.brand-ic{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:800 11px Inter;letter-spacing:.06em;color:#0b0c0e;background:var(--gold);padding:3px 7px;border-radius:3px}
#paybtn:disabled{opacity:.75;cursor:progress}
.spin{width:16px;height:16px;border:2px solid rgba(0,0,0,.25);border-top-color:#000;border-radius:50%;display:inline-block;animation:sp .8s linear infinite;vertical-align:middle}
@keyframes sp{to{transform:rotate(360deg)}}
.okic{width:64px;height:64px;border-radius:50%;background:var(--gold);color:#000;display:grid;place-items:center;font-size:34px;margin:18px 0 10px}
@media(max-width:600px){.cardbox{grid-template-columns:1fr 1fr}.cfield:last-child{grid-column:1/-1}}
/* =================== BUTTON SYSTEM (v2, cross-browser) =================== */
button,input,select,textarea{-webkit-appearance:none;appearance:none;border-radius:0;font-family:inherit}
input[type=checkbox]{-webkit-appearance:checkbox;appearance:auto;accent-color:var(--gold);width:18px!important;height:18px;vertical-align:-3px;margin-right:6px}
select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.btn{-webkit-appearance:none;appearance:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 26px;margin:0;
 font:700 15px/1 Rajdhani,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;
 background:transparent;color:#e6c873;border:1.5px solid #c9a24b;-webkit-tap-highlight-color:transparent;
 transition:background-color .2s,color .2s,border-color .2s,transform .1s,box-shadow .2s;touch-action:manipulation}
.btn.solid,.btn.primary{background:#c9a24b;color:#0b0c0e;border-color:#c9a24b}
.btn.solid:hover,.btn.primary:hover{background:#e6c873;border-color:#e6c873;color:#0b0c0e}
.btn.solid:active,.btn.primary:active{background:#a8862f;border-color:#a8862f;transform:translateY(1px)}
.btn.ghost,.btn.secondary{background:transparent;background-color:rgba(11,12,14,0);color:#e6c873;border-color:#c9a24b}
.btn.ghost:hover,.btn.secondary:hover{background:rgba(201,162,75,.16);color:#f3dc92;border-color:#e6c873}
.btn.ghost:active,.btn.secondary:active{background:rgba(201,162,75,.28);transform:translateY(1px)}
.btn:focus-visible{outline:none;clip-path:none;box-shadow:0 0 0 2px #0b0c0e,0 0 0 4px #f3dc92}
.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none}
.btn.sm{min-height:42px;padding:10px 16px;font-size:13px;letter-spacing:.12em}
.ctaband .btn{background:#0b0c0e;color:#e6c873;border-color:#0b0c0e}.ctaband .btn:hover{background:#1b1d22;border-color:#1b1d22;color:#f3dc92}
.ctaband .btn:focus-visible{box-shadow:0 0 0 2px #c9a24b,0 0 0 4px #0b0c0e}
/* other controls */
.filters button{min-height:42px;color:#b9bcc3}.filters button[aria-pressed=true]{background:rgba(201,162,75,.12)}
.filters button:focus-visible,.thumbs button:focus-visible,.rm:focus-visible,.code:focus-visible,.menu:focus-visible{outline:2px solid #f3dc92;outline-offset:2px}
.menu{-webkit-appearance:none;appearance:none;background:transparent;color:var(--tx);width:44px;height:44px;line-height:1}
.rm{color:#b9bcc3;padding:4px 0;min-height:32px}
.cartlink{min-width:44px;min-height:44px;justify-content:center}
input,select,textarea{font-size:16px}/* prevents iOS zoom on focus */
::placeholder{color:#7d8089;opacity:1}
label{color:#b2b5bc}
.lic,.crumb{color:#a3a6ad}
a:focus-visible{outline:2px solid #f3dc92;outline-offset:3px}
@media(max-width:900px){.price{gap:12px;flex-wrap:wrap}.course .price .btn{flex:0 0 auto}}
@media(max-width:480px){.pcard .row .btn{width:100%}}
.ctable img[src*=crest]{background:transparent;padding:6px}
.price .btn{letter-spacing:.12em}
.price a.btn:hover{color:#f3dc92}
@media(max-width:480px){.facts{gap:16px;flex-wrap:nowrap}.facts div{flex:1;font-size:13px}.facts strong{font-size:22px}}
/* ---- v3: vector logo, hero, nav, availability ---- */
picture{display:contents}
.brand img{height:44px;width:auto}
.crest{height:auto}
.eyebrow span{display:inline}
.hero .eyebrow{flex-wrap:wrap;row-gap:6px;line-height:1.6}
.eb-link{color:inherit;text-decoration:none;display:inline;font:inherit;letter-spacing:inherit;vertical-align:baseline;margin:0;padding:0}
.eb-link:hover{color:#f3dc92}
.hero .cta{gap:12px}
.tag.off{background:#3a1f1b;color:#ffb4a8;border:1px solid #7a3a30;margin-left:8px;white-space:nowrap}
.course .btn:disabled,.cgrid .btn:disabled{background:#26282d;border-color:#3a3d44;color:#c3c6cc;opacity:1;cursor:not-allowed;clip-path:none}
@media(max-width:1320px) and (min-width:901px){nav ul{gap:14px;font-size:13px;letter-spacing:.06em}.hdr-r{gap:14px}}
@media(max-width:1100px) and (min-width:901px){nav ul{gap:11px;font-size:12.5px;letter-spacing:.04em}.brand span{display:none}}
@media(max-width:700px){.hero .eyebrow{font-size:12px;letter-spacing:.2em}.hero .eyebrow:before{display:none}
 .hero .cta{display:grid;grid-template-columns:1fr 1fr}.hero .cta .btn.solid{grid-column:1/-1}.hero .cta .btn{padding:14px 12px;font-size:14px}}
@media(min-width:701px) and (max-width:1100px){.hero .cta .btn{padding:14px 20px}}
.brand img{width:auto;max-width:none}.hero .crest{width:min(380px,80%);min-width:0}.hero .wrap>*{min-width:0}
picture>source{display:none}
nav ul{gap:18px;font-size:14px;letter-spacing:.1em}
.brand span{font-size:20px;letter-spacing:.12em}
header .wrap{gap:20px}
@media(min-width:701px) and (max-width:1400px){.hero .cta .btn{padding:14px 16px;letter-spacing:.1em;font-size:14px}}
@media(max-width:900px){.hero .crest{width:180px;justify-self:start}}
[hidden]{display:none!important}
.sdet{font-size:13px;color:#b9bcc3;border-left:2px solid var(--gold);padding:6px 10px;margin:4px 0 10px;line-height:1.5}.sdet b{color:var(--tx)}
fieldset.student label{line-height:1.4}

s.was{color:var(--mut);text-decoration:line-through;font-weight:500;font-size:.7em;margin-right:6px;opacity:.85}

.desc{overflow-wrap:anywhere;word-break:break-word}.pd select,.pd input{max-width:100%}.pd>div{min-width:0}
.pd{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}@media(max-width:900px){.pd{grid-template-columns:minmax(0,1fr)}}.pd select{width:100%}
.qty{flex-wrap:wrap}.qty select{flex:1 1 220px;min-width:0;width:auto}.qty input[type=text]{flex:1 1 220px;width:auto;min-width:0}
.cdesc h4{font:700 13px Rajdhani,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:16px 0 6px}.cdesc ul{margin:0;padding-left:18px;color:var(--mut);font-size:14px;line-height:1.6}.cdesc p{margin:0 0 6px}
/* phones only: hero crest at 50% size with proportionally reduced spacing */
@media(max-width:600px){.hero .crest{width:90px}.hero>.wrap{padding-top:34px;row-gap:15px}}
.lead-link{color:inherit;text-decoration:none;font:inherit}.lead-link:hover{color:var(--gold2)}
/* address autocomplete */
.ac-wrap{position:relative}.ac-list{position:absolute;left:0;right:0;top:100%;z-index:60;margin:4px 0 0;padding:4px 0;list-style:none;background:#111113;border:1px solid var(--gold);box-shadow:0 12px 30px rgba(0,0,0,.6);max-height:min(320px,50vh);overflow-y:auto;-webkit-overflow-scrolling:touch}
.ac-list li[role=option]{padding:12px 14px;min-height:44px;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line)}
.ac-list li[role=option] b{color:var(--tx);font-weight:600;font-size:15px}.ac-list li[role=option] span{color:var(--mut);font-size:13px}
.ac-list li[aria-selected=true],.ac-list li[role=option]:hover{background:#2a2310}.ac-list li[aria-selected=true] b,.ac-list li[role=option]:hover b{color:var(--gold2)}
.ac-list .ac-attr{padding:8px 14px;font-size:11px;color:var(--mut);letter-spacing:.02em}
.pcard.oos .im img{opacity:.45;filter:grayscale(.6)}.pcard .oos-tag{display:inline-block;margin:4px 0}.btn.is-oos{opacity:.6}
.stocknote{color:var(--gold2);font-size:14px;margin:10px 0 0}.stocknote:empty{display:none}
.gone{display:none!important}
.promo-box{margin:14px 0 6px;padding-top:12px;border-top:1px solid var(--line)}
.promo-box label{display:block;font:600 11px Rajdhani,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:6px}
.promo-row{display:flex;gap:8px}.promo-row input{flex:1;min-width:0;text-transform:uppercase;font-size:16px}
.promo-err{color:#e08a7c;font-size:13px;margin:6px 0 0;min-height:0}
.promo-on{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--gold2);background:#17140b;border:1px solid #4a3d1c;padding:10px 12px}
.promo-rm{background:none;border:0;color:var(--mut);text-decoration:underline;cursor:pointer;font-size:13px}
.promo-ln span:last-child{color:var(--gold2)}.promo-ln small{color:var(--mut)}.promo-ln.off span{color:var(--mut)}
.promo-note{font-size:12px;color:#e08a7c;margin:0 0 6px}
.foot-game{color:var(--mut);text-decoration:underline;text-underline-offset:3px}.foot-game:hover{color:var(--gold2)}

.ship-hint{margin:2px 0 10px;font-size:13px;line-height:1.45;color:var(--mut)}.ship-hint b{color:var(--gold2)}.ship-hint.ok{color:#9fd39a}

/* address autocomplete (places.js) */
.pac-wrap{position:relative}
.pac-list{position:absolute;left:0;right:0;top:100%;z-index:60;background:#131519;border:1px solid var(--gold);border-top:0;box-shadow:0 12px 30px rgba(0,0,0,.5);max-height:320px;overflow:auto}
.pac-item{padding:12px 14px;cursor:pointer;font-size:14px;line-height:1.35;border-top:1px solid var(--line);color:var(--tx)}
.pac-item span{color:var(--mut);font-size:13px}.pac-item.on,.pac-item:hover{background:#1d1a12}.pac-item b{font-weight:600}
.pac-by{padding:6px 14px;font-size:11px;color:var(--mut);text-align:right;border-top:1px solid var(--line)}
/* class/booking pages: on phones show the booking box (price, Book & Pay, Add to cart, dates) before the overview */
@media(max-width:767px){.two.book-first{display:flex;flex-direction:column;gap:36px}.two.book-first>.side{order:-1}}
