/* ===========================================================
   Infinity Learn — Vijay Batch
   Design system: cinematic crimson + flame, light reading surfaces
   =========================================================== */

/* ---------- Tokens ---------- */
:root {
  --crimson-950:#1A0507; --crimson-900:#2A0A0E; --crimson-800:#4A0F1A;
  --crimson-700:#6B1424; --crimson-600:#8C1A2E; --crimson-500:#B11E33;

  --ember-50:#FFF5E6; --ember-200:#FFD68A; --ember-300:#FFB347;
  --ember-500:#F58A1F; --ember-700:#D4471C; --ember-900:#8C1F0A;
  --gold:#F5A623;

  --il-navy:#1F1F8C; --il-navy-deep:#14146B; --il-navy-ink:#0A0A4A;
  --il-cyan:#1AA9D9; --il-cyan-light:#5BC8E8;

  --ink-900:#0B0F1A; --ink-800:#111827; --ink-700:#1F2937;
  --ink-600:#374151; --ink-500:#4B5563; --ink-400:#6B7280;
  --ink-300:#9CA3AF; --ink-200:#D1D5DB; --ink-100:#E5E7EB; --ink-50:#F3F4F6;

  --paper:#FAFAF7; --paper-2:#F4F2EC; --paper-3:#ECE9E0;
  --dark-bg:#0B0608; --dark-bg-2:#1A0E11;

  --success:#2E7D32; --warning:#ED8936; --error:#C53030;

  --font-display:'Anton','Bebas Neue','Impact',system-ui,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  --fs-overline:.75rem; --fs-caption:.875rem; --fs-body:1rem; --fs-body-lg:1.125rem;
  --fs-h6:1.125rem; --fs-h5:1.25rem; --fs-h4:1.5rem; --fs-h3:1.875rem;
  --fs-h2:clamp(2rem,4vw,2.75rem); --fs-h1:clamp(2.25rem,5vw,3.75rem);
  --fs-display:clamp(3.5rem,12vw,9rem);

  --lh-tight:1.1; --lh-snug:1.25; --lh-normal:1.5; --lh-relaxed:1.65; --lh-loose:1.8;

  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem;
  --sp-6:2rem; --sp-7:3rem; --sp-8:4rem; --sp-9:6rem; --sp-10:8rem;

  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-xl:32px; --r-pill:100px;

  --shadow-sm:0 1px 2px rgba(11,15,26,.06),0 1px 3px rgba(11,15,26,.04);
  --shadow-md:0 4px 12px rgba(11,15,26,.08),0 2px 4px rgba(11,15,26,.04);
  --shadow-lg:0 12px 32px rgba(11,15,26,.12),0 4px 8px rgba(11,15,26,.06);
  --shadow-glow:0 0 32px rgba(245,138,31,.4);
  --shadow-card-dark:0 8px 24px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.3);

  --container:1200px; --container-sm:760px; --container-md:960px; --nav-h:68px;

  --t-fast:150ms cubic-bezier(.4,0,.2,1);
  --t-med:250ms cubic-bezier(.4,0,.2,1);
  --t-slow:400ms cubic-bezier(.4,0,.2,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-relaxed);color:var(--ink-900);background:var(--paper);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;padding:0}
a{color:var(--il-navy);text-decoration:none;transition:color var(--t-fast)}
a:hover{color:var(--il-cyan)}
ul,ol{padding-left:1.5rem}
h1,h2,h3,h4,h5,h6{margin:0;line-height:var(--lh-snug);color:var(--ink-900);font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}

/* ---------- A11y ---------- */
:focus-visible{outline:3px solid var(--il-cyan);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-100px;left:1rem;background:var(--il-navy);color:#fff;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;z-index:1000;transition:top var(--t-fast)}
.skip-link:focus{top:1rem;color:#fff}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- Layout ---------- */
.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem;width:100%}
.container-sm{max-width:var(--container-sm);margin:0 auto;padding:0 1.25rem;width:100%}
.container-md{max-width:var(--container-md);margin:0 auto;padding:0 1.25rem;width:100%}
.section{padding:var(--sp-9) 0}
.section-tight{padding:var(--sp-7) 0}
@media (max-width:768px){.section{padding:var(--sp-7) 0}}

/* ---------- Typography helpers ---------- */
.overline{font-family:var(--font-body);font-size:var(--fs-overline);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ember-500)}
.overline--on-dark{color:var(--ember-300)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--fs-caption);font-weight:600;color:var(--il-navy);background:rgba(31,31,140,.08);padding:.4rem .9rem;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.1em}
.eyebrow--dark{color:var(--ember-300);background:rgba(255,179,71,.12);border:1px solid rgba(255,179,71,.25)}
.lede{font-size:var(--fs-body-lg);color:var(--ink-600);line-height:var(--lh-relaxed);max-width:60ch}

/* ---------- Flame headline ---------- */
.flame{
  font-family:var(--font-display);font-weight:400;
  font-size:var(--fs-display);line-height:.92;letter-spacing:.005em;
  text-transform:uppercase;
  background:linear-gradient(180deg,#FFE9A8 0%,#FFB347 22%,#F58A1F 45%,#D4471C 65%,#8C1F0A 85%,#4A0F1A 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 28px rgba(245,138,31,.45)) drop-shadow(0 6px 0 rgba(0,0,0,.55));
  background-size:100% 220%;background-position:0% 50%;
  animation:flame-shimmer 4.5s ease-in-out infinite alternate;
}
@keyframes flame-shimmer{from{background-position:0% 30%}to{background-position:0% 75%}}
.flame--sm{font-size:clamp(2.5rem,8vw,5rem)}

/* ---------- Ribbon tag (BATCH) ---------- */
.ribbon{
  display:inline-flex;align-items:center;position:relative;
  background:#0A0A0A;color:#fff;
  font-family:var(--font-display);font-weight:400;font-size:var(--fs-h4);
  letter-spacing:.14em;padding:.45em 1.4em;text-transform:uppercase;
  margin:.4em 1.2em 0;
}
.ribbon::before,.ribbon::after{
  content:'';position:absolute;top:0;bottom:0;width:1.1em;
  background:linear-gradient(135deg,var(--crimson-700),var(--crimson-800));
}
.ribbon::before{left:-1em;clip-path:polygon(0 50%,100% 0,100% 100%)}
.ribbon::after{right:-1em;clip-path:polygon(0 0,100% 50%,0 100%)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.95rem 1.75rem;font-weight:600;font-size:var(--fs-body);
  border-radius:var(--r-pill);border:2px solid transparent;
  transition:transform var(--t-fast),background var(--t-fast),color var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast);
  cursor:pointer;text-decoration:none;line-height:1;min-height:48px;white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn--primary{background:linear-gradient(135deg,#B73516 0%,var(--ember-900) 100%);color:#fff;box-shadow:0 8px 20px rgba(140,31,10,.35),inset 0 1px 0 rgba(255,179,71,.25);text-shadow:0 1px 0 rgba(0,0,0,.25)}
.btn--primary:hover{color:#fff;box-shadow:0 12px 28px rgba(140,31,10,.5),inset 0 1px 0 rgba(255,179,71,.35);background:linear-gradient(135deg,#A22F11 0%,#7A1A09 100%)}
.btn--brand{background:var(--il-navy);color:#fff}
.btn--brand:hover{background:var(--il-navy-deep);color:#fff}
.btn--ghost{background:transparent;color:var(--ink-900);border-color:var(--ink-200)}
.btn--ghost:hover{border-color:var(--il-navy);color:var(--il-navy)}
.btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn--ghost-light:hover{background:rgba(255,255,255,.08);color:#fff;border-color:#fff}
.btn--lg{padding:1.1rem 2.25rem;font-size:var(--fs-body-lg);min-height:56px}
.btn--block{display:flex;width:100%}

/* ---------- Pills / chips ---------- */
.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:var(--r-pill);font-size:var(--fs-caption);font-weight:600;background:var(--ink-50);color:var(--ink-700)}
.pill--ember{background:rgba(245,138,31,.14);color:var(--ember-900)}
.pill--navy{background:rgba(31,31,140,.08);color:var(--il-navy)}
.pill--success{background:rgba(27,94,32,.12);color:#1B5E20}
.pill--dark{background:rgba(255,255,255,.08);color:var(--ember-200);border:1px solid rgba(255,179,71,.25)}

/* ---------- Navigation ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(250,250,247,.92);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--paper-3)}
.nav__inner{display:flex;align-items:center;gap:2rem;height:var(--nav-h);max-width:var(--container);margin:0 auto;padding:0 1.25rem}
.nav__logo{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.nav__logo img{height:32px;width:auto}
.nav__links{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0;flex:1}
.nav__links a{color:var(--ink-700);font-weight:500;font-size:.95rem}
.nav__links a:hover{color:var(--il-navy)}
.nav__links a[aria-current="page"]{color:var(--il-navy);font-weight:600}
.nav__cta{flex-shrink:0}
.nav__toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px}
.nav__toggle svg{width:24px;height:24px;color:var(--ink-700)}
@media (max-width:900px){
  .nav__links{display:none;position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;background:#fff;padding:1rem 1.25rem;gap:1rem;border-bottom:1px solid var(--paper-3);box-shadow:var(--shadow-md)}
  .nav__links.is-open{display:flex}
  .nav__toggle{display:inline-flex}
  .nav__cta{display:none}
}

/* ---------- Cards ---------- */
.card{background:#fff;border:1px solid var(--paper-3);border-radius:var(--r-lg);padding:var(--sp-5);transition:transform var(--t-med),box-shadow var(--t-med),border-color var(--t-med)}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--paper-3)}

/* ---------- Footer ---------- */
.footer{background:var(--dark-bg);color:var(--ink-200);padding:var(--sp-8) 0 var(--sp-6)}
.footer a{color:var(--ink-200)}
.footer a:hover{color:var(--ember-300)}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr .9fr 1.1fr;gap:var(--sp-5);margin-bottom:var(--sp-7)}
@media (max-width:1000px){.footer__grid{grid-template-columns:1fr 1fr;gap:var(--sp-5)}}
.footer__brand img{height:36px;width:auto;filter:brightness(0) invert(1);opacity:.92;margin-bottom:1rem}
.footer__col h4{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.footer__col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.footer__contact{display:flex;flex-direction:column;gap:.5rem;font-size:.95rem}
.footer__socials{display:flex;gap:.75rem;margin-top:1rem}
.footer__socials a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.06);display:inline-flex;align-items:center;justify-content:center;transition:background var(--t-fast),color var(--t-fast)}
.footer__socials a:hover{background:var(--ember-500);color:#fff}
.footer__socials svg{width:18px;height:18px}
.footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--ink-400)}
@media (max-width:768px){
  .footer__grid{grid-template-columns:1fr;gap:var(--sp-5)}
}

/* ---------- Hero (cinematic crimson) ---------- */
.hero{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(ellipse at 30% 20%,rgba(212,71,28,.35),transparent 60%),
    radial-gradient(ellipse at 80% 90%,rgba(140,31,10,.5),transparent 65%),
    linear-gradient(180deg,var(--crimson-900) 0%,var(--crimson-950) 60%,#000 100%);
}
.hero::before{
  content:'';position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 30%,rgba(245,138,31,.06) 0,transparent 40%),
    radial-gradient(circle at 70% 70%,rgba(140,31,10,.15) 0,transparent 50%);
  pointer-events:none;
}
.hero::after{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.5;mix-blend-mode:overlay;pointer-events:none;
}
.hero__inner{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:var(--sp-9) 1.25rem var(--sp-9);display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-7);align-items:center}
.hero__headline{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
.hero__label{display:inline-block;background:#000;color:#fff;font-family:var(--font-body);font-weight:700;letter-spacing:.32em;font-size:.85rem;padding:.45rem 1.1rem;text-transform:uppercase;border:1px solid rgba(255,255,255,.12)}
.hero__sub{font-size:var(--fs-body-lg);color:rgba(255,255,255,.86);max-width:54ch;margin-top:1.25rem;line-height:var(--lh-relaxed)}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.75rem}
.hero__media{position:relative}
.hero__media img{width:100%;border-radius:var(--r-lg);box-shadow:var(--shadow-card-dark)}
.hero__trust{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.35)}
.hero__trust ul{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 2.5rem;list-style:none;margin:0;padding:1.25rem 1.25rem;color:rgba(255,255,255,.8);font-size:.95rem;font-weight:500}
.hero__trust li{display:flex;align-items:center;gap:.5rem}
.hero__trust strong{color:var(--ember-300);font-weight:700}
@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr;padding:var(--sp-7) 1.25rem;gap:var(--sp-6)}
  .hero__media{order:-1;max-width:480px;margin:0 auto}
}

/* ---------- Section headers ---------- */
.sec-head{text-align:center;max-width:760px;margin:0 auto var(--sp-7)}
.sec-head--left{text-align:left;margin:0 0 var(--sp-7)}
.sec-head h2{font-size:var(--fs-h1);font-family:var(--font-display);font-weight:400;letter-spacing:.005em;line-height:1;text-transform:uppercase;color:var(--ink-900);margin:.75rem 0 1rem}
.sec-head h2 em{font-style:normal;background:linear-gradient(90deg,var(--ember-700),var(--ember-500));-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-head p{color:var(--ink-500);font-size:var(--fs-body-lg);max-width:60ch;margin:0 auto}
.sec-head--left p{margin:0}

/* ---------- Story / two-col ---------- */
.story{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-7);align-items:center}
.story__title{font-family:var(--font-display);font-weight:400;font-size:var(--fs-h1);text-transform:uppercase;line-height:1;letter-spacing:.005em;color:var(--ink-900);margin-bottom:1.25rem}
.story__title em{font-style:normal;color:var(--ember-700)}
.story__body p{color:var(--ink-600);font-size:var(--fs-body-lg);line-height:var(--lh-relaxed)}
.story__media{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--crimson-900);aspect-ratio:4/5;box-shadow:var(--shadow-lg)}
.story__media img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.story{grid-template-columns:1fr;gap:var(--sp-6)}.story__media{aspect-ratio:4/3;max-width:560px;margin:0 auto}}

/* ---------- Faculty grid ---------- */
.faculty{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.faculty__card{background:linear-gradient(180deg,var(--crimson-900) 0%,var(--crimson-950) 100%);color:#fff;border-radius:var(--r-lg);padding:var(--sp-5);position:relative;overflow:hidden;border:1px solid rgba(255,179,71,.15);transition:transform var(--t-med),box-shadow var(--t-med)}
.faculty__card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(140,31,10,.4)}
.faculty__card::before{content:'';position:absolute;top:0;right:0;width:140px;height:140px;background:radial-gradient(circle,rgba(245,138,31,.18),transparent 70%);pointer-events:none}
.faculty__photo{width:112px;height:112px;border-radius:50%;object-fit:cover;object-position:center top;margin-bottom:1.1rem;border:3px solid rgba(255,179,71,.45);box-shadow:0 6px 18px rgba(0,0,0,.35);display:block}
.faculty__name{font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:.25rem}
.faculty__role{font-size:.875rem;color:var(--ember-300);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}
.faculty__sub{font-size:.875rem;color:rgba(255,255,255,.7);line-height:var(--lh-relaxed)}
.faculty__crown{position:absolute;top:1rem;right:1rem;background:var(--gold);color:var(--crimson-900);font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:.25rem .55rem;border-radius:var(--r-pill);text-transform:uppercase;z-index:1}
@media (max-width:900px){.faculty{grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}}
@media (max-width:480px){.faculty{grid-template-columns:1fr}}

/* ---------- Feature tiles (What's inside) ---------- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.feature{background:#fff;border:1px solid var(--paper-3);border-radius:var(--r-lg);padding:var(--sp-5);transition:transform var(--t-med),border-color var(--t-med),box-shadow var(--t-med);position:relative}
.feature:hover{transform:translateY(-2px);border-color:var(--ember-300);box-shadow:var(--shadow-md)}
.feature__icon{width:48px;height:48px;border-radius:var(--r-md);background:linear-gradient(135deg,rgba(245,138,31,.15),rgba(212,71,28,.08));color:var(--ember-700);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.feature__icon svg{width:24px;height:24px}
.feature__title{font-size:1.125rem;font-weight:700;color:var(--ink-900);margin-bottom:.4rem}
.feature__body{color:var(--ink-500);font-size:.95rem;line-height:var(--lh-relaxed);margin:0}
@media (max-width:900px){.features{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.features{grid-template-columns:1fr}}

/* ---------- Timeline (Key dates) ---------- */
.timeline{position:relative;padding-left:0}
.timeline__list{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-5)}
.timeline__item{display:grid;grid-template-columns:200px 1fr;gap:var(--sp-5);padding:var(--sp-5);background:#fff;border:1px solid var(--paper-3);border-radius:var(--r-lg);position:relative;border-left:4px solid var(--ember-500)}
.timeline__date{font-family:var(--font-display);font-size:1.5rem;color:var(--crimson-700);line-height:1;text-transform:uppercase;letter-spacing:.005em}
.timeline__date span{display:block;font-family:var(--font-body);font-size:.8rem;letter-spacing:.15em;color:var(--ink-400);margin-top:.4rem;font-weight:600}
.timeline__body h3{font-size:1.15rem;color:var(--ink-900);margin-bottom:.4rem}
.timeline__body p{color:var(--ink-500);margin:0;font-size:.95rem;line-height:var(--lh-relaxed)}
.timeline__item--highlight{border-left-color:var(--crimson-700);background:linear-gradient(135deg,#fff 0%,rgba(245,138,31,.04) 100%)}
@media (max-width:700px){.timeline__item{grid-template-columns:1fr;gap:.75rem}.timeline__date{font-size:1.25rem}}

/* ---------- Batch details table ---------- */
.specs{background:#fff;border:1px solid var(--paper-3);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.specs__head{background:var(--il-navy);color:#fff;padding:1rem 1.5rem;font-family:var(--font-display);font-size:1.5rem;letter-spacing:.005em;text-transform:uppercase}
.specs table{width:100%;border-collapse:collapse}
.specs th,.specs td{padding:.95rem 1.5rem;text-align:left;font-size:.95rem;border-bottom:1px solid var(--paper-2)}
.specs th{font-weight:600;color:var(--ink-700);background:var(--paper-2);width:42%}
.specs td{color:var(--ink-900);font-weight:500}
.specs tr:last-child th,.specs tr:last-child td{border-bottom:0}
.specs td .yes{color:var(--success);font-weight:600}
@media (max-width:560px){.specs th,.specs td{padding:.85rem 1rem;font-size:.9rem}}

/* ---------- Pricing card ---------- */
.pricing{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--sp-7);align-items:center;background:linear-gradient(135deg,var(--crimson-900),var(--crimson-950));color:#fff;border-radius:var(--r-xl);padding:var(--sp-7);position:relative;overflow:hidden}
.pricing::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(245,138,31,.25),transparent 60%);pointer-events:none}
.pricing__copy{position:relative;z-index:1}
.pricing__copy h3{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);color:#fff;text-transform:uppercase;line-height:1;letter-spacing:.005em;margin-bottom:1rem}
.pricing__copy p{color:rgba(255,255,255,.85);font-size:var(--fs-body-lg);max-width:48ch;margin:0 0 1.25rem}
.pricing__copy ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.pricing__copy li{display:flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.9);font-size:.95rem}
.pricing__copy li svg{flex-shrink:0;color:var(--ember-300)}
.pricing__card{background:#fff;color:var(--ink-900);border-radius:var(--r-lg);padding:var(--sp-6);position:relative;z-index:1;text-align:center;box-shadow:0 24px 48px rgba(0,0,0,.4)}
.pricing__tag{display:inline-block;background:var(--ember-500);color:#fff;font-size:.75rem;letter-spacing:.16em;padding:.35rem .9rem;border-radius:var(--r-pill);font-weight:700;text-transform:uppercase;margin-bottom:1.25rem}
.pricing__mrp{color:var(--ink-400);text-decoration:line-through;font-size:1.125rem;margin-bottom:.25rem}
.pricing__price{font-family:var(--font-display);font-size:clamp(3rem,8vw,4.5rem);color:var(--crimson-700);line-height:1;letter-spacing:.005em;margin-bottom:.25rem}
.pricing__period{color:var(--ink-500);font-size:.95rem;margin-bottom:1.5rem}
.pricing__save{display:inline-block;background:rgba(46,125,50,.1);color:var(--success);font-weight:700;font-size:.875rem;padding:.4rem .9rem;border-radius:var(--r-pill);margin-bottom:1.25rem}
@media (max-width:900px){.pricing{grid-template-columns:1fr;padding:var(--sp-6)}}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:.75rem;max-width:820px;margin:0 auto}
.faq__item{background:#fff;border:1px solid var(--paper-3);border-radius:var(--r-md);overflow:hidden;transition:border-color var(--t-fast)}
.faq__item[open]{border-color:var(--ember-300);box-shadow:var(--shadow-sm)}
.faq__item summary{list-style:none;cursor:pointer;padding:1.15rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600;color:var(--ink-900);font-size:1.05rem}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:'';width:24px;height:24px;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4471C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-size:contain;transition:transform var(--t-med)}
.faq__item[open] summary::after{transform:rotate(180deg)}
.faq__body{padding:0 1.5rem 1.25rem;color:var(--ink-500);line-height:var(--lh-relaxed)}

/* ---------- CTA strip ---------- */
.cta-strip{background:linear-gradient(135deg,var(--il-navy-deep),var(--il-navy));color:#fff;border-radius:var(--r-xl);padding:var(--sp-7);display:grid;grid-template-columns:1fr auto;gap:var(--sp-5);align-items:center}
.cta-strip h3{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);color:#fff;text-transform:uppercase;line-height:1;letter-spacing:.005em;margin-bottom:.5rem}
.cta-strip p{color:rgba(255,255,255,.8);margin:0;max-width:50ch}
.cta-strip__actions{display:flex;gap:.75rem;flex-wrap:wrap}
@media (max-width:768px){.cta-strip{grid-template-columns:1fr;text-align:left}}

/* ---------- Blog cards ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.blog-card{background:#fff;border:1px solid var(--paper-3);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--t-med),box-shadow var(--t-med),border-color var(--t-med)}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--ember-300)}
.blog-card__media{aspect-ratio:16/10;background:linear-gradient(135deg,var(--crimson-800),var(--crimson-950));position:relative;overflow:hidden}
.blog-card__media img{width:100%;height:100%;object-fit:cover}
.blog-card__media--placeholder{display:flex;align-items:center;justify-content:center;color:var(--ember-300);font-family:var(--font-display);font-size:2.5rem;letter-spacing:.005em;text-transform:uppercase}
.blog-card__body{padding:var(--sp-5);display:flex;flex-direction:column;flex:1}
.blog-card__cat{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--ember-700);margin-bottom:.6rem}
.blog-card__title{font-size:1.2rem;font-weight:700;color:var(--ink-900);margin-bottom:.6rem;line-height:var(--lh-snug)}
.blog-card__title a{color:inherit}
.blog-card__title a:hover{color:var(--il-navy)}
.blog-card__excerpt{color:var(--ink-500);font-size:.95rem;line-height:var(--lh-relaxed);margin:0 0 1rem;flex:1}
.blog-card__meta{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--ink-400);margin-top:auto;padding-top:1rem;border-top:1px solid var(--paper-2)}
.blog-card__meta span{display:flex;align-items:center;gap:.35rem}
.blog-card--featured{grid-column:span 3;display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch}
.blog-card--featured .blog-card__media{aspect-ratio:auto;min-height:340px}
.blog-card--featured .blog-card__title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.75rem,3.5vw,2.5rem);text-transform:uppercase;line-height:1;letter-spacing:.005em}
.blog-card--featured .blog-card__body{padding:var(--sp-7)}
@media (max-width:1000px){.blog-grid{grid-template-columns:repeat(2,1fr)}.blog-card--featured{grid-column:span 2;grid-template-columns:1fr}}
@media (max-width:600px){.blog-grid{grid-template-columns:1fr}.blog-card--featured{grid-column:span 1}.blog-card--featured .blog-card__body{padding:var(--sp-5)}}

/* ---------- Article reader (blog detail) ---------- */
.article-hero{position:relative;background:linear-gradient(180deg,var(--crimson-900),var(--crimson-950));color:#fff;padding:var(--sp-9) 0 var(--sp-8);overflow:hidden}
.article-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(212,71,28,.4),transparent 60%);pointer-events:none}
.article-hero__inner{position:relative;max-width:var(--container-md);margin:0 auto;padding:0 1.25rem;text-align:center}
.article-hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2.25rem,5vw,4rem);text-transform:uppercase;color:#fff;line-height:1;letter-spacing:.005em;margin:1rem 0 1.25rem}
.article-hero h1 em{font-style:normal;background:linear-gradient(180deg,#FFE9A8,#FFB347 35%,#F58A1F 65%,#D4471C);-webkit-background-clip:text;background-clip:text;color:transparent}
.article-hero__sub{font-size:var(--fs-body-lg);color:rgba(255,255,255,.85);max-width:60ch;margin:0 auto 1.5rem;line-height:var(--lh-relaxed)}
.article-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem 1.5rem;color:rgba(255,255,255,.7);font-size:.9rem}
.article-meta__author{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:600}
.article-meta__avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--ember-500),var(--crimson-700));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);color:#fff;font-size:.95rem}

.article{max-width:var(--container-sm);margin:0 auto;padding:var(--sp-8) 1.25rem}
.article p,.article ul,.article ol{font-size:1.0625rem;line-height:var(--lh-loose);color:var(--ink-700);margin:0 0 1.25em}
.article h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.75rem,3.5vw,2.25rem);text-transform:uppercase;color:var(--ink-900);letter-spacing:.005em;line-height:1.05;margin:2.25em 0 .75em}
.article h3{font-size:1.4rem;color:var(--ink-900);margin:2em 0 .5em}
.article a{color:var(--il-navy);text-decoration:underline;text-decoration-color:var(--il-cyan);text-underline-offset:3px;font-weight:500}
.article a:hover{color:var(--il-cyan)}
.article ul li,.article ol li{margin-bottom:.5em}
.article blockquote{border-left:4px solid var(--ember-500);padding:1rem 0 1rem 1.5rem;margin:1.75em 0;font-size:1.25rem;font-weight:500;color:var(--ink-800);font-style:italic;line-height:var(--lh-relaxed)}
.article blockquote p{margin:0;font-size:inherit;color:inherit}
.article hr{border:0;border-top:1px solid var(--paper-3);margin:2.5em 0}
.article__lede{font-size:1.25rem;color:var(--ink-600);font-weight:500;line-height:var(--lh-relaxed);margin-bottom:1.5em}
.article__inline-cta{background:linear-gradient(135deg,var(--crimson-900),var(--crimson-950));color:#fff;border-radius:var(--r-lg);padding:var(--sp-5);margin:2em 0;display:grid;grid-template-columns:1fr auto;gap:1.25rem;align-items:center}
.article__inline-cta h4{color:#fff;font-family:var(--font-display);font-size:1.5rem;text-transform:uppercase;letter-spacing:.005em;line-height:1.1;margin:0 0 .35em}
.article__inline-cta p{color:rgba(255,255,255,.85);margin:0;font-size:.95rem}
@media (max-width:600px){.article__inline-cta{grid-template-columns:1fr}}

/* ---------- Newsletter strip ---------- */
.newsletter{background:var(--paper-2);border-radius:var(--r-xl);padding:var(--sp-7);text-align:center;border:1px dashed var(--paper-3)}
.newsletter h3{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);text-transform:uppercase;line-height:1;letter-spacing:.005em;margin-bottom:.75rem;color:var(--ink-900)}
.newsletter p{color:var(--ink-500);max-width:50ch;margin:0 auto 1.5rem}
.newsletter__form{display:flex;gap:.5rem;max-width:480px;margin:0 auto;flex-wrap:wrap}
.newsletter__form input{flex:1;min-width:200px;padding:.85rem 1.1rem;border:1px solid var(--paper-3);border-radius:var(--r-pill);background:#fff;font-size:1rem;color:var(--ink-900)}
.newsletter__form input:focus{outline:2px solid var(--il-cyan);outline-offset:2px;border-color:var(--il-cyan)}

/* ---------- Utilities ---------- */
.mt-0{margin-top:0!important}
.mb-0{margin-bottom:0!important}
.text-center{text-align:center}
.flex-center{display:flex;align-items:center;justify-content:center}

/* ---------- Pointer list (What's Inside) ---------- */
.pointers{list-style:none;padding:0;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:.25rem 2.5rem;max-width:980px}
.pointers li{position:relative;padding:.85rem 0 .85rem 1.75rem;color:var(--ink-700);line-height:var(--lh-relaxed);font-size:1.0625rem;border-bottom:1px solid var(--paper-2)}
.pointers li::before{content:'';position:absolute;left:.1rem;top:1.25rem;width:.55rem;height:.55rem;background:var(--ember-700);border-radius:50%}
.pointers li strong{color:var(--ink-900);font-weight:700;display:block;margin-bottom:.15rem;font-size:1.0625rem}
.pointers li span{color:var(--ink-500);font-size:.95rem;line-height:var(--lh-relaxed)}
@media (max-width:760px){.pointers{grid-template-columns:1fr;gap:0}}

/* ---------- Hat-Trick Record ---------- */
.hattrick{background:linear-gradient(180deg,#fff,var(--paper-2));padding:var(--sp-9) 0}
.hattrick__head{text-align:center;max-width:760px;margin:0 auto 2rem;padding:0 1.25rem}
.hattrick__head h2{font-family:var(--font-display);font-weight:400;letter-spacing:.005em;line-height:1;text-transform:uppercase;font-size:var(--fs-h1);margin:.75rem 0 .75rem;color:var(--ink-900)}
.hattrick__head h2 em{font-style:normal;background:linear-gradient(90deg,var(--ember-500),var(--ember-700));-webkit-background-clip:text;background-clip:text;color:transparent}
.hattrick__head p{color:var(--ink-500);font-size:var(--fs-body-lg);max-width:60ch;margin:0 auto}
.hattrick__media{max-width:1100px;margin:0 auto;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.hattrick__media img{width:100%;height:auto;display:block}
.hattrick__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:760px;margin:1.75rem auto 0;padding:0 1.25rem;text-align:center}
.hattrick__stat{padding:1rem;border-radius:var(--r-md);background:#fff;border:1px solid var(--paper-3)}
.hattrick__stat strong{display:block;font-family:var(--font-display);font-size:2.25rem;color:var(--crimson-700);line-height:1;letter-spacing:.005em}
.hattrick__stat span{display:block;font-size:.85rem;color:var(--ink-500);margin-top:.35rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:600px){.hattrick__stats{grid-template-columns:1fr}}

/* ---------- Faculty avatar (placeholder for missing photos) ---------- */
.faculty__avatar{width:112px;height:112px;border-radius:50%;background:linear-gradient(135deg,var(--ember-500),var(--crimson-700));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-size:2.4rem;margin-bottom:1.1rem;border:3px solid rgba(255,179,71,.45);box-shadow:0 6px 18px rgba(0,0,0,.35);letter-spacing:.005em}

/* ---------- Lead Modal ---------- */
.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal[hidden]{display:none}
.modal__overlay{position:absolute;inset:0;background:rgba(11,6,8,.85);backdrop-filter:blur(8px);z-index:1}
.modal__panel{position:relative;z-index:2;background:#fff;border-radius:var(--r-xl);max-width:480px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 32px 64px rgba(0,0,0,.5);animation:modal-in .3s cubic-bezier(.4,0,.2,1)}
@keyframes modal-in{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal__close{position:absolute;top:.85rem;right:.85rem;width:36px;height:36px;border-radius:50%;background:var(--paper-2);display:flex;align-items:center;justify-content:center;color:var(--ink-700);font-size:1.5rem;cursor:pointer;line-height:1;z-index:2;border:0}
.modal__close:hover{background:var(--paper-3);color:var(--ink-900)}
.modal__progress{padding:1.5rem 1.5rem 0}
.modal__progress-track{height:4px;background:var(--paper-2);border-radius:2px;overflow:hidden;margin-bottom:.6rem}
.modal__progress-fill{height:100%;background:linear-gradient(90deg,var(--ember-500),var(--crimson-700));transition:width .3s}
.modal__steps{display:flex;justify-content:space-between;gap:.5rem;font-size:.7rem;font-weight:700;color:var(--ink-400);text-transform:uppercase;letter-spacing:.08em}
.modal__step.is-active{color:var(--crimson-700)}
.modal__step.is-done{color:var(--success)}
.modal__body{padding:1.5rem}
.modal__title{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);text-transform:uppercase;line-height:1.05;letter-spacing:.005em;color:var(--ink-900);margin-bottom:.5rem}
.modal__title em{font-style:normal;color:var(--ember-700)}
.modal__sub{color:var(--ink-500);font-size:.95rem;margin-bottom:1.25rem;line-height:var(--lh-relaxed)}
.field{margin-bottom:1rem}
.field label{display:block;font-size:.875rem;font-weight:600;color:var(--ink-700);margin-bottom:.4rem}
.field input,.field select{width:100%;padding:.85rem 1rem;border:1.5px solid var(--paper-3);border-radius:var(--r-md);font-size:1rem;background:#fff;color:var(--ink-900);transition:border var(--t-fast),box-shadow var(--t-fast)}
.field input:focus,.field select:focus{outline:none;border-color:var(--il-cyan);box-shadow:0 0 0 3px rgba(26,169,217,.18)}
.field--phone{display:grid;grid-template-columns:80px 1fr;gap:.5rem}
.field--phone .country{display:flex;align-items:center;justify-content:center;background:var(--paper-2);border:1.5px solid var(--paper-3);border-radius:var(--r-md);font-weight:600;color:var(--ink-700)}
.field__error{color:var(--error);font-size:.85rem;margin-top:.4rem;font-weight:500;min-height:1.2em}
.field__hint{color:var(--ink-500);font-size:.85rem;margin-top:.4rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media (max-width:480px){.field-row{grid-template-columns:1fr}}
.coupon{display:grid;grid-template-columns:1fr auto;gap:.5rem}
.coupon button{padding:0 1.25rem;background:var(--ink-900);color:#fff;border-radius:var(--r-md);font-weight:600;height:48px;font-size:.95rem}
.coupon button:hover{background:var(--ink-700)}
.coupon__msg{font-size:.85rem;margin-top:.4rem;font-weight:600;min-height:1.2em}
.summary{background:var(--paper-2);border-radius:var(--r-md);padding:1rem 1.25rem;margin-bottom:1.25rem}
.summary__row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.95rem;color:var(--ink-700);gap:1rem}
.summary__row--total{border-top:1.5px solid var(--paper-3);margin-top:.5rem;padding-top:.75rem;font-size:1.125rem;font-weight:700;color:var(--ink-900)}
.summary__row strike{color:var(--ink-400);font-weight:400}
.confirm{text-align:center;padding:1rem 0}
.confirm__check{width:64px;height:64px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff}
.confirm__check svg{width:32px;height:32px}
.confirm h3{font-family:var(--font-display);font-size:2rem;text-transform:uppercase;line-height:1.05;letter-spacing:.005em;color:var(--ink-900);margin-bottom:.5rem;font-weight:400}
.confirm p{color:var(--ink-500);max-width:38ch;margin:0 auto 1.25rem;line-height:var(--lh-relaxed)}

/* ---------- Live Counter ---------- */
.live-counter{position:fixed;bottom:1.25rem;right:1.25rem;z-index:90;background:#fff;border:1px solid var(--paper-3);border-radius:var(--r-lg);padding:.95rem 1.1rem .9rem;box-shadow:0 12px 32px rgba(11,15,26,.18);max-width:300px;animation:counter-in .5s cubic-bezier(.4,0,.2,1) .8s both;transition:opacity .25s}
@keyframes counter-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.live-counter[hidden]{display:none}
.live-counter__close{position:absolute;top:.4rem;right:.45rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--ink-400);background:none;border:0;border-radius:50%;font-size:1.05rem;line-height:1;cursor:pointer}
.live-counter__close:hover{background:var(--paper-2);color:var(--ink-700)}
.live-counter__head{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.7rem;padding-right:1rem}
.live-counter__icon{width:40px;height:40px;background:rgba(46,125,50,.12);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--success);flex-shrink:0}
.live-counter__icon svg{width:20px;height:20px}
.live-counter__live{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;letter-spacing:.14em;font-weight:700;color:var(--success);text-transform:uppercase}
.live-counter__dot{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.25)}}
.live-counter__count{font-size:.95rem;color:var(--ink-700);margin-top:.1rem;line-height:1.25}
.live-counter__count strong{color:var(--ink-900);font-weight:700}
.live-counter__time{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--ink-400);margin-top:.2rem}
.live-counter__time svg{width:12px;height:12px;flex-shrink:0}
.live-counter__bar-row{padding-top:.7rem;border-top:1px solid var(--paper-2)}
.live-counter__bar-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.78rem;color:var(--ink-700);font-weight:600;margin-bottom:.4rem}
.live-counter__bar-label .lbl{display:inline-flex;align-items:center;gap:.3rem}
.live-counter__bar-label svg{width:13px;height:13px;color:var(--ember-700);flex-shrink:0}
.live-counter__bar-pct{font-size:.78rem;color:var(--ink-400);font-weight:500}
.live-counter__track{height:6px;background:var(--paper-2);border-radius:3px;overflow:hidden}
.live-counter__fill{height:100%;background:linear-gradient(90deg,var(--ember-500),var(--ember-700));border-radius:3px;transition:width .8s ease}
.live-counter--dim{opacity:.15;pointer-events:none}
@media (max-width:600px){.live-counter{bottom:.75rem;right:.75rem;left:.75rem;max-width:none}}
@media (prefers-reduced-motion:reduce){.live-counter__dot,.live-counter,.modal__panel{animation:none}}

/* Counter increment "bump" feedback */
.live-counter__count strong{display:inline-block;transition:transform .15s ease}
.live-counter__count strong.is-bumped{animation:bump .55s cubic-bezier(.25,.46,.45,.94)}
@keyframes bump{0%{transform:scale(1);color:var(--ink-900)}25%{transform:scale(1.18);color:var(--success)}100%{transform:scale(1);color:var(--ink-900)}}
@media (prefers-reduced-motion:reduce){.live-counter__count strong.is-bumped{animation:none}}

/* ============================================================
   Enroll dialog
   ============================================================ */
.enroll{
  border:none;border-radius:18px;padding:0;
  width:min(440px,calc(100vw - 2rem));
  background:var(--paper);color:var(--ink-900);
  box-shadow:var(--shadow-lg);
  font-family:var(--font-body);
}
.enroll::backdrop{background:rgba(11,15,26,.55);backdrop-filter:blur(4px)}
.enroll[open]{animation:enrollIn .25s cubic-bezier(.2,.7,.3,1)}
@keyframes enrollIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.enroll[open]{animation:none}}

.enroll__close{
  position:absolute;top:.6rem;right:.8rem;
  background:transparent;border:0;cursor:pointer;
  font-size:1.6rem;line-height:1;color:var(--ink-700);
  width:2rem;height:2rem;border-radius:50%;
}
.enroll__close:hover{background:rgba(11,15,26,.06);color:var(--ink-900)}

.enroll__step{padding:2.25rem 1.75rem 1.75rem}
.enroll__title{
  font-family:var(--font-display);font-weight:400;
  font-size:1.6rem;line-height:1.15;margin:0 0 .35rem;
  color:var(--il-navy);
}
.enroll__lede{margin:0 0 1.25rem;color:var(--ink-700);font-size:.95rem}

.enroll__form{display:flex;flex-direction:column;gap:.85rem}
.enroll__field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--ink-700);font-weight:600;letter-spacing:.02em}
.enroll__field small{font-weight:400;color:var(--ink-500)}
.enroll__field input{
  padding:.7rem .85rem;border:1px solid var(--ink-200);border-radius:10px;
  font-family:inherit;font-size:1rem;color:var(--ink-900);background:#fff;
  transition:border-color .15s,box-shadow .15s;
}
.enroll__field input:focus{outline:0;border-color:var(--ember-500);box-shadow:0 0 0 3px rgba(245,138,31,.18)}

.enroll__phone{display:flex;align-items:stretch}
.enroll__cc{
  display:flex;align-items:center;padding:0 .8rem;
  background:var(--ink-50,#F4F5F8);border:1px solid var(--ink-200);border-right:0;
  border-radius:10px 0 0 10px;font-weight:600;color:var(--ink-700);
}
.enroll__phone input{flex:1;border-radius:0 10px 10px 0}

.enroll__error{
  margin:0;padding:.6rem .8rem;border-radius:8px;
  background:rgba(212,71,28,.08);border:1px solid rgba(212,71,28,.2);
  color:var(--ember-900);font-size:.88rem;
}
.enroll__legal{margin:.4rem 0 0;font-size:.78rem;color:var(--ink-500);text-align:center}

.enroll__resend{
  background:transparent;border:0;cursor:pointer;
  color:var(--ember-700);font:inherit;font-weight:600;
  padding:.4rem;align-self:center;
}
.enroll__resend:hover{color:var(--ember-900);text-decoration:underline}
.enroll__resend[disabled]{color:var(--ink-500);cursor:not-allowed;text-decoration:none}

[data-enroll-submit][disabled],[data-otp-submit][disabled]{opacity:.7;cursor:wait}
