/* =========================================================
   NOA hub — brand fonts
   ========================================================= */
@font-face{
  font-family:"Cabinet Grotesk";
  src:url("../fonts/CabinetGrotesk-Thin.otf") format("opentype");
  font-weight:100; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Cabinet Grotesk";
  src:url("../fonts/CabinetGrotesk-Extralight.otf") format("opentype");
  font-weight:200; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Cabinet Grotesk";
  src:url("../fonts/CabinetGrotesk-Light.otf") format("opentype");
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Cabinet Grotesk";
  src:url("../fonts/CabinetGrotesk-Regular.otf") format("opentype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Cabinet Grotesk";
  src:url("../fonts/CabinetGrotesk-Medium.otf") format("opentype");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Cabinet Grotesk";
  src:url("../fonts/CabinetGrotesk-Bold.otf") format("opentype");
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Cabinet Grotesk";
  src:url("../fonts/CabinetGrotesk-Extrabold.otf") format("opentype");
  font-weight:800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Cabinet Grotesk";
  src:url("../fonts/CabinetGrotesk-Black.otf") format("opentype");
  font-weight:900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Neue Haas Grotesk";
  src:url("../fonts/NHaasGroteskTXPro-55Rg.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Neue Haas Grotesk";
  src:url("../fonts/NHaasGroteskTXPro-65Md.ttf") format("truetype");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Neue Haas Grotesk";
  src:url("../fonts/NHaasGroteskTXPro-75Bd.ttf") format("truetype");
  font-weight:700; font-style:normal; font-display:swap;
}

/* =========================================================
   Tokens
   ========================================================= */
:root{
  --ink:#111110;
  --ink-soft:#514F49;
  --paper:#FBFBF9;
  --paper-alt:#F1F0EA;
  --line:#E2E0D8;
  --accent:#2A2DFF;
  --accent-ink:#161899;
  --accent-soft:#E9E9FF;

  --display:"Cabinet Grotesk", "Helvetica Neue", Arial, sans-serif;
  --body:"Neue Haas Grotesk", "Helvetica Neue", Arial, sans-serif;

  --wrap:1180px;
  --gap:clamp(1.25rem, 3vw, 2.5rem);
  --radius:22px;

  --ease:cubic-bezier(.16,.8,.24,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}

.wrap{
  max-width:var(--wrap);
  margin:0 auto;
  padding:0 clamp(1.25rem, 4vw, 3rem);
}

.eyebrow{
  font-family:var(--body);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  color:var(--accent);
  margin:0 0 .9rem;
}
.eyebrow--light{color:var(--accent);}

.section-title{
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(1.7rem, 3.4vw, 2.7rem);
  line-height:1.14;
  letter-spacing:-.01em;
  margin:0 0 3rem;
  max-width:24ch;
}

/* =========================================================
   Reveal on scroll
   ========================================================= */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal.is-visible{opacity:1; transform:none;}

/* =========================================================
   Nav
   ========================================================= */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(251,251,249,.82);
  backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.nav.is-scrolled{border-bottom-color:var(--line);}
.nav__row{
  display:flex; align-items:center; justify-content:space-between;
  height:74px;
}
.nav__logo img{height:26px; width:auto;}
.nav__links{display:flex; align-items:center; gap:2.1rem;}
.nav__links a{
  font-size:.92rem; font-weight:500;
  color:var(--ink);
  position:relative;
  padding:.2rem 0;
}
.nav__links a:not(.nav__cta)::after{
  content:"";
  position:absolute; left:0; right:100%; bottom:-2px; height:1.5px;
  background:var(--accent);
  transition:right .28s var(--ease);
}
.nav__links a:not(.nav__cta):hover::after{right:0;}
.nav__links a.is-active:not(.nav__cta){color:var(--accent);}
.nav__links a.is-active:not(.nav__cta)::after{right:0;}
.nav__cta{
  background:var(--ink);
  color:var(--paper) !important;
  padding:.6rem 1.15rem;
  border-radius:100px;
  font-weight:600 !important;
  transition:background .25s var(--ease), transform .25s var(--ease);
}
.nav__cta:hover{background:var(--accent); transform:translateY(-1px);}
.nav__burger{
  display:none; flex-direction:column; gap:5px;
  background:none; border:0; cursor:pointer; padding:8px;
}
.nav__burger span{width:22px; height:2px; background:var(--ink); display:block;}

/* =========================================================
   Page hero (sub-pages)
   ========================================================= */
.page-hero{
  position:relative;
  padding:clamp(3rem, 8vw, 6rem) 0 clamp(2.2rem, 5vw, 3.2rem);
  overflow:hidden;
}
.page-hero__title{
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(2.2rem, 5.5vw, 3.8rem);
  line-height:1.04;
  letter-spacing:-.02em;
  margin:0 0 1.1rem;
  max-width:18ch;
}
.page-hero__lede{
  color:var(--ink-soft);
  max-width:56ch;
  font-size:clamp(1rem,1.4vw,1.12rem);
  margin:0;
}
.page-hero__ring{
  position:absolute;
  width:min(46vw,520px); height:min(46vw,520px);
  border-radius:50%;
  border:1px solid #E6E6FF;
  top:-30%; right:-14%;
  pointer-events:none;
}

.section-foot{
  margin-top:2.6rem;
}
.see-more{
  display:inline-flex; align-items:center; gap:.4rem;
  font-weight:600; font-size:.95rem;
  color:var(--accent-ink);
  border-bottom:1.5px solid var(--accent);
  padding-bottom:.15rem;
  transition:gap .25s var(--ease), color .25s var(--ease);
}
.see-more:hover{gap:.7rem; color:var(--accent);}

.teaser-row{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:2rem; flex-wrap:wrap;
  margin-bottom:2.6rem;
}
.teaser-row .section-title{margin-bottom:0;}

/* =========================================================
   Hero
   ========================================================= */
.hero{
  position:relative;
  padding:clamp(3.5rem, 9vw, 7.5rem) 0 clamp(3rem, 7vw, 5rem);
  overflow:hidden;
}
.hero__ring{
  position:absolute;
  border-radius:50%;
  border:1px solid var(--line);
  pointer-events:none;
}
.hero__ring--a{
  width:min(64vw, 780px); height:min(64vw, 780px);
  top:-22%; right:-18%;
  border-color:#E6E6FF;
}
.hero__ring--b{
  width:min(30vw, 360px); height:min(30vw, 360px);
  bottom:-14%; left:-9%;
  border-color:var(--line);
}
.hero__inner{position:relative; z-index:1;}
.hero__title{
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(2.4rem, 6.6vw, 5.2rem);
  line-height:1.02;
  letter-spacing:-.02em;
  margin:0 0 1.8rem;
}
.hero__title span{display:block;}
.hero__title--accent{color:var(--accent);}
.hero__lede{
  font-size:clamp(1.02rem, 1.6vw, 1.2rem);
  color:var(--ink-soft);
  max-width:42ch;
  margin:0 0 2.2rem;
}
.hero .eyebrow{color:var(--ink);}
.hero__actions{display:flex; gap:.9rem; flex-wrap:wrap;}

.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.9rem 1.6rem;
  border-radius:100px;
  font-weight:600; font-size:.95rem;
  transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.btn--primary{background:var(--ink); color:var(--paper);}
.btn--primary:hover{background:var(--accent); transform:translateY(-2px);}
.btn--ghost{border:1px solid var(--line); color:var(--ink);}
.btn--ghost:hover{border-color:var(--ink); transform:translateY(-2px);}
.btn--light{background:#fff; color:var(--ink);}
.btn--light:hover{background:var(--accent); color:#fff; transform:translateY(-2px);}
.btn--ghost-light{border:1px solid rgba(255,255,255,.28); color:#fff;}
.btn--ghost-light:hover{border-color:#fff; transform:translateY(-2px);}

/* =========================================================
   Stats
   ========================================================= */
.stats{
  padding:clamp(2.5rem,5vw,3.5rem) 0 clamp(1.25rem,2.5vw,1.75rem);
  background:var(--paper-alt);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.has-home-opening .stats{
  border-top:none;
  padding-top:clamp(1rem,2vw,1.5rem);
}
.stats__row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.stat{
  text-align:center;
  padding:clamp(.25rem,1vw,.5rem) 1rem;
  position:relative;
}
.stat:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:clamp(32px,6vw,48px);
  background:var(--line);
}
.stat__num{
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(1.8rem,3.6vw,2.5rem);
  line-height:1;
  letter-spacing:-.03em;
  margin:0 0 .35rem;
  color:var(--ink);
}
.stat__plus{color:var(--accent);}
.stat__label{
  margin:0;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:600;
  color:var(--ink-soft);
}

/* =========================================================
   About / Superpowers
   ========================================================= */
.about{padding:clamp(3rem,7vw,6rem) 0;}
.powers{
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap);
}
.power{
  padding:2.2rem 1.9rem;
  background:var(--paper-alt);
  border-radius:var(--radius);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.power:hover{transform:translateY(-4px); box-shadow:0 18px 40px -22px rgba(17,17,16,.25);}
.power__mark{
  width:40px; height:40px; border-radius:50%;
  border:1.5px solid var(--accent);
  color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:800; font-size:1rem;
  margin-bottom:1.3rem;
}
.power h3{
  font-family:var(--display); font-size:1.15rem; font-weight:700;
  margin:0 0 .6rem;
}
.power p{margin:0; color:var(--ink-soft); font-size:.96rem;}
.power ul{
  margin:0; padding:0; list-style:none;
  color:var(--ink-soft); font-size:.96rem;
}
.power li + li{margin-top:.35rem;}

/* =========================================================
   Expertise
   ========================================================= */
.expertise{padding:clamp(3rem,7vw,6rem) 0; background:var(--paper-alt);}
.exp-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap);
}
.exp-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:2.2rem 1.9rem 2.4rem;
  transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.exp-card:hover{border-color:var(--accent); transform:translateY(-4px);}
.exp-card__no{
  display:inline-block;
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em;
  color:var(--accent-ink);
  background:var(--accent-soft);
  padding:.3rem .7rem; border-radius:100px;
  margin-bottom:1.1rem;
}
.exp-card h3{
  font-family:var(--display); font-weight:700; font-size:1.35rem;
  margin:0 0 1.1rem;
}
.exp-card ul{margin:0; padding:0; list-style:none;}
.exp-card li{
  padding:.55rem 0;
  border-top:1px solid var(--line);
  font-size:.95rem; color:var(--ink-soft);
}
.exp-card li:first-child{border-top:none;}

/* =========================================================
   Marquee
   ========================================================= */
.marquee-section{padding:clamp(3rem,7vw,6rem) 0 clamp(2rem,5vw,3.5rem);}
.has-home-opening .marquee-section{background:transparent;}
.marquee-section--strip{padding-top:0;}
.marquee-section--strip .marquee{margin-top:0;}
.marquee-section .section-title{max-width:34ch;}
.marquee{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;
  margin-top:1rem;
  background:var(--paper);
}
.marquee__track{
  display:flex;
  width:max-content;
  animation:scroll 55s linear infinite;
}
.marquee__track span{
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(1.6rem,4vw,2.6rem);
  color:#9C9C97;
  padding:1.6rem clamp(1.6rem,3vw,2.6rem);
  white-space:nowrap;
}
@keyframes scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* =========================================================
   Work
   ========================================================= */
.work{padding:clamp(3rem,7vw,6rem) 0;}
.work-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--gap);
}
.case{
  padding:0;
  border-radius:0;
  border:1px solid var(--line);
  overflow:hidden;
  background:var(--paper);
  transition:box-shadow .3s var(--ease), transform .3s var(--ease);
}
.case:hover{box-shadow:0 22px 46px -28px rgba(17,17,16,.28); transform:translateY(-4px);}
.case__media{
  aspect-ratio:1233/1080;
  background:linear-gradient(135deg, var(--accent-soft) 0%, var(--paper-alt) 100%);
  overflow:hidden;
  position:relative;
}
.case__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .65s var(--ease);
}
.case:hover .case__media img{transform:scale(1.04);}
.case__media.is-placeholder::after{
  content:attr(data-label);
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
  text-align:center;
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(1rem,2vw,1.35rem);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(42,45,255,.28);
}
.case__body{padding:2rem 2rem 2.4rem;}
.case__head{
  display:flex; flex-direction:column; gap:.4rem;
  margin-bottom:1.3rem;
  padding-bottom:1.1rem;
  border-bottom:1px solid var(--line);
}
.case__head h3{
  font-family:var(--display); font-weight:700; font-size:1.3rem; margin:0;
}
.case__tags{font-size:.8rem; color:var(--accent); font-weight:600;}
.case__label{
  text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:700;
  color:var(--ink-soft); margin:1rem 0 .35rem;
}
.case__label:first-of-type{margin-top:0;}
.case p:not(.case__label){margin:0; font-size:.96rem; color:var(--ink);}

/* =========================================================
   Contact
   ========================================================= */
.contact{
  position:relative;
  background:var(--ink);
  color:var(--paper);
  padding:clamp(4rem,10vw,8rem) 0;
  overflow:hidden;
  text-align:center;
}
.contact__ring{
  position:absolute;
  width:min(70vw,760px); height:min(70vw,760px);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.contact__ring::before{
  content:"";
  position:absolute; inset:64px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
}
.contact__inner{position:relative; z-index:1;}
.contact__title{
  font-family:var(--display); font-weight:800;
  font-size:clamp(2.1rem,5.4vw,3.6rem);
  line-height:1.06; letter-spacing:-.02em;
  margin:0 0 2rem;
}
.contact__email{
  display:inline-block;
  font-family:var(--display); font-weight:700;
  font-size:clamp(1.3rem,3vw,1.8rem);
  border-bottom:2px solid var(--accent);
  padding-bottom:.15rem;
  transition:color .25s var(--ease), border-color .25s var(--ease);
}
.contact__email:hover{color:var(--accent);}
.contact__url{color:#9C9C97; margin:1rem 0 0; font-size:.95rem;}

/* =========================================================
   Footer
   ========================================================= */
.footer{background:var(--ink); color:#B9B9B4; padding:2.2rem 0;}
.footer__row{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  flex-wrap:wrap;
  font-size:.85rem;
}
.footer__logo{height:20px; width:auto; opacity:.85;}
.footer__row a{color:#B9B9B4; transition:color .2s var(--ease);}
.footer__row a:hover{color:var(--paper);}

/* =========================================================
   Homepage opening slide only
   ========================================================= */
.has-home-opening .nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
}
.has-home-opening .nav.nav--over-opening{
  background:transparent;
  backdrop-filter:none;
  border-bottom-color:transparent;
}
.has-home-opening .nav.nav--over-opening.is-scrolled{
  border-bottom-color:var(--line);
}
.has-home-opening .nav:not(.nav--over-opening){
  background:rgba(251,251,249,.82);
  backdrop-filter:blur(10px);
}

.home-rings{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.home-rings__drift{
  position:absolute;
  inset:0;
  will-change:transform;
}
.home-rings .hero__ring{
  position:absolute;
}
.home-rings__drift--a{
  will-change:transform;
}
.home-rings .hero__ring--a{
  width:min(58vw, 520px);
  height:min(58vw, 520px);
  top:-18%;
  right:-16%;
  border-width:1.5px;
  border-color:rgba(42,45,255,.18);
  border-radius:50%;
  overflow:visible;
}
.home-rings .hero__ring--a::before{
  content:"";
  position:absolute;
  inset:10%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(42,45,255,.09) 0%, rgba(42,45,255,.02) 52%, transparent 72%);
  opacity:var(--ring-glow, .45);
  pointer-events:none;
}
.hero__ring__ripple{
  position:absolute;
  top:50%;
  left:50%;
  width:94%;
  height:94%;
  border-radius:50%;
  border:1.75px solid rgba(42,45,255,.36);
  transform:translate(-50%, -50%) scale(.9);
  opacity:0;
  pointer-events:none;
  will-change:transform, opacity;
}
.hero__ring__ripple--1{border-color:rgba(42,45,255,.48); border-width:1.75px;}
.hero__ring__ripple--2{border-color:rgba(42,45,255,.42); border-width:1.75px;}
.hero__ring__ripple--3{border-color:rgba(42,45,255,.38);}
.hero__ring__ripple--4{border-color:rgba(42,45,255,.34);}
.hero__ring__ripple--5{border-color:rgba(42,45,255,.3);}
.hero__ring__ripple--6{border-color:rgba(42,45,255,.26);}
.hero__ring__ripple--7{border-color:rgba(42,45,255,.22);}
.home-rings .hero__ring--b{
  width:min(28vw, 280px);
  height:min(28vw, 280px);
  bottom:-14%;
  left:-10%;
  border-width:1px;
  border-color:rgba(42,45,255,.06);
}

.has-home-opening .home-opening,
.has-home-opening .home-bridge,
.has-home-opening .stats,
.has-home-opening .about,
.has-home-opening .marquee-section,
.has-home-opening .work,
.has-home-opening .contact,
.has-home-opening .footer{
  position:relative;
  z-index:1;
}

.home-opening{
  position:relative;
  min-height:auto;
  display:flex; align-items:flex-start;
  padding:clamp(11rem,38vh,17rem) 0 clamp(5.5rem,18vh,10rem);
  overflow:hidden;
  background:transparent;
  z-index:1;
}
.home-opening__content{
  position:relative; z-index:1;
  width:100%;
}
.home-opening__title{
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(2.4rem,6.6vw,5.2rem);
  line-height:1.02;
  letter-spacing:-.02em;
  margin:0 0 2.2rem;
  color:var(--ink);
  max-width:18ch;
}
.home-opening__line{display:block;}
.home-opening__line--accent .home-opening__word{color:var(--accent);}
.home-opening__word{
  display:inline-block;
  opacity:0;
  filter:blur(32px);
  transform:translateY(.55em) scale(1.04);
  transition:
    opacity 1.75s cubic-bezier(.16,.8,.24,1),
    filter 1.85s cubic-bezier(.16,.8,.24,1),
    transform 1.75s cubic-bezier(.16,.8,.24,1);
  will-change:opacity, filter, transform;
}
.home-opening__word.is-in{
  opacity:1;
  filter:blur(0);
  transform:none;
}
.home-opening__actions{
  display:flex; gap:.9rem; flex-wrap:wrap;
  opacity:0;
  animation:homeActionsIn 1.25s cubic-bezier(.16,.8,.24,1) 3.8s forwards;
}

.home-bridge{
  position:relative; z-index:2;
  background:var(--paper-alt);
  padding:clamp(1.25rem,2.5vw,1.75rem) 0 clamp(1.4rem,3vw,2rem);
  border-bottom:1px solid var(--line);
}
.home-bridge__inner{
  max-width:36rem;
  margin:0 auto;
  text-align:center;
}
.home-bridge__eyebrow{
  font-family:var(--body);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:clamp(.88rem,1.35vw,1.05rem);
  color:var(--accent);
  margin:0 0 1.1rem;
}
.home-bridge__eyebrow::after{
  display:none;
}
.home-bridge__lede{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(1.15rem,2.1vw,1.65rem);
  line-height:1.4;
  letter-spacing:-.015em;
  color:var(--ink);
  margin:0;
}

@keyframes homeActionsIn{
  from{opacity:0; transform:translateY(18px);}
  to{opacity:1; transform:none;}
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:900px){
  .powers, .exp-grid{grid-template-columns:1fr;}
  .has-home-opening .nav.nav--over-opening .nav__links{background:var(--paper);}
  .nav__links{
    position:fixed; inset:74px 0 0 0;
    background:var(--paper);
    flex-direction:column; align-items:flex-start;
    padding:2rem clamp(1.25rem,4vw,3rem);
    gap:1.4rem;
    transform:translateY(-8px);
    opacity:0; visibility:hidden;
    transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
  }
  .nav__links.is-open{opacity:1; visibility:visible; transform:none;}
  .nav__links a{font-size:1.1rem;}
  .nav__burger{display:flex;}
}
@media (max-width:480px){
  .work-grid{grid-template-columns:1fr;}
  .stats__row{grid-template-columns:repeat(3,1fr); gap:0;}
  .stat{padding:clamp(.25rem,.5vw,.5rem) .25rem;}
  .stat__num{font-size:clamp(1.35rem,7vw,1.75rem);}
  .stat__label{font-size:clamp(.62rem,2.6vw,.72rem); letter-spacing:.1em;}
  .stat:not(:last-child)::after{height:clamp(24px,8vw,36px);}
  .contact__ring::before{inset:34px;}
}
