/* ============================================================
   DESIGN TOKENS  —  maps 1:1 to LACE Brand Guidelines (July 2024)
   Replace/extend values here only; nothing below hardcodes color/type.
   ============================================================ */
:root{
  /* Brand colors (from guide) */
  --primary:        #eb951d;            /* Sun Gold — primary accent      */
  --primary-hover:  #d3461f;            /* Cultivate — hover / secondary  */
  --on-primary:     #342c26;            /* text ON gold (AA-safe, not white) */
  --bg:             #eee;               /* Grey */
  --surface:        #ffffff;            /* cards / panels (derived)        */
  --text:           #342c26;            /* Fresh Tilled — body text        */
  --text-muted:     rgba(52,44,38,.58); /* muted text (derived)            */
  --border:         rgba(52,44,38,.12); /* hairline borders (derived)      */
  --pill-bg:        rgba(235,149,29,.12);/* badge fill, gold tint (derived)*/
  --dark:           #342c26;            /* dark sections / dark buttons    */
  --on-dark:        #f5f0e8;            /* text on dark                    */
  --green:          #88ce6a;            /* Clean Green — sparing accent    */
  --green-dark:     #005846;            /* Fertilized — sparing accent     */

  /* Type */
  --font-display: "Fustat", system-ui, sans-serif;
  --font-body:    "Fustat", system-ui, sans-serif;
  --font-accent:  "Caveat Brush", cursive; /* use VERY sparingly per guide */

  /* Type scale (clamped, fluid) */
  --fs-display: clamp(2.75rem, 6vw, 5rem);
  --fs-h1:      clamp(2.25rem, 4.5vw, 3.5rem);
  --fs-h2:      clamp(1.9rem, 3.4vw, 2.9rem);
  --fs-h3:      clamp(1.4rem, 2.2vw, 1.9rem);
  --fs-h4:      1.25rem;
  --fs-h5:      1.15rem;
  --fs-p:       1.00rem;
  --fs-body:    1.0625rem;
  --fs-small:   0.995rem;

  /* Radius */
  --radius-pill: 999px;
  --radius-card: 24px;
  --radius-sm:   12px;

  /* Spacing / layout */
  --container: 1280px;
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --section-y: clamp(4rem, 9vw, 7.5rem);
  --shadow-card: 0 18px 50px -24px rgba(52,44,38,.35);

  /* Motion */
  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ============================================================
   BASE / RESET
   ============================================================ */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:800; line-height:1.05; letter-spacing:-0.02em; margin:0; }
h4{ font-weight:700; letter-spacing:-0.01em; line-height:1.2; }
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:var(--section-y); }

/* ============================================================
   REUSABLE: BADGE / PILL
   ============================================================ */
.badge{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--pill-bg); color:var(--primary);
  font-size:var(--fs-small); font-weight:850;
  padding:.4rem .9rem; border-radius:var(--radius-pill);
  letter-spacing:.01em;
}
.badge::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--primary); }

/* ============================================================
   REUSABLE: BUTTON (pill + circular icon disc)
   variants: .btn--dark .btn--light .btn--primary
   ============================================================ */
.btn{
  --disc-bg:#fff; --disc-fg:var(--dark);
  display:inline-flex; align-items:center; gap:.85rem;
  padding:.55rem .65rem .55rem 1.35rem;
  border-radius:var(--radius-pill);
  font-weight:600; font-size:1rem; line-height:1;
  transition:transform .3s var(--ease), background .25s var(--ease), box-shadow .3s var(--ease);
  will-change:transform;
}
.btn .disc{
  display:grid; place-items:center;
  width:2.35rem; height:2.35rem; border-radius:50%;
  background:var(--disc-bg); color:var(--disc-fg);
  transition:transform .35s var(--ease);
}
.btn .disc svg{ width:1rem; height:1rem; }
.btn:hover{ transform:translateY(-2px); }
.btn:hover .disc{ transform:rotate(45deg); }

.btn--dark{    background:var(--dark); color:var(--on-dark); --disc-bg:#fff; --disc-fg:var(--dark); }
.btn--light{   background:var(--surface); color:var(--text); --disc-bg:var(--dark); --disc-fg:#fff; box-shadow:var(--shadow-card); }
.btn--primary{ background:var(--primary); color:var(--on-primary); --disc-bg:var(--dark); --disc-fg:var(--bg); }
/* .btn--primary:hover{ background:var(--primary-hover); color:#fff; } */

/* ============================================================
   NAV  — transparent over hero -> solid on scroll; mobile hamburger
   ============================================================ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:100;
  transition:background .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  border-bottom:1px solid transparent;
}
.nav__inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.1rem; }
.nav__logo svg, .footer__brand svg { height: 48px; width: auto; display: block; }
.nav__logo{ display:flex; align-items:center; gap:.6rem; font-family:var(--font-display); font-weight:800; font-size:1.5rem; letter-spacing:-0.03em; color:#fff; transition:color .35s var(--ease); }
.nav__links{ display:flex; align-items:center; gap:2.2rem; }
.nav__links a{ color:#fff; font-weight:500; opacity:.9; transition:color .35s var(--ease), opacity .2s; position:relative; }
.nav__links a:hover{ opacity:1; }
.nav__links a::after{ content:""; position:absolute; left:0; bottom:-4px; height:2px; width:0; background:var(--primary); transition:width .3s var(--ease); }
.nav__links a:hover::after{ width:100%; }
.nav__cta{ flex-shrink:0; margin-left:.6rem; }
/* suppress the underline animation on the CTA button */
.nav__cta::after{ display:none; }
.nav__burger{ display:none; width:2.75rem; height:2.75rem; border-radius:50%; background:rgba(255,255,255,.14); align-items:center; justify-content:center; }
.nav__burger span,.nav__burger span::before,.nav__burger span::after{ content:""; display:block; width:18px; height:2px; background:#fff; border-radius:2px; transition:transform .3s var(--ease), opacity .2s; }
.nav__burger span{ position:relative; }
.nav__burger span::before{ position:absolute; top:-6px; }
.nav__burger span::after{ position:absolute; top:6px; }

/* solid state */
.nav.scrolled{ background:var(--bg); box-shadow:0 8px 30px -18px rgba(52,44,38,.4); border-bottom-color:var(--border); }
.nav.scrolled .nav__logo{ color:var(--primary); }
.nav.scrolled .nav__links a{ color:var(--text); }
.nav.scrolled .nav__burger{ background:rgba(52,44,38,.08); }
.nav.scrolled .nav__burger span,
.nav.scrolled .nav__burger span::before,
.nav.scrolled .nav__burger span::after{ background:var(--text); }

/* contact page — unified background + nav always in scrolled state */
.contact-page{ background:var(--bg); }
.contact-page .nav{ background:var(--bg); box-shadow:0 8px 30px -18px rgba(52,44,38,.4); border-bottom-color:var(--border); }
.contact-page .nav .nav__logo{ color:var(--primary); }
.contact-page .nav .nav__links a{ color:var(--text); }
.contact-page .nav .nav__burger{ background:rgba(52,44,38,.08); }
.contact-page .nav .nav__burger span,
.contact-page .nav .nav__burger span::before,
.contact-page .nav .nav__burger span::after{ background:var(--text); }

/* mobile open state */
.nav.open .nav__burger span{ background:transparent; }
.nav.open .nav__burger span::before{ transform:translateY(6px) rotate(45deg); }
.nav.open .nav__burger span::after{ transform:translateY(-6px) rotate(-45deg); }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  color:#fff; overflow:hidden;
}
.home-hero_background {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
    z-index: 0;
    filter: brightness(0.35);
}
.hero__inner{ position:relative; z-index:1; padding-top:8rem; padding-bottom:5rem; max-width:880px; }
.hero__title{ font-size:var(--fs-display); margin:1.5rem 0 1.5rem; }
.hero__title .accent{ color:var(--primary); display:block; }
.hero__title .plain{ display:block; }
.hero__sub{ max-width:46ch; color:rgba(255,255,255,.85); margin-bottom:2.25rem; font-size:1.175rem; font-weight:400; }

/* ============================================================
   LOGO STRIP
   ============================================================ */
.logos{ background:var(--surface); }
.logos__head{ text-align:center; font-family:var(--font-display); font-weight:700; font-size:1.35rem; margin-bottom:2.5rem; }
.logos__row{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:clamp(2rem,5vw,4rem); }
.logos__item{display:flex; align-items:center; gap:.6rem; opacity:.45; filter:grayscale(1);}
.logos__item img{ width:120px; height:80px; object-fit:contain; }

/* ============================================================
   ABOUT
   ============================================================ */
.about{ background:var(--surface); }
.about p{ margin-bottom: 2%;}
.about__title{ font-size:var(--fs-h1); max-width:18ch; margin:1.25rem 0 1.75rem; }
.about__title .muted{ color:var(--text-muted); }
.about__pills{ display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:2.25rem; }
.about__pills li{ color: var(--on-dark); background:var(--green); border:1px solid var(--border); border-radius:var(--radius-pill); padding:.6rem 1.15rem; font-size:.95rem; font-weight:800; }

/* ============================================================
   WHY CHOOSE  — split header + 3 feature rows
   ============================================================ */
.why__head{ display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:end; margin-bottom:3.5rem; }
.why__title{ font-size:var(--fs-h2); max-width:14ch; }
.why__intro{ color:var(--text-muted); font-size:var(--fs-h5); font-weight: 600;}
.features{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.25rem; }

/* REUSABLE: FEATURE ROW */
.feature{ display:flex; flex-direction:column; gap:.9rem; }
.chip{ display:grid; place-items:center; width:3rem; height:3rem; border-radius:50%; background:var(--primary-hover); color:var(--on-dark); }
.chip svg{ width:1.4rem; height:1.4rem; }
.feature h4{ font-size:var(--fs-h4); }
.feature p{ color:var(--text-muted); font-size:var(--fs-h5); font-weight: 600;}

/* ============================================================
   SERVICES — big feature solution card + 2-col grid
   ============================================================ */
.services__head{ margin-bottom:3rem; }
.services__title{ font-size:var(--fs-h2); margin-top:1rem; }
.solutions{ display:grid; gap:1.5rem; }
.solutions__grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }

/* REUSABLE: SOLUTION CARD (full-bleed image + gradient + frosted panel) */
.solution{
  position:relative; border-radius:var(--radius-card); overflow:hidden;
  min-height:420px; display:flex; align-items:flex-end; padding:1.5rem;
  color:#fff;
  background:url(https://images.unsplash.com/photo-1627920769541-daa658ed6b59?q=80&w=1933&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D);
  background-size:cover; background-position:center 70%;
}
.solution--feature{ min-height:480px; align-items:center; }
.solution--a{ background-image:url(https://images.unsplash.com/photo-1580982327559-c1202864eb05); background-position:center 60%; }
.solution--b{ background-image:url(https://images.unsplash.com/photo-1621490087833-96307b5d5620); background-position:center 65%; }
.solution--c{ background-image:url(https://images.unsplash.com/photo-1634433545797-c18dd170e75e); background-position:center 55%; }
.solution::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(20,16,10,.55)); }
.solution__panel{
  position:relative; z-index:1; max-width:380px;
  background:rgba(106, 102, 98, 0.211); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-sm);
  padding:1.6rem;
}
.solution__chip{ display:grid; place-items:center; width:2.75rem; height:2.75rem; border-radius:50%; background:var(--primary); color:var(--on-primary); margin-bottom:1.1rem; }
.solution__chip svg{ width:1.3rem; height:1.3rem; }
.solution h3{ font-size:var(--fs-h3); margin-bottom:.6rem; }
.solution p{ color:rgba(255,255,255,.82); font-size:var(--fs-p); font-weight: 600; margin-bottom:1.4rem; }

/* ============================================================
   STATS / VALUE — header + 4 stat cards
   ============================================================ */
.value__head{ display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; align-items:start; margin-bottom:3.5rem; }
.value__title{ font-size:var(--fs-h2); max-width:16ch; }
.value__aside{ display:flex; flex-direction:column; gap:1.5rem; }
.value__intro{ color:var(--text-muted); font-size:var(--fs-h5); font-weight: 600;}
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }

/* REUSABLE: STAT CARD */
.stat{
  position:relative; border-radius:var(--radius-card); overflow:hidden;
  min-height:340px; padding:1.6rem; color:#fff; display:flex; flex-direction:column;
  background-image:url(https://images.unsplash.com/photo-1464972377689-e7674c48d806);
  background-size:cover; background-position:center 65%;
}
.stat:nth-child(2){ background-image:url(https://images.unsplash.com/photo-1530464684439-723262c0d16e); background-position:center 70%; }
.stat:nth-child(3){ background-image:url(https://images.unsplash.com/photo-1595958883413-40435c93e7c7); background-position:center 60%; }
.stat:nth-child(4){ background-image:url(https://images.unsplash.com/photo-1590415024718-798cdaab96dd); background-position:center 65%; }
.stat::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,16,10,.25),rgba(20,16,10,.05)); }
.stat__num{ position:relative; z-index:1; font-family:var(--font-display); font-weight:800; font-size:2.6rem; line-height:1; letter-spacing:-0.03em; }
.stat__cap{ position:relative; z-index:1; margin-top:.6rem; color:rgba(255,255,255,.85); font-size:var(--fs-h5); font-weight: 600;}

/* ============================================================
   FOUNDER — image + 4 feature rows
   ============================================================ */
.founder__grid{
  display:grid;
  grid-template-columns:0.65fr 1.35fr;
  grid-template-rows:auto 1fr;
  column-gap:clamp(2rem,5vw,4rem);
  row-gap:1.5rem;
}
.founder__caption{ grid-column:1; grid-row:1; padding:0 .25rem; }
.founder__media{ grid-column:1; grid-row:2; border-radius:var(--radius-card); overflow:hidden; aspect-ratio:4/5; }
.founder__rows{ grid-column:2; grid-row:2; align-self:start; }
.founder__media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.founder__title{ font-size:var(--fs-h2); margin:1rem 0 1.25rem; }
.founder__intro{ font-size:var(--fs-h5); color:var(--text-muted); margin-bottom:2.25rem; max-width:48ch; }
.founder__rows{ display:grid; grid-template-columns:1fr 1fr; gap:2rem 2.5rem; }

/* ============================================================
   TESTIMONIALS — carousel
   ============================================================ */
.testi__head{ text-align:center; max-width:60ch; margin:0 auto 3rem; }
.testi__title{ font-size:var(--fs-h2); margin-top:1rem; }
.testi__intro{ color:var(--text-muted); margin-top:1rem; }
.carousel{ position:relative; }
.carousel__viewport{ overflow:hidden; }
.carousel__track{ display:flex; transition:transform .5s var(--ease); }
.testi-card{
  flex:0 0 100%; padding:0 .5rem;
}
.testi-card__inner{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-card);
  padding:clamp(2rem,4vw,3rem); max-width:760px; margin:0 auto; box-shadow:var(--shadow-card);
}
.testi-card__stars{ color:var(--primary); letter-spacing:.15em; margin-bottom:1.25rem; }
.testi-card__quote{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.25rem,2.4vw,1.7rem); line-height:1.4; letter-spacing:-0.01em; margin-bottom:1.75rem; }
.testi-card__name{ font-weight:700; }
.testi-card__org{ color:var(--text-muted); font-size:.95rem; }
.carousel__controls{ display:flex; align-items:center; justify-content:center; gap:1.5rem; margin-top:2.5rem; }
.carousel__dots{ display:flex; gap:.5rem; }
.carousel__dot{width:8px; height:8px; flex:0 0 8px; padding:0; border:0; border-radius:50%; background:var(--border); transition:background .25s var(--ease);}
.carousel__dot.active{ background:var(--primary); }  /* colour only → stays perfectly round */
.carousel__arrow{ width:2.75rem; height:2.75rem; border-radius:50%; border:1px solid var(--border); display:grid; place-items:center; color:var(--text); transition:background .25s, color .25s; }
.carousel__arrow:hover{ background:var(--dark); color:#fff; }
.carousel__arrow svg{ width:1.1rem; height:1.1rem; }

/* ============================================================
   CTA banner
   ============================================================ */
.cta{
  position:relative; border-radius:0; color:#fff; overflow:hidden;
  background:
    /* 1. vertical fade into the footer color over the bottom ~45% */
    linear-gradient(180deg, transparent 90%, #0a0a0a 100%),
    /* 2. horizontal scrim so left-aligned text stays readable */
    linear-gradient(90deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.15) 100%),
    /* 3. the photo */
    url("static/hay_on_farm_dark.jpg");
  background-size:cover;
  background-position:center;
}
.cta__inner{ padding-block:clamp(5rem,10vw,8rem); max-width:620px; }
.cta__title{ font-size:var(--fs-h1); margin-bottom:1.5rem; }
.cta__sub{ color:rgba(255,255,255,.82); margin-bottom:2.25rem; max-width:44ch; }

/* ============================================================
   CONTACT (one-pager form section) — Netlify Forms
   ============================================================ */
.contact__grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.contact__title{ font-size:var(--fs-h2); margin:1rem 0 1rem; }
.contact__intro{ color:var(--text-muted); }
.form{ display:grid; gap:1.1rem; }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.field{ display:flex; flex-direction:column; gap:.45rem; }
.field label{ font-size:1.1rem; font-weight:900; }
.field input,.field textarea{
  font-family:inherit; font-size:1rem; color:var(--text);
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:.85rem 1rem; transition:border-color .2s, box-shadow .2s;
}
.field input:focus,.field textarea:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(235,149,29,.18); }
.field textarea{ resize:vertical; min-height:130px; }
.form__submit{ justify-self:start; }

/* ============================================================
   INFO CARDS (contact page)
   ============================================================ */
.info-cards-section{ margin-top: -5%; padding-top:0; }
.info-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.info-card{
  display:flex; flex-direction:column; align-items:flex-start;
  background:var(--surface); border:1px solid var(--border,#e8e8e8);
  border-radius:var(--radius-card); padding:1.5rem;
  cursor:pointer; text-align:left;
  transition:box-shadow .2s, border-color .2s;
  width:100%;
}
.info-card:hover{ box-shadow:0 4px 20px rgba(0,0,0,.08); border-color:var(--primary); }
.info-card__icon{
  display:flex; align-items:center; justify-content:center;
  width:2.25rem; height:2.25rem;
  background:rgba(var(--primary-rgb,107,167,72),.12);
  border-radius:.6rem; color:var(--primary); margin-bottom:2rem;
  flex-shrink:0;
}
.info-card__icon svg{ width:1.1rem; height:1.1rem; }
.info-card__label{
  font-size:1.2rem; font-weight:900; color:var(--dark);
  margin-bottom:.5rem;
}
.info-card__value{
  font-size:.9rem; color:var(--text-muted);
  max-height:0; overflow:hidden; opacity:0;
  transition:max-height .35s ease, opacity .3s ease, margin .3s ease;
  margin-top:0;
}
.info-card__value a{ color:var(--text-muted); text-decoration:underline; }
.info-card[aria-expanded="true"] .info-card__value{
  max-height:4rem; opacity:1; margin-top:.1rem;
}
@media(max-width:768px){
  .info-cards{ grid-template-columns:1fr 1fr; }
}
@media(max-width:480px){
  .info-cards{ grid-template-columns:1fr; }
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{ background:#0a0a0a; color:var(--on-dark); }
.footer__top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; padding-block:clamp(3.5rem,7vw,5rem); }
.footer__brand{ display:flex; align-items:center; gap:.6rem; font-family:var(--font-display); font-weight:800; font-size:1.5rem; color:var(--primary); margin-bottom:1.25rem; }
.footer__news-copy{ color:rgba(245,240,232,.7); max-width:32ch; margin-bottom:1.25rem; }
.news-form{ display:flex; gap:.6rem; max-width:420px; }
.news-form input{
  flex:1; font-family:inherit; font-size:.95rem; color:#fff;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-pill);
  padding:.8rem 1.2rem;
}
.news-form input::placeholder{ color:rgba(245,240,232,.5); }
.news-form input:focus{ outline:none; border-color:var(--primary); }
.news-form button{ background:var(--primary); color:var(--on-primary); font-weight:600; padding:.8rem 1.5rem; border-radius:var(--radius-pill); transition:background .25s; }
.news-form button:hover{ background:var(--primary-hover); color:#fff; }
.footer__legal-note{ color:rgba(245,240,232,.5); font-size:.8rem; margin-top:1rem; max-width:42ch; }
.footer__legal-note a{ text-decoration:underline; }
.footer__col h5{ font-family:var(--font-display); font-weight:700; font-size:1rem; margin:0 0 1.1rem; }
.footer__col a{ display:block; color:rgba(245,240,232,.72); padding:.35rem 0; transition:color .2s; }
.footer__col a:hover{ color:#fff; }
.footer__bottom{ border-top:1px solid rgba(255,255,255,.1); padding-block:1.5rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; color:rgba(245,240,232,.5); font-size:.85rem; }

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .features{ grid-template-columns:1fr; gap:2rem; }
  .stats{ grid-template-columns:1fr 1fr; }
  .why__head,.value__head{ grid-template-columns:1fr; gap:1.25rem; }
  .founder__grid{ grid-template-columns:1fr; grid-template-rows:auto; }
  .founder__caption,.founder__media,.founder__rows{ grid-column:auto; grid-row:auto; }
  .founder__media{ aspect-ratio:3/4; }
  .contact__grid{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:768px){
  .nav__links,.nav__cta{ display:none; }
  .nav__burger{ display:grid; }
  /* mobile dropdown */
  .nav.open{ background:var(--bg); }
  .nav.open .nav__links{
    display:flex; flex-direction:column; gap:1.25rem;
    position:absolute; top:100%; left:0; right:0;
    background:var(--bg); padding:1.5rem var(--gutter) 2rem; border-bottom:1px solid var(--border);
  }
  .nav.open .nav__links a{ color:var(--text); font-size:1.1rem; }
  .nav.open .nav__cta{ display:inline-flex; }
  .nav.open .nav__menu-wrap{ display:contents; }
  .solutions__grid{ grid-template-columns:1fr; }
  .solution__panel .btn{ display:flex; width:100%; justify-content:space-between; align-items:center; }
  .solution__panel .btn .disc{ flex-shrink:0; align-self:center; width:2.35rem; height:2.35rem; }
  .founder__rows{ grid-template-columns:1fr; gap:1.75rem; }
  .footer__top{ grid-template-columns:1fr; gap:2rem; }
  .form__row{ grid-template-columns:1fr; }
  .news-form{ flex-direction:column; }
  .news-form button{ width:100%; }
}
@media (max-width:520px){
  .stats{ grid-template-columns:1fr; }
  .hero__inner{ padding-top:7rem; }
}