/* ==========================================================================
   Woodlands Farm Units — site styles
   Brand: deep forest green #263721 on cream #fbf6ea (from the logo).
   Type: Fraunces (display, headings) + Hanken Grotesk (text, labels).
         The logo wordmark stays Times, so the families harmonise.
   Colour tokens derived from the supplied Woodlands design system.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500&family=Hanken+Grotesk:wght@400;500;600;700&display=swap');

:root {
  /* Forest green */
  --green-950:#141d11; --green-900:#1b2818; --green-800:#263721; --green-700:#324733;
  --green-600:#466040; --green-500:#5f7a55; --green-400:#88a07c; --green-300:#b4c4aa;
  --green-200:#d9e0d1; --green-100:#eef1e8; --green-50:#f5f7f0;
  /* Cream / canvas */
  --cream-50:#fdfaf2; --cream-100:#fbf6ea; --cream-200:#f4edda; --cream-300:#ebe1c9;
  /* Warm stone neutrals */
  --stone-900:#2a2722; --stone-800:#3d392f; --stone-700:#4f493e; --stone-600:#6b6354;
  --stone-500:#8a8170; --stone-400:#aaa190; --stone-300:#cabfac; --stone-200:#e4dccb; --stone-100:#f0ebde;
  /* Barn clay (warm accent) */
  --clay-700:#8c4527; --clay-600:#9e4f2e; --clay-500:#b15c38; --clay-400:#c47a55; --clay-100:#f1ddd0;
  /* Harvest wheat */
  --wheat-600:#b08a2e; --wheat-500:#c79a3f; --wheat-100:#f5ebcd;

  /* Semantic */
  --bg-canvas:var(--cream-100);
  --bg-canvas-alt:var(--cream-200);
  --bg-inverse:var(--green-900);
  --surface-card:#fffdf7;
  --text-heading:var(--green-800);
  --text-strong:var(--green-900);
  --text-body:var(--stone-800);
  --text-muted:var(--stone-600);
  --text-on-dark:var(--cream-100);
  --border-subtle:var(--stone-200);
  --border-default:var(--stone-300);
  --primary:var(--green-800);
  --accent:var(--clay-500);
  --accent-hover:var(--clay-600);

  /* Display serif for headings; warm grotesque for text; Times stays the wordmark. */
  --font-display:'Fraunces','Times New Roman',Georgia,serif;
  --font-sans:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-serif:'Times New Roman',Times,Georgia,serif;

  --radius-sm:3px; --radius-md:6px; --radius-lg:10px;
  --shadow-sm:0 1px 2px rgba(20,29,17,.05), 0 1px 12px rgba(20,29,17,.04);
  --shadow-md:0 10px 40px -8px rgba(20,29,17,.18);
  --maxw:1180px;
  --rule:1px solid var(--border-default);
  --hairline:rgba(38,55,33,.16);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:17.5px;
  line-height:1.65;
  color:var(--text-body);
  background-color:var(--bg-canvas);
  /* faint paper grain — a single inline SVG, no extra request, no build step */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern" 1;
}
img{max-width:100%;display:block;}
a{color:var(--green-700);text-decoration:none;transition:color .15s ease;}
a:hover{color:var(--clay-600);}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-optical-sizing:auto;
  color:var(--text-heading);
  font-weight:600;
  line-height:1.08;
  margin:0 0 .5em;
  letter-spacing:-.005em;
  font-feature-settings:"liga" 1,"dlig" 1;
}
h1{font-size:clamp(2.6rem,5.6vw,4.2rem);font-weight:600;letter-spacing:-.018em;line-height:1.02;}
h2{font-size:clamp(2rem,3.6vw,2.85rem);letter-spacing:-.014em;}
h3{font-size:1.42rem;letter-spacing:-.008em;}
h4{font-size:1.1rem;}
p{margin:0 0 1rem;}
strong{font-weight:600;color:var(--text-strong);}

/* tracked label, set in the grotesque — reads architectural, not engraved */
.eyebrow{
  font-family:var(--font-sans);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:.74rem;
  font-weight:600;
  color:var(--clay-600);
  margin:0 0 1.1rem;
  display:flex;
  align-items:center;
  gap:.7em;
}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.55;flex:none;}
.center .eyebrow,.eyebrow.center{justify-content:center;}
.center .eyebrow::after{content:"";width:26px;height:1px;background:currentColor;opacity:.55;flex:none;}
.eyebrow.on-dark{color:var(--wheat-500);}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{padding:84px 0;}
.section.tight{padding:56px 0;}
.section--cream-alt{background:var(--bg-canvas-alt);}
.section--green{background:var(--green-800);color:var(--text-on-dark);}
.section--green h2,.section--green h3{color:var(--cream-50);}
.section--green p{color:var(--green-200);}
.center{text-align:center;}
.lead{font-size:1.22rem;line-height:1.6;color:var(--text-body);font-weight:400;}
.muted{color:var(--text-muted);}
.maxw-prose{max-width:62ch;}
.center .maxw-prose{margin-left:auto;margin-right:auto;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--font-sans);font-size:.94rem;font-weight:600;
  padding:.86em 1.55em;border-radius:var(--radius-sm);
  border:1px solid transparent;cursor:pointer;transition:.2s ease;
  letter-spacing:.01em;line-height:1;
}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 0 rgba(20,29,17,.18);}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;}
.btn-green{background:var(--green-800);color:var(--cream-100);border-color:var(--green-800);}
.btn-green:hover{background:var(--green-900);color:#fff;}
.btn-outline{background:transparent;border-color:var(--green-600);color:var(--green-800);}
.btn-outline:hover{background:var(--green-800);color:var(--cream-100);border-color:var(--green-800);}
.btn-outline.on-dark{border-color:rgba(251,246,234,.45);color:var(--cream-100);}
.btn-outline.on-dark:hover{background:var(--cream-100);color:var(--green-900);border-color:var(--cream-100);}
/* trailing arrow on primary calls to action */
.btn-primary::after,.btn-arrow::after{content:"\2192";font-size:1.05em;transition:transform .2s ease;margin-left:.1em;}
.btn-primary:hover::after,.btn-arrow:hover::after{transform:translateX(3px);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.center .btn-row{justify-content:center;}

/* ---------- header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(251,246,234,.88);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;max-width:var(--maxw);margin:0 auto;}
.nav__logo img{height:60px;width:auto;display:block;}
.nav__links{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;}
.nav__links a{
  font-size:.92rem;font-weight:500;color:var(--green-900);letter-spacing:.005em;padding:6px 0;
  position:relative;
}
.nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--clay-500);transition:right .25s ease;}
.nav__links a:hover,.nav__links a.active{color:var(--clay-600);}
.nav__links a:hover::after,.nav__links a.active::after{right:0;}
.nav__cta{display:flex;align-items:center;gap:18px;}
.nav__phone{font-size:.95rem;font-weight:600;color:var(--green-800);white-space:nowrap;font-feature-settings:"tnum" 1;}
.nav__toggle{display:none;background:none;border:1px solid var(--green-600);border-radius:var(--radius-sm);padding:9px 12px;cursor:pointer;color:var(--green-800);font-size:.85rem;font-weight:600;font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;}

/* ---------- hero ---------- */
.hero{position:relative;color:var(--cream-50);overflow:hidden;}
.hero__media{position:absolute;inset:0;overflow:hidden;}
.hero__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);}
@keyframes heroPan{from{transform:scale(1.06) translateX(0);}to{transform:scale(1.12) translateX(-2%);}}
.hero__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(15,22,12,.92) 0%,rgba(17,25,14,.74) 38%,rgba(20,29,17,.34) 72%,rgba(20,29,17,.5) 100%);}
.hero__media::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,rgba(20,29,17,.2),transparent 22%,transparent 78%,rgba(20,29,17,.55));}
.hero__inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:clamp(96px,15vh,150px) 24px clamp(84px,12vh,120px);}
.hero__content{max-width:680px;position:relative;z-index:2;}
.hero h1{color:#fff;margin-bottom:.32em;text-shadow:0 1px 30px rgba(10,15,8,.3);}
.hero p{color:var(--cream-200);font-size:1.22rem;margin-bottom:1.7em;max-width:48ch;}
.hero .eyebrow{color:var(--wheat-500);}
.hero__emblem{position:absolute;right:0;bottom:0;width:min(46vw,580px);height:auto;z-index:1;pointer-events:none;opacity:.62;mix-blend-mode:soft-light;}

/* ---------- feature/icon grid ---------- */
.grid{display:grid;gap:26px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

/* Editorial "schedule" treatment — replaces the generic icon-card grid with
   numbered, hairline-ruled entries, like a printed property prospectus. */
.grid:has(.feature){counter-reset:feat;gap:0 clamp(28px,4vw,60px);}
.feature{
  counter-increment:feat;
  position:relative;
  background:none;border:0;border-radius:0;box-shadow:none;
  padding:28px 0 32px;
  border-top:1px solid var(--hairline);
}
.feature::before{
  content:counter(feat,decimal-leading-zero);
  font-family:var(--font-display);font-weight:500;font-style:italic;
  font-size:1.2rem;color:var(--accent);
  font-feature-settings:"tnum" 1;
  display:block;margin-bottom:16px;letter-spacing:.01em;
}
.feature > .feature__icon{display:none;}
.feature h3{font-size:1.28rem;margin-bottom:.4em;letter-spacing:-.01em;}
.feature p{margin:0;font-size:1rem;line-height:1.6;color:var(--text-muted);}
.feature a{color:var(--green-700);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:var(--border-default);}
.feature a:hover{color:var(--clay-600);text-decoration-color:currentColor;}

/* ---------- split (text + image) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,76px);align-items:center;}
.split__text{max-width:44ch;}
.split img{border-radius:var(--radius-md);box-shadow:var(--shadow-md);width:100%;height:100%;object-fit:cover;max-height:500px;}
.split--reverse .split__text{order:2;}
/* a mounted-print frame for feature photography */
.framed{padding:10px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);}
.framed img{border-radius:var(--radius-sm);box-shadow:none;}

/* ---------- asymmetric section header ---------- */
.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:8px;}
.section-head h2{margin:0;}
.section-head .lead{margin:0;}
@media (max-width:760px){.section-head{grid-template-columns:1fr;gap:14px;}}

/* ---------- stats band ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:left;}
.stats > div{padding:4px 26px;position:relative;}
.stats > div:first-child{padding-left:0;}
.stats > div + div::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:58px;width:1px;background:rgba(251,246,234,.16);}
.stat__num{font-family:var(--font-display);font-size:clamp(2.3rem,3.6vw,3rem);font-weight:500;color:var(--cream-50);line-height:1;letter-spacing:-.015em;display:block;}
.stat__label{display:block;margin-top:13px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green-300);font-weight:600;}

/* ---------- unit cards ---------- */
.unit-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:.18s ease;}
.unit-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.unit-card__media{aspect-ratio:3/2;overflow:hidden;background:var(--green-100);}
.unit-card__media img{width:100%;height:100%;object-fit:cover;}
.unit-card__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.unit-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.unit-card__ref{font-size:1.35rem;font-weight:700;color:var(--green-800);}
.unit-card__size{font-size:1.05rem;color:var(--text-muted);}
.unit-card__desc{font-size:1rem;color:var(--text-body);margin:0;flex:1;}
.unit-card .btn{margin-top:6px;align-self:flex-start;}

.badge{display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:5px 11px;border-radius:999px;}
.badge--available{background:var(--green-100);color:var(--green-700);border:1px solid var(--green-300);}
.badge--soon{background:var(--wheat-100);color:var(--wheat-600);border:1px solid var(--wheat-500);}

/* empty state for available units */
.empty-state{background:var(--surface-card);border:1px dashed var(--border-default);border-radius:var(--radius-lg);padding:54px 32px;text-align:center;}
.empty-state .feature__icon{margin:0 auto 18px;}

/* ---------- gallery (editorial mosaic) ---------- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:232px;gap:14px;}
.gallery figure{position:relative;margin:0;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--green-100);}
.gallery figure:nth-child(1){grid-row:span 2;}
.gallery figure:nth-child(6){grid-column:span 3;}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.gallery figure:hover img{transform:scale(1.045);}
.gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:30px 16px 13px;
  font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#fff;
  background:linear-gradient(to top,rgba(20,29,17,.72),rgba(20,29,17,0));
  opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;
}
.gallery figure:hover figcaption{opacity:1;transform:none;}
@media (max-width:900px){
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px;}
  .gallery figure:nth-child(1){grid-row:span 2;}
  .gallery figure:nth-child(6){grid-column:span 2;}
}
@media (max-width:560px){
  .gallery{grid-template-columns:1fr;grid-auto-rows:220px;}
  .gallery figure:nth-child(1),.gallery figure:nth-child(6){grid-row:auto;grid-column:auto;}
}

/* ---------- tenant logos/list ---------- */
.tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px;}
.tenant{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:18px 20px;color:var(--green-900);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
a.tenant:hover{border-color:var(--green-400);box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--green-900);}
.tenant__name{font-size:1.1rem;font-weight:700;color:var(--green-900);line-height:1.3;}
.tenant__trade{display:block;font-size:.92rem;color:var(--text-muted);font-weight:400;margin-top:3px;}
.tenant__ext{flex:none;width:18px;height:18px;color:var(--clay-500);}

/* size table */
.size-table{width:100%;border-collapse:collapse;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;}
.size-table th,.size-table td{text-align:left;padding:15px 22px;border-bottom:1px solid var(--border-subtle);font-size:1.05rem;}
.size-table th{background:var(--green-800);color:var(--cream-100);font-weight:700;letter-spacing:.04em;}
.size-table tr:last-child td{border-bottom:none;}
.size-table td:first-child{font-weight:700;color:var(--green-800);white-space:nowrap;}
.size-table tr:nth-child(even) td{background:var(--cream-50);}

/* ---------- contact ---------- */
.contact-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:38px 34px;box-shadow:var(--shadow-sm);}
.contact-line{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;}
.contact-line svg{flex:none;width:26px;height:26px;color:var(--clay-500);margin-top:3px;}
.contact-line strong{display:block;color:var(--green-900);font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;margin-bottom:2px;}
.contact-line a,.contact-line span{font-size:1.2rem;color:var(--text-body);}
.map-embed{border:0;width:100%;height:100%;min-height:340px;border-radius:var(--radius-lg);}

/* ---------- footer ---------- */
.site-footer{background:var(--green-900);color:var(--green-200);padding:72px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:48px;margin-bottom:44px;}
.site-footer img{height:62px;width:auto;margin-bottom:20px;}
.site-footer .footer-grid > div:first-child p{max-width:34ch;font-size:.98rem;color:var(--green-300);}
.site-footer h4{font-family:var(--font-sans);color:var(--wheat-500);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;}
.site-footer a{color:var(--green-200);}
.site-footer a:hover{color:var(--wheat-500);}
.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:.98rem;}
.footer-bottom{border-top:1px solid var(--green-800);padding-top:24px;font-size:.84rem;color:var(--green-400);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* ---------- forged-iron divider ---------- */
.iron-rule{display:flex;align-items:center;gap:22px;max-width:var(--maxw);margin-inline:auto;padding-inline:24px;color:var(--green-400);}
.iron-rule::before,.iron-rule::after{content:"";height:1px;flex:1;background:var(--hairline);}
.iron-rule img{height:34px;width:auto;opacity:.7;}

/* ---------- trades / "in good company" strip ---------- */
.trades{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 0;}
.trades__name{font-family:var(--font-display);font-size:clamp(1.05rem,1.6vw,1.24rem);font-weight:500;color:var(--green-700);letter-spacing:-.01em;white-space:nowrap;display:inline-flex;align-items:center;}
.trades__name:not(:last-child)::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--clay-400);margin:0 clamp(14px,2vw,24px);flex:none;}

/* ---------- hero credibility meta ---------- */
.hero__meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(251,246,234,.18);max-width:560px;}
.hero__meta span{display:flex;align-items:center;gap:9px;font-size:.86rem;font-weight:500;color:var(--cream-200);letter-spacing:.01em;}
.hero__meta span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--wheat-500);flex:none;}

/* ---------- misc ---------- */
.notice{background:var(--green-100);border-left:4px solid var(--green-600);padding:18px 22px;border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:1.05rem;color:var(--green-900);}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.pill{font-size:.95rem;padding:7px 15px;border-radius:999px;background:var(--green-100);color:var(--green-700);border:1px solid var(--green-200);}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;gap:30px;}
  .split__text{max-width:none;}
  .split--reverse .split__text{order:0;}
  .stats{grid-template-columns:repeat(2,1fr);gap:34px 24px;}
  .stats > div{padding:0;}
  .stats > div + div::before{display:none;}
  .footer-grid{grid-template-columns:1.4fr 1fr;}
  .footer-grid > div:first-child{grid-column:1/-1;}
}
@media (max-width:680px){
  body{font-size:18px;}
  .section{padding:60px 0;}
  .nav__links,.nav__phone{display:none;}
  .nav__links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--cream-50);padding:18px 24px;gap:16px;border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-md);}
  .nav__toggle{display:inline-block;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero__inner{padding:72px 24px 64px;}
  .hero__emblem{display:none;}
  .hide-mobile{display:none;}
  .nav__logo img{height:60px;}
}

/* ---------- accessibility + SEO niceties ---------- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--green-800);color:var(--cream-100);padding:10px 18px;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}
:focus-visible{outline:3px solid var(--wheat-500);outline-offset:2px;border-radius:2px;}
.section--green h1{font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--cream-50);margin:0 0 .4em;}
.footer-bottom a{color:var(--green-200);text-decoration:underline;text-underline-offset:2px;}
.footer-bottom a:hover{color:var(--wheat-500);}

/* ---------- FAQ (accordions) ---------- */
.faq{max-width:840px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--border-subtle);}
.faq summary{cursor:pointer;list-style:none;padding:20px 4px;font-size:1.2rem;font-weight:700;color:var(--green-800);display:flex;justify-content:space-between;align-items:center;gap:18px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:1.7rem;line-height:1;color:var(--clay-500);}
.faq details[open] summary::after{content:"\2212";}
.faq__a{padding:0 4px 22px;color:var(--text-body);font-size:1.05rem;max-width:75ch;}

/* collapse nav earlier to avoid crowding once the Storage link is added */
@media (max-width:980px){
  .nav__links,.nav__phone{display:none;}
  .nav__toggle{display:inline-block;}
  .nav__links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--cream-50);padding:18px 24px;gap:16px;border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-md);}
}

/* ---------- animations ---------- */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.2,.6,.2,1),transform .65s cubic-bezier(.2,.6,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  .reveal.delay-1{transition-delay:.08s;}
  .reveal.delay-2{transition-delay:.16s;}
  .reveal.delay-3{transition-delay:.24s;}
  .reveal.delay-4{transition-delay:.32s;}
  .reveal.delay-5{transition-delay:.40s;}

  .hero__media img{animation:heroPan 26s ease-in-out infinite alternate;}
  .hero__content > *{opacity:0;animation:heroUp .7s ease forwards;}
  .hero__content > *:nth-child(1){animation-delay:.10s;}
  .hero__content > *:nth-child(2){animation-delay:.20s;}
  .hero__content > *:nth-child(3){animation-delay:.30s;}
  .hero__content > *:nth-child(4){animation-delay:.40s;}
  @keyframes heroUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}

  .hero__emblem{animation:emblemUp 1.1s cubic-bezier(.2,.7,.2,1) .25s both;}
  @keyframes emblemUp{from{opacity:0;transform:translateY(46px);}to{opacity:1;transform:none;}}

  .btn{transition:background .18s ease,border-color .18s ease,color .18s ease,transform .12s ease;}
  .btn:hover{transform:translateY(-1px);}
  .stat__num{transition:transform .3s ease;}
  .section--green:hover .stat__num{transform:none;}
}
