/* ============================================================
   Equipment Assets — immersive environmental site
   Brand palette built around EA green #78A22F
   ============================================================ */

:root{
  --earth:      #0B140A;   /* warm dark olive-black base */
  --earth-2:    #0F1B0C;   /* section panel */
  --earth-3:    #13230D;   /* raised panel */
  --green:      #78A22F;   /* EA brand green (exact) */
  --green-br:   #A6D24B;   /* brighter signal green (accents, counters, glow) */
  --green-soft: #CBE4A0;   /* pale green */
  --paper:      #F3F5EE;   /* warm off-white text */
  --mute:       rgba(243,245,238,.62);
  --faint:      rgba(243,245,238,.40);
  --line:       rgba(243,245,238,.13);
  --up:         #A6D24B;
  --down:       #E08A5B;
  --maxw:       1240px;
  --ease:       cubic-bezier(.22,.61,.36,1);
  --font:       "Geist", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --mono:       "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font); background:var(--earth); color:var(--paper);
  line-height:1.55; font-weight:400; overflow-x:hidden;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{ color:inherit; text-decoration:none; }
img,video{ display:block; max-width:100%; }
::selection{ background:var(--green); color:var(--earth); }
.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(20px,5vw,64px); }

/* ---------- Scroll progress ---------- */
.scroll-progress{ position:fixed; top:0; left:0; right:0; height:2px; z-index:120; }
.scroll-progress span{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--green),var(--green-br)); box-shadow:0 0 12px rgba(166,210,75,.6); }

/* ============================================================
   INTRO OVERLAY (cinematic montage → logo → reveal)
   ============================================================ */
.intro{
  position:fixed; inset:0; z-index:300; background:#070d06;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  transition:opacity 1s var(--ease), visibility 1s var(--ease);
}
.intro.is-done{ opacity:0; visibility:hidden; pointer-events:none; }
.intro__frames{ position:absolute; inset:0; }
.intro__frame{
  position:absolute; inset:0; opacity:0; transform:scale(1.08);
  transition:opacity 1.1s ease, transform 4s linear;
}
.intro__frame.on{ opacity:.62; transform:scale(1); }
.intro__frame video{ width:100%; height:100%; object-fit:cover; }
.intro__grade{ position:absolute; inset:0; background:
  radial-gradient(120% 100% at 50% 50%, transparent 30%, rgba(7,13,6,.8) 100%),
  linear-gradient(to bottom, rgba(7,13,6,.5), rgba(7,13,6,.5)); }
.intro__center{ position:relative; z-index:2; text-align:center; padding:24px; }
.intro__logo{ width:min(66vw,440px); margin-inline:auto; opacity:0; transform:translateY(14px); filter:drop-shadow(0 8px 40px rgba(0,0,0,.6)); }
.intro__logo.in{ opacity:1; transform:none; transition:opacity 1s var(--ease) .1s, transform 1.2s var(--ease); }
.intro__tag{ margin-top:22px; font-family:var(--mono); font-size:clamp(11px,1.4vw,13px); letter-spacing:.34em; text-transform:uppercase; color:var(--green-soft); opacity:0; }
.intro__tag.in{ opacity:.9; transition:opacity 1s var(--ease) .5s; }
.intro__bar{ margin:34px auto 0; width:min(60vw,260px); height:2px; background:rgba(243,245,238,.15); overflow:hidden; border-radius:2px; }
.intro__bar i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--green),var(--green-br)); }
.intro__skip{
  position:absolute; bottom:26px; right:26px; z-index:3; font-family:var(--mono);
  font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--mute);
  background:rgba(243,245,238,.06); border:1px solid var(--line); border-radius:100px;
  padding:9px 18px; cursor:pointer; transition:color .3s, border-color .3s, background .3s;
}
.intro__skip:hover{ color:var(--paper); border-color:var(--green); background:rgba(120,162,47,.14); }

/* ============================================================
   METALS TICKER
   ============================================================ */
.ticker{
  position:fixed; top:0; left:0; right:0; z-index:200; background:#0b140a;
  border-bottom:1px solid rgba(243,245,238,.10);
  overflow:hidden; display:flex; align-items:center; height:44px;
}
.ticker__label{
  flex:none; display:flex; align-items:center; gap:8px; height:100%;
  padding:0 18px; background:var(--green); color:var(--earth);
  font-family:var(--mono); font-size:11.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  white-space:nowrap; z-index:2;
}
.ticker__label::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--earth); animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{opacity:1} 50%{opacity:.35} }
.ticker__viewport{ flex:1; overflow:hidden; position:relative; height:100%; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.ticker__track{ display:flex; align-items:center; height:100%; gap:38px; white-space:nowrap; width:max-content; animation:tickerscroll 46s linear infinite; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
@keyframes tickerscroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
.tick{ display:inline-flex; align-items:baseline; gap:9px; font-family:var(--mono); font-size:13px; }
.tick__name{ color:var(--mute); letter-spacing:.04em; }
.tick__val{ color:var(--paper); font-weight:500; }
.tick__chg{ font-size:12px; }
.tick__chg.up{ color:var(--up); }
.tick__chg.down{ color:var(--down); }

/* ---------- Navigation (clean solid ecommerce header) ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:110;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(20px,5vw,64px); height:66px;
  background:#ffffff;
  border-bottom:1px solid rgba(11,20,10,.09);
  transition:height .3s var(--ease), box-shadow .3s var(--ease);
}
.nav.is-scrolled{ height:58px; box-shadow:0 10px 30px rgba(11,20,10,.13); }
body:has(.ticker) .nav{ top:44px; }   /* sit below the top metals-desk bar (home only) */
.nav__brand{ display:flex; align-items:center; }
.nav__logo{ height:30px; width:auto; transition:height .3s var(--ease); }
.nav.is-scrolled .nav__logo{ height:26px; }
.nav__links{ display:flex; align-items:center; gap:clamp(16px,2.2vw,34px); }
.nav__links a{ font-size:14.5px; color:#5c6a4d; letter-spacing:.01em; font-weight:500; transition:color .3s var(--ease); position:relative; }
.nav__links a:hover{ color:var(--green); }
.nav__links a:not(.nav__cta)::after{ content:""; position:absolute; left:0; bottom:-5px; height:2px; width:0; background:var(--green); transition:width .35s var(--ease); }
.nav__links a:not(.nav__cta):hover::after{ width:100%; }
.nav__cta{ color:#fff!important; background:var(--green); padding:9px 18px; border-radius:5px; font-weight:600; box-shadow:0 4px 14px rgba(120,162,47,.3); transition:transform .3s var(--ease), background .3s var(--ease); }
.nav__cta:hover{ transform:translateY(-1px); background:#6b9229; }
.nav__toggle{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.nav__toggle span{ width:24px; height:2px; background:#3a4531; border-radius:2px; transition:.3s var(--ease); }
.nav.is-menu .nav__toggle span{ background:var(--paper); }

/* ---------- Global scroll-crossfade background ---------- */
.bgstage{ position:fixed; inset:0; z-index:0; background:var(--earth); overflow:hidden; }
.bgstage__layer{ position:absolute; inset:0; opacity:0; transition:opacity 1.5s var(--ease); }
.bgstage__layer.on{ opacity:1; }
.bgstage__layer video{ width:100%; height:100%; object-fit:cover; }
.bgstage__grade{ position:absolute; inset:0; background:
  linear-gradient(to bottom, rgba(7,13,6,.5), rgba(7,13,6,.32) 42%, rgba(7,13,6,.5)); }
html:not(.js) .bgstage{ display:none; }

/* ---------- Media backgrounds ---------- */
.media{ position:absolute; inset:0; overflow:hidden; z-index:0; }
.media__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.media--fixed .media__video{ position:fixed; top:0; left:0; height:100vh; will-change:transform; }
.media__scrim{ position:absolute; inset:0; }
.media__scrim--hero{ background:
  linear-gradient(to bottom, rgba(7,13,6,.55) 0%, rgba(7,13,6,.28) 34%, rgba(7,13,6,.6) 72%, var(--earth) 100%),
  radial-gradient(120% 90% at 18% 28%, rgba(7,13,6,.1), rgba(7,13,6,.66)); }
.media__scrim--deep{ background:linear-gradient(to bottom, var(--earth) 0%, rgba(7,13,6,.6) 22%, rgba(7,13,6,.6) 78%, var(--earth) 100%); }

/* ---------- Shared type ---------- */
.eyebrow{ font-family:var(--mono); font-size:12.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--faint); margin-bottom:26px; display:flex; align-items:center; gap:12px; }
.eyebrow::before{ content:""; width:26px; height:1px; background:currentColor; }
.eyebrow--green{ color:var(--green-br); }
.section-title{ font-size:clamp(2.3rem,5.2vw,4.4rem); font-weight:500; line-height:1.02; letter-spacing:-.03em; }
.section-lead{ max-width:56ch; margin-top:26px; color:var(--mute); font-size:clamp(1rem,1.5vw,1.22rem); }

/* ---------- Buttons / CTAs ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; background:var(--green); color:#fff; font-weight:600; font-size:1rem; letter-spacing:.01em; padding:14px 28px; border-radius:5px; box-shadow:0 6px 22px rgba(120,162,47,.3); transition:transform .3s var(--ease), background .3s var(--ease); }
.btn:hover{ transform:translateY(-2px); background:#6b9229; }
.btn--ghost{ background:rgba(243,245,238,.06); color:var(--paper); border:1px solid rgba(243,245,238,.22); box-shadow:none; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.btn--ghost:hover{ background:rgba(120,162,47,.16); border-color:var(--green-br); transform:translateY(-2px); }
.btn--sm{ padding:11px 22px; font-size:.92rem; }

/* ---------- HERO ---------- */
.hero{ position:relative; min-height:auto; display:flex; flex-direction:column; overflow:hidden; }
.hero__inner{ position:relative; z-index:2; padding-top:clamp(132px,20vh,176px); padding-bottom:clamp(40px,6vh,80px); }
.hero .eyebrow{ color:var(--green-soft); }
.hero__title{ font-size:clamp(2.9rem,8vw,6.8rem); font-weight:500; line-height:.98; letter-spacing:-.035em; max-width:16ch; }
.hero__title span{ color:var(--green-br); }
.hero__sub{ margin-top:28px; max-width:52ch; font-size:clamp(1.05rem,1.7vw,1.32rem); color:rgba(243,245,238,.84); font-weight:300; }
.hero__cta{ margin-top:34px; display:flex; flex-wrap:wrap; gap:14px; }
.hero__how{ margin-top:30px; padding:0; list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:10px clamp(14px,2vw,26px); font-family:var(--mono,"Geist Mono",monospace); font-size:12.5px; letter-spacing:.04em; color:rgba(243,245,238,.82); }
.hero__how li{ display:flex; align-items:center; gap:8px; }
.hero__how b{ color:var(--green-br); font-weight:600; }
.hero__how-tag{ color:var(--green-br); text-transform:uppercase; letter-spacing:.16em; font-weight:600; }
.hero__how-tag::before{ content:"·"; margin-right:14px; color:rgba(243,245,238,.35); }

/* ---------- WHAT WE BUY ---------- */
.buy{ position:relative; z-index:1; background:var(--earth); padding:clamp(72px,10vh,130px) 0; border-top:1px solid var(--line); }
.buy .section-lead{ margin-bottom:clamp(40px,5vh,64px); }
.buy-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.6vw,22px); }
.buycard{ border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; background:linear-gradient(180deg, rgba(120,162,47,.06), rgba(243,245,238,0)); transition:border-color .4s var(--ease), transform .4s var(--ease); }
.buycard:hover{ border-color:rgba(120,162,47,.45); transform:translateY(-3px); }
.buycard__img{ aspect-ratio:4/3; overflow:hidden; background:#0a130a; }
.buycard__img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.buycard:hover .buycard__img img{ transform:scale(1.05); }
.buycard__body{ padding:clamp(18px,2vw,24px); }
.buycard__k{ font-family:var(--mono); font-size:12px; letter-spacing:.2em; color:var(--green-br); }
.buycard h3{ font-size:clamp(1.15rem,1.7vw,1.45rem); font-weight:600; letter-spacing:-.01em; margin:10px 0 8px; }
.buycard p{ color:var(--mute); font-size:.96rem; font-weight:300; }
.buy-note{ margin-top:clamp(28px,3.4vh,40px); font-family:var(--mono); font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--green-br); }
@media (max-width:900px){ .buy-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .buy-grid{ grid-template-columns:1fr; } .buycard__img{ aspect-ratio:16/9; } }

/* ---------- FULL-BLEED FEATURE BANDS ---------- */
.feature{ position:relative; z-index:1; min-height:clamp(360px,58vh,540px); display:flex; align-items:center; overflow:hidden; }
.feature__media{ position:absolute; inset:0; z-index:0; }
.feature__media img{ width:100%; height:100%; object-fit:cover; }
.feature__scrim{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,13,6,.92) 0%, rgba(7,13,6,.66) 44%, rgba(7,13,6,.24) 100%), linear-gradient(to top, rgba(7,13,6,.7), transparent 60%); }
.feature__scrim--eco{ background:linear-gradient(90deg, rgba(7,13,6,.9) 0%, rgba(7,13,6,.55) 50%, rgba(7,13,6,.35) 100%), linear-gradient(to top, rgba(7,13,6,.78), transparent 66%); }
.feature__inner{ position:relative; z-index:2; padding-block:clamp(48px,8vh,92px); }
.feature__title{ font-size:clamp(1.8rem,4vw,3.2rem); font-weight:500; line-height:1.05; letter-spacing:-.03em; max-width:20ch; margin:14px 0 16px; }
.feature__lead{ color:rgba(243,245,238,.86); font-weight:300; font-size:clamp(1rem,1.5vw,1.2rem); max-width:52ch; margin-bottom:22px; }

/* ---------- SELL TO US / QUOTE ---------- */
.sell{ position:relative; z-index:1; background:var(--earth-2); padding:clamp(72px,10vh,130px) 0; border-top:1px solid var(--line); }
.sell__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:start; }
.howto{ list-style:none; margin:clamp(28px,4vh,44px) 0 0; display:grid; gap:20px; }
.howto li{ display:flex; gap:16px; align-items:flex-start; }
.howto li > span{ flex:none; width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(120,162,47,.16); color:var(--green-br); font-family:var(--mono); font-weight:500; }
.howto h4{ font-size:1.1rem; font-weight:600; margin-bottom:4px; }
.howto p{ color:var(--mute); font-size:.98rem; font-weight:300; max-width:42ch; }
.sell__contact{ margin-top:clamp(28px,3.6vh,40px); }
.sell__contact p{ margin-top:8px; font-size:1.05rem; }
.sell__contact a:hover{ color:var(--green-br); }
.qform{ display:grid; gap:14px; padding:clamp(24px,3vw,36px); border:1px solid var(--line); border-radius:20px; background:linear-gradient(180deg, rgba(243,245,238,.04), rgba(243,245,238,0)); }
.qform__row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.qform label{ display:flex; flex-direction:column; gap:7px; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--mute); }
.qform input, .qform select, .qform textarea{ font-family:var(--font); font-size:1rem; color:var(--paper); background:rgba(8,14,7,.55); border:1px solid var(--line); border-radius:8px; padding:12px 14px; transition:border-color .3s var(--ease), background .3s var(--ease); }
.qform input::placeholder, .qform textarea::placeholder{ color:var(--faint); }
.qform input:focus, .qform select:focus, .qform textarea:focus{ outline:none; border-color:var(--green); background:rgba(8,14,7,.82); }
.qform select{ appearance:none; -webkit-appearance:none; cursor:pointer; }
.qform textarea{ resize:vertical; }
.qform .btn{ margin-top:4px; justify-self:start; }
.qform__status{ font-family:var(--mono); font-size:12px; letter-spacing:.03em; color:var(--green-br); min-height:1.1em; }
.qform.is-sent{ border-color:rgba(120,162,47,.5); }
@media (max-width:820px){ .sell__grid{ grid-template-columns:1fr; } }
@media (max-width:480px){ .qform__row{ grid-template-columns:1fr; } }

/* ---------- REPOWER STORE CTA ---------- */
.repower{ position:relative; z-index:1; background:linear-gradient(120deg, #16240d, #0e1a0a); border-block:1px solid var(--line); padding:clamp(48px,7vh,84px) 0; }
.repower__inner{ display:flex; align-items:center; justify-content:space-between; gap:clamp(24px,4vw,56px); flex-wrap:wrap; }
.repower__text{ max-width:56ch; }
.repower__title{ font-size:clamp(1.8rem,3.6vw,2.8rem); font-weight:500; line-height:1.05; letter-spacing:-.025em; margin:14px 0 14px; }
.repower__title span{ color:var(--green-br); }
.repower__lead{ color:var(--mute); font-weight:300; font-size:clamp(1rem,1.4vw,1.15rem); max-width:52ch; }
.repower__btn{ flex:none; }
@media (max-width:640px){ .repower__btn{ width:100%; } }

/* ---------- PURPOSE ---------- */
.purpose{ position:relative; padding:clamp(72px,9vh,110px) 0 clamp(72px,9vh,110px); overflow:hidden; }
.purpose__inner{ position:relative; z-index:2; }
.statement{ font-size:clamp(1.9rem,4.4vw,3.5rem); font-weight:400; line-height:1.14; letter-spacing:-.025em; max-width:28ch; }
.statement__dim{ display:block; color:var(--mute); }
.purpose__body{ margin-top:44px; max-width:60ch; display:grid; gap:20px; color:rgba(243,245,238,.82); font-size:clamp(1rem,1.4vw,1.2rem); font-weight:300; }

/* ---------- PROCESS (dense) ---------- */
.process{ position:relative; z-index:1; background:var(--earth-2); padding-top:clamp(36px,5vh,64px); }
.process__head{ margin-bottom:clamp(22px,3vh,36px); }
.steps{ display:flex; flex-direction:column; }
.step{ position:relative; min-height:clamp(240px,34vh,320px); display:flex; align-items:center; padding:clamp(24px,3.5vh,40px) 0; overflow:hidden; border-top:1px solid var(--line); }
.step__media{ position:absolute; inset:0; z-index:0; }
.step__media video{ width:100%; height:100%; object-fit:cover; }
.step__scrim{ position:absolute; inset:0; background:linear-gradient(100deg, rgba(7,13,6,.92) 5%, rgba(7,13,6,.6) 42%, rgba(7,13,6,.2) 100%), linear-gradient(to top, rgba(7,13,6,.85), transparent 55%); }
.step__text{ position:relative; z-index:2; max-width:var(--maxw); }
.step__num{ font-family:var(--mono); font-size:14px; letter-spacing:.2em; color:var(--green-br); }
.step__text h3{ font-size:clamp(2rem,5vw,3.6rem); font-weight:500; letter-spacing:-.03em; margin:14px 0 18px; }
.step__text p{ max-width:50ch; color:rgba(243,245,238,.82); font-size:clamp(1rem,1.4vw,1.18rem); font-weight:300; }

/* ---------- STANDARDS & STEWARDSHIP ---------- */
.standards{ position:relative; z-index:1; background:var(--earth); padding:clamp(96px,13vh,170px) 0; border-top:1px solid var(--line); }
.standards__head{ margin-bottom:clamp(46px,6vh,80px); max-width:var(--maxw); }
.certs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:clamp(14px,1.6vw,22px); margin-bottom:clamp(40px,5vh,70px); }
.cert{ border:1px solid var(--line); border-radius:16px; padding:26px 22px; background:linear-gradient(180deg, rgba(120,162,47,.05), rgba(243,245,238,0)); transition:border-color .4s var(--ease), transform .4s var(--ease); }
.cert:hover{ border-color:rgba(120,162,47,.42); transform:translateY(-3px); }
.cert__badge{ width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(120,162,47,.16); margin-bottom:16px; }
.cert__badge svg{ width:24px; height:24px; stroke:var(--green-br); fill:none; stroke-width:1.6; }
.cert__code{ font-weight:600; font-size:1.05rem; letter-spacing:-.01em; }
.cert__desc{ margin-top:7px; color:var(--mute); font-size:.9rem; }
.measures{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(20px,3vw,44px); border-top:1px solid var(--line); padding-top:clamp(36px,4vh,56px); }
.measure__k{ font-family:var(--mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--green-br); }
.measure h4{ font-size:1.2rem; font-weight:500; margin:12px 0 10px; letter-spacing:-.01em; }
.measure p{ color:var(--mute); font-size:.98rem; font-weight:300; max-width:36ch; }

/* ---------- IMPACT ---------- */
.impact{ position:relative; z-index:1; padding:clamp(64px,9vh,110px) 0; overflow:hidden; }
.impact__inner{ position:relative; z-index:2; }
.impact .section-title{ margin-bottom:clamp(50px,7vh,84px); }
.stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,4vw,64px); }
.stat{ border-top:1px solid var(--line); padding-top:26px; }
.stat__num{ display:block; font-size:clamp(3rem,7vw,5.6rem); font-weight:500; line-height:1; letter-spacing:-.04em; color:var(--green-br); font-variant-numeric:tabular-nums; }
.stat__label{ display:block; margin-top:18px; color:var(--mute); max-width:34ch; font-size:1.02rem; }

/* ---------- CLOSING ---------- */
.closing{ position:relative; z-index:1; min-height:88svh; display:flex; align-items:center; padding:clamp(90px,14vh,160px) 0; overflow:hidden; }
.closing__inner{ position:relative; z-index:2; }
.closing__title{ font-size:clamp(2rem,5.4vw,4.6rem); font-weight:500; line-height:1.03; letter-spacing:-.035em; max-width:18ch; }
.closing__cta{ margin-top:34px; }
.closing__contact{ margin-top:clamp(40px,5vh,60px); display:flex; flex-wrap:wrap; gap:clamp(30px,5vw,80px); }
.closing__k{ font-family:var(--mono); font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--green-br); }
.closing__contact p{ margin-top:12px; font-size:clamp(1.05rem,1.6vw,1.3rem); line-height:1.5; }
.closing__contact a:hover{ color:var(--green-br); }

/* ---------- CORPORATE SITEMAP FOOTER ---------- */
.footer{ position:relative; z-index:20; background:#081006; border-top:1px solid var(--line); padding:clamp(56px,8vh,92px) 0 28px; }
.footer__top{ display:grid; grid-template-columns:1.3fr 3fr; gap:clamp(32px,5vw,72px); }
.footer__intro{ max-width:34ch; }
.footer__logo{ height:30px; width:auto; margin-bottom:20px; }
.footer__tag{ color:var(--mute); font-size:.94rem; line-height:1.6; margin-bottom:20px; font-weight:300; }
.footer__cols{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(16px,2vw,30px); }
.footer__col h5{ font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--green-br); margin-bottom:15px; font-weight:500; }
.footer__col a{ display:block; color:var(--mute); font-size:.92rem; padding:5px 0; transition:color .3s var(--ease); width:fit-content; }
.footer__col a:hover{ color:var(--paper); }
.footer__addr{ display:block; margin-top:10px; color:var(--faint); font-size:.86rem; line-height:1.6; }
.footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-top:clamp(40px,5vh,64px); padding-top:22px; border-top:1px solid var(--line); color:var(--faint); font-size:12.5px; }
.footer__legal a{ color:var(--faint); transition:color .3s; }
.footer__legal a:hover{ color:var(--green-br); }
@media (max-width:900px){ .footer__top{ grid-template-columns:1fr; } .footer__cols{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .footer__cols{ grid-template-columns:repeat(2,1fr); } }

/* ============================================================
   FACILITIES PAGE
   ============================================================ */
.subpage{ padding-top:clamp(120px,16vh,190px); }
.subhero{ padding:0 0 clamp(40px,6vh,72px); }
.subhero .section-title{ margin-top:12px; }
.fac{ padding-bottom:clamp(90px,12vh,150px); }
.fac__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,4vw,60px); align-items:start; }
.fac__mapwrap{ position:relative; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:radial-gradient(120% 120% at 60% 20%, #12210c, #0a130824); }
.fac__mapwrap iframe{ display:block; width:100%; height:clamp(380px,56vh,560px); border:0; }
.fac__list{ display:flex; flex-direction:column; gap:10px; }
.site{ border:1px solid var(--line); border-radius:14px; padding:18px 20px; transition:border-color .35s var(--ease), background .35s var(--ease); background:linear-gradient(180deg, rgba(243,245,238,.02), transparent); }
.site:hover{ border-color:rgba(120,162,47,.5); background:linear-gradient(180deg, rgba(120,162,47,.08), transparent); }
.site__top{ display:flex; align-items:center; gap:10px; }
.site__no{ font-family:var(--mono); font-size:12px; color:var(--green-br); width:22px; }
.site__name{ font-weight:600; font-size:1.02rem; letter-spacing:-.01em; }
.site__tag{ margin-left:auto; font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--earth); background:var(--green); padding:3px 8px; border-radius:100px; }
.site__addr{ margin-top:6px; margin-left:32px; color:var(--mute); font-size:.92rem; }

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }
.reveal:nth-child(2){ transition-delay:.06s; }
.reveal:nth-child(3){ transition-delay:.12s; }
.reveal:nth-child(4){ transition-delay:.18s; }
html:not(.js) .reveal{ opacity:1!important; transform:none!important; }
html:not(.js) .media__video[data-lazyvideo]{ display:none; }
html:not(.js) .intro{ display:none; }

/* ---------- Responsive ---------- */
@media (max-width:920px){
  .fac__grid{ grid-template-columns:1fr; }
}
@media (max-width:860px){
  .nav__links{
    position:fixed; inset:0 0 0 auto; width:min(78vw,340px); flex-direction:column; align-items:flex-start; justify-content:center;
    gap:26px; padding:48px; background:rgba(8,14,7,.97); backdrop-filter:blur(20px);
    transform:translateX(100%); transition:transform .5s var(--ease); border-left:1px solid var(--line);
  }
  .nav__links.is-open{ transform:none; }
  .nav__links a{ font-size:19px; color:var(--paper); }
  .nav__links a:hover{ color:var(--green-br); }
  .nav__toggle{ display:flex; z-index:10; }
  .nav.is-menu .nav__toggle span:first-child{ transform:translateY(3.5px) rotate(45deg); }
  .nav.is-menu .nav__toggle span:last-child{ transform:translateY(-3.5px) rotate(-45deg); }
  .stats{ grid-template-columns:1fr; gap:0; }
  .stat{ padding:24px 0; }
  .media--fixed .media__video{ position:absolute; height:100%; }
  .step{ min-height:46vh; }
}
/* ---------- Mobile tweaks (ticker + solid header are already fixed at top globally) ---------- */
@media (max-width:700px){
  .hero__inner{ padding-top:clamp(124px,22vh,158px); }  /* clear the 44px ticker + solid header */
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .ticker__track{ animation:none; }
  .intro__frame{ transition:opacity 1.1s ease; transform:none; }
}
