  :root{
    /* Brand palette, navy + sky blue + pink + cream (2026 rebrand).
       Token names kept for a minimal diff: --gold* now carry the pink accent. */
    --ink:#15234c;         /* deep navy, primary dark */
    --ink-2:#1d3160;       /* lighter navy */
    --gold:#e7659a;        /* brand pink, primary accent */
    --gold-bright:#ff93bd; /* bright pink, accents on dark backgrounds */
    --gold-deep:#c63f74;   /* deep rose, accents on light backgrounds */
    --sky:#5fa3d8;         /* sky blue, secondary accent */
    --cream:#f6f2e9;
    --paper:#ffffff;
    --text:#172033;
    --muted:#5d5d64;
    --line:#e6e0d2;
    --maxw:1180px;
    --r:14px;
    --shadow:0 18px 50px -22px rgba(21,35,76, .45);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    color:var(--text);
    background:var(--paper);
    line-height:1.6;
    overflow-x:clip;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}
  .display{font-family:"Anton", Impact, sans-serif;font-weight:400;letter-spacing:.5px;line-height:.98;text-transform:uppercase}
  .label{font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.22em;font-weight:600}
  .gold{color:var(--gold)}
  section{position:relative}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.5em;
    font-family:"Oswald", sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
    font-size:.92rem;padding:14px 26px;border-radius:999px;cursor:pointer;border:2px solid transparent;
    transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;white-space:nowrap;
  }
  .btn-gold{background:var(--gold);color:var(--ink)}
  .btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px)}
  .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255, .5)}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
  .btn-dark{background:var(--ink);color:#fff}
  .btn-dark:hover{background:var(--ink-2);transform:translateY(-2px)}

  /* ---------- Announcement ---------- */
  .announce{background:var(--ink);color:var(--cream);text-align:center;font-family:"Oswald", sans-serif;
    text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;padding:9px 16px}
  .announce a{color:var(--gold-bright);font-weight:700}
  .announce a:hover{text-decoration:underline}

  /* ---------- Header ---------- */
  header.nav{position:sticky;top:0;z-index:60;background:rgba(21,35,76, .92);backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(95,163,216, .30)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
  .brand{display:flex;align-items:center;gap:11px;color:#fff}
  .brand .logo{width:44px;height:44px;flex:0 0 auto;border-radius:50%;background:#fff;
    padding:3px;object-fit:contain;box-shadow:0 2px 12px rgba(0,0,0, .28)}
  header.nav .brand .logo{width:55px;height:55px}
  .brand .bt{font-family:"Anton", sans-serif;text-transform:uppercase;font-size:1.12rem;line-height:1;letter-spacing:.5px}
  .brand .bt small{display:block;font-family:"Oswald", sans-serif;font-weight:600;font-size:.6rem;letter-spacing:.42em;color:var(--gold);margin-top:3px}
  header.nav .brand .bt{font-size:1.55rem}
  header.nav .brand .bt small{font-size:.74rem;letter-spacing:.36em;margin-top:4px}
  /* Co-brand: Royal Kings × Silver Lakes */
  .cobrand{display:flex;align-items:center;gap:8px;flex:0 0 auto}
  .cobrand-x{font-family:"Oswald", sans-serif;font-weight:600;font-size:1.1rem;color:var(--gold-bright);opacity:.85;line-height:1}
  .nav-links{display:flex;align-items:center;gap:30px}
  .nav-links a{font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.86rem;color:#e9e6df;font-weight:500}
  .nav-links a:hover{color:var(--gold)}
  .nav-cta{display:flex;align-items:center;gap:14px}
  .nav-burger{display:none;background:none;border:0;cursor:pointer;width:42px;height:42px;align-items:center;justify-content:center}
  .nav-burger span{display:block;width:24px;height:2px;background:#fff;position:relative}
  .nav-burger span::before, .nav-burger span::after{content:"";position:absolute;left:0;width:24px;height:2px;background:#fff;transition:.25s}
  .nav-burger span::before{top:-7px}.nav-burger span::after{top:7px}

  /* Mobile drawer */
  .drawer{position:fixed;inset:0 0 0 auto;width:min(82vw,340px);height:100vh;background:var(--ink);
    transform:translateX(100%);transition:transform .3s ease;z-index:80;padding:28px 26px;
    display:flex;flex-direction:column;gap:6px;box-shadow:-20px 0 60px rgba(0,0,0, .5)}
  .drawer.open{transform:translateX(0)}
  .drawer a{font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#eee;
    font-size:1.05rem;padding:14px 6px;border-bottom:1px solid rgba(255,255,255, .08)}
  .drawer a:hover{color:var(--gold)}
  .drawer .btn{margin-top:18px;justify-content:center}
  .drawer-close{align-self:flex-end;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer;line-height:1;margin-bottom:8px}
  .scrim{position:fixed;inset:0;background:rgba(0,0,0, .5);z-index:70;opacity:0;visibility:hidden;transition:.25s}
  .scrim.open{opacity:1;visibility:visible}

  /* ---------- Hero ---------- */
  .hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
  .hero::after{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(21,35,76, .55) 0%, rgba(21,35,76, .15) 35%, rgba(21,35,76, .85) 100%);z-index:1}
  .hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
  .hero .wrap{position:relative;z-index:2;padding-bottom:72px;padding-top:90px}
  .hero .eyebrow{color:var(--gold-bright);margin-bottom:18px;font-size:.84rem}
  .hero h1{font-size:clamp(2.7rem,7.4vw,6.1rem);max-width:14ch;text-shadow:0 4px 30px rgba(0,0,0, .5)}
  .hero h1 em{font-style:normal;color:var(--gold)}
  .hero p.sub{margin-top:20px;max-width:46ch;font-size:clamp(1rem,2vw,1.18rem);color:#ece9e2}
  .hero .actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px}

  /* trust strip */
  .trust{background:var(--ink-2);color:#efeadd}
  .trust .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;padding:20px 22px}
  .trust .ti{display:flex;align-items:center;gap:11px;font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.86rem}
  .trust .ti b{color:var(--gold-bright);font-weight:700}
  .trust .dot{width:7px;height:7px;border-radius:50%;background:var(--sky)}

  /* ---------- Section scaffolding ---------- */
  .sec{padding:clamp(64px,9vw,118px) 0}
  .sec.cream{background:var(--cream)}
  .kicker{color:var(--gold-deep);font-size:.8rem;margin-bottom:14px}
  .h2{font-size:clamp(2rem,4.6vw,3.4rem);color:var(--ink);line-height:1}
  .lead{color:var(--muted);font-size:1.06rem;max-width:60ch}

  /* Intro split */
  .split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,70px);align-items:center}
  .split .media{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}
  .split .media img{width:100%;height:100%;object-fit:cover}
  .split .media .crestwm{position:absolute;left:18px;bottom:16px;z-index:2;width:46px;opacity:.92}
  .stat-row{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap}
  .stat b{font-family:"Anton", sans-serif;font-size:2.3rem;color:var(--gold-deep);display:block;line-height:1}
  .stat span{font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;color:var(--muted)}

  /* Programs / divisions */
  .prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
  .prog-grid.two-col{grid-template-columns:repeat(2,1fr)}
  @media(max-width:700px){.prog-grid.two-col{grid-template-columns:1fr}}
  .prog{position:relative;border-radius:var(--r);overflow:hidden;min-height:340px;display:flex;align-items:flex-end;
    color:#fff;box-shadow:var(--shadow);isolation:isolate}
  .prog img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;z-index:-2;transition:transform .5s ease}
  .prog::after{content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(180deg, rgba(21,35,76, .05) 30%, rgba(21,35,76, .92) 100%)}
  .prog:hover img{transform:scale(1.06)}
  .prog .pc{padding:24px}
  .prog .age{font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-bright);font-size:.78rem;font-weight:600}
  .prog h3{font-family:"Anton", sans-serif;text-transform:uppercase;font-size:1.7rem;letter-spacing:.5px;margin:6px 0 6px}
  .prog p{font-size:.92rem;color:#dcd9d2}

  /* Why band */
  .why{background:var(--ink);color:#fff}
  .why .split{align-items:stretch}
  .why .media{aspect-ratio:auto;min-height:100%}
  .why .h2{color:#fff}
  .vlist{display:flex;flex-direction:column;gap:26px;margin-top:30px}
  .vitem{border-left:3px solid var(--sky);padding-left:20px}
  .vitem h4{font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:1.12rem;margin-bottom:6px}
  .vitem p{color:#bdbac2;font-size:.96rem}

  /* Champions band */
  .champ{position:relative;color:#fff;text-align:center;overflow:hidden}
  .champ img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
  .champ::after{content:"";position:absolute;inset:0;background:rgba(21,35,76, .66)}
  .champ .wrap{position:relative;z-index:2;padding:clamp(70px,10vw,130px) 22px}
  .champ .h2{color:#fff;margin:0 auto}
  .champ p{max-width:54ch;margin:18px auto 0;color:#e6e3dc}

  /* Register CTA */
  .cta{position:relative;color:#fff;overflow:hidden}
  .cta img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
  .cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(21,35,76, .9) 25%, rgba(21,35,76, .45) 100%)}
  .cta .wrap{position:relative;z-index:2;padding:clamp(60px,8vw,110px) 22px}
  .cta .h2{color:#fff;max-width:18ch}
  .cta p{margin-top:16px;max-width:48ch;color:#e6e3dc}
  .cta .actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px}

  /* Contact */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);margin-top:48px;align-items:start}
  .info-block{margin-bottom:26px}
  .info-block .label{color:var(--gold-deep);font-size:.74rem;margin-bottom:6px;display:block}
  .info-block p{color:var(--text);font-size:1.04rem}
  form .field{margin-bottom:16px}
  form label{font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--muted);display:block;margin-bottom:6px}
  form input, form select, form textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:10px;
    font-family:inherit;font-size:.98rem;background:#fff;transition:border-color .2s}
  form input:focus, form select:focus, form textarea:focus{outline:none;border-color:var(--gold)}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .form-note{font-size:.8rem;color:var(--muted);margin-top:10px}
  .form-msg{display:none;background:#eef7ee;border:1.5px solid #bfe3bf;color:#256b25;padding:14px 16px;border-radius:10px;margin-top:6px;font-size:.94rem}

  /* Footer */
  footer{background:var(--ink);color:#cfccc4;padding:64px 0 30px}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
  footer .brand .bt{color:#fff}
  footer .fcol h5{font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#fff;font-size:.82rem;margin-bottom:16px}
  footer .fcol a, footer .fcol p{display:block;color:#b4b1aa;font-size:.92rem;margin-bottom:9px}
  footer .fcol a:hover{color:var(--gold)}
  .foot-bottom{border-top:1px solid rgba(255,255,255, .1);margin-top:48px;padding-top:22px;
    display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.8rem;color:#8e8b84}
  .foot-bottom a{color:var(--gold)}
  .ape-credit a{color:#9a978f}.ape-credit a:hover{color:var(--gold)}
  .affil{border-top:1px solid rgba(255,255,255, .1);margin-top:44px;padding-top:30px;text-align:center}
  .affil .affil-label{font-family:"Oswald", sans-serif;text-transform:uppercase;letter-spacing:.18em;
    font-size:.72rem;color:#8e8b84;display:block;margin-bottom:18px}
  .affil .affil-badges{display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap}
  .affil .affil-badges img{height:84px;width:84px;border-radius:14px;background:#fff;padding:7px;
    object-fit:contain;box-shadow:0 6px 20px -6px rgba(0,0,0, .5);transition:transform .2s ease}
  .affil .affil-badges img:hover{transform:translateY(-3px)}

  /* ---------- Responsive ---------- */
  @media(max-width:920px){
    .nav-links{display:none}
    .nav-cta .btn{display:none}
    .nav-burger{display:flex}
    .split{grid-template-columns:1fr}
    .why .media{aspect-ratio:4/3;order:-1}
    .prog-grid{grid-template-columns:repeat(2,1fr)}
    .contact-grid{grid-template-columns:1fr}
  }
  @media(max-width:560px){
    .prog-grid{grid-template-columns:1fr}
    .frow{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr;gap:30px}
    .hero{min-height:82vh}
    .stat-row{gap:24px}
    header.nav .brand .logo{width:42px;height:42px}
    header.nav .brand .bt{font-size:1.18rem}
    header.nav .brand .bt small{font-size:.58rem;letter-spacing:.18em}
    .brand{gap:8px}
    .cobrand{gap:5px}
    .cobrand-x{font-size:.92rem}
  }

  /* ---------- Rec season chip (hero) ---------- */
  .season-chip{display:inline-flex;align-items:center;gap:8px;margin-top:22px;
    background:rgba(21,35,76,.42);border:1px solid rgba(255,147,189,.5);backdrop-filter:blur(6px);
    color:#fff;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.06em;
    font-size:.82rem;padding:10px 16px;border-radius:999px}
  .season-chip b{color:var(--gold-bright)}

  /* ---------- Rec season dates block ---------- */
  .season-dates{display:flex;flex-wrap:wrap;align-items:center;gap:10px 40px;margin-top:36px;
    background:var(--cream);border:1.5px solid var(--line);border-left:5px solid var(--gold);
    border-radius:var(--r);padding:28px 32px}
  .season-dates .sd-item{display:flex;flex-direction:column;gap:4px}
  .season-dates .sd-label{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.14em;
    font-size:.72rem;color:var(--gold-deep);font-weight:600}
  .season-dates .sd-val{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:1.7rem;
    color:var(--ink);line-height:1}
  .season-dates .sd-divider{width:1px;height:44px;background:var(--line)}
  .season-dates .sd-note{flex:1 1 320px;color:var(--muted);font-size:.92rem;min-width:260px}
  @media(max-width:560px){.season-dates .sd-divider{display:none}}

  /* ---------- Travel teaser card (in Rec divisions grid) ---------- */
  .prog-travel{background:var(--ink)}
  .prog-travel::after{background:linear-gradient(180deg, rgba(21,35,76,.35) 0%, rgba(21,35,76,.94) 100%)}
  .prog-travel img{opacity:.55}
  .prog-travel h3{color:var(--gold-bright)}
  .prog-travel:hover img{transform:scale(1.06);opacity:.65}

  /* ---------- Travel page: rec-vs-travel + tryout ---------- */
  .compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
  .compare .cc{border-radius:var(--r);padding:30px 28px;border:1.5px solid var(--line)}
  .compare .cc.rec{background:var(--cream)}
  .compare .cc.trav{background:var(--ink);color:#fff;border-color:transparent;box-shadow:var(--shadow)}
  .compare .cc h3{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:1.5rem;letter-spacing:.5px;margin-bottom:6px}
  .compare .cc.rec h3{color:var(--ink)}
  .compare .cc.trav h3{color:var(--gold-bright)}
  .compare .cc .tag{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--gold-deep);font-weight:600;display:block;margin-bottom:14px}
  .compare .cc.trav .tag{color:var(--gold-bright)}
  .compare ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:10px}
  .compare li{padding-left:24px;position:relative;font-size:.96rem}
  .compare li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--gold)}
  .compare .cc.rec li{color:var(--text)}.compare .cc.trav li{color:#dcd9e2}
  @media(max-width:700px){.compare{grid-template-columns:1fr}}
  .step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
  .step{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:28px 26px}
  .step .num{font-family:"Anton",sans-serif;font-size:2rem;color:var(--gold-deep);line-height:1}
  .step h4{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem;margin:10px 0 6px}
  .step p{color:var(--muted);font-size:.92rem}
  @media(max-width:820px){.step-grid{grid-template-columns:1fr}}
