/* =========================================================
   D'Ouro Ericeira — design tokens
   ========================================================= */
:root{
  --navy: #0B2942;
  --navy-2: #123A5E;
  --orange: #E8672A;
  --orange-2: #CF5A20;
  --gold: #F3AD19;
  --cream: #FBFAF6;
  --cream-2: #F1ECDF;
  --ink: #102F49;
  --ink-soft: #56707F;
  --line: #DDE5E9;
  --white: #FFFFFF;

  --display: "Fraunces", serif;
  --body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;

  --radius-s: 10px;
  --radius: 16px;
  --radius-l: 26px;
  --shadow: 0 20px 50px -22px rgba(11,41,66,.38);
  --wrap: 1100px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

.wrap{ width:min(var(--wrap), 92%); margin:0 auto; }

.skip-link{
  position:absolute; left:-999px; top:0; z-index:300;
  background:var(--navy); color:#fff; padding:12px 18px; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; }
:focus-visible{ outline:3px solid var(--orange); outline-offset:2px; }

h1,h2,h3{ font-family:var(--display); color:var(--navy); margin:0 0 .4em; font-weight:700; line-height:1.08; }
h2{ font-size:clamp(1.7rem, 3.4vw, 2.6rem); }
h3{ font-size:1.2rem; font-weight:600; }
p{ margin:0 0 1em; color:var(--ink-soft); }

.eyebrow{
  font-family:var(--body); font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  font-size:.74rem; color:var(--orange); margin:0 0 .6em;
}
.eyebrow-light{ color:var(--gold); }

.brand-douro{ font-family:var(--display); font-weight:700; font-size:1.3rem; color:var(--navy); }
.brand-ericeira{ font-family:var(--body); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.62rem; color:var(--ink-soft); display:block; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 28px; border-radius:999px; font-weight:700; font-size:.95rem;
  border:2px solid transparent; cursor:pointer;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:var(--orange); color:#fff; box-shadow:0 14px 26px -12px rgba(232,103,42,.6); }
.btn-primary:hover{ background:var(--orange-2); }
.btn-gold{ background:var(--gold); color:var(--navy); box-shadow:0 14px 26px -12px rgba(243,173,25,.55); }
.btn-gold:hover{ background:#e19d0f; }
.btn-ghost{ background:transparent; border-color:rgba(255,255,255,.65); color:#fff; }
.btn-ghost:hover{ background:rgba(255,255,255,.12); }

/* =========================================================
   Top bar
   ========================================================= */
.topbar{
  position:sticky; top:0; z-index:100;
  background:rgba(251,250,246,.92); backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(11,41,66,.08);
}
.topbar-inner{ display:flex; align-items:center; justify-content:space-between; padding:10px 0; flex-wrap:wrap; gap:10px; }
.topnav{ display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
.topnav a{ font-weight:600; font-size:.9rem; color:var(--navy); }
.topnav a:hover{ color:var(--orange); }
.topnav-cta{ background:var(--navy); color:#fff !important; padding:8px 16px; border-radius:999px; }
.topnav-cta:hover{ background:var(--navy-2); }

/* =========================================================
   Hero
   ========================================================= */
.hero{ position:relative; overflow:hidden; background:var(--navy); }
.hero-img{
  width:100%; height:min(84vh, 680px); object-fit:cover; object-position:center 35%;
  display:block;
}
.shade{
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(6,26,44,.92) 0%, rgba(6,26,44,.66) 42%, rgba(6,26,44,.22) 78%);
}
.hero-copy{ position:absolute; left:50%; bottom:64px; transform:translateX(-50%); width:min(var(--wrap),92%); color:#fff; }
.ribbon{
  display:inline-block; background:var(--orange); color:#fff; font-weight:800; letter-spacing:.08em;
  font-size:.78rem; text-transform:uppercase; padding:9px 16px; border-radius:999px; margin-bottom:20px;
}
.hero h1{ color:#fff; font-size:clamp(2.3rem, 5.4vw, 4.2rem); max-width:14ch; margin-bottom:.3em; }
.hero-lede{ color:rgba(255,255,255,.86); font-size:1.08rem; max-width:46ch; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:1.5em; }

.sun-divider{ display:block; width:100%; height:64px; position:relative; z-index:2; margin-top:-2px; }

@media (max-width:640px){
  .hero-copy{ bottom:46px; }
  .hero-img{ height:78vh; object-position: 32% 35%; }
}

/* =========================================================
   Weeks / price strip  — flex + wrap, no fragile equal-grid
   ========================================================= */
.weeks{ background:var(--navy); color:#fff; padding:44px 0; }
.weeks-inner{
  display:flex; flex-wrap:wrap; gap:36px; align-items:center; justify-content:space-between;
}
.week-pills{ flex:1 1 420px; min-width:0; }
.pill-row{ display:flex; flex-wrap:wrap; gap:12px; }
.pill{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-s); padding:12px 18px; min-width:132px;
}
.pill b{ display:block; font-family:var(--display); font-size:1.05rem; }
.pill span{ display:block; font-size:.76rem; color:rgba(255,255,255,.7); margin-top:2px; }
.pill-note{ margin:14px 0 0; font-size:.85rem; color:rgba(255,255,255,.75); }

.price-block{ flex:0 0 auto; text-align:center; }
.price{ font-family:var(--display); font-size:3rem; font-weight:700; color:var(--gold); margin:0; line-height:1; }
.cur{ font-size:1.5rem; vertical-align:top; position:relative; top:.5em; }
.price-unit{ margin:2px 0 16px; font-size:.85rem; color:rgba(255,255,255,.75); }

@media (max-width:560px){
  .weeks-inner{ flex-direction:column; align-items:stretch; text-align:center; }
  .pill-row{ justify-content:center; }
  .price-block{ width:100%; }
}

/* =========================================================
   Intro
   ========================================================= */
.intro{ padding:80px 0 60px; }
.intro-inner{ display:flex; align-items:center; gap:48px; flex-wrap:wrap; }
.intro-copy{ flex:1 1 380px; min-width:0; }
.intro h2{ max-width:16ch; }
.lead{ font-size:1.1rem; max-width:56ch; margin:0; }
.intro-photo{
  flex:0 0 auto; width:220px; height:220px; object-fit:cover; border-radius:var(--radius-l);
  box-shadow:var(--shadow); transform:rotate(2deg);
}

@media (max-width:760px){
  .intro-inner{ flex-direction:column-reverse; text-align:center; }
  .intro-photo{ transform:none; }
}

/* =========================================================
   Coach
   ========================================================= */
.coach{ background:var(--cream-2); padding:70px 0; }
.coach-inner{ display:flex; gap:44px; align-items:center; flex-wrap:wrap; }
.coach-photo{
  width:220px; height:280px; object-fit:cover; border-radius:var(--radius);
  box-shadow:var(--shadow); flex:0 0 auto;
}
.coach-copy{ flex:1 1 340px; min-width:0; }
.coach-copy p{ max-width:56ch; }
.coach-quote{
  font-family:var(--display); font-style:italic; color:var(--navy);
  font-size:1.15rem; border-left:3px solid var(--gold); padding-left:16px; margin-top:20px;
}

@media (max-width:560px){
  .coach-inner{ flex-direction:column; text-align:center; }
  .coach-photo{ width:180px; height:230px; }
  .coach-quote{ border-left:0; border-top:3px solid var(--gold); padding-left:0; padding-top:12px; }
}

/* =========================================================
   Gallery
   ========================================================= */
.gallery{ padding:80px 0 20px; }
.gallery > .wrap:first-child{ text-align:center; margin-bottom:36px; }
.gallery h2{ max-width:22ch; margin-left:auto; margin-right:auto; }

.gallery-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:190px;
  grid-auto-flow:dense; gap:14px;
}
.g{ position:relative; margin:0; overflow:hidden; border-radius:var(--radius-s); grid-column:span 2; }
.g.g-wide{ grid-column:span 4; }
.g.g-tall{ grid-row:span 2; }
.g img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.g:hover img{ transform:scale(1.06); }
.g figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:22px 14px 12px;
  background:linear-gradient(180deg, transparent, rgba(11,41,66,.85));
  color:#fff; font-size:.82rem; font-weight:600;
}

@media (max-width:760px){
  .gallery-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:170px; }
  .g, .g.g-wide{ grid-column:span 2; }
  .g.g-tall{ grid-row:span 1; }
}

/* =========================================================
   Registration form
   ========================================================= */
.register{ background:var(--cream-2); padding:80px 0; }
.formwrap{ max-width:900px; }
.formhead{ text-align:center; margin-bottom:34px; }
.formhead p:last-child{ color:var(--ink-soft); }

.registration-form{
  background:#fff; border-radius:var(--radius-l); padding:44px;
  box-shadow:var(--shadow);
}
.registration-form h3{ margin:34px 0 16px; }
.registration-form h3:first-of-type{ margin-top:0; }

.grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label{ display:block; font-size:.9rem; font-weight:600; margin-bottom:16px; color:var(--navy); }
input, select, textarea{
  width:100%; margin-top:6px; padding:13px 14px; border:1.5px solid var(--line);
  border-radius:var(--radius-s); font:inherit; color:var(--ink); background:#fff;
}
input:focus, select:focus, textarea:focus{ border-color:var(--orange); }
textarea{ resize:vertical; }

.choices{ display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
.choices label, .check{
  display:flex; align-items:flex-start; gap:10px; padding:14px;
  border:1.5px solid var(--line); border-radius:var(--radius-s); background:#FAFCFC;
  font-weight:600; margin-bottom:0;
}
.choices input, .check input{ width:auto; margin:3px 0 0; flex:0 0 auto; }
.check span{ font-weight:500; font-size:.9rem; color:var(--ink-soft); }

.payment{
  margin-top:36px; padding:30px; background:var(--navy); color:#fff; border-radius:var(--radius);
}
.payment h3{ margin:0 0 12px; color:#fff; }
.price-tag{ font-family:var(--display); font-size:2.4rem; font-weight:700; color:var(--gold); line-height:1; margin-bottom:20px; }
.price-tag small{ font-family:var(--body); font-size:.9rem; font-weight:500; color:rgba(255,255,255,.8); }
.paygrid{ display:grid; grid-template-columns:1.3fr .7fr; gap:26px; }
.paygrid p{ margin:0; color:rgba(255,255,255,.9); }
.payment a, .copy-btn{ color:var(--gold); font-weight:700; }
.copy-btn{ border:0; background:none; padding:0; font:inherit; font-weight:800; text-decoration:underline; cursor:pointer; }
.check.dark{ background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.2); margin-top:22px; }
.check.dark span{ color:rgba(255,255,255,.85); }

.submit{
  width:100%; margin-top:26px; border:0; border-radius:999px; background:var(--orange);
  color:#fff; font:inherit; font-size:1.05rem; font-weight:800; padding:18px; cursor:pointer;
  transition:background .15s ease, transform .15s ease;
}
.submit:hover{ background:var(--orange-2); transform:translateY(-2px); }

.hide{ position:absolute; left:-9999px; }

@media (max-width:720px){
  .registration-form{ padding:26px 20px; }
  .grid, .choices, .paygrid{ grid-template-columns:1fr; }
  .payment{ padding:24px 20px; }
}

/* =========================================================
   Logistics
   ========================================================= */
.logistics{ display:flex; flex-wrap:wrap; gap:20px; padding:70px 0; }
.logistics > div{ flex:1 1 320px; padding:28px; border:1.5px solid var(--line); border-radius:var(--radius); background:#fff; }
.logistics span{ display:block; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); font-weight:800; }
.logistics b{ display:block; font-family:var(--display); font-size:1.15rem; margin-top:8px; color:var(--navy); font-weight:700; }
.logistics p{ margin:6px 0 0; }

/* =========================================================
   Footer
   ========================================================= */
footer{ background:var(--navy); color:rgba(255,255,255,.85); padding:36px 0; }
.footer-inner{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px; }
.footer-inner .brand-douro{ color:var(--gold); }
.footer-inner .brand-ericeira{ color:rgba(255,255,255,.65); }
.footer-inner p{ margin:6px 0 0; font-size:.85rem; color:rgba(255,255,255,.6); }
.footer-contact{ display:flex; gap:20px; flex-wrap:wrap; }
.footer-contact a{ font-weight:700; }
.footer-contact a:hover{ color:var(--gold); }

/* Publish refinements, preserving Claude's design language */
.brand-logo-link{display:flex;align-items:center;overflow:visible}
.brand-logo-link img{width:120px;height:70px;object-fit:contain;display:block}

.hero-clean{background:var(--cream);padding:36px 0 30px;border-bottom:1px solid rgba(11,41,66,.08)}
.hero-clean-grid{display:grid;grid-template-columns:230px 1fr 150px;gap:34px;align-items:center}
.hero-clean-logo img{width:100%;height:auto;display:block}
.hero-clean-copy h1{font-family:var(--display);font-size:clamp(2.4rem,5vw,4.7rem);line-height:.98;margin:0;color:var(--navy);text-transform:uppercase}
.hero-clean-copy h1 em{font-style:italic;color:var(--orange)}
.hero-clean-copy>p{max-width:720px;font-size:1.02rem;color:var(--muted);margin:18px 0 28px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(11,41,66,.18);padding-top:20px}
.hero-stats>div{display:flex;gap:10px;align-items:center;padding:0 18px;border-right:1px solid rgba(11,41,66,.18)}
.hero-stats>div:first-child{padding-left:0}.hero-stats>div:last-child{border-right:0}
.hero-stats span{font-size:1.6rem;color:var(--navy)}
.hero-stats b{font-size:.85rem;text-transform:uppercase;line-height:1.2}
.hero-stats small{font-size:.72rem;font-weight:700}
.hero-age-splash,.form-age-splash{
  background:var(--orange);color:var(--navy);text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  clip-path:polygon(7% 24%,18% 21%,12% 8%,31% 15%,38% 2%,48% 14%,61% 4%,65% 17%,83% 10%,78% 26%,97% 31%,83% 42%,95% 55%,80% 61%,89% 80%,69% 75%,61% 96%,49% 81%,35% 94%,31% 77%,11% 86%,18% 66%,2% 57%,16% 44%);
}
.hero-age-splash{width:150px;height:150px}
.hero-age-splash strong,.form-age-splash strong{font-size:1.45rem;line-height:1}
.hero-age-splash span,.form-age-splash span{font-size:.68rem;font-weight:900;margin-top:8px;letter-spacing:.04em}

.formhead-badge{display:flex;align-items:center;justify-content:space-between;gap:28px;text-align:left}
.formhead-copy{flex:1}
.form-age-splash{width:145px;height:120px;flex:0 0 145px}

.coach{margin-top:0}
.footer-inner{align-items:center}

@media(max-width:900px){
  .hero-clean-grid{grid-template-columns:170px 1fr}
  .hero-age-splash{grid-column:1/-1;justify-self:center}
  .hero-stats{grid-template-columns:1fr 1fr;gap:18px}
  .hero-stats>div{border-right:0;padding:0}
}
@media(max-width:640px){
  .hero-clean-grid{grid-template-columns:1fr;text-align:center}
  .hero-clean-logo img{width:180px;margin:auto}
  .hero-clean-copy h1{font-size:2.5rem}
  .hero-clean-copy>p{margin-left:auto;margin-right:auto}
  .hero-stats{grid-template-columns:1fr 1fr;text-align:left}
  .hero-age-splash{width:130px;height:130px}
  .formhead-badge{flex-direction:column;text-align:center}
  .form-age-splash{width:135px;height:110px}
  .brand-logo-link img{width:105px;height:58px}
}

/* FINAL PUBLISH CLEANUP */
.brand-logo-link img{
  width:112px !important;
  height:66px !important;
  object-fit:contain !important;
  border-radius:0 !important;
}
.topbar-inner{padding:8px 0 !important}
.topnav{gap:0 !important}

.hero-form{
  position:relative;
  overflow:hidden;
  background:#fbfaf6;
  border-bottom:1px solid rgba(11,41,66,.08);
}
.hero-team-bg{
  position:absolute;
  inset:0 0 0 45%;
  background:
    linear-gradient(90deg, #fbfaf6 0%, rgba(251,250,246,.82) 22%, rgba(251,250,246,.38) 56%, rgba(251,250,246,.18) 100%),
    url("../assets/hero-team.jpg") center 38% / cover no-repeat;
  opacity:.55;
}
.hero-form-grid{
  position:relative;
  min-height:500px;
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 150px;
  gap:34px;
  align-items:center;
  padding:38px 0;
}
.hero-brand img{width:100%;height:auto}
.hero-form-copy h1{
  font-family:var(--display);
  font-size:clamp(2.4rem,5vw,4.6rem);
  line-height:.98;
  text-transform:uppercase;
  margin:0;
  max-width:710px;
}
.hero-form-copy h1 em{color:var(--orange);font-style:italic}
.hero-form-copy>p{font-size:1.02rem;max-width:670px;margin:18px 0 26px}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid rgba(11,41,66,.18);
  padding-top:18px;
  gap:0;
}
.hero-stats>div{
  padding:0 13px;
  border-right:1px solid rgba(11,41,66,.18);
}
.hero-stats>div:first-child{padding-left:0}
.hero-stats>div:last-child{border-right:0}
.hero-stats b{display:block;font-size:.82rem;color:var(--navy);line-height:1.2}
.hero-stats small{display:block;font-size:.68rem;color:var(--ink-soft);margin-top:3px}
.hero-age-splash,.form-age-splash{
  background:var(--orange) !important;
  color:var(--navy) !important;
  text-align:center;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  clip-path:polygon(8% 23%,19% 20%,13% 7%,31% 14%,39% 1%,49% 13%,61% 3%,66% 17%,83% 10%,79% 27%,97% 31%,83% 43%,95% 56%,80% 61%,89% 80%,69% 75%,61% 96%,49% 82%,35% 94%,31% 78%,11% 86%,18% 66%,2% 57%,16% 44%);
  border:0 !important;
  border-radius:0 !important;
}
.hero-age-splash{width:150px;height:150px}
.hero-age-splash strong,.form-age-splash strong{font-size:1.38rem;line-height:1}
.hero-age-splash span,.form-age-splash span{font-size:.67rem;font-weight:900;margin-top:7px}

.gallery-simple{padding:24px 0 66px}
.gallery-simple .eyebrow{text-align:center;margin-bottom:20px}
.gallery-simple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.gallery-simple-grid figure{margin:0;position:relative;overflow:hidden;border-radius:var(--radius-s);height:220px}
.gallery-simple-grid img{width:100%;height:100%;object-fit:cover}
.gallery-simple-grid figure:nth-child(1) img{object-position:center 45%}
.gallery-simple-grid figure:nth-child(2) img{object-position:center 42%}
.gallery-simple-grid figure:nth-child(3) img{object-position:center 35%}
.gallery-simple-grid figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:24px 13px 11px;
  background:linear-gradient(transparent,rgba(11,41,66,.86));
  color:#fff;font-size:.82rem;font-weight:700
}
.form-age-splash{width:145px;height:118px;flex:0 0 145px}

.footer-brand img{width:145px;height:86px;object-fit:contain}
.footer-contact{display:flex;flex-direction:column;gap:2px;color:#fff}
.footer-contact span{color:rgba(255,255,255,.82)}

@media(max-width:900px){
  .hero-team-bg{inset:0;opacity:.22}
  .hero-form-grid{grid-template-columns:170px 1fr}
  .hero-age-splash{grid-column:1/-1;justify-self:center}
  .hero-stats{grid-template-columns:1fr 1fr;gap:14px}
  .hero-stats>div{border-right:0;padding:0}
}
@media(max-width:680px){
  .hero-form-grid{grid-template-columns:1fr;text-align:center;min-height:auto;padding:25px 0 32px}
  .hero-brand img{width:190px;margin:auto}
  .hero-form-copy h1{font-size:2.45rem}
  .hero-form-copy>p{margin-left:auto;margin-right:auto}
  .hero-stats{text-align:left}
  .gallery-simple-grid{grid-template-columns:1fr}
  .gallery-simple-grid figure{height:220px}
  .formhead-badge{flex-direction:column;text-align:center}
}

/* User-requested final visual fixes */
.brand-logo-link img{
  width:145px !important;
  height:82px !important;
  object-fit:contain !important;
  background:transparent !important;
}
.hero-brand img{
  width:245px !important;
  max-width:100% !important;
  height:auto !important;
  background:transparent !important;
}
.hero-form-grid{
  min-height:430px !important;
  grid-template-columns:245px minmax(0,1fr) 150px !important;
  gap:22px !important;
  padding:24px 0 28px !important;
}
.hero-form-copy>p{margin:12px 0 20px !important}
.hero-stats{padding-top:14px !important}
.weeks{padding-top:0 !important}
.weeks-inner{padding-top:24px !important;padding-bottom:24px !important}
.pill-row{gap:12px !important}
.pill.week-link{
  text-decoration:none !important;
  cursor:pointer !important;
  transition:transform .15s ease, background .15s ease, border-color .15s ease !important;
}
.pill.week-link:hover,
.pill.week-link:focus{
  transform:translateY(-2px);
  background:rgba(255,255,255,.13) !important;
  border-color:var(--gold) !important;
}
.intro-photo{
  object-fit:cover !important;
  object-position:center 58% !important;
}
.gallery-simple-grid figure:nth-child(1) img{object-position:center 44% !important}
.gallery-simple-grid figure:nth-child(2) img{object-position:center 42% !important}
.gallery-simple-grid figure:nth-child(3) img{object-position:center 48% !important}
.footer-brand img{
  width:170px !important;
  height:100px !important;
  object-fit:contain !important;
  background:transparent !important;
}
@media(max-width:900px){
  .hero-form-grid{grid-template-columns:190px 1fr !important}
  .hero-brand img{width:190px !important}
}
@media(max-width:680px){
  .hero-form-grid{grid-template-columns:1fr !important;gap:12px !important}
  .hero-brand img{width:210px !important;margin:auto}
  .brand-logo-link img{width:120px !important;height:70px !important}
}

/* FINAL POLISH */
body{background:#fffdf8}
.brand-logo-link img,
.hero-brand img,
.footer-brand img{
  background:transparent !important;
  object-fit:contain !important;
}
.brand-logo-link img{width:150px !important;height:88px !important}
.hero-brand img{width:270px !important;max-width:100% !important}
.footer-brand img{width:180px !important;height:110px !important}

.registration-top-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:26px;
  align-items:center;
  margin-bottom:24px;
}
.registration-brand-panel{
  min-height:260px;
  border-radius:22px;
  background:linear-gradient(145deg,#fff9ec,#fff2cf);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:22px;
  text-align:center;
  box-shadow:0 14px 30px rgba(11,59,94,.08);
  overflow:hidden;
  position:relative;
}
.registration-brand-panel:before,
.registration-brand-panel:after{
  content:"✦";
  position:absolute;
  color:#f5b31b;
  font-size:30px;
}
.registration-brand-panel:before{top:16px;left:20px}
.registration-brand-panel:after{right:20px;bottom:16px}
.registration-brand-panel img{
  width:220px;
  max-width:100%;
  height:auto;
  display:block;
}
.registration-brand-panel p{
  margin:4px 0 0;
  font-weight:900;
  color:#ef6d22;
  letter-spacing:.12em;
}
.registration-brand-panel strong{
  margin-top:8px;
  font-size:1.6rem;
  color:#0b3b5e;
}
.registration-brand-panel span{
  font-size:.82rem;
  color:#0b3b5e;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.formhead-badge{
  margin:0 !important;
}
.form-age-splash{
  display:none !important;
}

.gallery-simple-grid figure{
  height:245px !important;
}
.gallery-simple-grid figure:nth-child(1) img{object-position:center 42% !important}
.gallery-simple-grid figure:nth-child(2) img{object-position:center 52% !important}
.gallery-simple-grid figure:nth-child(3) img{object-position:center 48% !important}

/* tighter, more continuous layout */
.gallery-simple{padding-top:18px !important;padding-bottom:48px !important}
.intro{padding-bottom:34px !important}
.register{padding-top:54px !important}

@media(max-width:760px){
  .registration-top-grid{grid-template-columns:1fr}
  .registration-brand-panel{min-height:210px}
  .registration-brand-panel img{width:190px}
}

/* REGISTRATION LAYOUT CORRECTION */
.formwrap,.registration-top-grid,.registration-brand-panel{all:unset}
.registration-shell{
  display:grid;
  grid-template-columns:minmax(280px,34%) minmax(0,1fr);
  max-width:1120px;
  margin:0 auto;
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(11,41,66,.10);
}
.registration-brand-side{
  min-width:0;
  background:
    radial-gradient(circle at 25% 18%,rgba(255,255,255,.75) 0 3px,transparent 4px),
    radial-gradient(circle at 78% 31%,rgba(255,255,255,.7) 0 2px,transparent 3px),
    linear-gradient(155deg,#fff4d2 0%,#ffd867 48%,#f5ad18 100%);
  padding:44px 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.brand-side-inner{
  width:100%;
  text-align:center;
  position:sticky;
  top:28px;
  align-self:start;
}
.registration-brand-side img{
  width:min(100%,330px);
  height:auto;
  display:block;
  margin:0 auto 22px;
  filter:drop-shadow(0 8px 10px rgba(11,41,66,.10));
}
.brand-side-kicker{
  color:#ef6425;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
  margin:0 0 10px;
}
.registration-brand-side h2{
  color:#0b2942;
  font-family:var(--display);
  font-size:clamp(3rem,4.2vw,4.6rem);
  line-height:.84;
  margin:0;
}
.brand-side-age{
  display:inline-block;
  margin-top:25px;
  padding:10px 17px;
  background:#0b2942;
  color:white;
  font-weight:900;
  font-size:1.3rem;
  border-radius:999px;
}
.brand-side-small{
  color:#0b2942;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  margin-top:9px;
}
.brand-side-spark{
  position:absolute;
  color:#fff;
  line-height:1;
}
.spark-one{font-size:32px;top:-6px;left:12px}
.spark-two{font-size:22px;right:10px;top:44%}

.registration-main{
  min-width:0;
  padding:42px 48px 48px;
  background:#fff;
}
.registration-main .formhead{
  display:block !important;
  margin:0 0 30px !important;
  padding:0 !important;
}
.registration-main .registration-form{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.registration-main .registration-form .grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}
.registration-main label{
  min-width:0 !important;
}
.registration-main input:not([type="checkbox"]),
.registration-main select,
.registration-main textarea{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.registration-main .payment{
  width:100% !important;
  box-sizing:border-box !important;
}
.hero-stats b{
  white-space:nowrap;
}
@media(max-width:820px){
  .registration-shell{grid-template-columns:1fr}
  .registration-brand-side{padding:28px 22px}
  .brand-side-inner{position:static}
  .registration-brand-side img{width:230px;margin-bottom:8px}
  .registration-brand-side h2{font-size:2.8rem}
  .registration-main{padding:30px 22px 36px}
}
@media(max-width:560px){
  .registration-main .registration-form .grid{grid-template-columns:1fr !important}
}

/* FINAL VISUAL CORRECTIONS */
.hero-form-grid{
  min-height:390px !important;
  grid-template-columns:255px minmax(0,1fr) 145px !important;
  gap:20px !important;
  padding:20px 0 24px !important;
}
.hero-brand img{
  width:250px !important;
  max-width:100% !important;
  height:auto !important;
}
.hero-form-copy h1{
  font-size:clamp(2.6rem,4.5vw,4.35rem) !important;
}
.hero-form-copy>p{
  margin:10px 0 18px !important;
}
.hero-stats{
  grid-template-columns:1fr 1fr 1.18fr 1.45fr .85fr !important;
  gap:0 !important;
  padding-top:13px !important;
}
.hero-stats>div{
  min-width:0 !important;
  padding:0 16px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-stats>div:first-child{padding-left:0 !important}
.hero-stats b{
  white-space:nowrap !important;
  font-size:.82rem !important;
}
.hero-stats small{
  white-space:nowrap !important;
  font-size:.69rem !important;
  margin-top:4px !important;
}
.time-stat b{
  font-size:.84rem !important;
}
.weeks-inner{
  padding-top:22px !important;
  padding-bottom:22px !important;
}
.intro{
  padding-top:46px !important;
  padding-bottom:28px !important;
}
.gallery-simple{
  padding-top:12px !important;
  padding-bottom:42px !important;
}
.gallery-simple-grid figure{
  height:240px !important;
}
.gallery-simple-grid figure:nth-child(1) img{object-position:center 43% !important}
.gallery-simple-grid figure:nth-child(2) img{object-position:center 53% !important}
.gallery-simple-grid figure:nth-child(3) img{object-position:center 34% !important}

/* Registration: massive left branding, clean right-side form */
.register{
  padding:52px 0 !important;
}
.register-wrap{
  width:min(1240px,95%) !important;
}
.final-registration-shell{
  display:grid !important;
  grid-template-columns:minmax(380px,42%) minmax(0,58%) !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 18px 55px rgba(11,41,66,.12) !important;
}
.final-registration-shell .registration-brand-side{
  padding:28px 24px !important;
  min-height:100% !important;
  background:
    radial-gradient(circle at 17% 12%,rgba(255,255,255,.92) 0 3px,transparent 4px),
    radial-gradient(circle at 86% 31%,rgba(255,255,255,.92) 0 3px,transparent 4px),
    linear-gradient(155deg,#fff5d5 0%,#ffe28b 48%,#f6b21b 100%) !important;
  display:flex !important;
  align-items:stretch !important;
}
.final-registration-shell .brand-side-inner{
  position:relative !important;
  top:auto !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:10px !important;
}
.final-registration-shell .registration-brand-side img{
  width:min(100%,470px) !important;
  height:auto !important;
  margin:0 auto 6px !important;
  display:block !important;
}
.left-club-title{
  color:#0b2942;
  font-family:var(--display);
  font-size:clamp(4.8rem,7vw,7rem);
  font-weight:900;
  line-height:.75;
  letter-spacing:-.04em;
  margin-top:2px;
}
.left-age-pill{
  margin-top:30px;
  background:#0b2942;
  color:#fff;
  border-radius:999px;
  padding:12px 24px;
  font-size:1.45rem;
  font-weight:900;
}
.left-boys-girls{
  margin-top:10px;
  color:#0b2942;
  font-size:.85rem;
  font-weight:900;
  letter-spacing:.13em;
}
.sun-spark{
  position:absolute;
  color:#fff;
  line-height:1;
}
.spark-a{top:15px;left:16px;font-size:30px}
.spark-b{right:18px;top:42%;font-size:22px}

.final-registration-shell .registration-main{
  padding:42px 44px 48px !important;
  min-width:0 !important;
  background:#fff !important;
}
.final-registration-shell .formhead{
  margin:0 0 30px !important;
  text-align:center !important;
}
.final-registration-shell .formhead h2{
  margin:5px 0 8px !important;
  font-size:clamp(2.5rem,4vw,3.7rem) !important;
}
.final-registration-shell .registration-form{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.final-registration-shell .registration-form .grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px 18px !important;
}
.final-registration-shell .registration-form label{
  min-width:0 !important;
  margin-bottom:16px !important;
}
.final-registration-shell input:not([type="checkbox"]),
.final-registration-shell select,
.final-registration-shell textarea{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding:14px 15px !important;
}
.final-registration-shell textarea{
  min-height:78px !important;
}
.final-registration-shell .choices{
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}
.final-registration-shell .payment{
  width:100% !important;
  margin-top:26px !important;
  box-sizing:border-box !important;
}

@media(max-width:980px){
  .hero-form-grid{
    grid-template-columns:200px 1fr !important;
  }
  .hero-age-splash{display:none !important}
  .hero-stats{
    grid-template-columns:repeat(2,1fr) !important;
    gap:12px !important;
  }
  .hero-stats>div{padding:0 !important;border-right:0 !important}
  .final-registration-shell{
    grid-template-columns:1fr !important;
  }
  .final-registration-shell .registration-brand-side{
    min-height:390px !important;
  }
  .left-club-title{font-size:4rem !important}
}
@media(max-width:640px){
  .hero-form-grid{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }
  .hero-brand img{
    width:220px !important;
    margin:auto !important;
  }
  .hero-stats{text-align:left !important}
  .final-registration-shell .registration-main{
    padding:28px 18px 34px !important;
  }
  .final-registration-shell .registration-form .grid,
  .final-registration-shell .choices{
    grid-template-columns:1fr !important;
  }
  .final-registration-shell .registration-brand-side{
    min-height:340px !important;
  }
  .final-registration-shell .registration-brand-side img{
    width:280px !important;
  }
  .left-club-title{font-size:3.6rem !important}
}

/* RESTORE ORIGINAL FORM: no split left/right registration columns */
.restored-form-section{
  padding:54px 0 64px !important;
  background:#f5efe1 !important;
}
.restored-register-wrap{
  width:min(980px,92%) !important;
}
.register-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:34px;
  align-items:center;
  margin-bottom:28px;
}
.register-copy h2{
  margin:6px 0 10px;
  font-size:clamp(2.4rem,4vw,3.5rem);
}
.register-copy p{
  max-width:620px;
  color:#5b6e7d;
}
.register-camp-photo{
  position:relative;
  height:190px;
  margin:0;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(11,41,66,.12);
}
.register-camp-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.register-camp-photo:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:45%;
  background:linear-gradient(transparent,rgba(5,31,51,.75));
}
.register-camp-photo figcaption{
  position:absolute;
  left:16px;
  bottom:13px;
  z-index:2;
  color:#fff;
  font-weight:800;
}
.restored-original-form{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:34px !important;
  background:#fff !important;
  border-radius:24px !important;
  box-shadow:0 14px 38px rgba(11,41,66,.08) !important;
}
.restored-original-form fieldset{
  margin:0 0 26px !important;
}
.restored-original-form .grid.two{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}
.restored-original-form label{
  min-width:0 !important;
}
.restored-original-form input:not([type="checkbox"]),
.restored-original-form select,
.restored-original-form textarea{
  width:100% !important;
  box-sizing:border-box !important;
}
.restored-original-form .payment-box{
  width:100% !important;
  box-sizing:border-box !important;
}
.payment-note{
  margin:12px 0 0;
  font-weight:700;
}
@media(max-width:720px){
  .register-top{grid-template-columns:1fr}
  .register-camp-photo{height:210px}
  .restored-original-form{padding:22px 18px !important}
  .restored-original-form .grid.two{grid-template-columns:1fr !important}
}

/* FINAL: ORIGINAL FORM, HIGH PRIORITY, NO SIDE-COLUMN REDESIGN */
.hidden{
  display:none !important;
  visibility:hidden !important;
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.restored-form-section{
  padding:34px 0 54px !important;
  background:#f5efe1 !important;
  margin:0 !important;
}
.restored-register-wrap{
  width:min(980px,92%) !important;
  margin:0 auto !important;
}
.register-top-priority{
  display:flex !important;
  align-items:center !important;
  gap:28px !important;
  margin:0 0 24px !important;
}
.register-copy{
  flex:1 1 auto !important;
}
.register-copy h2{
  margin:4px 0 7px !important;
  font-size:clamp(2.3rem,4vw,3.4rem) !important;
}
.register-copy p{
  margin:0 !important;
  max-width:680px !important;
}

.age-star-splash{
  width:170px !important;
  height:145px !important;
  flex:0 0 170px !important;
  background:#f3ad19 !important;
  color:#0b3453 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  clip-path:polygon(
    50% 0%, 60% 18%, 78% 8%, 76% 28%, 100% 30%, 82% 45%,
    98% 60%, 77% 62%, 82% 87%, 61% 78%, 50% 100%, 39% 78%,
    18% 87%, 23% 62%, 2% 60%, 18% 45%, 0% 30%, 24% 28%, 22% 8%, 40% 18%
  ) !important;
  filter:drop-shadow(0 10px 18px rgba(11,52,83,.12));
}
.age-star-splash strong{
  font-size:1.45rem !important;
  line-height:1 !important;
  font-weight:900 !important;
}
.age-star-splash span{
  margin-top:7px !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
}

.restored-original-form{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:30px 30px 28px !important;
  background:#fff !important;
  border-radius:22px !important;
  box-shadow:0 12px 32px rgba(11,41,66,.07) !important;
}
.restored-original-form fieldset{
  border:0 !important;
  padding:0 !important;
  margin:0 0 25px !important;
}
.restored-original-form legend{
  font-size:1.28rem !important;
  font-weight:900 !important;
  color:#0b3453 !important;
  margin:0 0 15px !important;
  padding:0 !important;
}
.restored-original-form .grid.two{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px 18px !important;
}
.restored-original-form label{
  display:block !important;
  min-width:0 !important;
  margin-bottom:14px !important;
}
.restored-original-form input:not([type="checkbox"]),
.restored-original-form select,
.restored-original-form textarea{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin-top:6px !important;
  padding:13px 14px !important;
  border:1px solid #cbd7dd !important;
  border-radius:9px !important;
  background:#fff !important;
}
.restored-original-form textarea{
  min-height:72px !important;
}
.restored-original-form .check-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
.restored-original-form .choice,
.restored-original-form .consent{
  display:flex !important;
  align-items:flex-start !important;
  gap:9px !important;
  padding:12px 13px !important;
  background:#f8fafb !important;
  border:1px solid #dce5e9 !important;
  border-radius:9px !important;
}
.restored-original-form .choice input,
.restored-original-form .consent input{
  width:auto !important;
  margin:3px 0 0 !important;
}
.restored-original-form .payment-box{
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 0 18px !important;
  padding:24px !important;
  border-radius:14px !important;
  background:#0d3859 !important;
  color:#fff !important;
}
.restored-original-form .payment-box legend{
  color:#fff !important;
}
.restored-original-form .submit-btn{
  width:100% !important;
  padding:17px !important;
  font-size:1.05rem !important;
}

.register-camp-photo{
  display:none !important;
}

@media(max-width:720px){
  .register-top-priority{
    align-items:center !important;
    gap:18px !important;
  }
  .age-star-splash{
    width:120px !important;
    height:105px !important;
    flex-basis:120px !important;
  }
  .age-star-splash strong{font-size:1.1rem !important}
  .age-star-splash span{font-size:.58rem !important}
  .restored-original-form{
    padding:22px 16px !important;
  }
  .restored-original-form .grid.two,
  .restored-original-form .check-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:520px){
  .register-top-priority{
    flex-direction:column !important;
    text-align:center !important;
  }
}

/* EXACT USER FIXES */

/* Hero: age splash is safely on the far left, never over a face */
.hero-form-grid{
  grid-template-columns:300px minmax(0,1fr) !important;
  gap:28px !important;
  min-height:395px !important;
}
.hero-left-cluster{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  position:relative !important;
  z-index:3 !important;
}
.hero-left-cluster .hero-age-splash{
  display:flex !important;
  width:145px !important;
  height:125px !important;
  margin:0 auto -12px !important;
  position:relative !important;
  z-index:4 !important;
}
.hero-left-cluster .hero-brand img{
  width:270px !important;
  height:auto !important;
  display:block !important;
}
.hero-team-bg{
  inset:0 0 0 48% !important;
  opacity:.38 !important;
}
.hero-form-copy{
  position:relative !important;
  z-index:2 !important;
}
.hero-stats{
  grid-template-columns:1fr 1fr 1.15fr 1.55fr .85fr !important;
}
.hero-stats .time-stat b{
  white-space:nowrap !important;
}
.hero-stats .time-stat small{
  white-space:nowrap !important;
}

/* Original compact form: centered and high priority */
.restored-form-section{
  padding:28px 0 42px !important;
}
.restored-register-wrap{
  width:min(720px,94%) !important;
}
.register-top-priority{
  margin-bottom:18px !important;
}
.age-star-splash{
  width:145px !important;
  height:125px !important;
  flex:0 0 145px !important;
}
.restored-original-form{
  padding:24px 24px 22px !important;
}
.restored-original-form fieldset{
  margin-bottom:20px !important;
}
.restored-original-form .grid.two{
  gap:12px 14px !important;
}
.restored-original-form label{
  margin-bottom:10px !important;
}
.restored-original-form input:not([type="checkbox"]),
.restored-original-form select,
.restored-original-form textarea{
  padding:11px 12px !important;
}
.restored-original-form textarea{
  min-height:60px !important;
}

/* Payment section: readable, aligned, no dark-on-dark text */
.restored-original-form .payment-box{
  background:#0d3859 !important;
  color:#fff !important;
  padding:22px !important;
  overflow:visible !important;
}
.restored-original-form .payment-box legend,
.restored-original-form .payment-box p,
.restored-original-form .payment-box strong,
.restored-original-form .payment-box span{
  color:#fff !important;
  opacity:1 !important;
}
.restored-original-form .payment-box .payment-price{
  color:#f5b31b !important;
  font-size:2.15rem !important;
  font-weight:900 !important;
}
.restored-original-form .payment-box .payment-price span{
  color:#fff !important;
  font-size:.9rem !important;
}
.restored-original-form .payment-box a,
.restored-original-form .payment-box .copy-btn{
  color:#f5b31b !important;
  opacity:1 !important;
}
.restored-original-form .payment-box .copy-btn{
  background:transparent !important;
  width:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  text-decoration:underline !important;
}
.restored-original-form .submit-btn{
  background:#ef6d22 !important;
  color:#fff !important;
  border:0 !important;
  opacity:1 !important;
}

/* Gallery crops */
.gallery-simple-grid figure:nth-child(1) img{object-position:center 43% !important}
.gallery-simple-grid figure:nth-child(2) img{object-position:center 45% !important}
.gallery-simple-grid figure:nth-child(3) img{object-position:center 34% !important}

@media(max-width:900px){
  .hero-form-grid{
    grid-template-columns:230px minmax(0,1fr) !important;
  }
  .hero-left-cluster .hero-brand img{width:220px !important}
  .hero-team-bg{inset:0 0 0 42% !important}
}
@media(max-width:680px){
  .hero-form-grid{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }
  .hero-left-cluster{
    flex-direction:row !important;
    justify-content:center !important;
  }
  .hero-left-cluster .hero-age-splash{
    width:105px !important;
    height:92px !important;
    margin:0 -10px 0 0 !important;
  }
  .hero-left-cluster .hero-brand img{width:190px !important}
  .hero-team-bg{inset:0 !important;opacity:.16 !important}
  .hero-stats{text-align:left !important}
  .restored-register-wrap{width:min(620px,94%) !important}
}

/* FINAL TOP INFO STRIP FROM FLYER */
.top-benefits{
  background:#fbf6ea;
  border-top:1px solid rgba(11,41,66,.10);
  border-bottom:3px solid #0b3453;
}
.top-benefits-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr)) minmax(180px,1.25fr);
  align-items:stretch;
  padding:0 !important;
}
.benefit-item{
  padding:18px 14px 16px;
  text-align:center;
  border-right:1px solid rgba(11,41,66,.20);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:128px;
}
.benefit-icon{
  color:#0b3453;
  font-size:1.7rem;
  line-height:1;
  margin-bottom:7px;
}
.benefit-item strong{
  color:#0b3453;
  font-size:.95rem;
  text-transform:uppercase;
}
.benefit-item span{
  color:#0b3453;
  font-size:.76rem;
  font-weight:700;
  line-height:1.3;
  margin-top:4px;
}
.benefit-price{
  background:#0b3453;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px;
  min-height:128px;
}
.benefit-price strong{
  color:#fff;
  font-size:3rem;
  line-height:.9;
}
.benefit-price span{
  font-size:1.05rem;
  font-weight:800;
  margin-top:6px;
}
.benefit-price em{
  margin-top:10px;
  color:#0b3453;
  background:#f5b31b;
  padding:6px 12px;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
  border-radius:3px;
}

.weeks{
  margin-top:0 !important;
}
.restored-form-section{
  padding-top:26px !important;
}

/* Payment heading fully visible */
.restored-original-form .payment-box{
  padding-top:22px !important;
}
.payment-heading{
  display:block;
  color:#fff !important;
  font-size:1.28rem;
  font-weight:900;
  line-height:1.2;
  margin:0 0 14px;
}

/* Footer logo: complete, uncropped */
.footer-brand{
  min-width:220px;
  overflow:visible !important;
}
.footer-logo-img{
  display:block !important;
  width:210px !important;
  height:135px !important;
  object-fit:contain !important;
  object-position:center !important;
  overflow:visible !important;
}
footer{
  overflow:visible !important;
}
.footer-inner{
  min-height:150px;
  align-items:center !important;
}

@media(max-width:980px){
  .top-benefits-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .benefit-price{
    grid-column:1/-1;
  }
}
@media(max-width:640px){
  .top-benefits-grid{
    grid-template-columns:1fr 1fr;
  }
  .benefit-item{
    min-height:112px;
  }
  .benefit-price{
    grid-column:1/-1;
  }
  .footer-logo-img{
    width:180px !important;
    height:115px !important;
  }
}


/* =========================================================
   MOBILE-ONLY LAYOUT FIXES
   Desktop styles intentionally unchanged.
   ========================================================= */
@media (max-width:680px){

  /* Top bar */
  .topbar-inner{
    min-height:86px !important;
    padding:8px 14px !important;
    gap:12px !important;
  }
  .brand-logo-link img{
    width:118px !important;
    height:68px !important;
  }
  .topnav-cta{
    padding:12px 17px !important;
    font-size:.88rem !important;
    white-space:nowrap !important;
  }

  /* Hero: stop text/dates colliding */
  .hero-form{
    overflow:hidden !important;
  }
  .hero-form-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
    min-height:auto !important;
    padding:20px 16px 24px !important;
    text-align:center !important;
  }
  .hero-left-cluster{
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
    gap:6px !important;
    margin-bottom:2px !important;
  }
  .hero-left-cluster .hero-age-splash{
    width:105px !important;
    height:92px !important;
    margin:0 !important;
    flex:0 0 105px !important;
  }
  .hero-left-cluster .hero-brand img{
    width:180px !important;
    margin:0 !important;
  }
  .hero-form-copy{
    width:100% !important;
    min-width:0 !important;
  }
  .hero-form-copy h1{
    font-size:2.45rem !important;
    line-height:.94 !important;
    margin:4px auto 14px !important;
    max-width:10ch !important;
  }
  .hero-form-copy>p{
    font-size:1rem !important;
    line-height:1.5 !important;
    margin:0 auto !important;
    max-width:31ch !important;
  }

  /* The same date/time/price information appears below.
     Hide this crowded desktop stats row only on mobile. */
  .hero-stats{
    display:none !important;
  }
  .hero-team-bg{
    inset:0 !important;
    opacity:.13 !important;
    background-position:center 35% !important;
  }

  /* Flyer info strip */
  .top-benefits-grid{
    grid-template-columns:1fr 1fr !important;
    width:100% !important;
  }
  .benefit-item{
    min-height:145px !important;
    padding:18px 12px !important;
    border-bottom:1px solid rgba(11,41,66,.16) !important;
  }
  .benefit-item strong{
    font-size:.88rem !important;
    line-height:1.2 !important;
  }
  .benefit-item span{
    font-size:.76rem !important;
    line-height:1.35 !important;
    max-width:17ch !important;
  }
  .benefit-price{
    grid-column:1/-1 !important;
    min-height:auto !important;
    padding:20px 16px !important;
  }
  .benefit-price strong{
    font-size:2.6rem !important;
  }

  /* Week selector: remove the huge empty navy space */
  .weeks{
    padding:28px 0 30px !important;
  }
  .weeks-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:22px !important;
    padding:0 16px !important;
  }
  .week-pills{
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
  }
  .week-pills .eyebrow{
    margin:0 0 18px !important;
    text-align:center !important;
  }
  .pill-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    width:100% !important;
  }
  .pill.week-link{
    min-width:0 !important;
    width:100% !important;
    padding:16px 10px !important;
    text-align:center !important;
  }
  .pill.week-link:nth-child(3){
    grid-column:1/-1 !important;
    width:min(72%,270px) !important;
    justify-self:center !important;
  }
  .pill b{
    font-size:1.05rem !important;
    white-space:nowrap !important;
  }
  .price-block{
    width:100% !important;
    flex:0 0 auto !important;
    margin:0 !important;
  }
  .price-block .btn{
    display:block !important;
    width:min(78%,320px) !important;
    margin:0 auto !important;
    padding:16px 18px !important;
  }

  /* Registration: high priority, compact and readable */
  .restored-form-section{
    padding:28px 0 40px !important;
  }
  .restored-register-wrap{
    width:min(94%,620px) !important;
  }
  .register-top-priority{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    text-align:left !important;
    gap:14px !important;
    margin-bottom:18px !important;
  }
  .age-star-splash{
    width:102px !important;
    height:92px !important;
    flex:0 0 102px !important;
  }
  .age-star-splash strong{
    font-size:1rem !important;
  }
  .age-star-splash span{
    font-size:.55rem !important;
  }
  .register-copy h2{
    font-size:2rem !important;
    line-height:1.05 !important;
    margin:3px 0 6px !important;
  }
  .register-copy p{
    font-size:.9rem !important;
    line-height:1.4 !important;
  }
  .restored-original-form{
    padding:20px 16px !important;
    border-radius:18px !important;
  }
  .restored-original-form .grid.two,
  .restored-original-form .check-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .restored-original-form fieldset{
    margin-bottom:20px !important;
  }
  .restored-original-form legend{
    font-size:1.15rem !important;
    margin-bottom:12px !important;
  }
  .restored-original-form label{
    margin-bottom:10px !important;
    font-size:.88rem !important;
  }
  .restored-original-form input:not([type="checkbox"]),
  .restored-original-form select,
  .restored-original-form textarea{
    padding:12px !important;
    font-size:16px !important; /* prevents mobile browser zoom */
  }
  .restored-original-form .payment-box{
    padding:18px !important;
  }
  .payment-heading{
    font-size:1.15rem !important;
  }
  .restored-original-form .payment-price{
    font-size:2rem !important;
  }
  .sibling-discount{
    text-align:center !important;
    margin:12px 0 0 !important;
    line-height:1.35 !important;
  }

  /* Gallery */
  .gallery-simple{
    padding:28px 0 34px !important;
  }
  .gallery-simple .eyebrow{
    padding:0 20px !important;
    line-height:1.35 !important;
  }
  .gallery-simple-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:0 16px !important;
  }
  .gallery-simple-grid figure{
    height:220px !important;
  }

  /* Logistics */
  .logistics{
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:30px 16px !important;
  }

  /* Coach: smaller text, left aligned, real paragraphs */
  .coach{
    padding:38px 0 42px !important;
  }
  .coach-inner{
    flex-direction:column !important;
    align-items:center !important;
    gap:22px !important;
    text-align:left !important;
    padding:0 20px !important;
  }
  .coach-photo{
    width:150px !important;
    height:190px !important;
  }
  .coach-copy{
    width:100% !important;
    flex:0 0 auto !important;
  }
  .coach-copy .eyebrow{
    text-align:center !important;
    margin-bottom:4px !important;
  }
  .coach-copy h2{
    text-align:center !important;
    font-size:2.25rem !important;
    margin:0 0 18px !important;
  }
  .coach-mobile-copy{
    max-width:none !important;
    margin:0 !important;
    font-size:1rem !important;
    line-height:1.6 !important;
    text-align:left !important;
  }
  .coach-mobile-copy span{
    display:block !important;
    margin-bottom:15px !important;
  }
  .coach-mobile-copy span:last-child{
    margin-bottom:0 !important;
  }
  .coach-quote{
    font-size:1.03rem !important;
    line-height:1.45 !important;
    margin-top:22px !important;
    padding:16px 8px 0 !important;
    text-align:center !important;
  }

  /* Footer */
  .footer-inner{
    min-height:auto !important;
    padding:24px 16px !important;
    flex-direction:column !important;
    gap:10px !important;
    text-align:center !important;
  }
  .footer-logo-img{
    width:150px !important;
    height:95px !important;
    margin:auto !important;
  }
}


/* MOBILE ONLY: keep AGES 10–15 / BOYS & GIRLS fully inside the registration star */
@media (max-width:680px){
  .register-top-priority .age-star-splash{
    width:132px !important;
    height:118px !important;
    flex:0 0 132px !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .register-top-priority .age-star-splash strong{
    display:block !important;
    width:100% !important;
    font-size:1.05rem !important;
    line-height:.95 !important;
    text-align:center !important;
    margin:0 !important;
    white-space:normal !important;
  }

  .register-top-priority .age-star-splash span{
    display:block !important;
    width:100% !important;
    margin:7px 0 0 !important;
    padding:0 !important;
    font-size:.54rem !important;
    line-height:1.05 !important;
    letter-spacing:.01em !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
}

@media (max-width:420px){
  .register-top-priority .age-star-splash{
    width:124px !important;
    height:112px !important;
    flex-basis:124px !important;
    padding:0 12px !important;
  }

  .register-top-priority .age-star-splash strong{
    font-size:1rem !important;
  }

  .register-top-priority .age-star-splash span{
    font-size:.50rem !important;
  }
}


/* FINAL AGE STAR FIT: desktop + mobile */
.register-top-priority .age-star-splash{
  width:158px !important;
  height:140px !important;
  flex:0 0 158px !important;
  padding:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.register-top-priority .age-star-splash strong{
  width:78px !important;
  max-width:78px !important;
  margin:0 auto !important;
  font-size:1.16rem !important;
  line-height:.94 !important;
  text-align:center !important;
  white-space:normal !important;
}

.register-top-priority .age-star-splash .age-star-sub{
  display:block !important;
  width:72px !important;
  max-width:72px !important;
  margin:7px auto 0 !important;
  padding:0 !important;
  font-size:.52rem !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:visible !important;
}

@media (max-width:680px){
  .register-top-priority .age-star-splash{
    width:142px !important;
    height:128px !important;
    flex:0 0 142px !important;
  }

  .register-top-priority .age-star-splash strong{
    width:72px !important;
    max-width:72px !important;
    font-size:1.08rem !important;
  }

  .register-top-priority .age-star-splash .age-star-sub{
    width:66px !important;
    max-width:66px !important;
    font-size:.49rem !important;
    margin-top:6px !important;
  }
}

@media (max-width:420px){
  .register-top-priority .age-star-splash{
    width:136px !important;
    height:122px !important;
    flex:0 0 136px !important;
  }

  .register-top-priority .age-star-splash strong{
    font-size:1.02rem !important;
  }

  .register-top-priority .age-star-splash .age-star-sub{
    font-size:.47rem !important;
  }
}
