/* ============================================================
   SUN CITY GYMNASTICS — stylesheet
   Palette: deep navy + bright orange + sun-gold on warm white
   Fonts: Bricolage Grotesque (display) + Hanken Grotesk (body)
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  /* brand core */
  --navy-950:#0a1730;
  --navy-900:#0e1c38;
  --navy-800:#14264a;
  --navy-700:#1d3666;
  --navy-600:#274a86;
  --orange:#f26522;
  --orange-600:#e2551a;
  --orange-300:#ff9a5e;
  --gold:#f4a52c;
  --gold-300:#ffc873;
  --cream:#fbf6ec;
  --sand:#f4ead7;
  --paper:#ffffff;
  --ink:#16223f;
  --ink-soft:#42506e;
  --line:rgba(20,38,74,.12);

  /* themable */
  --accent:var(--orange);
  --accent-soft:rgba(242,101,34,.12);
  --accent-ink:#b8430f;

  --bg:var(--cream);
  --surface:var(--paper);
  --surface-2:#fffdf8;
  --fg:var(--ink);
  --fg-soft:var(--ink-soft);
  --header-bg:rgba(251,246,236,.82);
  --hairline:var(--line);

  --font-display:"Bricolage Grotesque",ui-serif,Georgia,serif;
  --font-body:"Hanken Grotesk",system-ui,sans-serif;

  --radius:18px;
  --radius-lg:28px;
  --radius-sm:11px;
  --shadow-sm:0 1px 2px rgba(14,28,56,.06),0 4px 14px rgba(14,28,56,.05);
  --shadow:0 12px 34px rgba(14,28,56,.10),0 3px 10px rgba(14,28,56,.06);
  --shadow-lg:0 30px 70px rgba(14,28,56,.18),0 8px 22px rgba(14,28,56,.10);
  --maxw:1200px;
  --gut:clamp(20px,5vw,64px);
}

/* ---------- Accent variants (tweakable) ---------- */
body[data-accent="orange"]{--accent:var(--orange);--accent-soft:rgba(242,101,34,.12);--accent-ink:#b8430f;}
body[data-accent="gold"]{--accent:#e8961a;--accent-soft:rgba(244,165,44,.16);--accent-ink:#9a6406;}
body[data-accent="teal"]{--accent:#1f8f8a;--accent-soft:rgba(31,143,138,.14);--accent-ink:#10615d;}

/* ---------- Theme: Bright (default) ---------- */
body[data-theme="bright"]{
  --bg:var(--cream);--surface:var(--paper);--surface-2:#fffdf8;
  --fg:var(--ink);--fg-soft:var(--ink-soft);
  --header-bg:rgba(251,246,236,.82);--hairline:var(--line);
}
/* ---------- Theme: Warm Desert ---------- */
body[data-theme="desert"]{
  --bg:#f6ecda;--surface:#fffaf0;--surface-2:#fdf3e2;
  --fg:#221a10;--fg-soft:#6a5a44;
  --header-bg:rgba(246,236,218,.82);--hairline:rgba(120,86,40,.16);
}
/* ---------- Theme: Bold Navy ---------- */
body[data-theme="navy"]{
  --bg:var(--navy-900);--surface:#142a52;--surface-2:#102342;
  --fg:#eef3fb;--fg-soft:#a9bbdb;
  --header-bg:rgba(10,23,48,.78);--hairline:rgba(255,255,255,.12);
}

/* ---------- Reset ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:var(--font-body);font-size:18px;line-height:1.62;
  font-weight:400;letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;transition:background .4s ease,color .4s ease;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.04;
  letter-spacing:-.02em;margin:0;color:var(--fg);text-wrap:balance;}
p{margin:0;text-wrap:pretty;}
::selection{background:var(--accent);color:#fff;}

/* heading font tweak */
body[data-font="archivo"]{--font-display:"Archivo",sans-serif;}
body[data-font="archivo"] h1,body[data-font="archivo"] h2,body[data-font="archivo"] h3{
  font-weight:800;letter-spacing:-.03em;}
body[data-font="anton"]{--font-display:"Anton",sans-serif;}
body[data-font="anton"] h1,body[data-font="anton"] h2,body[data-font="anton"] h3{
  font-weight:400;letter-spacing:.004em;text-transform:uppercase;line-height:.98;}

/* ---------- Layout helpers ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}
.section{padding-block:clamp(64px,9vw,128px);position:relative;}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-body);font-weight:800;font-size:.78rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--accent);border-radius:2px;}
body[data-theme="navy"] .eyebrow{color:var(--gold-300);}
.section-head{max-width:740px;margin-bottom:clamp(36px,5vw,64px);}
.section-head h2{font-size:clamp(2.1rem,5vw,3.5rem);margin-top:16px;}
.section-head p{margin-top:18px;font-size:1.12rem;color:var(--fg-soft);max-width:60ch;}
.center{text-align:center;margin-inline:auto;}
.section-head.center p{margin-inline:auto;}
.center .eyebrow{justify-content:center;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-body);font-weight:800;font-size:1.02rem;
  padding:1.05em 1.75em;border-radius:999px;border:0;line-height:1;
  letter-spacing:.005em;transition:transform .18s cubic-bezier(.34,1.56,.64,1),
    box-shadow .25s ease,background .25s ease,color .2s ease;
  position:relative;text-align:center;
}
.btn svg{width:1.05em;height:1.05em;}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 26px -8px var(--accent);}
.btn-primary:hover{transform:translateY(-2px) scale(1.015);box-shadow:0 18px 38px -10px var(--accent);}
.btn-primary:active{transform:translateY(0);}
.btn-ghost{background:transparent;color:var(--fg);border:1.6px solid var(--hairline);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-ink);transform:translateY(-2px);}
body[data-theme="navy"] .btn-ghost{color:#fff;border-color:rgba(255,255,255,.28);}
body[data-theme="navy"] .btn-ghost:hover{border-color:var(--gold);color:var(--gold-300);}
.btn-navy{background:var(--navy-800);color:#fff;box-shadow:var(--shadow-sm);}
.btn-navy:hover{transform:translateY(-2px);background:var(--navy-700);box-shadow:var(--shadow);}
.btn-lg{font-size:1.12rem;padding:1.18em 2.1em;}
.btn-block{width:100%;}

/* price/sub note under CTAs */
.cta-note{font-size:.92rem;color:var(--fg-soft);margin-top:14px;}
.cta-note strong{color:var(--fg);}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:var(--header-bg);backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s,background .3s,box-shadow .3s;
}
.site-header.scrolled{border-bottom-color:var(--hairline);box-shadow:0 6px 24px rgba(14,28,56,.06);}
.nav{display:flex;align-items:center;gap:22px;height:74px;}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;flex-shrink:0;}
.brand img{height:46px;width:auto;}
.brand-txt{display:none;flex-direction:column;line-height:1;}
.brand-txt b{font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.01em;color:var(--fg);}
.brand-txt span{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink);font-weight:800;}
.nav-links{display:none;align-items:center;gap:4px;}
.nav-links a{
  font-weight:600;font-size:.97rem;color:var(--fg);padding:.55em .85em;border-radius:9px;
  position:relative;transition:color .2s,background .2s;
}
.nav-links a:hover{color:var(--accent-ink);background:var(--accent-soft);}
body[data-theme="navy"] .nav-links a{color:#dce6f7;}
body[data-theme="navy"] .nav-links a:hover{color:var(--gold-300);background:rgba(255,255,255,.07);}
.nav-cta{display:none;}
.nav-toggle{
  margin-left:auto;display:inline-flex;flex-direction:column;gap:5px;
  background:none;border:0;padding:10px;border-radius:10px;
}
.nav-toggle span{width:24px;height:2.4px;background:var(--fg);border-radius:3px;transition:.3s;}
body.menu-open .nav-toggle span:nth-child(1){transform:translateY(7.4px) rotate(45deg);}
body.menu-open .nav-toggle span:nth-child(2){opacity:0;}
body.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg);}

/* mobile drawer */
.mobile-menu{
  position:fixed;inset:74px 0 0;z-index:55;background:var(--bg);
  padding:32px var(--gut) 40px;display:flex;flex-direction:column;gap:6px;
  transform:translateX(100%);transition:transform .4s cubic-bezier(.5,0,.2,1);
  overflow-y:auto;
}
body.menu-open .mobile-menu{transform:translateX(0);}
.mobile-menu a{
  font-family:var(--font-display);font-weight:700;font-size:1.5rem;
  padding:.6em 0;border-bottom:1px solid var(--hairline);color:var(--fg);
}
.mobile-menu .btn{margin-top:22px;}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;padding-top:138px;padding-bottom:clamp(60px,8vw,110px);overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
/* sunrise glow */
.hero-bg .glow{
  position:absolute;left:50%;top:62%;width:min(120vw,1300px);aspect-ratio:1;
  transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle at center,
     var(--gold-300) 0%,rgba(244,165,44,.34) 26%,rgba(242,101,34,.12) 48%,transparent 68%);
  opacity:.7;
}
body[data-theme="navy"] .hero-bg .glow{opacity:.42;top:70%;}
/* layered ridges */
.hero-bg .ridge{position:absolute;left:-5%;right:-5%;bottom:-1px;height:auto;}
.ridge-back{bottom:38px;opacity:.5;}
.dots{position:absolute;inset:0;background-image:radial-gradient(var(--hairline) 1px,transparent 1.4px);
  background-size:26px 26px;opacity:.5;mask-image:linear-gradient(to bottom,#000,transparent 55%);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 55%);}

.hero-inner{position:relative;z-index:2;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,60px);align-items:center;}

.hero-badge{
  display:inline-flex;align-items:center;gap:10px;background:var(--surface);
  border:1px solid var(--hairline);border-radius:999px;padding:.5em .95em .5em .6em;
  font-weight:700;font-size:.86rem;box-shadow:var(--shadow-sm);
}
.hero-badge .pip{display:inline-flex;align-items:center;gap:6px;background:var(--accent);
  color:#fff;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;
  padding:.42em .7em;border-radius:999px;}
.hero-badge .pip::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;
  animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.7);}}

.hero h1{font-size:clamp(2.7rem,7.4vw,5.6rem);margin-top:26px;}
.hero h1 .sun{
  color:var(--accent);position:relative;white-space:nowrap;
}
.hero h1 .underline{
  background-image:linear-gradient(var(--accent),var(--accent));
  background-repeat:no-repeat;background-position:0 92%;background-size:100% .14em;
  padding-bottom:.02em;
}
.hero-sub{font-size:clamp(1.08rem,2.2vw,1.32rem);color:var(--fg-soft);margin-top:24px;max-width:34ch;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;align-items:center;}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:30px;}
.hero-trust .t{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.93rem;color:var(--fg-soft);
  background:var(--surface);border:1px solid var(--hairline);border-radius:999px;padding:.5em .95em;box-shadow:var(--shadow-sm);}
.hero-trust .t svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;}

/* hero media */
.hero-media{position:relative;}
.hero-photo{position:relative;width:100%;aspect-ratio:4/4.4;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;background:linear-gradient(135deg,#fbeede,#efd0ac);}
.hero-media .float{
  position:absolute;background:var(--surface);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:14px 18px;display:flex;align-items:center;gap:12px;
  border:1px solid var(--hairline);
}
.hero-media .float.f1{bottom:24px;left:-18px;}
.hero-media .float.f2{top:26px;right:-14px;}
.float .ic{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);
  display:grid;place-items:center;flex-shrink:0;}
.float .ic svg{width:22px;height:22px;}
.float b{display:block;font-family:var(--font-display);font-size:1.25rem;line-height:1;}
.float small{color:var(--fg-soft);font-size:.78rem;font-weight:600;}

/* hero layout variants */
body[data-hero="split"] .hero h1{font-size:clamp(2.5rem,6vw,4.7rem);}
body[data-hero="spotlight"] .hero-media{display:none;}
body[data-hero="spotlight"] .hero{text-align:center;}
body[data-hero="spotlight"] .hero-grid{max-width:880px;margin-inline:auto;}
body[data-hero="spotlight"] .hero-sub{margin-inline:auto;}
body[data-hero="spotlight"] .hero-cta,
body[data-hero="spotlight"] .hero-trust{justify-content:center;}
body[data-hero="spotlight"] .hero-badge{margin-inline:auto;}
body[data-hero="spotlight"] .eyebrow,
body[data-hero="spotlight"] .hero-inner{text-align:center;}

/* ============================================================
   MARQUEE strip
   ============================================================ */
.marquee{background:var(--navy-800);color:#fff;overflow:hidden;padding:16px 0;border-block:1px solid rgba(255,255,255,.06);}
.marquee-track{display:flex;gap:0;width:max-content;animation:scroll 32s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee .item{display:inline-flex;align-items:center;gap:18px;padding-inline:26px;font-family:var(--font-display);
  font-weight:700;font-size:1.18rem;white-space:nowrap;letter-spacing:-.01em;}
.marquee .item .star{color:var(--gold);font-size:1rem;}
@keyframes scroll{to{transform:translateX(-50%);}}

/* ============================================================
   FOUNDING OFFER
   ============================================================ */
.offer{background:var(--navy-900);color:#fff;position:relative;overflow:hidden;}
.offer::before{content:"";position:absolute;left:50%;top:-20%;width:900px;height:900px;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(244,165,44,.20),transparent 62%);pointer-events:none;}
.offer .wrap{position:relative;z-index:2;}
.offer .eyebrow{color:var(--gold-300);}
.offer h2{color:#fff;}
.offer-grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,44px);align-items:start;margin-top:14px;}
.offer-lead p{color:#c4d2ee;font-size:1.12rem;}
.offer-price{display:flex;align-items:baseline;gap:14px;margin:28px 0 6px;}
.offer-price .amt{font-family:var(--font-display);font-weight:800;font-size:clamp(3.4rem,9vw,5.2rem);
  line-height:.9;color:#fff;letter-spacing:-.03em;}
.offer-price .amt .d{color:var(--gold);}
.offer-price .per{color:#a9bbdb;font-weight:600;font-size:1rem;max-width:14ch;}
.offer-perks{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px;}
.offer-perks li{display:flex;gap:13px;align-items:flex-start;color:#dde7f8;font-size:1.04rem;}
.offer-perks .chk{width:26px;height:26px;border-radius:8px;background:rgba(244,165,44,.16);
  color:var(--gold);display:grid;place-items:center;flex-shrink:0;margin-top:2px;}
.offer-perks .chk svg{width:15px;height:15px;}
.offer-perks b{color:#fff;}

/* offer card (countdown + cta) */
.offer-card{background:#fff;color:var(--ink);border-radius:var(--radius-lg);padding:clamp(24px,3vw,38px);
  box-shadow:var(--shadow-lg);position:relative;}
.offer-card .ribbon{position:absolute;top:22px;right:-6px;background:var(--accent);color:#fff;
  font-weight:800;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;padding:.5em .85em;
  border-radius:6px 0 0 6px;box-shadow:0 8px 18px -6px var(--accent);}
.offer-card h3{font-size:1.5rem;}
.offer-card .seats{margin-top:6px;color:var(--fg-soft);font-weight:600;font-size:.96rem;}
.seatbar{height:10px;border-radius:999px;background:var(--accent-soft);margin:16px 0 6px;overflow:hidden;}
.seatbar i{display:block;height:100%;width:36%;border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--accent));}
.seats-meta{display:flex;justify-content:space-between;font-size:.82rem;font-weight:700;color:var(--fg-soft);}

/* offer: call-to-claim (replaces $36 figure) */
.offer-price.offer-call{align-items:center;gap:14px;flex-wrap:wrap;}
.call-num{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:800;
  font-size:clamp(1.9rem,5.5vw,2.9rem);line-height:1;color:#fff;letter-spacing:-.01em;
  transition:color .2s,transform .2s;}
.call-num svg{width:.82em;height:.82em;color:var(--gold);flex-shrink:0;}
.call-num:hover{color:var(--gold-300);transform:translateY(-1px);}

/* offer card: founding sold-out banner */
.sold-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;
  background:rgba(192,57,43,.09);border:1px solid rgba(192,57,43,.32);border-radius:12px;padding:11px 15px;}
.sold-banner b{font-family:var(--font-display);font-weight:800;color:#c0392b;font-size:1rem;
  text-transform:uppercase;letter-spacing:.05em;}
.sold-banner span{color:#c0392b;font-weight:700;font-size:.82rem;text-align:right;line-height:1.2;}

/* countdown */
.countdown{display:flex;gap:10px;margin:24px 0;}
.cd-cell{flex:1;background:var(--cream);border:1px solid var(--hairline);border-radius:14px;
  padding:14px 6px;text-align:center;}
.cd-cell b{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,5vw,2.3rem);
  line-height:1;color:var(--navy-800);font-variant-numeric:tabular-nums;}
.cd-cell span{display:block;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--fg-soft);font-weight:800;margin-top:7px;}
body.no-countdown .countdown{display:none;}

/* ============================================================
   PROGRAMS
   ============================================================ */
.prog-grid{display:grid;grid-template-columns:1fr;gap:22px;}
.prog{
  background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s;
  display:flex;flex-direction:column;position:relative;
}
.prog:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.prog-img{width:100%;aspect-ratio:16/10;position:relative;overflow:hidden;background:linear-gradient(135deg,#fbeede,#efd0ac);}
.prog-body{padding:24px 24px 28px;display:flex;flex-direction:column;gap:10px;flex:1;}
.prog .age{align-self:flex-start;font-weight:800;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent-ink);background:var(--accent-soft);padding:.42em .8em;border-radius:999px;}
.prog h3{font-size:1.5rem;}
.prog .tag{font-weight:700;color:var(--fg);font-size:1rem;}
.prog p{color:var(--fg-soft);font-size:.98rem;}
.prog .more{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:7px;
  font-weight:800;color:var(--accent-ink);font-size:.95rem;}
.prog .more svg{width:16px;height:16px;transition:transform .25s;}
.prog:hover .more svg{transform:translateX(4px);}

/* ============================================================
   PRICING
   ============================================================ */
.pricing{background:var(--surface-2);}
.price-grid{display:grid;grid-template-columns:1fr;gap:22px;align-items:stretch;}
.plan{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);
  padding:30px 28px 34px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  position:relative;transition:transform .3s,box-shadow .3s;}
.plan:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.plan.featured{border-color:var(--accent);box-shadow:0 24px 60px -22px var(--accent);}
.plan .flag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--accent);
  color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.5em .95em;border-radius:999px;white-space:nowrap;box-shadow:0 10px 22px -8px var(--accent);}
.plan .freq{font-family:var(--font-display);font-weight:800;font-size:1.25rem;}
.plan .price{display:flex;align-items:baseline;gap:6px;margin-top:14px;}
.plan .price .now{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,6vw,3.1rem);
  line-height:1;color:var(--navy-800);letter-spacing:-.02em;}
body[data-theme="navy"] .plan .price .now{color:#fff;}
.plan .price .mo{color:var(--fg-soft);font-weight:700;font-size:.95rem;}
.plan .was{margin-top:8px;font-size:.95rem;color:var(--fg-soft);}
.plan .was s{opacity:.8;}
.plan .save{display:inline-block;margin-top:12px;align-self:flex-start;background:rgba(31,143,90,.12);
  color:#1f7a4d;font-weight:800;font-size:.82rem;padding:.4em .75em;border-radius:999px;}
.plan ul{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:11px;}
.plan ul li{display:flex;gap:10px;font-size:.97rem;color:var(--fg-soft);}
.plan ul .chk{color:var(--accent);flex-shrink:0;}
.plan ul .chk svg{width:18px;height:18px;}
.plan .btn{margin-top:auto;}
.price-foot{margin-top:28px;text-align:center;color:var(--fg-soft);font-size:.95rem;}

/* prominent link → full pricing page */
.price-cta{
  margin-top:30px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  background:linear-gradient(115deg,var(--navy-900),var(--navy-800) 58%,var(--navy-700));
  color:#fff;border-radius:var(--radius-lg);padding:22px clamp(20px,3vw,32px);
  box-shadow:var(--shadow);position:relative;overflow:hidden;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;
}
.price-cta::before{content:"";position:absolute;right:-40px;top:-60px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,165,44,.28),transparent 62%);pointer-events:none;}
.price-cta:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.price-cta-ic{position:relative;z-index:1;width:56px;height:56px;border-radius:16px;flex-shrink:0;
  background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px -10px var(--accent);}
.price-cta-ic svg{width:28px;height:28px;}
.price-cta-txt{position:relative;z-index:1;flex:1;min-width:220px;}
.price-cta-txt b{display:block;font-family:var(--font-display);font-weight:800;font-size:1.32rem;
  line-height:1.1;color:#fff;letter-spacing:-.01em;}
.price-cta-txt small{display:block;color:#bcccec;font-size:.96rem;font-weight:500;margin-top:5px;}
.price-cta-go{position:relative;z-index:1;flex-shrink:0;display:inline-flex;align-items:center;gap:9px;
  background:var(--accent);color:#fff;font-family:var(--font-body);font-weight:800;font-size:1rem;
  padding:.85em 1.4em;border-radius:999px;box-shadow:0 10px 24px -10px var(--accent);
  transition:background .25s,gap .25s;}
.price-cta-go svg{width:19px;height:19px;transition:transform .25s;}
.price-cta:hover .price-cta-go{background:var(--orange-600);gap:13px;}
.price-cta:hover .price-cta-go svg{transform:translateX(3px);}
@media (max-width:600px){
  .price-cta{gap:16px;}
  .price-cta-go{width:100%;justify-content:center;}
}

/* ============================================================
   VIDEO / ABOUT
   ============================================================ */
.about{background:var(--navy-900);color:#fff;position:relative;overflow:hidden;}
.about::after{content:"";position:absolute;right:-10%;bottom:-30%;width:760px;height:760px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,101,34,.16),transparent 60%);pointer-events:none;}
.about .wrap{position:relative;z-index:2;}
.about .eyebrow{color:var(--gold-300);}
.about h2{color:#fff;}
.video-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);
  background:#000;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.1);}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-poster{position:absolute;inset:0;cursor:pointer;display:grid;place-items:center;
  background-size:cover;background-position:center;}
.video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.video-poster::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,23,48,.15),rgba(10,23,48,.55));}
.video-poster .play{position:relative;z-index:2;width:84px;height:84px;border-radius:50%;background:var(--accent);
  display:grid;place-items:center;box-shadow:0 16px 40px -8px rgba(242,101,34,.7);transition:transform .25s;}
.video-poster:hover .play{transform:scale(1.08);}
.video-poster .play svg{width:32px;height:32px;color:#fff;margin-left:4px;}
.video-poster .vlabel{position:absolute;bottom:22px;left:24px;right:24px;color:#fff;
  font-family:var(--font-display);font-weight:700;font-size:1.3rem;z-index:2;}

.bio{display:grid;grid-template-columns:1fr;gap:clamp(30px,4vw,50px);align-items:center;margin-top:clamp(40px,6vw,72px);}
.bio-photo{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;background:linear-gradient(135deg,#1b3360,#16294e);}
.bio h3{color:#fff;font-size:clamp(1.7rem,4vw,2.4rem);}
.bio .role{color:var(--gold-300);font-weight:800;letter-spacing:.04em;margin-top:6px;text-transform:uppercase;font-size:.86rem;}
.bio p{color:#c4d2ee;margin-top:16px;}
.bio .creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.bio .creds span{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);
  border-radius:999px;padding:.45em .85em;font-size:.82rem;font-weight:700;color:#dde7f8;}

/* ============================================================
   VALUES
   ============================================================ */
.values-grid{display:grid;grid-template-columns:1fr;gap:18px;}
.value{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);
  padding:28px 26px;box-shadow:var(--shadow-sm);transition:transform .3s;}
.value:hover{transform:translateY(-5px);}
.value .ic{width:52px;height:52px;border-radius:14px;background:var(--navy-800);color:var(--gold);
  display:grid;place-items:center;margin-bottom:18px;}
.value .ic svg{width:26px;height:26px;}
.value h3{font-size:1.3rem;}
.value p{color:var(--fg-soft);margin-top:8px;font-size:.97rem;}

/* ============================================================
   CAREERS
   ============================================================ */
.careers{background:var(--surface-2);}
.careers-card{background:linear-gradient(135deg,var(--navy-800),var(--navy-900));color:#fff;
  border-radius:var(--radius-lg);padding:clamp(32px,5vw,60px);position:relative;overflow:hidden;
  box-shadow:var(--shadow);}
.careers-card::before{content:"";position:absolute;right:-60px;top:-60px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,101,34,.22),transparent 62%);}
.careers-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,48px);align-items:center;}
.careers .eyebrow{color:var(--gold-300);}
.careers-card h2{color:#fff;font-size:clamp(2rem,5vw,3.1rem);}
.careers-card p{color:#c4d2ee;margin-top:14px;}
.perk-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.perk-row span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;
  padding:.6em .9em;font-weight:700;font-size:.88rem;display:inline-flex;align-items:center;gap:8px;}
.perk-row span .d{color:var(--gold);}
.careers-side{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:var(--radius);
  padding:26px;}
.careers-side h4{color:#fff;font-size:1.05rem;letter-spacing:.02em;}
.careers-side ul{list-style:none;padding:0;margin:14px 0 22px;display:grid;gap:10px;}
.careers-side li{display:flex;gap:10px;color:#dde7f8;font-size:.95rem;}
.careers-side li .chk{color:var(--gold);flex-shrink:0;}
.careers-side li .chk svg{width:18px;height:18px;}
.careers-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px;font-size:.92rem;color:#c4d2ee;}
.careers-meta b{color:#fff;display:block;font-family:var(--font-display);font-size:1.15rem;}

/* ============================================================
   FAQ
   ============================================================ */
.faq-grid{display:grid;grid-template-columns:1fr;gap:clamp(30px,5vw,56px);align-items:start;}
.faq-list{display:grid;gap:12px;}
.faq-item{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);
  overflow:hidden;transition:box-shadow .3s,border-color .3s;}
.faq-item[open]{box-shadow:var(--shadow-sm);border-color:var(--accent);}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;
  gap:16px;font-family:var(--font-display);font-weight:700;font-size:1.12rem;color:var(--fg);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .q{flex:1;}
.faq-item .toggle{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);
  display:grid;place-items:center;flex-shrink:0;transition:transform .3s,background .3s;position:relative;}
.faq-item .toggle::before,.faq-item .toggle::after{content:"";position:absolute;background:currentColor;border-radius:2px;}
.faq-item .toggle::before{width:13px;height:2.4px;}
.faq-item .toggle::after{width:2.4px;height:13px;transition:transform .3s;}
.faq-item[open] .toggle{background:var(--accent);color:#fff;}
.faq-item[open] .toggle::after{transform:scaleY(0);}
.faq-item .ans{padding:0 22px 22px;color:var(--fg-soft);font-size:1rem;}
.faq-item .ans p+p{margin-top:12px;}

.faq-aside{background:var(--navy-900);color:#fff;border-radius:var(--radius-lg);padding:34px 30px;
  position:sticky;top:96px;box-shadow:var(--shadow);}
.faq-aside h3{color:#fff;font-size:1.5rem;}
.faq-aside p{color:#c4d2ee;margin-top:12px;font-size:.98rem;}
.faq-aside .btn{margin-top:22px;}
.faq-aside .contact-mini{margin-top:24px;display:grid;gap:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;}
.faq-aside .contact-mini a{display:flex;align-items:center;gap:12px;color:#dde7f8;font-weight:600;font-size:.95rem;}
.faq-aside .contact-mini svg{width:20px;height:20px;color:var(--gold);flex-shrink:0;}

/* ============================================================
   FINAL CTA
   ============================================================ */
.finalcta{position:relative;overflow:hidden;background:var(--navy-950);color:#fff;text-align:center;}
.finalcta .glow2{position:absolute;left:50%;bottom:-40%;width:min(120vw,1100px);aspect-ratio:1;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(244,165,44,.26),rgba(242,101,34,.1) 42%,transparent 66%);}
.finalcta .wrap{position:relative;z-index:2;}
.finalcta h2{color:#fff;font-size:clamp(2.3rem,6vw,4rem);}
.finalcta p{color:#c4d2ee;margin:18px auto 0;max-width:54ch;font-size:1.12rem;}
.finalcta .hero-cta{justify-content:center;}
.finalcta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.32);}
.finalcta .btn-ghost:hover{border-color:var(--gold);color:var(--gold-300);}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--navy-950);color:#aebfde;padding-block:clamp(48px,6vw,76px) 30px;
  border-top:1px solid rgba(255,255,255,.08);}
.foot-grid{display:grid;grid-template-columns:1fr;gap:36px;}
.foot-brand img{height:72px;width:auto;margin-bottom:18px;background:#fff;padding:12px 16px;border-radius:14px;box-sizing:content-box;}
.foot-brand p{color:#9fb2d6;max-width:34ch;font-size:.96rem;}
.foot-social{display:flex;gap:12px;margin-top:20px;}
.foot-social a{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;color:#cdd9f0;transition:.25s;}
.foot-social a:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-3px);}
.foot-social svg{width:20px;height:20px;}
.foot-col h4{color:#fff;font-family:var(--font-body);font-size:.8rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:800;margin-bottom:16px;}
.foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:11px;}
.foot-col a{color:#aebfde;font-size:.96rem;transition:color .2s;}
.foot-col a:hover{color:var(--gold-300);}
.foot-col .line{display:flex;gap:11px;align-items:flex-start;font-size:.94rem;}
.foot-col .line svg{width:18px;height:18px;color:var(--gold);flex-shrink:0;margin-top:3px;}
.foot-hours{display:grid;gap:7px;}
.foot-hours .row{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;border-bottom:1px dashed rgba(255,255,255,.1);padding-bottom:6px;}
.foot-hours .row b{color:#e6edf9;font-weight:700;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:44px;padding-top:24px;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.85rem;color:#7f93ba;}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;}.reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;}.reveal.d4{transition-delay:.32s;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .marquee-track{animation:none;}
  *{scroll-behavior:auto;}
}

/* image-slot — branded empty-state placeholder */
image-slot{display:block;}
image-slot::part(frame){background:linear-gradient(135deg,#fbeede 0%,#f3ddc2 55%,#efd0ac 100%);}
image-slot::part(empty){color:#a8743a;font-family:var(--font-body);font-weight:700;letter-spacing:.01em;}
image-slot::part(ring){border-color:rgba(168,116,58,.35);border-width:1.5px;}
body[data-theme="navy"] image-slot::part(frame){background:linear-gradient(135deg,#1b3360 0%,#16294e 100%);}
body[data-theme="navy"] image-slot::part(empty){color:#9fb6dd;}
body[data-theme="navy"] image-slot::part(ring){border-color:rgba(159,182,221,.3);}
.slot-fill{position:absolute;inset:0;width:100%;height:100%;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (min-width:560px){
  .prog-grid{grid-template-columns:repeat(2,1fr);}
  .values-grid{grid-template-columns:repeat(2,1fr);}
  .countdown{gap:12px;}
}
@media (min-width:880px){
  .brand-txt{display:flex;}
  .hero-grid{grid-template-columns:1.05fr .95fr;}
  body[data-hero="split"] .hero-grid{grid-template-columns:1fr 1fr;}
  .offer-grid{grid-template-columns:1.1fr .9fr;}
  .price-grid{grid-template-columns:repeat(3,1fr);}
  .bio{grid-template-columns:.8fr 1.2fr;}
  .careers-inner{grid-template-columns:1.2fr .8fr;}
  .faq-grid{grid-template-columns:1.5fr 1fr;}
  .values-grid{grid-template-columns:repeat(4,1fr);}
  .foot-grid{grid-template-columns:1.6fr 1fr 1fr 1.3fr;}
}
@media (min-width:1000px){
  .nav-links{display:flex;}
  .nav-cta{display:inline-flex;}
  .nav-toggle{display:none;}
  .prog-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:879px){
  .hero-media{max-width:460px;margin-inline:auto;width:100%;}
  .faq-aside{position:static;}
}
