/* CAQA Artificial Intelligence: homepage */
/* HERO */
.hero{position:relative;padding:34px 0 70px;overflow:hidden;isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:center}
.hero h1{font-size:clamp(44px,5.6vw,84px);font-weight:800;margin-top:20px;letter-spacing:-.045em;line-height:1.02}
.hero .lead{font-size:19.5px;color:var(--muted);margin-top:22px;max-width:580px}
.roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.roles span{font:600 13px/1 var(--sans);color:var(--muted);align-self:center;margin-right:4px}
.roles button{border:0;border-radius:999px;padding:10px 15px;font:700 13.5px/1 var(--sans);cursor:pointer;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);transition:all .25s}
.roles button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:0 10px 24px -10px rgba(14,21,48,.6)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.stats{display:grid;grid-template-columns:repeat(4,auto);gap:26px;margin-top:36px;justify-content:start}
.stats b{display:block;font:800 36px/1 var(--display);color:var(--ink);letter-spacing:-.03em}
.stats small{font:600 12.5px/1.3 var(--sans);color:var(--muted)}
.stage{position:relative;min-height:620px}
.portal{position:absolute;inset:0 0 70px 40px;border-radius:34px;overflow:hidden;box-shadow:0 50px 100px -40px rgba(27,61,151,.55);background:#0E1530}
.portal video{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.portal::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(122,77,235,.25),transparent 45%),linear-gradient(0deg,rgba(14,21,48,.55),transparent 50%)}
.portal .ring2{position:absolute;inset:0;border-radius:34px;padding:3px;background:conic-gradient(from var(--a,0deg),#00B5B8,#27A35A,#F5B700,#E2641F,#E04E8A,#7A4DEB,#00B5B8);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:2;animation:spin 6s linear infinite;pointer-events:none}
@property --a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spin{to{--a:360deg}}
.console{position:absolute;left:0;bottom:0;width:min(420px,94%);background:rgba(255,255,255,.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:22px;box-shadow:0 40px 80px -30px rgba(14,21,48,.5);overflow:hidden;z-index:3}
.console .bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);font:600 12px/1 var(--mono);color:var(--muted)}
.console .bar i{width:10px;height:10px;border-radius:50%;background:#FF5F57}.console .bar i:nth-child(2){background:#FEBC2E}.console .bar i:nth-child(3){background:#28C840}
.console .bar b{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--green)}
.console .body{padding:16px 18px;min-height:206px;font-size:14.5px}
.msg-u{background:var(--tint);border-radius:14px 14px 4px 14px;padding:10px 14px;margin-left:30px;color:var(--ink);font-weight:600;min-height:42px}
.msg-a{margin-top:12px;display:flex;gap:10px}
.msg-a .av{flex:none;width:28px;height:28px;border-radius:9px;background:var(--grad);display:grid;place-items:center;color:#fff;font:800 11px/1 var(--display)}
.msg-a .tx{color:var(--body);line-height:1.55;white-space:pre-line}
.caret{display:inline-block;width:8px;height:16px;background:var(--violet);vertical-align:-3px;margin-left:2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.rec{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--line);font:600 12.5px/1.3 var(--sans);color:var(--muted)}
.rec b{color:var(--ink)}
.rec .pip{width:26px;height:26px;border-radius:8px;background:var(--grad2);flex:none}
.float{position:absolute;z-index:4;background:#fff;border-radius:18px;padding:12px 14px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;font:600 13px/1.3 var(--sans);color:var(--ink);animation:bob 6s ease-in-out infinite}
.float small{display:block;font-weight:500;color:var(--muted)}
.float.f1{right:-12px;top:26px}.float.f2{left:0;top:96px;animation-delay:-3s}
.float .ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800}
@keyframes bob{50%{transform:translateY(-12px)}}
@media (max-width:1020px){.hero-grid{grid-template-columns:1fr}.stage{min-height:580px}}
@media (max-width:560px){.stats{grid-template-columns:repeat(2,auto);gap:18px 30px}.stage{min-height:560px}.portal{inset:0 0 150px 0}.console{width:100%}.float.f2{display:none}.float.f1{right:8px;top:12px}}

/* MARQUEE */
.marq{border-block:1px solid var(--line);background:#fff;overflow:hidden;padding:14px 0;display:grid;gap:10px}
.marq .lbl{text-align:center;font:700 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.marq .track{display:flex;gap:12px;width:max-content;animation:marq 70s linear infinite}
.marq .track.rev{animation-direction:reverse;animation-duration:80s}
.marq:hover .track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.pill{display:flex;align-items:center;gap:9px;padding:9px 16px 9px 9px;border-radius:999px;background:var(--tint);font:700 14px/1 var(--display);color:var(--ink);white-space:nowrap}
.mono{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 10.5px/1 var(--display)}

/* ZOOM */
.zoom{height:240vh;position:relative}
.zoom .stick{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}
.zoom .frame{position:relative;width:calc(56vw + 44vw * var(--p,0));height:calc(56vh + 44vh * var(--p,0));border-radius:calc(36px * (1 - var(--p,0)));overflow:hidden;background:#0E1530;box-shadow:0 60px 120px -50px rgba(27,61,151,.6)}
.zoom video{width:100%;height:100%;object-fit:cover}
.zoom .ov{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:radial-gradient(ellipse at center,rgba(14,21,48,.25),rgba(14,21,48,.7))}
.zoom h2{color:#fff;font-size:clamp(36px,6vw,92px);max-width:1100px;letter-spacing:-.04em}
.zoom h2 em,.qgrad{font-style:normal;background:linear-gradient(100deg,#5EEAD4,#A3E635,#FDE047,#FB923C,#F472B6);-webkit-background-clip:text;background-clip:text;color:transparent}
.zoom p{color:rgba(255,255,255,.88);font-size:clamp(16px,1.6vw,21px);margin:18px auto 0;max-width:720px}
.zoom .ov>div{opacity:calc(var(--p,0) * 2 - .3);transform:translateY(calc(40px * (1 - var(--p,0))))}
@media (max-width:700px){.zoom{height:auto}.zoom .stick{position:relative;height:auto;padding:40px 16px}.zoom .frame{width:100%;height:78vh;border-radius:26px}.zoom .ov>div{opacity:1;transform:none}}

/* TRACKS */
.fam{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.fam button{border:0;border-radius:999px;padding:10px 15px;font:700 13.5px/1 var(--sans);cursor:pointer;background:var(--tint);color:var(--ink);display:flex;align-items:center;gap:8px}
.fam button i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.fam button[aria-pressed=true]{background:var(--ink);color:#fff}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tcard{position:relative;border:0;padding:0;text-align:left;cursor:pointer;border-radius:26px;overflow:hidden;aspect-ratio:4/4.1;color:#fff;font-family:var(--sans);isolation:isolate;background:#0E1530;box-shadow:0 30px 60px -36px rgba(14,21,48,.6)}
.tcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.tcard:hover img{transform:scale(1.08)}
.tcard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,21,48,.05) 25%,rgba(14,21,48,.92) 78%)}
.tcard .tag{position:absolute;top:16px;left:16px;font:700 11.5px/1 var(--sans);padding:7px 10px;border-radius:999px;background:var(--c);color:#fff;max-width:60%}
.tcard .lvl{position:absolute;top:16px;right:16px;font:600 11.5px/1 var(--sans);padding:7px 10px;border-radius:999px;background:rgba(14,21,48,.6);backdrop-filter:blur(8px)}
.tcard .tx{position:absolute;left:22px;right:22px;bottom:20px;display:block}
.tcard h3{color:#fff;font-size:23px;line-height:1.15}
.tcard p{font-size:14px;opacity:.9;margin-top:8px}
.tcard .more{display:block;max-height:0;overflow:hidden;transition:max-height .6s cubic-bezier(.2,.8,.2,1)}
.tcard:hover .more,.tcard:focus-visible .more{max-height:200px}
.tcard .tools{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.tcard .tools span{font:600 11px/1 var(--sans);padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.16)}
.tcard .go{display:inline-flex;margin-top:12px;font:700 13px/1 var(--sans);color:#fff;gap:6px}
.tcard.hide{display:none}
@media (max-width:1000px){.tgrid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.tgrid{grid-template-columns:1fr}.tcard{aspect-ratio:4/4.3}.tcard .more{max-height:200px}}
.modal{position:fixed;inset:0;z-index:80;display:none;place-items:center;padding:20px;background:rgba(14,21,48,.55);backdrop-filter:blur(6px)}
.modal.open{display:grid;animation:fade .3s}
@keyframes fade{from{opacity:0}}
.mbox{position:relative;width:min(920px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:28px;display:grid;grid-template-columns:.9fr 1.1fr;animation:rise .45s cubic-bezier(.2,.8,.2,1)}
@keyframes rise{from{transform:translateY(30px) scale(.97);opacity:0}}
.mbox .ph{min-height:100%;background:#0E1530}.mbox .ph img{width:100%;height:100%;object-fit:cover}
.mbox .in{padding:34px}
.mbox h3{font-size:30px;margin-top:10px}
.mbox ol{margin:18px 0 0;padding:0;list-style:none;counter-reset:m;display:grid;gap:8px}
.mbox li{counter-increment:m;display:flex;gap:12px;align-items:center;padding:11px 14px;border-radius:14px;background:var(--tint);font-weight:600;color:var(--ink);font-size:14.5px}
.mbox li::before{content:counter(m);flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--c);color:#fff;font:800 12px/1 var(--display)}
.mbox .x{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:#fff;box-shadow:var(--shadow);cursor:pointer;font-size:20px;z-index:2}
.tl{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tl span{font:600 12px/1 var(--sans);padding:7px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
@media (max-width:760px){.mbox{grid-template-columns:1fr}.mbox .ph{height:200px}}
.finder{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:18px 20px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.finder b{font:700 15px/1 var(--display);color:var(--ink);margin-right:6px}
.finder select{border:1.5px solid var(--line);border-radius:999px;padding:10px 14px;font:600 14px/1 var(--sans);color:var(--ink);background:#fff;max-width:100%}

/* QUANTUM */
.q{position:relative;border-radius:36px;overflow:hidden;color:#fff;isolation:isolate;background:#0B1026}
.q video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.55}
.q::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,16,38,.95) 30%,rgba(11,16,38,.45)),radial-gradient(circle at 80% 30%,rgba(122,77,235,.35),transparent 50%)}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:64px 56px;align-items:center}
.q h2{color:#fff;font-size:clamp(34px,4.4vw,58px)}
.q .lead{color:rgba(255,255,255,.82);font-size:18px;margin-top:16px}
.q .eyebrow{color:#C4B5FD}
.q ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.q li{display:flex;gap:10px;color:rgba(255,255,255,.9)}.q li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:50%;background:#A78BFA;box-shadow:0 0 12px #A78BFA}
.qlab{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:22px;backdrop-filter:blur(10px)}
.qlab canvas{width:100%;aspect-ratio:1/1;max-width:340px;display:block;margin:0 auto;cursor:grab;touch-action:pan-y}
.qlab .gates{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
.qlab button{border:0;border-radius:12px;padding:10px 14px;font:700 13.5px/1 var(--mono);cursor:pointer;color:#fff;background:rgba(255,255,255,.12);transition:background .2s,transform .2s}
.qlab button:hover{background:rgba(167,139,250,.45);transform:translateY(-2px)}
.qlab button.m{background:linear-gradient(100deg,#7A4DEB,#E04E8A)}
.probs{display:grid;grid-template-columns:auto 1fr auto;gap:8px 12px;align-items:center;margin-top:16px;font:600 13px/1 var(--mono)}
.probs .pb{height:10px;border-radius:10px;background:rgba(255,255,255,.12);overflow:hidden}.probs .pb i{display:block;height:100%;border-radius:10px;transition:width .5s}
.qnote{font-size:12.5px;color:rgba(255,255,255,.65);text-align:center;margin-top:10px}
@media (max-width:900px){.q-grid{grid-template-columns:1fr;padding:40px 22px}}

/* LAB */
.lab-shell{display:grid;grid-template-columns:250px 1fr;gap:22px}
.lab-tabs{display:flex;flex-direction:column;gap:6px}
.lab-tab{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:16px;border:0;background:transparent;text-align:left;cursor:pointer;font:700 15px/1.2 var(--sans);color:var(--ink);transition:background .25s,box-shadow .25s}
.lab-tab small{display:block;font:500 12.5px/1.3 var(--sans);color:var(--muted);margin-top:3px}
.lab-tab .ic{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:17px}
.lab-tab:hover{background:#fff}.lab-tab[aria-selected=true]{background:#fff;box-shadow:var(--shadow)}
.lab-stage{background:#fff;border-radius:28px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;min-height:560px}
.lab-prompt{display:flex;gap:12px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}
.lab-prompt .pbox{flex:1;font:500 15.5px/1.5 var(--sans);color:var(--ink);min-height:24px}
.lab-prompt .run{flex:none;border:0;border-radius:999px;padding:11px 18px;font:700 13.5px/1 var(--sans);color:#fff;background:var(--grad2);cursor:pointer}
.lab-out{flex:1;padding:24px 26px;position:relative}
.lab-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.lab-foot b{color:var(--green)}
.think{display:flex;gap:6px;align-items:center;color:var(--muted);font:600 13px/1 var(--sans)}
.think i{width:8px;height:8px;border-radius:50%;background:var(--violet);animation:th 1s infinite}.think i:nth-child(2){animation-delay:.15s;background:var(--pink)}.think i:nth-child(3){animation-delay:.3s;background:var(--orange)}
@keyframes th{50%{transform:translateY(-6px);opacity:.4}}
.out-email{font-size:16px;line-height:1.7;white-space:pre-line;color:var(--ink)}
.src-doc{font-size:14px;color:var(--muted);line-height:1.7;padding:16px;border-radius:14px;background:var(--tint)}
.src-doc mark{background:transparent;color:inherit;transition:background .5s,color .5s}.src-doc mark.on{background:rgba(245,183,0,.38);color:var(--ink)}
.bul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.bul li{display:flex;gap:10px;align-items:flex-start;opacity:0;transform:translateX(-12px);transition:all .5s}.bul li.in{opacity:1;transform:none}
.bul li::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;margin-top:8px;background:var(--grad)}
.cite{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:var(--navy);color:#fff;font:700 11px/1 var(--mono);vertical-align:2px;margin-left:3px}
.sources{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.sources div{padding:12px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);font-size:13px;opacity:0;transform:translateY(10px);transition:all .5s}.sources div.in{opacity:1;transform:none}
.sources b{display:block;color:var(--ink);font-size:13.5px}
.quiz{display:grid;gap:12px}
.qcard{padding:16px 18px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);opacity:0;transform:rotateX(70deg);transform-origin:top;transition:all .6s}.qcard.in{opacity:1;transform:none}
.qcard b{color:var(--ink)}
.qopts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.qopts span{padding:7px 12px;border-radius:10px;background:var(--tint);font-size:13.5px}.qopts span.c{background:rgba(39,163,90,.14);color:var(--green);font-weight:700}
.chart{display:flex;align-items:flex-end;gap:16px;height:230px;padding:10px 6px 0;border-bottom:2px solid var(--line)}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.chart .barv{width:100%;max-width:64px;border-radius:12px 12px 4px 4px;height:0;transition:height 1s cubic-bezier(.2,.8,.2,1)}
.chart .v{font:700 14px/1 var(--display);color:var(--ink);opacity:0;transition:opacity .4s .6s}.chart.in .v{opacity:1}
.chart-x{display:flex;gap:16px;padding:8px 6px 0}.chart-x span{flex:1;text-align:center;font-size:12.5px;color:var(--muted)}
.insight{margin-top:18px;padding:14px 16px;border-radius:14px;background:rgba(122,77,235,.08);color:var(--ink);font-weight:600;opacity:0;transition:opacity .5s}.insight.in{opacity:1}
.tr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.tr{padding:14px 16px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);min-height:92px}
.tr small{display:block;font:700 11.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.tr p{color:var(--ink);font-size:15px}
.code{background:#0F1630;color:#E6E9F5;border-radius:16px;padding:18px 20px;font:13.5px/1.75 var(--mono);white-space:pre;overflow:auto;min-height:190px}
.code .k{color:#C792EA}.code .f{color:#82AAFF}.code .n{color:#F78C6C}.code .c{color:#6C7899}
.tests{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.tests div{padding:10px 12px;border-radius:12px;background:var(--tint);font:600 13px/1.2 var(--mono);color:var(--muted);transition:all .4s}
.tests div.pass{background:rgba(39,163,90,.12);color:var(--green)}.tests div.pass::before{content:"PASS  "}
.agent{display:grid;gap:10px}
.astep{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);opacity:.35;transition:all .4s}
.astep.on{opacity:1;box-shadow:inset 0 0 0 1.5px var(--violet);background:rgba(122,77,235,.05)}
.astep.done{opacity:1}
.astep .s{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--tint);font:800 12px/1 var(--display);color:var(--ink)}
.astep.done .s{background:var(--green);color:#fff}
.astep code{font:600 12px/1.4 var(--mono);color:var(--muted);display:block;word-break:break-word}
.astep.gate.on{box-shadow:inset 0 0 0 1.5px var(--orange);background:rgba(226,100,31,.06)}
@media (max-width:900px){.lab-shell{grid-template-columns:1fr}.lab-tabs{flex-direction:row;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.lab-tab{flex:none}.lab-tab small{display:none}.sources{grid-template-columns:1fr}.tr-grid,.tests{grid-template-columns:1fr}}

/* COACH + SORTER */
.duo{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}
.card{background:#fff;border-radius:28px;box-shadow:var(--shadow);padding:34px}
.card h3{font-size:28px}.card>p{color:var(--muted);margin-top:10px}
.coach textarea{width:100%;margin-top:20px;min-height:110px;border-radius:16px;border:1.5px solid var(--line);padding:16px;font:500 16px/1.5 var(--sans);color:var(--ink);resize:vertical;outline:0}
.coach textarea:focus{border-color:var(--violet)}
.ex{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ex button{border:0;background:var(--tint);border-radius:999px;padding:8px 12px;font:600 12.5px/1 var(--sans);color:var(--navy);cursor:pointer}
.meters{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:22px}
.meter{text-align:center;font:600 12px/1.3 var(--sans);color:var(--muted)}
.meter svg{width:58px;height:58px;display:block;margin:0 auto 6px}.meter circle.fg{transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}
.score{display:flex;align-items:center;gap:16px;margin-top:22px;padding:16px 18px;border-radius:18px;background:var(--tint)}
.score b{font:800 40px/1 var(--display);color:var(--ink)}.score .lbl{font-weight:700;color:var(--ink)}.score .tip{font-size:14px;color:var(--muted)}
.better{margin-top:16px;padding:16px 18px;border-radius:16px;border:1.5px dashed rgba(122,77,235,.4);font-size:14.5px;color:var(--ink);white-space:pre-line}
.better em{font-style:normal;color:var(--violet);font-weight:700}
.warn{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(226,100,31,.1);color:#9A3F0C;font-size:14px;font-weight:600;display:none}
.sort-item{padding:16px;border-radius:18px;box-shadow:inset 0 0 0 1px var(--line);margin-top:12px;transition:box-shadow .3s,background .3s}
.sort-item p{font-weight:700;color:var(--ink)}
.sort-item .opts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sort-item button{border:0;border-radius:999px;padding:8px 12px;font:600 12.5px/1 var(--sans);cursor:pointer;background:var(--tint);color:var(--ink)}
.sort-item.right{box-shadow:inset 0 0 0 2px var(--green);background:rgba(39,163,90,.05)}.sort-item.wrong{box-shadow:inset 0 0 0 2px var(--orange);background:rgba(226,100,31,.05)}
.sort-item .why{font-size:13.5px;color:var(--muted);margin-top:8px;display:none}.sort-item.right .why,.sort-item.wrong .why{display:block}
.tally{margin-top:16px;font-weight:700;color:var(--navy)}
@media (max-width:980px){.duo{grid-template-columns:1fr}}
@media (max-width:520px){.card{padding:24px}.meters{gap:4px}.meter svg{width:46px;height:46px}.meter{font-size:10.5px}}

/* STUDIOS */
.plats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.plat{position:relative;border:0;text-align:left;cursor:pointer;background:#fff;border-radius:20px;padding:18px;box-shadow:inset 0 0 0 1px var(--line);transition:transform .3s,box-shadow .3s;font-family:var(--sans)}
.plat:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1.5px var(--c),var(--shadow)}
.plat[aria-expanded=true]{box-shadow:inset 0 0 0 2px var(--c),var(--shadow)}
.plat .mono{width:40px;height:40px;font-size:12px;background:var(--c)}
.plat h3{font-size:17px;margin-top:14px}.plat p{font:600 12px/1.3 var(--sans);color:var(--c);margin-top:4px}
.drawer{grid-column:1/-1;display:none;background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:28px;border-top:5px solid var(--c)}
.drawer.open{display:block;animation:fade .45s}
.drawer h3{font-size:26px}
.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.lvl h4{font:700 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--c);margin-bottom:10px;display:flex;justify-content:space-between}
.lvl h4 span{color:var(--muted);letter-spacing:0;text-transform:none;font-weight:600}
.lvl ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lvl li{display:flex;gap:10px;padding:11px 12px;border-radius:12px;background:var(--tint);font-size:14px;color:var(--ink)}
.lvl li code{flex:none;font:600 11px/1.6 var(--mono);color:var(--muted)}
@media (max-width:1100px){.plats{grid-template-columns:repeat(4,1fr)}}@media (max-width:760px){.plats{grid-template-columns:repeat(2,1fr)}.levels{grid-template-columns:1fr}}

/* ROLES PIN */
.pin{position:relative}
.pin .stick{position:sticky;top:110px;overflow:hidden;padding:10px 0}
.pin .rail{display:flex;gap:18px;padding:0 max(20px,calc((100vw - 1240px)/2));will-change:transform}
.rcard{flex:none;width:min(420px,78vw);border-radius:28px;overflow:hidden;position:relative;aspect-ratio:4/4.8;max-height:72vh;color:#fff;isolation:isolate}
.rcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.rcard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 40%,rgba(14,21,48,.9))}
.rcard .tx{position:absolute;left:24px;right:24px;bottom:22px}
.rcard h3{color:#fff;font-size:26px}.rcard p{font-size:14.5px;opacity:.9;margin-top:8px}
.rcard .tg{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.rcard .tg span{font:600 11.5px/1 var(--sans);padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.18)}
@media (max-width:760px){.pin{height:auto!important}.pin .stick{position:relative;top:0}.pin .rail{overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding-bottom:10px}.rcard{scroll-snap-align:start}}

/* MODES */
.modes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mode{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:3/4.3;color:#fff;isolation:isolate}
.mode img,.mode video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.mode:hover img,.mode:hover video{transform:scale(1.07)}
.mode::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,21,48,0) 35%,rgba(14,21,48,.88))}
.mode .tag{position:absolute;top:16px;left:16px;font:700 12px/1 var(--sans);padding:8px 11px;border-radius:999px;background:var(--c);color:#fff}
.mode .tx{position:absolute;left:20px;right:20px;bottom:20px}
.mode h3{color:#fff;font-size:24px}.mode p{font-size:14px;opacity:.92;margin-top:8px}
@media (max-width:1000px){.modes{grid-template-columns:1fr 1fr}}@media (max-width:520px){.modes{grid-template-columns:1fr}.mode{aspect-ratio:4/4.4}}

/* COMPLIANCE */
.comp-top{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.comp-photo{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow)}
.comp-photo img{width:100%;height:100%;object-fit:cover}
.badge-float{position:absolute;left:18px;bottom:18px;background:#fff;border-radius:18px;padding:14px 16px;box-shadow:var(--shadow);font:600 13px/1.35 var(--sans);color:var(--ink);max-width:260px}
.badge-float b{display:block;font:800 20px/1.1 var(--display);color:var(--orange)}
.regs{position:relative;margin-top:56px}
.regs .rail{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:16px 4px 18px;scrollbar-width:thin;cursor:grab;user-select:none}
.reg{flex:none;width:250px;scroll-snap-align:start;position:relative;padding:28px 18px 18px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.reg::before{content:"";position:absolute;left:18px;top:-8px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 4px var(--c)}
.reg.future{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:1.5px solid transparent}
.reg small{font:700 11.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--c)}
.reg b{display:block;font:800 19px/1.1 var(--display);color:var(--ink);margin-top:8px}
.reg p{font-size:14px;color:var(--body);margin-top:8px}
.reg .now{position:absolute;right:14px;top:14px;font:700 10.5px/1 var(--sans);padding:5px 8px;border-radius:999px;background:var(--orange);color:#fff}
.regs h3{font-size:22px}
.sg{display:flex;gap:8px;flex-wrap:wrap;margin:40px 0 18px}
.sg button{border:0;border-radius:999px;padding:10px 16px;font:700 13.5px/1 var(--sans);cursor:pointer;background:var(--tint);color:var(--ink)}
.sg button[aria-pressed=true]{background:var(--ink);color:#fff}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.svc a{display:block;text-decoration:none;padding:24px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:transform .3s,box-shadow .3s}
.svc a:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1.5px var(--c),var(--shadow)}
.svc .top{display:flex;justify-content:space-between;align-items:center}
.svc .dot2{width:14px;height:14px;border-radius:5px;background:var(--c)}
.svc .g{font:700 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.svc h4{font-size:18.5px;margin-top:14px}.svc p{font-size:14px;color:var(--muted);margin-top:6px}
.svc a.hide{display:none}
@media (max-width:980px){.svc{grid-template-columns:1fr 1fr}}@media (max-width:760px){.comp-top{grid-template-columns:1fr}}@media (max-width:560px){.svc{grid-template-columns:1fr}}

/* PRICING */
.ptabs{display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.ptabs button{border:0;background:transparent;border-radius:999px;padding:11px 18px;font:700 14px/1 var(--sans);color:var(--muted);cursor:pointer}
.ptabs button[aria-selected=true]{background:var(--ink);color:#fff}
.ptools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:26px}
.tog{display:inline-flex;align-items:center;gap:10px;font:600 14px/1 var(--sans);color:var(--muted);cursor:pointer;user-select:none}
.tog input{appearance:none;width:46px;height:26px;border-radius:99px;background:var(--line);position:relative;cursor:pointer;transition:background .2s;margin:0}
.tog input::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 2px 4px rgba(0,0,0,.2)}
.tog input:checked{background:var(--violet)}.tog input:checked::after{transform:translateX(20px)}
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.price{position:relative;padding:26px 22px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;overflow:visible}
.price.feat{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:2px solid transparent;box-shadow:var(--shadow)}
.price .badge{position:absolute;top:-12px;left:22px;font:700 11.5px/1 var(--sans);padding:7px 10px;border-radius:999px;color:#fff;background:var(--grad2);z-index:2}
.price h4{font-size:18px}
.price .amt{font:800 40px/1 var(--display);color:var(--ink);margin-top:16px;letter-spacing:-.03em}
.price .per{font-size:13px;color:var(--muted);margin-top:6px}
.price ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px;font-size:14px}
.price li::before{content:"\2713";color:var(--green);font-weight:800;margin-right:8px}
.save{display:inline-block;margin-top:10px;font:700 12px/1 var(--sans);padding:6px 9px;border-radius:8px;background:rgba(39,163,90,.12);color:var(--green);align-self:flex-start}
.pnote{margin-top:22px;font-size:13.5px;color:var(--muted);max-width:900px}
@media (max-width:1000px){.prices{grid-template-columns:1fr 1fr}}@media (max-width:520px){.prices{grid-template-columns:1fr}}

/* CUSTOM + CERT */
.custom{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cbig{position:relative;border-radius:30px;overflow:hidden;min-height:460px;color:#fff;isolation:isolate;padding:40px;display:flex;flex-direction:column;justify-content:flex-end}
.cbig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:kb 18s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.12) translate(-2%,-2%)}}
.cbig::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,21,48,.1),rgba(14,21,48,.88))}
.cbig h3{color:#fff;font-size:clamp(26px,3vw,38px)}.cbig p{opacity:.9;margin-top:10px}
.csteps{display:grid;gap:12px}
.cstep{display:flex;gap:16px;padding:22px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.cstep .n{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;font:800 16px/1 var(--display)}
.cstep h4{font-size:18px}.cstep p{font-size:14px;color:var(--muted);margin-top:4px}
@media (max-width:900px){.custom{grid-template-columns:1fr}.cbig{padding:28px}}
.cert{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.cert-img{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3.4}.cert-img img{width:100%;height:100%;object-fit:cover}
.awards{display:grid;gap:12px;margin-top:28px}
.award{display:flex;gap:16px;align-items:flex-start;padding:18px;border-radius:20px;background:var(--tint)}
.award .n{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#fff;font:800 15px/1 var(--display)}
.award h4{font-size:17px}.award p{font-size:14px;color:var(--muted);margin-top:4px}
@media (max-width:900px){.cert{grid-template-columns:1fr}}

/* FAQ + CTA */
.faq{max-width:880px}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font:700 19px/1.35 var(--display);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;background:var(--tint);display:grid;place-items:center;font:600 20px/1 var(--sans);color:var(--navy);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:12px;color:var(--muted);max-width:760px}
.cta{position:relative;border-radius:36px;overflow:hidden;padding:90px 56px;isolation:isolate;text-align:center;box-shadow:var(--shadow);background:#fff}
.cta video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(255,255,255,.55),rgba(255,255,255,.85))}
.cta h2{font-size:clamp(36px,5.4vw,70px);max-width:900px;margin:14px auto 0}
.cta p{font-size:19px;color:var(--muted);margin:16px auto 0;max-width:640px}
.cta .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;justify-content:center}
@media (max-width:600px){.cta{padding:54px 22px}}
