/* ==========================================================================
   ZIMAL ZAIN SERVICES & SOLUTIONS (SMC-PRIVATE) LIMITED
   Dark editorial design system — no framework, no build step.
   ========================================================================== */

/* --- Fonts (self-hosted, latin subset, variable) ------------------------- */
@font-face{
  font-family:'Archivo';src:url('../fonts/archivo-var.woff2') format('woff2');
  font-weight:400 800;font-stretch:62% 125%;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Inter';src:url('../fonts/inter-var.woff2') format('woff2');
  font-weight:300 700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Instrument Serif';src:url('../fonts/instrument-serif-italic.woff2') format('woff2');
  font-weight:400;font-style:italic;font-display:swap;
}

/* --- Tokens -------------------------------------------------------------- */
:root{
  /* colour */
  --ink:#0A0A0B;
  --ink-elev:#131316;
  --ink-warm:#17140F;
  --ink-deep:#060607;
  --line:rgba(255,255,255,.10);
  --line-soft:rgba(255,255,255,.06);
  --fg:#F4F2EE;
  --fg-mute:#9A9791;
  --brass:#D4B06A;
  --brass-dim:#8A7442;
  --brass-wash:rgba(212,176,106,.12);

  /* type */
  --display:'Archivo',"Helvetica Neue",Arial,sans-serif;
  --body:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;

  /* rhythm */
  --gutter:clamp(1.25rem,5vw,4.5rem);
  --maxw:1320px;
  --section-y:clamp(5rem,10vw,10rem);
  --radius:2px;

  /* motion */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);

  color-scheme:dark;
}

/* --- Reset --------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--ink);color:var(--fg);
  font-family:var(--body);font-size:clamp(1rem,.96rem + .18vw,1.0625rem);
  line-height:1.65;font-weight:350;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%}
img,video{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;padding:0}
:target{scroll-margin-top:6rem}

/* Focus — never removed, always visible on the dark ground */
:focus{outline:none}
:focus-visible{
  outline:2px solid var(--brass);outline-offset:3px;border-radius:var(--radius);
}

.skip-link{
  position:absolute;top:0;left:50%;transform:translate(-50%,-120%);
  background:var(--brass);color:#0A0A0B;padding:.75rem 1.5rem;z-index:200;
  font-weight:600;transition:transform .2s var(--ease);
}
.skip-link:focus-visible{transform:translate(-50%,0)}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* --- Typography ---------------------------------------------------------- */
.display{
  font-family:var(--display);font-weight:700;font-stretch:68%;
  text-transform:uppercase;line-height:.86;letter-spacing:-.005em;
  text-wrap:balance;
}
.display em{
  font-family:var(--serif);font-style:italic;font-weight:400;font-stretch:100%;
  text-transform:none;letter-spacing:-.01em;color:var(--brass);
  /* Serif lowercase reads optically smaller than condensed caps at the same
     size — 1.08em brings the two halves of the headline back into balance. */
  font-size:1.08em;line-height:.88;padding-right:.06em;
}
h1.display{font-size:clamp(2.1rem,6.3vw,6.1rem)}
h2.display{font-size:clamp(2.25rem,6vw,5.25rem);line-height:.9}
h3.display{font-size:clamp(1.6rem,3vw,2.6rem);line-height:.95}

.eyebrow{
  font-family:var(--body);font-size:.6875rem;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;color:var(--brass);
  display:flex;align-items:center;gap:.75rem;
}
.eyebrow::before{
  content:"";width:1.75rem;height:1px;background:var(--brass-dim);flex:none;
}
.eyebrow--plain::before{display:none}

.lede{
  font-size:clamp(1.0625rem,1rem + .5vw,1.375rem);line-height:1.6;
  color:var(--fg-mute);max-width:52ch;text-wrap:pretty;
}
.muted{color:var(--fg-mute)}

/* --- Layout -------------------------------------------------------------- */
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y);position:relative}
.section--warm{background:var(--ink-warm)}
.section--deep{background:var(--ink-deep)}
.rule{height:1px;background:var(--line);border:0}

.section-head{
  display:grid;gap:clamp(1.5rem,3vw,3rem);margin-bottom:clamp(3rem,6vw,5.5rem);
}
@media (min-width:900px){
  .section-head--split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end}
}
.section-head .eyebrow{margin-bottom:1.5rem}

/* --- Grain overlay ------------------------------------------------------- */
/* PLACEHOLDER: procedural noise. Swap for assets/img/texture-grain.png (A11). */
.grain{
  position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.5;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}

/* --- Buttons ------------------------------------------------------------- */
.btn{
  --btn-fg:#0A0A0B;--btn-bg:var(--brass);
  display:inline-flex;align-items:center;gap:.7rem;
  padding:.95rem 1.6rem;background:var(--btn-bg);color:var(--btn-fg);
  font-size:.8125rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--btn-bg);border-radius:var(--radius);cursor:pointer;
  transition:background .35s var(--ease),color .35s var(--ease),
             border-color .35s var(--ease),transform .35s var(--ease);
}
.btn:hover{background:transparent;color:var(--brass);transform:translateY(-2px)}
.btn__arrow{transition:transform .35s var(--ease)}
.btn:hover .btn__arrow{transform:translateX(4px)}
.btn--ghost{--btn-bg:transparent;--btn-fg:var(--fg);border-color:var(--line)}
.btn--ghost:hover{background:var(--fg);color:#0A0A0B;border-color:var(--fg)}
.btn--sm{padding:.7rem 1.15rem;font-size:.6875rem}

.textlink{
  display:inline-flex;align-items:center;gap:.55rem;color:var(--brass);
  font-size:.8125rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  padding-bottom:.35rem;border-bottom:1px solid var(--brass-dim);
  transition:border-color .3s var(--ease),gap .3s var(--ease);
}
.textlink:hover{border-color:var(--brass);gap:.9rem}

/* ==========================================================================
   NAV
   ========================================================================== */
.nav{
  position:fixed;inset:0 0 auto;z-index:100;
  transition:background .4s var(--ease),backdrop-filter .4s var(--ease),
             border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  background:rgba(10,10,11,.82);backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line);
}
.nav__inner{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding-block:clamp(1rem,1.8vw,1.6rem);
  transition:padding .4s var(--ease);
}
.nav.is-stuck .nav__inner{padding-block:.85rem}

/* Wordmark — PLACEHOLDER for A01 (assets/img/logo-wordmark.svg) */
.brand{display:flex;align-items:center;gap:.7rem;flex:none}
.brand__mark{
  width:32px;height:32px;flex:none;color:var(--brass);display:block;
  transition:color .35s var(--ease),transform .35s var(--ease);
}
.brand__mark svg{width:100%;height:100%;display:block}
.brand:hover .brand__mark{color:var(--fg);transform:translateX(2px)}
.brand__name{
  font-family:var(--display);font-weight:700;font-stretch:70%;text-transform:uppercase;
  font-size:1rem;line-height:1;letter-spacing:.04em;
}
.brand__name span{display:block;font-size:.5rem;letter-spacing:.24em;
  color:var(--fg-mute);font-weight:500;font-stretch:100%;margin-top:.28rem}

.nav__links{display:none;align-items:center;gap:clamp(1.25rem,2.4vw,2.4rem)}
@media (min-width:1000px){.nav__links{display:flex}}
.nav__link{
  position:relative;font-size:.75rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;padding-block:.4rem;color:var(--fg);
  transition:color .3s var(--ease);
}
.nav__link::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:var(--brass);transform:scaleX(0);transform-origin:right;
  transition:transform .4s var(--ease);
}
.nav__link:hover::after,.nav__link[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.nav__link[aria-current="page"]{color:var(--brass)}
.nav__cta{display:none}
@media (min-width:1000px){.nav__cta{display:inline-flex}}

/* Services dropdown */
.nav__item{position:relative}
.nav__toggle{
  background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;
}
.nav__toggle svg{transition:transform .3s var(--ease)}
.nav__item.is-open .nav__toggle svg{transform:rotate(180deg)}
.nav__menu{
  position:absolute;top:calc(100% + 1.1rem);left:50%;transform:translateX(-50%) translateY(-6px);
  min-width:270px;background:var(--ink-elev);border:1px solid var(--line);
  padding:.6rem;opacity:0;visibility:hidden;transition:opacity .28s var(--ease),
  transform .28s var(--ease),visibility .28s;box-shadow:0 24px 60px rgba(0,0,0,.6);
}
.nav__item.is-open .nav__menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav__menu a{
  display:flex;align-items:baseline;gap:.7rem;padding:.7rem .85rem;font-size:.875rem;
  color:var(--fg-mute);transition:background .25s var(--ease),color .25s var(--ease);
}
.nav__menu a:hover{background:var(--brass-wash);color:var(--fg)}
.nav__menu i{
  font-style:normal;font-family:var(--display);font-size:.625rem;font-stretch:70%;
  color:var(--brass-dim);letter-spacing:.1em;
}

/* Mobile menu */
.nav__burger{
  display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;background:none;border:0;cursor:pointer;padding:0 0 0 12px;
}
@media (min-width:1000px){.nav__burger{display:none}}
.nav__burger span{
  display:block;width:22px;height:1.5px;background:var(--fg);
  transition:transform .35s var(--ease),opacity .25s var(--ease);
}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.drawer{
  position:fixed;inset:0;z-index:99;background:var(--ink-deep);
  padding:7rem var(--gutter) 3rem;display:flex;flex-direction:column;
  justify-content:space-between;gap:3rem;
  opacity:0;visibility:hidden;transform:translateY(-1.5rem);
  transition:opacity .4s var(--ease),transform .5s var(--ease-out),visibility .4s;
  overflow-y:auto;
}
.drawer.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.drawer__links{display:flex;flex-direction:column;gap:.35rem}
.drawer__links a{
  font-family:var(--display);font-weight:700;font-stretch:70%;text-transform:uppercase;
  font-size:clamp(2rem,10vw,3rem);line-height:1.1;padding-block:.3rem;
  border-bottom:1px solid var(--line-soft);
  display:flex;align-items:baseline;justify-content:space-between;
}
.drawer__links a i{
  font-style:normal;font-family:var(--body);font-size:.625rem;font-stretch:100%;
  letter-spacing:.2em;color:var(--brass-dim);font-weight:500;
}
.drawer__foot{display:grid;gap:1.25rem;font-size:.875rem;color:var(--fg-mute)}
body.is-locked{overflow:hidden}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;
  justify-content:flex-end;overflow:hidden;isolation:isolate;
  padding-top:clamp(7rem,14vh,10rem);
}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img,.hero__media video{
  width:100%;height:100%;object-fit:cover;object-position:center 40%;
}
.hero__media video{position:absolute;inset:0;z-index:1}
.hero__media img{position:relative;z-index:2}
/* Scrim — keeps headline contrast above 7:1 regardless of the final plate */
.hero__media::after{
  content:"";position:absolute;inset:0;z-index:3;   /* must sit above video + poster */
  background:
    linear-gradient(180deg,rgba(10,10,11,.72) 0%,rgba(10,10,11,.28) 32%,rgba(10,10,11,.86) 78%,var(--ink) 100%),
    radial-gradient(115% 80% at 12% 78%,rgba(10,10,11,.72) 0%,transparent 62%);
}
/* The vertical hero plate carries its highlight mid-frame, right where the
   headline sits — deepen the scrim on narrow screens to hold contrast. */
@media (max-width:700px){
  .hero__media::after{
    background:
      linear-gradient(180deg,rgba(10,10,11,.72) 0%,rgba(10,10,11,.42) 22%,
                      rgba(10,10,11,.88) 55%,rgba(10,10,11,.96) 78%,var(--ink) 100%);
  }
}
.hero__body{position:relative;z-index:3;padding-bottom:clamp(2.5rem,5vw,4rem)}
.hero__grid{display:grid;gap:clamp(2rem,4vw,3.5rem)}
.hero h1{margin-bottom:0}
.hero__aside{display:grid;gap:1.75rem;justify-items:start}
@media (min-width:1000px){
  /* Headline takes the full measure — the supporting text sits under it,
     so no single word can ever out-run its column. */
  .hero__grid{gap:clamp(2rem,3.5vw,3rem)}
  .hero__aside{
    grid-template-columns:minmax(0,1fr) auto;align-items:end;
    justify-items:stretch;gap:2.5rem;
  }
  .hero__aside .btn{justify-self:end}
  .hero h1 .reveal-line>span{white-space:nowrap}
}

/* Line-by-line mask reveal */
.reveal-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.08em}
.reveal-line>span{display:block;will-change:transform}

.hero__foot{
  position:relative;z-index:3;border-top:1px solid var(--line);
  padding-block:1.15rem;display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;
}
.creds{
  display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);flex-wrap:wrap;
  font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);
}
.creds li{display:flex;align-items:center;gap:.55rem}
.creds b{color:var(--brass);font-weight:600}
.scroll-cue{
  display:none;align-items:center;gap:.65rem;font-size:.625rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--fg-mute);
}
@media (min-width:700px){.scroll-cue{display:flex}}
.scroll-cue__bar{
  width:44px;height:1px;background:var(--line);position:relative;overflow:hidden;
}
.scroll-cue__bar::after{
  content:"";position:absolute;inset:0;background:var(--brass);
  animation:cue 2.2s var(--ease) infinite;
}
@keyframes cue{0%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}

/* ==========================================================================
   MARQUEE
   ========================================================================== */
.marquee{
  border-block:1px solid var(--line);padding-block:1.5rem;overflow:hidden;
  background:var(--ink-deep);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee__track{display:flex;width:max-content;will-change:transform}
.marquee__group{display:flex;align-items:center;gap:clamp(2rem,4vw,3.5rem);padding-right:clamp(2rem,4vw,3.5rem)}
.marquee__item{
  font-family:var(--display);font-weight:600;font-stretch:70%;text-transform:uppercase;
  font-size:clamp(1.1rem,2.2vw,1.7rem);letter-spacing:.01em;color:var(--fg-mute);
  display:flex;align-items:center;gap:clamp(2rem,4vw,3.5rem);white-space:nowrap;
  transition:color .3s var(--ease);
}
.marquee__item::after{content:"";width:5px;height:5px;background:var(--brass-dim);border-radius:50%;flex:none}
.marquee:hover .marquee__item{color:var(--fg)}

/* ==========================================================================
   SERVICES — editorial index rows with cursor-follow image (desktop)
   ========================================================================== */
.svc-list{border-top:1px solid var(--line);position:relative}
.svc-row{
  position:relative;display:grid;gap:.4rem 2rem;align-items:baseline;
  grid-template-columns:auto 1fr;padding-block:clamp(1.6rem,3vw,2.4rem);
  border-bottom:1px solid var(--line);
  transition:padding-inline-start .5s var(--ease),background .5s var(--ease);
}
@media (min-width:900px){
  .svc-row{grid-template-columns:5.5rem minmax(0,1fr) minmax(0,22rem) auto;gap:2.5rem;align-items:center}
}
.svc-row:hover,.svc-row:focus-within{padding-inline-start:clamp(.5rem,1.5vw,1.5rem)}
.svc-row__num{
  font-family:var(--display);font-stretch:70%;font-weight:600;font-size:.75rem;
  letter-spacing:.16em;color:var(--brass-dim);transition:color .4s var(--ease);
}
.svc-row:hover .svc-row__num,.svc-row:focus-within .svc-row__num{color:var(--brass)}
.svc-row__title{
  font-family:var(--display);font-weight:700;font-stretch:70%;text-transform:uppercase;
  font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1;letter-spacing:-.005em;
  grid-column:1/-1;
}
@media (min-width:900px){.svc-row__title{grid-column:auto}}
.svc-row__desc{font-size:.9375rem;color:var(--fg-mute);line-height:1.6;grid-column:1/-1}
@media (min-width:900px){.svc-row__desc{grid-column:auto;font-size:.875rem}}
.svc-row__go{
  display:none;width:2.75rem;height:2.75rem;border:1px solid var(--line);
  place-items:center;color:var(--brass);flex:none;
  transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease);
}
@media (min-width:900px){.svc-row__go{display:grid}}
.svc-row:hover .svc-row__go,.svc-row:focus-within .svc-row__go{
  background:var(--brass);color:#0A0A0B;border-color:var(--brass);
}
.svc-row__link{position:absolute;inset:0;z-index:1}
.svc-row__link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Mobile thumbnail — always visible where there is no hover */
.svc-row__thumb{
  grid-column:1/-1;margin-top:.9rem;aspect-ratio:16/9;overflow:hidden;
  border:1px solid var(--line-soft);
}
.svc-row__thumb img{width:100%;height:100%;object-fit:cover}
@media (min-width:900px){.svc-row__thumb{display:none}}

/* Cursor-follow preview */
.svc-preview{
  position:fixed;top:0;left:0;width:min(24vw,22rem);aspect-ratio:4/3;
  pointer-events:none;z-index:6;opacity:0;overflow:hidden;
  border:1px solid var(--line);will-change:transform;display:none;
  box-shadow:0 30px 80px rgba(0,0,0,.65);
}
.svc-preview img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.9) brightness(.88);
  opacity:0;transition:opacity .4s var(--ease);
}
.svc-preview img.is-active{opacity:1}

/* ==========================================================================
   SEGMENTS — expanding panels (keyboard operable)
   ========================================================================== */
.segments{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:900px){
  /* Flexbox, not grid: flex-grow is the only reliably animatable sizing property here. */
  .segments{display:flex;min-height:31rem}
  .segment{flex:1 1 0;min-width:0;transition:flex-grow .65s var(--ease-out)}
  .segment:hover,.segment:focus-within{flex-grow:2.3}
}
.segment{
  position:relative;isolation:isolate;overflow:hidden;background:var(--ink-elev);
  min-height:16rem;display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(1.5rem,2.5vw,2.25rem);
}
.segment__media{position:absolute;inset:0;z-index:-1}
.segment__media img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) brightness(.55);
  transform:scale(1.06);
  transition:filter .7s var(--ease),transform .9s var(--ease-out);
}
.segment__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,11,.25) 0%,rgba(10,10,11,.55) 45%,rgba(10,10,11,.93) 100%);
}
.segment:hover .segment__media img,.segment:focus-within .segment__media img{
  filter:grayscale(0) brightness(.78);transform:scale(1);
}
.segment__num{
  position:absolute;top:clamp(1.5rem,2.5vw,2.25rem);left:clamp(1.5rem,2.5vw,2.25rem);
  font-family:var(--display);font-stretch:70%;font-weight:600;font-size:.6875rem;
  letter-spacing:.18em;color:var(--brass);
}
.segment__title{
  font-family:var(--display);font-weight:700;font-stretch:68%;text-transform:uppercase;
  font-size:clamp(1.4rem,2.3vw,2rem);line-height:.95;margin-bottom:.75rem;
}
.segment__desc{
  font-size:.875rem;color:var(--fg-mute);line-height:1.6;max-width:32ch;
}
@media (min-width:900px){
  .segment__desc{
    opacity:0;max-height:0;overflow:hidden;
    transition:opacity .45s var(--ease) .1s,max-height .6s var(--ease-out);
  }
  .segment:hover .segment__desc,.segment:focus-within .segment__desc{opacity:1;max-height:12rem}
}
.segment__link{position:absolute;inset:0;z-index:2}
.segment__link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ==========================================================================
   STATS
   ========================================================================== */
.stats{
  display:grid;gap:1px;background:var(--line);border-block:1px solid var(--line);
  grid-template-columns:repeat(2,1fr);
}
@media (min-width:900px){.stats{grid-template-columns:repeat(4,1fr)}}
/* Outer cells lose their side padding so the figures line up with the heading. */
@media (max-width:899px){
  .stat:nth-child(odd){padding-left:0}
  .stat:nth-child(even){padding-right:0}
}
@media (min-width:900px){
  .stat:first-child{padding-left:0}
  .stat:last-child{padding-right:0}
}
.stat{
  background:var(--ink);padding:clamp(1.75rem,4vw,3rem) clamp(1.25rem,2.5vw,2rem);
  display:grid;gap:.6rem;align-content:start;
}
.stat__num{
  font-family:var(--display);font-weight:700;font-stretch:66%;
  font-size:clamp(3rem,7.5vw,6rem);line-height:.85;color:var(--fg);
  display:flex;align-items:baseline;
}
.stat__num small{font-size:.42em;color:var(--brass);font-weight:600;margin-left:.06em}
.stat__label{
  font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);
}
.stat__note{font-size:.8125rem;color:var(--fg-mute);opacity:.75}

/* ==========================================================================
   PROCESS
   ========================================================================== */
.process{position:relative;display:grid;gap:0}
@media (min-width:900px){.process{grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}}
.process__track{
  position:absolute;left:0;top:0;height:1px;width:100%;background:var(--line);display:none;
}
@media (min-width:900px){.process__track{display:block}}
.process__fill{
  position:absolute;inset:0;width:100%;background:var(--brass);
  transform:scaleX(0);transform-origin:left;
}
.step{
  background:var(--ink);padding:clamp(1.75rem,3vw,2.5rem) 0;
  display:grid;gap:1rem;align-content:start;position:relative;
  border-top:1px solid var(--line);
}
@media (min-width:900px){
  .step{padding:clamp(2rem,3.5vw,3rem) clamp(1.25rem,2vw,2rem);border-top:0}
  .step:first-of-type{padding-left:0}
}
.step__num{
  font-family:var(--display);font-stretch:66%;font-weight:700;font-size:2.5rem;
  line-height:1;color:transparent;-webkit-text-stroke:1px var(--brass-dim);
  transition:color .5s var(--ease),-webkit-text-stroke-color .5s var(--ease);
}
.step:hover .step__num{color:var(--brass);-webkit-text-stroke-color:var(--brass)}
.step__title{
  font-family:var(--display);font-weight:700;font-stretch:70%;text-transform:uppercase;
  font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.05;letter-spacing:.01em;
}
.step__desc{font-size:.875rem;color:var(--fg-mute);line-height:1.65}
.step__list{display:grid;gap:.4rem;font-size:.8125rem;color:var(--fg-mute)}
.step__list li{display:flex;gap:.6rem;align-items:baseline}
.step__list li::before{content:"";width:4px;height:4px;background:var(--brass-dim);flex:none;margin-top:.5rem}

/* ==========================================================================
   CASE STUDIES + DIALOG
   ========================================================================== */
.cases{display:grid;gap:clamp(1.25rem,2.5vw,2rem)}
@media (min-width:800px){.cases{grid-template-columns:repeat(3,1fr)}}
.case{
  position:relative;text-align:left;background:var(--ink-elev);border:1px solid var(--line);
  padding:0;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .4s var(--ease),transform .5s var(--ease-out);
}
.case:hover{border-color:var(--brass-dim);transform:translateY(-4px)}
.case__media{aspect-ratio:16/10;overflow:hidden;position:relative}
.case__media img{
  width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.6);
  transition:filter .6s var(--ease),transform .8s var(--ease-out);
}
.case:hover .case__media img{filter:grayscale(0) brightness(.85);transform:scale(1.04)}
.case__tag{
  position:absolute;left:1rem;top:1rem;z-index:2;background:rgba(10,10,11,.8);
  backdrop-filter:blur(6px);border:1px solid var(--line);padding:.35rem .7rem;
  font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);
}
.case__body{padding:clamp(1.25rem,2.2vw,1.75rem);display:grid;gap:.85rem;flex:1;align-content:start}
.case__title{
  font-family:var(--display);font-weight:700;font-stretch:70%;text-transform:uppercase;
  font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.05;
}
.case__metric{
  font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--brass);line-height:1.2;
}
.case__cue{
  margin-top:auto;padding:0 clamp(1.25rem,2.2vw,1.75rem) clamp(1.25rem,2.2vw,1.75rem);
  font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);
  display:flex;align-items:center;gap:.55rem;transition:color .35s var(--ease),gap .35s var(--ease);
}
.case:hover .case__cue{color:var(--brass);gap:.9rem}

.modal{
  width:min(62rem,calc(100vw - 2rem));max-height:min(88vh,60rem);padding:0;
  margin:auto;                       /* restores the centring our reset removed */
  background:var(--ink-elev);color:var(--fg);border:1px solid var(--line);
  overflow:hidden;
}
.modal::backdrop{background:rgba(4,4,5,.82);backdrop-filter:blur(6px)}
.modal__scroll{overflow-y:auto;max-height:min(88vh,60rem);overscroll-behavior:contain}
.modal__head{
  position:relative;padding:clamp(1.75rem,3vw,2.75rem);border-bottom:1px solid var(--line);
}
.modal__close{
  position:absolute;top:1rem;right:1rem;width:2.75rem;height:2.75rem;
  background:none;border:1px solid var(--line);cursor:pointer;display:grid;place-items:center;
  color:var(--fg);transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.modal__close:hover{background:var(--brass);color:#0A0A0B;border-color:var(--brass)}
.modal__title{
  font-family:var(--display);font-weight:700;font-stretch:68%;text-transform:uppercase;
  font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:.95;margin-block:.9rem .75rem;max-width:22ch;
}
.modal__grid{display:grid;gap:0}
@media (min-width:800px){.modal__grid{grid-template-columns:repeat(3,1fr)}}
.modal__cell{padding:clamp(1.5rem,2.6vw,2.25rem);border-top:1px solid var(--line)}
@media (min-width:800px){
  .modal__cell{border-top:0;border-left:1px solid var(--line)}
  .modal__cell:first-child{border-left:0}
}
.modal__cell h3{
  font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);
  margin-bottom:.9rem;font-weight:600;
}
.modal__cell p{font-size:.9375rem;color:var(--fg-mute);line-height:1.7}
.modal__cell ul{display:grid;gap:.5rem;margin-top:.85rem;font-size:.875rem;color:var(--fg-mute)}
.modal__cell li{display:flex;gap:.6rem}
.modal__cell li::before{content:"";width:4px;height:4px;background:var(--brass);flex:none;margin-top:.55rem}
.modal__foot{
  padding:clamp(1.5rem,2.6vw,2.25rem);border-top:1px solid var(--line);
  background:var(--ink-warm);display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;
  justify-content:space-between;
}
.modal__quote{font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.4;max-width:44ch}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.quotes{position:relative}
.quotes__stage{display:grid}
.quote{
  grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .5s var(--ease),transform .6s var(--ease-out),visibility .5s;
  transform:translateY(14px);
}
.quote.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.quote blockquote{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.5rem,3.6vw,3rem);line-height:1.25;letter-spacing:-.01em;
  max-width:24ch;text-wrap:pretty;
}
.quote blockquote b{color:var(--brass);font-weight:400}
.quote__by{
  display:flex;align-items:center;gap:1.15rem;margin-top:clamp(1.75rem,3vw,2.5rem);
  padding-left:1.15rem;border-left:2px solid var(--brass);
}
.quote__by dt{font-weight:600;font-size:1rem;letter-spacing:.01em}
.quote__by dd{font-size:.8125rem;color:var(--fg-mute);margin:.2rem 0 0;
  letter-spacing:.06em;text-transform:uppercase}
.quotes__ctrl{
  display:flex;align-items:center;gap:1.25rem;margin-top:clamp(2rem,4vw,3rem);
  padding-top:1.5rem;border-top:1px solid var(--line);
}
.quotes__btn{
  width:2.75rem;height:2.75rem;border:1px solid var(--line);background:none;cursor:pointer;
  display:grid;place-items:center;color:var(--fg);
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.quotes__btn:hover{background:var(--brass);color:#0A0A0B;border-color:var(--brass)}
.quotes__dots{display:flex;gap:.5rem;margin-left:auto}
.quotes__dot{
  width:2rem;height:2px;background:var(--line);border:0;padding:0;cursor:pointer;
  transition:background .3s var(--ease);
}
.quotes__dot[aria-selected="true"]{background:var(--brass)}

/* Client logo strip — PLACEHOLDER A13 */
/* Sector strip — replaces a client-logo wall we cannot honestly populate. */
.sectors{
  padding-top:clamp(2.5rem,5vw,4rem);margin-top:clamp(2.5rem,5vw,4rem);
  border-top:1px solid var(--line);
}
.sectors .eyebrow{margin-bottom:1.75rem}
.sectors ul{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:.75rem clamp(1.25rem,2.6vw,2.25rem);
}
.sectors li{
  display:flex;align-items:center;gap:clamp(1.25rem,2.6vw,2.25rem);
  font-family:var(--display);font-weight:600;font-stretch:70%;text-transform:uppercase;
  font-size:clamp(.95rem,1.5vw,1.25rem);letter-spacing:.01em;color:var(--fg-mute);
  transition:color .3s var(--ease);
}
.sectors li::after{content:"";width:4px;height:4px;background:var(--brass-dim);flex:none}
.sectors li:last-child::after{display:none}
.sectors li:hover{color:var(--fg)}
/* Wrapping leaves a dot stranded at each row end — drop them on narrow screens
   and let the gap do the separating instead. */
@media (max-width:699px){
  .sectors li::after{display:none}
  .sectors ul{gap:.7rem 1.4rem}
}

/* ==========================================================================
   CTA
   ========================================================================== */
.cta{position:relative;overflow:hidden;background:var(--ink-warm);isolation:isolate}
.cta__inner{
  position:relative;z-index:2;padding-block:clamp(5rem,11vw,10rem);
  display:grid;gap:clamp(2rem,4vw,3rem);
}
@media (min-width:900px){
  .cta__inner{grid-template-columns:minmax(0,1fr) auto;align-items:end}
}
.cta__glow{
  position:absolute;z-index:1;width:70rem;height:70rem;left:50%;top:120%;
  transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(circle,rgba(212,176,106,.14) 0%,transparent 62%);
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:var(--ink-deep);border-top:1px solid var(--line);padding-top:clamp(3.5rem,7vw,6rem)}
.footer__grid{display:grid;gap:clamp(2.5rem,5vw,3.5rem)}
@media (min-width:800px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.4fr}}
.footer h2,.footer h3{
  font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);
  margin-bottom:1.5rem;font-weight:600;
}
.footer__links{display:grid;gap:.85rem;font-size:.9375rem;color:var(--fg-mute)}
.footer__links a{transition:color .25s var(--ease)}
.footer__links a:hover{color:var(--fg)}
.footer__legal{
  font-size:.8125rem;color:var(--fg-mute);line-height:1.8;
}
.footer__legal b{color:var(--fg);font-weight:600;display:block;margin-bottom:.35rem;
  font-size:.875rem;letter-spacing:.01em}
.news{display:grid;gap:.85rem;max-width:24rem}
.news__row{display:flex;border-bottom:1px solid var(--line);transition:border-color .3s var(--ease)}
.news__row:focus-within{border-color:var(--brass)}
.news input{
  flex:1;min-width:0;background:none;border:0;padding:.75rem 0;font-size:.9375rem;
}
.news input::placeholder{color:var(--fg-mute)}
.news button{
  background:none;border:0;cursor:pointer;color:var(--brass);padding:0 .25rem;
  font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
}
.footer__bar{
  margin-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line);
  padding-block:1.75rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;
  align-items:center;justify-content:space-between;
  font-size:.75rem;color:var(--fg-mute);
}
.footer__bar ul{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer__bar a:hover{color:var(--fg)}

/* ==========================================================================
   REVEAL — initial state only applied when JS is present
   ========================================================================== */
.js [data-reveal]{opacity:0;transform:translateY(22px)}
.js .reveal-line>span{transform:translateY(105%)}

/* ==========================================================================
   PAGE HERO (inner pages)
   ========================================================================== */
.pagehero{
  position:relative;padding-top:clamp(9rem,18vh,13rem);padding-bottom:clamp(3rem,7vw,6rem);
  overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line);
}
.pagehero__media{position:absolute;inset:0;z-index:-1}
.pagehero__media img{width:100%;height:100%;object-fit:cover;object-position:center 35%;
  filter:saturate(.85) brightness(.85)}
.pagehero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,11,.86) 0%,rgba(10,10,11,.72) 45%,var(--ink) 100%);
}
.pagehero__grid{display:grid;gap:clamp(1.5rem,3vw,3rem)}
@media (min-width:900px){
  .pagehero__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end}
}
.crumbs{
  display:flex;gap:.6rem;align-items:center;font-size:.6875rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg-mute);margin-bottom:clamp(1.5rem,3vw,2.25rem);
}
.crumbs a:hover{color:var(--brass)}
.crumbs span{color:var(--brass-dim)}

/* ==========================================================================
   SERVICES PAGE
   ========================================================================== */
.svc-layout{display:grid;gap:clamp(2.5rem,5vw,4.5rem)}
@media (min-width:1000px){
  .svc-layout{grid-template-columns:15rem minmax(0,1fr);gap:clamp(3rem,6vw,6rem);align-items:start}
}
.svc-rail{display:none}
@media (min-width:1000px){
  .svc-rail{display:block;position:sticky;top:7.5rem}
}
.svc-rail h2{
  font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);
  margin-bottom:1.5rem;font-weight:600;
}
.svc-rail ol{display:grid;gap:.15rem;counter-reset:r}
.svc-rail a{
  display:flex;gap:.85rem;align-items:baseline;padding:.6rem 0;font-size:.875rem;
  color:var(--fg-mute);border-bottom:1px solid var(--line-soft);
  transition:color .3s var(--ease),padding-left .3s var(--ease);
}
.svc-rail a::before{
  counter-increment:r;content:counter(r,decimal-leading-zero);
  font-family:var(--display);font-stretch:70%;font-size:.625rem;letter-spacing:.12em;
  color:var(--brass-dim);flex:none;
}
.svc-rail a:hover,.svc-rail a.is-current{color:var(--fg);padding-left:.4rem}
.svc-rail a.is-current::before{color:var(--brass)}

.svc-detail{
  display:grid;gap:clamp(1.75rem,3.5vw,3rem);padding-block:clamp(3rem,6vw,5.5rem);
  border-top:1px solid var(--line);
}
.svc-detail:first-child{border-top:0;padding-top:0}
@media (min-width:800px){
  .svc-detail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .svc-detail__media{order:2}
  .svc-detail:nth-child(even) .svc-detail__media{order:-1}
}
.svc-detail__media{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);position:relative}
.svc-detail__media img{width:100%;height:100%;object-fit:cover;
  filter:saturate(.88) brightness(.9) contrast(1.03)}
.svc-detail__num{
  font-family:var(--display);font-stretch:70%;font-weight:600;font-size:.75rem;
  letter-spacing:.18em;color:var(--brass);margin-bottom:1rem;display:block;
}
.svc-detail h3{margin-bottom:1.25rem}
.svc-detail__body{display:grid;gap:1.5rem;align-content:start}
.deliverables{
  display:grid;gap:.65rem;padding-top:1.5rem;border-top:1px solid var(--line);
  font-size:.9375rem;color:var(--fg-mute);
}
.deliverables h4{
  font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);
  font-weight:600;margin-bottom:.35rem;
}
.deliverables li{display:flex;gap:.75rem;align-items:flex-start}
.deliverables li::before{content:"";width:6px;height:1px;background:var(--brass);flex:none;margin-top:.78em}
.engagement{
  font-size:.8125rem;color:var(--fg-mute);padding:.9rem 1.1rem;background:var(--ink-elev);
  border-left:2px solid var(--brass-dim);
}
.engagement b{color:var(--fg);font-weight:600}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
.story{display:grid;gap:clamp(2rem,4vw,4rem)}
@media (min-width:900px){.story{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}
.story__media{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
.story__media img{width:100%;height:100%;object-fit:cover;
  filter:saturate(.82) brightness(.82) contrast(1.05)}
.story__body{display:grid;gap:1.5rem}
.story__body p{color:var(--fg-mute);max-width:58ch}

.values{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media (min-width:700px){.values{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.values{grid-template-columns:repeat(4,1fr)}}
.value{
  background:var(--ink);padding:clamp(1.75rem,3vw,2.5rem);display:grid;gap:.9rem;align-content:start;
  transition:background .4s var(--ease);
}
.value:hover{background:var(--ink-elev)}
.value__icon{width:2rem;height:2rem;color:var(--brass)}
.value h3{
  font-family:var(--display);font-weight:700;font-stretch:70%;text-transform:uppercase;
  font-size:1.15rem;line-height:1.05;
}
.value p{font-size:.875rem;color:var(--fg-mute);line-height:1.65}

.timeline{display:grid;gap:0;border-top:1px solid var(--line)}
.tl{
  display:grid;gap:.5rem 2.5rem;padding-block:clamp(1.5rem,2.6vw,2.25rem);
  border-bottom:1px solid var(--line);position:relative;
  transition:padding-left .45s var(--ease);
}
@media (min-width:800px){
  .tl{grid-template-columns:9rem minmax(0,1fr) minmax(0,26rem);align-items:baseline}
}
.tl:hover{padding-left:clamp(.5rem,1.2vw,1rem)}
.tl__year{
  font-family:var(--display);font-stretch:66%;font-weight:700;font-size:clamp(1.5rem,2.6vw,2rem);
  line-height:1;color:var(--brass);
}
.tl__title{font-family:var(--display);font-weight:700;font-stretch:70%;text-transform:uppercase;
  font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.1}
.tl__desc{font-size:.875rem;color:var(--fg-mute);line-height:1.65}

.people{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}
@media (min-width:700px){.people{grid-template-columns:repeat(3,1fr)}}
.person__media{aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);margin-bottom:1.25rem}
.person__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);
  transition:filter .6s var(--ease),transform .8s var(--ease-out)}
.person:hover .person__media img{filter:grayscale(0);transform:scale(1.03)}
.person h3{font-family:var(--display);font-weight:700;font-stretch:70%;text-transform:uppercase;
  font-size:1.2rem;line-height:1.05;margin-bottom:.4rem}
.person p{font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
/* .person p is (0,1,1) — the bio needs to match it to win the cascade. */
.person p.person__bio{font-size:.875rem;color:var(--fg-mute);margin-top:.75rem;
  line-height:1.65;text-transform:none;letter-spacing:normal}

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */
.contact{display:grid;gap:clamp(2.5rem,5vw,5rem)}
@media (min-width:950px){
  .contact{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}
}
.form{display:grid;gap:1.75rem}
.field{display:grid;gap:.5rem}
.field label{
  font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);
  font-weight:500;
}
.field label .req{color:var(--brass)}
.field input,.field select,.field textarea{
  background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:.85rem 0;font-size:1rem;width:100%;
  transition:border-color .3s var(--ease);
}
.field select{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%239A9791' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .25rem center;
  -webkit-appearance:none;appearance:none;padding-right:2rem;
}
.field select option{background:var(--ink-elev);color:var(--fg)}
.field textarea{resize:vertical;min-height:7rem}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--brass)}
.field input::placeholder,.field textarea::placeholder{color:rgba(154,151,145,.55)}
.field--half{display:grid;gap:1.75rem}
@media (min-width:600px){.field--half{grid-template-columns:1fr 1fr}}
.field__err{
  font-size:.75rem;color:#F0A0A0;min-height:1rem;display:block;
}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-bottom-color:#F0A0A0}
.form__status{
  font-size:.875rem;padding:.9rem 1.1rem;border-left:2px solid var(--brass);
  background:var(--ink-elev);color:var(--fg-mute);
}
.form__status[hidden]{display:none}

.cinfo{display:grid;gap:0;border-top:1px solid var(--line)}
.cinfo__row{
  display:grid;gap:.4rem;padding-block:1.5rem;border-bottom:1px solid var(--line);
}
.cinfo__row dt{
  font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:600;
}
.cinfo__row dd{margin:0;font-size:1rem;line-height:1.6}
.cinfo__row dd a:hover{color:var(--brass)}
.cinfo__row small{display:block;color:var(--fg-mute);font-size:.8125rem;margin-top:.25rem}
.cmap{
  margin-top:clamp(2rem,4vw,3rem);aspect-ratio:3/2;overflow:hidden;border:1px solid var(--line);
  position:relative;
}
.cmap img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.7)}

/* ==========================================================================
   REDUCED MOTION — opacity only, no transforms, no loops
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;
  }
  .js [data-reveal]{transform:none}
  .js .reveal-line>span{transform:none}
  .scroll-cue__bar::after{animation:none;transform:none}
  .svc-preview{display:none !important}
  .segment__desc{opacity:1 !important;max-height:none !important}
}

/* Print — light, text-first */
@media print{
  .nav,.drawer,.marquee,.svc-preview,.cta,.scroll-cue{display:none !important}
  body{background:#fff;color:#000}
  .section{padding-block:1.5rem}
}
