/* ═══════════════════════════════════════════════════════════════
   PARKLAB — visual system
   Type     Archivo (variable width + weight) · Azeret Mono
   Colour   near-black ground, warm paper, one signal accent
   Grid     1560 max, hairline rules, asymmetric editorial layout
   ═══════════════════════════════════════════════════════════════ */

:root{
  --ink:        #08090B;
  --ink-1:      #0C0E11;
  --ink-2:      #13161A;
  --fg:         #E9EDE5;
  --fg-dim:     #979D98;
  --fg-mute:    #6B7170;
  --paper:      #ECECE5;
  --paper-ink:  #0A0B0C;
  --acc:        #C9FF3C;
  --acc-deep:   #97C400;

  --line:       color-mix(in srgb, var(--fg) 15%, transparent);
  --line-soft:  color-mix(in srgb, var(--fg) 8%, transparent);

  --gutter:     clamp(20px, 4.6vw, 78px);
  --maxw:       1560px;
  --sec:        clamp(84px, 11vw, 196px);

  --ease:       cubic-bezier(.16, 1, .3, 1);
  --ease-io:    cubic-bezier(.62, .05, .2, 1);

  --t-display:  clamp(3.1rem, 11.4vw, 12rem);
  --t-h2:       clamp(2.1rem, 5.2vw, 4.9rem);
  --t-h3:       clamp(1.3rem, 2.1vw, 1.95rem);
  --t-lede:     clamp(1.02rem, 1.32vw, 1.32rem);
  --t-body:     clamp(.98rem, 1vw, 1.08rem);
}

/* ── reset ─────────────────────────────────────────────────── */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; background:var(--ink); color:var(--fg);
  font-family:"Archivo", "Helvetica Neue", Arial, sans-serif;
  font-size:var(--t-body); line-height:1.55; font-weight:400;
  font-stretch:100%;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }
h1,h2,h3,h4,p,figure,blockquote,dl,dd{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
address{ font-style:normal; }
[hidden]{ display:none !important; }
::selection{ background:var(--acc); color:var(--ink); }

:focus-visible{ outline:2px solid var(--acc); outline-offset:3px; }

.skip{
  position:fixed; top:8px; left:8px; z-index:200; padding:10px 16px;
  background:var(--acc); color:var(--ink); transform:translateY(-200%);
}
.skip:focus{ transform:none; }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }

/* ── type primitives ───────────────────────────────────────── */
.lbl{
  font-family:"Azeret Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size:clamp(9.5px, .72vw, 11px); font-weight:400;
  letter-spacing:.16em; text-transform:uppercase; color:var(--fg-dim);
  display:inline-block; line-height:1.4;
}
.lbl--dim{ color:var(--fg-mute); }
.lbl--end{ margin-left:auto; }

.sec-title{
  font-size:var(--t-h2); font-weight:600; font-stretch:112%;
  line-height:.94; letter-spacing:-.03em; margin-top:.5em;
}
.sec-head{ margin-bottom:clamp(40px, 5vw, 84px); }
.sec-head--split{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
}

.lk{
  display:inline-block; position:relative; color:var(--fg);
  font-size:.94rem; padding-bottom:2px;
}
.lk::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:currentColor; transform-origin:right; transform:scaleX(0);
  transition:transform .5s var(--ease);
}
.lk:hover::after{ transform-origin:left; transform:scaleX(1); }
.lk--arrow{
  font-family:"Azeret Mono", monospace; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--acc);
}
.lk--arrow::before{ content:"↗ "; }

/* ── buttons ───────────────────────────────────────────────── */
.btn{
  --bg:transparent; --bc:var(--line); --c:var(--fg);
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  height:52px; padding:0 30px; border:1px solid var(--bc); background:var(--bg); color:var(--c);
  font-family:"Azeret Mono", monospace; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; cursor:pointer; overflow:hidden; isolation:isolate;
  transition:color .45s var(--ease), border-color .45s var(--ease);
}
.btn::before{
  content:""; position:absolute; inset:0; background:var(--acc); z-index:-1;
  transform:translateY(101%); transition:transform .55s var(--ease);
}
.btn:hover{ color:var(--ink); border-color:var(--acc); }
.btn:hover::before{ transform:translateY(0); }
.btn--solid{ --bg:var(--acc); --bc:var(--acc); --c:var(--ink); }
.btn--solid::before{ background:var(--fg); }
.btn--sm{ height:40px; padding:0 20px; }
.btn--ghost{ --bc:color-mix(in srgb, var(--fg) 28%, transparent); }

/* ── intro curtain ─────────────────────────────────────────── */
.intro{
  position:fixed; inset:0; z-index:300; background:var(--ink);
  display:grid; place-items:center; gap:22px; grid-auto-flow:row;
  transition:clip-path 1s var(--ease-io) .15s;
  clip-path:inset(0 0 0 0);
}
.intro__mark{
  font-weight:600; font-stretch:118%; letter-spacing:.34em; font-size:13px;
  text-transform:uppercase; color:var(--fg-dim);
}
.intro__bar{ width:min(280px, 46vw); height:1px; background:var(--line); overflow:hidden; }
.intro__bar i{ display:block; height:100%; width:0; background:var(--acc); transition:width .9s var(--ease-io); }
body.intro-run .intro__bar i{ width:100%; }
body.intro-done .intro{ clip-path:inset(0 0 100% 0); pointer-events:none; }

/* ── header ────────────────────────────────────────────────── */
.hdr{
  position:fixed; inset:0 0 auto; z-index:120;
  transition:background .5s var(--ease), backdrop-filter .5s var(--ease);
}
.hdr.is-stuck{
  background:color-mix(in srgb, var(--ink) 82%, transparent);
  backdrop-filter:blur(14px) saturate(140%);
}
.hdr.is-hidden{ transform:translateY(-100%); transition:transform .5s var(--ease); }
.hdr__in{
  max-width:var(--maxw); margin-inline:auto; padding:0 var(--gutter);
  height:76px; display:flex; align-items:center; gap:clamp(16px,4vw,56px);
}
.hdr__rule{ height:1px; background:var(--line-soft); position:relative; }
.hdr__rule i{
  position:absolute; inset:0 auto 0 0; width:0; background:var(--acc);
  transition:width .1s linear;
}

.brand{ display:flex; align-items:center; gap:10px; }
.brand__mark{ width:17px; height:17px; color:var(--acc); flex:none; }
.brand__wm{
  font-weight:600; font-stretch:116%; font-size:1.06rem; letter-spacing:.02em;
}
.brand__sg{
  font-family:"Azeret Mono", monospace; font-size:9px; letter-spacing:.14em;
  color:var(--fg-mute); align-self:flex-start; margin-top:2px;
}

.hdr__nav{ display:flex; gap:clamp(14px, 2vw, 34px); margin-left:auto; }
.hdr__nav a{
  font-family:"Azeret Mono", monospace; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--fg-dim); position:relative; padding:4px 0;
  transition:color .35s var(--ease);
}
.hdr__nav a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:var(--acc); transform:scaleX(0); transform-origin:right;
  transition:transform .45s var(--ease);
}
.hdr__nav a:hover{ color:var(--fg); }
.hdr__nav a:hover::after{ transform:scaleX(1); transform-origin:left; }

.hdr__act{ display:flex; align-items:center; gap:14px; }

.menu-btn{
  display:inline-flex; align-items:center; gap:10px; height:40px; padding:0 4px 0 14px;
  background:none; border:0; cursor:pointer;
  font-family:"Azeret Mono", monospace; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase;
}
.menu-btn__ico{ width:26px; height:12px; position:relative; }
.menu-btn__ico i{
  position:absolute; left:0; height:1px; width:100%; background:var(--fg);
  transition:transform .45s var(--ease), width .45s var(--ease);
}
.menu-btn__ico i:nth-child(1){ top:3px; }
.menu-btn__ico i:nth-child(2){ top:8px; width:66%; }
.menu-btn:hover .menu-btn__ico i:nth-child(2){ width:100%; }
body.menu-open .menu-btn__ico i:nth-child(1){ transform:translateY(2.5px) rotate(45deg); }
body.menu-open .menu-btn__ico i:nth-child(2){ transform:translateY(-2.5px) rotate(-45deg); width:100%; }

/* ── menu overlay ──────────────────────────────────────────── */
.menu{
  position:fixed; inset:0; z-index:110; background:var(--ink-1);
  clip-path:inset(0 0 100% 0); transition:clip-path .8s var(--ease-io);
  display:flex; align-items:center; overflow-y:auto;
  padding:110px var(--gutter) 48px;
}
body.menu-open .menu{ clip-path:inset(0 0 0 0); }
.menu__grid{
  width:100%; max-width:var(--maxw); margin-inline:auto;
  display:grid; grid-template-columns:1.6fr .9fr; gap:clamp(32px, 6vw, 110px);
  align-items:start;
}
.menu__main{ display:flex; flex-direction:column; border-top:1px solid var(--line-soft); }
.menu__main a{
  display:flex; align-items:baseline; gap:clamp(14px,2vw,30px);
  padding:clamp(11px,1.5vw,20px) 0; border-bottom:1px solid var(--line-soft);
  opacity:0; transform:translateY(22px);
  transition:opacity .6s var(--ease), transform .7s var(--ease), color .35s var(--ease);
}
body.menu-open .menu__main a{ opacity:1; transform:none; }
.menu__main a em{
  font-family:"Azeret Mono", monospace; font-style:normal; font-size:10px;
  letter-spacing:.14em; color:var(--fg-mute); flex:none; width:22px;
}
.menu__main a span{
  font-size:clamp(1.6rem, 4.2vw, 3.4rem); font-weight:500; font-stretch:110%;
  letter-spacing:-.025em; line-height:1;
  transition:transform .5s var(--ease);
}
.menu__main a:hover{ color:var(--acc); }
.menu__main a:hover span{ transform:translateX(14px); }

.menu__side{ display:flex; flex-direction:column; gap:clamp(22px,3vw,40px); padding-top:10px; }
.menu__blk .lbl{ display:block; margin-bottom:10px; }
.menu__blk address, .menu__blk .lk{ display:block; color:var(--fg-dim); font-size:.95rem; }
.menu__blk .lk{ margin-top:2px; }
.menu__soc{ display:flex; flex-direction:column; gap:3px; }
.menu__soc a{ color:var(--fg-dim); font-size:.95rem; transition:color .3s; }
.menu__soc a:hover{ color:var(--acc); }

/* ── reveal ────────────────────────────────────────────────── */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform 1s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal-lines .ln{ display:block; overflow:hidden; padding-bottom:.2em; margin-bottom:-.2em; }
.reveal-lines .ln > span{ display:block; transform:translateY(105%); transition:transform 1.05s var(--ease); }
.reveal-lines.in .ln > span{ transform:none; }
.reveal-lines .ln:nth-child(2) > span{ transition-delay:.08s; }
.reveal-lines .ln:nth-child(3) > span{ transition-delay:.16s; }
.reveal-lines .ln:nth-child(4) > span{ transition-delay:.24s; }
.reveal-lines .ln:nth-child(5) > span{ transition-delay:.32s; }

/* ══ HERO ══════════════════════════════════════════════════ */
.hero{
  position:relative; min-height:100svh; display:flex; flex-direction:column;
  justify-content:flex-end; padding-top:130px; overflow:hidden;
}
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media img{
  width:100%; height:100%; object-fit:cover; object-position:50% 66%;
  filter:saturate(.28) contrast(1.06) brightness(.42);
  transform:scale(1.06); will-change:transform;
}
.hero__canvas{ position:absolute; inset:0; width:100%; height:100%; opacity:.5; }
.hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(to top, var(--ink) 2%, color-mix(in srgb, var(--ink) 30%, transparent) 46%, color-mix(in srgb, var(--ink) 72%, transparent) 100%),
    linear-gradient(to right, color-mix(in srgb, var(--ink) 78%, transparent), transparent 62%);
}
.hero__in{
  position:relative; z-index:1; width:100%; max-width:var(--maxw);
  margin-inline:auto; padding-inline:var(--gutter); padding-bottom:clamp(28px,4vw,54px);
}
.hero__eyebrow{
  display:flex; gap:clamp(14px,3vw,40px); align-items:center; flex-wrap:wrap;
  padding-bottom:clamp(16px,2.4vw,30px); margin-bottom:clamp(12px,2vw,26px);
  border-bottom:1px solid var(--line-soft);
}
.hero__h{
  font-size:var(--t-display); font-weight:600; font-stretch:116%;
  line-height:.85; letter-spacing:-.042em; text-transform:none;
}
.hero__h em{ font-style:normal; color:var(--acc); }
.hero__foot{
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end;
  gap:clamp(20px,4vw,60px); margin-top:clamp(26px,3.4vw,48px);
}
.hero__lede{ max-width:46ch; color:var(--fg-dim); font-size:var(--t-lede); line-height:1.45; }
.hero__cta{ display:flex; gap:10px; flex-wrap:wrap; }
.hero__strip{
  position:relative; z-index:1; width:100%; max-width:var(--maxw);
  margin-inline:auto; padding:16px var(--gutter);
  display:flex; align-items:center; gap:clamp(14px,3vw,48px); flex-wrap:wrap;
  border-top:1px solid var(--line-soft);
}
.arr{ font-style:normal; display:inline-block; animation:bob 2.4s var(--ease-io) infinite; }
@keyframes bob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(4px); } }

/* ── ticker ────────────────────────────────────────────────── */
.ticker{
  border-block:1px solid var(--line-soft); overflow:hidden; padding:14px 0;
  background:var(--ink-1);
}
.ticker__track{ display:flex; width:max-content; animation:slide 46s linear infinite; }
.ticker__track span{
  display:flex; align-items:center; white-space:nowrap;
  font-family:"Azeret Mono", monospace; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--fg-dim);
}
.ticker__track i{ display:inline-block; width:8px; height:8px; margin:0 clamp(22px,3vw,44px); border:1px solid var(--acc); transform:rotate(45deg); }
@keyframes slide{ to{ transform:translateX(-50%); } }

/* ══ STATEMENT ═════════════════════════════════════════════ */
.stmt{ padding-block:var(--sec); }
.stmt__t{
  font-size:clamp(1.6rem, 4.1vw, 3.75rem); font-weight:400; font-stretch:104%;
  line-height:1.1; letter-spacing:-.028em; max-width:min(100%, 1080px);
}
.stmt__note{
  margin-top:clamp(34px,4vw,64px); padding-top:22px; border-top:1px solid var(--line-soft);
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:start;
}
.stmt__note p{ max-width:52ch; color:var(--fg-dim); }

/* ══ CAPABILITY ════════════════════════════════════════════ */
.cap{ padding-block:var(--sec); border-top:1px solid var(--line-soft); }
.cap .wrap{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,33%);
  gap:clamp(30px,4.5vw,80px); align-items:start;
}
.cap .sec-head{ grid-column:1 / -1; margin-bottom:clamp(6px,1vw,18px); }
.cap__list{ border-top:1px solid var(--line); }
.cap__row{
  position:relative; display:grid;
  grid-template-columns:44px minmax(0,1fr); column-gap:clamp(14px,2vw,28px);
  padding:clamp(24px,3vw,44px) 0; border-bottom:1px solid var(--line-soft);
  cursor:default; transition:border-color .4s var(--ease);
}
.cap__row::before{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background:var(--acc); transform:scaleX(0); transform-origin:left;
  transition:transform .7s var(--ease);
}
.cap__row.is-on::before{ transform:scaleX(1); }
.cap__idx{ padding-top:.75em; }
.cap__name{
  font-size:clamp(1.9rem, 4vw, 3.3rem); font-weight:500; font-stretch:112%;
  line-height:1; letter-spacing:-.03em;
  transition:color .4s var(--ease), transform .5s var(--ease);
}
.cap__row.is-on .cap__name{ color:var(--acc); }
.cap__desc{ grid-column:2; margin-top:14px; max-width:50ch; color:var(--fg-dim); }
.cap__tags{
  grid-column:2; display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;
}
.cap__tags li{
  font-family:"Azeret Mono", monospace; font-size:10px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--fg-mute);
  border:1px solid var(--line-soft); padding:6px 11px;
}
.cap__arr{
  position:absolute; right:0; top:clamp(24px,3vw,44px); color:var(--fg-mute);
  transition:color .4s var(--ease), transform .5s var(--ease);
}
.cap__row.is-on .cap__arr{ color:var(--acc); transform:translate(3px,-3px); }
.cap__view{
  position:sticky; top:120px; aspect-ratio:4/5; overflow:hidden;
  border:1px solid var(--line-soft); background:var(--ink-1);
}
.cap__view img{
  width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.02);
  transition:opacity .5s var(--ease), transform 1.2s var(--ease);
}
.cap__view.is-swap img{ opacity:0; transform:scale(1.05); }

/* ══ WORK ══════════════════════════════════════════════════ */
.work{ padding-block:var(--sec); border-top:1px solid var(--line-soft); }
.work__index{ position:relative; border-top:1px solid var(--line); }
.work__row{
  position:relative; display:grid; align-items:center;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:clamp(14px,2.4vw,36px);
  padding:clamp(20px,2.6vw,38px) var(--gutter);
  max-width:var(--maxw); margin-inline:auto;
  border-bottom:1px solid var(--line-soft);
  transition:background .5s var(--ease);
}
.work__index::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:0;
}
.work__row::before{
  content:""; position:absolute; left:0; bottom:-1px; width:100%; height:1px;
  background:var(--acc); transform:scaleX(0); transform-origin:left;
  transition:transform .8s var(--ease);
}
.work__row:hover::before{ transform:scaleX(1); }
.work__idx{ color:var(--fg-mute); }
.work__name{
  font-size:clamp(1.45rem, 3.5vw, 3rem); font-weight:500; font-stretch:110%;
  line-height:1.05; letter-spacing:-.03em;
  transition:color .4s var(--ease), transform .55s var(--ease);
}
.work__row:hover .work__name{ color:var(--acc); transform:translateX(12px); }
.work__meta{ text-align:right; }
.work__arr{ color:var(--fg-mute); transition:color .4s var(--ease), transform .5s var(--ease); }
.work__row:hover .work__arr{ color:var(--acc); transform:translate(3px,-3px); }
.work__thumb{ display:none; }
.work__preview{
  position:fixed; top:0; left:0; width:clamp(240px, 22vw, 360px); aspect-ratio:4/5;
  z-index:60; pointer-events:none; overflow:hidden;
  opacity:0; transform:translate3d(-50%,-50%,0) scale(.92);
  transition:opacity .45s var(--ease), transform .7s var(--ease);
}
.work__preview.is-on{ opacity:1; transform:translate3d(-50%,-50%,0) scale(1); }
.work__preview img{ width:100%; height:100%; object-fit:cover; }

/* ══ PROCESS ═══════════════════════════════════════════════ */
.proc{ padding-block:var(--sec); border-top:1px solid var(--line-soft); }
.proc__list{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(22px,3vw,54px); }
.proc__item{ position:relative; padding-top:26px; border-top:1px solid var(--line); }
.proc__n{
  font-family:"Azeret Mono", monospace; font-size:11px; letter-spacing:.16em;
  color:var(--acc); display:block; margin-bottom:clamp(28px,4.2vw,72px);
}
.proc__item h3{
  font-size:var(--t-h3); font-weight:500; font-stretch:108%; letter-spacing:-.02em;
  margin-bottom:12px;
}
.proc__item p{ color:var(--fg-dim); max-width:38ch; }
.proc__rule{
  position:absolute; top:-1px; left:0; height:1px; width:0; background:var(--acc);
  transition:width 1.1s var(--ease) .1s;
}
.proc__item.in .proc__rule{ width:100%; }

/* ══ QUOTE ═════════════════════════════════════════════════ */
.quote{ background:var(--paper); color:var(--paper-ink); padding-block:clamp(78px,10vw,170px); }
.quote .lbl{ color:color-mix(in srgb, var(--paper-ink) 55%, transparent); }
.quote__b{
  font-size:clamp(2rem, 6.6vw, 6.4rem); font-weight:500; font-stretch:106%;
  line-height:.98; letter-spacing:-.04em; font-style:italic; max-width:16ch;
}
.quote__c{
  margin-top:clamp(28px,3.4vw,54px); padding-top:18px;
  border-top:1px solid color-mix(in srgb, var(--paper-ink) 18%, transparent);
  display:flex; gap:clamp(14px,2vw,30px); flex-wrap:wrap;
}

/* ══ STORY ═════════════════════════════════════════════════ */
.story{ padding-block:var(--sec); }
.story__grid{
  display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1fr);
  gap:clamp(32px,5vw,96px); align-items:start;
}
.story__media{ position:sticky; top:118px; }
.story__media img{ width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(.9) contrast(1.02); }
.story__media figcaption{ margin-top:12px; }
.story__copy{ display:grid; gap:18px; color:var(--fg-dim); max-width:56ch; }
.facts{
  margin-top:clamp(34px,4vw,58px); margin-bottom:clamp(26px,3vw,40px);
  border-top:1px solid var(--line);
}
.facts > div{
  display:grid; grid-template-columns:minmax(120px,.34fr) minmax(0,1fr); gap:16px;
  padding:14px 0; border-bottom:1px solid var(--line-soft);
}
.facts dt{
  font-family:"Azeret Mono", monospace; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--fg-mute); padding-top:3px;
}
.facts dd{ font-size:.98rem; }

/* ══ INSPIRATION ═══════════════════════════════════════════ */
.insp{ position:relative; overflow:hidden; padding-block:clamp(96px,13vw,220px); }
.insp__media{ position:absolute; inset:0; }
.insp__media img{ width:100%; height:100%; object-fit:cover; filter:saturate(.3) brightness(.36); }
.insp__media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to right, var(--ink), color-mix(in srgb, var(--ink) 35%, transparent) 70%);
}
.insp__in{ position:relative; }
.insp__t{
  font-size:clamp(2rem, 5.6vw, 5.4rem); font-weight:500; font-stretch:112%;
  line-height:.96; letter-spacing:-.035em; margin:.35em 0 .55em;
}
.insp__p{ max-width:44ch; color:var(--fg-dim); font-size:var(--t-lede); margin-bottom:clamp(24px,3vw,40px); }

/* ══ NEWS ══════════════════════════════════════════════════ */
.news{ padding-block:var(--sec); border-top:1px solid var(--line-soft); }
.news__grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(20px,2.4vw,42px); }
.news__item{ display:flex; }
.news__item a{ display:flex; flex-direction:column; width:100%; }
.news__item .lk--arrow{ margin-top:auto; align-self:flex-start; }
.news__item figure{ overflow:hidden; margin-bottom:20px; background:var(--ink-2); }
.news__item img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  transition:transform 1.1s var(--ease), filter .6s var(--ease);
  filter:saturate(.72);
}
.news__item a:hover img{ transform:scale(1.045); filter:saturate(1); }
.news__item h3{
  font-size:var(--t-h3); font-weight:500; font-stretch:106%; letter-spacing:-.022em;
  line-height:1.12; margin:10px 0 12px; transition:color .4s var(--ease);
}
.news__item a:hover h3{ color:var(--acc); }
.news__item p{ color:var(--fg-dim); font-size:.96rem; margin-bottom:18px; max-width:42ch; }

/* ══ CLIENTS ═══════════════════════════════════════════════ */
.clients{ padding-block:clamp(64px,7.5vw,130px); border-top:1px solid var(--line-soft); }
.clients .sec-head{ margin-bottom:clamp(24px,3vw,44px); }
.marq{ overflow:hidden; border-block:1px solid var(--line-soft); padding:clamp(16px,2vw,30px) 0; }
.marq__track{ display:flex; width:max-content; animation:slide 40s linear infinite; }
.marq__track span{
  display:flex; align-items:center; white-space:nowrap;
  font-size:clamp(1.5rem,3.4vw,3rem); font-weight:400; font-stretch:106%;
  letter-spacing:-.025em; color:color-mix(in srgb, var(--fg) 52%, transparent);
}
.marq__track i{ display:inline-block; width:6px; height:6px; margin:0 clamp(20px,2.6vw,40px); background:var(--acc); }
.clients__list{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  margin-top:clamp(26px,3vw,48px); border-top:1px solid var(--line-soft);
}
.clients__list li{
  padding:15px 0; border-bottom:1px solid var(--line-soft);
  font-size:.95rem; color:var(--fg-dim);
}

/* ══ CONTACT ═══════════════════════════════════════════════ */
.cta{ padding-block:var(--sec); border-top:1px solid var(--line-soft); }
.cta__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.86fr); gap:clamp(36px,5vw,100px); align-items:start; }
.cta__t{
  font-size:clamp(2.1rem, 5.6vw, 5.2rem); font-weight:500; font-stretch:112%;
  line-height:.96; letter-spacing:-.038em; margin:.4em 0 .5em;
}
.cta__t em{ font-style:normal; color:var(--acc); }
.cta__p{ max-width:40ch; color:var(--fg-dim); font-size:var(--t-lede); }
.cta__info{
  margin-top:clamp(34px,4vw,60px); padding-top:22px; border-top:1px solid var(--line);
  display:grid; grid-template-columns:repeat(auto-fit, minmax(170px,1fr)); gap:26px;
}
.cta__info .lbl{ display:block; margin-bottom:9px; }
.cta__info address, .cta__info .lk{ display:block; color:var(--fg-dim); font-size:.95rem; }

.form{ display:grid; gap:18px; }
.form__row{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }
.fld{ display:grid; gap:8px; }
.fld input, .fld select, .fld textarea{
  width:100%; background:transparent; border:0; border-bottom:1px solid var(--line);
  padding:11px 0; font-size:1rem; border-radius:0;
  transition:border-color .4s var(--ease);
}
.fld select{ -webkit-appearance:none; appearance:none; cursor:pointer; }
.fld select option{ background:var(--ink-1); color:var(--fg); }
.fld textarea{ resize:vertical; }
.fld input::placeholder, .fld textarea::placeholder{ color:var(--fg-mute); }
.fld input:focus, .fld select:focus, .fld textarea:focus{ outline:none; border-color:var(--acc); }
.fld:focus-within .lbl{ color:var(--acc); }
.form .btn{ justify-self:start; margin-top:8px; }
.form__note{ font-family:"Azeret Mono", monospace; font-size:11px; letter-spacing:.1em; color:var(--acc); min-height:1.2em; }

/* ══ FOOTER ════════════════════════════════════════════════ */
.ftr{ border-top:1px solid var(--line); padding-top:clamp(44px,5vw,80px); padding-bottom:30px; }
.ftr__top{
  display:flex; align-items:flex-end; justify-content:space-between; gap:32px;
  flex-wrap:wrap; padding-bottom:clamp(36px,4.4vw,70px);
}
.ftr__wm{
  font-size:clamp(3rem, 12vw, 11rem); font-weight:600; font-stretch:122%;
  line-height:.82; letter-spacing:-.045em; color:var(--fg);
  transition:color .5s var(--ease);
}
.ftr__wm:hover{ color:var(--acc); }
.ftr__sub{ min-width:min(300px, 100%); }
.ftr__sub .lbl{ display:block; margin-bottom:12px; }
.sub{ display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line); }
.sub input{ flex:1; background:none; border:0; padding:10px 0; font-size:.98rem; }
.sub input:focus{ outline:none; }
.sub input::placeholder{ color:var(--fg-mute); }
.sub button{
  background:none; border:0; cursor:pointer; font-size:1.1rem; padding:6px 4px;
  transition:color .35s var(--ease), transform .45s var(--ease);
}
.sub button:hover{ color:var(--acc); transform:translateX(4px); }
.sub__note{ font-family:"Azeret Mono", monospace; font-size:10px; letter-spacing:.1em; color:var(--acc); margin-top:8px; min-height:1.1em; }

.ftr__cols{
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:clamp(18px,2.4vw,36px);
  padding:clamp(30px,3.4vw,52px) 0; border-top:1px solid var(--line-soft);
}
.ftr__cols > div{ display:flex; flex-direction:column; gap:7px; }
.ftr__cols .lbl{ margin-bottom:8px; }
.ftr__cols a, .ftr__cols address{ color:var(--fg-dim); font-size:.93rem; transition:color .3s; }
.ftr__cols a:hover{ color:var(--acc); }
.ftr__base{
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  padding-top:22px; border-top:1px solid var(--line-soft);
}

/* ══ RESPONSIVE ════════════════════════════════════════════ */
@media (max-width: 1180px){
  .cap .wrap{ grid-template-columns:1fr; }
  .cap__view{ display:none; }
  .ftr__cols{ grid-template-columns:repeat(3, minmax(0,1fr)); row-gap:34px; }
  .clients__list{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 1000px){
  .hdr__nav{ display:none; }
  .news__grid{ grid-template-columns:1fr; gap:44px; }
  .news__item p{ max-width:56ch; }
  .story__grid{ grid-template-columns:1fr; }
  .story__media{ position:static; }
  .story__media img{ aspect-ratio:16/10; }
  .cta__grid{ grid-template-columns:1fr; }
  .menu__grid{ grid-template-columns:1fr; gap:44px; }
  .proc__list{ grid-template-columns:1fr; }
  .proc__n{ margin-bottom:18px; }
  .proc__item p{ max-width:60ch; }
}
@media (max-width: 860px){
  .hero__foot{ grid-template-columns:1fr; align-items:start; }
  .stmt__note{ grid-template-columns:1fr; }
  .work__preview{ display:none; }
  .work__row{ grid-template-columns:auto minmax(0,1fr); row-gap:14px; padding-block:22px; }
  .work__idx{ grid-row:1; }
  .work__name{ grid-row:1; }
  .work__meta{ grid-column:1 / -1; grid-row:3; text-align:left; }
  .work__arr{ display:none; }
  .work__thumb{
    display:block; grid-column:1 / -1; grid-row:2;
    width:100%; aspect-ratio:16/10; object-fit:cover; margin-top:6px;
  }
  .work__row:hover .work__name{ transform:none; }
  .marq__track span{ font-size:clamp(1.3rem,6vw,2rem); }
}
@media (max-width: 640px){
  .hdr__in{ height:64px; }
  .sec-head--split{ flex-direction:column; align-items:flex-start; gap:16px; }
  .hero__cta{ width:100%; }
  .hero__cta .btn{ flex:1 1 150px; padding-inline:16px; }
  .btn--sm{ display:none; }
  .hero{ padding-top:104px; }
  .hero__strip .lbl:nth-child(2), .hero__strip .lbl:nth-child(3){ display:none; }
  .form__row{ grid-template-columns:1fr; }
  .ftr__cols{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .facts > div{ grid-template-columns:1fr; gap:4px; }
  .marq{ display:none; }
  .clients__list{ grid-template-columns:repeat(2, minmax(0,1fr)); margin-top:0; }
  .cap__row{ grid-template-columns:34px minmax(0,1fr); }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal{ opacity:1; transform:none; }
  .reveal-lines .ln > span{ transform:none; }
  .intro{ display:none; }
}
