/* =========================================================
   Metanine Strategies — styles
   Palette: one tone throughout: deep green-black ground,
   bone text, champagne accent. Type: Fraunces / Hanken Grotesk / DM Mono.
   ========================================================= */

:root{
  --green-950:#070E0C;
  --green-900:#0B1512;
  --green-800:#11211C;
  --green-700:#1B3129;
  --bone:#EFE9DD;
  --limestone:#E6DECD;
  --limestone-deep:#D8CDB6;
  --champagne:#D3BD8F;
  --champagne-deep:#6F5731;

  /* live theme tokens (dark default) */
  --bg:var(--green-900);
  --fg:var(--bone);
  --fg-muted:rgba(239,233,221,.62);
  --fg-faint:rgba(239,233,221,.36);
  --line:rgba(239,233,221,.14);
  --line-strong:rgba(239,233,221,.34);
  --accent:var(--champagne);
  --accent-soft:rgba(211,189,143,.16);
  --surface:rgba(239,233,221,.035);
  --surface-hover:rgba(239,233,221,.07);
  --btn-bg:var(--bone);
  --btn-fg:var(--green-900);
  --btn-hover-bg:var(--champagne);
  --btn-hover-fg:var(--green-900);

  --font-display:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --font-body:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --font-mono:"DM Mono","SF Mono",Menlo,Consolas,monospace;

  --container:1480px;
  --gutter:clamp(1.25rem,4.5vw,4.5rem);
  --section:clamp(6rem,12vw,11rem);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --theme-dur:.9s;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:dark}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--font-body);
  font-weight:300;
  font-size:1.0625rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
::selection{background:var(--champagne);color:var(--green-900)}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:300;font-optical-sizing:auto;letter-spacing:-.015em;text-wrap:balance}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul{list-style:none;margin:0;padding:0}
dl{margin:0}
svg{display:block}
:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px}

.container{width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto}
.mono{font-family:var(--font-mono);font-weight:400;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.45em .8em;color:var(--fg-muted);transition:color var(--theme-dur) ease}
.eyebrow>span{white-space:nowrap}
.eyebrow .sep{margin:0}
@media (max-width:600px){.hide-sm{display:none}}
.eyebrow::before{content:"";width:1.75rem;height:1px;background:var(--accent);flex:none;transition:background-color var(--theme-dur) ease}
.sep{color:var(--accent);margin-inline:.4em;transition:color var(--theme-dur) ease}

/* word masks for split headings */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .08em .14em;margin:0 -.08em -.14em}
.wi{display:inline-block;will-change:transform}

/* brand mark */
.mark{fill:currentColor}
.mark .mark__nine{fill:var(--champagne)}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:100;background:var(--green-950);color:var(--bone);display:grid;place-items:center}
.loader__inner{display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.loader__name{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.01em}
.loader__name span{font-style:italic;color:var(--champagne)}
.loader__count{position:absolute;right:var(--gutter);bottom:var(--gutter);font-size:clamp(2rem,4vw,3rem);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--bone)}
.loader__tag{position:absolute;left:var(--gutter);bottom:calc(var(--gutter) + .6rem);color:rgba(239,233,221,.45)}
.mark--loader .mark__dot{transform-origin:center;transform-box:fill-box;fill:var(--bone)}
.mark--loader .mark__dot--nine{fill:var(--champagne)}

/* ---------- cursor & grain ---------- */
.cursor,.cursor-dot{position:fixed;top:0;left:0;pointer-events:none;z-index:90;border-radius:50%;opacity:0}
.cursor{width:34px;height:34px;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;transition:width .4s var(--ease-out),height .4s var(--ease-out),background-color .4s ease,border-color .4s ease}
.cursor.is-active{width:64px;height:64px;background:var(--accent-soft)}
.cursor.has-label{width:86px;height:86px;background:var(--champagne);border-color:var(--champagne)}
.cursor__label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green-900);opacity:0;transition:opacity .2s ease}
.cursor.has-label .cursor__label{opacity:1}
.cursor.has-label+.cursor-dot{visibility:hidden}
.cursor-dot{width:6px;height:6px;background:var(--accent)}
@media (hover:none),(pointer:coarse){.cursor,.cursor-dot{display:none}}

.grain{position:fixed;inset:-60%;z-index:80;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:260px 260px;animation:grain 1.1s steps(5) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-6%,4%)}40%{transform:translate(5%,-6%)}60%{transform:translate(-4%,7%)}80%{transform:translate(7%,2%)}100%{transform:translate(0,0)}}

/* ---------- navigation ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem var(--gutter);
  transition:transform .65s var(--ease-out),background-color .5s ease,padding .5s ease,border-color .5s ease,color var(--theme-dur) ease}
.nav.is-scrolled{padding-block:.85rem;background:color-mix(in srgb,var(--bg) 74%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav.is-hidden{transform:translateY(-100%)}
.nav__brand{display:flex;align-items:center;gap:.85rem}
.nav__word{font-family:var(--font-display);font-size:1.3rem;letter-spacing:-.01em;white-space:nowrap}
.nav__word em{color:var(--accent);transition:color var(--theme-dur) ease}
.nav__links{display:flex;gap:2.4rem}
.nav__links a{position:relative;font-size:.9rem;font-weight:400;color:var(--fg-muted);transition:color .3s ease}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:-.35em;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}
.nav__links a:hover{color:var(--fg)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__burger{display:none;width:44px;height:44px;position:relative;margin-right:-10px}
.nav__burger span{position:absolute;left:10px;right:10px;height:1px;background:var(--fg);transition:transform .5s var(--ease-out),top .5s var(--ease-out)}
.nav__burger span:first-child{top:18px}
.nav__burger span:last-child{top:26px}
.nav__burger.is-open span:first-child{top:22px;transform:rotate(45deg)}
.nav__burger.is-open span:last-child{top:22px;transform:rotate(-45deg)}
@media (max-width:900px){.nav__links,.nav__cta.btn{display:none}.nav__burger{display:block}}

.menu{position:fixed;inset:0;z-index:65;background:var(--green-950);color:var(--bone);clip-path:inset(0 0 100% 0);visibility:hidden}
.menu__inner{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:7rem var(--gutter) 2.5rem}
.menu__links{display:flex;flex-direction:column;gap:.5rem}
.menu__links a{display:flex;align-items:baseline;gap:1.2rem;font-family:var(--font-display);font-size:clamp(2.4rem,9vw,4.2rem);line-height:1.15;letter-spacing:-.02em}
.menu__links a .mono{color:var(--champagne);font-size:.7rem}
.menu__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;color:rgba(239,233,221,.6)}
.menu__social{display:inline-flex;gap:1.5rem}
.menu__foot a{color:var(--bone)}

/* ---------- buttons & links ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:1.05rem 2rem;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);
  font-weight:500;font-size:.92rem;letter-spacing:.01em;overflow:hidden;isolation:isolate;white-space:nowrap;
  transition:color .45s ease,background-color var(--theme-dur) ease}
.btn span{position:relative;z-index:1}
.btn::before{content:"";position:absolute;inset:0;z-index:0;background:var(--btn-hover-bg);border-radius:inherit;transform:translateY(102%);transition:transform .6s var(--ease-out),background-color var(--theme-dur) ease}
.btn:hover::before{transform:translateY(0)}
.btn:hover{color:var(--btn-hover-fg)}
.btn--small{padding:.72rem 1.3rem;font-size:.82rem}

.link-arrow{display:inline-flex;align-items:center;gap:.8rem;font-weight:400;font-size:.95rem;color:var(--fg)}
.link-arrow span{position:relative;padding-bottom:.15em}
.link-arrow span::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.5;transform:scaleX(1);transform-origin:left;transition:transform .5s var(--ease-out),opacity .3s}
.link-arrow:hover span::after{opacity:1}
.link-arrow i{position:relative;width:1.7rem;height:1px;background:var(--accent);transition:width .45s var(--ease-out)}
.link-arrow i::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:rotate(45deg)}
.link-arrow:hover i{width:2.8rem}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:9rem;padding-bottom:2.25rem;overflow:hidden}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;
  -webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
.hero__glow{position:absolute;z-index:0;width:70vmax;height:70vmax;right:-28vmax;top:-30vmax;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(211,189,143,.14),transparent 72%);filter:blur(24px)}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,1fr);column-gap:1.5rem;row-gap:0;align-items:end}
.hero__grid .eyebrow{grid-column:1/-1;margin-bottom:1.5rem}
.hero__title{grid-column:1/-1;font-size:clamp(3.1rem,8.6vw,9.4rem);line-height:.96;letter-spacing:-.03em;max-width:9.6em}
.hero__title em{color:var(--accent)}
.hero__lower{grid-column:1/span 6;display:flex;flex-direction:column;gap:2.2rem;margin-top:3rem}
.hero__sub{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.55;color:var(--fg-muted);max-width:46ch}
.hero__cta{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.hero__questions{grid-column:8/span 5;display:flex;flex-direction:column;gap:1.1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.rotator{position:relative;height:3.1em;font-family:var(--font-display);font-size:clamp(1.35rem,1.9vw,1.85rem);font-style:italic;line-height:1.3;letter-spacing:-.01em}
.rotator__item{position:absolute;inset:0;opacity:0;will-change:transform,opacity,filter}
.rotator__item.is-active{opacity:1}
.hero__foot{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;margin-top:5rem;color:var(--fg-muted)}
.hero__time{font-variant-numeric:tabular-nums}
.scroll-cue{display:flex;align-items:center;gap:.9rem}
.scroll-cue i{display:block;width:3.5rem;height:1px;background:var(--line-strong);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;inset:0;background:var(--accent);transform:translateX(-100%);animation:cue 2.4s var(--ease-in-out) infinite}
@keyframes cue{0%{transform:translateX(-100%)}50%{transform:translateX(0)}100%{transform:translateX(100%)}}
@media (max-width:900px){
  .hero{padding-top:7rem}
  .hero__lower,.hero__questions{grid-column:1/-1}
  .hero__lower{margin-top:2.2rem}
  .hero__questions{margin-top:2.2rem}
  .hero__foot{margin-top:3.5rem}
}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.3rem 0;transition:border-color var(--theme-dur) ease}
.marquee__track{display:flex;align-items:center;width:max-content;will-change:transform}
.marquee__track>*{margin-right:3rem;flex:none}
.marquee__track span{font-family:var(--font-display);font-size:clamp(1.3rem,2.1vw,1.9rem);font-style:italic;white-space:nowrap;color:var(--fg-muted);letter-spacing:-.01em}
.marquee__track i{width:6px;height:6px;background:var(--accent);transform:rotate(45deg)}

/* ---------- sections ---------- */
.section{padding-block:var(--section);position:relative}
.section__head{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.h2{font-size:clamp(2.2rem,4.7vw,4.7rem);line-height:1.04;letter-spacing:-.022em;max-width:15em;margin-bottom:clamp(3rem,6vw,5.5rem)}
.h2 em{color:var(--accent)}
.h2--tight{margin-bottom:0}

/* manifesto */
.nines{font-size:clamp(.9rem,1.6vw,1.25rem);letter-spacing:.22em;color:var(--fg-faint);font-variant-numeric:tabular-nums}
.manifesto__text{font-family:var(--font-display);font-size:clamp(1.7rem,3.35vw,3.3rem);line-height:1.22;letter-spacing:-.012em;max-width:31ch;text-wrap:pretty}
.manifesto__text em{color:var(--accent)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:clamp(4rem,8vw,7rem);padding-top:2.5rem;border-top:1px solid var(--line)}
.fact{display:flex;flex-direction:column;gap:.9rem}
.fact__label{color:var(--accent)}
.fact__value{font-size:1.05rem;line-height:1.5;max-width:30ch}
@media (max-width:760px){.facts{grid-template-columns:1fr;gap:1.75rem}}

/* services */
.svc-list{border-top:1px solid var(--line)}
.svc{border-bottom:1px solid var(--line)}
.svc__head{display:grid;grid-template-columns:2.5rem minmax(0,1.1fr) minmax(0,1fr) 3rem;align-items:center;gap:1.5rem;width:100%;text-align:left;padding:2.1rem 0}
.svc__glyph{width:8px;height:8px;border:1px solid var(--accent);transform:rotate(45deg);transition:background-color .4s ease,transform .7s var(--ease-out)}
.svc__head:hover .svc__glyph,.svc.is-open .svc__glyph{background:var(--accent);transform:rotate(225deg)}
.svc__title{font-family:var(--font-display);font-size:clamp(1.65rem,2.8vw,2.6rem);line-height:1.1;letter-spacing:-.018em;transition:transform .6s var(--ease-out)}
.svc__head:hover .svc__title{transform:translateX(.4rem)}
.svc__summary{color:var(--fg-muted);font-size:1rem;line-height:1.5;max-width:42ch}
.svc__icon{position:relative;width:2.6rem;height:2.6rem;border:1px solid var(--line-strong);border-radius:50%;justify-self:end;transition:background-color .4s ease,border-color .4s ease}
.svc__icon::before,.svc__icon::after{content:"";position:absolute;top:50%;left:50%;width:.9rem;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .5s var(--ease-out)}
.svc__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.svc__head:hover .svc__icon{background:var(--accent-soft);border-color:var(--accent)}
.svc.is-open .svc__icon::after{transform:translate(-50%,-50%) rotate(0deg)}
.svc__body{height:0;overflow:hidden}
.svc__body-inner{display:grid;grid-template-columns:2.5rem minmax(0,1.1fr) minmax(0,1fr) 3rem;gap:1.5rem;padding:0 0 2.6rem}
.svc__body-inner p{grid-column:2;font-size:1.05rem;line-height:1.6;max-width:50ch}
.svc__body-inner .tags{grid-column:3;display:flex;flex-wrap:wrap;gap:.6rem;align-content:flex-start}
.tags li{padding:.5rem .85rem;border:1px solid var(--line);border-radius:999px;font-size:.64rem;color:var(--fg-muted);transition:border-color .3s ease,color .3s ease}
.tags li:hover{border-color:var(--accent);color:var(--fg)}
@media (max-width:900px){
  .svc__head{grid-template-columns:1.25rem minmax(0,1fr) 2.4rem;gap:.6rem 1rem;padding:1.5rem 0;align-items:start}
  .svc__glyph{margin-top:.75rem}
  .svc__summary{grid-column:2;grid-row:2}
  .svc__icon{grid-column:3;grid-row:1/span 2;align-self:center;width:2.4rem;height:2.4rem}
  .svc__body-inner{grid-template-columns:1.25rem minmax(0,1fr) 2.4rem;gap:1.25rem 1rem}
  .svc__body-inner p,.svc__body-inner .tags{grid-column:2}
}
html.no-motion .svc__body{height:auto}
html.no-motion .svc:not(.is-open) .svc__body{display:none}

/* approach (pinned horizontal) */
.steps{position:relative;height:100svh;display:flex;flex-direction:column;justify-content:center;gap:clamp(2rem,5vh,4rem);overflow:hidden}
.steps__head{display:flex;flex-direction:column;gap:1.25rem}
.steps__head .section__head{margin-bottom:0}
.steps__progress{height:1px;background:var(--line);margin-top:1.25rem;position:relative}
.steps__progress i{position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left}
.steps__track{display:flex;align-items:stretch;gap:clamp(2rem,6vw,7rem);padding-left:max(var(--gutter),calc((100vw - var(--container))/2));will-change:transform}
.step{position:relative;flex:none;width:clamp(300px,36vw,560px);padding-top:3.2rem}
.step--end{width:var(--gutter);padding:0}
.step__ghost{position:absolute;top:-.28em;left:-.04em;font-family:var(--font-display);font-size:clamp(7rem,14vw,15rem);line-height:1;color:var(--fg);opacity:.055;pointer-events:none;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.step__inner{position:relative;display:flex;flex-direction:column;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--line-strong)}
.step__num{color:var(--accent)}
.step__title{font-size:clamp(2.3rem,4vw,3.7rem);line-height:1;letter-spacing:-.022em}
.step p{color:var(--fg-muted);font-size:1.05rem;line-height:1.55;max-width:38ch}
@media (max-width:899px){
  .steps{height:auto;padding-block:var(--section);gap:3rem}
  .steps__track{flex-direction:column;padding-inline:var(--gutter);gap:3.5rem}
  .step{width:100%;padding-top:2.6rem}
  .step--end,.steps__progress{display:none}
}

/* clients */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;perspective:1400px}
.card{position:relative;border:1px solid var(--line);border-radius:4px;background:var(--surface);transform-style:preserve-3d;overflow:hidden;--mx:50%;--my:50%;
  transition:border-color .4s ease,background-color .4s ease}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(520px circle at var(--mx) var(--my),var(--accent-soft),transparent 46%);opacity:0;transition:opacity .5s ease}
.card:hover{border-color:var(--line-strong);background:var(--surface-hover)}
.card:hover::before{opacity:1}
.card__inner{position:relative;padding:2.4rem 2.2rem;display:flex;flex-direction:column;gap:1.3rem;height:100%}
.card__title{font-size:clamp(1.65rem,2.2vw,2.15rem);line-height:1.1}
.card p{color:var(--fg-muted);font-size:1rem;line-height:1.55;flex:1}
.card__list{display:flex;flex-direction:column;gap:.6rem;padding-top:1.25rem;border-top:1px solid var(--line);color:var(--fg-muted)}
.card__list li{display:flex;align-items:center;gap:.75rem}
.card__list li::before{content:"";width:5px;height:5px;background:var(--accent);transform:rotate(45deg);flex:none}
.models{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:clamp(3rem,6vw,5rem);padding-top:2.5rem;border-top:1px solid var(--line)}
.model{display:flex;flex-direction:column;gap:.85rem}
.model__label{color:var(--accent)}
.model__value{font-size:1.03rem;line-height:1.5;max-width:30ch}
@media (max-width:900px){.cards,.models{grid-template-columns:1fr}}

/* principles */
.principles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4vw,4rem)}
.principle{display:flex;flex-direction:column;gap:1.25rem;padding-top:1.75rem;border-top:1px solid var(--line-strong)}
.principle__title{font-size:clamp(2.1rem,3.4vw,3.3rem);line-height:1;letter-spacing:-.022em;font-style:italic}
.principle p{color:var(--fg-muted);font-size:1.05rem;line-height:1.55;max-width:34ch}
@media (max-width:800px){.principles__grid{grid-template-columns:1fr}}

/* contact */
.contact{padding-bottom:clamp(4.5rem,8vw,7rem)}
.contact__title{font-size:clamp(2.7rem,7vw,7.4rem);line-height:.98;letter-spacing:-.03em;max-width:10.5em;margin-bottom:clamp(3rem,6vw,5rem)}
.contact__title em{color:var(--accent)}
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding-top:2.75rem;border-top:1px solid var(--line)}
.contact__col{display:flex;flex-direction:column;gap:2.2rem;align-items:flex-start}
.contact__sub{color:var(--fg-muted);font-size:1.1rem;line-height:1.55;max-width:42ch}
.contact__social{display:flex;flex-wrap:wrap;gap:1rem 3rem}
.contact__social a{position:relative;display:inline-flex;align-items:baseline;gap:.6em;font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.4rem);letter-spacing:-.015em;padding-bottom:.18em;transition:color .35s ease}
.contact__social a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform-origin:left;transition:transform .6s var(--ease-out)}
.contact__social a:hover{color:var(--accent)}
.contact__social a .mono{font-size:.62rem;color:var(--fg-muted);letter-spacing:.14em;text-transform:none;transition:color .35s ease}
.contact__social a:hover .mono{color:var(--accent)}
.contact__meta{display:flex;flex-direction:column;gap:.85rem}
.contact__meta div{display:grid;grid-template-columns:7rem 1fr;gap:1rem}
.contact__meta dt{color:var(--fg-faint)}
.contact__meta dd{margin:0;color:var(--fg-muted);font-variant-numeric:tabular-nums}
@media (max-width:800px){.contact__grid{grid-template-columns:1fr}}

/* footer */
.footer{position:relative;overflow:hidden;background:var(--green-950);color:var(--bone);padding-top:4rem;border-top:1px solid rgba(239,233,221,.1)}
.footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem;align-items:start;padding-bottom:3rem}
.footer__brand{display:flex;gap:1rem;align-items:center}
.footer__brand .mark{fill:var(--bone)}
.footer__name{font-family:var(--font-display);font-size:1.4rem}
.footer__name em{color:var(--champagne)}
.footer__legal{font-size:.85rem;color:rgba(239,233,221,.55)}
.footer__links{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.9rem;color:rgba(239,233,221,.7)}
.footer__links a{transition:color .3s ease}
.footer__links a:hover{color:var(--bone)}
.footer__meta{display:flex;flex-direction:column;gap:.6rem;color:rgba(239,233,221,.45);text-align:right;letter-spacing:.08em}
.footer__big{pointer-events:none;user-select:none;line-height:.72;font-family:var(--font-display);font-size:clamp(6rem,21vw,21rem);letter-spacing:-.045em;color:rgba(239,233,221,.045);text-align:center;white-space:nowrap;transform:translateY(.16em)}
@media (max-width:800px){.footer__grid{grid-template-columns:1fr}.footer__meta{text-align:left}}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  .grain,.scroll-cue i::after{animation:none}
  .loader{display:none}
  .rotator__item{transition:none}
}
