/* Everything is scoped under .cgx-root and every token is --cgx-* prefixed, so this fragment
   can neither repaint the theme nor be repainted by it. */
.cgx-root{
  /* The theme constrains .entry-content to a ~1100px column. This page's navy bands and
     yellow ground are full-bleed by design, so break out to the viewport width. Measured
     on the live page: without this the bands render 1100px wide inside a 1440 viewport. */
  width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);

  --cgx-yolk:#FFD966; --cgx-navy:#1B2D4F; --cgx-navy-deep:#132139; --cgx-ink:#14203A;
  --cgx-red:#C1272D; --cgx-red-bright:#E03131; --cgx-red-deep:#8E1B20;
  --cgx-red-text:#A81F25;            /* darker red, for text on the yellow ground (5.3:1) */
  --cgx-cream:#FFF6DE; --cgx-chalk:#FDFBF4;
  --cgx-muted:#4E576B;               /* warm neutral, 5.1:1 on yolk */
  --cgx-muted-lt:#C8D0E0;            /* on navy only */
  --cgx-off:#5F6878;                 /* excluded-feature dash, 4.9:1 on chalk */
  --cgx-line:rgba(27,45,79,.18);
  --cgx-display:'Athletics','Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --cgx-body:'Athletics','Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --cgx-wrap:1140px; --cgx-r:5px;

  font-family:var(--cgx-body); color:var(--cgx-ink); font-size:17px; line-height:1.55;
  background-color:var(--cgx-yolk);
  background-image:linear-gradient(to right,rgba(27,45,79,.07) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(27,45,79,.07) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-font-smoothing:antialiased;
}
/* Theme chrome: this page is full-bleed, so remove the wrapper padding that would
   otherwise show as bands of the body colour above the hero and below the last section.
   Measured on the live page: 40px above, 60+60px below. Scoped to this page's body class. */
body.cgx-crash-page .cg-page-content{padding-top:0;padding-bottom:0}
body.cgx-crash-page .cg-main{padding-bottom:0}

.cgx-root *,.cgx-root *::before,.cgx-root *::after{box-sizing:border-box}
:where(.cgx-root) p{margin:0 0 1em;max-width:64ch}
:where(.cgx-root) a{color:var(--cgx-red-text);text-decoration-thickness:2px;text-underline-offset:3px}
:where(.cgx-root .cgx-band) a,
:where(.cgx-root .cgx-foot) a{color:var(--cgx-yolk)}
.cgx-wrap{max-width:var(--cgx-wrap);margin-inline:auto;padding-inline:20px}
.cgx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Belt-and-braces for the overlay burial (see the PHP note). Even with the scripts dequeued,
   never let this page's conversion bar lose a stacking contest to site chrome. */
#cg-pwa-banner,.cg-pwa-banner,.cg-bcart-pill,#cg-bcart-drawer,
div[id^="pushengage-opt-in"]{display:none!important}

/* The theme header is replaced by .cgx-topbar on this page (see the markup note). */
body.cgx-crash-page .cg-header,
body.cgx-crash-page .cg-nav-spacer{display:none!important}

/* ---- custom top bar ---- */
.cgx-topbar{position:fixed;top:0;left:0;right:0;z-index:9998;height:56px;
  display:flex;align-items:center;gap:10px;padding:0 clamp(12px,3.5vw,22px);
  background:var(--cgx-navy-deep);border-bottom:1px solid rgba(255,255,255,.14)}
.cgx-topbar-spacer{height:56px}
.cgx-topbar-logo{display:inline-flex;align-items:center;flex:0 0 auto;margin-right:auto}
.cgx-topbar-logo img{height:40px;width:auto;display:block}
.cgx-topbar-help{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;
  border-radius:var(--cgx-r);background:var(--cgx-yolk);color:var(--cgx-navy);
  font-family:var(--cgx-display);font-weight:900;font-size:15px;letter-spacing:.01em;
  text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.cgx-topbar-help:hover{background:#FFE28C}
.cgx-topbar-help .cgx-ico{width:17px;height:17px;flex:0 0 auto}
.cgx-topbar-wa{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:var(--cgx-r);background:rgba(255,255,255,.12);color:#fff;flex:0 0 auto}
.cgx-topbar-wa:hover{background:rgba(255,255,255,.22)}
.cgx-topbar-wa svg{width:21px;height:21px}
@media(max-width:520px){
  .cgx-topbar{gap:8px;height:54px}
  .cgx-topbar-spacer{height:54px}
  .cgx-topbar-logo img{height:36px}
  .cgx-topbar-help{font-size:14px;padding:0 11px;height:38px}
  .cgx-topbar-wa{width:38px;height:38px}
}
/* The reCAPTCHA badge is injected site-wide by WPForms/quiz-maker. This page has NO
   reCAPTCHA-protected form — #cgx-lead is hand-rolled and uses its own honeypot — so the
   badge guards nothing here while overlapping the Patna hero card's top-right corner.
   Hidden on this page only. If a reCAPTCHA-protected form is ever added here, remove this
   rule and restore the badge (or carry the required text attribution instead). */
.grecaptcha-badge{visibility:hidden!important}

/* two-tone focus ring: reads on yellow, navy AND red */
.cgx-root :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--cgx-yolk);outline-offset:2px;
  /* !important because .cgx-btn/.cgx-path each set their own box-shadow and were
     replacing the halo — leaving a yellow ring on the yellow ground at 1.00:1. */
  box-shadow:0 0 0 6px rgba(27,45,79,.92) !important;border-radius:2px;
}

.cgx-varsity{font-family:var(--cgx-display);font-weight:900;text-transform:uppercase;
  letter-spacing:-.025em;line-height:.95;color:var(--cgx-navy);margin:0;text-wrap:balance}
.cgx-varsity--onnavy{color:var(--cgx-chalk)}
.cgx-hl{background:var(--cgx-red);color:#fff;padding:0 .12em;display:inline-block}
.cgx-root h2.cgx-varsity{font-size:clamp(1.9rem,4.8vw,3rem)}
:where(.cgx-root) h3{font-family:var(--cgx-display);font-weight:900;text-transform:uppercase;
  letter-spacing:-.01em;line-height:1.05;margin:0}

.cgx-pennant{display:inline-block;background:var(--cgx-navy);color:var(--cgx-yolk);
  font-family:var(--cgx-display);font-weight:900;font-size:.7rem;text-transform:uppercase;
  letter-spacing:.15em;padding:8px 30px 8px 15px;margin:0 0 16px;
  clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%)}
.cgx-pennant--red{background:var(--cgx-red);color:#fff}

.cgx-sec{padding:clamp(48px,7vw,80px) 0;scroll-margin-top:72px}
.cgx-root [id]{scroll-margin-top:72px}
.cgx-sec--tight{padding-top:clamp(34px,5vw,56px);padding-bottom:0}
.cgx-answer{background:var(--cgx-chalk);border:3px solid var(--cgx-navy);border-radius:var(--cgx-r);
  padding:clamp(24px,4vw,38px);box-shadow:7px 7px 0 rgba(27,45,79,.2)}
.cgx-answer p{max-width:62ch}
.cgx-band{background-color:var(--cgx-navy);color:var(--cgx-chalk);
  background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:44px 44px}
/* scoped so it cannot leak into cards sitting on light grounds inside a navy band */
.cgx-band > .cgx-wrap > p:not(.cgx-pennant),
.cgx-band .cgx-form-grid > div > p:not(.cgx-pennant){color:var(--cgx-muted-lt)}
.cgx-band h3{color:var(--cgx-chalk)}

.cgx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--cgx-display);font-weight:900;text-transform:uppercase;letter-spacing:.04em;
  font-size:.96rem;padding:15px 26px;border-radius:var(--cgx-r);border:3px solid var(--cgx-navy);
  cursor:pointer;text-decoration:none;
  transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}
.cgx-btn--primary{background:var(--cgx-red);color:#fff;border-color:var(--cgx-red);
  box-shadow:0 4px 0 var(--cgx-red-deep)}
.cgx-btn--primary:hover{background:var(--cgx-red-bright);transform:translateY(-2px);box-shadow:0 6px 0 var(--cgx-red-deep)}
.cgx-btn--primary:active{transform:translateY(2px);box-shadow:0 1px 0 var(--cgx-red-deep)}
.cgx-btn--ghost{background:transparent;color:var(--cgx-navy);box-shadow:0 4px 0 var(--cgx-navy)}
.cgx-btn--ghost:hover{background:var(--cgx-navy);color:var(--cgx-yolk);transform:translateY(-2px)}
.cgx-btn--onnavy{background:var(--cgx-yolk);color:var(--cgx-navy);border-color:var(--cgx-yolk);box-shadow:0 4px 0 #C9A22E}
.cgx-btn--onnavy:hover{background:#FFE28C;transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.cgx-root *{transition:none!important;animation:none!important}
  .cgx-btn:hover{transform:none}}

.cgx-head{background:var(--cgx-navy);border-bottom:4px solid var(--cgx-red);position:relative;z-index:40}
.cgx-head-in{display:flex;align-items:center;gap:18px;min-height:64px}
.cgx-logo{font-family:var(--cgx-display);font-weight:900;text-transform:uppercase;font-size:1rem;
  color:var(--cgx-chalk);text-decoration:none;line-height:1;display:flex;flex-direction:column;gap:3px}
.cgx-logo span{font-size:.55rem;letter-spacing:.2em;color:var(--cgx-yolk)}
.cgx-nav{display:flex;gap:22px;margin-left:auto;align-items:center}
.cgx-nav a:not(.cgx-btn){color:var(--cgx-muted-lt);text-decoration:none;font-size:.85rem;font-weight:600}
.cgx-nav a:not(.cgx-btn):hover{color:var(--cgx-yolk)}
.cgx-head .cgx-btn{padding:10px 16px;font-size:.76rem;border-width:2px;box-shadow:none}
/* :not(.cgx-btn) — the header CTA must survive at mobile widths */
@media(max-width:940px){.cgx-nav a:not(.cgx-btn){display:none}}

/* ---------- FOLD ---------- */
.cgx-hero{padding:clamp(14px,3vw,40px) 0 clamp(32px,5vw,52px)}
.cgx-hero-copy{display:flex;flex-direction:column;align-items:flex-start}
.cgx-hero-copy > *{order:0}
@media(max-width:900px){
  .cgx-hero-copy > .cgx-eyebrow{order:1}
  .cgx-hero-copy > .cgx-countdown{order:2}
  .cgx-hero-copy > .cgx-h1{order:3}
  .cgx-hero-copy > .cgx-sub{order:4}
  .cgx-hero-copy > .cgx-paths{order:5}
  .cgx-hero-copy > .cgx-thesis{order:6;margin:18px 0 0}
  .cgx-hero{padding-top:6px}
  .cgx-hero .cgx-eyebrow{margin-bottom:6px}
  .cgx-hero .cgx-countdown{margin-bottom:8px}
  .cgx-hero .cgx-sub{margin-top:10px}
  .cgx-hero .cgx-paths{margin-top:14px;width:100%;gap:9px}
  .cgx-hero .cgx-sub{margin-top:6px}
  .cgx-hero .cgx-h1{font-size:1.92rem}
  .cgx-hero .cgx-path{padding:13px 15px 12px;gap:4px}
  .cgx-hero .cgx-path-meta{font-size:.79rem}
  .cgx-hero .cgx-path-price{font-size:1.35rem}
}
@media(max-width:340px){.cgx-hero .cgx-thesis{display:none}}
.cgx-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:42px;align-items:center}
@media(max-width:900px){.cgx-hero-grid{grid-template-columns:1fr;gap:22px}.cgx-hero-art{display:none}}
.cgx-eyebrow{font-family:var(--cgx-display);font-size:.71rem;font-weight:900;text-transform:uppercase;
  letter-spacing:.15em;color:var(--cgx-red-text);margin:0 0 12px}
.cgx-countdown{display:inline-flex;align-items:center;gap:12px;background:var(--cgx-red);color:#fff;
  padding:7px 14px 7px 15px;border-radius:var(--cgx-r);font-size:.83rem;font-weight:700;margin:0 0 14px}
.cgx-countdown b{font-family:var(--cgx-display);font-weight:900;font-size:1.5rem;
  font-variant-numeric:tabular-nums;color:var(--cgx-yolk);line-height:1}
/* live countdown to the batch start — a real, published date, not a resetting scarcity number */
.cgx-cd-lab{font-family:var(--cgx-display);font-weight:900;text-transform:uppercase;
  letter-spacing:.09em;font-size:.62rem;line-height:1.25;color:#fff;opacity:.92;white-space:nowrap}
.cgx-cd-tiles{display:flex;align-items:flex-start;gap:5px}
.cgx-cd-u{display:flex;flex-direction:column;align-items:center;min-width:34px}
.cgx-cd-u b{font-family:var(--cgx-display);font-weight:900;font-size:1.38rem;line-height:1;
  color:var(--cgx-navy);background:var(--cgx-yolk);border-radius:3px;padding:4px 6px;
  display:block;min-width:34px;text-align:center;font-variant-numeric:tabular-nums}
.cgx-cd-u i{font-style:normal;font-size:.54rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;opacity:.85;margin-top:3px}
@media(max-width:420px){
  .cgx-countdown{gap:9px;padding:6px 11px}
  .cgx-cd-u{min-width:30px}
  .cgx-cd-u b{font-size:1.2rem;min-width:30px;padding:3px 5px}
  .cgx-cd-lab{font-size:.58rem}
}
.cgx-h1{font-size:clamp(2.1rem,5.9vw,3.6rem)}
.cgx-thesis{display:inline-flex;align-items:center;gap:9px;background:var(--cgx-navy);
  color:var(--cgx-chalk);padding:8px 15px;border-radius:var(--cgx-r);font-size:.81rem;
  font-weight:700;margin:16px 0 0;border-left:5px solid var(--cgx-red)}
.cgx-thesis b{color:var(--cgx-yolk);font-weight:900}
.cgx-sub{font-size:clamp(.96rem,2vw,1.06rem);margin:14px 0 0;max-width:50ch}

.cgx-paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;width:100%}
@media(max-width:620px){.cgx-paths{grid-template-columns:1fr;gap:11px}}
.cgx-path{background:var(--cgx-chalk);border:3px solid var(--cgx-navy);border-radius:var(--cgx-r);
  padding:18px 18px 16px;box-shadow:5px 5px 0 rgba(27,45,79,.2);display:flex;flex-direction:column;
  gap:7px;text-decoration:none;color:var(--cgx-ink);transition:transform .12s ease,box-shadow .12s ease}
.cgx-path:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 rgba(27,45,79,.28)}
.cgx-path--red{border-color:var(--cgx-red);box-shadow:5px 5px 0 var(--cgx-red)}
.cgx-path--red:hover{box-shadow:7px 7px 0 var(--cgx-red)}
.cgx-path-h{font-family:var(--cgx-display);font-weight:900;text-transform:uppercase;font-size:1.1rem;
  color:var(--cgx-navy);margin:0;line-height:1.05}
.cgx-path-meta{font-size:.82rem;color:var(--cgx-muted);margin:0}
.cgx-path-price{font-family:var(--cgx-display);font-weight:900;font-size:1.45rem;color:var(--cgx-navy);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cgx-path-go{font-family:var(--cgx-display);font-weight:900;font-size:.78rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--cgx-red-text);margin-top:auto}

.cgx-ribbon{background:var(--cgx-navy-deep);border-block:4px solid var(--cgx-red);padding:16px 0}
.cgx-ribbon-in{display:flex;flex-wrap:wrap;gap:11px 34px;justify-content:center;align-items:baseline}
.cgx-ribbon-item{color:var(--cgx-chalk);font-size:.85rem;font-weight:600;display:flex;gap:8px;align-items:baseline}
.cgx-ribbon-item b{font-family:var(--cgx-display);font-weight:900;font-size:1.2rem;color:var(--cgx-yolk);
  font-variant-numeric:tabular-nums}

/* ---------- PLANS: table >=900px, stacked cards below (no sticky, no h-scroll trap) ---------- */
.cgx-tablewrap{overflow-x:auto;margin-top:30px}
.cgx-cmp{border-collapse:separate;border-spacing:0;width:100%;background:var(--cgx-chalk);
  border:3px solid var(--cgx-navy);border-radius:var(--cgx-r)}
.cgx-cmp th,.cgx-cmp td{padding:13px 15px;text-align:center;border-bottom:2px solid var(--cgx-line);font-size:.89rem}
.cgx-cmp thead th{background:var(--cgx-navy);color:var(--cgx-chalk);vertical-align:top;border-bottom:0}
.cgx-cmp thead th:first-child{border-top-left-radius:2px}
.cgx-cmp thead th:last-child{border-top-right-radius:2px}
.cgx-cmp tfoot td:first-child{border-bottom-left-radius:2px}
.cgx-cmp tfoot td:last-child{border-bottom-right-radius:2px}
.cgx-cmp thead th.cgx-feat{background:var(--cgx-red)}
.cgx-cmp tbody th{text-align:left;font-weight:700;color:var(--cgx-ink);background:var(--cgx-cream);
  font-size:.87rem;border-right:2px solid var(--cgx-line)}
.cgx-cmp-name{font-family:var(--cgx-display);font-weight:900;font-size:1.08rem;text-transform:uppercase;display:block}
.cgx-cmp-price{font-family:var(--cgx-display);font-weight:900;font-size:1.55rem;color:var(--cgx-yolk);
  font-variant-numeric:tabular-nums;display:block;margin-top:5px;letter-spacing:-.02em}
.cgx-cmp-mrp{display:block;font-size:.78rem;color:var(--cgx-muted-lt);text-decoration:line-through;
  font-variant-numeric:tabular-nums}
.cgx-cmp thead th.cgx-feat .cgx-cmp-mrp{color:#FFE3E4}
.cgx-cmp-for{display:block;font-size:.74rem;color:var(--cgx-muted-lt);font-weight:500;margin-top:6px;
  max-width:19ch;margin-inline:auto;line-height:1.35}
.cgx-cmp thead th.cgx-feat .cgx-cmp-for{color:#FCE4E5}
.cgx-yes{color:var(--cgx-red);font-weight:900;font-size:1.05rem}
.cgx-no{color:var(--cgx-off)}
.cgx-cmp tfoot td{background:var(--cgx-cream);border-bottom:0;padding:16px 11px}
.cgx-cmp tfoot .cgx-btn{width:100%;font-size:.8rem;padding:12px 9px}

.cgx-plans{display:none;grid-template-columns:1fr;gap:16px;margin-top:28px}
.cgx-plan{background:var(--cgx-chalk);border:3px solid var(--cgx-navy);border-radius:var(--cgx-r);
  padding:22px 20px;box-shadow:5px 5px 0 rgba(27,45,79,.2)}
.cgx-plan--feat{border-color:var(--cgx-red);box-shadow:5px 5px 0 var(--cgx-red);background:#fff}
.cgx-plan-flag{display:inline-block;background:var(--cgx-red);color:#fff;font-family:var(--cgx-display);
  font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:.64rem;padding:5px 11px;
  border-radius:3px;margin-bottom:10px}
.cgx-plan h3{font-size:1.24rem;color:var(--cgx-navy);margin-bottom:3px}
.cgx-plan-for{font-size:.82rem;color:var(--cgx-muted);margin:0 0 14px;font-weight:600}
.cgx-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:3px}
.cgx-price b{font-family:var(--cgx-display);font-weight:900;font-size:2.1rem;color:var(--cgx-navy);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}
.cgx-price s{color:var(--cgx-muted);font-size:.95rem;font-variant-numeric:tabular-nums;text-decoration-thickness:2px}
.cgx-price-note{font-size:.75rem;color:var(--cgx-muted);margin:0 0 16px;font-weight:600}
.cgx-feats{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:9px}
.cgx-feats li{position:relative;padding-left:26px;font-size:.88rem;line-height:1.45}
.cgx-feats li::before{content:"";position:absolute;left:0;top:.42em;width:14px;height:8px;
  border-left:3px solid var(--cgx-red);border-bottom:3px solid var(--cgx-red);transform:rotate(-45deg)}
.cgx-feats li.cgx-x{color:var(--cgx-off)}
.cgx-feats li.cgx-x::before{border:0;border-top:3px solid var(--cgx-off);transform:none;top:.72em;width:13px;height:0}
.cgx-plan .cgx-btn{width:100%}
.cgx-rollup{font-size:.82rem;color:var(--cgx-muted);margin:0 0 18px;padding-left:26px}
.cgx-centres{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
@media(max-width:480px){.cgx-centres{grid-template-columns:1fr}}
.cgx-centre{background:var(--cgx-cream);border:2px solid var(--cgx-line);border-radius:var(--cgx-r);padding:12px 14px}
.cgx-centre h4{margin:0 0 4px;font-family:var(--cgx-display);font-weight:900;font-size:.86rem;
  text-transform:uppercase;color:var(--cgx-navy)}
.cgx-centre p{margin:0;font-size:.78rem;color:var(--cgx-muted)}
.cgx-centre-note{font-size:.8rem;color:var(--cgx-muted);margin:0 0 16px}
@media(max-width:900px){.cgx-tablewrap{display:none}.cgx-plans{display:grid}}

.cgx-note{margin-top:18px;font-size:.85rem;color:var(--cgx-muted);max-width:70ch}
.cgx-guarantee{margin-top:22px;font-size:.92rem;color:var(--cgx-ink);max-width:70ch;
  background:var(--cgx-cream);border:3px solid var(--cgx-navy);border-radius:var(--cgx-r);
  padding:14px 18px;box-shadow:4px 4px 0 rgba(27,45,79,.18)}

/* ---------- engine / faculty / schedule ---------- */
.cgx-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
@media(max-width:960px){.cgx-grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.cgx-grid4{grid-template-columns:1fr}}
.cgx-card{background:rgba(255,255,255,.05);border:3px solid rgba(255,255,255,.24);
  border-radius:var(--cgx-r);padding:21px 19px}
.cgx-card h3{font-size:.97rem;margin-bottom:8px;color:var(--cgx-yolk)}
.cgx-card p{font-size:.87rem;margin:0;color:var(--cgx-muted-lt)}
.cgx-ico{width:38px;height:38px;margin-bottom:13px;display:block}

.cgx-fac{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:30px}
@media(max-width:1120px){.cgx-fac{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.cgx-fac{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cgx-fac{grid-template-columns:1fr}}
.cgx-fac-card{background:var(--cgx-chalk);border:3px solid var(--cgx-navy);border-radius:var(--cgx-r);
  overflow:hidden;box-shadow:5px 5px 0 rgba(27,45,79,.18);display:flex;flex-direction:column}
.cgx-fac-art{display:block;width:100%;border-bottom:3px solid var(--cgx-navy)}
.cgx-fac-body{padding:17px 18px 19px;display:flex;flex-direction:column;flex:1}
.cgx-fac-body h3{font-size:1rem;color:var(--cgx-navy);margin-bottom:4px}
.cgx-fac-role{font-size:.75rem;font-weight:800;color:var(--cgx-red-text);text-transform:uppercase;
  letter-spacing:.05em;margin:0 0 9px;min-height:2.2em}
.cgx-fac-body p:not(.cgx-fac-role){font-size:.85rem;color:var(--cgx-muted);margin:0}
.cgx-fac-load{margin-top:auto;padding-top:12px;font-size:.74rem;font-weight:700;color:var(--cgx-navy);
  font-variant-numeric:tabular-nums}
.cgx-fac-load span{background:var(--cgx-yolk);padding:4px 10px;border-radius:3px;display:inline-block}

.cgx-day{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
@media(max-width:820px){.cgx-day{grid-template-columns:1fr}}
.cgx-slot{border:3px solid rgba(255,255,255,.24);border-radius:var(--cgx-r);padding:20px 18px;
  background:rgba(255,255,255,.05)}
.cgx-slot--hero{border-color:var(--cgx-yolk);background:rgba(255,217,102,.1)}
.cgx-time{font-family:var(--cgx-display);font-weight:900;font-size:1.28rem;color:var(--cgx-yolk);
  font-variant-numeric:tabular-nums;display:block;margin-bottom:6px}
.cgx-slot h3{font-size:.93rem;margin-bottom:7px}
.cgx-slot p{font-size:.85rem;margin:0;color:var(--cgx-muted-lt)}

.cgx-weeks{margin-top:30px}
.cgx-weeks table{border-collapse:collapse;width:100%;font-size:.87rem}
.cgx-weeks th,.cgx-weeks td{padding:12px 13px;text-align:left;border-bottom:2px solid rgba(255,255,255,.16)}
.cgx-weeks th{font-family:var(--cgx-display);font-weight:900;text-transform:uppercase;font-size:.71rem;
  letter-spacing:.09em;color:var(--cgx-yolk);border-bottom-color:var(--cgx-yolk)}
.cgx-weeks td{color:var(--cgx-muted-lt)}
.cgx-weeks td:first-child{color:var(--cgx-chalk);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.cgx-weeks tr.cgx-milestone td{background:rgba(193,39,45,.3);color:#fff}
.cgx-weeks tr.cgx-milestone td:first-child{color:var(--cgx-yolk)}
/* below 760 the table becomes stacked blocks — no horizontal scroll on a phone */
.cgx-wk{display:none;flex-direction:column;gap:12px;margin-top:28px}
.cgx-wk-item{border:3px solid rgba(255,255,255,.24);border-radius:var(--cgx-r);padding:16px 17px;
  background:rgba(255,255,255,.05)}
.cgx-wk-item--ms{border-color:var(--cgx-red);background:rgba(193,39,45,.26)}
.cgx-wk-h{font-family:var(--cgx-display);font-weight:900;font-size:.95rem;color:var(--cgx-yolk);
  text-transform:uppercase;margin:0 0 5px;font-variant-numeric:tabular-nums}
.cgx-wk-item p{margin:0;font-size:.85rem;color:var(--cgx-muted-lt)}
@media(max-width:760px){.cgx-weeks{display:none}.cgx-wk{display:flex}}

/* ---------- FAQ / form / footer ---------- */
.cgx-faq-group{margin-top:30px}
.cgx-faq-group > .cgx-faq-h{font-family:var(--cgx-display);font-weight:900;font-size:.76rem;
  color:var(--cgx-red-text);text-transform:uppercase;letter-spacing:.12em;margin:0 0 12px}
.cgx-faq details{background:var(--cgx-chalk);border:3px solid var(--cgx-navy);border-radius:var(--cgx-r);
  margin-bottom:10px;overflow:hidden}
.cgx-faq summary{cursor:pointer;padding:16px 19px;font-weight:800;font-size:.94rem;color:var(--cgx-navy);
  list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.cgx-faq summary::-webkit-details-marker{display:none}
.cgx-faq summary::after{content:"+";font-family:var(--cgx-display);font-size:1.35rem;line-height:1;
  color:var(--cgx-red);flex-shrink:0}
.cgx-faq details[open] summary{background:var(--cgx-yolk)}
.cgx-faq details[open] summary::after{content:"–"}
.cgx-faq-a{padding:4px 19px 18px;font-size:.89rem;color:var(--cgx-muted)}
.cgx-faq-a p{color:var(--cgx-muted)}
.cgx-faq-a p:last-child{margin-bottom:0}

.cgx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media(max-width:900px){.cgx-form-grid{grid-template-columns:1fr;gap:28px}}
.cgx-form{background:var(--cgx-chalk);border:3px solid var(--cgx-navy);border-radius:var(--cgx-r);
  padding:26px 24px;box-shadow:7px 7px 0 var(--cgx-red)}
.cgx-field{margin-bottom:16px}
.cgx-field label,.cgx-field legend{display:block;font-family:var(--cgx-display);font-weight:900;
  font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--cgx-navy);margin-bottom:6px;padding:0}
.cgx-field input,.cgx-field select{width:100%;padding:13px 14px;border:2px solid var(--cgx-navy);
  border-radius:var(--cgx-r);font-family:var(--cgx-body);font-size:1rem;background:#fff;color:var(--cgx-ink)}
.cgx-field fieldset{border:0;padding:0;margin:0}
.cgx-radio{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cgx-radio label{display:flex;align-items:center;gap:9px;border:2px solid var(--cgx-navy);
  border-radius:var(--cgx-r);padding:12px 13px;cursor:pointer;font-family:var(--cgx-body);font-size:.87rem;
  font-weight:700;text-transform:none;letter-spacing:0;margin:0;background:#fff;color:var(--cgx-navy)}
.cgx-radio label:has(input:checked){background:var(--cgx-yolk)}
.cgx-radio input{width:auto;accent-color:var(--cgx-red)}
.cgx-req{font-family:var(--cgx-body);font-weight:700;font-size:.62rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--cgx-red-text);margin-left:6px}
.cgx-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cgx-consent{font-size:.76rem;color:var(--cgx-muted);margin:13px 0 0;line-height:1.45;max-width:none}
.cgx-band .cgx-form .cgx-consent{color:var(--cgx-muted)}
.cgx-formnote{margin-top:15px;padding:12px 14px;border-radius:var(--cgx-r);font-size:.84rem;font-weight:700;
  border:2px solid var(--cgx-red);background:#FDECEC;color:var(--cgx-red-deep);max-width:none}
.cgx-formnote:empty{display:none}

.cgx-foot{background:var(--cgx-navy-deep);color:var(--cgx-muted-lt);padding:32px 0;
  border-top:4px solid var(--cgx-red);font-size:.83rem}
.cgx-foot-in{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.cgx-foot a{display:inline-flex;align-items:center;min-height:44px}
.cgx-band a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px}

/* fixed (never sticky); fails VISIBLE if IntersectionObserver is unavailable */
.cgx-mobcta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:2147483645;gap:12px;
  padding:11px clamp(14px,4vw,28px);background:var(--cgx-navy);border-top:4px solid var(--cgx-red);
  align-items:center;justify-content:center;
  padding-bottom:calc(11px + env(safe-area-inset-bottom,0px));transition:transform .18s ease}
.cgx-mobcta.cgx-off{transform:translateY(115%)}
.cgx-mobcta .cgx-btn{padding:13px 22px;font-size:.86rem;box-shadow:none}
.cgx-mobcta-lab{font-family:var(--cgx-display);font-weight:900;font-size:.8rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--cgx-yolk);margin-right:auto;white-space:nowrap}
.cgx-foot{padding-bottom:calc(32px + 86px + env(safe-area-inset-bottom,0px))}
@media(max-width:760px){
  .cgx-mobcta{gap:10px;padding-left:14px;padding-right:14px}
  .cgx-mobcta-lab{display:none}
  .cgx-mobcta .cgx-btn{flex:1;padding:13px 12px;font-size:.83rem}
}
