/* ALPS crystal material system. Transparent surfaces share the moving backdrop. */
:root,:root[data-theme="dark"]{
  --g-primary-fill:linear-gradient(135deg,rgba(225,225,225,.13),rgba(39,39,39,.46) 42%,rgba(19,19,19,.58));
  --g-primary-edge:rgba(236,236,236,.23);
  --g-primary-inner:inset 0 1px 0 rgba(255,255,255,.3),inset 1px 0 0 rgba(255,255,255,.06),inset 0 -1px 0 rgba(255,255,255,.05);
  --g-primary-shadow:0 24px 64px -30px rgba(0,0,0,.72),0 4px 12px -6px rgba(0,0,0,.4);
  --g-secondary-fill:linear-gradient(125deg,rgba(230,230,230,.09),rgba(35,35,35,.28));
  --g-secondary-edge:rgba(239,239,239,.15);
  --g-instrument-fill:linear-gradient(145deg,rgba(221,221,221,.08),rgba(18,18,18,.4));
  --g-elevated-fill:linear-gradient(135deg,rgba(59,59,59,.94),rgba(21,21,21,.96));
  --g-nav-fill:linear-gradient(110deg,rgba(125,125,125,.18),rgba(27,27,27,.66) 48%,rgba(79,79,79,.24));
  --g-nav-edge:rgba(236,236,236,.24);
  --glass-glint:rgba(239,239,239,.22);
  --muted:#b7b7b7;
  --grain-a:.025;--silk-grain:.009;--silk-strength:.36;
}
:root[data-theme="light"]{
  --g-primary-fill:linear-gradient(135deg,rgba(255,255,255,.77),rgba(251,251,251,.29) 46%,rgba(238,238,238,.48));
  --g-primary-edge:rgba(255,255,255,.88);
  --g-primary-inner:inset 0 1px 0 #fff,inset 1px 0 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(113,113,113,.12);
  --g-primary-shadow:0 26px 64px -32px rgba(49,49,49,.3),0 2px 8px -4px rgba(58,58,58,.16);
  --g-secondary-fill:linear-gradient(125deg,rgba(255,255,255,.52),rgba(240,240,240,.23));
  --g-secondary-edge:rgba(255,255,255,.7);
  --g-instrument-fill:linear-gradient(145deg,rgba(255,255,255,.48),rgba(236,236,236,.27));
  --g-elevated-fill:linear-gradient(135deg,rgba(255,255,255,.97),rgba(238,238,238,.96));
  --g-nav-fill:linear-gradient(110deg,rgba(255,255,255,.73),rgba(253,253,253,.42) 48%,rgba(240,240,240,.62));
  --g-nav-edge:rgba(255,255,255,.94);
  --glass-glint:rgba(255,255,255,.95);
  --muted:#505050;
  --grain-a:.015;--silk-grain:.006;--silk-strength:.3;
}
.topbar{backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);box-shadow:var(--g-primary-inner),0 14px 44px -26px rgba(32,32,32,.45)}
@media(min-width:1025px){
  .nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;height:68px}
  .nav-links{justify-self:center;gap:0;white-space:nowrap}
  .nav-links a{padding:10px 10px;font-size:13px}
  .nav-tools{justify-self:end}
  .brand{justify-self:start}
  .brand span{display:none}
}
@media(min-width:1600px){.brand span{display:inline}.nav-links a{padding-inline:13px}}
@media(min-width:1025px) and (max-width:1170px){.nav-cta{font-size:11px;padding-inline:10px}.nav-tools{gap:7px}.nav-links a{padding-inline:7px;font-size:12px}.brand b{font-size:10px}.brand{gap:7px}}
.console-shell,.console-float,.hero-fact,.gain-card,.invest,.fit-shell,.performance,
.faq-hero,.faq-index,.application,.apply-form,.form-shell,.discord-panel{
  background:var(--g-primary-fill);border:1px solid var(--g-primary-edge);
  box-shadow:var(--g-primary-inner),var(--g-primary-shadow);
  -webkit-backdrop-filter:blur(24px) saturate(130%);backdrop-filter:blur(24px) saturate(130%);
}
.console-shell{border-radius:28px}
.console-float{border-radius:22px}
.console-top,.console-chart,.console-metrics>div{background:var(--g-instrument-fill)}
.gain-card{border-radius:22px;padding:28px}
.gain-card h4{font-size:20px}.gain-card p{font-size:15px;line-height:1.75}
.faq-hero{border-radius:32px;position:relative;isolation:isolate;padding:clamp(28px,4.5vw,64px)}
.faq-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 90% 12%,var(--glass-glint),transparent 55%)}
.faq-index{border-radius:20px}
.faq-accordion details{background:var(--g-secondary-fill);border:1px solid var(--g-secondary-edge);border-radius:16px;margin-bottom:10px;padding-inline:22px;backdrop-filter:blur(16px)}
.faq-globe-wrap{width:min(440px,100%)}
.faq-globe-halo{inset:8%;background:radial-gradient(circle,rgba(177,177,177,.12),transparent 70%);filter:blur(18px)}
.faq-globe{filter:drop-shadow(0 22px 20px rgba(25,25,25,.22));outline-offset:4px}
.faq-globe-caption{left:50%;bottom:-5%;transform:translateX(-50%);text-align:center;white-space:nowrap;font-size:10px}
.faq-globe-caption b{font-size:12px;letter-spacing:.14em}
.globe-toggle{display:block;margin:8px auto 0;border:1px solid var(--line-2);border-radius:999px;padding:6px 11px;color:var(--muted);background:var(--g-secondary-fill);font:500 11px var(--mono);cursor:pointer}
.live-calendar{padding:32px;border:1px solid var(--g-primary-edge);border-radius:24px;background:var(--g-primary-fill);box-shadow:var(--g-primary-inner)}
.live-calendar[hidden]{display:none}
.live-calendar h3{font:400 32px/1.1 var(--display);margin:18px 0 14px}
.live-calendar p{font-size:15px;line-height:1.7;color:var(--muted);max-width:52ch;margin-bottom:24px}
/* Two distinct editorial sequences, with no connector drawn through the numbers. */
.journey{gap:18px;border:0}
.journey:before,.journey:after,.step-card:before,.step-card:after,.step-rule{display:none!important}
.step-card{padding:30px;position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--g-primary-edge);border-radius:24px;background:var(--g-primary-fill);box-shadow:var(--g-primary-inner),var(--g-primary-shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transition:border-color .3s,box-shadow .3s}
.step-node{position:static;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 0 38px;border:1px solid var(--g-primary-edge);border-radius:14px;background:var(--g-secondary-fill);box-shadow:var(--g-primary-inner);font:500 13px var(--mono);letter-spacing:.08em;color:var(--text-2)}
.step-card h3{font-size:30px;line-height:1.12;margin:0 0 16px}
.step-card p{font-size:15px;line-height:1.75;margin:0;max-width:36ch;color:var(--muted)}
#process .journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#process .step-card{display:grid;grid-template-columns:72px 1fr;column-gap:24px;padding:38px;align-content:start;min-height:220px}
#process .step-node{grid-column:1;grid-row:1 / 3;width:64px;height:72px;margin:0;border:0;border-radius:0;background:none;box-shadow:none;font:400 60px/.95 var(--display);letter-spacing:-.06em;color:var(--text);opacity:.4;justify-content:start;align-items:start}
#process .step-card h3{grid-column:2;font-size:34px}
#process .step-card p{grid-column:2;max-width:40ch}
#gain .journey{padding:12px;gap:0;border:1px solid var(--g-primary-edge);border-radius:30px;background:var(--g-secondary-fill);box-shadow:var(--g-primary-inner);backdrop-filter:blur(18px)}
#gain .step-card{border:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:20px;padding:24px;transition:background .3s}
#gain .step-card:nth-child(even){background:var(--g-secondary-fill)}
#gain .step-node{width:auto;height:auto;display:block;margin-bottom:34px;border:0;box-shadow:none;background:none;font-size:12px;letter-spacing:.14em;color:var(--muted)}
#gain .step-node:after{content:" / 12 WEEKS";opacity:.6}
#gain .step-card h3{font-size:28px}
@media(hover:hover){
  .step-card:hover{transform:none;border-color:var(--glass-glint);box-shadow:var(--g-primary-inner),0 24px 56px -30px rgba(59,59,59,.32)}
  #gain .step-card:hover{background:var(--g-primary-fill);box-shadow:none}
}
@media(max-width:1024px){#gain .journey{grid-template-columns:1fr 1fr}.nav-links.open a:nth-child(7){animation-delay:.35s}}
@media(max-width:680px){
  #process .journey,#gain .journey{grid-template-columns:1fr}
  #process .step-card{grid-template-columns:48px 1fr;gap:0 18px;padding:26px 22px;min-height:0}
  #process .step-node{width:48px;font-size:44px}
  #process .step-card h3{font-size:28px;margin-bottom:12px}
  .step-card p{font-size:15px;line-height:1.7}
  #gain .journey{padding:8px}
  #gain .step-card{padding:26px}
  #gain .step-node{margin-bottom:18px}
  .faq-hero{padding:28px 24px 48px;border-radius:26px}
  .faq-globe-wrap{width:min(340px,100%)}
  .gain-card{padding:24px}
}
@media(prefers-reduced-motion:reduce){.step-card{transition:none}.globe-toggle{display:none}}

/* Every panel owns its rounded border; grids own only spacing. */
.gain-grid{gap:22px;border:0;background:none;box-shadow:none;border-radius:0}
.gain-card{padding:32px;border-radius:26px;min-width:0;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.gain-label{font-size:11px;color:var(--muted);margin-bottom:26px}
.gain-card h4{font-size:27px;max-width:23ch;line-height:1.16}
.gain-card p{max-width:52ch}
.invest{padding:14px;border-radius:30px;overflow:hidden;margin-top:0}
.invest-figures{gap:12px;border:0;border-radius:22px}
.invest-fig{border:1px solid var(--g-secondary-edge);border-radius:22px;background:var(--g-secondary-fill);padding:30px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.invest-fig small{font-size:11px;line-height:1.4;margin-bottom:28px}
.invest-fig b{font-size:clamp(34px,3.5vw,48px);line-height:1.06;min-height:2.12em;display:flex;align-items:center}
.invest-fig span{font-size:14px;margin-top:20px}
.invest-terms{padding:30px 22px 24px;margin:0;gap:26px 38px}
.invest-terms li{font-size:14px;line-height:1.8;padding-left:0}
.invest-terms li:before{display:none}
.invest-terms b{display:block;margin-bottom:6px}
.curriculum-grid{border:0;gap:20px;background:none}
.curriculum-grid .module{border:1px solid var(--g-primary-edge);background:var(--g-primary-fill);box-shadow:var(--g-primary-inner);border-radius:24px;padding:30px;grid-template-columns:32px minmax(0,1fr);column-gap:16px;overflow:hidden;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:transform .4s var(--ease),box-shadow .4s,opacity .4s}
.module:before,.module:after{display:none}
.module-num{font-size:12px;line-height:1.4;color:var(--muted)}
.module h3{font-size:25px;margin-bottom:14px}
.module p{font-size:15px;line-height:1.75;max-width:50ch}
.module-tag{grid-column:2;justify-self:start;display:inline-flex;margin-top:6px;font-size:10px;padding:8px 11px;background:var(--g-secondary-fill);border-color:var(--line-2)}
.module:hover h3,.module:hover p,.module:hover .module-num,.module:hover .module-tag{transform:none}
.faq-globe-halo{background:radial-gradient(circle,rgba(215,215,215,.12),transparent 70%)}
.faq-globe{filter:drop-shadow(0 22px 20px rgba(12,12,12,.25))}
.faq-globe-wrap{margin-bottom:40px}
.faq-globe-caption{top:96%;bottom:auto}
.globe-toggle[hidden]{display:none}
/* A glass lens follows hover and focus, then returns to the active tab. */
.nav-links a{transition:color .25s,text-shadow .25s}
.nav-links a:hover,.nav-links a:focus-visible{background:transparent;color:var(--text);text-shadow:0 0 18px rgba(234,234,234,.24)}
.nav-links .ink{overflow:hidden;isolation:isolate;border:1px solid var(--line-3);border-radius:12px;background:linear-gradient(140deg,rgba(255,255,255,.18),rgba(255,255,255,.035) 45%,rgba(255,255,255,.085));box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 -1px 0 rgba(255,255,255,.06),0 5px 15px -8px rgba(0,0,0,.55);transition:transform .42s var(--ease),width .42s var(--ease),opacity .25s}
.nav-links .ink:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.13) 48%,transparent 74%);pointer-events:none}
:root[data-theme="light"] .nav-links .ink{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.26));border-color:rgba(255,255,255,.96);box-shadow:inset 0 1px 0 #fff,0 5px 15px -9px rgba(34,34,34,.4)}
/* Stage identities and depth; hover does not move surrounding layout. */
#process .step-card{padding:38px;grid-template-columns:74px 1fr;column-gap:26px;min-height:244px}
#process .step-card h3{padding-right:28px}
.stage-symbol{position:absolute;right:28px;top:32px;display:grid;place-items:center;width:34px;height:34px;color:var(--text-2);opacity:.65}
.stage-symbol svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
#process .step-card:nth-child(2){background:linear-gradient(215deg,var(--glass-glint),transparent 55%),var(--g-primary-fill)}
#process .step-card:nth-child(3){background:linear-gradient(20deg,var(--line),transparent 65%),var(--g-primary-fill)}
#process .step-card:nth-child(4){background:linear-gradient(135deg,var(--glass-glint),transparent 60%),var(--g-primary-fill)}
.journey .step-card{transition:transform .5s var(--ease),filter .4s,opacity .4s,box-shadow .4s,border-color .4s;transform-origin:center center}
#gain .journey{gap:14px;padding:14px}
#gain .step-card{border:1px solid var(--g-secondary-edge);background:var(--g-secondary-fill);box-shadow:var(--g-primary-inner)}
#gain .step-node:after{content:" / PHASE"}
#gain .step-card{transition:transform .5s var(--ease),filter .4s,opacity .4s,box-shadow .4s,border-color .4s,background .3s}
.ticker-track{gap:0;will-change:transform}
.ticker-group{flex:0 0 auto;width:max-content}
.ticker-item{flex:none;white-space:nowrap}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(var(--ticker-shift,-50%))}}
@media(hover:hover) and (pointer:fine){
  .journey:has(.step-card:hover) .step-card:not(:hover){filter:blur(2px);opacity:.5;transform:scale(.985)}
  .journey .step-card:hover,#gain .step-card:hover{transform:translateY(-9px);filter:none;opacity:1;z-index:3;box-shadow:var(--g-primary-inner),0 30px 55px -25px rgba(0,0,0,.55);border-color:var(--glass-glint)}
  .gain-card:hover{transform:translateY(-5px);background:var(--g-primary-fill);box-shadow:var(--g-primary-inner),var(--g-primary-shadow);border-color:var(--glass-glint)}
  .curriculum-grid:hover .module{opacity:1}
  .curriculum-grid .module:hover{transform:translateY(-6px);box-shadow:var(--g-primary-inner),var(--g-primary-shadow);border-color:var(--glass-glint)}
}
/* Balanced booking flow: mentor, session, then time and contact details. */
.modal-card{width:min(760px,100%);max-height:calc(100dvh - 48px);border-radius:30px;box-shadow:var(--g-primary-inner),0 48px 120px -30px rgba(0,0,0,.6)}
.modal-body{padding:30px 36px 36px}
.modal-head{padding:16px 24px}
.modal-head .ey{font-size:11px}
.booking-title{font-size:38px;line-height:1.1}
.booking-sub{font-size:14px;line-height:1.75;margin:14px 0 28px;max-width:none}
.booking-mentor-select>span{font-size:11px;line-height:1.4}
.booking-mentor-select>div{gap:14px}
.mentor-select{padding:18px;border-radius:20px;gap:5px 14px}
.mentor-select i{width:44px;height:44px;font-size:22px}
.mentor-select b{font-size:16px}.mentor-select small{font-size:12px;line-height:1.5}
.booking-grid{grid-template-columns:1fr;gap:20px}
.booking-type{grid-template-columns:1fr 1fr;gap:14px}
.type-btn{padding:18px;border-radius:18px}.type-btn b{font-size:14px}.type-btn span{font-size:12px;line-height:1.5}
.calendar-box{padding:24px;border-radius:22px}
.calendar-head{flex-wrap:wrap;gap:8px;margin-bottom:18px}
.calendar-head b{font-size:11px;line-height:1.6;letter-spacing:.09em}
.date-row{gap:9px}.date-btn{padding:14px 5px;border-radius:12px}.date-btn small{font-size:10px}.date-btn b{font-size:14px;margin-top:9px}
.slots{gap:9px;margin-top:18px}.slot{padding:14px 8px;font-size:12px;border-radius:12px}
.slot-note{font-size:10px;line-height:1.7;margin-top:18px}
.booking-form{gap:12px;margin-top:22px;grid-template-columns:1fr 1fr}
.booking-form input{min-width:0;width:100%;padding:15px;font-size:15px;border-radius:12px}
.booking-privacy{font-size:12px}
.booking-actions{position:static;padding:0;margin-top:20px}.booking-actions .btn{width:100%;min-height:50px;font-size:14px}
.live-calendar{padding:28px}.live-calendar .btn{width:100%}
@media(max-width:680px){
  .gain-grid,.curriculum-grid{gap:16px}
  .gain-card{padding:27px}.gain-card h4{font-size:25px}
  .invest{padding:10px;border-radius:26px}.invest-figures{grid-template-columns:1fr;gap:10px}
  .invest-fig{padding:24px;border-radius:20px}.invest-fig small{margin-bottom:18px}.invest-fig b{min-height:0;font-size:40px}
  .invest-fig span{margin-top:14px}.invest-terms{padding:24px 14px 18px;grid-template-columns:1fr;gap:24px}
  .curriculum-grid .module{padding:26px 22px;column-gap:12px;grid-template-columns:26px 1fr}
  .module h3{font-size:23px}.module p{font-size:14.5px}.module-tag{display:inline-flex}
  #process .step-card{padding:28px 22px;grid-template-columns:46px 1fr;column-gap:16px;min-height:210px}
  .stage-symbol{top:auto;bottom:20px;right:20px;width:22px;height:22px;opacity:.4}.stage-symbol svg{width:20px;height:20px}
  #process .step-card h3{padding-right:0}.step-card p{padding-bottom:10px}
  #gain .journey{padding:10px;gap:10px}
  .modal{padding:12px;place-items:center}
  .modal-card{border-radius:26px;max-height:calc(100dvh - 24px)}
  .modal-head:before{display:none}.modal-head{padding:14px 18px}
  .modal-body{padding:24px 20px 28px}.booking-title{font-size:30px}
  .booking-mentor-select>div{grid-template-columns:1fr;gap:10px}.mentor-select{padding:14px}
  .booking-type{grid-template-columns:1fr;gap:10px}.type-btn{padding:16px}
  .calendar-box{padding:16px}.date-row{gap:5px}.date-btn b{font-size:12px}.date-btn small{font-size:9px}
  .booking-form{grid-template-columns:1fr}.booking-sub{font-size:14px}
  .live-calendar{padding:22px}.live-calendar h3{font-size:28px}
}
@media(prefers-reduced-motion:reduce){
  .journey .step-card,.gain-card,.curriculum-grid .module,.nav-links .ink{transition:none}
  .journey:has(.step-card:hover) .step-card:not(:hover),.journey .step-card:hover,#gain .step-card:hover,.gain-card:hover,.curriculum-grid .module:hover{transform:none;filter:none;opacity:1}
}

/* Mobile polish: deliberate index rows and room for readable content. */
.faq-accordion details{scroll-margin-top:104px}
@media(max-width:1024px){
  .faq-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px}
  .faq-index-label{grid-column:1/-1;width:auto;padding:6px 8px 10px;font-size:10px}
  .faq-index button{width:100%;min-width:0;min-height:56px;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:10px;border:1px solid var(--g-secondary-edge);border-radius:12px;background:var(--g-secondary-fill)}
  .faq-index button b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--g-instrument-fill);color:var(--muted);font-size:9px}
  .faq-index button span{font-size:12px;line-height:1.4}
  .faq-index button[aria-current="true"]{border-color:var(--line-3);box-shadow:var(--g-primary-inner);background:var(--g-primary-fill)}
  .faq-index button[aria-current="true"] b{background:var(--text);color:var(--bg)}
  .faq-accordion details{padding-inline:0;margin-bottom:0}
  .faq-accordion summary{padding:22px;gap:16px;grid-template-columns:minmax(0,1fr) 16px}
  .faq-accordion .answer-copy{padding:0 22px 24px;font-size:14px}
  .booking-form input{font-size:16px}
  .nav-links{justify-content:safe center}
  .nav-links>*{flex-shrink:0}
}
@media(max-width:680px){
  .faq-index{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  .faq-index button:last-child{grid-column:1/-1}
  .faq-accordion summary{padding:22px 20px}
  .faq-accordion .answer-copy{padding:0 20px 24px}
  #process .step-card{min-height:0}
  #process .stage-symbol{left:34px;right:auto;bottom:26px}
  .journey:has(.step-card:hover) .step-card:not(:hover),.journey .step-card:hover,#gain .step-card:hover{filter:none;opacity:1;transform:none}
  .date-btn{min-width:0;padding-inline:2px}
  .date-btn b{white-space:nowrap;font-size:11px;letter-spacing:-.03em}
}
@media(max-width:1024px) and (max-height:650px){
  .nav-links{justify-content:flex-start}
  .nav-links a{padding-block:14px;font-size:26px}
  .nav-sheet-cta{margin-top:22px}
}
