/* ════════════════════════════════════════════════════════════
   Tawhai Stand: shared styles (v2, static)
   Dark cinematic editorial. Barlow + Barlow Condensed.
   ════════════════════════════════════════════════════════════ */

:root{
  --bg:#0c1322;
  --ink:#F0EDE8;
  --gold:#C8922A;
  --sage:#8FAF8A;
  --green:#1B4332;
  --blue:#2C3E6B;
  --ink-55:rgba(240,237,232,0.55);
  --ink-38:rgba(240,237,232,0.38);
  --hairline:rgba(255,255,255,0.08);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Barlow',sans-serif;
  font-weight:300;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--gold);}
::placeholder{color:rgba(240,237,232,0.22);}
input,textarea,button,select{font-family:inherit;}
a{-webkit-tap-highlight-color:transparent;}
img{display:block;}

/* ── Type primitives ──────────────────────────────────────── */
.eyebrow{
  font-family:'Barlow Condensed',sans-serif;font-weight:600;
  font-size:10px;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--gold);white-space:nowrap;
}
.rule{flex:1;height:1px;background:rgba(200,146,42,0.18);}
.label-row{display:flex;align-items:center;gap:18px;}
.container{max-width:1180px;margin:0 auto;padding:0 80px;}
.cond{font-family:'Barlow Condensed',sans-serif;}

/* ── Keyframes ────────────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.text-enter{animation:fadeUp 0.7s cubic-bezier(0.2,0,0,1) both;}
@keyframes menuIn{from{opacity:0;}to{opacity:1;}}
@keyframes introHint{0%,100%{opacity:0.45;transform:translateY(0);}50%{opacity:1;transform:translateY(2px);}}
@keyframes caretBlink{0%,55%{opacity:1;}56%,100%{opacity:0;}}
@keyframes waterRipple{
  0%,100%{transform:translateX(-50%) scaleY(-1) skewX(0deg) scaleX(1);}
  30%{transform:translateX(-50%) scaleY(-1) skewX(0.7deg) scaleX(1.012);}
  65%{transform:translateX(-50%) scaleY(-1) skewX(-0.5deg) scaleX(0.990);}
}

/* ── Scroll reveal ────────────────────────────────────────── */
/* Opacity-only fade: no transform animation on reveals.
   A translateY animation creates a compositing layer that causes the
   section gradient to re-rasterise inside the element bounds, leaving a
   faint rectangular seam. Opacity alone never promotes a layer. */
.reveal{opacity:0;
  transition:opacity 0.75s cubic-bezier(0.2,0,0,1);}
.reveal.is-in{opacity:1;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transition:none;}
}

/* ════════════════════════════════════════════════════════════
   NAV
   ════════════════════════════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:26px 56px;
  background:transparent;
  transition:background 0.4s,backdrop-filter 0.4s,border-color 0.4s;
  border-bottom:1px solid transparent;
}
.nav.is-scrolled{
  background:rgba(4,6,14,0.93);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.045);
}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-brand img.tree{height:34px;width:34px;object-fit:contain;filter:invert(1) brightness(2);}
.nav-brand img.word{height:15px;}
.nav-links{display:flex;gap:44px;}
.nav-links a{
  font-family:'Barlow Condensed',sans-serif;font-weight:400;font-size:11px;
  letter-spacing:0.24em;text-transform:uppercase;
  color:var(--ink-38);text-decoration:none;transition:color 0.3s;
}
.nav-links a:hover{color:var(--gold);}
.nav-burger{display:none;background:none;border:1px solid rgba(255,255,255,0.20);
  border-radius:4px;padding:7px 10px;cursor:pointer;flex-direction:column;gap:4px;}
.nav-burger span{display:block;width:18px;height:1.5px;background:var(--ink);}

.mobile-menu{
  position:fixed;inset:0;z-index:500;background:rgba(3,5,12,0.97);
  backdrop-filter:blur(16px);display:none;flex-direction:column;
  align-items:center;justify-content:center;gap:44px;animation:menuIn 0.3s ease both;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:36px;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);text-decoration:none;
  transition:color 0.2s;
}
.mobile-menu a:hover{color:var(--gold);}
.mobile-menu .close{
  position:absolute;top:24px;right:22px;background:none;
  border:1px solid rgba(255,255,255,0.18);border-radius:50%;
  width:40px;height:40px;color:var(--ink);font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}

/* ════════════════════════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════════════════════════ */
.btn-row{display:flex;gap:12px;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:13px 28px;text-decoration:none;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;border:none;
}
.btn-primary{background:var(--gold);color:#05070b;transition:opacity 0.25s;}
.btn-primary:hover{opacity:0.84;}
.btn-ghost{
  padding:12px 28px;border:1px solid rgba(255,255,255,0.22);color:var(--ink);
  font-weight:600;background:transparent;transition:border-color 0.25s;
}
.btn-ghost:hover{border-color:rgba(255,255,255,0.55);}
.arrow-btn{
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,0.20);
  background:transparent;color:var(--ink);cursor:pointer;display:flex;
  align-items:center;justify-content:center;font-size:18px;transition:all 0.25s ease;
}
.arrow-btn:hover{border-color:var(--gold);background:rgba(200,146,42,0.10);}

/* ════════════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════════════ */
.hero{position:sticky;top:0;z-index:0;width:100vw;height:100dvh;overflow:hidden;background:var(--bg);}
.hero-bg{position:absolute;inset:0;will-change:transform;}
.hero-scene{position:absolute;inset:0;background-size:cover;background-position:center center;
  opacity:0;transition:opacity 1.1s cubic-bezier(0.4,0,0.2,1);pointer-events:none;}
.hero-scene.active{opacity:1;}
.hero-grain{
  position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.04'/%3E%3C/svg%3E");
  background-size:260px 260px;
}
.hero-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(ellipse 92% 88% at 50% 50%,transparent 28%,rgba(0,0,0,0.62) 100%);}
/* Soft top scrim for nav legibility: tall, fades fully to transparent so there is no hard edge */
.hero-topfade{position:absolute;top:0;left:0;right:0;height:230px;z-index:4;pointer-events:none;
  background:linear-gradient(to bottom,rgba(2,4,10,0.80) 0%,rgba(2,4,10,0.34) 38%,rgba(2,4,10,0.10) 70%,transparent 100%);}

.hero-fg{position:absolute;inset:0;z-index:5;will-change:transform,opacity;}
.hero-cinematic{position:absolute;inset:0;}
.hero-top{position:absolute;top:90px;left:56px;right:56px;display:flex;
  justify-content:space-between;align-items:center;}
.hero-bottom{position:absolute;bottom:64px;left:56px;right:56px;display:flex;
  justify-content:space-between;align-items:flex-end;}
.hero-copy{max-width:580px;}
.hero h1{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:clamp(46px,5.8vw,72px);line-height:0.93;letter-spacing:-0.01em;
  text-transform:uppercase;color:var(--ink);margin-bottom:16px;
}
.hero h1 .line{display:block;white-space:nowrap;}
.hero-sub{
  font-family:'Barlow Condensed',sans-serif;font-weight:300;font-size:15px;line-height:1.72;
  color:var(--ink-55);max-width:380px;margin-bottom:28px;
}
.hero-count{font-family:'Barlow Condensed',sans-serif;font-size:11px;
  letter-spacing:0.22em;color:var(--gold);padding-bottom:4px;}
.caret{display:inline-block;width:0.07em;height:0.78em;background:var(--gold);
  vertical-align:-0.06em;margin-left:0.03em;}
.caret.blink{animation:caretBlink 1.05s step-end infinite;}

.hero-progress{position:absolute;bottom:0;left:0;right:0;height:1px;z-index:10;
  background:rgba(255,255,255,0.07);}
.hero-progress > i{display:block;height:100%;width:0%;background:var(--gold);transition:width 0.05s linear;}
.hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  display:flex;gap:8px;z-index:10;}
.hero-dots button{width:6px;height:6px;border-radius:3px;border:none;padding:0;
  background:rgba(255,255,255,0.22);cursor:pointer;transition:all 0.4s ease;}
.hero-dots button.active{width:28px;background:var(--gold);}

/* ════════════════════════════════════════════════════════════
   GENERIC SECTION
   ════════════════════════════════════════════════════════════ */
section.block{position:relative;overflow:hidden;}
.section-h2{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  line-height:0.94;letter-spacing:-0.01em;text-transform:uppercase;color:var(--ink);
}
.body-p{font-family:'Barlow',sans-serif;font-weight:300;font-size:16px;line-height:1.76;color:rgba(240,237,232,0.58);}
.glow{position:absolute;border-radius:50%;pointer-events:none;}

/* ── About ────────────────────────────────────────────────── */
.about{background:#0d1419;padding:128px 0 112px;}
.about-tree{position:absolute;left:max(0px,min(50vw,calc(100vw - 300px)));top:57.5%;
  transform:translateY(-50%);height:600px;width:auto;
  filter:invert(1) sepia(0.10) brightness(0.48);opacity:0.09;pointer-events:none;z-index:0;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start;position:relative;}
.about h2{font-size:clamp(36px,4vw,64px);margin-bottom:32px;}
.about .accent{color:var(--sage);}
.about blockquote{margin-top:40px;padding:20px 24px;border-left:2px solid rgba(27,67,50,0.65);
  background:rgba(27,67,50,0.08);}
.about blockquote p{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:14px;
  letter-spacing:0.03em;color:var(--sage);line-height:1.55;font-style:italic;}
.about-side .eyebrow{display:block;margin-bottom:18px;}
.deploy-item{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:18px 0;
  border-bottom:1px solid var(--hairline);align-items:baseline;}
.deploy-item:first-child{border-top:1px solid var(--hairline);}
.deploy-item .n{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:0.14em;color:var(--gold);}
.deploy-item .t{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:17px;
  letter-spacing:0.04em;text-transform:uppercase;color:var(--ink);}

/* ── Services ─────────────────────────────────────────────── */
.services{padding:132px 0 120px;position:relative;background-color:#0b1218;background-image:linear-gradient(rgba(11,18,24,0.78),rgba(11,18,24,0.86)),url("../uploads/topo-bg.png"),linear-gradient(168deg,#0e1822 0%,#0c141d 55%,#0b1218 100%);background-repeat:no-repeat,no-repeat,no-repeat;background-size:cover,cover,cover;background-position:center,center top,center;}
.services::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 640px 520px at 88% 6%, rgba(27,67,50,0.20), transparent 65%),radial-gradient(ellipse 760px 620px at 4% 85%, rgba(44,62,107,0.18), transparent 65%);pointer-events:none;}
details.svc-item{border-bottom:1px solid var(--hairline);}
details.svc-item:first-of-type{border-top:1px solid var(--hairline);}
details.svc-item > summary{list-style:none;cursor:pointer;user-select:none;}
details.svc-item > summary::-webkit-details-marker{display:none;}
details.svc-item > summary::marker{display:none;}
details.svc-item > summary:focus-visible{outline:1px solid rgba(200,146,42,0.45);outline-offset:2px;}
.svc-head{display:grid;grid-template-columns:56px 1fr 28px;gap:0 16px;align-items:center;padding:28px 0;}
.svc-head .num{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:0.14em;color:var(--gold);}
.svc-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:22px;
  letter-spacing:0.04em;text-transform:uppercase;color:var(--ink);}
.svc-hook{font-family:'Barlow',sans-serif;font-weight:300;font-size:14px;
  color:rgba(240,237,232,0.62);display:block;margin-top:4px;}
.svc-icon{font-size:22px;font-weight:300;font-family:'Barlow Condensed',sans-serif;
  color:rgba(200,146,42,0.72);line-height:1;transition:transform 200ms ease-out;
  display:flex;align-items:center;justify-content:center;width:28px;flex-shrink:0;}
details[open].svc-item .svc-icon{transform:rotate(45deg);}
.svc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows 220ms ease-out;}
details[open].svc-item > .svc-body{grid-template-rows:1fr;}
.svc-body-inner{overflow:hidden;}
.svc-detail{padding-left:72px;padding-bottom:44px;}
.svc-eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:10px;
  letter-spacing:0.28em;text-transform:uppercase;display:block;margin-bottom:10px;}
.svc-how p{font-family:'Barlow',sans-serif;font-weight:300;font-size:15px;line-height:1.76;
  color:rgba(240,237,232,0.64);}
.svc-practice{padding:18px 22px;background:rgba(255,255,255,0.04);
  border-left:2px solid var(--gold);margin:22px 0;}
.svc-practice p{font-family:'Barlow',sans-serif;font-weight:300;font-size:14px;line-height:1.76;
  color:rgba(240,237,232,0.48);font-style:italic;}
.svc-cta{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:0.20em;text-transform:uppercase;color:var(--gold);text-decoration:none;
  display:inline-block;transition:opacity 0.2s;cursor:pointer;}
.svc-cta:hover{opacity:0.58;}

/* ── Story ────────────────────────────────────────────────── */
.story{background:#0b111b;padding:136px 0 104px;}
.story-col{max-width:720px;}
.story h2{font-size:clamp(44px,5vw,76px);line-height:0.92;margin-bottom:44px;}
.story h2 .accent{color:var(--sage);}
.story-body{font-family:'Barlow',sans-serif;font-weight:300;font-size:17px;line-height:1.85;
  color:rgba(240,237,232,0.62);margin-bottom:24px;}
.story-body em{font-style:italic;font-weight:500;color:var(--ink);}
.story-pivot{max-width:720px;font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:clamp(44px,5vw,68px);line-height:1.0;letter-spacing:-0.01em;text-transform:uppercase;
  color:var(--gold);margin:60px 0;}
.story-byline{display:flex;align-items:center;gap:14px;margin-top:52px;}
.story-byline .dash{width:34px;height:1px;background:rgba(200,146,42,0.5);}
.story-byline span{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:11px;
  letter-spacing:0.24em;text-transform:uppercase;color:rgba(240,237,232,0.5);}
.gold-call{color:var(--gold);font-weight:600;}

/* ── FAQ ──────────────────────────────────────────────────── */
.faq{background:#0c131e;padding:120px 0 110px;}
.faq-list{max-width:820px;margin-top:8px;}
details.faq-item{border-bottom:1px solid var(--hairline);}
details.faq-item:first-of-type{border-top:1px solid var(--hairline);}
details.faq-item > summary{list-style:none;cursor:pointer;user-select:none;display:flex;
  justify-content:space-between;align-items:center;gap:24px;padding:26px 0;}
details.faq-item > summary::-webkit-details-marker{display:none;}
.faq-q{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px;
  letter-spacing:0.01em;color:var(--ink);}
details[open].faq-item .svc-icon{transform:rotate(45deg);}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows 220ms ease-out;}
details[open].faq-item .faq-a{grid-template-rows:1fr;}
.faq-a > div{overflow:hidden;}
.faq-a p{font-family:'Barlow Condensed',sans-serif;font-weight:300;font-size:15px;line-height:1.76;
  color:rgba(240,237,232,0.6);padding-bottom:26px;max-width:680px;}

/* ── Contact ──────────────────────────────────────────────── */
.contact{background:#0b1117;padding:128px 0 80px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start;}
.contact h2{font-size:clamp(36px,4vw,64px);margin-bottom:24px;}
.contact h2 .accent{color:var(--gold);}
.contact-lead{font-family:'Barlow',sans-serif;font-weight:300;font-size:16px;line-height:1.76;
  color:var(--ink-55);margin-bottom:36px;}
.contact-email{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:18px;
  letter-spacing:0.06em;color:var(--gold);text-decoration:none;transition:opacity 0.3s;}
.contact-email:hover{opacity:0.68;}
.contact-meta{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.24em;
  text-transform:uppercase;color:rgba(240,237,232,0.26);display:block;margin-bottom:9px;}
form.lead-form{display:flex;flex-direction:column;gap:12px;}
.lead-form input,.lead-form textarea,.lead-form select{
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);
  padding:15px 18px;color:var(--ink);font-family:'Barlow',sans-serif;font-weight:300;
  font-size:14px;outline:none;transition:border-color 0.3s;width:100%;}
.lead-form select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;color:rgba(240,237,232,0.55);}
.lead-form select.filled{color:var(--ink);}
.lead-form .select-wrap{position:relative;}
.lead-form .select-wrap::after{content:"";position:absolute;right:18px;top:50%;
  width:7px;height:7px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);
  transform:translateY(-65%) rotate(45deg);pointer-events:none;}
.lead-form input:focus,.lead-form textarea:focus,.lead-form select:focus{border-color:rgba(200,146,42,0.53);}
.lead-form textarea{resize:vertical;min-height:120px;}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:2px;}
.consent input{width:16px;height:16px;flex-shrink:0;margin-top:3px;accent-color:var(--gold);}
.consent label{font-family:'Barlow',sans-serif;font-weight:300;font-size:12.5px;line-height:1.6;
  color:rgba(240,237,232,0.5);}
.consent a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(200,146,42,0.4);}
.consent a:hover{opacity:0.8;}
.lead-form button[type=submit]{margin-top:6px;align-self:flex-start;}
.form-success{padding:44px 36px;border:1px solid rgba(143,175,138,0.22);
  background:rgba(27,67,50,0.08);text-align:center;}
.form-success .h{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:26px;
  letter-spacing:0.04em;text-transform:uppercase;color:var(--sage);margin-bottom:10px;}
.form-success p{font-family:'Barlow',sans-serif;font-weight:300;font-size:14px;color:rgba(240,237,232,0.44);}

/* ── Footer ───────────────────────────────────────────────── */
.footer{margin-top:64px;padding-top:32px;border-top:1px solid rgba(255,255,255,0.05);
  display:flex;justify-content:space-between;align-items:center;gap:12px;}
.footer-brand{display:flex;align-items:center;gap:10px;}
.footer-brand img.tree{height:20px;width:20px;object-fit:contain;filter:invert(1) brightness(2);opacity:0.38;}
.footer-brand img.word{height:11px;opacity:0.34;}
.footer-links{display:flex;gap:20px;align-items:center;}
.footer-links a{font-family:'Barlow',sans-serif;font-weight:300;font-size:12px;
  color:rgba(240,237,232,0.32);text-decoration:none;transition:color 0.25s;}
.footer-links a:hover{color:var(--gold);}
.footer .copy{font-family:'Barlow',sans-serif;font-weight:300;font-size:12px;color:rgba(240,237,232,0.18);}

/* ════════════════════════════════════════════════════════════
   INTRO OVERLAY
   ════════════════════════════════════════════════════════════ */
.intro{position:fixed;inset:0;z-index:1000;cursor:pointer;}
.intro.gone{display:none;}
.intro-backdrop{position:absolute;inset:0;}
.intro-backdrop .grad{position:absolute;inset:0;
  background:radial-gradient(ellipse 78% 68% at 50% 40%,#14151f 0%,#07080f 64%,#04050b 100%);}
.intro-backdrop .grain{position:absolute;inset:0;pointer-events:none;opacity:0.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.04'/%3E%3C/svg%3E");
  background-size:260px 260px;}
.intro-window{position:absolute;inset:0;
  -webkit-mask-repeat:no-repeat,no-repeat;mask-repeat:no-repeat,no-repeat;
  will-change:-webkit-mask-size,mask-size;}
.intro-window .hero-img{position:absolute;inset:0;background-size:cover;background-position:center center;}
.intro-window .white{position:absolute;inset:0;background:var(--ink);opacity:1;transition:opacity 600ms cubic-bezier(0.4,0,0.2,1);}
.intro.reveal-on .intro-window .white{opacity:0;}
.intro-tag{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:16px;
  opacity:1;transition:opacity 0.45s ease;pointer-events:none;}
.intro.reveal-on .intro-tag{opacity:0;}
.intro-tag .t{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:0.42em;text-transform:uppercase;color:rgba(240,237,232,0.40);padding-left:0.42em;}
.intro-tag .bar{width:184px;height:2px;background:rgba(240,237,232,0.12);overflow:hidden;}
.intro-tag .bar > i{display:block;height:100%;transform-origin:left center;transform:scaleX(0);
  background:var(--gold);transition:transform 0.32s cubic-bezier(0.2,0,0,1);}
.intro-tag .pct{font-family:'Barlow Condensed',sans-serif;font-size:8.5px;font-weight:600;
  letter-spacing:0.34em;text-transform:uppercase;color:rgba(240,237,232,0.30);}
.intro-enter{position:absolute;bottom:52px;left:0;right:0;display:flex;flex-direction:column;
  align-items:center;gap:10px;opacity:0;transition:opacity 0.45s ease;pointer-events:none;}
.intro.ready .intro-enter{opacity:1;}
.intro.reveal-on .intro-enter{opacity:0;}
.intro-enter .t{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;
  letter-spacing:0.30em;text-transform:uppercase;color:var(--gold);animation:introHint 2.4s ease-in-out infinite;}
.intro-enter .stem{width:1px;height:26px;background:linear-gradient(to bottom,rgba(240,237,232,0.32),transparent);}

/* ════════════════════════════════════════════════════════════
   PRIVACY PAGE
   ════════════════════════════════════════════════════════════ */
.legal{max-width:760px;margin:0 auto;padding:150px 32px 100px;}
.legal h1{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(38px,6vw,60px);
  line-height:0.96;letter-spacing:-0.01em;text-transform:uppercase;color:var(--ink);margin-bottom:10px;}
.legal .updated{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:11px;
  letter-spacing:0.24em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;display:block;}
.legal h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(22px,3vw,30px);
  letter-spacing:-0.005em;text-transform:uppercase;color:var(--ink);margin:52px 0 18px;}
.legal h3{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:16px;color:var(--sage);margin:26px 0 8px;}
.legal p,.legal li{font-family:'Barlow',sans-serif;font-weight:300;font-size:15.5px;line-height:1.8;
  color:rgba(240,237,232,0.66);margin-bottom:14px;}
.legal ul{padding-left:22px;margin-bottom:18px;}
.legal li{margin-bottom:6px;}
.legal a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(200,146,42,0.4);}
.legal strong{color:var(--ink);font-weight:500;}
.legal hr{border:none;border-top:1px solid var(--hairline);margin:44px 0;}
.legal .lead-note{padding:22px 26px;border-left:2px solid rgba(143,175,138,0.5);
  background:rgba(27,67,50,0.08);margin-bottom:8px;}
.legal .back{display:inline-flex;align-items:center;gap:8px;margin-bottom:36px;
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:11px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-38);text-decoration:none;border:none;transition:color 0.25s;}
.legal .back:hover{color:var(--gold);}
.legal .end-note{font-style:italic;color:rgba(240,237,232,0.5);}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width:860px){
  .container{padding:0 24px;}
  .nav{padding:20px 20px;}
  .nav-links{display:none;}
  .nav-burger{display:flex;}
  .nav-brand img.tree{height:28px;width:28px;}
  .nav-brand img.word{height:13px;}
  .hero-top{top:76px;left:22px;right:22px;}
  .hero-bottom{bottom:52px;left:22px;right:22px;}
  .hero h1{font-size:clamp(42px,11vw,72px);margin-bottom:12px;}
  .hero-sub{font-size:14px;max-width:340px;margin-bottom:22px;}
  .hero-count.desktop{display:none;}
  .about,.contact{padding:80px 0 72px;}
  .services{padding:84px 0 80px;}
  .story{padding:84px 0 64px;}
  .faq{padding:84px 0 72px;}
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:48px;}
  .about h2,.contact h2{font-size:clamp(34px,9vw,56px);}
  .about-tree{display:none;}
  .svc-head{grid-template-columns:38px 1fr 28px;padding:22px 0;}
  .svc-title{font-size:18px;}
  .svc-detail{padding-left:0;padding-bottom:30px;}
  .story-body{font-size:16px;}
  .story-pivot{font-size:clamp(32px,9vw,46px);margin:40px 0;}
  .footer{flex-direction:column;align-items:flex-start;}
  .faq-q{font-size:17px;}
  .legal{padding:120px 22px 80px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .hero-scene{transition:none;}
}
