/* ============================================================
   Writtengifts · styles.css
   Blend of &Open (deep forest green, warm cream, calm, space) and
   goswag (Poppins + Inter, friendly rounded cards, tight product-
   forward rhythm, clear CTAs). Tailwind CDN handles layout
   utilities; this file owns brand tokens, components, and motion.
   ============================================================ */

:root{
  /* paper + ink (from &Open) */
  --paper:    #FCF8F2;
  --paper-2:  #F2EBE0;
  --paper-3:  #EAE0D0;
  --ink:      #161616;
  --ink-soft: #1E1E1E;
  /* deep forest green (the &Open green) — kept under the old var names */
  --kelly:    #0A5844;
  --kelly-d:  #073D2F;
  --green:    #0A5844;
  --green-d:  #073D2F;
  --lime:     #9FE870;   /* one vivid spark, used rarely */
  /* decorative pastels (surfaces only) */
  --mint:  #A7DCC4;
  --coral: #F4A081;
  --blush: #F7CBD6;
  --gold:  #F2B441;
  /* secondary text */
  --stone:   #6F675E;
  --stone-l: #9C9388;
  /* the signature gold->green gradient (from the W monogram) */
  --grad-wg: linear-gradient(100deg,#F4A081 0%,#F2B441 30%,#9DBE7E 62%,#0A5844 100%);
  --grad-wg-soft: linear-gradient(100deg,#E89A6A 0%,#C9A646 38%,#3F8F62 100%);
  --shadow-card: 0 1px 2px rgba(22,22,22,0.04), 0 12px 30px -18px rgba(22,22,22,0.22);
  --shadow-lift: 0 2px 4px rgba(22,22,22,0.05), 0 26px 50px -28px rgba(22,22,22,0.30);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  font-weight:400;
  font-size:17px;
  line-height:1.62;
  letter-spacing:-0.003em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

/* ---------- Typography (Poppins display + Inter body) ---------- */
.font-display{ font-family:'Poppins',ui-sans-serif,system-ui,sans-serif; }
.display-xl{
  font-family:'Poppins',ui-sans-serif,sans-serif;
  font-weight:600; font-size:clamp(40px,5.2vw,70px); line-height:1.04;
  letter-spacing:-0.025em;
}
.display-lg{
  font-family:'Poppins',ui-sans-serif,sans-serif;
  font-weight:600; font-size:clamp(30px,3.7vw,48px);
  line-height:1.08; letter-spacing:-0.022em;
}
.display-md{
  font-family:'Poppins',ui-sans-serif,sans-serif;
  font-weight:600; font-size:clamp(22px,2.4vw,32px);
  line-height:1.16; letter-spacing:-0.016em;
}
/* legacy class kept so un-migrated pages don't break: emphasised word */
.serif-italic{ font-family:'Poppins',sans-serif; font-style:normal; font-weight:600; }
.lede{ font-size:clamp(18px,1.45vw,21px); line-height:1.58; color:var(--stone); font-weight:400; }
.label{
  font-family:'Poppins',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase;
}
h1,h2,h3,h4{ font-family:'Poppins',sans-serif; font-weight:600; }

/* ---------- The gold-to-green accent ---------- */
.wg{ background:var(--grad-wg); }
.wg-text{
  background:var(--grad-wg-soft);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
.wg-border{ position:relative; }
.wg-border::before{
  content:''; position:absolute; inset:0; padding:1px; border-radius:inherit;
  background:var(--grad-wg-soft);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none;
}
.lime-underline{ box-shadow:inset 0 -0.32em 0 rgba(159,232,112,0.55); }

/* ---------- Section bands (goswag rhythm: tighter, consistent) ---------- */
.band{ position:relative; padding:clamp(54px,8vw,108px) 0; }
.band-tight{ padding:clamp(38px,5vw,66px) 0; }
.band-cream{ background:var(--paper); color:var(--ink); }
.band-paper2{ background:var(--paper-2); color:var(--ink); }
.band-green{ background:var(--green); color:var(--paper); }
.band-dark{ background:var(--ink); color:var(--paper); }
.band-green .lede,.band-dark .lede{ color:rgba(252,248,242,0.82); }
.wrap{ width:100%; max-width:1200px; margin:0 auto; padding:0 22px; }
@media(min-width:768px){ .wrap{ padding:0 40px; } }
@media(min-width:1100px){ .wrap{ padding:0 56px; } }
.wrap-narrow{ max-width:880px; margin:0 auto; }

/* ---------- Cards & shapes (goswag: light, rounded, minimal) ---------- */
.card{ border-radius:18px; background:#fff; border:1px solid rgba(22,22,22,0.07); box-shadow:var(--shadow-card); }
.card-flat{ border-radius:18px; background:var(--paper-2); border:1px solid rgba(22,22,22,0.05); }
.card-hover{ transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease; }
.card-hover:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); }
.surface-mint{  background:var(--mint); }
.surface-coral{ background:var(--coral); }
.surface-blush{ background:var(--blush); }
.surface-gold{  background:var(--gold); }
.surface-green{ background:var(--green); color:var(--paper); }
.hairline{ border:0; height:1px; background:rgba(22,22,22,0.10); }
.band-dark .hairline,.band-green .hairline{ background:rgba(252,248,242,0.16); }

/* ---------- Photo cards ---------- */
.photo{ width:100%; height:100%; object-fit:cover; display:block; }
.photo-card{ border-radius:18px; overflow:hidden; background:var(--paper-2); position:relative; }
.photo-tall{ aspect-ratio:4/5; }
.photo-wide{ aspect-ratio:16/10; }
.photo-sq{ aspect-ratio:1/1; }
.pframe{ position:relative; overflow:hidden; }
.pframe > img{ position:absolute; left:0; top:-12%; width:100%; height:124%; object-fit:cover; }

/* ---------- Buttons (goswag: solid + substantial, plus frosted for over-video) ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:15px 28px; border-radius:999px;
  font-family:'Poppins',sans-serif; font-size:15px; font-weight:600; letter-spacing:-0.01em;
  cursor:pointer; border:1.5px solid transparent; line-height:1;
  transition:transform .35s cubic-bezier(.16,1,.3,1), background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.btn-solid{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.btn-solid:hover{ background:#000; transform:translateY(-1px); }
.btn-green{ background:var(--green); color:var(--paper); border-color:var(--green); box-shadow:0 14px 26px -16px rgba(10,88,68,0.7); }
.btn-green:hover{ background:var(--green-d); transform:translateY(-1px); }
.btn-outline{ background:transparent; color:var(--ink); border-color:rgba(22,22,22,0.22); }
.btn-outline:hover{ border-color:var(--ink); background:rgba(22,22,22,0.03); }
.btn-glass{
  background:rgba(252,248,242,0.16); border-color:rgba(252,248,242,0.45); color:#fff;
  -webkit-backdrop-filter:blur(12px) saturate(1.3); backdrop-filter:blur(12px) saturate(1.3);
  box-shadow:0 1px 0 rgba(255,255,255,0.18) inset, 0 10px 30px -14px rgba(0,0,0,0.5);
}
.btn-glass:hover{ background:rgba(252,248,242,0.28); }
.btn-glass-dark{
  background:rgba(22,22,22,0.36); border-color:rgba(252,248,242,0.22); color:var(--paper);
  -webkit-backdrop-filter:blur(12px) saturate(1.3); backdrop-filter:blur(12px) saturate(1.3);
}
.btn-glass-dark:hover{ background:rgba(22,22,22,0.55); }
.btn-ghost{ background:transparent; color:inherit; border-color:transparent; }
.btn-ghost:hover{ opacity:0.6; }
.btn-lg{ padding:17px 34px; font-size:16px; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .btn-glass{ background:rgba(22,22,22,0.5); }
  .btn-glass-dark{ background:var(--ink-soft); }
}
.btn:focus-visible{ outline:2px solid var(--green); outline-offset:3px; }
.link-arrow{
  display:inline-flex; align-items:center; gap:7px; font-family:'Poppins',sans-serif;
  font-weight:600; font-size:15px; color:var(--green);
}
.link-arrow .ar{ transition:transform .25s ease; }
.link-arrow:hover .ar{ transform:translateX(4px); }
.band-dark .link-arrow,.band-green .link-arrow{ color:var(--lime); }

/* ---------- Nav (goswag: clean, light, subtle on scroll) ---------- */
.nav{ position:fixed; top:0; left:0; right:0; z-index:60; transition:background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease; }
.nav-inner{ max-width:1200px; margin:0 auto; padding:16px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
@media(min-width:768px){ .nav-inner{ padding:18px 40px; } }
.nav.scrolled{
  background:rgba(252,248,242,0.78);
  -webkit-backdrop-filter:blur(16px) saturate(1.3); backdrop-filter:blur(16px) saturate(1.3);
  box-shadow:0 1px 0 rgba(22,22,22,0.06);
}
.nav.on-dark:not(.scrolled){ color:#fff; }
.nav.on-dark:not(.scrolled) .nav-links a{ color:rgba(255,255,255,0.85); }
.nav.on-dark:not(.scrolled) .nav-links a:hover{ color:#fff; }
.nav-brand{ display:flex; align-items:center; gap:9px; }
.nav-brand img{ height:28px; width:auto; }
.nav-brand .wordtype{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; letter-spacing:0.06em; font-size:24px; }
.nav-links{ display:none; gap:30px; align-items:center; }
.nav-links a{ font-family:'Poppins',sans-serif; font-size:14.5px; font-weight:500; color:var(--stone); transition:color .2s; }
.nav-links a:hover{ color:var(--ink); }
@media(min-width:900px){ .nav-links{ display:flex; } }
.nav-cta{ display:flex; align-items:center; gap:10px; }

/* hamburger toggle (mobile) */
.nav-toggle{ display:none; position:relative; z-index:66; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; border:1px solid rgba(22,22,22,0.14); background:rgba(252,248,242,0.7); color:var(--ink); cursor:pointer; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.nav.on-dark:not(.scrolled) .nav-toggle{ border-color:rgba(255,255,255,0.45); background:rgba(255,255,255,0.14); color:#fff; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{ content:''; display:block; width:19px; height:2px; background:currentColor; border-radius:2px; transition:transform .3s ease, opacity .2s ease, top .3s ease; }
.nav-toggle span{ position:relative; }
.nav-toggle span::before, .nav-toggle span::after{ position:absolute; left:0; }
.nav-toggle span::before{ top:-6px; } .nav-toggle span::after{ top:6px; }
.nav-toggle.is-open span{ background:transparent; }
.nav-toggle.is-open span::before{ top:0; transform:rotate(45deg); }
.nav-toggle.is-open span::after{ top:0; transform:rotate(-45deg); }
/* mobile drawer + backdrop + floating CTA */
.nav-menu{ display:none; }
.nav-backdrop{ display:none; }
.cta-float{ display:none; }
@media(max-width:899px){
  .nav-cta{ display:none; }
  .nav-toggle{ display:inline-flex; }
  .nav-menu{ display:block; position:fixed; top:0; right:0; bottom:0; width:min(82vw,330px); z-index:65; background:var(--paper); box-shadow:-24px 0 60px -24px rgba(0,0,0,0.45); transform:translateX(100%); transition:transform .38s cubic-bezier(.16,1,.3,1); padding:90px 26px 28px; overflow-y:auto; }
  .nav-menu.open{ transform:none; }
  .nav-menu a{ display:block; font-family:'Poppins',sans-serif; font-weight:500; font-size:18px; color:var(--ink); padding:15px 2px; border-bottom:1px solid rgba(22,22,22,0.08); }
  .nav-menu a.btn{ border-bottom:0; color:#fff; }
  .nav-backdrop{ display:block; position:fixed; inset:0; z-index:64; background:rgba(22,22,22,0.34); opacity:0; pointer-events:none; transition:opacity .3s ease; }
  .nav-backdrop.open{ opacity:1; pointer-events:auto; }
  .cta-float{ display:inline-flex; position:fixed; left:50%; bottom:16px; transform:translateX(-50%); z-index:55; padding:14px 26px; box-shadow:0 18px 36px -12px rgba(10,88,68,0.65); }
}
.accent{ color:var(--green); }
.band-dark .accent, .band-green .accent{ color:var(--lime); }

/* progress bar */
.progress{ position:fixed; top:0; left:0; height:2px; width:0; z-index:70; background:var(--grad-wg); }

/* ---------- Hero (video-led, goswag product-forward) ---------- */
.hero{ position:relative; min-height:84vh; min-height:84svh; display:flex; align-items:center; overflow:hidden; background:var(--paper-2); }
.hero-video, .hero-poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.hero-scrim{ position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, rgba(16,16,16,0.55) 0%, rgba(16,16,16,0.30) 38%, rgba(16,16,16,0.05) 70%, transparent 100%); }
.hero-scrim-b{ position:absolute; left:0; right:0; bottom:0; height:30%; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, transparent, rgba(252,248,242,0.0) 30%, var(--paper) 100%); }
.hero-content{ position:relative; z-index:2; }

/* ---------- Explainer video block ---------- */
.video-frame{ position:relative; border-radius:20px; overflow:hidden; background:var(--ink); box-shadow:var(--shadow-lift); aspect-ratio:16/9; }
.video-frame video{ width:100%; height:100%; object-fit:cover; display:block; }
.video-frame .vplay{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2; }

/* ---------- Feature grid (goswag minimal cards) ---------- */
.feature-grid{ display:grid; grid-template-columns:1fr; gap:18px; }
@media(min-width:640px){ .feature-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:980px){ .feature-grid.cols-3{ grid-template-columns:repeat(3,1fr); } }
.feature{ padding:30px; border-radius:18px; background:#fff; border:1px solid rgba(22,22,22,0.07); box-shadow:var(--shadow-card); transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease; }
.feature:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); }
.feature .ficon{ width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--paper-2); margin-bottom:18px; }
.band-dark .feature{ background:var(--ink-soft); border-color:rgba(252,248,242,0.10); }
.band-dark .feature .ficon{ background:rgba(252,248,242,0.08); }

/* number step */
.stepnum{ font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; width:30px; height:30px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:var(--green); color:#fff; }

/* ---------- Scroll reveal ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal-child > *{ opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.reveal-child.in > *{ opacity:1; transform:none; }
.reveal-child.in > *:nth-child(2){ transition-delay:.07s; }
.reveal-child.in > *:nth-child(3){ transition-delay:.14s; }
.reveal-child.in > *:nth-child(4){ transition-delay:.21s; }
.reveal-child.in > *:nth-child(5){ transition-delay:.28s; }
.reveal-child.in > *:nth-child(6){ transition-delay:.35s; }

/* ---------- Mesh + marquee ---------- */
.mesh{ position:absolute; inset:0; z-index:0; width:100%; height:100%; }
.marquee{ overflow:hidden; width:100%; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.marquee-track{ display:flex; width:max-content; will-change:transform; align-items:center; }
.marquee-item{ flex:0 0 auto; display:inline-flex; align-items:center; }

/* ---------- Logo wall (real client logos in tiles) ---------- */
.logo-wall{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
@media(min-width:560px){ .logo-wall{ grid-template-columns:repeat(4,1fr); } }
@media(min-width:960px){ .logo-wall{ grid-template-columns:repeat(7,1fr); } }
.logo-tile{
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:3/2; border-radius:14px; background:#fff;
  border:1px solid rgba(22,22,22,0.06);
}
.logo-tile img{
  max-width:74%; max-height:60%; width:auto; height:auto; object-fit:contain;
  filter:grayscale(1); opacity:0.5; transition:filter .3s ease, opacity .3s ease, transform .3s ease;
}
.logo-tile:hover img{ filter:grayscale(0); opacity:1; transform:scale(1.06); }
.marquee .logo-mq{ display:inline-flex; align-items:center; justify-content:center; height:42px; padding:0 32px; }
.marquee .logo-mq img{ max-height:30px; width:auto; filter:grayscale(1); opacity:0.5; transition:filter .3s,opacity .3s; }
.marquee .logo-mq:hover img{ filter:grayscale(0); opacity:1; }

/* ---------- Sticky stack (3 steps) ---------- */
.stage{ position:sticky; top:104px; }
.step{ opacity:0.38; transition:opacity .45s ease, transform .45s ease; transform:translateY(8px); }
.step.active{ opacity:1; transform:none; }
.stage-state{ opacity:0; transition:opacity .5s ease; }
.stage-state.active{ opacity:1; }

/* ---------- Quote mock panel ---------- */
.quote-panel{ background:#fff; color:var(--ink); border-radius:20px; border:1px solid rgba(22,22,22,0.08); box-shadow:var(--shadow-lift); }
.quote-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
input[type="range"].slider{ -webkit-appearance:none; appearance:none; width:100%; height:5px; border-radius:5px; background:var(--paper-3); outline:none; }
input[type="range"].slider::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; border-radius:50%; background:var(--green); cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,0.25); }
input[type="range"].slider::-moz-range-thumb{ width:22px; height:22px; border:0; border-radius:50%; background:var(--green); cursor:pointer; }
.chip{ display:inline-flex; align-items:center; gap:6px; padding:8px 15px; border-radius:999px; font-size:13.5px; font-weight:500; border:1.5px solid rgba(22,22,22,0.14); background:#fff; cursor:pointer; transition:all .2s; }
.chip[aria-pressed="true"]{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.swatch{ width:22px; height:22px; border-radius:50%; border:2px solid rgba(255,255,255,0.7); box-shadow:0 0 0 1px rgba(22,22,22,0.18); cursor:pointer; }
.swatch[aria-pressed="true"]{ outline:2px solid var(--ink); outline-offset:2px; }

/* ---------- Forms ---------- */
.field{ width:100%; padding:14px 16px; border-radius:12px; border:1.5px solid rgba(22,22,22,0.14); background:#fff; font:inherit; color:var(--ink); transition:border-color .2s, box-shadow .2s; }
.field:focus{ outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(10,88,68,0.13); }
.band-dark .field{ background:var(--ink-soft); border-color:rgba(252,248,242,0.18); color:var(--paper); }
label.flabel{ font-family:'Poppins',sans-serif; font-size:12.5px; font-weight:600; color:var(--stone); margin-bottom:6px; display:block; }

/* ---------- Footer ---------- */
.footer-wordmark{ width:100%; height:auto; opacity:0.96; }

/* ---------- Misc ---------- */
.eyebrow{ color:var(--stone); }
.band-green .eyebrow,.band-dark .eyebrow{ color:rgba(252,248,242,0.72); }
.divider-soft{ height:1px; background:rgba(22,22,22,0.08); }

/* ---------- Mobile hero video swap + mobile polish ---------- */
.hero-video-mobile{ display:none; }
@media(max-width:1023px){
  /* the 3-step visual panel is a desktop aid; it overlapped on mobile, so hide it */
  .stage{ display:none !important; }
}
@media(max-width:767px){
  .hero{ min-height:80vh; min-height:80svh; }
  .hero-video-desktop{ display:none; }
  .hero-video-mobile{ display:block; }
  .hero-scrim{ background:linear-gradient(180deg, rgba(16,16,16,0.46) 0%, rgba(16,16,16,0.18) 38%, rgba(16,16,16,0.5) 100%); }
  .photo-wide{ aspect-ratio:4/3; }       /* crop the wide empty sides of landscape stills on phones */
  .pframe > img{ top:0; height:100%; }   /* no parallax overhang on mobile */
  .display-xl{ font-size:clamp(33px,8.6vw,46px); line-height:1.08; }
  .display-lg{ font-size:clamp(26px,6.6vw,34px); }
}
@media(max-width:899px){
  body{ padding-bottom:86px; }            /* clear the floating CTA so nothing hides behind it */
  .cta-float{ padding:12px 22px; font-size:14px; transition:opacity .3s ease, transform .3s ease; }
  .cta-float.hide{ opacity:0; pointer-events:none; transform:translate(-50%,22px); }
}
@media(max-width:600px){
  .btn{ padding:12px 20px; font-size:14px; }
  .btn-lg{ padding:14px 24px; font-size:15px; }
  .wrap{ padding:0 18px; }
}

/* ---------- Legacy compatibility (pages not yet migrated to the new system) ---------- */
.grain{ display:none; }
.rounded-blob{ border-radius:42% 58% 56% 44% / 52% 44% 56% 48%; }
.blob{ position:absolute; filter:blur(6px); opacity:0.85; pointer-events:none; z-index:0; border-radius:42% 58% 56% 44% / 52% 44% 56% 48%; }
.logos{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px 44px; }
.logo-item{ font-family:'Poppins',sans-serif; font-weight:700; font-size:clamp(16px,1.6vw,21px); letter-spacing:-0.01em; color:var(--ink); opacity:0.42; white-space:nowrap; transition:opacity .3s ease; }
.logo-item:hover{ opacity:0.85; }
.band-dark .logo-item,.band-green .logo-item{ color:var(--paper); opacity:0.6; }
.hero-pin{ position:relative; }
.hero-sticky{ position:sticky; top:0; min-height:100vh; min-height:100svh; display:flex; align-items:center; overflow:hidden; }
.parallax{ will-change:transform; }
.scrim{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,transparent 55%,var(--paper) 100%); opacity:0; }
@media (max-width:767px){ .hero-pin{ height:auto !important; } .hero-sticky{ position:relative; min-height:0; } }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal,.reveal-child > *{ opacity:1 !important; transform:none !important; }
  .marquee-track{ transform:none !important; }
  .mesh{ display:none; }
}
