:root{
  --paper:#071A44;
  --panel:#0D2A63;
  --ink:#F4F8FF;
  --muted:#D3DCF2;
  --teal:#8B5CF6;
  --teal-deep:#C4B5FD;
  --teal-tint:#172A68;
  --line:rgba(196,181,253,0.22);
  --blue-glow:#123B8F;
  --purple-soft:#A78BFA;
  --display:'Arial Narrow','Segoe UI Condensed','Segoe UI',Arial,sans-serif;
  --body:'Segoe UI',Arial,sans-serif;
  --mono:Consolas,'Courier New',monospace;
  --site-nav-height:86px;
}
*{box-sizing:border-box; margin:0; padding:0;}
[hidden]{display:none!important;}
html{scroll-behavior:smooth;scrollbar-gutter:stable;}
body{background:radial-gradient(circle at top left, rgba(139,92,246,0.18), transparent 28%), linear-gradient(180deg, #06163A 0%, var(--paper) 48%, #041128 100%); color:var(--ink); font-family:var(--body); line-height:1.55; -webkit-font-smoothing:antialiased;}
html.light-mode-pending body,
body.light-mode{
  --paper:#EAF1FF;
  --panel:#FFFFFF;
  --ink:#071A44;
  --muted:#4F638C;
  --teal-deep:#5B21B6;
  --line:rgba(55,82,145,0.18);
  background:linear-gradient(180deg, #F8FBFF 0%, #EDF4FF 48%, #E1E9FF 100%);
}
img{max-width:100%; display:block;}
a{color:inherit;}
::selection{background:var(--teal); color:#fff;}
:focus-visible{outline:2.5px solid var(--teal); outline-offset:2px;}
.wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
.eyebrow{font-family:var(--mono); font-size:11.5px; letter-spacing:0; text-transform:uppercase; color:var(--teal-deep);}
.why, .courses, .case, .about, .panels, .about-location, .gallery, .podcast-showcase, .contact, .auth, .profile, footer{content-visibility:auto; contain-intrinsic-size:1px 720px;}

/* Managed images stay hidden until the API-selected source is fully loaded. */
img[data-media-slot],
.managed-media-background{opacity:0; visibility:hidden;}
img[data-media-slot].is-managed-media-ready,
.managed-media-background.is-managed-media-ready{visibility:visible; animation:managedMediaReveal .24s ease both;}
@keyframes managedMediaReveal{from{opacity:0;}to{opacity:1;}}
@media (prefers-reduced-motion:reduce){
  img[data-media-slot].is-managed-media-ready,
  .managed-media-background.is-managed-media-ready{animation:none; opacity:1;}
}

/* ---------- NAV ---------- */
header{position:sticky; top:0; z-index:50; background:rgba(5,18,49,0.92); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-bottom:1px solid var(--line); transform:translateY(0); transition:transform .28s ease, background .2s ease, box-shadow .2s ease;}
header.nav-hidden{transform:translateY(-100%);}
html.light-mode-pending body header,
body.light-mode header{background:#f8fbff; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:0 8px 28px rgba(24,46,91,0.08);}
nav{display:flex; align-items:center; justify-content:space-between; padding:18px 0;}
.brand{display:flex; align-items:center; gap:14px; text-decoration:none; color:inherit;}
.mark{width:112px; height:44px; display:flex; align-items:center; justify-content:center; transition:transform .25s ease, filter .25s ease; flex-shrink:0; overflow:visible; position:relative;}
.mark img{position:absolute; width:112px; height:auto; max-width:none; object-fit:contain; transform:none; transition:opacity .2s ease;}
.mark .logo-night,.mark .logo-light{width:112px; height:auto; transform:none;}
.mark .logo-light{opacity:0;}
.mark .logo-night{opacity:1;}
html.light-mode-pending .mark,
body.light-mode .mark{width:126px;}
html.light-mode-pending .mark .logo-light,
body.light-mode .mark .logo-light{
  opacity:1;
  width:126px;
  transform:none;
  filter:saturate(1.18) contrast(1.16) drop-shadow(0 0 1px rgba(7,17,29,.82)) drop-shadow(0 5px 8px rgba(7,17,29,.22));
}
html.light-mode-pending .mark .logo-night,
body.light-mode .mark .logo-night{opacity:0;}
.brand:hover .mark{transform:translateY(-2px); filter:brightness(1.06);}
.brand-text{font-family:var(--display); font-weight:600; font-size:15px; letter-spacing:0; text-transform:uppercase;}
.brand-text small{display:block; font-family:var(--mono); font-weight:500; font-size:10px; color:var(--teal-deep); text-transform:none; letter-spacing:0;}

.navlinks{display:flex; gap:36px; font-size:13.5px; font-weight:500; letter-spacing:0;}
.navlinks a{text-decoration:none; opacity:0.78; transition:opacity .2s, color .2s;}
.navlinks a:hover, .navlinks a.active{opacity:1;}
.nav-right{display:flex; align-items:center; gap:16px;}
.mobile-menu-toggle{display:none; width:34px; height:34px; border:1px solid var(--line); background:rgba(139,92,246,0.12); color:var(--ink); border-radius:50%; align-items:center; justify-content:center; cursor:pointer;}
.mobile-menu-toggle span{display:block; width:15px; height:2px; background:currentColor; position:relative; transition:transform .2s ease, background .2s ease;}
.mobile-menu-toggle span::before,.mobile-menu-toggle span::after{content:''; position:absolute; left:0; width:15px; height:2px; background:currentColor; transition:transform .2s ease, top .2s ease;}
.mobile-menu-toggle span::before{top:-5px;}
.mobile-menu-toggle span::after{top:5px;}
header.mobile-menu-open .mobile-menu-toggle span{background:transparent;}
header.mobile-menu-open .mobile-menu-toggle span::before{top:0; transform:rotate(45deg);}
header.mobile-menu-open .mobile-menu-toggle span::after{top:0; transform:rotate(-45deg);}
.mobile-nav-panel{display:none;}
.icon-btn{width:30px; height:30px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:10.5px; font-weight:600; background:rgba(139,92,246,0.12); color:var(--ink); cursor:pointer; transition:transform .2s ease, background .2s ease;}
.icon-btn:hover{transform:translateY(-2px); background:rgba(139,92,246,0.24);}
.btn-login{font-family:var(--body); font-weight:600; font-size:13px; color:var(--ink); text-decoration:none; border-bottom:1.5px solid var(--purple-soft); padding-bottom:2px;}
.profile-nav-avatar{width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--line); background:linear-gradient(135deg, #7C3AED, #123B8F); color:#fff; font-family:var(--display); font-weight:700; text-decoration:none; box-shadow:0 0 18px rgba(139,92,246,0.28); transition:transform .2s ease, box-shadow .2s ease;}
.profile-nav-avatar:hover{transform:translateY(-2px); box-shadow:0 0 26px rgba(167,139,250,0.42);}
.profile-nav-avatar img{width:100%; height:100%; object-fit:cover;}
body.light-mode .icon-btn, body.light-mode .mobile-menu-toggle{background:#EEF3FF; border-color:rgba(91,33,182,0.22);}

/* ---------- CLIENT ERROR PAGE ---------- */
body.error-page{min-height:100vh; display:grid; place-items:center; overflow-x:hidden;}
.error-shell{width:100%; min-height:100vh; display:grid; place-items:center; padding:48px 22px; position:relative; isolation:isolate;}
.error-shell::before,.error-shell::after{content:''; position:fixed; z-index:-1; border-radius:50%; filter:blur(2px); pointer-events:none;}
.error-shell::before{width:min(58vw,720px); aspect-ratio:1; top:-32%; right:-16%; background:radial-gradient(circle,rgba(139,92,246,.28),rgba(139,92,246,0) 68%);}
.error-shell::after{width:min(48vw,580px); aspect-ratio:1; bottom:-35%; left:-12%; background:radial-gradient(circle,rgba(18,59,143,.42),rgba(18,59,143,0) 70%);}
.error-card{width:min(100%,620px); padding:clamp(34px,6vw,64px); text-align:center; border:1px solid var(--line); background:rgba(7,26,68,.78); box-shadow:0 28px 90px rgba(1,8,25,.42); backdrop-filter:blur(16px); position:relative; overflow:hidden;}
.error-card::before{content:''; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,#123B8F,#8B5CF6,#C4B5FD);}
.error-logo{width:180px; height:60px; margin:0 auto 26px; display:grid; place-items:center; position:relative;}
.error-logo img{position:absolute; width:170px; max-height:60px; object-fit:contain;}
.error-logo-light{opacity:0;}
.error-kicker{font-family:var(--mono); color:var(--teal-deep); font-size:11px; letter-spacing:.08em; text-transform:uppercase;}
.error-code{font-family:var(--display); font-size:clamp(72px,18vw,148px); font-weight:800; line-height:.86; color:transparent; -webkit-text-stroke:1px rgba(196,181,253,.7); margin:18px 0 22px; text-shadow:0 0 48px rgba(139,92,246,.22);}
.error-card h1{max-width:none; margin:0 0 14px; font-size:clamp(30px,6vw,48px); color:var(--ink);}
.error-explanation{max-width:500px; margin:0 auto; color:var(--muted); font-size:15px;}
.error-actions{display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:30px;}
.error-actions .btn-teal,.error-actions .btn-clear{min-width:170px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer;}
body.light-mode.error-page .error-card{background:rgba(255,255,255,.82); box-shadow:0 28px 80px rgba(24,46,91,.18);}
body.light-mode .error-logo-night{opacity:0;}
body.light-mode .error-logo-light{opacity:1;}
body.light-mode .error-code{-webkit-text-stroke-color:rgba(91,33,182,.52); text-shadow:0 0 42px rgba(91,33,182,.12);}
@media (max-width:520px){
  .error-shell{padding:24px 14px;}
  .error-card{padding:34px 20px;}
  .error-logo{width:150px; height:48px; margin-bottom:20px;}
  .error-logo img{width:142px; max-height:48px;}
  .error-actions{display:grid;}
  .error-actions .btn-teal,.error-actions .btn-clear{width:100%;}
}
@media (max-width:900px){
  .navlinks{display:none;}
  .mobile-menu-toggle{display:flex;}
  nav{gap:12px;}
  .nav-right{gap:10px;}
  header.mobile-menu-open{box-shadow:0 18px 44px rgba(2,9,28,.28);}
  .mobile-nav-panel{position:absolute; left:16px; right:16px; top:calc(100% + 1px); display:grid; gap:4px; padding:14px; border:1px solid var(--line); background:rgba(5,18,49,.98); transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease; box-shadow:0 24px 60px rgba(2,9,28,.36);}
  body.light-mode .mobile-nav-panel{background:rgba(248,251,255,.98); box-shadow:0 24px 60px rgba(24,46,91,.18);}
  header.mobile-menu-open .mobile-nav-panel{opacity:1; transform:translateY(0); pointer-events:auto;}
  .mobile-nav-panel a{display:flex; align-items:center; min-height:42px; padding:10px 12px; border:1px solid transparent; color:var(--ink); text-decoration:none; font-weight:700; font-size:14px;}
  .mobile-nav-panel a.active{border-color:var(--line); background:rgba(139,92,246,.14); color:var(--teal-deep);}
}
@media (max-width:560px){
  .wrap{padding:0 18px;}
  nav{padding:12px 0;}
  .brand{gap:14px; min-width:0;}
  .brand-text{font-size:13px;}
  .mark{width:96px; height:36px;}
  .mark img,.mark .logo-night,.mark .logo-light{width:96px; height:auto; transform:none;}
  .nav-right{gap:8px;}
  .icon-btn{width:28px; height:28px;}
  .btn-login{font-size:12px;}
  html.light-mode-pending .mark,
  body.light-mode .mark{width:106px;}
  html.light-mode-pending .mark .logo-light,
  body.light-mode .mark .logo-light{width:106px;}
}
@media (max-width:900px){
  header, .course-card{backdrop-filter:none; -webkit-backdrop-filter:none;}
  .course-card:hover, .brand:hover .mark, .icon-btn:hover, .profile-nav-avatar:hover{transform:none;}
}

/* ---------- HERO (home: full-bleed) ---------- */
.hero{position:relative; isolation:isolate;}
.hero img{width:100%; height:86vh; min-height:520px; max-height:760px; object-fit:cover; filter:saturate(0.9) contrast(1.02);}
.hero .scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(0deg, rgba(4,13,34,0.92) 0%, rgba(10,42,99,0.22) 45%, rgba(87,45,176,0.42) 100%);}
.hero-content{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:56px 32px; max-width:1240px; margin:0 auto;}
.hero-eyebrow{display:inline-flex; align-items:center; gap:9px; font-family:var(--mono); font-size:11.5px; letter-spacing:0; text-transform:uppercase; color:#DDD6FE; margin-bottom:18px;}
.hero-eyebrow .blip{width:6px; height:6px; border-radius:50%; background:#A78BFA; animation:blip 1.6s infinite;}
@keyframes blip{ 0%,100%{opacity:1;} 50%{opacity:.3;} }
h1{font-family:var(--display); font-weight:600; letter-spacing:0; color:#fff; font-size:clamp(32px,5.2vw,58px); line-height:1.04; max-width:760px; margin-bottom:22px; text-transform:uppercase;}
.hero-row{display:flex; align-items:flex-start; gap:28px; flex-wrap:wrap;}
.ask-box{position:relative; display:flex; flex-direction:column; background:#061230; border:1px solid rgba(196,181,253,0.5); border-radius:8px; padding:4px; max-width:360px; width:100%; box-shadow:0 12px 40px rgba(4,13,34,0.35); transition:max-width .25s ease, border-radius .25s ease;}
.ask-box:not(.chat-active){padding:5px 9px 5px 5px;}
.ask-box.chat-active{max-width:520px; padding:10px; border-radius:14px;}
.chat-composer{display:flex; align-items:center; gap:8px; width:100%; min-height:38px; padding-left:12px;}
.ask-box:not(.chat-active) .chat-composer{min-height:40px;padding-left:14px;gap:10px;}
.ask-box.chat-active .chat-composer{padding:8px 8px 2px; border-top:1px solid rgba(196,181,253,0.35);}
.ask-box input{min-width:0; border:none; outline:none; flex:1; font-family:var(--body); font-size:13.5px; background:transparent; color:#fff;}
.ask-box.chat-active input{min-height:34px;}
.ask-box input::placeholder{color:rgba(255,255,255,0.65);}
.ask-box button{width:34px; height:34px; border-radius:2px; border:none; background:var(--teal); color:#fff; cursor:pointer; flex-shrink:0; font-size:13px;}
.ask-box [data-chat-send] svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.ask-box [data-chat-send] .chat-send-icon{fill:none;stroke:currentColor;stroke-width:1.8;}
.ask-box [data-chat-send] .chat-launch-icon{display:none;}
.ask-box [data-chat-send] .chat-launch-icon circle{fill:currentColor;stroke:none;}
.ask-box:not(.chat-active) [data-chat-send] .chat-launch-icon{display:block;}
.ask-box:not(.chat-active) [data-chat-send] .chat-send-icon{display:none;}
.chat-modal-close{display:none;}
.chat-history-toolbar{display:flex;justify-content:flex-end;min-height:36px;margin-bottom:8px;padding-right:48px;}
.ask-box .chat-clear-history{display:inline-flex;align-items:center;gap:7px;width:auto;height:34px;padding:0 11px;border:1px solid rgba(115,198,255,.24);border-radius:999px;background:rgba(10,22,45,.72);color:#b9c9dc;font:700 9px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;}
.ask-box .chat-clear-history svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.ask-box .chat-clear-history:hover{transform:translateY(-1px);color:#fff;border-color:rgba(115,198,255,.55);background:rgba(21,151,255,.15);}
.ask-box .chat-clear-history:focus-visible{outline:2px solid #73c6ff;outline-offset:2px;}
.ask-box .chat-clear-history:disabled{cursor:not-allowed;opacity:.45;transform:none;}
.ask-box:not(.chat-active) [data-chat-send]{display:grid;place-items:center;width:36px;height:32px;border:1px solid rgba(115,198,255,.3);border-radius:4px;background:linear-gradient(135deg,#1597ff,#7c3aed);box-shadow:0 6px 18px rgba(21,151,255,.18);font-size:14px;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;}
.ask-box:not(.chat-active) [data-chat-send]:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 8px 22px rgba(21,151,255,.26);}
.chat-launcher-prompts{display:flex;flex-wrap:wrap;gap:7px;padding:3px 10px 6px 14px;}
.chat-launcher-prompts button{width:auto!important;height:27px!important;padding:0 10px;border:1px solid rgba(115,198,255,.2)!important;border-radius:999px!important;background:rgba(21,151,255,.07)!important;color:#b9c9dc!important;font:700 9px/1 var(--mono)!important;letter-spacing:.05em;text-transform:uppercase;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;}
.chat-launcher-prompts button:hover{transform:translateY(-1px);color:#fff!important;border-color:rgba(115,198,255,.55)!important;background:rgba(21,151,255,.15)!important;}
.ask-box.chat-active .chat-launcher-prompts{display:none;}
.ask-box button:disabled{cursor:wait; opacity:.62;}
.chat-panel{display:none; width:100%; padding:2px 0 10px; background:#061230!important;}
.chat-panel.is-open{display:block;}
.chat-log-shell{position:relative;min-height:0;}
.chat-log{display:grid; gap:8px; max-height:260px; overflow:auto; padding-right:4px; overscroll-behavior-y:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y;}
.chat-follow-latest{position:absolute;right:14px;bottom:12px;z-index:4;display:grid!important;place-items:center;width:38px!important;height:38px!important;border:1px solid rgba(115,198,255,.5)!important;border-radius:50%!important;background:rgba(8,24,51,.94)!important;color:#eef7ff!important;font:700 20px/1 var(--body)!important;box-shadow:0 10px 28px rgba(0,0,0,.38),0 0 20px rgba(21,151,255,.16);transition:transform .18s ease,background .18s ease,border-color .18s ease;}
.chat-follow-latest:hover{transform:translateY(2px);border-color:#73c6ff!important;background:#12386b!important;}
.chat-follow-latest[hidden]{display:none!important;}
.chat-stream-anchor-spacer{flex:0 0 0;width:100%;pointer-events:none;}
.chat-message{max-width:92%; padding:10px 12px; border-radius:8px; font-size:13px; line-height:1.45; white-space:pre-line;}
.chat-message.bot{background:#172A68; color:#fff; border:1px solid rgba(196,181,253,0.38);}
.chat-message.user{justify-self:end; background:linear-gradient(135deg, #7C3AED, #A78BFA); color:#fff;}
.chat-actions{display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; padding-top:9px; border-top:1px solid rgba(196,181,253,.28);}
.chat-actions .chat-action{width:auto; height:auto; min-height:32px; padding:8px 11px; border:1px solid rgba(196,181,253,.5); border-radius:7px; background:#6D28D9; color:#fff; font:700 11px/1.2 var(--body);}
.chat-actions .chat-action:hover{background:#7C3AED;}
.chat-actions .chat-action.is-danger{border-color:rgba(248,113,113,.64);background:#991b1b;color:#fff;}
.chat-actions .chat-action.is-danger:hover{background:#b91c1c;border-color:#f87171;}
.chat-course-picker{display:grid; grid-template-columns:1fr;}
.chat-course-picker .chat-action{width:100%; text-align:left; line-height:1.35;}
.chat-course-picker .chat-action:disabled{opacity:.55; cursor:wait;}

.admin{min-height:100vh; padding:150px 0 90px; background:linear-gradient(180deg,#070b12,#03050a);}
.admin-hero{display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:28px;}
.admin-hero h1{font:clamp(52px,8vw,110px)/.88 var(--display); text-transform:uppercase; letter-spacing:-.045em;}
.admin-hero p{max-width:680px; margin-top:16px; color:var(--muted); font-size:17px; line-height:1.6;}
.admin-jump-nav{position:sticky;top:86px;z-index:12;display:flex;gap:6px;overflow-x:auto;margin:0 0 20px;padding:8px;border:1px solid var(--line);background:rgba(3,8,18,.9);backdrop-filter:blur(18px);scrollbar-width:thin;}
.admin-jump-nav a{flex:0 0 auto;padding:10px 13px;border:1px solid transparent;color:var(--muted);font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;transition:.2s;}
.admin-jump-nav a:hover{border-color:var(--line);background:rgba(21,151,255,.12);color:var(--ink);}
.admin-system-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:20px;border:1px solid var(--line);background:var(--line);}
.admin-system-overview article{display:grid;align-content:start;gap:8px;min-height:132px;padding:20px;background:linear-gradient(145deg,rgba(10,32,80,.85),rgba(6,17,38,.92));}
.admin-system-overview span{color:#73c6ff;font:700 10px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.07em;}
.admin-system-overview strong{color:var(--ink);font:28px/1.05 var(--display);overflow-wrap:anywhere;}
.admin-system-overview small{color:var(--muted);font:11px/1.5 var(--body);}
.admin-system-overview[data-state="attention"] .admin-system-state{box-shadow:inset 3px 0 #f59e0b;}
.admin-system-overview[data-state="ok"] .admin-system-state{box-shadow:inset 3px 0 #10b981;}
.admin-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-bottom:20px; background:var(--line); border:1px solid var(--line);}
.admin-stats article{display:grid; gap:9px; padding:24px; background:var(--panel);}
.admin-stats span,.admin-toolbar label > span{font:10.5px/1.2 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--muted);}
.admin-stats strong{font:42px/1 var(--display); color:#C4B5FD;}
.admin-panel{display:grid; gap:18px;margin-top:22px;scroll-margin-top:150px;}
.admin-toolbar{display:grid; grid-template-columns:minmax(220px,1fr) 190px auto; gap:12px; align-items:end;}
.admin-toolbar label{display:grid; gap:7px;}
.admin-toolbar input,.admin-toolbar select{min-height:46px; padding:10px 13px; border:1px solid var(--line); border-radius:8px; background:#0A2050; color:var(--ink); font:14px/1.4 var(--body);}
.admin-enrollment-list{display:grid; gap:10px;}
.admin-enrollment-item{display:grid; grid-template-columns:minmax(170px,.9fr) minmax(190px,1fr) minmax(135px,.65fr) minmax(280px,1.25fr); gap:18px; align-items:center; padding:17px 18px; border:1px solid var(--line); background:rgba(255,255,255,.025);}
.admin-enrollment-item strong,.admin-enrollment-item span{display:block;}
.admin-enrollment-item span{margin-top:4px; color:var(--muted); font-size:12px; line-height:1.45;}
.admin-status{display:inline-flex!important; width:max-content; margin:0!important; padding:5px 8px; border-radius:999px; font:700 10px/1 var(--mono)!important; text-transform:uppercase;}
.admin-status.pending{background:rgba(245,158,11,.15); color:#FCD34D;}
.admin-status.confirmed{background:rgba(16,185,129,.15); color:#6EE7B7;}
.admin-status.completed{background:rgba(139,92,246,.18); color:#C4B5FD;}
.admin-status-control{display:grid;grid-template-columns:1fr 1.35fr auto;gap:8px;align-items:center;}
.admin-status-control textarea{grid-column:1/3;min-height:54px;resize:vertical;}
.admin-status-control select,.admin-status-control textarea{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#0A2050;color:var(--ink);font:12px/1.3 var(--body);}
.admin-status-control .btn-submit{grid-column:3;grid-row:1/3;height:100%;}
.admin-gallery-panel{margin-top:22px;}
.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.admin-section-heading>div{min-width:0;}
.admin-section-heading h2{position:relative;color:var(--ink);font:clamp(34px,5vw,64px)/.95 var(--display);text-transform:uppercase;letter-spacing:-.035em;}
.admin-gallery-upload{display:grid;grid-template-columns:minmax(230px,1.2fr) 1fr 1fr auto;gap:12px;align-items:start;padding:20px;border:1px solid var(--line);background:rgba(255,255,255,.025);}
.admin-gallery-upload label{display:grid;gap:7px;min-width:0;}
.admin-gallery-upload label>span{font:10.5px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
.admin-gallery-upload input{width:100%;min-height:46px;padding:10px 13px;border:1px solid var(--line);background:#0A2050;color:var(--ink);font:14px/1.4 var(--body);}
.admin-gallery-upload input:focus{outline:0;border-color:#1597ff;box-shadow:0 0 0 3px rgba(21,151,255,.16);}
.admin-gallery-upload input[type="file"]{padding:8px;cursor:pointer;}
.admin-gallery-upload input[type="file"]::file-selector-button{min-height:28px;margin-right:10px;padding:6px 10px;border:0;background:#1597ff;color:#02050a;font:700 10px/1 var(--mono);text-transform:uppercase;cursor:pointer;}
.admin-gallery-upload>.btn-submit{min-height:46px;margin-top:20px;}
.admin-gallery-file small{color:var(--muted);font-size:11px;}
.admin-gallery-feedback{min-height:24px;color:#6ee7b7;font-size:13px;}
.admin-gallery-feedback.is-error{color:#fca5a5;}
.admin-gallery-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.admin-gallery-list>.empty-state{grid-column:1/-1;}
.admin-gallery-item{display:grid;grid-template-rows:180px 1fr auto;min-width:0;border:1px solid var(--line);background:rgba(255,255,255,.025);overflow:hidden;}
.admin-gallery-item>img{width:100%;height:100%;object-fit:cover;}
.admin-gallery-item>div{display:grid;align-content:start;gap:5px;padding:15px;}
.admin-gallery-item strong{font-size:14px;line-height:1.35;}
.admin-gallery-item span,.admin-gallery-item small{display:block;color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere;}
.admin-gallery-remove{min-height:42px;border:0;border-top:1px solid rgba(248,113,113,.28);background:rgba(127,29,29,.34);color:#fecaca;font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background .2s,color .2s;}
.admin-gallery-remove:hover{background:#b91c1c;color:#fff;}
.admin-gallery-remove:disabled{opacity:.55;cursor:wait;}
.admin-users-panel{margin-top:22px;}
.admin-users-toolbar{grid-template-columns:minmax(280px,1fr) 190px auto;}
.admin-user-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line);}
.admin-user-stats span{display:grid;gap:7px;padding:15px;background:rgba(5,13,27,.78);color:var(--muted);font:10px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;}
.admin-user-stats strong{color:var(--ink);font:28px/1 var(--display);}
.admin-users-list{display:grid;gap:12px;}
.admin-users-results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.admin-users-results-heading span{color:var(--ink);font:700 11px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em;}
.admin-users-results-heading small{color:var(--muted);font:10px/1.2 var(--mono);}
.admin-user-item{border:1px solid var(--line);background:rgba(255,255,255,.025);}
.admin-user-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border-bottom:1px solid var(--line);}
.admin-user-item-head strong{display:block;font:22px/1.1 var(--display);overflow-wrap:anywhere;}
.admin-user-item-head span{display:block;margin-top:6px;color:var(--muted);font:10px/1.4 var(--mono);}
.admin-user-badges{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;}
.admin-user-badge{display:inline-flex!important;width:max-content;margin:0!important;padding:6px 8px;border:1px solid var(--line);background:rgba(21,151,255,.1);color:#73c6ff!important;font:700 9px/1 var(--mono)!important;text-transform:uppercase;letter-spacing:.06em;}
.admin-user-badge.is-admin{background:rgba(139,92,246,.18);color:#c4b5fd!important;}
.admin-user-badge.is-warning{background:rgba(245,158,11,.12);color:#fcd34d!important;}
.admin-user-badge.is-danger{background:rgba(185,28,28,.2);color:#fecaca!important;}
.admin-user-form{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(260px,1.25fr);gap:14px;padding:18px;}
.admin-user-field{display:grid;gap:7px;min-width:0;}
.admin-user-field>span{color:var(--muted);font:10px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em;}
.admin-user-field input,.admin-user-field select{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);background:#0a2050;color:var(--ink);font:13px/1.4 var(--body);}
.admin-user-field input:focus{outline:0;border-color:#1597ff;box-shadow:0 0 0 3px rgba(21,151,255,.16);}
.admin-user-options{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;padding-top:2px;}
.admin-user-option{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 11px;border:1px solid var(--line);color:var(--ink);font-size:12px;cursor:pointer;}
.admin-user-option input{width:16px;height:16px;accent-color:#1597ff;}
.admin-user-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:4px;}
.admin-user-actions button{min-height:40px;padding:10px 14px;border:1px solid var(--line);background:#0a2050;color:#fff;font:700 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;}
.admin-user-actions button:hover{border-color:#1597ff;background:#1597ff;color:#02050a;}
.admin-user-actions .admin-user-delete{border-color:rgba(248,113,113,.34);background:rgba(127,29,29,.28);color:#fecaca;}
.admin-user-actions .admin-user-delete:hover{background:#b91c1c;color:#fff;}
.admin-user-actions button:disabled{opacity:.42;cursor:not-allowed;pointer-events:none;}
.admin-user-archived-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;}
.admin-user-archived-actions p{max-width:680px;color:var(--muted);font-size:13px;line-height:1.55;}
.admin-course-list{display:grid;gap:12px;}
.admin-course-item{border:1px solid var(--line);background:rgba(255,255,255,.025);}
.admin-course-item>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:16px 18px;cursor:pointer;list-style:none;}
.admin-course-item>summary::-webkit-details-marker{display:none;}
.admin-course-item>summary::before{content:'+';width:24px;color:#73c6ff;font:24px/1 var(--mono);}
.admin-course-item[open]>summary::before{content:'−';}
.admin-course-item>summary strong{margin-right:auto;font:22px/1.1 var(--display);}
.admin-course-item>summary span{color:var(--muted);font:10px/1.3 var(--mono);text-transform:uppercase;}
.admin-course-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;border-top:1px solid var(--line);}
.admin-form-field{display:grid;align-content:start;gap:7px;min-width:0;}
.admin-form-field>span{color:var(--muted);font:10px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.05em;}
.admin-form-field input,.admin-form-field select,.admin-form-field textarea,.admin-group-row input,.admin-group-row select,.admin-contact-controls input,.admin-contact-controls select{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);background:#0a2050;color:var(--ink);font:13px/1.4 var(--body);}
.admin-form-field textarea{min-height:90px;resize:vertical;}
.admin-course-form .admin-form-field.is-wide{grid-column:1/-1;}
.admin-inline-check{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:12px;}
.admin-inline-check input{width:16px;height:16px;accent-color:#1597ff;}
.admin-course-published{grid-column:1/3;min-height:44px;padding:0 12px;border:1px solid var(--line);}
.admin-course-form>.btn-submit{min-height:44px;}
.admin-course-groups{display:grid;gap:12px;padding:18px;border-top:1px solid var(--line);}
.admin-course-groups-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.admin-course-groups-heading strong{font:18px/1.1 var(--display);text-transform:uppercase;}
.admin-group-list{display:grid;gap:8px;}
.admin-group-row{display:grid;grid-template-columns:1fr 110px 88px 98px auto minmax(120px,.7fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);background:rgba(4,13,34,.45);}
.admin-group-row small{color:var(--muted);font:10px/1.35 var(--mono);}
.admin-contacts-toolbar{grid-template-columns:190px auto;justify-content:start;}
.admin-contact-list{display:grid;gap:10px;}
.admin-contact-item{display:grid;gap:12px;padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.025);}
.admin-contact-item.is-new{box-shadow:inset 3px 0 #1597ff;}
.admin-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.admin-contact-head strong{display:block;font:21px/1.1 var(--display);}
.admin-contact-head span{display:block;margin-top:5px;color:var(--muted);font:10px/1.4 var(--mono);overflow-wrap:anywhere;}
.admin-contact-topic{color:#73c6ff;font-size:13px;}
.admin-contact-item>p{max-width:900px;color:var(--ink);font-size:14px;line-height:1.65;white-space:pre-wrap;}
.admin-contact-controls{display:grid;grid-template-columns:170px minmax(220px,1fr) auto auto;gap:8px;align-items:center;}
.admin-contact-controls .btn-clear{display:grid;place-items:center;min-height:44px;}
.admin-audit-list{display:grid;border:1px solid var(--line);}
.admin-audit-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.6fr) minmax(220px,1fr);gap:16px;padding:14px 16px;background:rgba(255,255,255,.02);}
.admin-audit-row+article{border-top:1px solid var(--line);}
.admin-audit-row strong{color:#73c6ff;font:10px/1.4 var(--mono);text-transform:uppercase;overflow-wrap:anywhere;}
.admin-audit-row span{font-size:13px;line-height:1.45;}
.admin-audit-row small{color:var(--muted);font:10px/1.45 var(--mono);overflow-wrap:anywhere;}
.admin-content-anchor{scroll-margin-top:150px;}
.admin-confirm-dialog{width:min(520px,calc(100vw - 32px));padding:0;border:1px solid rgba(115,198,255,.42);background:#07152f;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.7);}
.admin-confirm-dialog::backdrop{background:rgba(0,4,12,.78);backdrop-filter:blur(8px);}
.admin-confirm-dialog form{display:grid;gap:15px;padding:24px;}
.admin-confirm-dialog strong{font:28px/1 var(--display);text-transform:uppercase;}
.admin-confirm-dialog p{color:#aab8c5;font-size:13px;line-height:1.55;}
.admin-confirm-dialog input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #28518d;background:#0a2050;color:#fff;}
.admin-confirm-dialog form>div{display:flex;justify-content:flex-end;gap:8px;}
.admin-media-panel{margin-top:22px;}
.admin-media-intro{max-width:780px;color:var(--muted);font-size:14px;line-height:1.65;}
.admin-media-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.admin-media-list>.empty-state{grid-column:1/-1;}
.admin-media-item{display:grid;grid-template-rows:190px auto 1fr auto;min-width:0;border:1px solid var(--line);background:rgba(255,255,255,.025);overflow:hidden;}
.admin-media-preview{position:relative;overflow:hidden;background:#080d15;}
.admin-media-preview img{width:100%;height:100%;object-fit:cover;}
.admin-media-badge{position:absolute;top:10px;right:10px;padding:6px 8px;background:rgba(2,5,10,.82);border:1px solid rgba(255,255,255,.16);color:#fff;font:700 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;}
.admin-media-item-header{display:grid;gap:4px;padding:15px 15px 8px;}
.admin-media-item-header strong{font-size:14px;line-height:1.35;}
.admin-media-item-header span{color:var(--muted);font:10px/1.4 var(--mono);overflow-wrap:anywhere;}
.admin-media-file{display:grid;align-content:end;gap:7px;padding:8px 15px 15px;}
.admin-media-file input{width:100%;min-width:0;padding:8px;border:1px solid var(--line);background:#0a2050;color:var(--ink);font-size:11px;}
.admin-media-file input::file-selector-button{margin-right:8px;padding:7px 9px;border:0;background:#1597ff;color:#02050a;font:700 9px/1 var(--mono);text-transform:uppercase;cursor:pointer;}
.admin-media-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
.admin-media-actions button{min-height:42px;border:0;background:#0a2050;color:#fff;font:700 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;}
.admin-media-actions button+button{border-left:1px solid var(--line);}
.admin-media-actions button:hover{background:#1597ff;color:#02050a;}
.admin-media-actions .admin-media-reset{background:rgba(127,29,29,.28);color:#fecaca;}
.admin-media-actions .admin-media-reset:hover{background:#b91c1c;color:#fff;}
.admin-media-actions button:disabled{opacity:.42;cursor:not-allowed;}
body.light-mode .admin{background:#edf2f5;}
body.light-mode .admin-jump-nav{background:rgba(245,249,252,.92);}
body.light-mode .admin-system-overview article{background:#fff;}
body.light-mode .admin-toolbar input,body.light-mode .admin-toolbar select,body.light-mode .admin-status-control select,body.light-mode .admin-status-control textarea{background:#F7FAFF;}
body.light-mode .admin-gallery-upload,body.light-mode .admin-gallery-item,body.light-mode .admin-media-item,body.light-mode .admin-user-item,body.light-mode .admin-course-item,body.light-mode .admin-contact-item{background:#fff;}
body.light-mode .admin-gallery-upload input,body.light-mode .admin-media-file input,body.light-mode .admin-user-field input,body.light-mode .admin-user-field select,body.light-mode .admin-form-field input,body.light-mode .admin-form-field select,body.light-mode .admin-form-field textarea,body.light-mode .admin-group-row input,body.light-mode .admin-group-row select,body.light-mode .admin-contact-controls input,body.light-mode .admin-contact-controls select{background:#f7faff;}
body.light-mode .admin-group-row,body.light-mode .admin-audit-row{background:#f8fbfd;}
body.light-mode .admin-confirm-dialog{background:#fff;color:#07111d;}
body.light-mode .admin-confirm-dialog input{background:#f7faff;color:#07111d;}
body.light-mode .admin-user-stats span{background:#fff;}
body.light-mode .admin-media-actions button{background:#eaf1f7;color:#07111d;}
body.light-mode .admin-media-actions button:hover{background:#1597ff;color:#02050a;}
body.light-mode .admin-media-actions .admin-media-reset{background:#fee2e2;color:#991b1b;}
body.light-mode .admin-media-actions .admin-media-reset:hover{background:#b91c1c;color:#fff;}
@media(max-width:1150px){.admin-system-overview{grid-template-columns:repeat(2,minmax(0,1fr));}.admin-enrollment-item{grid-template-columns:1fr 1fr}.admin-status-control{grid-column:1/-1}.admin-group-row{grid-template-columns:1fr 110px 88px 98px}.admin-group-row .admin-inline-check,.admin-group-row small,.admin-group-row .btn-submit{grid-column:auto;}.admin-contact-controls{grid-template-columns:150px 1fr auto}.admin-contact-controls .btn-submit{grid-column:3}.admin-audit-row{grid-template-columns:160px 1fr}.admin-audit-row small{grid-column:2}}
@media(max-width:1050px){.admin-gallery-upload{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-gallery-file,.admin-gallery-upload .btn-submit{grid-column:1/-1}.admin-gallery-upload>.btn-submit{margin-top:0}.admin-gallery-list,.admin-media-list{grid-template-columns:repeat(2,minmax(0,1fr));}.admin-user-stats{grid-template-columns:repeat(3,minmax(0,1fr));}.admin-course-form{grid-template-columns:repeat(2,minmax(0,1fr));}.admin-course-published{grid-column:auto}}
@media(max-width:800px){.admin{padding-top:120px}.admin-jump-nav{top:76px}.admin-hero,.admin-section-heading{align-items:start; flex-direction:column}.admin-stats,.admin-system-overview{grid-template-columns:1fr 1fr}.admin-toolbar,.admin-gallery-upload,.admin-user-form,.admin-course-form{grid-template-columns:1fr}.admin-enrollment-item{grid-template-columns:1fr}.admin-gallery-list,.admin-media-list{grid-template-columns:1fr}.admin-status-control{grid-template-columns:1fr}.admin-status-control textarea,.admin-status-control .btn-submit{grid-column:auto;grid-row:auto}.admin-user-item-head,.admin-user-archived-actions,.admin-contact-head{align-items:flex-start;flex-direction:column}.admin-user-badges{justify-content:flex-start}.admin-user-options,.admin-user-actions{grid-column:auto}.admin-user-actions{justify-content:stretch}.admin-user-actions button{flex:1 1 140px}.admin-enrollment-item .btn-submit,.admin-gallery-upload .btn-submit,.admin-users-toolbar .btn-submit{width:100%}.admin-group-row,.admin-contact-controls,.admin-audit-row{grid-template-columns:1fr}.admin-contact-controls .btn-submit,.admin-audit-row small{grid-column:auto}.admin-course-item>summary{align-items:flex-start;flex-wrap:wrap}.admin-course-item>summary span{width:100%;padding-left:42px}}
@media(max-width:520px){.admin-user-stats{grid-template-columns:1fr 1fr}.admin-user-stats strong{font-size:23px}.admin-user-option{width:100%}}
body.light-mode .chat-actions{border-color:rgba(91,33,182,.18);}
body.light-mode .chat-actions .chat-action{background:#6D28D9; color:#fff;}
body.light-mode .chat-actions .chat-action.is-danger{border-color:#dc2626;background:#991b1b;color:#fff;}
body.light-mode .chat-actions .chat-action.is-danger:hover{background:#b91c1c;color:#fff;}
.chat-message.is-thinking{display:inline-flex; align-items:center; gap:5px; width:max-content; min-width:52px; min-height:38px;}
.thinking-dot{width:7px; height:7px; border-radius:50%; background:#C4B5FD; animation:chat-dot-bounce .9s ease-in-out infinite;}
.thinking-dot:nth-child(2){animation-delay:.14s;}
.thinking-dot:nth-child(3){animation-delay:.28s;}
@keyframes chat-dot-bounce{0%,60%,100%{transform:translateY(0); opacity:.48;} 30%{transform:translateY(-5px); opacity:1;}}
.chat-chips{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
.chat-chips button{width:auto; height:auto; min-height:28px; padding:7px 9px; border:1px solid rgba(196,181,253,0.42); background:#0D2A63; color:#fff; font-family:var(--body); font-size:11.5px; font-weight:700;}
body.light-mode .chat-panel{background:#FFFFFF; border-color:rgba(91,33,182,0.28); box-shadow:0 18px 44px rgba(24,46,91,0.22);}
body.light-mode .ask-box{background:#fff;}
body.light-mode .ask-box input{color:var(--ink);}
body.light-mode .ask-box input::placeholder{color:var(--muted);}
body.light-mode .chat-launcher-prompts button{color:#40536e!important;border-color:rgba(21,93,166,.2)!important;background:rgba(21,93,166,.06)!important;}
body.light-mode .ask-box.chat-active .chat-composer{border-color:rgba(91,33,182,.2);}
body.light-mode .chat-message.bot{background:#EEF3FF; color:var(--ink); border-color:rgba(91,33,182,0.14);}
body.light-mode .chat-chips button{background:#EEF3FF; color:var(--ink); border-color:rgba(91,33,182,0.16);}
@media (max-width:520px){
  .ask-box.chat-active{max-width:100%;}
  .chat-log{max-height:48vh;}
}
.chat-modal-backdrop{
  position:fixed!important; inset:0; z-index:300!important; visibility:hidden; opacity:0;
  background:
    radial-gradient(circle at 50% 46%,rgba(21,151,255,.16),transparent 34%),
    rgba(2,5,12,.78);
  backdrop-filter:blur(18px) saturate(.72); -webkit-backdrop-filter:blur(18px) saturate(.72);
  transition:opacity .42s ease,visibility .42s ease;
}
body.chat-modal-open .chat-modal-backdrop{visibility:visible;opacity:1;}
body.chat-modal-open.chat-modal-closing .chat-modal-backdrop{opacity:0;transition-duration:.24s;}
.chat-modal-placeholder{flex:0 1 auto;max-width:100%;visibility:hidden;pointer-events:none;}
body.chat-modal-open .ask-box.chat-active{
  position:fixed!important;
  left:var(--chat-viewport-center-x,50vw)!important;right:auto!important;
  top:var(--chat-viewport-center-y,50dvh)!important;bottom:auto!important;
  --chat-rail:0px;
  z-index:301!important;width:min(920px,calc(var(--chat-viewport-width,100vw) - 64px));max-width:920px;
  height:min(680px,calc(var(--chat-viewport-height,100dvh) - 56px));max-height:calc(var(--chat-viewport-height,100dvh) - 56px);
  margin:0; padding:0; border-radius:24px; overflow:hidden; isolation:isolate;
  border:1px solid rgba(115,198,255,.32);
  background:#050811;
  transform:translate(-50%,-50%);
  box-shadow:0 40px 140px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.035) inset;
  transition:none; will-change:transform,opacity;
}
body.chat-modal-open .ask-box.chat-active::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:
    linear-gradient(rgba(115,198,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(115,198,255,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg,transparent 24%,#000 58%,transparent 100%);
}
body.chat-modal-open .ask-box.chat-active::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;width:460px;height:460px;
  right:-180px;top:-250px;border-radius:50%;filter:blur(2px);
  background:radial-gradient(circle,rgba(124,58,237,.22),transparent 68%);
}
body.chat-modal-open .chat-modal-close{
  position:absolute;top:14px;right:14px;z-index:8;display:grid;place-items:center;width:42px;height:42px;padding:0;
  border:1px solid rgba(115,198,255,.3);border-radius:50%;background:rgba(6,16,34,.9);color:#dcecff;
  box-shadow:0 10px 28px rgba(0,0,0,.26);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
body.chat-modal-open .chat-modal-close svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
body.chat-modal-open .chat-modal-close:hover{transform:scale(1.05);border-color:#73c6ff;background:#0d2a50;color:#fff;}
body.chat-modal-open .chat-modal-close:focus-visible{outline:2px solid #73c6ff;outline-offset:3px;}
body.chat-modal-open .chat-panel.is-open{
  display:flex;flex:1;min-height:0;width:100%;padding:0;background:transparent!important;
  flex-direction:column;box-shadow:none;border:0;
}
.chat-deck-header{
  display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px;
  padding:0 28px;border-bottom:1px solid rgba(115,198,255,.16);background:rgba(4,8,18,.72);
}
.chat-deck-identity{display:flex;align-items:center;gap:14px;min-width:0;}
.chat-deck-identity>span:last-child{display:grid;gap:3px;}
.chat-deck-identity small,.chat-context-index{
  color:#73c6ff;font:700 9px/1.2 var(--mono);letter-spacing:.18em;text-transform:uppercase;
}
.chat-deck-identity strong{color:#f7f9ff;font:600 18px/1.1 var(--display);letter-spacing:.02em;text-transform:uppercase;}
.chat-deck-orb{
  position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(115,198,255,.42);
  border-radius:50%;background:radial-gradient(circle,rgba(21,151,255,.22),rgba(21,151,255,.03) 58%,transparent 60%);
  box-shadow:0 0 28px rgba(21,151,255,.16);
}
.chat-deck-orb::before,.chat-deck-orb::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(167,139,250,.28);}
.chat-deck-orb::before{inset:6px;border-left-color:#73c6ff;animation:chat-orbit 5s linear infinite;}
.chat-deck-orb::after{inset:12px;border-right-color:#a78bfa;animation:chat-orbit 3.2s linear infinite reverse;}
.chat-deck-orb i{width:5px;height:5px;border-radius:50%;background:#73c6ff;box-shadow:0 0 14px #1597ff;}
@keyframes chat-orbit{to{transform:rotate(360deg);}}
.chat-deck-status{
  display:inline-flex;align-items:center;gap:8px;color:#aeb9c9;font:700 10px/1 var(--mono);
  letter-spacing:.12em;text-transform:uppercase;
}
.chat-deck-status i{width:7px;height:7px;border-radius:50%;background:#45e6a2;box-shadow:0 0 12px rgba(69,230,162,.85);}
.chat-workspace{display:grid;grid-template-columns:minmax(0,1fr);flex:1;min-height:0;}
.chat-context{
  position:relative;display:flex;min-height:0;flex-direction:column;padding:34px 30px 28px;
  border-right:1px solid rgba(115,198,255,.14);overflow:hidden;
  background:
    linear-gradient(160deg,rgba(21,151,255,.12),transparent 44%),
    linear-gradient(180deg,rgba(15,28,57,.7),rgba(7,12,25,.82));
}
.chat-context::after{
  content:"AI";position:absolute;right:-13px;bottom:-36px;color:transparent;
  -webkit-text-stroke:1px rgba(115,198,255,.09);font:700 160px/.8 var(--display);letter-spacing:-.08em;
}
.chat-context h2{
  position:relative;z-index:1;margin:28px 0 18px;color:#fff;font:600 clamp(30px,3vw,42px)/.92 var(--display);
  letter-spacing:-.035em;text-transform:uppercase;
}
.chat-context .motion-copy{opacity:1!important;transform:none!important;}
.chat-context p{position:relative;z-index:1;margin:0;color:#9eabbc;font-size:13px;line-height:1.65;}
.chat-context-signals{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:28px;}
.chat-context-signals span{display:grid;gap:6px;color:#8290a4;font:700 9px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;}
.chat-context-signals b{color:#fff;font:600 22px/1 var(--display);letter-spacing:-.02em;}
.chat-conversation{display:flex;min-width:0;min-height:0;flex-direction:column;padding:26px 28px 14px;}
body.chat-modal-open .chat-log-shell{display:flex;flex:1;min-height:0;}
body.chat-modal-open .chat-log{
  display:flex;flex:1;width:100%;min-height:0;max-height:none;flex-direction:column;gap:12px;padding:4px 10px 18px 0;
  scrollbar-color:rgba(115,198,255,.34) transparent;scrollbar-width:thin;
}
body.chat-modal-open .chat-message{
  max-width:min(78%,620px);padding:13px 16px;border-radius:4px 16px 16px 16px;
  font-size:14px;line-height:1.58;box-shadow:0 12px 34px rgba(0,0,0,.16);
}
body.chat-modal-open .chat-message.bot{background:rgba(15,30,61,.86);color:#eef4ff;border:1px solid rgba(115,198,255,.18);}
body.chat-modal-open .chat-message.user{border-radius:16px 4px 16px 16px;background:linear-gradient(135deg,#1b77df,#7c3aed);}
body.chat-modal-open .chat-chips{flex-wrap:wrap;gap:8px;margin:0;padding:12px 0 0;border-top:1px solid rgba(115,198,255,.12);}
body.chat-modal-open .chat-chips button{
  position:relative;width:auto;height:auto;min-height:34px;padding:8px 12px;border-radius:999px;
  border:1px solid rgba(115,198,255,.22);background:rgba(10,22,45,.72);color:#cbd8e9;
  font:700 10px/1.15 var(--mono);letter-spacing:.04em;text-transform:uppercase;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
body.chat-modal-open .chat-chips button:hover{transform:translateY(-2px);border-color:#73c6ff;background:rgba(21,151,255,.15);color:#fff;}
body.chat-modal-open .ask-box.chat-active .chat-composer{
  position:relative;z-index:1;min-height:64px;margin:0 28px 24px calc(var(--chat-rail) + 28px);
  width:auto!important;
  padding:8px 9px 8px 19px;border:1px solid rgba(115,198,255,.24);border-radius:14px;
  background:rgba(9,18,37,.92);box-shadow:0 16px 44px rgba(0,0,0,.2),0 0 0 1px rgba(255,255,255,.02) inset;
}
body.chat-modal-open .ask-box.chat-active input{min-height:42px;color:#f6f9ff;font-size:14.5px;}
body.chat-modal-open .ask-box.chat-active input::placeholder{color:#7f8da1;}
body.chat-modal-open .ask-box.chat-active [data-chat-send]{
  display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(151,203,255,.28);border-radius:50%;background:linear-gradient(145deg,#168de8,#7146e8);color:#fff;
  box-shadow:0 8px 24px rgba(21,151,255,.22),0 0 0 1px rgba(255,255,255,.08) inset;line-height:0;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}
body.chat-modal-open .ask-box.chat-active [data-chat-send] .chat-send-icon{width:19px;height:19px;transform:none;}
body.chat-modal-open .ask-box.chat-active [data-chat-send]:hover{transform:translateY(-1px) scale(1.03);filter:brightness(1.1);box-shadow:0 10px 28px rgba(21,151,255,.3),0 0 0 1px rgba(255,255,255,.12) inset;}
body.chat-modal-open:not(.chat-modal-closing) .chat-conversation,
body.chat-modal-open:not(.chat-modal-closing) .ask-box.chat-active .chat-composer{animation:chat-deck-reveal .52s .18s both;}
@keyframes chat-deck-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
body.chat-modal-closing .chat-panel,
body.chat-modal-closing .ask-box.chat-active .chat-composer{
  pointer-events:none;
}
body.light-mode.chat-modal-open .ask-box.chat-active{
  border-color:rgba(21,93,166,.24);background:#f3f6fb;
  box-shadow:0 40px 140px rgba(15,29,55,.34),0 0 0 1px rgba(255,255,255,.8) inset;
}
body.light-mode.chat-modal-open .ask-box.chat-active::before{opacity:.46;}
body.light-mode.chat-modal-open .chat-modal-close{border-color:rgba(21,93,166,.25);background:rgba(255,255,255,.92);color:#164f87;box-shadow:0 10px 26px rgba(22,49,88,.13);}
body.light-mode.chat-modal-open .chat-clear-history{background:#fff;color:#34445a;border-color:rgba(21,93,166,.17);}
body.light-mode.chat-modal-open .chat-clear-history:hover{background:#eaf4ff;color:#07111d;border-color:#1597ff;}
body.light-mode.chat-modal-open .chat-deck-header{background:rgba(248,250,254,.88);border-color:rgba(21,93,166,.13);}
body.light-mode.chat-modal-open .chat-deck-identity strong{color:#07111d;}
body.light-mode.chat-modal-open .chat-deck-status{color:#526176;}
body.light-mode.chat-modal-open .chat-context{
  border-color:rgba(21,93,166,.13);
  background:linear-gradient(155deg,#0b2850,#08152d 64%,#130d32);
}
body.light-mode.chat-modal-open .chat-panel{background:transparent!important;box-shadow:none;}
body.light-mode.chat-modal-open .chat-message.bot{background:#fff;color:#142033;border-color:rgba(21,93,166,.14);box-shadow:0 12px 34px rgba(22,49,88,.08);}
body.light-mode .chat-follow-latest{border-color:rgba(21,93,166,.32)!important;background:rgba(255,255,255,.96)!important;color:#0d559a!important;box-shadow:0 10px 28px rgba(22,49,88,.18);}
body.light-mode .chat-follow-latest:hover{border-color:#1597ff!important;background:#eaf4ff!important;}
body.light-mode.chat-modal-open .chat-chips{border-color:rgba(21,93,166,.12);}
body.light-mode.chat-modal-open .chat-chips button{background:#fff;color:#34445a;border-color:rgba(21,93,166,.17);}
body.light-mode.chat-modal-open .chat-chips button:hover{background:#eaf4ff;color:#07111d;border-color:#1597ff;}
body.light-mode.chat-modal-open .ask-box.chat-active .chat-composer{background:#fff;border-color:rgba(21,93,166,.2);box-shadow:0 16px 44px rgba(22,49,88,.09);}
body.light-mode.chat-modal-open .ask-box.chat-active input{color:#07111d;}
body.light-mode.chat-modal-open .ask-box.chat-active input::placeholder{color:#738095;}
@media (max-width:760px),(hover:none) and (pointer:coarse){
  body.chat-modal-open .ask-box.chat-active{
    --chat-rail:0px;width:calc(var(--chat-viewport-width,100vw) - 16px);
    height:calc(var(--chat-viewport-height,100dvh) - 16px);max-height:calc(var(--chat-viewport-height,100dvh) - 16px);
    border-radius:20px;
  }
  .chat-deck-header{min-height:68px;padding:0 16px;}
  .chat-deck-orb{width:36px;height:36px;}
  .chat-deck-identity{gap:10px;}.chat-deck-identity strong{font-size:16px;}.chat-deck-identity small{font-size:8px;}
  .chat-deck-status{font-size:0;gap:0;}.chat-deck-status i{width:8px;height:8px;}
  .chat-workspace{grid-template-columns:minmax(0,1fr);}.chat-context{display:none;}
  .chat-conversation{padding:16px 14px 8px;}
  .chat-history-toolbar{min-height:34px;margin-bottom:6px;padding-right:44px;}
  .ask-box .chat-clear-history{height:32px;padding:0 10px;}
  body.chat-modal-open .chat-log{padding:2px 4px 12px 0;gap:10px;}
  body.chat-modal-open .chat-message{max-width:90%;padding:11px 13px;font-size:13.5px;}
  body.chat-modal-open .chat-chips{flex-wrap:nowrap;overflow-x:auto;padding-top:10px;padding-bottom:3px;scrollbar-width:none;}
  body.chat-modal-open .chat-chips::-webkit-scrollbar{display:none;}
  body.chat-modal-open .chat-chips button{flex:0 0 auto;}
  body.chat-modal-open:not(.chat-modal-closing) .ask-box.chat-active .chat-composer{animation:none;opacity:1;transform:none;}
  body.chat-modal-open .ask-box.chat-active .chat-composer{margin:0 14px max(14px,env(safe-area-inset-bottom));padding-left:14px;min-height:58px;border-radius:13px;}
  body.chat-modal-open .ask-box.chat-active input{min-height:38px;font-size:16px;}
  body.chat-modal-open .ask-box.chat-active [data-chat-send]{width:42px;height:42px;}
  body.chat-modal-open .chat-modal-close{top:max(10px,env(safe-area-inset-top));right:10px;width:40px;height:40px;background:rgba(6,16,34,.96);}
  body.light-mode.chat-modal-open .chat-modal-close{background:rgba(255,255,255,.96);}
}
.link-arrow{display:inline-flex; align-items:center; gap:8px; font-family:var(--body); font-weight:600; font-size:14px; color:#fff; text-decoration:none; border-bottom:1.5px solid rgba(255,255,255,0.5); padding-bottom:3px;}
.link-arrow:hover{border-color:#fff;}
.link-arrow.dark{color:var(--ink); border-color:rgba(196,181,253,0.48);}
.link-arrow.dark:hover{border-color:var(--ink);}
.btn-outline-light{font-family:var(--body); font-weight:600; font-size:13.5px; color:#fff; border:1.5px solid rgba(255,255,255,0.7); padding:12px 22px; border-radius:2px; text-decoration:none;}
.btn-outline-light:hover{background:rgba(255,255,255,0.12);}

/* ---------- PAGE BANNER (subpages: shorter photo banner + title) ---------- */
.page-banner{position:relative;}
.page-banner img{width:100%; height:42vh; min-height:260px; max-height:420px; object-fit:cover; filter:saturate(0.9) contrast(1.02);}
.page-banner .scrim{position:absolute; inset:0; background:linear-gradient(0deg, rgba(3,10,28,0.96) 0%, rgba(8,27,67,0.5) 58%, rgba(50,27,112,0.58) 100%);}
.page-banner-content{position:absolute; left:0; right:0; bottom:0; padding:40px 32px; max-width:1240px; margin:0 auto;}
.page-banner h1{font-size:clamp(28px,4vw,44px); margin-bottom:8px;}
.page-banner p{color:rgba(255,255,255,0.92); font-size:14.5px; max-width:520px; text-shadow:0 1px 14px rgba(0,0,0,.72);}
.page-banner .eyebrow{color:#DDD6FE;}

/* ---------- WHY ---------- */
.why{padding:56px 0; border-bottom:1px solid var(--line);}
.why-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end;}
@media (max-width:800px){ .why-grid{grid-template-columns:1fr; gap:16px;} }
.why-h{font-family:var(--display); font-weight:600; font-size:clamp(22px,2.6vw,28px); text-transform:uppercase; margin-top:12px; line-height:1.25;}
.why-lede{font-size:15px; color:var(--muted);}

/* ---------- CASE STUDY ---------- */
.case{padding:80px 0; border-top:1px solid var(--line);}
.case-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:0; border:1px solid var(--line);}
@media (max-width:800px){ .case-grid{grid-template-columns:1fr;} }
.case-img{height:100%; min-height:320px; overflow:hidden;}
.case-img img{width:100%; height:100%; object-fit:cover;}
.case-text{padding:44px 40px; display:flex; flex-direction:column; justify-content:center;}
.case-text .eyebrow{margin-bottom:14px;}
.case-text h3{font-family:var(--display); font-weight:600; font-size:22px; text-transform:none; line-height:1.3; margin-bottom:16px;}
.case-meta{display:flex; gap:34px; margin-top:22px; flex-wrap:wrap;}
.case-meta div span{display:block;}
.case-meta .k{font-family:var(--mono); font-size:10.5px; color:var(--muted); text-transform:uppercase; letter-spacing:0; margin-bottom:4px;}
.case-meta .v{font-family:var(--body); font-size:13.5px; font-weight:600;}

/* ---------- TAB FILTER BAR ---------- */
.tabbar{border-bottom:1px solid var(--line);}
.tabbar .wrap{display:flex; gap:0; overflow-x:auto; scrollbar-width:none;}
.tabbar .wrap::-webkit-scrollbar{display:none;}
.tab{font-family:var(--display); font-weight:650; font-size:13.5px; letter-spacing:0; text-transform:uppercase; padding:18px 22px; white-space:nowrap; border:0; border-bottom:2.5px solid transparent; background:transparent; opacity:.84; cursor:pointer; text-decoration:none; color:var(--muted);}
.tab:hover{opacity:1; color:var(--ink); background:rgba(139,92,246,.08);}
.tab.active{opacity:1; border-color:var(--purple-soft); color:#FFFFFF; background:linear-gradient(180deg,rgba(139,92,246,.16),rgba(139,92,246,.05));}
body.light-mode .tab.active{color:var(--teal-deep);}

/* ---------- COURSES (photographic cards) ---------- */
.courses{padding:64px 0 80px;}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:34px; flex-wrap:wrap;}
.section-head h2{font-family:var(--display); font-weight:600; font-size:clamp(24px,3vw,32px); text-transform:uppercase; letter-spacing:0;}
.section-head p{color:var(--muted); font-size:14.5px; max-width:420px;}

.course-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; background:transparent; border:none; box-shadow:none;}
.course-grid-balanced{display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch;}
.course-grid.course-grid-balanced{gap:16px;}
.course-grid-balanced .course-card{flex:0 0 calc((100% - 32px) / 3);}
@media (max-width:900px){ .course-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:900px){
  .course-grid-balanced{display:grid; grid-template-columns:repeat(2,1fr);}
  .course-grid-balanced .course-card{flex:auto;}
}
@media (max-width:620px){ .course-grid{grid-template-columns:1fr;} }
.course-card{background:linear-gradient(180deg, rgba(17,48,112,0.88), rgba(7,26,68,0.94)); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(196,181,253,0.24); padding:0; display:flex; flex-direction:column; box-shadow:0 14px 34px rgba(2,9,28,0.28); transition:transform .22s ease, box-shadow .22s ease, opacity .2s ease, border-color .22s ease;}
body.light-mode .course-card{background:rgba(255,255,255,0.72); border-color:rgba(91,33,182,0.18); box-shadow:0 16px 34px rgba(24,46,91,0.12);}
.course-card:hover{transform:translateY(-4px); border-color:rgba(167,139,250,0.56); box-shadow:0 18px 42px rgba(2,9,28,0.34);}
.course-card.is-hidden{display:none;}
.course-visual{height:150px; background:var(--teal-tint); position:relative; overflow:hidden;}
.course-visual img{width:100%; height:100%; object-fit:cover;}
.course-visual::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(86,45,176,0.48), transparent 60%);}
body.light-mode .course-visual::after{background:linear-gradient(0deg, rgba(91,33,182,0.3), transparent 62%);}
.course-body{padding:24px; display:flex; flex-direction:column; gap:12px; flex:1;}
.level-tag{font-family:var(--mono); font-size:10.5px; font-weight:600; letter-spacing:0; text-transform:uppercase; color:var(--teal-deep);}
.course-card h3{font-family:var(--display); font-weight:600; font-size:17px; text-transform:none; letter-spacing:0; line-height:1.3;}
.course-card p{font-size:13.5px; color:#D8E1F5; flex:1;}
body.light-mode .course-card p{color:var(--muted);}
.course-date{font-family:var(--mono); font-size:11.5px!important; color:#CBD6EE!important; flex:0!important;}
body.light-mode .course-date{color:var(--muted)!important;}
.course-enrollment-status{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(251,191,36,.42);background:rgba(245,158,11,.12);color:#fcd34d;font:700 10px/1.25 var(--mono);text-transform:uppercase;letter-spacing:.04em;}
.course-enrollment-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#f59e0b;box-shadow:0 0 10px rgba(245,158,11,.7);}
body.light-mode .course-enrollment-status{border-color:rgba(180,83,9,.3);background:#fffbeb;color:#92400e;}
.course-prerequisite-status{align-self:flex-start;display:block;padding:8px 10px;border:1px solid rgba(248,113,113,.4);background:rgba(127,29,29,.16);color:#fecaca;font:700 10px/1.45 var(--body);}
body.light-mode .course-prerequisite-status{border-color:rgba(185,28,28,.25);background:#fef2f2;color:#991b1b;}
.course-data-status{margin:0 0 22px; padding:18px 20px; border:1px dashed var(--line); color:var(--muted); text-align:center; background:rgba(255,255,255,.035);}
body.light-mode .course-data-status{background:#F7FAFF;}
.center-link-row{text-align:center; margin-top:30px;}
.muted-note{color:var(--muted); font-size:14.5px;}
.top-gap-sm{margin-top:22px;}
.section-wrap-gap{margin-bottom:30px;}
.section-head-flush{margin-bottom:0;}
.course-foot{display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--line); margin-top:4px;}
.course-price{font-family:var(--mono); font-size:14px; font-weight:600;}
.course-price small{display:block; font-family:var(--mono); font-weight:500; font-size:11px; color:var(--muted);}
.btn-teal{font-family:var(--body); font-weight:600; font-size:12.5px; background:linear-gradient(135deg, #7C3AED, #A78BFA); color:#fff; padding:9px 15px; text-decoration:none; border-radius:2px;}
.btn-teal[data-enrollment-state="enrolled"]{background:#b91c1c;color:#fff;white-space:nowrap;}
.btn-teal[data-enrollment-state="enrolled"]:hover{background:#991b1b;color:#fff;filter:none;}
.btn-teal[data-enrollment-state="completed"]{background:#166534!important;color:#dcfce7!important;cursor:default;white-space:nowrap;}
.btn-teal[data-enrollment-state="completed"]:hover{background:#166534!important;color:#dcfce7!important;transform:none;filter:none;}
.btn-teal[data-enrollment-state="prerequisites-required"]{background:#5f2020!important;color:#fecaca!important;cursor:not-allowed;white-space:nowrap;}
.btn-teal[data-enrollment-state="prerequisites-required"]:hover{background:#5f2020!important;color:#fecaca!important;transform:none;filter:none;}
.btn-teal, .btn-submit, .btn-clear, .btn-outline-light, .btn-outline-dark, .link-arrow{transition:transform .2s ease, filter .2s ease, background .2s ease;}
.btn-teal:hover, .btn-submit:hover, .btn-clear:hover, .btn-outline-light:hover, .btn-outline-dark:hover, .link-arrow:hover{transform:translateY(-2px); filter:brightness(1.08);}
.btn-teal.is-pressed, .btn-submit.is-pressed, .btn-clear.is-pressed, .btn-outline-light.is-pressed, .btn-outline-dark.is-pressed, .link-arrow.is-pressed, .icon-btn.is-pressed, .btn-login.is-pressed{transform:translateY(1px) scale(0.97); filter:brightness(1.16);}

/* ---------- ABOUT ---------- */
.about{padding:80px 0; background:var(--panel);}
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
@media (max-width:900px){ .about-grid{grid-template-columns:1fr; gap:34px;} }
.about h2{font-family:var(--display); font-weight:600; font-size:clamp(24px,3vw,32px); text-transform:uppercase; margin:14px 0 18px; line-height:1.2;}
.about-lede{font-size:15px; color:var(--muted); margin-bottom:26px;}
.about-lede-wide{max-width:760px; color:var(--muted); font-size:15.5px; margin-bottom:40px;}
.heading-compact{font-size:22px!important;}
.quote-stack-spaced{margin-top:20px;}
.spec-list{border-top:1px solid var(--line);}
.spec-row{display:flex; gap:20px; padding:16px 0; border-bottom:1px solid var(--line);}
.spec-row .k{font-family:var(--mono); font-size:12px; color:var(--teal-deep); flex:0 0 150px;}
.spec-row .v{font-size:14px; color:var(--ink);}

.quote-stack{display:flex; flex-direction:column; gap:14px;}
.quote-card{background:rgba(7,26,68,0.82); border:1px solid var(--line); border-left:3px solid var(--teal); padding:22px 24px;}
body.light-mode .quote-card{background:#FFFFFF;}
.quote-card p{font-family:var(--body); font-weight:500; font-size:16.5px; text-transform:none; letter-spacing:0; line-height:1.4; color:var(--ink); margin-bottom:10px;}
.quote-card .who{font-family:var(--mono); font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:0;}

/* ---------- ABOUT PANELS (photographic) ---------- */
.panels{padding:80px 0;}
.panel-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media (max-width:800px){ .panel-grid{grid-template-columns:1fr;} }
.panel{border:1px solid var(--line); overflow:hidden;}
.panel-img{height:220px; overflow:hidden;}
.panel-img img{width:100%; height:100%; object-fit:cover;}
.panel-body{padding:24px 26px;}
.panel-body h3{font-family:var(--display); font-weight:600; font-size:19px; margin-bottom:8px;}
.panel-body p{font-size:14px; color:var(--muted);}

/* ---------- GALLERY ---------- */
.gallery{padding:clamp(72px,9vw,130px) 0;background:#03060b;}
.gallery-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.65fr);gap:18px 70px;align-items:end;margin-bottom:clamp(36px,6vw,72px);}
.gallery-section-head .eyebrow{grid-column:1/-1;}
.gallery-section-head h2{font:750 clamp(44px,7vw,96px)/.88 var(--display);letter-spacing:-.05em;text-transform:uppercase;}
.gallery-section-head p{max-width:520px;color:var(--muted);font-size:16px;line-height:1.65;}
.gal-grid-full{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;}
.gal-item{position:relative;grid-column:span 6;min-height:clamp(300px,38vw,560px);overflow:hidden;background:#0a1018;isolation:isolate;}
.gal-item:nth-child(5n+1),.gal-item:nth-child(5n+4){grid-column:span 7;}
.gal-item:nth-child(5n+2),.gal-item:nth-child(5n+5){grid-column:span 5;}
.gal-item>img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05);transition:transform .9s cubic-bezier(.16,1,.3,1),filter .5s;}
.gal-item:hover>img{transform:scale(1.045);filter:saturate(1) contrast(1.02);}
.gal-item .scrim2{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,5,10,.88),transparent 54%);pointer-events:none;}
.gal-cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(22px,3vw,38px);pointer-events:none;}
.gal-cap .t{max-width:80%;color:#fff;font:700 clamp(20px,2.4vw,34px)/1.05 var(--display);letter-spacing:-.025em;}
.gallery-empty{grid-column:1/-1;display:grid;place-items:center;min-height:260px;padding:32px;border:1px solid var(--line);color:var(--muted);text-align:center;}
.gallery-empty.is-error{color:#fca5a5;border-color:rgba(248,113,113,.3);}
body.light-mode .gallery{background:#edf2f5;}
body.light-mode .gallery-section-head h2{color:#07111d;}
body.light-mode .gallery-empty{background:#fff;color:#526171;}
@media(max-width:800px){.gallery-section-head{grid-template-columns:1fr}.gallery-section-head .eyebrow{grid-column:auto}.gal-item,.gal-item:nth-child(n){grid-column:1/-1;min-height:70vw;}}

/* ---------- AUTH ---------- */
.auth{padding:72px 0 96px;}
.auth-shell{display:grid; grid-template-columns:minmax(300px,.88fr) minmax(380px,1.12fr); border:1px solid rgba(196,181,253,.28); border-radius:24px; background:rgba(7,26,68,.72); min-height:620px; box-shadow:0 28px 80px rgba(2,9,28,.34); overflow:hidden;}
body.light-mode .auth-shell{background:#fff; border-color:rgba(91,33,182,.2); box-shadow:0 26px 70px rgba(24,46,91,.14);}
.auth-panel{position:relative; padding:52px 46px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(145deg, rgba(91,33,182,.3), rgba(18,59,143,.28)); isolation:isolate;}
.auth-panel>.managed-media-background{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;}
.auth-panel::before{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(4,13,34,.94), rgba(7,26,68,.52)); z-index:-1;}
.auth-panel-kicker{display:inline-flex; align-items:center; gap:8px; margin-bottom:18px; color:#DDD6FE; font:700 11px/1 var(--mono); text-transform:uppercase; letter-spacing:.06em;}
.auth-panel-kicker::before{content:''; width:28px; height:1px; background:#A78BFA;}
.auth-panel h1{font-size:clamp(34px,4.5vw,56px); margin:0 0 16px; color:#fff; line-height:1;}
.auth-panel p{color:rgba(255,255,255,.8); max-width:430px; font-size:15px;}
.auth-trust-list{display:grid; gap:11px; margin-top:28px; list-style:none; color:rgba(255,255,255,.86); font-size:13px;}
.auth-trust-list li{position:relative; padding-left:24px;}
.auth-trust-list li::before{content:'✓'; position:absolute; left:0; top:-1px; width:16px; height:16px; display:grid; place-items:center; border-radius:50%; background:rgba(167,139,250,.22); color:#DDD6FE; font-size:10px; font-weight:900;}
.auth-form{padding:56px clamp(32px,5vw,68px); display:flex; flex-direction:column; justify-content:center; background:linear-gradient(180deg, rgba(13,42,99,.76), rgba(7,26,68,.96));}
body.light-mode .auth-form{background:#fff;}
.auth-form > .eyebrow{margin-bottom:10px;}
.auth-form h2{font-family:var(--display); font-size:clamp(30px,4vw,38px); text-transform:uppercase; line-height:1; margin-bottom:10px;}
.auth-form .section-note{color:var(--muted); font-size:14px; margin-bottom:24px; max-width:500px;}
.auth-actions{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:26px; flex-wrap:wrap;}
.auth-switch{margin-top:20px; color:var(--muted); font-size:13.5px; text-align:center;}
.auth-switch a{color:var(--teal-deep); font-weight:700; text-decoration:none;}
.auth-mini{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:34px;}
.auth-mini div{border:1px solid rgba(255,255,255,.18); border-radius:12px; padding:14px; background:rgba(255,255,255,.1); backdrop-filter:blur(8px);}
.auth-mini span{display:block; font-family:var(--mono); color:#DDD6FE; font-size:11px; margin-bottom:6px;}
.auth-mini strong{font-family:var(--display); font-size:16px; color:#fff;}
.auth-alert{display:grid; grid-template-columns:24px 1fr; column-gap:10px; row-gap:2px; margin:0 0 20px; padding:13px 14px; border:1px solid rgba(248,113,113,.62); border-radius:10px; background:rgba(127,29,29,.22); color:#FECACA; box-shadow:0 12px 30px rgba(69,10,10,.16);}
.auth-alert::before{content:'!'; grid-row:1 / span 2; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#DC2626; color:#fff; font-weight:900; font-size:12px;}
.auth-alert strong{font-size:13px; line-height:1.25;}
.auth-alert span{font-size:12.5px; line-height:1.4;}
.auth-alert.is-success{border-color:rgba(74,222,128,.58); background:rgba(20,83,45,.24); color:#BBF7D0;}
.auth-alert.is-success::before{content:'✓'; background:#16A34A;}
body.light-mode .auth-alert{background:#FEF2F2; color:#991B1B; border-color:#FCA5A5; box-shadow:none;}
body.light-mode .auth-alert.is-success{background:#F0FDF4; color:#166534; border-color:#86EFAC;}
.auth-form .form-grid{align-items:start;}
.auth-form .field{position:relative;}
.auth-form .field label{font-size:11px; font-weight:700; letter-spacing:.04em;}
.auth-form .field input{min-height:48px; border-radius:10px; padding:12px 14px; background:rgba(4,17,40,.48); transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;}
body.light-mode .auth-form .field input{background:#F8FAFF;}
.auth-form .field input:hover{border-color:rgba(196,181,253,.42);}
.auth-form .field input:focus{border-color:#A78BFA; box-shadow:0 0 0 3px rgba(139,92,246,.16);}
.auth-form .field.is-invalid input{border-color:#F87171; background:rgba(127,29,29,.14); box-shadow:0 0 0 3px rgba(248,113,113,.12);}
body.light-mode .auth-form .field.is-invalid input{background:#FFF7F7;}
.field-error,.field-hint{display:block; margin-top:7px; font-size:11.5px; line-height:1.35;}
.field-error{color:#FCA5A5; font-weight:650;}
body.light-mode .field-error{color:#B91C1C;}
.field-hint{color:var(--muted);}
.password-control{position:relative;}
.password-control input{padding-right:88px!important;}
.password-visibility-link{position:absolute; right:14px; top:50%; transform:translateY(-50%); color:var(--teal-deep); font:700 11.5px/1 var(--body); text-decoration:none; text-underline-offset:3px;}
.password-visibility-link:hover,.password-visibility-link:focus-visible,.auth-text-link:hover,.auth-text-link:focus-visible{text-decoration:underline;}
.auth-support-row{display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:14px; color:var(--muted); font-size:12.5px;}
.auth-support-actions{display:flex; justify-content:flex-end; align-items:center; gap:14px; flex-wrap:wrap;}
.auth-text-link{color:var(--teal-deep); font:700 12.5px/1.3 var(--body); text-decoration:none; text-underline-offset:3px;}
.recovery-code-input{min-height:72px!important; text-align:center; font-family:var(--mono)!important; font-size:clamp(28px,5vw,40px)!important; font-weight:800; letter-spacing:.32em; padding-left:calc(14px + .32em)!important; font-variant-numeric:tabular-nums;}
.recovery-code-input::placeholder{color:rgba(211,220,242,.28);}
body.light-mode .recovery-code-input::placeholder{color:rgba(79,99,140,.28);}
.recovery-cooldown{margin-top:14px; padding:13px 14px; border:1px solid rgba(251,191,36,.48); border-radius:10px; background:rgba(120,53,15,.2); color:#FDE68A; font-size:12.5px; font-weight:700;}
body.light-mode .recovery-cooldown{background:#FFFBEB; color:#92400E; border-color:#FCD34D;}
.auth-shell-recovery .auth-panel::after{content:''; position:absolute; inset:auto -80px -110px auto; width:280px; height:280px; border:1px solid rgba(196,181,253,.2); border-radius:50%; box-shadow:0 0 90px rgba(139,92,246,.2); pointer-events:none;}
.auth-form [aria-disabled="true"]{pointer-events:none; opacity:.55;}
.auth-primary{position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:48px; margin-top:24px; border-radius:10px; box-shadow:0 14px 30px rgba(91,33,182,.24); transition:transform .18s ease, filter .18s ease, opacity .18s ease;}
.auth-primary:hover{transform:translateY(-1px); filter:brightness(1.08);}
.auth-primary:disabled{cursor:wait; opacity:.7; transform:none;}
.button-spinner{display:none; width:15px; height:15px; border:2px solid rgba(255,255,255,.42); border-top-color:#fff; border-radius:50%; animation:authSpin .7s linear infinite;}
.auth-form.is-busy .button-spinner{display:block;}
@keyframes authSpin{to{transform:rotate(360deg);}}
.auth-shell-verification{min-height:660px;}
.verification-pending{align-items:stretch;}
.verification-icon{width:78px;height:78px;display:grid;place-items:center;margin-bottom:24px;border:1px solid rgba(167,139,250,.55);border-radius:24px;background:linear-gradient(145deg,rgba(30,144,255,.22),rgba(124,58,237,.34));color:#fff;box-shadow:0 18px 50px rgba(91,33,182,.24);transform:rotate(-3deg);}
.verification-icon span{font-size:35px;line-height:1;transform:rotate(3deg);}
.verification-pending h2{font-size:clamp(34px,4vw,48px)!important;max-width:520px;}
.verification-lede{margin:4px 0 24px;color:var(--muted);font-size:15px;line-height:1.6;}
.verification-lede strong{display:inline-block;color:#DDD6FE;font-weight:800;overflow-wrap:anywhere;}
body.light-mode .verification-lede strong{color:#5B21B6;}
.verification-steps{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line);}
.verification-steps li{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:14px;min-height:66px;border-bottom:1px solid var(--line);}
.verification-steps li>span{font:800 11px/1 var(--mono);color:#75C9FF;letter-spacing:.08em;}
.verification-steps p{margin:0;color:var(--text);font-size:13.5px;line-height:1.45;}
.verification-hint{margin:18px 0 0;padding-left:22px;position:relative;color:var(--muted);font-size:12.5px;line-height:1.5;}
.verification-hint::before{content:'i';position:absolute;left:0;top:1px;width:15px;height:15px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font:800 9px/1 var(--mono);}
.verification-status{margin-top:16px;padding:12px 14px;border:1px solid rgba(117,201,255,.4);border-radius:10px;background:rgba(18,59,143,.24);color:#BFDBFE;font-size:12.5px;line-height:1.45;}
.verification-status.is-success{border-color:rgba(74,222,128,.55);background:rgba(20,83,45,.24);color:#BBF7D0;}
.verification-status.is-error{border-color:rgba(248,113,113,.55);background:rgba(127,29,29,.2);color:#FECACA;}
body.light-mode .verification-status{background:#EFF6FF;color:#1E3A8A;border-color:#93C5FD;}
body.light-mode .verification-status.is-success{background:#F0FDF4;color:#166534;border-color:#86EFAC;}
body.light-mode .verification-status.is-error{background:#FEF2F2;color:#991B1B;border-color:#FCA5A5;}
.verification-links{display:flex;justify-content:center;gap:22px;margin-top:18px;font-size:12.5px;}
.verification-links a{color:var(--muted);font-weight:700;text-decoration:none;text-underline-offset:3px;}
.verification-links a:hover,.verification-links a:focus-visible{color:var(--teal-deep);text-decoration:underline;}
.verification-pending .auth-primary:disabled{cursor:not-allowed;transform:none;filter:none;}
.verification-pending.is-busy .auth-primary:disabled{cursor:wait;}
@media (max-width:800px){
  .auth-shell{grid-template-columns:1fr;}
  .auth-panel, .auth-form{padding:38px 28px;}
  .auth-mini{grid-template-columns:1fr;}
  .auth-trust-list{display:none;}
}
@media (max-width:520px){
  .auth{padding:36px 0 64px;}
  .auth-shell{border-radius:16px;}
  .auth-panel{min-height:300px;}
  .auth-form{padding:34px 22px;}
  .auth-form .form-grid{grid-template-columns:1fr;}
  .auth-support-row{align-items:flex-start; flex-direction:column; gap:9px;}
  .auth-support-actions{justify-content:flex-start;}
  .verification-icon{width:66px;height:66px;border-radius:20px;margin-bottom:20px;}
  .verification-icon span{font-size:30px;}
  .verification-links{align-items:center;flex-direction:column;gap:10px;}
}

/* ---------- PROFILE ---------- */
.profile{padding:72px 0 96px;}
.profile-hero{display:grid; grid-template-columns:1fr 360px; gap:24px; margin-bottom:24px;}
.profile-identity, .rank-hero, .profile-card, .profile-section{border:1px solid var(--line); background:linear-gradient(180deg, rgba(13,42,99,0.86), rgba(7,26,68,0.96)); box-shadow:0 20px 50px rgba(2,9,28,0.22);}
body.light-mode .profile-identity, body.light-mode .rank-hero, body.light-mode .profile-card, body.light-mode .profile-section{background:#fff; box-shadow:0 16px 34px rgba(24,46,91,0.08);}
.profile-identity{padding:32px; display:flex; align-items:center; gap:24px;}
.profile-avatar{width:88px; height:88px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:32px; font-weight:700; color:#fff; background:linear-gradient(135deg, #7C3AED, #123B8F); box-shadow:0 0 36px rgba(139,92,246,0.42); overflow:hidden; position:relative; flex-shrink:0;}
.profile-avatar img{width:100%; height:100%; object-fit:cover; display:none;}
.profile-avatar.has-photo span{display:none;}
.profile-avatar.has-photo img{display:block;}
.profile-avatar-edit{cursor:pointer;}
.profile-avatar-edit::before{content:''; position:absolute; inset:0; background:rgba(4,13,34,0.72); opacity:0; transition:opacity .2s ease; z-index:2;}
.profile-avatar-edit em{position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; padding:14px; text-align:center; font-family:var(--body); font-style:normal; font-size:11px; font-weight:800; line-height:1.15; color:#fff; opacity:0; transform:translateY(4px); transition:opacity .2s ease, transform .2s ease;}
.profile-avatar-edit:hover::before, .profile-avatar-edit:focus-within::before, .profile-avatar-edit:hover em, .profile-avatar-edit:focus-within em{opacity:1; transform:translateY(0);}
.profile-avatar input{display:none;}
.profile-kicker{display:block; font-family:var(--mono); font-size:11px; color:var(--teal-deep); text-transform:uppercase; margin-bottom:8px;}
.profile-identity h1{font-family:var(--display); font-size:clamp(32px,4vw,48px); text-transform:uppercase; line-height:1; margin-bottom:8px; color:var(--ink);}
.profile-identity p{color:var(--muted); font-size:14px;}
.rank-hero{position:relative; overflow:hidden; padding:30px; isolation:isolate;}
.rank-hero::before{content:''; position:absolute; inset:-40%; background:radial-gradient(circle, var(--rank-glow, rgba(167,139,250,.26)), transparent 58%); z-index:-1;}
.rank-hero span{display:block; font-family:var(--mono); font-size:11px; color:var(--muted); text-transform:uppercase; margin-bottom:10px;}
.rank-hero strong{display:block; font-family:var(--display); font-size:52px; line-height:.95; color:var(--rank-color, var(--teal-deep)); text-transform:uppercase;}
.rank-hero p{margin-top:12px; color:var(--muted);}
.rank-hero p [data-profile-count]{display:block; margin:0 0 8px; color:var(--rank-color, var(--teal-deep)); font:700 clamp(30px,3vw,38px)/1 var(--display); text-transform:none;}
.rank-hero[data-rank-theme="bronze"]{--rank-color:#D08A54; --rank-glow:rgba(208,138,84,.36);}
.rank-hero[data-rank-theme="silver"]{--rank-color:#D7E2F1; --rank-glow:rgba(215,226,241,.32);}
.rank-hero[data-rank-theme="gold"]{--rank-color:#F8C84E; --rank-glow:rgba(248,200,78,.34);}
.rank-hero[data-rank-theme="platinum"]{--rank-color:#8FE7FF; --rank-glow:rgba(143,231,255,.34);}
.rank-hero[data-rank-theme="diamond"]{--rank-color:#C4B5FD; --rank-glow:rgba(196,181,253,.5);}
.account-status-card[data-account-status="verified"]{--rank-color:#86EFAC; --rank-glow:rgba(34,197,94,.28);}
.account-status-card[data-account-status="unverified"]{--rank-color:#FBBF24; --rank-glow:rgba(245,158,11,.3);}
.account-status-card strong{font-size:clamp(34px,4vw,48px);}
.profile-grid{display:grid; grid-template-columns:320px 1fr; gap:24px; align-items:start;}
.profile-card{padding:26px; display:flex; flex-direction:column; gap:20px; position:sticky; top:120px;}
.account-summary{border:1px solid var(--line); padding:18px; background:rgba(255,255,255,.04);}
body.light-mode .account-summary{background:#F7FAFF;}
.account-summary > span{display:block; margin-bottom:7px; color:var(--muted); font:11px/1.2 var(--mono); text-transform:uppercase;}
.account-summary strong{display:block; color:var(--teal-deep); font-family:var(--display); font-size:20px; text-transform:uppercase;}
.account-summary p{margin-top:8px; color:var(--muted); font-size:12.5px;}
.account-action{width:100%;}
.rank-progress{border:1px solid var(--line); padding:16px; background:rgba(255,255,255,0.04);}
body.light-mode .rank-progress{background:#F7FAFF;}
.rank-progress-head{display:flex; justify-content:space-between; gap:12px; font-family:var(--mono); font-size:12px; color:var(--muted); margin-bottom:12px;}
.rank-progress-head strong{color:var(--teal-deep);}
.rank-bar{height:10px; border:1px solid var(--line); background:rgba(255,255,255,0.06); overflow:hidden;}
.rank-bar span{display:block; height:100%; width:0; background:linear-gradient(90deg, #7C3AED, #A78BFA, #8FE7FF); transition:width .45s ease;}
.rank-bar span.progress-0{width:0;}
.rank-bar span.progress-50{width:50%;}
.rank-bar span.progress-100{width:100%;}
.rank-ladder{display:grid; gap:8px;}
.rank-step{display:grid; grid-template-columns:22px 1fr auto; gap:10px; align-items:center; border:1px solid var(--line); padding:10px; color:var(--muted);}
.rank-step-bronze{--rank-color:#D08A54;}
.rank-step-silver{--rank-color:#D7E2F1;}
.rank-step-gold{--rank-color:#F8C84E;}
.rank-step-platinum{--rank-color:#8FE7FF;}
.rank-step-diamond{--rank-color:#C4B5FD;}
.rank-step.is-active{background:rgba(139,92,246,0.16); color:var(--ink); border-color:rgba(167,139,250,0.48);}
.rank-dot{width:12px; height:12px; border-radius:50%; background:var(--rank-color, var(--teal-deep)); box-shadow:0 0 18px var(--rank-color, var(--teal-deep));}
.rank-step strong{font-family:var(--display); font-size:15px;}
.rank-step span:last-child{font-family:var(--mono); font-size:11px;}
.profile-main{display:flex; flex-direction:column; gap:24px;}
.profile-section{padding:28px;}
.section-head.compact{margin-bottom:22px;}
.owned-list{display:grid; gap:12px;}
.owned-item, .leader-row{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; border:1px solid var(--line); padding:14px 16px; background:rgba(255,255,255,0.035);}
body.light-mode .owned-item, body.light-mode .leader-row{background:#F7FAFF;}
.owned-item strong, .leader-name{font-family:var(--display); font-size:17px;}
.owned-item strong{display:block; overflow-wrap:anywhere; line-height:1.25; margin-bottom:4px;}
.owned-item span, .leader-meta{display:block; color:var(--muted); font-size:13px;}
.owned-item .rank-badge{justify-self:end; white-space:nowrap;}
.leaderboard{display:grid; gap:10px;}
.leader-row{grid-template-columns:42px 1fr auto auto;}
.leader-place{font-family:var(--mono); color:var(--teal-deep); font-weight:700;}
.profile-help-actions{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.profile-help-actions .btn-clear{text-decoration:none; display:inline-flex; align-items:center; justify-content:center;}
.owned-actions{display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap;}
.owned-actions button{padding:8px 11px; border:1px solid var(--line); border-radius:2px; background:rgba(139,92,246,.1); color:var(--ink); font:700 11px/1.2 var(--body); cursor:pointer;}
.owned-actions button[data-unenroll]{border-color:rgba(248,113,113,.36); color:#FCA5A5;}
body.light-mode .owned-actions button[data-unenroll]{color:#B91C1C;}
.rank-badge{font-family:var(--mono); font-size:11px; text-transform:uppercase; padding:5px 8px; border:1px solid var(--line); color:#fff; background:rgba(139,92,246,0.28);}
body.light-mode .rank-badge{color:var(--ink); background:#EEF3FF;}
.rank-badge.rank-bronze{background:rgba(208,138,84,.22); color:#F2B179;}
.rank-badge.rank-silver{background:rgba(215,226,241,.18); color:#D7E2F1;}
.rank-badge.rank-gold{background:rgba(248,200,78,.2); color:#F8C84E;}
.rank-badge.rank-platinum{background:rgba(143,231,255,.18); color:#8FE7FF;}
.rank-badge.rank-diamond{background:rgba(196,181,253,.24); color:#C4B5FD;}
body.light-mode .rank-badge.rank-silver{color:#52677E;}
body.light-mode .rank-hero[data-rank-theme="silver"]{--rank-color:#475569; --rank-glow:rgba(71,85,105,.2);}
body.light-mode .rank-badge.rank-silver{background:#E2E8F0; color:#334155; border-color:rgba(51,65,85,.18);}
.empty-state{border:1px dashed var(--line); padding:20px; color:var(--muted); text-align:center;}
@media (max-width:960px){
  .profile-hero{grid-template-columns:1fr;}
  .profile-grid{grid-template-columns:1fr;}
  .profile-card{position:static;}
  .leader-row{grid-template-columns:36px 1fr; gap:10px;}
  .leader-row .rank-badge, .leader-row .leader-meta{grid-column:2;}
}
@media (max-width:620px){ .profile-identity{align-items:flex-start; flex-direction:column;} }

/* ---------- CONTACT ---------- */
.contact{padding:80px 0;}
.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:0; border:1px solid var(--line);}
@media (max-width:800px){ .contact-grid{grid-template-columns:1fr;} }
.contact-info{padding:40px; background:var(--panel);}
.contact-info h3{font-family:var(--display); font-weight:600; font-size:18px; margin-bottom:22px; text-transform:uppercase;}
.contact-row{display:flex; justify-content:space-between; font-size:14px; padding:12px 0; border-bottom:1px solid var(--line);}
.contact-row span:first-child{color:var(--muted);}
.contact-row a{color:var(--teal-deep); text-decoration:none;}
.social-row{display:flex; gap:10px; margin-top:20px;}
.social-row a{width:36px; height:36px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--ink); text-decoration:none; transition:color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease;}
.social-row a:hover{color:#fff; border-color:var(--teal); background:var(--teal); transform:translateY(-2px);}
.social-row svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.social-row .social-icon-fill{fill:currentColor; stroke:none;}
.social-row .social-icon-dot{fill:currentColor; stroke:none;}
.btn-outline-dark{margin-top:22px; display:inline-block; font-family:var(--body); font-weight:600; font-size:13px; padding:11px 18px; border:1.5px solid var(--ink); text-decoration:none; color:var(--ink);}

.contact-form{padding:40px;}
.contact-form h3{font-family:var(--display); font-weight:600; font-size:18px; margin-bottom:22px; text-transform:uppercase;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
@media (max-width:520px){ .form-grid{grid-template-columns:1fr;} }
.field label{display:block; font-size:11.5px; color:var(--muted); margin-bottom:6px; font-family:var(--mono); text-transform:uppercase; letter-spacing:0;}
.field-gap{margin-bottom:16px;}
.field-flush{margin-bottom:0;}
.field input, .field select, .field textarea{width:100%; border:1px solid var(--line); padding:11px 13px; font-family:var(--body); font-size:14px; background:#0A2050; color:var(--ink); outline:none; border-radius:2px;}
body.light-mode .field input, body.light-mode .field select, body.light-mode .field textarea{background:#F7FAFF; color:var(--ink);}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--teal);}
.checkline{display:flex; align-items:flex-start; gap:8px; font-size:12.5px; color:var(--muted); margin:16px 0 20px;}
.form-actions{display:flex; gap:12px;}
.btn-submit{font-family:var(--body); font-weight:600; font-size:13.5px; background:linear-gradient(135deg, #7C3AED, #A78BFA); color:#fff; padding:12px 24px; border:none; cursor:pointer; border-radius:2px;}
.btn-clear{font-family:var(--body); font-weight:600; font-size:13.5px; background:rgba(139,92,246,0.1); color:var(--ink); padding:12px 20px; border:1.5px solid var(--line); cursor:pointer; border-radius:2px;}

.schedule-dialog{width:min(520px,calc(100vw - 32px)); max-width:none; padding:0; border:1px solid rgba(196,181,253,.38); border-radius:18px; background:#071A44; color:var(--ink); box-shadow:0 32px 100px rgba(2,9,28,.62);}
.schedule-dialog[open]{position:fixed; inset:50% auto auto 50%; margin:0; transform:translate(-50%,-50%); max-height:calc(100dvh - 32px); overflow:auto;}
.schedule-dialog::backdrop{background:rgba(2,9,28,.76); backdrop-filter:blur(6px);}
body.light-mode .schedule-dialog{background:#fff;}
.schedule-dialog-card{display:grid; gap:16px; padding:30px;}
.schedule-dialog-card h2{font-family:var(--display); font-size:28px; line-height:1.05; text-transform:uppercase;}
.schedule-dialog-card p{color:var(--muted); font-size:13.5px;}
.schedule-dialog-card label{color:var(--muted); font:700 11px/1.2 var(--mono); text-transform:uppercase;}
.schedule-dialog-card select{width:100%; min-height:48px; border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:#0A2050; color:var(--ink); font:14px/1.4 var(--body);}
body.light-mode .schedule-dialog-card select{background:#F7FAFF;}
.schedule-dialog-actions{display:flex; justify-content:flex-end; gap:10px; margin-top:6px;}

.schedule-dialog.is-fallback-open{display:block; position:fixed; inset:50% auto auto 50%; transform:translate(-50%,-50%); z-index:1001; max-height:calc(100vh - 32px); overflow:auto;}
html.schedule-dialog-open,body.schedule-dialog-open{overflow:hidden;overscroll-behavior:none;}
body.dialog-fallback-open{overflow:hidden;}
body.dialog-fallback-open::before{content:""; position:fixed; inset:0; z-index:1000; background:rgba(2,9,28,.78); backdrop-filter:blur(7px);}
.map-card{margin-top:2px; border:1px solid var(--line); border-top:none; display:grid; grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr); min-height:390px; overflow:hidden; background:var(--panel);}
.map-copy{display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:38px 40px;}
.map-copy .eyebrow{margin-bottom:14px;}
.map-card strong{display:block; font-family:var(--display); font-size:clamp(21px,2.6vw,31px); line-height:1.08; margin-bottom:14px; text-transform:none;}
.map-card p{color:var(--muted); font-size:13.5px; line-height:1.6; margin-bottom:20px;}
.office-map{display:block; width:100%; min-height:390px; height:100%; border:0; filter:saturate(.82) contrast(1.04);}
body:not(.light-mode) .office-map{filter:saturate(.68) contrast(1.08) brightness(.82);}
.about-location{padding:clamp(88px,10vw,150px) 0;background:linear-gradient(180deg,#03060b,#070b12);}
.about-location .wrap{max-width:1380px;}
.about-map-card{margin-top:0;border-top:1px solid var(--line);min-height:560px;grid-template-columns:minmax(350px,.68fr) minmax(540px,1.32fr);box-shadow:0 36px 100px rgba(0,0,0,.32);}
.about-map-card .map-copy{background:linear-gradient(150deg,rgba(13,25,43,.98),rgba(7,10,18,.98));}
.about-map-card .map-copy>p{max-width:430px;}
.location-contact-links{display:flex;flex-wrap:wrap;gap:9px 20px;}
.location-contact-links a{color:#73c6ff;font:600 12px/1.3 var(--mono);text-decoration:none;}
.location-contact-links a:hover{text-decoration:underline;text-underline-offset:4px;}
.about-map-card .social-row{margin-top:26px;}
.location-navigation{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:54px;margin-top:30px;border:1px solid #73c6ff;background:rgba(115,198,255,.08);color:#f5f8fc;text-decoration:none;font:700 11px/1 var(--body);letter-spacing:.11em;text-transform:uppercase;transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;}
.location-navigation svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.location-navigation:hover{background:#73c6ff;color:#02050a;transform:translateY(-2px);box-shadow:0 14px 36px rgba(21,151,255,.2);}
body.light-mode .about-location{background:#edf2f5;}
body.light-mode .about-map-card{box-shadow:0 30px 72px rgba(20,42,72,.13);}
body.light-mode .about-map-card .map-copy{background:#fff;}
body.light-mode .location-contact-links a{color:#087bc4;}
body.light-mode .location-navigation{border-color:#087bc4;background:rgba(8,123,196,.07);color:#07111d;}
body.light-mode .location-navigation:hover{background:#07111d;border-color:#07111d;color:#fff;}
@media (max-width:860px){
  .map-card{grid-template-columns:1fr;}
  .map-copy{padding:30px 26px;}
  .office-map{min-height:340px;}
  .about-map-card{grid-template-columns:1fr;}
  .about-map-card{min-height:0;}
}

/* ---------- PROJECTS / FULL-SCREEN 3D STORY ---------- */
.projects-main{background:#020408;}
.project-selector-drawer{position:absolute; z-index:9; top:clamp(112px,17vh,170px); right:0; width:min(420px,92vw); padding-left:54px; transform:translate3d(calc(100% - 54px),0,0); transition:transform .34s cubic-bezier(.22,1,.36,1); will-change:transform;}
.project-selector-drawer.is-open{transform:translate3d(0,0,0);}
.project-selector-handle{position:absolute; left:0; top:50%; width:54px; height:92px; display:grid; place-items:center; transform:translateY(-50%); border:1px solid rgba(115,198,255,.34); border-right:0; background:rgba(3,8,16,.9); color:#73c6ff; cursor:pointer; box-shadow:-14px 18px 44px rgba(0,0,0,.28); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);}
.project-selector-handle span{display:block; font:300 38px/1 var(--display); transition:transform .3s cubic-bezier(.22,1,.36,1);}
.project-selector-drawer.is-open .project-selector-handle span{transform:rotate(180deg);}
.project-selector-panel{border:1px solid rgba(115,198,255,.3); background:rgba(3,8,16,.92); box-shadow:-24px 28px 80px rgba(0,0,0,.42); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);}
.project-selector-panel>p{margin:0; padding:15px 20px; border-bottom:1px solid var(--line); color:#73c6ff; font:700 10px/1.2 var(--mono); letter-spacing:.15em; text-transform:uppercase;}
.project-switcher{display:grid; grid-template-columns:1fr;}
.project-switcher button{display:grid; grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto; column-gap:12px; align-items:center; min-height:94px; padding:15px 20px; border:0; background:transparent; color:#8494a7; text-align:left; cursor:pointer; transition:background .24s ease,color .24s ease;}
.project-switcher button + button{border-top:1px solid var(--line);}
.project-switcher button span{grid-row:1 / span 2; font:700 11px/1 var(--mono); color:#73c6ff;}
.project-switcher button strong{font-family:var(--display); font-size:16px; line-height:1.06; letter-spacing:.01em; color:#fff; text-transform:uppercase;}
.project-switcher button small{font-size:11px; line-height:1.2;}
.project-switcher button:hover{background:rgba(21,151,255,.12);}
.project-switcher button.is-active{background:linear-gradient(120deg,#087dcb,#20a8ff); color:#fff;}
.project-switcher button.is-active span,.project-switcher button.is-active strong{color:#fff;}
body.light-mode .project-selector-handle,body.light-mode .project-selector-panel{border-color:rgba(8,125,203,.28); background:rgba(248,251,255,.94); box-shadow:-20px 24px 60px rgba(7,17,29,.16);}
body.light-mode .project-switcher button{color:#526171;}
body.light-mode .project-switcher button strong{color:#07111d;}
body.light-mode .project-switcher button.is-active,body.light-mode .project-switcher button.is-active strong{color:#fff;}
@media (hover:hover) and (pointer:fine){
  .project-selector-drawer:hover{transform:translate3d(0,0,0);}
  .project-selector-drawer:hover .project-selector-handle span{transform:rotate(180deg);}
}
.projects-hero{--project-step-count:7; position:relative; height:calc(var(--project-step-count) * 100svh); min-height:700svh; padding:0; border-bottom:1px solid var(--line); background:#020408;}
.project-showcase-viewport{position:sticky; top:0; height:100svh; min-height:620px; overflow:hidden; isolation:isolate; background:#020408;}
.robot-3d-stage{position:absolute; inset:0; z-index:1; width:100%; height:100%; min-height:0; overflow:hidden; border:0; background:radial-gradient(circle at 66% 42%,rgba(21,151,255,.15),transparent 32rem),radial-gradient(circle at 20% 80%,rgba(139,92,246,.14),transparent 28rem),linear-gradient(145deg,#020408,#06111f); isolation:isolate;}
.robot-3d-stage.is-arm{background:radial-gradient(circle at 70% 28%,rgba(143,231,255,.16),transparent 30rem),radial-gradient(circle at 24% 76%,rgba(139,92,246,.16),transparent 30rem),linear-gradient(145deg,#020408,#071525);}
.robot-3d-stage.is-ainex{background:radial-gradient(circle at 70% 30%,rgba(139,92,246,.2),transparent 31rem),radial-gradient(circle at 28% 78%,rgba(21,151,255,.15),transparent 28rem),linear-gradient(145deg,#020408,#0a1024);}
body.light-mode .projects-main,body.light-mode .projects-hero,body.light-mode .project-showcase-viewport{background:#edf2f5;}
body.light-mode .robot-3d-stage{background:radial-gradient(circle at 68% 38%,rgba(21,151,255,.14),transparent 30rem),linear-gradient(145deg,#fff,#e5edf3);}
.robot-3d-mount{position:absolute; inset:0; z-index:3;}
.robot-3d-canvas{position:absolute; inset:0; width:100%; height:100%; display:block;}
.robot-3d-glow{position:absolute; right:9%; top:14%; z-index:1; width:min(29vw,430px); aspect-ratio:1; border:1px solid rgba(143,231,255,.24); border-radius:50%; box-shadow:0 0 90px rgba(21,151,255,.18),inset 0 0 70px rgba(143,231,255,.08); animation:scanPulse 2.8s ease-in-out infinite;}
.robot-3d-floor{position:absolute; left:4%; right:4%; bottom:12%; z-index:1; height:1px; background:linear-gradient(90deg,transparent,rgba(115,198,255,.5),transparent);}
.robot-3d-stage.is-puppypi .robot-3d-floor{display:none;}
.robot-model-error{position:absolute; z-index:8; left:50%; top:50%; transform:translate(-50%,-50%); max-width:420px; padding:18px 22px; border:1px solid var(--line); background:rgba(3,5,10,.86); color:#fff; text-align:center;}
.project-loading-shell{min-height:100svh; display:grid; place-items:center; background:#020408; color:var(--muted); font:600 12px/1.4 var(--mono); letter-spacing:.12em; text-transform:uppercase;}
.project-chapter-layer{position:absolute; inset:0; z-index:5; pointer-events:none;}
.project-chapter{--chapter-opacity:0; --chapter-x:120px; position:absolute; left:clamp(22px,6vw,100px); top:52%; width:min(42vw,650px); opacity:var(--chapter-opacity); transform:translate3d(var(--chapter-x),-50%,0); transition:opacity .16s linear,transform .16s cubic-bezier(.22,1,.36,1); will-change:opacity,transform; text-shadow:0 8px 34px rgba(0,0,0,.62);}
.project-chapter-meta{display:block; margin-bottom:20px; color:#73c6ff; font:700 11px/1.2 var(--mono); letter-spacing:.13em; text-transform:uppercase;}
.project-chapter h1{max-width:680px; margin:0; color:#fff; font-size:clamp(52px,7.2vw,112px); line-height:.84; letter-spacing:-.055em; text-wrap:balance;}
body.light-mode .project-chapter{padding:24px 28px; background:transparent; box-shadow:none; text-shadow:0 1px 0 rgba(255,255,255,.9),0 10px 38px rgba(255,255,255,.78); backdrop-filter:none; -webkit-backdrop-filter:none;}
body.light-mode .project-chapter h1{color:#07111d;}
.project-step-rail{position:absolute; z-index:7; right:clamp(72px,6vw,100px); top:50%; display:grid; gap:11px; transform:translateY(-50%);}
.project-step-rail button{width:26px; height:26px; display:grid; place-items:center; border:0; background:transparent; cursor:pointer;}
.project-step-rail button span{width:5px; height:5px; border-radius:50%; background:#697789; box-shadow:0 0 0 0 rgba(21,151,255,0); transition:width .25s,height .25s,background .25s,box-shadow .25s;}
.project-step-rail button.is-active span{width:9px; height:9px; background:#73c6ff; box-shadow:0 0 0 5px rgba(21,151,255,.17),0 0 24px rgba(21,151,255,.7);}
@keyframes scanPulse{0%,100%{transform:scale(.82); opacity:.36;}50%{transform:scale(1); opacity:.9;}}
@media (max-width:900px){
  .project-selector-drawer{top:clamp(92px,15vh,130px); width:min(360px,94vw); padding-left:48px; transform:translate3d(calc(100% - 48px),0,0);}
  .project-selector-handle{width:48px; height:80px;}
  .project-switcher button{min-height:82px; padding:13px 16px; column-gap:9px;}
  .project-switcher button strong{font-size:14px;}
  .project-switcher button small{font-size:10px;}
  .project-showcase-viewport{min-height:560px;}
  .project-chapter{left:18px; right:18px; top:auto; bottom:7vh; width:auto; padding:24px 22px; background:linear-gradient(120deg,rgba(3,5,10,.92),rgba(3,5,10,.68)); border-left:2px solid #1597ff; text-shadow:none; backdrop-filter:blur(8px);}
  .project-chapter h1{font-size:clamp(40px,10.5vw,68px);}
  .project-chapter-meta{margin-bottom:12px;}
  .project-step-rail{right:58px; top:42%; gap:7px;}
  .robot-3d-glow{width:min(58vw,330px); right:4%; top:16%;}
}
@media (max-width:520px){
  .project-selector-drawer{top:88px; width:min(330px,96vw); padding-left:44px; transform:translate3d(calc(100% - 44px),0,0);}
  .project-selector-handle{width:44px; height:72px;}
  .project-switcher button{min-height:76px;}
  .project-chapter{bottom:4vh; padding:19px 18px;}
  .project-chapter h1{font-size:clamp(36px,11.5vw,54px);}
  .project-step-rail{display:none;}
}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line); padding:56px 0 30px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; margin-bottom:44px;}
@media (max-width:800px){ .foot-grid{grid-template-columns:1fr 1fr; gap:28px;} }
.foot-col h4{font-family:var(--display); font-weight:600; font-size:12.5px; text-transform:uppercase; letter-spacing:0; margin-bottom:16px;}
.foot-col a, .foot-col p{display:block; font-size:13.5px; color:var(--muted); text-decoration:none; margin-bottom:10px;}
.foot-col a:hover{color:var(--ink);}
.foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; color:var(--muted);}

.reveal{opacity:1; transform:none;}
.reveal.is-visible{opacity:1; transform:none;}
body.motion-ready .reveal{opacity:0; transform:translateY(26px); transition:opacity .65s ease, transform .65s ease;}
body.motion-ready .reveal.is-visible{opacity:1; transform:translateY(0);}
body.motion-ready .course-card, body.motion-ready .quote-card, body.motion-ready .panel, body.motion-ready .profile-identity, body.motion-ready .rank-hero, body.motion-ready .profile-card, body.motion-ready .profile-section, body.motion-ready .auth-shell{transition:opacity .6s ease, transform .6s ease, box-shadow .25s ease, filter .2s ease;}
body.motion-ready .course-card:not(.is-visible), body.motion-ready .quote-card:not(.is-visible), body.motion-ready .panel:not(.is-visible), body.motion-ready .profile-identity:not(.is-visible), body.motion-ready .rank-hero:not(.is-visible), body.motion-ready .profile-card:not(.is-visible), body.motion-ready .profile-section:not(.is-visible){opacity:0; transform:translateY(18px);}
body.motion-ready .course-card.is-visible, body.motion-ready .quote-card.is-visible, body.motion-ready .panel.is-visible, body.motion-ready .profile-identity.is-visible, body.motion-ready .rank-hero.is-visible, body.motion-ready .profile-card.is-visible, body.motion-ready .profile-section.is-visible{opacity:1; transform:translateY(0);}
body.motion-ready nav{animation:navIn .45s ease both;}
body.motion-ready .hero-content > *{animation:riseIn .65s ease both;}
body.motion-ready .hero-content > *:nth-child(2){animation-delay:.08s;}
body.motion-ready .hero-content > *:nth-child(3){animation-delay:.16s;}
@keyframes navIn{from{opacity:0; transform:translateY(-10px);} to{opacity:1; transform:translateY(0);}}
@keyframes riseIn{from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{animation:none!important; transition:none!important; scroll-behavior:auto!important;}
  body.motion-ready .reveal, body.motion-ready .course-card:not(.is-visible), body.motion-ready .quote-card:not(.is-visible), body.motion-ready .panel:not(.is-visible), body.motion-ready .profile-identity:not(.is-visible), body.motion-ready .rank-hero:not(.is-visible), body.motion-ready .profile-card:not(.is-visible), body.motion-ready .profile-section:not(.is-visible){opacity:1; transform:none;}
}

.toast{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:400;
  max-width:min(360px, calc(100vw - 44px));
  padding:13px 16px;
  border:1px solid var(--line);
  background:rgba(7,26,68,0.94);
  color:#fff;
  box-shadow:0 18px 45px rgba(2,9,28,0.34);
  transform:translateY(16px);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
body.light-mode .toast{background:#FFFFFF; color:var(--ink); box-shadow:0 18px 45px rgba(24,46,91,0.18);}
.toast.is-visible{opacity:1; transform:translateY(0);}

/* ---------- 2026 PRESENTATION REDESIGN ---------- */
:root{
  --paper:#03050a;
  --panel:#080c14;
  --ink:#f4f7fb;
  --muted:#9da8b8;
  --teal:#1597ff;
  --teal-deep:#73c6ff;
  --teal-tint:#081b2c;
  --line:rgba(255,255,255,.14);
  --purple-soft:#5db8ff;
  --display:'Arial Narrow','Roboto Condensed','Segoe UI',Arial,sans-serif;
}
html{scroll-padding-top:92px; background:#03050a;}
body{
  overflow-x:hidden;
  background:
    radial-gradient(circle at 82% 8%,rgba(21,151,255,.12),transparent 26rem),
    linear-gradient(180deg,#03050a 0%,#060a11 52%,#020306 100%);
}
body::before{
  content:''; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px; mask-image:linear-gradient(to bottom,#000,transparent 72%);
}
.wrap{max-width:1440px; padding-inline:clamp(20px,4vw,64px);}
.scroll-progress{position:fixed; inset:0 0 auto; height:3px; z-index:200; background:linear-gradient(90deg,#fff,#1597ff); transform:scaleX(0); transform-origin:left; will-change:transform;}
.pointer-glow{position:fixed; inset:0; z-index:0; pointer-events:none; background:radial-gradient(340px circle at var(--pointer-x,-1000px) var(--pointer-y,-1000px),rgba(21,151,255,.075),transparent 70%);}
body > *:not(.pointer-glow):not(.scroll-progress):not(.tabbar):not(.schedule-dialog):not(.toast){position:relative; z-index:1;}

header{background:rgba(3,5,10,.72); border-color:rgba(255,255,255,.1); backdrop-filter:blur(20px) saturate(140%);}
nav{min-height:86px; padding:10px 0;}
.brand{gap:14px}.mark{width:112px;height:44px}.mark .logo-night,.mark .logo-light{width:112px;height:auto;transform:none}
.brand-text{letter-spacing:.03em}.brand-text small{color:#73c6ff;letter-spacing:.14em;text-transform:uppercase}
.navlinks{gap:clamp(20px,2.6vw,42px);font-size:12px;text-transform:uppercase;letter-spacing:.09em}
.navlinks a{position:relative;opacity:.62}.navlinks a::after{content:'';position:absolute;left:0;right:100%;bottom:-10px;height:1px;background:#73c6ff;transition:right .35s cubic-bezier(.2,.8,.2,1)}
.navlinks a:hover::after,.navlinks a.active::after{right:0}.btn-login{border:1px solid rgba(255,255,255,.24);padding:10px 18px;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.icon-btn{border-radius:0;background:transparent}.btn-login,.icon-btn{transition:background .3s,color .3s,border-color .3s,transform .3s}.btn-login:hover{background:#fff;color:#03050a;border-color:#fff}

.hero{min-height:calc(100svh - 86px);display:grid;align-items:end;overflow:hidden;background:#020306}
.hero::after{content:'TNT / ROBOTICS';position:absolute;right:-.04em;top:7%;z-index:1;font:800 clamp(72px,15vw,240px)/.75 var(--display);letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.11);writing-mode:vertical-rl;opacity:.5;pointer-events:none}
.hero img{position:absolute;inset:0;height:100%;max-height:none;min-height:0;filter:saturate(.55) contrast(1.16) brightness(.67);transform:scale(1.035);animation:hero-drift 12s ease-out both}
.hero .scrim{background:linear-gradient(90deg,rgba(2,3,6,.97) 0%,rgba(2,3,6,.74) 46%,rgba(2,3,6,.12) 85%),linear-gradient(0deg,#03050a 0%,transparent 32%,rgba(3,5,10,.32))}
.hero-content{padding:clamp(52px,9vh,112px) clamp(20px,4vw,64px);max-width:1440px}
.hero-eyebrow{color:#73c6ff;letter-spacing:.14em;margin-bottom:clamp(22px,4vh,44px)}
.hero h1{font-size:clamp(54px,8.4vw,126px);line-height:.82;letter-spacing:-.055em;max-width:1040px;margin-bottom:clamp(34px,5vh,58px);text-wrap:balance}
.hero-row{align-items:center;gap:16px}.ask-box{border-radius:0;background:rgba(3,5,10,.84);border-color:rgba(255,255,255,.28);box-shadow:none;max-width:420px}.btn-outline-light{border-radius:0;padding:13px 24px;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.link-arrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
@keyframes hero-drift{from{transform:scale(1.12)}to{transform:scale(1.035)}}

.page-banner{min-height:68vh;display:grid;align-items:end;overflow:hidden;background:#020306}
.page-banner img{position:absolute;inset:0;height:100%;max-height:none;filter:saturate(.5) contrast(1.2) brightness(.62);transform:scale(1.04)}
.page-banner .scrim{background:linear-gradient(90deg,rgba(2,3,6,.96),rgba(2,3,6,.28)),linear-gradient(0deg,#03050a,transparent 55%)}
.page-banner-content{padding:clamp(52px,8vw,110px) clamp(20px,4vw,64px);max-width:1440px}
.page-banner h1{font-size:clamp(52px,9vw,132px);line-height:.82;letter-spacing:-.055em;max-width:1050px;margin-block:22px}
.page-banner p{font-size:clamp(15px,1.5vw,20px);line-height:1.5;max-width:600px;color:#c8d0da}

.story-section{--section-pad:clamp(88px,11vw,172px);position:relative}
.story-section:not(.hero):not(.page-banner):not(.tabbar):not(footer){padding-block:var(--section-pad)}
.story-section:not(.hero):not(.page-banner):not(.tabbar):not(footer)::after{content:var(--story-index);position:absolute;top:42px;right:clamp(20px,4vw,64px);font:500 11px/1 var(--mono);letter-spacing:.16em;color:#647081}
.motion-copy{transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1);opacity:.16;transform:translateY(42px)}
.hero .motion-copy,.page-banner .motion-copy{opacity:1;transform:none}
.story-section.is-presented .motion-copy{opacity:1;transform:none}
.why{min-height:76vh;display:flex;align-items:center;border:0;background:linear-gradient(135deg,#080d16,#04070c)}
.why-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(42px,9vw,150px);align-items:center}
.why-h{font-size:clamp(46px,7vw,105px);line-height:.88;letter-spacing:-.05em;margin-top:24px}.why-lede{font-size:clamp(17px,1.55vw,22px);line-height:1.6;color:#aeb8c6}
.eyebrow{color:#73c6ff;letter-spacing:.14em}.eyebrow::before{content:'';display:inline-block;width:32px;height:1px;margin-right:12px;vertical-align:middle;background:currentColor}
.tabbar{position:sticky;top:86px;z-index:30;background:rgba(3,5,10,.9);backdrop-filter:blur(18px);border-block:1px solid var(--line)}
.tabbar .wrap{justify-content:center}.tab{padding:20px clamp(16px,3vw,42px);font-size:11px;letter-spacing:.13em}.tab.active{background:#1597ff;color:#020306;border:0}
.courses{background:#f0f3f5;color:#080b10}.courses .section-head h2,.courses .course-card h3,.courses .course-price,.courses .link-arrow{color:#080b10}.courses .section-head p,.courses .course-body>p,.courses .course-date{color:#5b6572}.courses .section-head h2{font-size:clamp(44px,6vw,90px);line-height:.9;letter-spacing:-.045em}.course-grid{gap:16px;background:transparent;border:0}.course-card{border:0;border-radius:0;background:#f8fafb;box-shadow:none}.course-card:hover{transform:translateY(-10px);box-shadow:0 26px 60px rgba(5,10,18,.18);z-index:2}.course-visual{overflow:hidden}.course-visual img{filter:saturate(.55) contrast(1.08);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s}.course-card:hover .course-visual img{transform:scale(1.055);filter:saturate(.85)}.course-body{padding:clamp(24px,2.5vw,38px)}.level-tag{color:#087bc4}.btn-teal{border-radius:0;background:#0b1017;padding:12px 18px;text-transform:uppercase;letter-spacing:.08em;font-size:10px}
@media (min-width:901px){
  body.courses-page .page-banner{min-height:clamp(400px,56svh,560px)}
  body.courses-page .tabbar + .courses{--section-pad:clamp(56px,4.5vw,72px)}
}
.case{border:0}.case-grid{border:0;grid-template-columns:1.15fr .85fr;align-items:stretch}.case-img{min-height:620px}.case-img img{filter:saturate(.45);transition:filter .6s,transform 1s}.case-grid:hover .case-img img{filter:saturate(.8);transform:scale(1.025)}.case-text{padding:clamp(38px,6vw,92px);background:#0a101a}.case-text h3{font-size:clamp(28px,3.7vw,56px);line-height:1.05;letter-spacing:-.03em}.case-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);gap:0}.case-meta>div{padding:18px 10px 18px 0;border-bottom:1px solid var(--line)}
.about,.contact,.auth,.profile{background:linear-gradient(180deg,#070b12,#03050a)}.about h2,.contact h2,.auth h2{font-size:clamp(38px,5.5vw,78px)!important;line-height:.93!important;letter-spacing:-.045em}.about h2{font-family:var(--body);font-stretch:normal;letter-spacing:-.025em}.panel-grid{gap:1px;background:var(--line)}.panel{border:0;background:#080d15}.panel-img{height:clamp(260px,36vw,480px)}.panel-img img{filter:saturate(.5);transition:transform .9s,filter .5s}.panel:hover img{transform:scale(1.04);filter:saturate(.9)}.panel-body{padding:clamp(28px,4vw,56px)}
.contact-grid,.about-grid{gap:clamp(48px,8vw,130px)}input,textarea,select{border-radius:0!important}.btn-submit,.btn-clear,.btn-outline-dark{border-radius:0!important;text-transform:uppercase;letter-spacing:.08em}
footer{padding-block:clamp(80px,10vw,150px) 36px;background:#020306;border-top:1px solid var(--line)}.foot-grid{gap:clamp(32px,6vw,100px)}.foot-col h4{font-size:12px;letter-spacing:.14em}.foot-col a,.foot-col p{color:#84909f}.foot-col a{transition:color .25s,transform .25s}.foot-col a:hover{color:#fff;transform:translateX(5px)}

body.light-mode{--paper:#edf2f5;--panel:#fff;--ink:#07111d;--muted:#526171;--line:rgba(7,17,29,.16);background:#edf2f5}body.light-mode::before{opacity:.08}body.light-mode header{background:#f8fbff;backdrop-filter:none;-webkit-backdrop-filter:none}body.light-mode .why{background:#fff}body.light-mode .tabbar{background:rgba(245,248,250,.92)}body.light-mode .case-text{background:#fff}body.light-mode .about,body.light-mode .contact,body.light-mode .auth,body.light-mode .profile{background:#edf2f5}body.light-mode footer{background:#dfe6ea}

body.light-mode .panels .panel-grid{background:rgba(7,17,29,.14)}
body.light-mode .panels .panel{background:#fff;color:#07111d;box-shadow:0 18px 48px rgba(20,42,72,.08)}
body.light-mode .panels .panel-body{background:#fff;border-top:1px solid rgba(7,17,29,.1)}
body.light-mode .panels .panel-body h3{color:#07111d}
body.light-mode .panels .panel-body p{color:#526171}

/* Keep interactive states legible on light surfaces. */
body.light-mode header:not(.mobile-menu-open) .btn-login:hover{
  background:#07111d;color:#fff;border-color:#07111d;
}
body.light-mode header:not(.mobile-menu-open) .icon-btn:hover{
  background:#dfe8ff;color:#07111d;border-color:rgba(91,33,182,.48);
}
body.light-mode .link-arrow:hover,
body.light-mode .link-arrow.dark:hover{
  color:#07111d;border-color:#07111d;background:rgba(7,17,29,.06);
}
body.light-mode .course-card:hover{
  background:#fff;border-color:rgba(91,33,182,.48);box-shadow:0 26px 60px rgba(24,46,91,.2);
}
body.light-mode .chat-chips button:hover,
body.light-mode .chat-actions .chat-action:hover{
  background:#5b21b6;color:#fff;border-color:#5b21b6;
}
body.light-mode .project-switcher button:hover{
  background:rgba(21,151,255,.12);color:#07111d;
}
body.light-mode footer .foot-col a:hover{
  color:#07111d;
}

@media (max-width:900px){
  .hero{min-height:82svh}.hero h1{font-size:clamp(48px,11vw,82px)}.hero::after{display:none}.why-grid{grid-template-columns:1fr}.why{min-height:auto}.case-grid{grid-template-columns:1fr}.case-img{min-height:52vw}.tabbar{top:72px}.story-section:not(.hero):not(.page-banner):not(.tabbar):not(footer){padding-block:clamp(72px,12vw,110px)}
}
@media (max-width:620px){
  :root{--site-nav-height:72px}nav{min-height:72px}.brand-text{display:none}.hero-content{padding-bottom:42px}.hero h1{font-size:clamp(43px,13.5vw,64px);line-height:.87}.hero-row{align-items:stretch}.ask-box{max-width:none}.btn-outline-light{display:flex;justify-content:center}.page-banner{min-height:58vh}.page-banner h1{font-size:clamp(43px,13vw,66px)}.why-h{font-size:clamp(42px,12vw,62px)}.tabbar .wrap{justify-content:flex-start}.section-head{align-items:flex-start}.course-grid{grid-template-columns:1fr!important}.case-img{min-height:78vw}.case-text{padding:34px 24px}.case-meta{grid-template-columns:1fr}.pointer-glow{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-copy{opacity:1!important;transform:none!important}.hero img{transform:none}.pointer-glow{display:none}
}

/* ---------- IMMERSIVE NAVIGATION + TRUE DARK SURFACES ---------- */
body.menu-locked{overflow:hidden;}
header{z-index:100;}
body > header{position:sticky!important;z-index:100!important;}
header.mobile-menu-open{background:#020408;transform:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
header.mobile-menu-open .brand{color:#fff;}
header.mobile-menu-open .mark .logo-night{opacity:1;}
header.mobile-menu-open .mark .logo-light{opacity:0;}
header nav{gap:clamp(14px,2vw,28px);}
.nav-right{gap:0;margin-left:auto;}
.site-menu-toggle{display:flex!important;width:72px;height:42px;border:0;border-radius:0;background:transparent;color:#fff;position:relative;}
.site-menu-toggle:hover{background:rgba(255,255,255,.06);transform:none;}
.site-menu-toggle .site-menu-bars,.site-menu-toggle .site-menu-bars::before,.site-menu-toggle .site-menu-bars::after{width:30px;height:1px;background:currentColor;}
.site-menu-toggle .site-menu-bars::before{top:-7px;}.site-menu-toggle .site-menu-bars::after{top:7px;}
.site-menu-toggle b{display:none;color:#73c6ff;font:700 18px/1 var(--mono);letter-spacing:.14em;}
header.mobile-menu-open .site-menu-toggle .site-menu-bars{display:none;}
header.mobile-menu-open .site-menu-toggle b{display:block;}
.site-menu-overlay{
  display:block!important;position:fixed;inset:0;z-index:80;padding-top:86px;overflow:hidden;
  background:radial-gradient(circle at 78% 44%,rgba(21,151,255,.2),transparent 28rem),radial-gradient(circle at 18% 92%,rgba(139,92,246,.16),transparent 26rem),#020408;
  opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(0,-18px,0);
  transition:opacity .45s ease,transform .7s cubic-bezier(.16,1,.3,1),visibility .45s;
  contain:paint;isolation:isolate;backface-visibility:hidden;will-change:opacity,transform;
}
body > #site-menu-overlay.site-menu-overlay{position:fixed!important;z-index:80!important;}
.site-menu-overlay[aria-hidden="false"]{opacity:1;visibility:visible;pointer-events:auto;transform:none;}
.site-menu-inner{height:calc(100svh - 86px);display:grid;grid-template-columns:minmax(220px,.48fr) minmax(420px,1.52fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:clamp(42px,8vw,132px);padding-block:clamp(24px,4vh,46px) 24px;position:relative;z-index:2;}
.site-menu-head{grid-column:1 / -1;display:flex;align-items:flex-start;gap:24px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12);}
.site-menu-kicker{color:#73c6ff;font:650 11px/1.35 var(--mono);letter-spacing:.15em;text-transform:uppercase;}
.site-menu-kicker small{display:block;margin-bottom:7px;color:#667487;font:600 9px/1 var(--mono);letter-spacing:.18em;}
.site-menu-kicker::before{content:'●';display:inline-block;margin-right:10px;color:#21c7ff;font-size:8px;text-shadow:0 0 12px #1597ff;}
.site-menu-aside{grid-column:1;grid-row:2;align-self:center;padding-left:18px;border-left:1px solid rgba(115,198,255,.28);}
.site-menu-aside strong{display:block;color:#fff;font:800 clamp(50px,5.4vw,86px)/.82 var(--display);letter-spacing:-.04em;}
.site-menu-links{grid-column:2;grid-row:2;display:flex;min-width:0;flex-direction:column;justify-content:center;padding:10px 0;}
.site-menu-links a{display:grid!important;grid-template-columns:42px 1fr auto;align-items:center;gap:16px;min-height:auto!important;padding:clamp(9px,1.35vh,15px) 0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.15)!important;color:#fff!important;text-decoration:none!important;background:transparent!important;transform:none;transition:padding .4s cubic-bezier(.16,1,.3,1),color .25s,border-color .25s!important;}
.site-menu-links a:first-child{border-top:1px solid rgba(255,255,255,.16)!important;}
.site-menu-links a span{font:650 9px/1 var(--mono);letter-spacing:.14em;color:#566476;}
.site-menu-links a strong{font:750 clamp(38px,5vw,72px)/.78 var(--display);letter-spacing:-.05em;text-transform:uppercase;}
.site-menu-links a i{font:400 clamp(20px,2vw,30px)/1 var(--body);font-style:normal;color:#657387;opacity:0;transform:translate(-14px,10px);transition:opacity .3s,transform .4s cubic-bezier(.16,1,.3,1);}
.site-menu-links a:hover,.site-menu-links a:focus-visible{padding-left:clamp(10px,2.2vw,34px)!important;color:#73c6ff!important;border-color:#1597ff!important;outline:none;}
.site-menu-links a:hover i,.site-menu-links a:focus-visible i{opacity:1;transform:none;}
.site-menu-links a[aria-current="page"]{color:#73c6ff!important;border-color:rgba(21,151,255,.55)!important;}
.site-menu-links a[aria-current="page"] span{color:#73c6ff;}.site-menu-links a[aria-current="page"] i{opacity:1;transform:none;color:#73c6ff;}
.site-menu-footer{grid-column:1 / -1;grid-row:3;display:flex;align-items:flex-end;gap:24px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);}
.site-menu-utility{display:flex;align-items:center;gap:10px;}
.site-menu-utility .icon-btn{width:44px;height:38px;border-radius:0;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.025);color:#fff;}
.site-menu-utility .nav-account-control{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid rgba(255,255,255,.22);color:#fff;font:650 9px/1 var(--body);letter-spacing:.11em;text-transform:uppercase;text-decoration:none;white-space:nowrap;}
.site-menu-utility .nav-account-control:hover{background:#fff;color:#020408;border-color:#fff;}
.site-menu-utility .nav-account-control.profile-nav-avatar{width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;}
.site-menu-visual{position:absolute;inset:86px 0 0;overflow:hidden;pointer-events:none;}
.site-menu-visual span{position:absolute;left:-.05em;bottom:-.18em;font:900 clamp(180px,35vw,560px)/.75 var(--display);letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);transform:rotate(-6deg);}
.site-menu-visual i{position:absolute;right:10%;top:14%;width:min(30vw,430px);aspect-ratio:1;border:1px solid rgba(21,151,255,.11);border-radius:50%;animation:menu-orbit 14s linear infinite;will-change:transform;backface-visibility:hidden;}
.site-menu-visual i:nth-of-type(2){right:4%;top:24%;width:min(21vw,300px);animation-direction:reverse;animation-duration:9s;}
.site-menu-visual i:nth-of-type(3){right:19%;top:34%;width:min(12vw,180px);animation-duration:6s;}
.site-menu-visual i::after{content:'';position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:#1597ff;box-shadow:0 0 24px #1597ff;}
.site-menu-visual em{position:absolute;inset:0;opacity:.16;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(115,198,255,.07) 4px);mask-image:linear-gradient(to bottom,#000,transparent 82%);}
@keyframes menu-orbit{from{transform:translateZ(0) rotate(0)}to{transform:translateZ(0) rotate(1turn)}}
body.motion-lite .site-menu-visual i{animation:none;will-change:auto;}
body.light-mode header:not(.mobile-menu-open) .site-menu-toggle{color:#07111d;background:transparent;}
body.light-mode header:not(.mobile-menu-open) .site-menu-toggle:hover{background:rgba(7,17,29,.06);}
body.light-mode header.mobile-menu-open{background:#020408;box-shadow:none;}
body.light-mode header.mobile-menu-open .site-menu-toggle{background:rgba(21,151,255,.08);color:#73c6ff;}
body.light-mode .site-menu-overlay{background:radial-gradient(circle at 78% 44%,rgba(21,151,255,.2),transparent 28rem),radial-gradient(circle at 18% 92%,rgba(139,92,246,.16),transparent 26rem),#020408;color:#fff;box-shadow:none;}
body.light-mode .site-menu-overlay .site-menu-kicker,
body.light-mode .site-menu-overlay .site-menu-links a[aria-current="page"]{color:#73c6ff!important;}
body.light-mode .site-menu-overlay .site-menu-utility .icon-btn{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.025);color:#fff;}
body.light-mode .site-menu-overlay .site-menu-utility .nav-account-control{border-color:rgba(255,255,255,.22);color:#fff;}
body.light-mode .site-menu-overlay .site-menu-utility .nav-account-control:hover{background:#fff;color:#020408;}

/* The dark theme is fully dark; the light palette is opt-in only. */
body:not(.light-mode) .courses{background:#05080d;color:var(--ink);}
body:not(.light-mode) .courses .section-head h2,
body:not(.light-mode) .courses .course-card h3,
body:not(.light-mode) .courses .course-price,
body:not(.light-mode) .courses .link-arrow{color:var(--ink);}
body:not(.light-mode) .courses .section-head p,
body:not(.light-mode) .courses .course-body>p,
body:not(.light-mode) .courses .course-date{color:var(--muted);}
body.light-mode .courses .course-grid,
body:not(.light-mode) .courses .course-grid{background:transparent;border:0;}
body:not(.light-mode) .course-card{background:#090e16;}
body:not(.light-mode) .course-card:hover{box-shadow:0 28px 70px rgba(0,0,0,.52);}
body:not(.light-mode) .btn-teal{background:#1597ff;color:#02050a;}
body:not(.light-mode) .office-map{filter:saturate(.92) contrast(1.04) brightness(.88);}

@media (max-width:900px){
  .site-menu-overlay{padding-top:72px;}.site-menu-inner{height:calc(100svh - 72px);grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding-block:22px 20px;}
  .site-menu-head{grid-column:1}.site-menu-aside{display:none}.site-menu-links{grid-column:1;grid-row:2}.site-menu-footer{grid-column:1;grid-row:3}.site-menu-visual{inset:72px 0 0;}
  .site-menu-links a strong{font-size:clamp(42px,9.6vw,66px)}
}
@media (max-width:560px){
  .site-menu-toggle{width:54px;height:38px}.site-menu-toggle .site-menu-bars,.site-menu-toggle .site-menu-bars::before,.site-menu-toggle .site-menu-bars::after{width:24px}
  .site-menu-inner{padding-inline:20px}.site-menu-head{align-items:center}.site-menu-kicker small{display:none}.site-menu-links a{grid-template-columns:30px 1fr auto;gap:8px;padding-block:clamp(8px,1.2vh,12px)!important}.site-menu-links a strong{font-size:clamp(36px,12vw,52px)}
  .site-menu-footer{align-items:center}.site-menu-utility .nav-account-control{padding-inline:12px}
  .site-menu-visual span{font-size:62vw}.site-menu-visual i{width:70vw;right:-26%;top:24%}
}
@media (prefers-reduced-motion:reduce){.site-menu-visual i{animation:none}.site-menu-overlay{transform:none}}

/* ---------- HOME: CONTINUOUS ROBOT CINEMATIC ---------- */
.home-robot-story.hero{height:520svh;min-height:0;display:block;overflow:visible;background:#020408;isolation:isolate;}
body.home-showcase-locked .home-robot-story.hero{height:100svh;}
.home-robot-story.hero::after{display:none;}
.home-robot-sticky{position:sticky;top:var(--site-nav-height);height:calc(100svh - var(--site-nav-height));min-height:calc(620px - var(--site-nav-height));overflow:hidden;background:radial-gradient(circle at 64% 47%,#0a1b2e 0%,#040911 34%,#020408 70%);}
.home-showcase-canvas{position:absolute;inset:0;z-index:1;overflow:hidden;}
.home-showcase-canvas canvas{display:block;width:100%!important;height:100%!important;outline:0;}
.home-showcase-grid{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(115,198,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(115,198,255,.16) 1px,transparent 1px);background-size:80px 80px;transform:perspective(700px) rotateX(68deg) translateY(52%);transform-origin:center bottom;mask-image:linear-gradient(to top,#000,transparent 72%);}
.home-robot-story .scrim{z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(2,4,8,.96) 0%,rgba(2,4,8,.66) 29%,rgba(2,4,8,.08) 56%,rgba(2,4,8,.14) 100%),linear-gradient(0deg,rgba(2,4,8,.92),transparent 30%,rgba(2,4,8,.32));}
.home-robot-story::before{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.08) 50%,transparent 50.1%);opacity:.35;}
.home-robot-intro,.home-stage-copy{position:absolute;z-index:5;left:clamp(20px,4vw,64px);width:min(720px,calc(100vw - 40px));transition:opacity .08s linear,transform .08s linear;will-change:opacity,transform;}
.home-robot-intro{--copy-opacity:1;--copy-x:0px;bottom:clamp(42px,6vh,72px);width:min(980px,calc(100vw - 40px));padding:0;max-width:1440px;margin:0;opacity:var(--copy-opacity);transform:translate3d(var(--copy-x),0,0);pointer-events:auto;}
.home-robot-intro h1{font-size:clamp(50px,6.2vw,88px);line-height:.86;max-width:800px;margin-bottom:16px;text-shadow:0 12px 60px rgba(0,0,0,.75);}
.hero-chat-lead{max-width:650px;margin:0 0 18px;color:#b7c3d3;font-size:clamp(14px,1.25vw,17px);line-height:1.55;text-shadow:0 4px 24px rgba(0,0,0,.72);}
.home-robot-intro .hero-row{display:grid;grid-template-columns:minmax(0,590px) 238px;align-items:stretch;gap:14px;max-width:842px;}
.home-robot-intro .ask-box:not(.chat-active){max-width:none;height:100%;min-height:102px;padding:9px 11px 8px;border-radius:12px;border-color:rgba(115,198,255,.34);background:linear-gradient(145deg,rgba(8,19,39,.96),rgba(5,10,23,.96));box-shadow:0 18px 52px rgba(0,0,0,.42),0 0 26px rgba(21,151,255,.08),0 0 0 1px rgba(255,255,255,.025) inset;overflow:hidden;}
.home-robot-intro .ask-box:not(.chat-active)::before{content:'';position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(180deg,#73c6ff,#7c3aed);box-shadow:0 0 14px rgba(21,151,255,.45);pointer-events:none;}
.home-robot-intro .ask-box:not(.chat-active) .chat-composer{min-height:49px;padding:0 66px 0 8px;}
.home-robot-intro .ask-box:not(.chat-active) .chat-composer::before{content:'✦';flex:0 0 auto;color:#73c6ff;font-size:15px;text-shadow:0 0 14px rgba(21,151,255,.8);}
.home-robot-intro .ask-box:not(.chat-active) input{font-size:15px;color:#f2f7ff;}
.home-robot-intro .ask-box:not(.chat-active) input::placeholder{color:#aebbd0;opacity:1;}
.home-robot-intro .ask-box:not(.chat-active) [data-chat-send]{position:absolute;top:50%;right:14px;width:46px;height:46px;border:1px solid transparent;border-radius:50%;color:#dff2ff;background:linear-gradient(145deg,rgba(12,35,67,.98),rgba(18,20,51,.98)) padding-box,linear-gradient(135deg,#73c6ff,#8b5cf6) border-box;box-shadow:0 8px 22px rgba(21,151,255,.18),0 0 18px rgba(124,58,237,.09) inset;transform:translateY(-50%);}
.home-robot-intro .ask-box:not(.chat-active) [data-chat-send] .chat-launch-icon{width:23px;height:23px;}
.home-robot-intro .ask-box:not(.chat-active) [data-chat-send]::before{content:'';position:absolute;left:-12px;top:9px;bottom:9px;width:1px;background:rgba(115,198,255,.14);pointer-events:none;}
.home-robot-intro .ask-box:not(.chat-active) [data-chat-send]:hover{color:#fff;transform:translate(1px,-50%) scale(1.04);box-shadow:0 10px 26px rgba(21,151,255,.28),0 0 20px rgba(124,58,237,.13) inset;}
.home-robot-intro .chat-launcher-prompts{flex-wrap:nowrap;gap:6px;padding:4px 66px 2px 30px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;}
.home-robot-intro .chat-launcher-prompts::-webkit-scrollbar{display:none;}
.home-robot-intro .chat-launcher-prompts button{flex:0 0 auto;height:25px!important;padding-inline:10px!important;border-color:rgba(115,198,255,.18)!important;background:rgba(115,198,255,.055)!important;color:#91a1b7!important;}
.home-course-cta{position:relative;display:grid!important;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center;column-gap:14px;min-width:0;min-height:102px;padding:17px 18px!important;border-radius:12px!important;border-color:rgba(115,198,255,.26)!important;background:linear-gradient(145deg,rgba(8,17,35,.88),rgba(5,9,19,.9));box-shadow:0 18px 48px rgba(0,0,0,.3);color:#fff!important;text-align:left;overflow:hidden;transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease!important;}
.home-course-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(115,198,255,.08),transparent 68%);transform:translateX(-100%);transition:transform .55s cubic-bezier(.16,1,.3,1);}
.home-course-cta span{position:relative;color:#77879c;font:700 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;}
.home-course-cta strong{position:relative;margin-top:8px;font:650 14px/1.15 var(--body);letter-spacing:.04em;text-transform:uppercase;}
.home-course-cta i{position:relative;grid-column:2;grid-row:1 / 3;align-self:center;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(115,198,255,.24);border-radius:50%;color:#73c6ff;font:400 18px/1 var(--body);font-style:normal;transition:transform .24s ease,border-color .24s ease,background .24s ease;}
.home-course-cta:hover{transform:translateY(-2px);border-color:rgba(115,198,255,.55)!important;background:linear-gradient(145deg,rgba(10,24,49,.96),rgba(6,12,27,.96));box-shadow:0 22px 56px rgba(0,0,0,.38),0 0 24px rgba(21,151,255,.08);}
.home-course-cta:hover::before{transform:translateX(100%);}
.home-course-cta:hover i{transform:translate(2px,-2px);border-color:#73c6ff;background:rgba(21,151,255,.1);}
body.light-mode .home-robot-intro .ask-box:not(.chat-active){background:linear-gradient(145deg,rgba(8,19,39,.96),rgba(5,10,23,.96));border-color:rgba(115,198,255,.34);box-shadow:0 18px 52px rgba(0,0,0,.42),0 0 26px rgba(21,151,255,.08);}
body.light-mode .home-robot-intro .ask-box:not(.chat-active) input{color:#f2f7ff;}
body.light-mode .home-robot-intro .ask-box:not(.chat-active) input::placeholder{color:#aebbd0;}
body.light-mode .home-robot-intro .chat-launcher-prompts button{color:#91a1b7!important;border-color:rgba(115,198,255,.18)!important;background:rgba(115,198,255,.055)!important;}
.home-stage-copy{--copy-opacity:0;--copy-x:78px;top:50%;opacity:var(--copy-opacity);transform:translate3d(var(--copy-x),-50%,0);pointer-events:none;}
.home-stage-copy>span{display:block;margin-bottom:22px;color:#73c6ff;font:650 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;}
.home-stage-copy>span::before{content:'';display:inline-block;width:36px;height:1px;margin-right:12px;background:currentColor;vertical-align:middle;}
.home-stage-copy h2{font:700 clamp(54px,7.4vw,112px)/.79 var(--display);letter-spacing:-.055em;text-transform:uppercase;color:#fff;text-shadow:0 12px 60px rgba(0,0,0,.65);}
.home-stage-copy p{max-width:520px;margin-top:26px;color:#aeb9c7;font-size:clamp(15px,1.25vw,18px);line-height:1.65;}
.home-stage-copy a{display:inline-flex;margin-top:28px;padding-bottom:4px;border-bottom:1px solid #73c6ff;color:#fff;text-decoration:none;font:650 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;}
.home-stage-cross{left:50%;top:50%;width:min(900px,calc(100vw - 40px));text-align:center;transform:translate3d(calc(-50% + var(--copy-x)), -50%,0);}
.home-stage-cross p{margin-inline:auto;}.home-stage-cross h2{font-size:clamp(58px,8.5vw,132px);}
.home-robot-story:has([data-stage="crossover"]) .scrim{background:radial-gradient(circle,rgba(2,4,8,.24),rgba(2,4,8,.85));}
.home-robot-story:has([data-stage="puppy"]) .scrim{background:linear-gradient(90deg,rgba(2,4,8,.94),rgba(2,4,8,.58) 32%,transparent 64%),linear-gradient(0deg,rgba(2,4,8,.8),transparent 38%);}
.home-robot-story:has([data-stage="ainex"]) .scrim{background:linear-gradient(90deg,rgba(2,4,8,.96),rgba(7,8,24,.62) 34%,transparent 67%),linear-gradient(0deg,rgba(2,4,8,.84),transparent 42%);}
.home-showcase-rail{position:absolute;z-index:6;right:clamp(20px,3vw,50px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:#667487;font:600 9px/1 var(--mono);}
.home-showcase-rail i{display:block;width:1px;height:70px;background:rgba(255,255,255,.2);position:relative;overflow:hidden;}
.home-showcase-rail i::after{content:'';position:absolute;inset:0;background:#1597ff;transform:scaleY(0);transform-origin:top;transition:transform .8s ease;}
.home-robot-story:has([data-stage="arm"]) .home-showcase-rail i:first-of-type::after,
.home-robot-story:has([data-stage="crossover"]) .home-showcase-rail i:first-of-type::after,
.home-robot-story:has([data-stage="puppy"]) .home-showcase-rail i:nth-of-type(-n+2)::after,
.home-robot-story:has([data-stage="ainex"]) .home-showcase-rail i::after{transform:scaleY(1);}
.home-scroll-cue{position:absolute;z-index:6;right:clamp(20px,4vw,64px);bottom:30px;color:#718094;font:600 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;}
.home-scroll-cue span{display:inline-block;margin-top:10px;color:#73c6ff;animation:scroll-cue 1.5s ease-in-out infinite;}
@keyframes scroll-cue{50%{transform:translateY(7px)}}
.home-showcase-loader{position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:12px;transform:translate(-50%,-50%);color:#718094;font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:opacity .4s;}
.home-showcase-loader span{width:22px;height:22px;border:1px solid rgba(115,198,255,.22);border-top-color:#73c6ff;border-radius:50%;animation:showcase-load .8s linear infinite;}
@keyframes showcase-load{to{transform:rotate(1turn)}}
.home-showcase-canvas[data-ready="true"] .home-showcase-loader{opacity:0;}
.home-showcase-canvas[data-error="true"] .home-showcase-loader{color:#aeb9c7;}
.home-showcase__status{position:absolute;left:50%;bottom:22px;z-index:8;max-width:min(520px,calc(100% - 40px));transform:translateX(-50%);padding:10px 14px;border:1px solid rgba(255,255,255,.14);background:rgba(2,4,8,.82);color:#aeb9c7;font:600 10px/1.45 var(--mono);letter-spacing:.06em;text-align:center;}
.home-showcase-canvas[data-showcase-state="loading"] .home-showcase__status{opacity:0;}
.home-showcase-canvas[data-showcase-state="fallback"] .home-showcase-loader{display:none;}

@media (max-width:900px){
  .home-robot-story.hero{height:480svh}.home-robot-sticky{min-height:calc(560px - var(--site-nav-height))}.home-robot-story .scrim{background:linear-gradient(0deg,rgba(2,4,8,.98) 0%,rgba(2,4,8,.78) 35%,rgba(2,4,8,.05) 72%)}
  .home-robot-intro,.home-stage-copy{left:20px;right:20px;top:auto;bottom:clamp(42px,7vh,72px);width:auto;transform:translate3d(var(--copy-x),0,0)}
  .home-robot-intro{padding:0}.home-robot-intro h1{font-size:clamp(44px,9.4vw,68px)}.hero-chat-lead{max-width:560px}.home-robot-intro .hero-row{grid-template-columns:minmax(0,1fr) 210px}.home-stage-copy h2{font-size:clamp(44px,10vw,72px)}.home-stage-copy p{font-size:14px;max-width:560px;margin-top:16px}.home-stage-copy a{margin-top:18px}
  .home-stage-cross{left:20px;text-align:left;transform:translate3d(var(--copy-x),0,0)}.home-stage-cross p{margin-left:0}
  .home-showcase-rail{right:12px}.home-scroll-cue{display:none}.home-showcase-grid{background-size:48px 48px}
}
@media (max-width:560px){
  .home-robot-story.hero{height:460svh}.home-robot-intro{bottom:18px}.home-robot-intro h1{font-size:clamp(38px,10.8vw,52px);margin-bottom:12px}.home-robot-intro .hero-eyebrow{margin-bottom:12px}.hero-chat-lead{margin-bottom:13px;font-size:13px}.home-robot-intro .hero-row{grid-template-columns:1fr;gap:9px}.home-robot-intro .ask-box{order:1;min-height:94px}.home-robot-intro .ask-box:not(.chat-active) .chat-composer{padding-right:54px}.home-robot-intro .ask-box:not(.chat-active) [data-chat-send]{top:13px;right:12px;width:40px;height:40px;transform:none}.home-course-cta{order:2;width:100%;min-height:58px;padding:12px 15px!important}.home-course-cta strong{margin-top:6px;font-size:12px}.home-course-cta i{width:30px;height:30px}.home-robot-intro .chat-launcher-prompts{padding-left:28px;padding-right:12px}.home-stage-copy{bottom:38px;padding-right:22px}.home-stage-copy>span{margin-bottom:14px;font-size:9px}.home-stage-copy h2{font-size:clamp(40px,12vw,58px)}.home-stage-copy p{line-height:1.5}.home-showcase-rail{display:none}
  .home-robot-intro .ask-box:not(.chat-active) [data-chat-send]:hover{transform:translateX(1px) scale(1.04)}
}
@media (prefers-reduced-motion:reduce){
  .home-robot-story.hero{height:calc(100svh - var(--site-nav-height))}.home-robot-intro{opacity:1!important;transform:none!important;pointer-events:auto!important}.home-stage-copy,.home-showcase-rail,.home-scroll-cue{display:none}.home-showcase-loader span{animation:none}
}

/* ---------- COURSES: POINTER-WEIGHTED CARDS ---------- */
.course-card.is-pointer-weighted{
  position:relative;
  transform-origin:center;
  transform-style:preserve-3d;
  backface-visibility:hidden;
  isolation:isolate;
}
.course-card.is-pointer-weighted::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at var(--card-pointer-x,50%) var(--card-pointer-y,50%),rgba(0,0,0,.28) 0,rgba(21,151,255,.09) 19%,transparent 52%);
  transition:opacity .18s ease;
}
body .course-card.is-pointer-weighted.is-tilting,
body .course-card.is-pointer-weighted.is-settling{
  will-change:transform;
  transition:transform .14s cubic-bezier(.2,.72,.2,1),box-shadow .22s ease,border-color .2s ease,opacity .6s ease;
}
.course-card.is-pointer-weighted.is-tilting{
  z-index:5;
  border-color:rgba(21,151,255,.58);
  box-shadow:var(--card-shadow-x,0px) var(--card-shadow-y,27px) 66px rgba(3,8,18,.34);
}
.course-card.is-pointer-weighted.is-tilting::before{opacity:1;}
body:not(.light-mode) .course-card.is-pointer-weighted.is-tilting{
  box-shadow:var(--card-shadow-x,0px) var(--card-shadow-y,27px) 72px rgba(0,0,0,.58),0 0 0 1px rgba(21,151,255,.14);
}
body.light-mode .course-card.is-pointer-weighted::before{
  background:radial-gradient(circle at var(--card-pointer-x,50%) var(--card-pointer-y,50%),rgba(7,17,29,.13) 0,rgba(21,151,255,.08) 22%,transparent 54%);
}
body.light-mode .course-card.is-pointer-weighted.is-tilting{
  box-shadow:var(--card-shadow-x,0px) var(--card-shadow-y,27px) 62px rgba(16,35,64,.24),0 0 0 1px rgba(8,123,196,.13);
}
@media (hover:none),(pointer:coarse){
  .course-card.is-pointer-weighted{transform:none!important;}
  .course-card.is-pointer-weighted::before{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .course-card.is-pointer-weighted{transform:none!important;will-change:auto;}
  .course-card.is-pointer-weighted::before{display:none;}
}

/* ---------- ABOUT: TNT PODCAST ---------- */
.podcast-showcase{
  overflow:hidden;
  border-block:1px solid rgba(115,198,255,.14);
  background:
    radial-gradient(circle at 88% 8%,rgba(124,58,237,.2),transparent 30%),
    linear-gradient(145deg,#02050a 0%,#07101d 58%,#08051a 100%);
  color:#f5f8fc;
}
.podcast-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:clamp(36px,7vw,110px);align-items:end;margin-bottom:clamp(38px,6vw,72px);}
.podcast-heading h2{max-width:850px;margin-top:22px;font:750 clamp(48px,7.2vw,104px)/.86 var(--display);letter-spacing:-.055em;text-transform:uppercase;text-wrap:balance;}
.podcast-heading>p{max-width:470px;color:#aab6c5;font-size:clamp(15px,1.3vw,18px);line-height:1.65;}
.podcast-stage{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(270px,.48fr);border:1px solid rgba(115,198,255,.2);background:#020408;box-shadow:0 34px 90px rgba(0,0,0,.4);}
.podcast-player-shell{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;}
.podcast-player-shell::before{content:'TNT / PODCAST';position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:#526175;font:600 10px/1 var(--mono);letter-spacing:.16em;}
.podcast-player-shell iframe{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;}
.podcast-now-playing{display:flex;flex-direction:column;min-width:0;padding:clamp(26px,3.2vw,48px);border-left:1px solid rgba(115,198,255,.2);background:linear-gradient(160deg,#0b1421,#090a18);}
.podcast-counter{display:flex;gap:9px;align-items:baseline;color:#65758a;font:500 11px/1 var(--mono);letter-spacing:.12em;}
.podcast-counter [data-podcast-current]{color:#73c6ff;font-size:clamp(34px,4vw,58px);letter-spacing:-.06em;}
.podcast-label{margin-top:auto;padding-top:34px;color:#8390a1;font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;}
.podcast-now-playing h3{margin-top:14px;color:#fff;font:680 clamp(21px,2.15vw,34px)/1.12 var(--display);letter-spacing:-.026em;text-wrap:balance;}
.podcast-controls{display:flex;gap:8px;margin-top:clamp(28px,4vw,52px);}
.podcast-controls button{width:50px;height:46px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-size:20px;cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease;}
.podcast-controls button:hover{border-color:#73c6ff;background:#73c6ff;color:#02050a;transform:translateY(-2px);}
.podcast-playlist-link{align-self:flex-start;margin-top:24px;padding-bottom:5px;border-bottom:1px solid #73c6ff;color:#dbe7f4;text-decoration:none;font:650 10px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;}
.podcast-playlist-link:hover{color:#73c6ff;}

@media (min-width:981px){
  .podcast-now-playing{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;}
  .podcast-label{margin-top:0;}
  .podcast-now-playing h3{align-self:start;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:6;}
  .podcast-controls{margin-top:24px;}
}

.podcast-strip{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:10px;margin-top:14px;padding-bottom:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-color:#31516f transparent;}
.podcast-card{min-width:0;padding:0;border:1px solid rgba(255,255,255,.12);background:#080d15;color:#fff;text-align:left;cursor:pointer;scroll-snap-align:center;transition:border-color .22s ease,background .22s ease,transform .22s ease;}
.podcast-card:hover{border-color:rgba(115,198,255,.65);transform:translateY(-3px);}
.podcast-card.is-active{border-color:#73c6ff;background:#0c1724;box-shadow:inset 0 -3px #73c6ff;}
.podcast-card-visual{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#03060a;}
.podcast-card-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(1,3,7,.48),transparent 60%);}
.podcast-card-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.06);transition:transform .5s ease,filter .35s ease;}
.podcast-card:hover img,.podcast-card.is-active img{transform:scale(1.04);filter:saturate(1);}
.podcast-card-play{position:absolute;left:14px;bottom:12px;z-index:1;display:grid;place-items:center;width:32px;height:32px;padding-left:2px;border-radius:50%;background:#ff1744;color:#fff;font-size:10px;box-shadow:0 8px 22px rgba(0,0,0,.35);}
.podcast-card-copy{display:grid;grid-template-columns:27px minmax(0,1fr);gap:10px;padding:16px;}
.podcast-card-copy>span{padding-top:3px;color:#65758a;font:600 9px/1 var(--mono);}
.podcast-card-copy strong{display:-webkit-box;overflow:hidden;color:#dbe3ed;font-size:12px;line-height:1.42;font-weight:600;-webkit-box-orient:vertical;-webkit-line-clamp:3;}
.podcast-card.is-active .podcast-card-copy>span{color:#73c6ff;}
.podcast-card.is-active .podcast-card-copy strong{color:#fff;}
.podcast-status{min-height:20px;margin-top:9px;color:#728094;font:500 10px/1.4 var(--mono);}

body.light-mode .podcast-showcase{border-color:rgba(7,17,29,.12);background:radial-gradient(circle at 88% 8%,rgba(124,58,237,.1),transparent 31%),linear-gradient(145deg,#f8fbff,#e9f0f6);color:#07111d;}
body.light-mode .podcast-heading>p{color:#526171;}
body.light-mode .podcast-stage{border-color:rgba(7,17,29,.17);box-shadow:0 30px 72px rgba(20,42,72,.14);}
body.light-mode .podcast-now-playing{border-color:rgba(7,17,29,.14);background:#fff;}
body.light-mode .podcast-now-playing h3{color:#07111d;}
body.light-mode .podcast-label{color:#607083;}
body.light-mode .podcast-controls button{border-color:rgba(7,17,29,.2);color:#07111d;}
body.light-mode .podcast-controls button:hover{border-color:#07111d;background:#07111d;color:#fff;}
body.light-mode .podcast-playlist-link{color:#07111d;}
body.light-mode .podcast-card{border-color:rgba(7,17,29,.14);background:#fff;color:#07111d;}
body.light-mode .podcast-card:hover,body.light-mode .podcast-card.is-active{border-color:#087bc4;background:#fff;box-shadow:inset 0 -3px #087bc4;}
body.light-mode .podcast-card-copy strong,body.light-mode .podcast-card.is-active .podcast-card-copy strong{color:#07111d;}
body.light-mode .podcast-card.is-active .podcast-card-copy>span{color:#087bc4;}

@media (max-width:980px){
  .podcast-heading{grid-template-columns:1fr;gap:24px;}.podcast-heading>p{max-width:650px;}.podcast-stage{grid-template-columns:1fr;}.podcast-now-playing{border-left:0;border-top:1px solid rgba(115,198,255,.2);}.podcast-label{margin-top:0;}.podcast-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,38vw);}
}
@media (max-width:620px){
  .podcast-heading h2{font-size:clamp(43px,12vw,62px);}.podcast-stage{margin-inline:-20px;border-inline:0;}.podcast-now-playing{padding:26px 20px 30px;}.podcast-strip{margin-right:-20px;grid-auto-columns:minmax(238px,78vw);}.podcast-card-copy{padding:14px;}.podcast-controls button{width:48px;height:44px;}
}
@media (prefers-reduced-motion:reduce){
  .podcast-card,.podcast-card img,.podcast-controls button{transition:none;}.podcast-card:hover{transform:none;}
}

/* Keep the wide electronics logo legible in the compact mobile header. */
@media (max-width:620px){
  .mark{width:96px;height:36px;}
  .mark .logo-night,.mark .logo-light{width:96px;height:auto;transform:none;}
}

/* Show every course filter without relying on a hidden horizontal swipe. */
body:is(.courses-page,.home-page) .tabbar{
  position:relative;
  top:auto;
}
body.home-page .tabbar + .courses{
  padding-top:clamp(44px,5vw,72px);
}

@media (max-width:480px){
  body:is(.courses-page,.home-page) .tabbar .wrap{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:minmax(48px,auto);
    justify-content:stretch;
    overflow:visible;
  }
  body:is(.courses-page,.home-page) .tab{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    min-height:48px;
    padding:11px 8px;
    white-space:normal;
    font-size:10.5px;
    line-height:1.2;
    letter-spacing:.08em;
    text-align:center;
  }
}
