/* Enrol, AI-Native Cloud Programme (/enroll/ai-native-cloud/) — NIGHTSHIFT page rules.
   The /enroll/ form with one pathway fixed, and the Programme Advisor given
   the same weight as the payment: a strip above the form, a card beside the
   total, and the closing section. Page-specific classes are prefixed ea-. */
.hero{position:relative;min-height:clamp(620px,78svh,860px);overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:150px 0 90px}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#05070C 26%,rgba(5,7,12,.86) 44%,rgba(5,7,12,.3) 68%,rgba(5,7,12,.05) 82%),linear-gradient(180deg,rgba(5,7,12,.7) 0%,rgba(5,7,12,0) 26%,rgba(5,7,12,0) 62%,#05070C 100%)}
.sweep{position:absolute;top:0;bottom:0;left:0;width:260px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);animation:sweep 5.5s var(--ease) 1.4s 1 both;pointer-events:none}
.w{display:inline-block}
.ea-h1{font-size:clamp(44px,6.6vw,96px);max-width:12ch;margin:26px 0 30px}
.ea-lead{max-width:58ch}
.ea-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:34px 0 0;max-width:640px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}
.ea-fact{padding:16px 20px;background:rgba(10,14,26,.82);backdrop-filter:blur(6px)}
.ea-fact dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.ea-fact dd{margin:6px 0 0;font-size:16px;font-weight:600;line-height:1.35;color:var(--ink)}
.ea-hero-btns{margin-top:32px}
/* ---------- advisor strip ---------- */
.ea-sec{padding-top:clamp(40px,5vw,72px)}
.ea-strip{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px clamp(24px,4vw,64px);align-items:center;padding:clamp(24px,3vw,40px);border-radius:14px;border:1px solid rgba(79,107,255,.6);background:linear-gradient(135deg,rgba(23,54,255,.28),rgba(23,54,255,.06) 60%,rgba(10,14,26,.6));box-shadow:0 40px 90px -50px rgba(23,54,255,.6);margin-bottom:clamp(48px,6vw,80px)}
.ea-strip-t{font-family:'Funnel Display','Funnel Display Fallback',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.05;font-size:clamp(26px,3vw,40px);margin:12px 0 12px;text-wrap:balance}
.ea-strip-p{color:var(--ink2);font-size:16px;line-height:1.6;max-width:62ch}
.ea-strip-b{display:grid;gap:12px}
.ea-strip-b .btn{width:100%}
.ea-strip-b .btn svg{width:20px;height:20px}
/* ---------- layout ---------- */
.enrol{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:64px;align-items:start}
.enrol form{min-width:0}
.fs{border:0;margin-bottom:56px;min-width:0}
.fs legend{padding:0;margin-bottom:22px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ea-grid-cur{margin-top:16px}
.field{min-width:0}
.field .lbl{color:var(--ink2)}
.sel{position:relative}
.sel .select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer}
.sel .select option{background:#0A0E1A;color:var(--ink)}
.sel svg{position:absolute;right:16px;top:50%;width:16px;height:16px;transform:translateY(-50%);pointer-events:none;color:var(--ink3)}
.help{font-size:14px;color:var(--ink3);margin-top:8px}
/* the fixed programme, shown as the tile on /enroll/ would be, already chosen */
.ea-prog{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center;padding:22px 24px;border-radius:6px;border:1px solid var(--blue-hi);background:rgba(23,54,255,.12)}
.ea-prog-n{font-weight:600;font-size:18px;line-height:1.3}
.ea-prog-m{display:block;margin-top:8px;line-height:1.6}
.ea-prog-pr{font-size:clamp(28px,3vw,40px);color:var(--ink)}
.chip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;border:1px solid var(--blue-hi);color:var(--blue-text);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-left:10px;vertical-align:2px;white-space:nowrap}
/* plan tiles */
.radios{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{position:relative;display:block;min-width:0}
.tile[hidden]{display:none}
.tile input{position:absolute;opacity:0;width:1px;height:1px;left:12px;top:12px}
.tile .t{display:block;padding:20px 22px;border:1px solid var(--line2);border-radius:6px;background:#0A0E1A;cursor:pointer;transition:border-color .2s,background .2s}
.tile .t:hover{border-color:rgba(255,255,255,.34)}
.tile input:checked+.t{border-color:var(--blue-hi);background:rgba(23,54,255,.12)}
.tile input:focus-visible+.t{outline:2px solid var(--blue-hi);outline-offset:3px}
.radio .n{display:flex;align-items:center;gap:12px;font-weight:600;font-size:16px;line-height:1.3}
.ring{width:18px;height:18px;border-radius:50%;border:1px solid var(--line2);position:relative;flex:none;transition:border-color .2s}
.tile input:checked+.t .ring{border-color:var(--blue-hi)}
.tile input:checked+.t .ring::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--blue-hi)}
.radio .d{display:block;font-size:14px;color:var(--ink3);margin-top:10px;line-height:1.5}
.ea-note{margin-top:-16px}
.ea-submit{margin-top:36px}
.ea-alt{margin-top:28px;font-size:17px;color:var(--ink2);max-width:60ch;line-height:1.5}
.ea-alt .link{font-size:16px;font-family:'Hanken Grotesk','Hanken Grotesk Fallback',sans-serif;letter-spacing:0}
/* ---------- aside: total + advisor ---------- */
.ea-side{position:sticky;top:110px;display:grid;gap:16px}
.ea-total-l{display:block}
.total .dash .v{font-size:clamp(48px,5vw,64px);margin:14px 0 12px;color:#fff}
.total .dash .m{color:var(--ink2);font-size:15px}
.ea-adv{padding:26px 28px 24px;border-radius:14px;border:1px solid rgba(79,107,255,.6);background:linear-gradient(160deg,#1736FF,#0E1633 72%);box-shadow:0 60px 120px -50px rgba(23,54,255,.6)}
.ea-adv .tag{color:#C7D2FF}
.ea-adv-t{font-family:'Funnel Display','Funnel Display Fallback',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.1;font-size:clamp(22px,2vw,27px);margin:10px 0 10px;color:#fff}
.ea-adv-p{color:rgba(255,255,255,.78);font-size:15px;line-height:1.55}
.ea-adv-btns{display:grid;gap:10px;margin-top:20px}
.ea-adv-btns .btn{width:100%}
.ea-adv-btns .btn-ghost{border-color:rgba(255,255,255,.35)}
.ea-adv-btns .btn-ghost:hover{border-color:#fff}
.ea-adv-m{display:block;margin-top:16px;color:rgba(255,255,255,.65)}
.ea-adv-m a{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* ---------- closing ---------- */
.ea-cta-lead{max-width:56ch}
.faq-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,760px);gap:clamp(40px,6vw,80px);align-items:start}
.faq-grid .sticky{position:sticky;top:120px}
.ea-faq-h{max-width:10ch;margin-top:18px}
/* ---------- responsive ---------- */
@media (max-width:980px){
  .enrol{grid-template-columns:1fr;gap:40px}
  .ea-side{position:static}
  .ea-strip{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr;gap:40px}
  .faq-grid .sticky{position:static}
}
@media (max-width:760px){
  .hero{padding-top:120px}
  .grid2,.radios{grid-template-columns:1fr}
  .ea-prog{grid-template-columns:1fr}
}
@media (max-width:520px){
  .ea-facts{grid-template-columns:1fr;max-width:none}
  .ea-strip-b .btn{white-space:normal;text-align:center;padding:12px 18px}
}
