/* =========================================================
   IAMS — PUBLIC WEBSITE modern layer  (website.css v1)
   -------------------------------------------------------
   Loaded ONLY by includes/header.php (the public site).
   Every rule is scoped to  body.bg-cream  (public pages), so the
   admin / registrar / clinic / coach / staff / director panels are
   NOT affected in any way.
   Fully local — no CDN, no web fonts.
   ========================================================= */

/* ---- Brand palette: change colours for the whole website here ---- */
body.bg-cream{
  --w-brand:      #0B6E4F;   /* primary            */
  --w-brand-2:    #0F8A62;   /* lighter (gradients) */
  --w-dark:       #074A34;   /* deep brand          */
  --w-night:      #031f16;   /* darkest (footer)    */
  --w-gold:       #F2B705;
  --w-gold-2:     #FFD84D;
  --w-clay:       #C1440E;
  --w-ink:        #16211B;
  --w-paper:      #FAF7F0;
  --w-line:       #E4DFD3;
  --w-glow:       15,138,98;     /* r,g,b of brand-2 for glows */
  --w-shadow-1:   0 1px 2px rgba(16,35,28,.05), 0 10px 30px -18px rgba(16,35,28,.25);
  --w-shadow-2:   0 2px 4px rgba(16,35,28,.05), 0 28px 56px -26px rgba(7,74,52,.45);
  --w-ease:       cubic-bezier(.2,.75,.2,1);
}
/* Blue theme (uncomment this block to switch the whole website to blue):
body.bg-cream{
  --w-brand:#2563eb; --w-brand-2:#3b82f6; --w-dark:#1e3a8a; --w-night:#0a173a; --w-glow:59,130,246;
}
*/


/* Positioning utilities the offline Tailwind build is missing (CTA lane lines were floating in the middle) */
body.bg-cream .lane-divider.absolute{ position:absolute; left:0; right:0; width:100%; }
body.bg-cream .lane-divider.absolute.top-0{ top:0; }
body.bg-cream .lane-divider.absolute.bottom-0{ bottom:0; }

/* Paragraph rhythm (the reset removed default margins) */
body.bg-cream section p + p{ margin-top:1.1rem; }
body.bg-cream section p{ line-height:1.75; }
body.bg-cream section ul.list-disc, body.bg-cream section ul[class*="list-"]{ padding-left:1.25rem; }

/* Opacity colour utilities used by the public pages but missing from the
   offline Tailwind build (they made descriptions / footer text unreadable) */
body.bg-cream .text-cream\/40{ color:rgba(250,247,240,.45); }
body.bg-cream .text-cream\/60{ color:rgba(250,247,240,.62); }
body.bg-cream .text-cream\/70{ color:rgba(250,247,240,.74); }
body.bg-cream .text-cream\/80{ color:rgba(250,247,240,.84); }
body.bg-cream .text-cream\/90{ color:rgba(250,247,240,.93); }
body.bg-cream .text-ink\/40{ color:rgba(22,33,27,.45); }
body.bg-cream .text-ink\/50{ color:rgba(22,33,27,.55); }
body.bg-cream .text-ink\/60{ color:rgba(22,33,27,.66); }
body.bg-cream .text-ink\/70{ color:rgba(22,33,27,.74); }
body.bg-cream .text-ink\/75{ color:rgba(22,33,27,.78); }
body.bg-cream .text-ink\/80{ color:rgba(22,33,27,.84); }
body.bg-cream .bg-cream\/95{ background-color:rgba(250,247,240,.95); }

html{ scroll-behavior:smooth; scroll-padding-top:96px; }
body.bg-cream{ background:var(--w-paper); }

/* Let Tailwind brand utilities follow the palette above */
body.bg-cream .bg-forest-dark{ background-color:var(--w-dark); }
body.bg-cream .bg-forest{ background-color:var(--w-brand); }
body.bg-cream .text-forest-dark{ color:var(--w-dark); }
body.bg-cream .text-forest{ color:var(--w-brand); }
body.bg-cream .border-forest{ border-color:var(--w-brand); }
body.bg-cream .hover\:border-forest:hover{ border-color:var(--w-brand); }

/* ---------------------------------------------------------
   TOP BAR + HEADER
   --------------------------------------------------------- */
body.bg-cream > div[class*="from-ink"]{
  background:linear-gradient(90deg,var(--w-night),var(--w-dark) 70%,var(--w-brand));
  letter-spacing:.01em; color:rgba(250,247,240,.92);
}
body.bg-cream > div.bg-white.text-center{ background:#fff; border-bottom:1px solid var(--w-line); letter-spacing:.02em; }

body.bg-cream header.sticky{
  background:rgba(250,247,240,.78) !important;
  -webkit-backdrop-filter:saturate(1.6) blur(18px);
  backdrop-filter:saturate(1.6) blur(18px);
  border-bottom:1px solid rgba(228,223,211,.7);
  transition:box-shadow .3s ease, background .3s ease;
}
body.bg-cream header.sticky.scrolled{
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 14px 34px -20px rgba(16,35,28,.35);
}
body.bg-cream header nav > a img{ filter:drop-shadow(0 6px 10px rgba(7,74,52,.25)); }

body.bg-cream .nav-link{ position:relative; padding:.5rem .15rem; font-weight:500; color:var(--w-ink); transition:color .2s ease; }
body.bg-cream .nav-link::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; border-radius:3px;
  background:linear-gradient(90deg,var(--w-brand),var(--w-gold));
  transform:scaleX(0); transform-origin:left; transition:transform .35s var(--w-ease);
}
body.bg-cream .nav-link:hover{ color:var(--w-brand); }
body.bg-cream .nav-link:hover::after, body.bg-cream .nav-link.active::after{ transform:scaleX(1); }
body.bg-cream .nav-link.active{ color:var(--w-brand); font-weight:600; }

body.bg-cream #mobileMenu a{ padding:.5rem 0; border-bottom:1px solid var(--w-line); }
body.bg-cream #menuBtn{ background:#fff; box-shadow:var(--w-shadow-1); transition:transform .2s var(--w-ease); }
body.bg-cream #menuBtn:active{ transform:scale(.92); }

body.bg-cream .lang-switch{ background:#fff; border:1px solid var(--w-line); box-shadow:var(--w-shadow-1); padding:3px; border-radius:999px; }
body.bg-cream .lang-btn{ border-radius:999px; font-weight:600; transition:background .25s ease,color .25s ease; }
body.bg-cream .lang-btn.active{ background:linear-gradient(135deg,var(--w-brand-2),var(--w-brand)); color:#fff; box-shadow:0 8px 16px -8px rgba(var(--w-glow),.9); }

/* ---------------------------------------------------------
   BUTTONS (public)
   --------------------------------------------------------- */
body.bg-cream .btn{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.95rem 1.7rem; border-radius:999px; font-weight:600; letter-spacing:.01em;
  transition:transform .3s var(--w-ease), box-shadow .3s ease, filter .3s ease;
}
body.bg-cream .btn::after{               /* light sweep on hover */
  content:""; position:absolute; top:0; bottom:0; left:-60%; width:40%; z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg); transition:left .7s var(--w-ease);
}
body.bg-cream .btn:hover{ transform:translateY(-3px); filter:saturate(1.1); }
body.bg-cream .btn:hover::after{ left:120%; }
body.bg-cream .btn:active{ transform:translateY(0) scale(.97); }
body.bg-cream .btn-primary{ background:linear-gradient(135deg,#df5217,#b93d0b); color:#fff; box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 16px 30px -14px rgba(193,68,14,.85); }
body.bg-cream .btn-primary:hover{ box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 22px 38px -14px rgba(193,68,14,.95); }
body.bg-cream .btn-gold{ background:linear-gradient(135deg,var(--w-gold-2),var(--w-gold)); color:#2a2200; box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 16px 30px -14px rgba(242,183,5,.9); }
body.bg-cream .btn-outline{ background:rgba(255,255,255,.08); color:#fff; border:1.5px solid rgba(255,255,255,.55); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
body.bg-cream .btn-outline:hover{ background:#fff; color:var(--w-dark); border-color:#fff; }

/* ---------------------------------------------------------
   HERO (home)
   --------------------------------------------------------- */
body.bg-cream .home-hero{ min-height:min(92vh,880px); display:flex; align-items:center; background:var(--w-night); }
body.bg-cream .home-hero > .relative{ width:100%; }
body.bg-cream .hero-slide img{ animation:w-kenburns 22s ease-in-out infinite alternate; transform-origin:60% 40%; }
@keyframes w-kenburns{ from{ transform:scale(1.02); } to{ transform:scale(1.12) translate(-1.2%,-1%); } }
body.bg-cream .home-hero-overlay{
  background:
    radial-gradient(900px 520px at 8% 90%, rgba(var(--w-glow),.40), transparent 60%),
    linear-gradient(90deg, rgba(3,22,16,.92) 0%, rgba(3,22,16,.70) 38%, rgba(3,22,16,.18) 78%, rgba(3,22,16,.05) 100%),
    linear-gradient(0deg, rgba(3,22,16,.75) 0%, transparent 38%) !important;
}
body.bg-cream .home-kicker{
  padding:.5rem 1rem; border-radius:999px; font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.22); color:#fff;
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
}
body.bg-cream .home-kicker-dot{ width:8px; height:8px; border-radius:50%; background:var(--w-gold); box-shadow:0 0 0 0 rgba(242,183,5,.7); animation:w-pulse 2.2s infinite; }
@keyframes w-pulse{ 70%{ box-shadow:0 0 0 10px rgba(242,183,5,0); } 100%{ box-shadow:0 0 0 0 rgba(242,183,5,0); } }

body.bg-cream .home-hero h1{ letter-spacing:-.025em; text-shadow:0 8px 40px rgba(0,0,0,.45); }
body.bg-cream .home-hero h1 .text-gold{
  background:linear-gradient(100deg,var(--w-gold-2),var(--w-gold) 55%,#ffb44d);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  text-shadow:none; filter:drop-shadow(0 6px 18px rgba(242,183,5,.35));
}
body.bg-cream .home-hero p{ font-weight:300; }

body.bg-cream .home-stat-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0; max-width:880px;
  padding:1.4rem .6rem; border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(16px) saturate(1.3); backdrop-filter:blur(16px) saturate(1.3);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6), 0 1px 0 rgba(255,255,255,.18) inset;
}
body.bg-cream .home-stat{ padding:.2rem 1.4rem; border:0; border-right:1px solid rgba(255,255,255,.14); }
body.bg-cream .home-stat:last-child{ border-right:0; }
body.bg-cream .home-stat strong{
  display:block; font-family:var(--font-sans); font-weight:600; letter-spacing:-.03em; font-size:clamp(1.9rem,3.4vw,2.9rem); line-height:1.1;
  background:linear-gradient(180deg,#fff,#ffe9a3); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  font-variant-numeric:tabular-nums;
}
body.bg-cream .home-stat strong small{ font-size:.55em; -webkit-text-fill-color:var(--w-gold); color:var(--w-gold); }
body.bg-cream .home-stat > span{ color:rgba(255,255,255,.72); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; font-weight:500; }

body.bg-cream .hero-trust-row{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.6rem; }
body.bg-cream .hero-trust-row > span{
  padding:.4rem .9rem; border-radius:999px; font-size:.8rem; color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
}
body.bg-cream .hero-trust-row i{ color:var(--w-gold); font-style:normal; margin-right:.3rem; }

body.bg-cream .hero-arrow{
  width:50px; height:50px; border-radius:50%; font-size:1.6rem; line-height:1; color:#fff;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  transition:background .25s ease, transform .25s var(--w-ease);
}
body.bg-cream .hero-arrow:hover{ background:rgba(255,255,255,.28); transform:scale(1.08); }
body.bg-cream .hero-slider-dots{ bottom:92px; }
body.bg-cream .hero-progress{ bottom:64px; z-index:1; }
body.bg-cream .hero-dot{ width:10px; height:10px; min-width:0; min-height:0; padding:0; flex:none; border-radius:99px; background:rgba(255,255,255,.45); transition:width .35s var(--w-ease), background .3s ease; }
body.bg-cream .hero-dot.active{ width:34px; background:var(--w-gold); }
body.bg-cream .hero-progress span{ background:linear-gradient(90deg,var(--w-gold),var(--w-gold-2)); }

/* ---------------------------------------------------------
   HIGHLIGHT CARDS (floating over the hero edge)
   --------------------------------------------------------- */
body.bg-cream .home-highlights-wrap{ position:relative; z-index:5; margin-top:-64px; padding-bottom:1rem; }
body.bg-cream .home-highlights{ gap:1.25rem; }
body.bg-cream .home-highlight-card{
  background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.8); border-radius:22px; padding:1.25rem 1.4rem;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  box-shadow:var(--w-shadow-2);
  transition:transform .4s var(--w-ease), box-shadow .4s ease;
}
body.bg-cream .home-highlight-card:hover{ transform:translateY(-8px); box-shadow:0 2px 4px rgba(16,35,28,.05), 0 40px 64px -26px rgba(7,74,52,.55); }
body.bg-cream .home-highlight-icon{
  width:54px; height:54px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:1.55rem;
  background:linear-gradient(145deg,#fff 0%,#e9f4ee 100%); box-shadow:0 1px 0 #fff inset, 0 10px 20px -12px rgba(7,74,52,.5);
}
body.bg-cream .home-highlight-card b{ font-weight:600; color:var(--w-dark); }
body.bg-cream .home-highlight-arrow{
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--w-paper); color:var(--w-brand); transition:background .3s ease,color .3s ease,transform .3s var(--w-ease);
}
body.bg-cream .home-highlight-card:hover .home-highlight-arrow{ background:var(--w-brand); color:#fff; transform:rotate(45deg); }

/* ---------------------------------------------------------
   SECTION TYPOGRAPHY
   --------------------------------------------------------- */
body.bg-cream .section-pad{ padding-top:clamp(4rem,8vw,7rem); padding-bottom:clamp(4rem,8vw,7rem); }
body.bg-cream h2.font-display{ letter-spacing:-.02em; line-height:1.15; }
body.bg-cream .eyebrow.text-gold{ color:var(--w-gold); }
body.bg-cream .eyebrow{
  display:inline-flex; align-items:center; gap:.6rem; font-weight:700; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--w-clay);
}
body.bg-cream section .text-center.max-w-2xl h2::after{
  content:""; display:block; width:64px; height:4px; margin:1.1rem auto 0; border-radius:4px;
  background:linear-gradient(90deg,var(--w-brand),var(--w-gold));
}
body.bg-cream section .text-center.max-w-2xl > span.text-clay,
body.bg-cream section .text-center.max-w-2xl > span.text-gold{
  display:inline-block; padding:.35rem .9rem; border-radius:999px; font-size:.74rem; letter-spacing:.16em;
  background:rgba(193,68,14,.08);
}
body.bg-cream section .text-center.max-w-2xl > span.text-gold{ background:rgba(242,183,5,.12); }

/* About bullets → soft cards */
body.bg-cream .space-y-5 > .flex.gap-4{
  background:#fff; border:1px solid var(--w-line); border-left:4px solid var(--w-gold);
  border-radius:18px; padding:1.1rem 1.3rem; box-shadow:var(--w-shadow-1);
  transition:transform .35s var(--w-ease), box-shadow .35s ease;
}
body.bg-cream .space-y-5 > .flex.gap-4:hover{ transform:translateX(6px); box-shadow:var(--w-shadow-2); }
body.bg-cream .space-y-5 > .flex.gap-4 > span.text-clay{ margin-top:0; font-size:1.4rem; line-height:1.2; }

/* Performance section */
body.bg-cream .home-performance{ position:relative; overflow:hidden; }
body.bg-cream .home-performance::before{
  content:""; position:absolute; width:520px; height:520px; right:-160px; top:-160px; border-radius:50%;
  background:radial-gradient(circle,rgba(var(--w-glow),.14),transparent 65%); pointer-events:none;
}
body.bg-cream .home-performance-media img{ border-radius:30px; box-shadow:var(--w-shadow-2); transition:transform .8s var(--w-ease); }
body.bg-cream .home-performance-media:hover img{ transform:scale(1.02) rotate(-.4deg); }
body.bg-cream .home-performance-badge{
  background:linear-gradient(135deg,var(--w-brand-2),var(--w-dark)); color:#fff; border-radius:20px;
  box-shadow:0 24px 40px -20px rgba(7,74,52,.8); border:1px solid rgba(255,255,255,.25);
}
body.bg-cream .home-feature-list > div{ border-radius:18px; transition:background .3s ease, transform .3s var(--w-ease); }
body.bg-cream .home-feature-list > div:hover{ background:rgba(var(--w-glow),.07); transform:translateX(6px); }
body.bg-cream .home-feature-num{
  display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:12px; flex:none;
  background:linear-gradient(135deg,var(--w-gold-2),var(--w-gold)); color:#2a2200; font-weight:700; font-size:.82rem;
}
body.bg-cream .home-text-link{ font-weight:600; color:var(--w-brand); display:inline-flex; gap:.5rem; align-items:center; }
body.bg-cream .home-text-link span{ transition:transform .3s var(--w-ease); }
body.bg-cream .home-text-link:hover span{ transform:translate(4px,-4px); }

/* ---------------------------------------------------------
   CARDS (programs, news, facilities, coaches)
   --------------------------------------------------------- */
body.bg-cream .card, body.bg-cream .program-card, body.bg-cream .facility-card{
  position:relative; border-radius:24px; background:#fff; border:1px solid var(--w-line); box-shadow:var(--w-shadow-1);
  transition:transform .45s var(--w-ease), box-shadow .45s ease, border-color .3s ease;
}
body.bg-cream .card::before{              /* gradient top accent */
  content:""; position:absolute; left:24px; right:24px; top:0; height:3px; border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,var(--w-brand),var(--w-gold),var(--w-clay));
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--w-ease);
}
body.bg-cream .card:hover{ transform:translateY(-10px); box-shadow:var(--w-shadow-2); border-color:transparent; }
body.bg-cream .card:hover::before{ transform:scaleX(1); }
body.bg-cream .card img{ transition:transform .9s var(--w-ease); }
body.bg-cream .card:hover img{ transform:scale(1.07); }
body.bg-cream .card.overflow-hidden{ overflow:hidden; }
body.bg-cream .card h3{ letter-spacing:-.01em; }

body.bg-cream .lane-badge{
  display:inline-flex; align-items:center; padding:.35rem .85rem; border-radius:999px; font-weight:700; font-size:.78rem; letter-spacing:.04em;
  background:linear-gradient(135deg,#fff8dc,#ffeaa0); color:#6b4b00; border:1px solid #f6d86a;
}
body.bg-cream .medal-gold,body.bg-cream .medal-silver,body.bg-cream .medal-bronze{ border-radius:999px; letter-spacing:.06em; }

/* ---------------------------------------------------------
   DARK SECTIONS (facilities strip + inner-page heroes)
   --------------------------------------------------------- */
body.bg-cream section.bg-forest-dark.text-cream{
  background:
    radial-gradient(700px 360px at 90% 0%, rgba(var(--w-glow),.40), transparent 62%),
    radial-gradient(520px 300px at 0% 100%, rgba(242,183,5,.12), transparent 60%),
    linear-gradient(160deg,var(--w-dark),var(--w-night));
}
body.bg-cream section.bg-forest-dark .bg-white\/5{
  border-radius:22px; padding:1.7rem !important; background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.14); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  transition:transform .4s var(--w-ease), background .3s ease, border-color .3s ease;
}
body.bg-cream section.bg-forest-dark .bg-white\/5:hover{ transform:translateY(-6px); border-color:rgba(242,183,5,.5); background:rgba(255,255,255,.12); }

body.bg-cream section.bg-forest-dark.text-white.py-20{
  padding-top:clamp(4.5rem,9vw,7.5rem); padding-bottom:clamp(4.5rem,9vw,7.5rem);
  background:
    radial-gradient(800px 380px at 88% -10%, rgba(var(--w-glow),.55), transparent 62%),
    radial-gradient(520px 320px at 0% 120%, rgba(242,183,5,.16), transparent 62%),
    linear-gradient(150deg,var(--w-dark) 0%,var(--w-night) 100%);
}
body.bg-cream section.bg-forest-dark.text-white.py-20 h1{ letter-spacing:-.03em; font-weight:800; text-shadow:0 10px 40px rgba(0,0,0,.35); }
body.bg-cream section.bg-forest-dark.text-white.py-20 h1::after{
  content:""; display:block; width:84px; height:5px; border-radius:5px; margin-top:1.1rem;
  background:linear-gradient(90deg,var(--w-gold),var(--w-gold-2));
}
body.bg-cream section.bg-forest-dark.text-white.py-20 .text-gold.uppercase{
  display:inline-block; padding:.4rem .95rem; border-radius:999px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.20);
}
body.bg-cream section.bg-forest-dark.text-white.py-20 p{ font-weight:300; font-size:1.08rem; }

/* ---------------------------------------------------------
   JOURNEY BANNER (call to action)
   --------------------------------------------------------- */
body.bg-cream .home-journey-card{
  position:relative; overflow:hidden; border-radius:34px; padding:clamp(2rem,5vw,3.6rem);
  background:
    radial-gradient(520px 300px at 100% 0%, rgba(242,183,5,.30), transparent 60%),
    radial-gradient(520px 300px at 0% 100%, rgba(var(--w-glow),.55), transparent 62%),
    linear-gradient(135deg,var(--w-dark),var(--w-night));
  box-shadow:0 40px 80px -36px rgba(3,31,22,.8);
  border:1px solid rgba(255,255,255,.12);
}

/* CTA banner (orange) */
body.bg-cream section.bg-clay{
  background:
    radial-gradient(620px 320px at 85% 0%, rgba(255,216,77,.35), transparent 62%),
    radial-gradient(520px 320px at 0% 100%, rgba(120,30,0,.45), transparent 62%),
    linear-gradient(135deg,#d24c12,#a8380a);
  padding-top:clamp(5rem,9vw,8rem); padding-bottom:clamp(5rem,9vw,8rem);
}
body.bg-cream section.bg-clay h2{ letter-spacing:-.02em; text-shadow:0 10px 30px rgba(0,0,0,.25); }
body.bg-cream section.bg-clay .btn-gold{ margin-top:2rem; }

/* ---------------------------------------------------------
   FORMS on public pages (contact)
   --------------------------------------------------------- */
body.bg-cream main input:not([type="checkbox"]):not([type="radio"]), body.bg-cream main textarea, body.bg-cream main select,
body.bg-cream form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), body.bg-cream form textarea, body.bg-cream form select{
  border-radius:14px; border:1px solid var(--w-line); background:#fff; padding:.85rem 1rem;
  transition:border-color .2s ease, box-shadow .2s ease;
}
body.bg-cream form input:focus, body.bg-cream form textarea:focus, body.bg-cream form select:focus{
  outline:none; border-color:var(--w-brand) !important; box-shadow:0 0 0 4px rgba(var(--w-glow),.18) !important;
}
body.bg-cream form button[type="submit"]{ border-radius:999px !important; }

/* News filter pills */
body.bg-cream a.rounded-full.border.px-5{ transition:transform .25s var(--w-ease), box-shadow .25s ease; }
body.bg-cream a.rounded-full.border.px-5:hover{ transform:translateY(-2px); box-shadow:var(--w-shadow-1); }

/* Gallery */
body.bg-cream img[data-lightbox]{ border-radius:20px !important; box-shadow:var(--w-shadow-1); transition:transform .5s var(--w-ease), box-shadow .4s ease, opacity .3s ease; }
body.bg-cream img[data-lightbox]:hover{ transform:scale(1.025); box-shadow:var(--w-shadow-2); opacity:1 !important; }

/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */
body.bg-cream footer.bg-ink{
  position:relative; overflow:hidden;
  background:
    radial-gradient(640px 320px at 100% 0%, rgba(var(--w-glow),.28), transparent 62%),
    radial-gradient(520px 300px at 0% 100%, rgba(242,183,5,.08), transparent 60%),
    linear-gradient(170deg,#06281d 0%,var(--w-night) 100%);
}
body.bg-cream footer h4{ position:relative; padding-bottom:.7rem; letter-spacing:.01em; }
body.bg-cream footer h4::after{ content:""; position:absolute; left:0; bottom:0; width:32px; height:3px; border-radius:3px; background:var(--w-gold); }
body.bg-cream footer ul a{ display:inline-block; transition:color .2s ease, transform .3s var(--w-ease); }
body.bg-cream footer ul a:hover{ color:var(--w-gold); transform:translateX(6px); }
body.bg-cream footer a.rounded-full{
  background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.14);
  transition:transform .3s var(--w-ease), background .25s ease, color .25s ease;
}
body.bg-cream footer a.rounded-full:hover{ background:var(--w-gold) !important; color:var(--w-ink) !important; transform:translateY(-4px); }
body.bg-cream footer .lane-divider{ opacity:.6; }

/* ---------------------------------------------------------
   SCROLL REVEAL (smoother) + small polish
   --------------------------------------------------------- */
body.bg-cream .reveal{ transition:opacity .9s var(--w-ease), transform .9s var(--w-ease); }
body.bg-cream img{ image-rendering:auto; }
body.bg-cream ::selection{ background:rgba(242,183,5,.55); }

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */
@media (max-width:900px){
  body.bg-cream .home-stat-grid{ grid-template-columns:repeat(2,1fr); gap:.4rem 0; padding:1rem .4rem; }
  body.bg-cream .home-stat:nth-child(2){ border-right:0; }
  body.bg-cream .home-stat{ padding:.6rem 1rem; }
  body.bg-cream .home-highlights-wrap{ margin-top:-36px; }
  body.bg-cream .hero-arrow{ width:42px; height:42px; }
}
@media (max-width:560px){
  body.bg-cream .hero-slider-dots{ bottom:74px; }
  body.bg-cream .hero-arrow{ display:none; }
  body.bg-cream .home-hero{ min-height:auto; }
  body.bg-cream .btn{ padding:.85rem 1.3rem; }
  body.bg-cream .home-journey-card{ border-radius:26px; }
  body.bg-cream .card:hover{ transform:none; }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  body.bg-cream .hero-slide img, body.bg-cream .home-kicker-dot{ animation:none; }
  body.bg-cream .reveal, body.bg-cream .card, body.bg-cream .btn{ transition:none; }
}
