/*
Theme Name: T3X Approved Studio
Theme URI: https://t3x.in/
Author: T3X
Author URI: https://t3x.in/
Description: A bespoke editorial WordPress theme for T3X Creative Agency — "Elevation" redesign.
Version: 8.4.2
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: t3x-approved
*/

/* Self-hosted display typeface — SIL Open Font License 1.1, see assets/fonts/OFL-LICENSE.txt. */
@font-face { font-family: "T3X Grotesk"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/space-grotesk-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "T3X Grotesk"; font-style: normal; font-weight: 500; font-display: swap; src: url("assets/fonts/space-grotesk-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "T3X Grotesk"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/space-grotesk-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "T3X Grotesk"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/space-grotesk-latin-700-normal.woff2") format("woff2"); }

:root{
  --ink:#0a0a0a; --ink-70:rgba(10,10,10,.76); --ink-45:rgba(10,10,10,.62); --ink-18:rgba(10,10,10,.14);
  --paper:#f3f2ee; --paper-2:#e9e7e0; --white:#ffffff; --grey:#777774;
  --glass-fill: linear-gradient(145deg, rgba(255,255,255,.24), rgba(255,255,255,.055) 52%, rgba(0,0,0,.12));
  --glass-fill-light: linear-gradient(145deg, rgba(255,255,255,.68), rgba(255,255,255,.24) 54%, rgba(255,255,255,.08));
  --glass-border: rgba(255,255,255,.44);
  --glass-border-dark: rgba(10,10,10,.14);
  --glass-shadow:0 24px 64px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(0,0,0,.12);
  --radius:18px; --radius-sm:13px;
  --pad: clamp(24px, 4.2vw, 84px);
  --rail-w: 40px;
  --ease: cubic-bezier(.2,.75,.25,1);
  --ease-soft: cubic-bezier(.22,.61,.36,1);
  --motion-fast:180ms; --motion-medium:420ms; --motion-slow:950ms;
  --display: "T3X Grotesk", "Helvetica Neue", "Nimbus Sans L", Arial, sans-serif;
}

/* ---------- reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; max-width:100%; overflow-x:clip; }
body{ margin:0; max-width:100%; background:var(--paper); color:var(--ink); font-family:var(--display); -webkit-font-smoothing:antialiased; overflow-x:clip; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }
::selection{ background:var(--ink); color:var(--paper); }
:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.skip-link{ position:fixed; top:-60px; left:12px; z-index:200; background:var(--ink); color:#fff; padding:12px 18px; border-radius:8px; transition:top .3s var(--ease); }
.skip-link:focus{ top:12px; }

/* ---------- type ---------- */
h1,h2,h3{ margin:0; font-weight:500; letter-spacing:-.03em; }
.eyebrow{ font-size:11px; font-weight:600; letter-spacing:.19em; text-transform:uppercase; color:var(--ink-45); margin:0 0 8px; }
.display{ font-size:clamp(42px,7vw,104px); line-height:.94; letter-spacing:-.045em; font-weight:500; margin:8px 0 24px; }
.display .muted{ color:var(--ink-45); }
.page-title{ font-size:clamp(38px,5.6vw,70px); line-height:.98; letter-spacing:-.035em; font-weight:500; margin:6px 0 0; }
.lede{ font-size:clamp(15px,1.5vw,19px); line-height:1.55; color:var(--ink-70); font-weight:350; max-width:52ch; margin:0; }
.breadcrumbs{ display:flex; gap:8px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-45); margin:0 0 20px; }
.breadcrumbs a{ color:var(--ink-45); display:inline-flex; align-items:center; min-height:44px; }
.text-link{ display:inline-flex; align-items:center; gap:9px; min-height:44px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; border-bottom:1px solid var(--ink); padding:8px 0 3px; width:fit-content; }
.text-link span{ display:inline-block; transition:transform .35s var(--ease); }
.text-link:hover span{ transform:translateX(4px); }
.circle-link{ width:52px; height:52px; border-radius:50%; border:1px solid var(--ink-18); display:flex; align-items:center; justify-content:center; font-size:18px; transition:transform .4s var(--ease), border-color .4s; }
.circle-link:hover{ transform:rotate(45deg); border-color:var(--ink); }

/* ---------- layout shell ---------- */
.panel{ padding:0; }
main#main-content{ padding-left:0; }
.site-shell{ position:relative; }
section[data-section], .panel{ position:relative; }

/* ---------- elevation rail (signature device) ---------- */
.elevation-rail{ position:fixed; left:0; top:0; bottom:0; width:var(--rail-w); z-index:60; pointer-events:none; }
.elevation-rail .track{ position:relative; width:1px; height:100%; margin:0 auto; background:var(--ink-18); }
.elevation-rail .marker{ position:absolute; left:50%; top:0; width:9px; height:9px; margin-left:-4.5px; background:var(--ink); border-radius:50%; }
.elevation-rail .marker::after{ content:attr(data-label); position:absolute; left:16px; top:50%; transform:translateY(-50%); font-size:9px; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; color:var(--ink-70); font-weight:600; opacity:0; transition:opacity .3s var(--ease); }
.elevation-rail.is-labeled .marker::after{ opacity:1; }
@media (max-width:1050px){ .elevation-rail{ display:none; } }

/* ---------- header ---------- */
.site-header{ position:fixed; top:0; left:0; right:0; z-index:70; display:flex; align-items:center; justify-content:space-between; padding:22px var(--pad) 22px calc(var(--pad) + var(--rail-w)); transition:background .5s var(--ease), border-color .5s var(--ease), padding .4s var(--ease), backdrop-filter .5s var(--ease); border-bottom:1px solid transparent; }
.site-header.is-scrolled{ padding-top:14px; padding-bottom:14px; background:rgba(243,242,238,.68); -webkit-backdrop-filter:blur(18px) saturate(1.1); backdrop-filter:blur(18px) saturate(1.1); border-bottom:1px solid var(--ink-18); }
.brand{ display:block; height:24px; }
.brand img,.brand .custom-logo{ height:100%; width:auto; display:block; }
.desktop-nav{ display:flex; align-items:center; }
.desktop-nav ul,.desktop-nav .menu,.t3x-nav-menu{ display:flex !important; align-items:center; gap:38px; list-style:none !important; margin:0 !important; padding:0 !important; }
.desktop-nav li,.overlay-nav li{ display:block; margin:0; padding:0; list-style:none !important; }
.desktop-nav li::marker,.overlay-nav li::marker{ content:""; font-size:0; }
.desktop-nav a,.t3x-nav-menu a{ position:relative; font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:500; padding:4px 0; display:inline-block; }
.t3x-nav-menu a::after{ content:""; position:absolute; left:0; right:100%; bottom:-2px; height:1px; background:var(--ink); transition:right .4s var(--ease); }
.t3x-nav-menu a:hover::after,.t3x-nav-menu .current-menu-item>a::after,.t3x-nav-menu .current_page_item>a::after{ right:0; }
.header-actions{ display:flex; align-items:center; gap:18px; }
.pill{ display:inline-flex; align-items:center; gap:9px; padding:11px 20px; border:1px solid var(--ink); border-radius:999px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; background:transparent; transition:background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease); }
.pill:hover{ background:var(--ink); color:var(--paper); transform:translateY(-2px); }
.pill span{ transition:transform .35s var(--ease); display:inline-block; }
.pill:hover span{ transform:translate(2px,-2px); }
.menu-toggle{ width:48px; height:48px; border:1px solid var(--ink-18); border-radius:50%; display:flex; align-items:center; justify-content:center; background:transparent; cursor:pointer; }
.menu-toggle-lines,.menu-toggle-lines::before,.menu-toggle-lines::after{ content:""; display:block; width:14px; height:1px; background:var(--ink); position:relative; transition:transform .3s var(--ease), top .3s var(--ease); }
.menu-toggle-lines::before{ position:absolute; top:-4px; left:0; }
.menu-toggle-lines::after{ position:absolute; top:4px; left:0; }
body.menu-open .menu-toggle-lines{ background:transparent; }
body.menu-open .menu-toggle-lines::before{ top:0; transform:rotate(45deg); }
body.menu-open .menu-toggle-lines::after{ top:0; transform:rotate(-45deg); }
@media (min-width:981px){ .menu-toggle{ display:none; } }
@media (max-width:980px){ .desktop-nav,.header-actions>.pill{ display:none; } .site-header{ padding-left:var(--pad); } }

/* ---------- mobile overlay nav ---------- */
.menu-overlay{ position:fixed; inset:0; z-index:65; background:rgba(10,10,10,.97); color:#fff; display:flex; flex-direction:column; justify-content:center; gap:6px; padding:40px var(--pad); opacity:0; visibility:hidden; transform:translateY(-14px); transition:opacity .5s var(--ease), transform .55s var(--ease), visibility 0s .55s; }
body.menu-open .menu-overlay{ opacity:1; visibility:visible; transform:none; transition:opacity .5s var(--ease), transform .55s var(--ease), visibility 0s; }
.overlay-nav{ display:flex; flex-direction:column; }
.overlay-nav ul,.t3x-overlay-menu{ display:block; list-style:none !important; margin:0 !important; padding:0 !important; }
.overlay-nav ul a,.t3x-overlay-menu a{ display:block; font-size:clamp(36px,8.6vw,80px); font-weight:500; letter-spacing:-.03em; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.overlay-nav>.pill{ margin-top:30px; border-color:rgba(255,255,255,.5); color:#fff; }
.overlay-nav>.pill:hover{ background:#fff; color:#000; }
.overlay-meta{ margin-top:36px; font-size:12px; color:rgba(255,255,255,.55); letter-spacing:.06em; }
.overlay-meta a{ color:rgba(255,255,255,.85); }

/* ---------- reveal system ---------- */
[data-reveal]{ opacity:0; transform:translateY(24px); transition:opacity .95s var(--ease-soft), transform .95s var(--ease-soft); }
[data-reveal].is-visible{ opacity:1; transform:none; }
[data-reveal="right"]{ transform:translate(24px,0); }
[data-reveal="right"].is-visible{ transform:none; }
[data-reveal-mask]{ clip-path:inset(0 0 100% 0); transition:clip-path 1.1s var(--ease-soft); }
[data-reveal-mask].is-visible{ clip-path:inset(0 0 0% 0); }
.reveal-clip{ display:block; overflow:hidden; }
.reveal-clip>span{ display:block; transform:translateY(112%); transition:transform 1s var(--ease-soft); }
.t3x-js .reveal-clip>span{ transform:translateY(112%); }
.t3x-js .home-hero.grain .reveal-clip>span{ transition-delay:.15s; }
body.is-ready .reveal-clip>span{ transform:translateY(0); }
@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-reveal-mask],.reveal-clip>span{ transition-duration:.01ms !important; transform:none !important; clip-path:inset(0) !important; opacity:1 !important; }
}

/* page-leave transition curtain (driven by theme.js body.is-leaving) */
.transition-curtain{ position:fixed; inset:0; z-index:300; background:var(--ink); transform:translateY(101%); pointer-events:none; transition:transform var(--motion-medium) var(--ease-soft); contain:strict; }
body.is-leaving .transition-curtain{ transform:translateY(0); }

/* ---------- glass aperture (single shared recipe) ---------- */
.glass-card,.stats-glass,.contact-form-wrap,.founder-chip-mobile{
  --glass-x:0px; --glass-y:0px; --glass-rx:0deg; --glass-ry:0deg;
  position:relative; border-radius:var(--radius-sm);
  border:1px solid var(--glass-border);
  background: var(--glass-fill), rgba(20,20,20,.34);
  -webkit-backdrop-filter: blur(22px) saturate(.92);
  backdrop-filter: blur(22px) saturate(.92);
  box-shadow:var(--glass-shadow);
  color:#fff;
  transform: translate3d(calc(var(--glass-x) * .4), calc(var(--glass-y) * .4), 0) rotateX(var(--glass-rx)) rotateY(var(--glass-ry));
  transition: transform .5s var(--ease-soft);
}
.contact-form-wrap{ color:var(--ink); border:1px solid var(--glass-border-dark); background: var(--glass-fill-light), rgba(255,255,255,.36); box-shadow:0 24px 64px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(10,10,10,.06); }
.contact-form-wrap *{ color:inherit; }
@media (prefers-reduced-motion:reduce){ .glass-card,.stats-glass,.contact-form-wrap,.founder-chip-mobile{ transition:none; transform:none; } }

/* ---------- hero ---------- */
.home-hero{ position:relative; min-height:100svh; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; overflow:hidden; }
.home-hero-media{ position:absolute; inset:0; left:50%; overflow:hidden; background:#111; }
.home-hero-media img{ position:absolute; inset:-6% -2%; width:104%; height:112%; object-fit:cover; filter:grayscale(1) contrast(1.05); transform:translateY(calc(var(--hero-progress,0) * 40px)); }
.home-hero-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.4) 92%); }
.hero-rings{ position:absolute; right:9%; top:16%; width:min(30vw,420px); aspect-ratio:1; z-index:2; pointer-events:none; }
.hero-rings span{ position:absolute; inset:0; border:1px solid rgba(255,255,255,.28); border-radius:50%; transform:rotate(calc(var(--hero-progress,0) * 14deg)); }
.hero-rings span:last-of-type{ inset:16%; border-color:rgba(255,255,255,.16); }
.hero-rings i{ position:absolute; left:50%; top:0; width:6px; height:6px; margin-left:-3px; border-radius:50%; background:#fff; }
.hero-copy{ position:relative; z-index:3; display:flex; flex-direction:column; justify-content:center; padding:120px var(--pad) 90px calc(var(--pad) + var(--rail-w)); grid-column:1; }
.hero-copy .lede{ margin-bottom:26px; }
.glass-card{ position:absolute; z-index:4; right:8%; bottom:11%; width:min(250px,25vw); padding:24px 22px; }
.glass-card .number{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; opacity:.78; }
.glass-rule{ display:block; width:22px; height:1px; margin:15px 0 18px; background:rgba(255,255,255,.5); }
.glass-card h2{ font-size:19px; line-height:1.22; font-weight:450; }
.card-foot{ display:flex; justify-content:space-between; margin-top:20px; font-size:9px; letter-spacing:.14em; text-transform:uppercase; opacity:.7; }
.scroll-orbit{ position:absolute; left:calc(var(--pad) + var(--rail-w)); bottom:44px; z-index:3; display:flex; align-items:center; gap:12px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-45); }
.scroll-orbit i{ width:34px; height:34px; border:1px solid var(--ink-18); border-radius:50%; position:relative; display:block; }
.scroll-orbit i::after{ content:""; position:absolute; left:50%; top:9px; width:1px; height:12px; background:var(--ink-45); margin-left:-.5px; transition:transform .35s var(--ease); }
.scroll-orbit:hover i::after,.scroll-orbit:focus-visible i::after{ transform:translateY(4px); }
@media (max-width:1050px){ .glass-card{ width:min(220px,30vw); right:6%; } }
@media (max-width:980px){
  .home-hero{ grid-template-columns:1fr; min-height:auto; }
  .home-hero-media{ position:relative; left:0; height:52vh; }
  .hero-copy{ padding:52px 20px 40px; }
  .hero-rings{ display:none; }
  .glass-card{ position:relative; right:auto; bottom:auto; width:auto; margin:0 20px 28px; }
  .scroll-orbit{ display:none; }
}

/* ---------- stats ---------- */
.home-stats{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ink-18); border-bottom:1px solid var(--ink-18); }
.home-stat{ min-width:0; padding:64px clamp(26px,3vw,54px); border-right:1px solid var(--ink-18); }
.home-stat:first-child{ padding-left:calc(var(--pad) + var(--rail-w)); }
.home-stat:last-child{ border-right:0; }
.home-stat strong{ display:block; font-size:clamp(64px,7.2vw,112px); font-weight:500; letter-spacing:-.065em; line-height:.82; white-space:nowrap; }
.home-stat strong>span{ display:inline; margin:0; font:inherit; letter-spacing:inherit; color:inherit; text-transform:none; }
.home-stat>span{ display:block; max-width:18ch; margin-top:18px; font-size:11px; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-45); }
@media (max-width:700px){
  .home-stats{ grid-template-columns:1fr 1fr; }
  .home-stat{ min-height:150px; padding:34px 20px; border-bottom:1px solid var(--ink-18); }
  .home-stat:first-child{ padding-left:20px; }
  .home-stat:nth-child(2n){ border-right:0; }
  .home-stat strong{ font-size:clamp(46px,15vw,68px); }
  .home-stat>span{ margin-top:14px; font-size:9px; }
}

/* ---------- selected client logo scroller ---------- */
.client-logo-strip{ overflow:hidden; padding:18px 0; border-top:1px solid var(--ink-18); border-bottom:1px solid var(--ink-18); background:rgba(255,255,255,.2); }
.client-logo-marquee{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.client-logo-track{ display:flex; align-items:center; width:max-content; animation:t3x-logo-scroll 38s linear infinite; will-change:transform; }
.client-logo-track img{ flex:0 0 auto; width:auto; max-width:none; height:clamp(76px,7vw,108px); opacity:.68; filter:grayscale(1) contrast(.9); mix-blend-mode:multiply; }
.client-logo-marquee:hover .client-logo-track{ animation-play-state:paused; }
@keyframes t3x-logo-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (max-width:700px){
  .client-logo-strip{ padding:12px 0; }
  .client-logo-track{ animation-duration:30s; }
  .client-logo-track img{ height:72px; }
}
@media (prefers-reduced-motion:reduce){
  .client-logo-marquee{ overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
  .client-logo-track{ animation:none; transform:none; will-change:auto; }
}

/* ---------- selected work (home) ---------- */
.home-work-stream{ padding:120px 0 100px; }
.featured-side{ display:flex; justify-content:space-between; align-items:center; padding:0 var(--pad) 0 calc(var(--pad) + var(--rail-w)); margin-bottom:40px; }
.home-work-panels{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0 var(--pad) 0 calc(var(--pad) + var(--rail-w)); }
.featured-project{ display:block; position:relative; min-width:0; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3.15; background:#111; }
.featured-image{ position:absolute; inset:0; }
.featured-image img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.85); transition:transform 1.1s var(--ease), filter .8s; }
.featured-project:hover .featured-image img{ transform:scale(1.035); filter:grayscale(.1); }
.project-brand{ position:absolute; left:26px; bottom:26px; color:#fff; font-size:11px; letter-spacing:.14em; text-transform:uppercase; opacity:.85; }
.project-brand small{ display:block; font-size:9px; opacity:.7; margin-top:2px; letter-spacing:.1em; }
.featured-title{ position:absolute; right:26px; bottom:26px; text-align:right; color:#fff; }
.featured-title h2{ font-size:clamp(20px,2.6vw,32px); font-weight:500; display:flex; align-items:center; gap:10px; justify-content:flex-end; }
.featured-title h2 span{ transition:transform .35s var(--ease); }
.featured-project:hover .featured-title h2 span{ transform:translate(3px,-3px); }
.featured-title p{ margin:6px 0 0; font-size:10px; letter-spacing:.12em; text-transform:uppercase; opacity:.75; }
@media (max-width:980px) and (min-width:701px){ .home-work-panels{ gap:16px; } .featured-project{ aspect-ratio:4/3.4; } }
@media (max-width:700px){
  .featured-side{ padding:0 20px; }
  .home-work-panels{ margin:0; padding:0 20px; grid-template-columns:1fr; gap:18px; }
  .featured-project{ aspect-ratio:4/4.6; }
}

/* ---------- capabilities ---------- */
.capabilities-strip{ padding:130px 0 140px; position:relative; }
.cap-intro{ padding:0 var(--pad) 0 calc(var(--pad) + var(--rail-w)); margin-bottom:58px; max-width:62ch; }
.cap-intro h2{ font-size:clamp(34px,4.2vw,60px); line-height:.96; }
.cap-list{ display:block; margin:0 var(--pad) 0 calc(var(--pad) + var(--rail-w)); }
.cap-row{ display:grid; width:100%; grid-template-columns:100px minmax(230px,1.15fr) minmax(260px,1fr) 44px; gap:clamp(22px,3vw,48px); align-items:center; padding:38px 0; border-top:1px solid var(--ink-18); }
.cap-list .cap-row:last-child{ border-bottom:1px solid var(--ink-18); }
.cap-row .elev{ font-size:11px; letter-spacing:.12em; color:var(--ink-45); font-weight:600; }
.cap-row h3{ font-size:clamp(26px,2.8vw,40px); line-height:1; transition:transform .5s var(--ease); }
.cap-row:hover h3{ transform:translateX(10px); }
.cap-row p{ margin:0; font-size:14px; color:var(--ink-45); line-height:1.5; }
.cap-row .arrow{ justify-self:end; width:36px; height:36px; border-radius:50%; border:1px solid var(--ink-18); display:flex; align-items:center; justify-content:center; transition:transform .4s var(--ease), border-color .4s; font-size:14px; }
.cap-row:hover .arrow{ transform:rotate(45deg); border-color:var(--ink); }
.capabilities-next{ position:absolute; right:var(--pad); bottom:50px; }
@media (max-width:800px){
  .cap-row{ grid-template-columns:48px minmax(0,1fr) 36px; gap:12px 16px; padding:27px 0; }
  .cap-row p{ display:block; grid-column:2/4; max-width:48ch; font-size:13px; }
  .cap-row h3{ font-size:clamp(22px,7vw,30px); }
  .cap-intro,.cap-list{ padding-left:20px; padding-right:20px; margin-left:0; margin-right:0; }
  .capabilities-next{ right:20px; }
}

/* ---------- about ---------- */
.about-layout{ display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(36px,5vw,82px); padding:150px var(--pad) 120px calc(var(--pad) + var(--rail-w)); align-items:stretch; }
.about-copy{ display:flex; flex-direction:column; justify-content:center; padding-right:0; }
.about-copy h1{ font-size:clamp(32px,4vw,54px); line-height:1.05; margin:6px 0 24px; }
.about-intro{ font-size:clamp(15px,1.5vw,18px); line-height:1.55; color:var(--ink-70); max-width:48ch; margin:0 0 30px; font-weight:350; }
.founder-line{ display:flex; align-items:center; gap:12px; margin-top:30px; }
.founder-line .dot{ width:7px; height:7px; border-radius:50%; background:var(--ink); flex-shrink:0; }
.founder-line span{ font-size:12px; letter-spacing:.04em; color:var(--ink-70); }
.founder-visual{ position:relative; min-width:0; min-height:620px; }
.founder-image{ position:relative; width:100%; height:100%; border-radius:var(--radius); overflow:hidden; min-height:620px; background:#111; }
.founder-image img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:75% 30%; filter:grayscale(1); }
.founder-image::after{ content:""; position:absolute; inset:0; background:linear-gradient(200deg, rgba(0,0,0,.34), transparent 46%); }
.stats-glass{ position:absolute; z-index:3; left:28px; top:auto; bottom:28px; width:min(350px,calc(100% - 56px)); padding:28px; display:flex; flex-direction:column; }
.stats-glass .stat{ padding:17px 0; border-top:1px solid rgba(255,255,255,.22); }
.stats-glass .stat:first-child{ border-top:0; padding-top:0; }
.stats-glass .stat strong{ display:block; font-size:clamp(34px,3.2vw,46px); font-weight:500; line-height:.9; letter-spacing:-.05em; }
.stats-glass .stat strong>span{ display:inline; margin:0; font:inherit; letter-spacing:inherit; text-transform:none; opacity:1; }
.stats-glass .stat>span{ display:block; margin-top:8px; font-size:10px; line-height:1.35; letter-spacing:.11em; text-transform:uppercase; opacity:.82; }
.founder-chip-mobile{ display:none; }
@media (max-width:980px){
  .about-layout{ grid-template-columns:1fr; padding:110px 20px 80px; gap:34px; }
  .about-copy{ padding-right:0; order:1; }
  .founder-visual{ order:2; min-height:520px; }
  .founder-image{ min-height:520px; }
}
@media (max-width:700px){
  .founder-visual{ min-height:0; }
  .founder-image{ height:auto; min-height:0; aspect-ratio:4/5; }
  .stats-glass{ left:16px; top:auto; bottom:78px; right:16px; width:auto; padding:18px 14px; flex-direction:row; justify-content:space-between; gap:0; }
  .stats-glass .stat,.stats-glass .stat:first-child{ min-width:0; border-top:0; border-left:1px solid rgba(255,255,255,.22); padding:0 10px; flex:1; text-align:left; }
  .stats-glass .stat:first-child{ border-left:0; padding-left:0; }
  .stats-glass .stat strong{ font-size:clamp(30px,9vw,38px); }
  .stats-glass .stat>span{ font-size:8px; }
  .founder-chip-mobile{ display:grid; grid-template-columns:1fr auto; align-items:end; gap:3px 12px; margin-top:12px; padding:15px 16px; }
  .founder-chip-mobile small{ grid-column:1; font-size:9px; letter-spacing:.1em; text-transform:uppercase; opacity:.76; }
  .founder-chip-mobile strong{ grid-column:1; font-size:15px; }
  .founder-chip-mobile>span{ grid-column:2; grid-row:1/3; align-self:center; }
}

/* ---------- work archive ---------- */
.work-archive{ padding:150px var(--pad) 120px calc(var(--pad) + var(--rail-w)); }
.work-heading{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-bottom:52px; }
.filters{ display:flex; gap:22px; }
.filter-button{ background:none; border:0; padding:0 0 4px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-45); cursor:pointer; border-bottom:1px solid transparent; transition:color .3s, border-color .3s; }
.filter-button.active,.filter-button:hover{ color:var(--ink); border-color:var(--ink); }
.work-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.work-card{ position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3.2; background:#151515; transition:opacity .3s, transform .3s; }
.work-card.is-hidden{ display:none; }
.work-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1); transform:scale(1.03); transition:transform .9s var(--ease), filter .7s; }
.work-card:hover img{ transform:scale(1); filter:grayscale(.15); }
.work-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.55), transparent 55%); }
.work-logo{ position:absolute; top:20px; left:20px; z-index:2; color:#fff; font-size:11px; letter-spacing:.12em; text-transform:uppercase; opacity:.85; }
.work-card-meta{ position:absolute; left:20px; bottom:18px; z-index:2; color:#fff; }
.work-card-meta h2{ font-size:clamp(18px,2vw,24px); font-weight:500; }
.work-card-meta p{ margin:4px 0 0; font-size:10px; letter-spacing:.1em; text-transform:uppercase; opacity:.8; }
@media (max-width:980px){ .work-archive{ padding:120px 20px 80px; } }
@media (max-width:700px){ .work-grid{ grid-template-columns:1fr; } }

body.post-type-archive-t3x_work .elevation-rail,
body.single-t3x_work .elevation-rail{ display:none; }
body.post-type-archive-t3x_work .site-header,
body.single-t3x_work .site-header{ padding-left:var(--pad); }
body.post-type-archive-t3x_work main#main-content.work-archive{
  width:100%;
  padding:150px var(--pad) 120px;
  margin-inline:auto;
}
body.post-type-archive-t3x_work .work-archive>.breadcrumbs,
body.post-type-archive-t3x_work .work-heading,
body.post-type-archive-t3x_work .work-grid{
  width:100%;
  max-width:1728px;
  margin-left:auto;
  margin-right:auto;
}
body.post-type-archive-t3x_work .work-heading{ margin-bottom:52px; }
body.single-t3x_work .case-hero{ padding-left:var(--pad); }
body.single-t3x_work .case-facts,
body.single-t3x_work .case-gallery,
body.post-type-archive-t3x_work .site-footer,
body.single-t3x_work .site-footer{ margin-left:var(--pad); }
@media (max-width:980px){
  body.post-type-archive-t3x_work .site-header,
  body.single-t3x_work .site-header{ padding-left:20px; }
  body.post-type-archive-t3x_work main#main-content.work-archive{ padding:120px 20px 80px; }
  body.single-t3x_work .case-hero{ padding-left:20px; }
  body.single-t3x_work .case-facts,
  body.single-t3x_work .case-gallery,
  body.post-type-archive-t3x_work .site-footer,
  body.single-t3x_work .site-footer{ margin-left:20px; }
}

/* ---------- services archive ---------- */
.services-intro{ display:grid; grid-template-columns:minmax(260px,.82fr) minmax(0,3.18fr); gap:clamp(36px,4.5vw,84px); align-items:start; padding:150px var(--pad) 60px calc(var(--pad) + var(--rail-w)); }
.services-copy{ position:sticky; top:110px; margin:0; max-width:34ch; }
.services-copy h1{ font-size:clamp(34px,3.8vw,56px); line-height:.98; margin:6px 0 22px; }
.services-copy .lede{ font-size:15px; }
.services-list{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--ink-18); border-left:1px solid var(--ink-18); }
.service-row{ position:relative; display:grid; grid-template-rows:auto auto 1fr auto; align-content:start; gap:18px; min-height:270px; padding:24px 22px 22px; border-right:1px solid var(--ink-18); border-bottom:1px solid var(--ink-18); transition:background .3s var(--ease), transform .35s var(--ease); }
.service-row:hover{ background:rgba(255,255,255,.36); transform:translateY(-3px); }
.row-no{ font-size:10px; letter-spacing:.12em; color:var(--ink-45); width:auto; }
.service-mobile-icon{ display:flex; align-items:center; width:30px; height:30px; color:var(--ink); }
.service-mobile-icon svg{ width:100%; height:100%; stroke-width:1.35; }
.service-row>div{ min-width:0; }
.service-row h2{ font-size:clamp(18px,1.45vw,23px); line-height:1.08; font-weight:500; }
.service-row p{ margin:10px 0 0; font-size:13px; line-height:1.5; color:var(--ink-45); max-width:30ch; }
.plus{ justify-self:end; align-self:end; width:36px; height:36px; border:1px solid var(--ink-18); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--ink-70); transition:transform .35s var(--ease), color .35s, border-color .35s; flex-shrink:0; }
.service-row:hover .plus{ transform:rotate(45deg); color:var(--ink); border-color:var(--ink); }
.services-cta{ margin:80px var(--pad) 100px calc(var(--pad) + var(--rail-w)); padding:80px 60px; border-radius:var(--radius); background:var(--ink); color:#fff; display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; }
.services-cta h2{ color:#fff; font-size:clamp(28px,3.6vw,44px); line-height:1.05; }
.services-cta .text-link{ border-color:rgba(255,255,255,.5); }
@media (max-width:1280px){
  .services-intro{ grid-template-columns:1fr; }
  .services-copy{ position:static; max-width:60ch; }
}
@media (max-width:980px){
  .services-intro{ padding:120px 20px 40px; }
  .services-list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-row{ min-height:240px; }
  .services-cta{ margin:60px 20px 80px; padding:50px 28px; }
}
@media (max-width:620px){
  .services-list{ grid-template-columns:1fr; }
  .service-row{ min-height:0; grid-template-columns:34px 42px minmax(0,1fr) 36px; grid-template-rows:auto; align-items:start; gap:16px; padding:22px 18px; }
  .service-row>div{ grid-column:3; }
  .service-row .plus{ grid-column:4; grid-row:1; align-self:center; }
  .service-row h2{ font-size:22px; }
}

/* ---------- single service ---------- */
.service-hero{ padding:150px var(--pad) 80px calc(var(--pad) + var(--rail-w)); }
.service-hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; }
.service-hero h1{ font-size:clamp(40px,6vw,80px); line-height:.96; }
.service-hero-copy p{ font-size:16px; line-height:1.6; color:var(--ink-70); margin:0 0 16px; max-width:46ch; }
.deliverables{ padding:0 var(--pad) 120px calc(var(--pad) + var(--rail-w)); }
.deliverables h2{ font-size:clamp(28px,3.4vw,42px); margin:6px 0 40px; }
.deliverables-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; border-top:1px solid var(--ink-18); padding-top:32px; }
.deliverable span{ font-size:11px; color:var(--ink-45); letter-spacing:.1em; }
.deliverable h3{ font-size:18px; margin:14px 0 8px; }
.deliverable p{ margin:0; font-size:13px; color:var(--ink-45); line-height:1.5; }
.global-cta{ margin:0 var(--pad) 100px calc(var(--pad) + var(--rail-w)); padding:80px 60px; border-radius:var(--radius); background:var(--ink); color:#fff; display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; }
.global-cta h2{ color:#fff; font-size:clamp(28px,3.6vw,44px); line-height:1.05; }
.global-cta .text-link{ border-color:rgba(255,255,255,.5); }
.related-work{ padding:0 var(--pad) 120px calc(var(--pad) + var(--rail-w)); }
.related-heading{ display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.related-heading h2{ font-size:clamp(32px,4vw,54px); }
.related-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.related-card{ min-width:0; }
.related-card>div{ overflow:hidden; border-radius:var(--radius); aspect-ratio:4/3; background:#111; }
.related-card img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.75); transition:transform var(--motion-slow) var(--ease), filter var(--motion-medium); }
.related-card:hover img,.related-card:focus-visible img{ transform:scale(1.035); filter:grayscale(.1); }
.related-card h3{ margin-top:14px; font-size:20px; }
.related-card p{ margin:5px 0 0; color:var(--ink-45); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:980px){
  .service-hero{ padding:120px 20px 60px; }
  .service-hero-grid{ grid-template-columns:1fr; }
  .deliverables{ padding:0 20px 80px; }
  .deliverables-grid{ grid-template-columns:1fr 1fr; }
  .global-cta{ margin:0 20px 80px; padding:50px 28px; }
  .related-work{ padding:0 20px 80px; }
  .related-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px){ .related-grid{ grid-template-columns:1fr; } }

/* ---------- FAQ (service + faq page) ---------- */
.faq-layout{ padding:150px var(--pad) 120px calc(var(--pad) + var(--rail-w)); }
.faq-list{ border-top:1px solid var(--ink-18); margin-top:30px; max-width:78ch; }
.faq-item{ border-bottom:1px solid var(--ink-18); }
.faq-question{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px; background:none; border:0; padding:24px 0; font-size:clamp(16px,1.8vw,20px); text-align:left; cursor:pointer; }
.faq-question span:last-child{ font-size:18px; color:var(--ink-45); transition:transform .35s var(--ease); flex-shrink:0; }
.faq-item.open .faq-question span:last-child{ transform:rotate(45deg); }
.faq-answer{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq-answer[aria-hidden="true"]{ visibility:hidden; }
.faq-answer[aria-hidden="false"]{ visibility:visible; }
.faq-answer p{ margin:0 0 22px; font-size:14px; line-height:1.6; color:var(--ink-70); max-width:60ch; }
@media (max-width:980px){ .faq-layout{ padding:120px 20px 80px; } }

/* ---------- single work (case study) ---------- */
.case-hero{ padding:150px var(--pad) 60px calc(var(--pad) + var(--rail-w)); display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; }
.case-copy .count{ font-size:11px; letter-spacing:.12em; color:var(--ink-45); }
.case-copy h1{ font-size:clamp(36px,5.4vw,70px); line-height:1; margin:8px 0 6px; }
.subtitle{ font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-45); margin:0 0 18px; }
.summary{ font-size:16px; line-height:1.6; color:var(--ink-70); max-width:50ch; margin:0 0 22px; }
.tags{ display:flex; gap:10px; flex-wrap:wrap; }
.tags span,.tags a{ min-height:44px; display:inline-flex; align-items:center; font-size:10px; letter-spacing:.1em; text-transform:uppercase; padding:7px 12px; border:1px solid var(--ink-18); border-radius:999px; color:var(--ink-45); }
.tags a{ transition:border-color var(--motion-fast), color var(--motion-fast), transform var(--motion-fast); }
.tags a:hover,.tags a:focus-visible{ border-color:var(--ink); color:var(--ink); transform:translateY(-2px); }
.case-media{ position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; background:#111; }
.case-media img{ width:100%; height:106%; object-fit:cover; filter:grayscale(.4); transform:translate3d(0,var(--parallax-y,0),0); will-change:transform; }
.case-brand{ position:absolute; left:22px; bottom:20px; color:#fff; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.case-brand small{ display:block; font-size:9px; opacity:.75; margin-top:2px; }
.case-facts{ position:relative; margin:80px var(--pad) 90px calc(var(--pad) + var(--rail-w)); border-top:1px solid var(--ink-18); padding-top:36px; display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.case-fact h2{ display:block; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-45); margin:0 0 10px; }
.case-fact p{ margin:0; font-size:15px; line-height:1.55; color:var(--ink-70); }
.case-next{ position:absolute; right:var(--pad); bottom:0; }
.case-gallery{ display:grid; gap:20px; margin:0 var(--pad) 110px calc(var(--pad) + var(--rail-w)); }
.case-gallery figure{ margin:0; border-radius:var(--radius); overflow:hidden; }
.case-gallery img{ width:100%; filter:grayscale(.3); }
.next-project{ margin:0 var(--pad) 110px; padding:64px 0 0; border-top:1px solid var(--ink-18); }
.next-project>a{ min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.next-project h2{ font-size:clamp(38px,6vw,82px); line-height:.95; }
.next-project>a>span{ font-size:32px; transition:transform var(--motion-medium) var(--ease); }
.next-project>a:hover>span,.next-project>a:focus-visible>span{ transform:translate(6px,-6px); }
@media (max-width:980px){
  .case-hero{ padding:120px 20px 40px; grid-template-columns:1fr; }
  .case-facts{ margin:60px 20px 70px; grid-template-columns:1fr; }
  .case-next{ position:static; margin-top:20px; }
  .case-gallery{ margin:0 20px 80px; }
  .next-project{ margin:0 20px 80px; }
}

/* ---------- contact ---------- */
.contact-layout{ position:relative; display:grid; grid-template-columns:1fr 1fr; min-height:90vh; align-items:center; padding:150px var(--pad) 90px calc(var(--pad) + var(--rail-w)); overflow:hidden; }
.contact-art{ position:absolute; inset:0; left:52%; opacity:.9; }
.contact-art img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
.contact-art::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--paper), rgba(243,242,238,.2) 40%, transparent 70%); }
.contact-left{ position:relative; z-index:2; max-width:44ch; }
.contact-left h1{ font-size:clamp(36px,5.4vw,64px); line-height:1; margin:8px 0 30px; }
.contact-mobile-cta{ display:none; margin-bottom:24px; width:fit-content; }
.contact-details{ display:grid; grid-template-columns:1fr 1fr; gap:22px 30px; margin-top:36px; }
.contact-details strong{ display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-45); margin-bottom:6px; }
.contact-details a,.contact-details>div{ font-size:15px; }
.contact-form-wrap{ position:relative; z-index:2; padding:34px; max-width:440px; margin-left:auto; }
.contact-form-wrap h2{ font-size:24px; margin-bottom:6px; }
.contact-form-wrap>p{ font-size:13px; color:var(--ink-70); margin:0 0 22px; }
.field{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.field label{ font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-45); }
.field input,.field select,.field textarea{ min-height:44px; font-family:inherit; font-size:16px; padding:10px 0; border:0; border-bottom:1px solid var(--ink-18); background:transparent; color:var(--ink); }
.field textarea{ resize:vertical; min-height:70px; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:0; border-color:var(--ink); }
.form-submit{ width:100%; margin-top:8px; padding:15px; border:0; border-radius:999px; background:var(--ink); color:var(--paper); font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; cursor:pointer; transition:transform .35s var(--ease); }
.form-submit:hover{ transform:translateY(-2px); }
.form-status{ margin-top:14px; font-size:12px; }
.form-status.is-success{ color:#1c6b3a; }
.form-status.is-error{ color:#a3312c; }
@media (max-width:980px){
  .contact-layout{ grid-template-columns:1fr; padding:120px 20px 70px; min-height:auto; gap:36px; }
  .contact-art{ position:relative; left:0; inset:auto; height:220px; border-radius:var(--radius); overflow:hidden; margin-bottom:10px; }
  .contact-art::after{ display:none; }
  .contact-mobile-cta{ display:inline-flex; }
  .contact-form-wrap{ margin-left:0; max-width:none; }
}

/* ---------- footer ---------- */
.site-footer{ margin:0 var(--pad) 24px calc(var(--pad) + var(--rail-w)); padding:30px 0; border-top:1px solid var(--ink-18); display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; font-size:11px; color:var(--ink-45); letter-spacing:.04em; }
.footer-brand{ font-size:16px; font-weight:600; color:var(--ink); }
.footer-copy{ display:flex; gap:18px; flex-wrap:wrap; }
.footer-social{ display:flex; gap:20px; }
.site-footer a{ min-height:44px; display:inline-flex; align-items:center; }
@media (max-width:980px){ .site-footer{ margin:0 20px 20px; flex-direction:column; text-align:center; } }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .home-hero-media img,.hero-rings span,.featured-image img,.work-card img{ transform:none !important; }
}

/* ---------- misc ---------- */
.grain{ position:relative; }

/* ---------- deliberate not-found state ---------- */
.not-found{ min-height:86svh; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:50px; padding:150px var(--pad) 90px calc(var(--pad) + var(--rail-w)); overflow:hidden; }
.not-found-code{ font-size:clamp(130px,28vw,430px); line-height:.68; letter-spacing:-.085em; color:var(--ink); }
.not-found-copy{ max-width:42ch; padding-bottom:12px; }
.not-found-copy h1{ font-size:clamp(36px,5vw,66px); line-height:.96; margin-bottom:18px; }
.not-found-copy p{ color:var(--ink-70); line-height:1.6; margin:0 0 24px; }
@media (max-width:980px){ .not-found{ min-height:78svh; grid-template-columns:1fr; align-content:end; padding:130px 20px 70px; } .not-found-code{ order:-1; } }

@media (max-width:700px){
  .filters{ width:100%; gap:8px; overflow-x:auto; padding-bottom:4px; }
  .filter-button{ flex:0 0 auto; min-height:44px; padding:8px 10px; }
  .contact-details{ grid-template-columns:1fr; }
  .related-heading{ align-items:start; flex-direction:column; }
}

@media (max-width:430px){
  .display{ font-size:clamp(38px,13vw,56px); }
  .service-row{ grid-template-columns:28px 34px minmax(0,1fr) 36px; gap:10px; padding-inline:12px; }
  .contact-form-wrap{ padding:26px 18px; }
  .featured-title{ right:18px; bottom:18px; }
  .project-brand{ left:18px; bottom:18px; max-width:40%; overflow-wrap:anywhere; }
}

/* ========================================================================== */
/* T3X 8.1 — visual elevation layer                                            */
/* A deliberately small override layer: same templates, content and runtime.   */
/* ========================================================================== */

:root{
  --t3x-line:rgba(10,10,10,.13);
  --t3x-white-line:rgba(255,255,255,.2);
  --t3x-red:#ff3b2f;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:250;
  pointer-events:none;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E");
}

.site-header{
  mix-blend-mode:difference;
  color:#fff;
}
.site-header .brand img,.site-header .brand .custom-logo{ filter:invert(1); }
.site-header .pill,.site-header .menu-toggle{ border-color:rgba(255,255,255,.48); }
.site-header .menu-toggle-lines,.site-header .menu-toggle-lines::before,.site-header .menu-toggle-lines::after,.site-header .t3x-nav-menu a::after{ background:#fff; }
.site-header.is-scrolled{
  mix-blend-mode:normal;
  color:var(--ink);
  background:rgba(243,242,238,.82);
  -webkit-backdrop-filter:blur(24px) saturate(1.08);
  backdrop-filter:blur(24px) saturate(1.08);
}
.site-header.is-scrolled .brand img,.site-header.is-scrolled .brand .custom-logo{ filter:none; }
.site-header.is-scrolled .pill,.site-header.is-scrolled .menu-toggle{ border-color:var(--ink-18); }
.site-header.is-scrolled .menu-toggle-lines,.site-header.is-scrolled .menu-toggle-lines::before,.site-header.is-scrolled .menu-toggle-lines::after,.site-header.is-scrolled .t3x-nav-menu a::after{ background:var(--ink); }

.transition-curtain{
  transform:translateY(101%) skewY(-3deg);
  transform-origin:100% 100%;
}
.transition-curtain::after{
  content:"T3X°";
  position:absolute;
  left:50%;
  top:50%;
  color:#fff;
  font-size:clamp(44px,9vw,140px);
  font-weight:600;
  letter-spacing:-.08em;
  opacity:0;
  transform:translate(-50%,-35%);
  transition:opacity .18s linear .12s,transform .42s var(--ease-soft);
}
body.is-leaving .transition-curtain{ transform:translateY(0) skewY(0); }
body.is-leaving .transition-curtain::after{ opacity:1; transform:translate(-50%,-50%); }

/* Hero: type, architecture and material share one coordinate system. */
.home-hero{
  min-height:max(760px,100svh);
  display:block;
  isolation:isolate;
  background:var(--paper);
}
.home-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(620px circle at var(--hero-x,76%) var(--hero-y,40%),rgba(255,255,255,.18),transparent 48%);
  mix-blend-mode:screen;
}
.home-hero-media{
  inset:0;
  left:0;
  z-index:0;
  clip-path:polygon(43% 0,100% 0,100% 100%,52% 100%);
}
.home-hero-media img{
  inset:-7% -3%;
  width:106%;
  height:114%;
  filter:grayscale(1) contrast(1.13) brightness(.84);
  transform:translate3d(0,calc(var(--hero-progress,0) * 5.5%),0) scale(calc(1 + var(--hero-progress,0) * .025));
  will-change:transform;
}
.home-hero-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(104deg,rgba(0,0,0,.1) 0%,transparent 36%,rgba(0,0,0,.42) 100%);
}
.home-hero-media::after{ z-index:2; background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.54) 105%); }
.hero-field{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,transparent calc(43% - 1px),rgba(255,255,255,.4) 43%,transparent calc(43% + 1px));
}
.hero-field::before,.hero-field::after,.hero-field span{
  content:"";
  position:absolute;
  background:rgba(255,255,255,.2);
}
.hero-field::before{ left:66.66%; top:0; bottom:0; width:1px; }
.hero-field::after{ left:0; right:0; top:50%; height:1px; opacity:.4; }
.hero-field span:nth-child(1){ width:6px; height:6px; border-radius:50%; left:51.6%; top:22%; background:#fff; }
.hero-field span:nth-child(2){ width:1px; height:50px; left:86.7%; bottom:12%; }
.hero-field span:nth-child(3){ width:50px; height:1px; left:calc(86.7% - 25px); bottom:calc(12% + 25px); }
.hero-field span:nth-child(4){ width:5px; height:5px; border-radius:50%; left:86.55%; bottom:calc(12% + 23px); background:#fff; }
.hero-copy{
  position:relative;
  z-index:3;
  width:100%;
  min-height:max(760px,100svh);
  padding:clamp(132px,17vh,190px) var(--pad) 120px calc(var(--pad) + var(--rail-w));
  justify-content:flex-start;
  pointer-events:none;
}
.hero-copy>*{ pointer-events:auto; }
.hero-copy .eyebrow{ max-width:25ch; line-height:1.6; margin-bottom:clamp(28px,5vh,58px); }
.hero-copy .display{
  width:min(1150px,88vw);
  margin:0 0 34px;
  font-size:clamp(70px,10.3vw,172px);
  line-height:.78;
  letter-spacing:-.072em;
  font-weight:500;
}
.hero-line{ overflow:visible; }
.hero-line>span{
  width:max-content;
  max-width:100%;
  color:transparent !important;
  background:linear-gradient(90deg,var(--ink) 0%,var(--ink) 43%,#f6f5f1 43.35%,#f6f5f1 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 1px 20px rgba(0,0,0,.18);
}
.hero-line-secondary{ margin-left:clamp(30px,8vw,150px); }
.hero-line-secondary>span{ transition-delay:.23s !important; }
.hero-copy .lede{ width:min(37ch,31vw); margin-left:clamp(150px,21vw,360px); margin-top:22px; }
.hero-copy>.text-link{ margin-left:clamp(150px,21vw,360px); }
.hero-rings{
  right:auto;
  left:55.5%;
  top:12%;
  width:min(39vw,640px);
  transform:translate3d(calc(var(--hero-progress,0) * -2vw),calc(var(--hero-progress,0) * 3vh),0);
}
.hero-rings span{ border-color:rgba(255,255,255,.36); transform:rotate(calc(var(--hero-progress,0) * 28deg)) scale(calc(1 - var(--hero-progress,0) * .06)); }
.hero-rings span:last-of-type{ inset:21%; border-color:rgba(255,255,255,.16); transform:rotate(calc(var(--hero-progress,0) * -42deg)); }
.hero-rings span:last-of-type::after{ content:""; position:absolute; inset:18%; border:1px dashed rgba(255,255,255,.14); border-radius:50%; }
.hero-coordinate{
  position:absolute;
  z-index:4;
  top:16%;
  right:5.6%;
  color:#fff;
  display:flex;
  align-items:flex-start;
  gap:18px;
  transform:translate3d(0,calc(var(--hero-progress,0) * -28px),0);
}
.hero-coordinate>span{ font-size:clamp(56px,6vw,100px); line-height:.8; font-weight:400; letter-spacing:-.065em; }
.hero-coordinate small{ border-left:1px solid rgba(255,255,255,.42); padding-left:15px; font-size:9px; line-height:1.8; letter-spacing:.17em; opacity:.72; }
.glass-card{
  right:5.5%;
  bottom:8%;
  width:min(310px,24vw);
  min-height:236px;
  padding:28px;
  border-radius:2px 22px 2px 22px;
  background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.06) 42%,rgba(0,0,0,.18)),rgba(18,18,18,.32);
  -webkit-backdrop-filter:blur(26px) saturate(.78);
  backdrop-filter:blur(26px) saturate(.78);
  transform:translate3d(calc(var(--glass-x) * .4),calc(var(--glass-y) * .4 + var(--glass-scroll,0px)),0) rotateX(var(--glass-rx)) rotateY(var(--glass-ry));
}
.glass-card::before{ content:""; position:absolute; width:8px; height:8px; right:-4px; top:-4px; border:1px solid #fff; border-radius:50%; }
.glass-card h2{ font-size:clamp(20px,1.7vw,28px); letter-spacing:-.035em; }
.scroll-orbit{ left:calc(var(--pad) + var(--rail-w)); bottom:35px; }

/* Quiet calibration band between the hero and editorial work. */
.home-stats{ position:relative; z-index:2; background:var(--paper); }
.home-stat{ padding-top:clamp(58px,7vw,104px); padding-bottom:clamp(58px,7vw,104px); }
.home-stat strong{ font-size:clamp(72px,8.5vw,138px); }
.client-logo-strip{ padding:8px 0; background:var(--paper-2); }
.client-logo-track img{ opacity:.52; }

/* Work: an asymmetric editorial sequence, not a repeated card grid. */
.home-work-stream{ padding:clamp(120px,13vw,210px) 0; overflow:hidden; }
.featured-side{ margin-bottom:clamp(52px,7vw,106px); }
.featured-side .eyebrow{ margin:0; }
.home-work-panels{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(16px,2.2vw,38px);
  align-items:start;
}
.featured-project{
  display:flex;
  flex-direction:column;
  border-radius:0;
  aspect-ratio:auto;
  overflow:visible;
  background:transparent;
}
.featured-project:nth-child(1){ grid-column:1/span 8; }
.featured-project:nth-child(2){ grid-column:7/span 6; margin-top:clamp(130px,18vw,310px); z-index:2; }
.featured-image{
  position:relative;
  inset:auto;
  overflow:hidden;
  background:#111;
  aspect-ratio:16/10;
  clip-path:inset(calc(var(--depth-progress,0) * 2.5%) 0 0 0);
}
.featured-project:nth-child(2) .featured-image{ aspect-ratio:4/5; }
.featured-image::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.62)); pointer-events:none; }
.featured-image img{
  height:112%;
  transform:translate3d(0,calc((var(--depth-progress,0) - .5) * -7%),0) scale(1.02);
  filter:grayscale(1) contrast(1.05);
  will-change:transform;
}
.featured-project:hover .featured-image img{ transform:translate3d(0,calc((var(--depth-progress,0) - .5) * -7%),0) scale(1.06); filter:grayscale(.08); }
.featured-project::before{
  content:attr(data-project-index) " / 02";
  display:block;
  margin-bottom:14px;
  font-size:10px;
  letter-spacing:.16em;
  color:var(--ink-45);
}
.featured-title{
  position:relative;
  right:auto;
  bottom:auto;
  text-align:left;
  color:var(--ink);
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:20px;
  padding-top:18px;
  border-top:1px solid var(--ink);
  order:2;
}
.featured-title h2{ justify-content:flex-start; font-size:clamp(26px,4vw,64px); line-height:.95; }
.featured-title p{ flex:0 0 auto; }
.project-brand{ z-index:2; }
.project-axis{ position:absolute; z-index:3; right:24px; top:24px; width:42px; height:42px; border:1px solid rgba(255,255,255,.48); border-radius:50%; }
.project-axis::before,.project-axis::after{ content:""; position:absolute; background:#fff; left:50%; top:50%; transform:translate(-50%,-50%); }
.project-axis::before{ width:18px; height:1px; }
.project-axis::after{ width:1px; height:18px; }

/* Capabilities: one dark, typographic movement after the quieter work sequence. */
.capabilities-strip{
  padding:clamp(120px,13vw,200px) 0;
  background:var(--ink);
  color:#fff;
  overflow:hidden;
}
.capabilities-strip .eyebrow,.capabilities-strip .cap-row .elev,.capabilities-strip .cap-row p{ color:rgba(255,255,255,.58); }
.cap-intro{ max-width:none; margin-bottom:clamp(70px,9vw,140px); }
.cap-intro h2{ max-width:14ch; font-size:clamp(54px,8vw,128px); line-height:.82; letter-spacing:-.065em; }
.cap-list{ position:relative; }
.cap-row{
  position:relative;
  min-height:clamp(126px,13vw,200px);
  grid-template-columns:90px minmax(260px,1.35fr) minmax(260px,.65fr) 44px;
  border-color:var(--t3x-white-line);
  isolation:isolate;
}
.cap-list .cap-row:last-child{ border-color:var(--t3x-white-line); }
.cap-row::before{
  content:attr(data-cap-index);
  position:absolute;
  z-index:-1;
  right:5%;
  top:50%;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.14);
  font-size:clamp(100px,15vw,240px);
  line-height:.7;
  letter-spacing:-.08em;
  transform:translate3d(40px,-46%,0);
  opacity:0;
  transition:opacity .45s var(--ease),transform .8s var(--ease-soft);
}
.cap-row::after{ content:""; position:absolute; z-index:-1; inset:0 -100vw; background:#fff; transform:scaleY(0); transform-origin:50% 100%; transition:transform .55s var(--ease); }
.cap-row h3{ font-size:clamp(38px,5vw,78px); letter-spacing:-.055em; }
.cap-row .arrow{ border-color:rgba(255,255,255,.3); color:#fff; }
.cap-row:hover,.cap-row:focus-visible{ color:var(--ink); }
.cap-row:hover::before,.cap-row:focus-visible::before{ opacity:1; transform:translate3d(0,-46%,0); -webkit-text-stroke-color:rgba(10,10,10,.14); }
.cap-row:hover::after,.cap-row:focus-visible::after{ transform:scaleY(1); }
.cap-row:hover p,.cap-row:focus-visible p,.cap-row:hover .elev,.cap-row:focus-visible .elev{ color:var(--ink-70); }
.cap-row:hover .arrow,.cap-row:focus-visible .arrow{ border-color:var(--ink); color:var(--ink); }
.capabilities-next{ border-color:rgba(255,255,255,.3); color:#fff; }

.is-magnetic{ --mag-x:0px; --mag-y:0px; transform:translate3d(var(--mag-x),var(--mag-y),0); }
.pill.is-magnetic:hover{ transform:translate3d(var(--mag-x),calc(var(--mag-y) - 2px),0); }

@media (max-width:1200px){
  .hero-copy .display{ font-size:clamp(68px,10vw,120px); }
  .hero-copy .lede,.hero-copy>.text-link{ margin-left:clamp(80px,16vw,190px); }
  .hero-coordinate{ right:3%; }
  .glass-card{ right:3%; }
}

@media (max-width:980px){
  .site-header{ mix-blend-mode:difference; color:#fff; }
  .site-header.is-scrolled{ mix-blend-mode:normal; color:var(--ink); }
  .home-hero{ min-height:max(820px,100svh); }
  .home-hero-media{ position:absolute; height:57svh; clip-path:polygon(0 0,100% 0,100% 88%,0 100%); }
  .hero-field{ height:57svh; background:none; }
  .hero-field::before{ left:50%; }
  .hero-field::after{ top:72%; }
  .hero-copy{ min-height:max(820px,100svh); padding:41svh 20px 72px; justify-content:flex-start; }
  .hero-copy .eyebrow{ color:#fff; margin-bottom:24px; text-shadow:0 1px 12px rgba(0,0,0,.4); }
  .hero-copy .display{ width:100%; font-size:clamp(58px,10.8vw,92px); line-height:.82; margin-bottom:28px; }
  .hero-line{ overflow:hidden; }
  .hero-line>span{ color:var(--ink) !important; background:none; }
  .hero-line-primary>span{ color:#fff !important; text-shadow:0 2px 20px rgba(0,0,0,.2); }
  .hero-line-secondary{ margin-left:8vw; }
  .hero-copy .lede,.hero-copy>.text-link{ width:min(38ch,72vw); margin-left:8vw; }
  .hero-rings{ display:block; left:auto; right:-20%; top:6%; width:min(80vw,540px); }
  .hero-coordinate{ top:104px; right:20px; }
  .hero-coordinate>span{ font-size:56px; }
  .glass-card{ position:absolute; right:20px; top:170px; bottom:auto; width:190px; min-height:142px; margin:0; padding:18px; border-radius:2px 16px 2px 16px; }
  .glass-card .glass-rule{ margin:10px 0; }
  .glass-card h2{ font-size:17px; }
  .glass-card .card-foot{ margin-top:12px; }
  .home-work-panels{ margin:0 20px; }
  .featured-project:nth-child(1){ grid-column:1/span 9; }
  .featured-project:nth-child(2){ grid-column:6/span 7; margin-top:22vw; }
  .cap-row{ grid-template-columns:58px minmax(0,1fr) 44px; }
  .cap-row p{ grid-column:2/3; }
}

@media (max-width:700px){
  body::before{ opacity:.024; }
  .home-hero{ min-height:max(790px,100svh); }
  .home-hero-media{ height:53svh; min-height:410px; clip-path:polygon(0 0,100% 0,100% 78%,0 86%); }
  .hero-copy{ min-height:max(790px,100svh); padding:36svh 20px 58px; }
  .hero-copy .display{ font-size:clamp(42px,12.5vw,62px); line-height:.84; letter-spacing:-.06em; }
  .hero-line-secondary{ margin-left:0; }
  .hero-copy .lede,.hero-copy>.text-link{ margin-left:0; width:min(32ch,calc(100vw - 40px)); }
  .hero-copy .eyebrow{ max-width:22ch; }
  .hero-coordinate{ top:92px; }
  .hero-coordinate small{ display:none; }
  .hero-coordinate>span{ font-size:50px; }
  .glass-card{ top:165px; right:20px; width:160px; min-height:122px; padding:15px; }
  .glass-card h2{ font-size:15px; line-height:1.15; }
  .glass-card .number,.glass-card .card-foot{ font-size:7px; }
  .home-stats{ grid-template-columns:1fr 1fr; }
  .home-stat strong{ font-size:clamp(50px,16vw,76px); }
  .home-work-stream{ padding:110px 0; }
  .featured-side{ align-items:flex-end; margin-bottom:48px; }
  .home-work-panels{ display:block; padding:0; }
  .featured-project:nth-child(1),.featured-project:nth-child(2){ margin:0 0 86px; }
  .featured-project:nth-child(2){ margin-left:14vw; }
  .featured-project:nth-child(1) .featured-image{ width:calc(100% + 20px); margin-left:-20px; aspect-ratio:4/4.2; }
  .featured-project:nth-child(2) .featured-image{ aspect-ratio:4/5; }
  .featured-title{ display:block; }
  .featured-title h2{ font-size:clamp(30px,9vw,46px); }
  .featured-title p{ margin-top:10px; }
  .project-brand{ left:18px; bottom:18px; }
  .project-axis{ width:36px; height:36px; top:16px; right:16px; }
  .capabilities-strip{ padding:110px 0 130px; }
  .cap-intro{ margin-bottom:70px; padding:0 20px; }
  .cap-intro h2{ font-size:clamp(50px,16vw,78px); }
  .cap-list{ margin:0 20px; padding:0; }
  .cap-row{ min-height:0; grid-template-columns:42px minmax(0,1fr) 38px; padding:34px 0; gap:10px; }
  .cap-row h3{ font-size:clamp(31px,10vw,48px); }
  .cap-row p{ font-size:12px; max-width:29ch; }
  .cap-row::before{ font-size:130px; }
  .capabilities-next{ bottom:48px; }
}

@media (max-width:430px){
  .hero-copy{ padding-left:16px; padding-right:16px; }
  .hero-copy .display{ font-size:clamp(42px,12.5vw,54px); }
  .hero-coordinate{ right:16px; }
  .glass-card{ right:16px; }
  .featured-side{ padding:0 16px; }
  .home-work-panels{ margin:0 16px; }
  .cap-intro,.cap-list{ margin-left:0; margin-right:0; padding-left:16px; padding-right:16px; }
}

@media (max-width:350px){
  .hero-coordinate{ display:none; }
  .glass-card{ width:148px; }
  .hero-copy .display{ font-size:40px; }
  .featured-side .text-link{ font-size:10px; }
}

@media (prefers-reduced-motion:reduce){
  .home-hero-media img,.hero-rings,.hero-coordinate,.featured-image img{ transform:none !important; will-change:auto; }
  .featured-image{ clip-path:none; }
  .cap-row::before,.cap-row::after,.transition-curtain::after{ transition:none !important; }
  .is-magnetic{ transform:none !important; }
}

main,section,article,div{ min-width:0; }
p,h1,h2,h3,a{ overflow-wrap:anywhere; }

/* ========================================================================== */
/* T3X 8.1 — Creative Director refinement                                      */
/* Extends the connected-field grammar across Services, Work, About, Contact.  */
/* ========================================================================== */

html{ scroll-padding-top:96px; }

/* Services / three connected modes */
.services-intro{
  position:relative;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  min-height:min(860px,88svh);
  align-items:center;
  padding:clamp(150px,17vh,210px) var(--pad) clamp(90px,10vh,130px) calc(var(--pad) + var(--rail-w));
  overflow:hidden;
  border-bottom:1px solid var(--ink-18);
}
.services-intro::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0,transparent 49.9%,var(--ink-18) 50%,transparent 50.1%);
}
.services-copy{ position:relative; top:auto; grid-column:1/span 10; max-width:none; margin:0; z-index:2; }
.services-copy .breadcrumbs{ margin-bottom:clamp(38px,6vh,72px); }
.services-copy h1,.services-copy .page-title{
  max-width:11ch;
  font-size:clamp(68px,10.2vw,168px);
  line-height:.79;
  letter-spacing:-.07em;
  margin:0;
}
.services-copy .lede{
  width:min(38ch,30vw);
  margin:clamp(36px,6vh,70px) 0 0 34%;
  font-size:clamp(15px,1.25vw,18px);
}
.services-coordinate{
  position:absolute;
  right:var(--pad);
  top:clamp(130px,15vh,180px);
  display:flex;
  align-items:flex-start;
  gap:18px;
}
.services-coordinate>span{ font-size:clamp(68px,7vw,112px); line-height:.78; letter-spacing:-.07em; }
.services-coordinate small{ padding-left:14px; border-left:1px solid var(--ink-18); font-size:9px; line-height:1.7; letter-spacing:.16em; color:var(--ink-45); }

.services-triad{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  min-height:760px;
  padding-left:var(--rail-w);
  background:var(--ink);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.triad-orbit{ position:absolute; z-index:-1; width:min(62vw,900px); aspect-ratio:1; border:1px solid rgba(255,255,255,.12); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); }
.triad-orbit span{ position:absolute; inset:18%; border:1px dashed rgba(255,255,255,.1); border-radius:50%; }
.triad-orbit i{ position:absolute; width:7px; height:7px; background:#fff; border-radius:50%; left:50%; top:-4px; }
.dimension-panel{
  --dimension-shift:0px;
  position:relative;
  min-height:760px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:80px clamp(30px,4vw,70px);
  border-left:1px solid rgba(255,255,255,.2);
  overflow:hidden;
  transition:color .45s var(--ease),transform .7s var(--ease-soft);
}
.dimension-panel:nth-of-type(2){ padding-bottom:190px; }
.dimension-panel:nth-of-type(3){ padding-bottom:310px; }
.dimension-panel::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--paper); transform:translateY(101%); transition:transform .7s var(--ease-soft); }
.dimension-panel::after{ content:attr(data-dimension); position:absolute; right:-.04em; top:.02em; z-index:-2; font-size:clamp(160px,22vw,360px); line-height:.8; letter-spacing:-.09em; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.13); transition:transform .8s var(--ease-soft),-webkit-text-stroke-color .4s; }
.dimension-no{ font-size:10px; letter-spacing:.16em; color:rgba(255,255,255,.56); margin-bottom:auto; }
.dimension-icon{ width:42px; height:42px; margin-bottom:34px; }
.dimension-icon svg{ width:100%; height:100%; stroke-width:1.1; }
.dimension-panel h2{ font-size:clamp(36px,4.8vw,74px); line-height:.92; letter-spacing:-.055em; }
.dimension-panel p{ max-width:31ch; margin:22px 0 0; color:rgba(255,255,255,.58); font-size:14px; line-height:1.55; }
.dimension-link{ position:absolute; right:34px; bottom:34px; width:48px; height:48px; border:1px solid rgba(255,255,255,.28); border-radius:50%; display:grid; place-items:center; transition:transform .4s var(--ease),border-color .4s; }
.dimension-panel:hover,.dimension-panel:focus-visible{ color:var(--ink); transform:translateY(-10px); }
.dimension-panel:hover::before,.dimension-panel:focus-visible::before{ transform:none; }
.dimension-panel:hover::after,.dimension-panel:focus-visible::after{ transform:translateX(-7%); -webkit-text-stroke-color:rgba(10,10,10,.12); }
.dimension-panel:hover .dimension-no,.dimension-panel:focus-visible .dimension-no,.dimension-panel:hover p,.dimension-panel:focus-visible p{ color:var(--ink-70); }
.dimension-panel:hover .dimension-link,.dimension-panel:focus-visible .dimension-link{ transform:rotate(45deg); border-color:var(--ink); }

.services-index{ padding:clamp(120px,14vw,220px) var(--pad) clamp(110px,13vw,190px) calc(var(--pad) + var(--rail-w)); }
.services-index-heading{ display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:start; margin-bottom:clamp(70px,8vw,120px); }
.services-index-heading h2{ max-width:13ch; font-size:clamp(48px,7vw,112px); line-height:.84; letter-spacing:-.065em; }
.services-list{ display:block; border:0; }
.service-row{
  position:relative;
  min-height:0;
  display:grid;
  grid-template-columns:70px 46px minmax(260px,1.2fr) minmax(260px,.8fr) 48px;
  grid-template-rows:auto;
  align-items:center;
  gap:clamp(18px,2.5vw,46px);
  padding:clamp(30px,3.2vw,48px) 0;
  border:0;
  border-top:1px solid var(--ink-18);
  overflow:hidden;
  isolation:isolate;
}
.services-list .service-row:last-child{ border-bottom:1px solid var(--ink-18); }
.service-row::before{ content:""; position:absolute; inset:0 -100vw; z-index:-1; background:var(--ink); transform:scaleY(0); transform-origin:50% 100%; transition:transform .5s var(--ease); }
.service-row:hover,.service-row:focus-visible{ background:transparent; color:#fff; transform:none; }
.service-row:hover::before,.service-row:focus-visible::before{ transform:scaleY(1); }
.service-row>div{ display:contents; }
.service-row h2{ font-size:clamp(28px,3.5vw,56px); line-height:.96; letter-spacing:-.05em; }
.service-row p{ margin:0; max-width:38ch; font-size:14px; }
.service-row:hover p,.service-row:focus-visible p,.service-row:hover .row-no,.service-row:focus-visible .row-no{ color:rgba(255,255,255,.62); }
.service-row:hover .service-mobile-icon,.service-row:focus-visible .service-mobile-icon{ color:#fff; }
.service-row:hover .plus,.service-row:focus-visible .plus{ border-color:rgba(255,255,255,.5); color:#fff; }
.services-cta{ margin:0; border-radius:0; min-height:48svh; padding:clamp(80px,10vw,150px) var(--pad) clamp(80px,10vw,150px) calc(var(--pad) + var(--rail-w)); }
.services-cta h2{ font-size:clamp(52px,8vw,128px); line-height:.84; letter-spacing:-.065em; }

/* Work archive / exhibition sequence */
body.post-type-archive-t3x_work main#main-content.work-archive{ padding-top:clamp(160px,19vh,230px); padding-bottom:clamp(120px,12vw,190px); }
body.post-type-archive-t3x_work .work-heading{ min-height:48svh; align-items:flex-start; margin-bottom:clamp(90px,12vw,180px); }
body.post-type-archive-t3x_work .work-heading .page-title{ max-width:10ch; font-size:clamp(70px,10vw,160px); line-height:.8; letter-spacing:-.07em; }
.work-grid{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(50px,8vw,140px) clamp(18px,2.5vw,42px); align-items:start; }
.work-card{ display:block; border-radius:0; overflow:hidden; }
.work-card:nth-child(6n+1){ grid-column:1/span 8; aspect-ratio:16/10; }
.work-card:nth-child(6n+2){ grid-column:8/span 5; aspect-ratio:4/5; margin-top:clamp(120px,14vw,230px); }
.work-card:nth-child(6n+3){ grid-column:1/span 5; aspect-ratio:4/5; }
.work-card:nth-child(6n+4){ grid-column:6/span 7; aspect-ratio:16/11; margin-top:clamp(80px,10vw,170px); }
.work-card:nth-child(6n+5){ grid-column:2/span 6; aspect-ratio:1/1; }
.work-card:nth-child(6n+6){ grid-column:8/span 5; aspect-ratio:4/5; margin-top:clamp(120px,14vw,220px); }
.work-card::before{ content:attr(data-project-index) " / 06"; position:absolute; z-index:3; top:20px; right:20px; color:#fff; font-size:9px; letter-spacing:.15em; }
.work-card img{ height:112%; transform:translate3d(0,calc((var(--depth-progress,0) - .5) * -7%),0) scale(1.025); }
.work-card:hover img,.work-card:focus-visible img{ transform:translate3d(0,calc((var(--depth-progress,0) - .5) * -7%),0) scale(1.065); }
.work-card-meta{ left:clamp(18px,2.2vw,34px); bottom:clamp(18px,2.2vw,32px); }
.work-card-meta h2{ font-size:clamp(25px,3.3vw,52px); line-height:.94; letter-spacing:-.045em; }
.work-logo{ top:clamp(18px,2vw,30px); left:clamp(18px,2vw,30px); }

/* About / belief meets operator */
.about-layout{
  position:relative;
  min-height:max(820px,100svh);
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:0;
  padding:0 0 0 calc(var(--pad) + var(--rail-w));
  align-items:stretch;
  overflow:hidden;
}
.about-copy{ position:relative; z-index:3; justify-content:center; padding:140px clamp(40px,6vw,100px) 150px 0; }
.about-copy h1{ max-width:11ch; font-size:clamp(52px,6.5vw,106px); line-height:.86; letter-spacing:-.06em; margin:18px 0 34px; }
.about-copy .about-intro{ max-width:40ch; margin-left:clamp(30px,7vw,120px); }
.about-copy>.text-link,.about-copy>.founder-line{ margin-left:clamp(30px,7vw,120px); }
.founder-visual{ min-height:max(820px,100svh); }
.founder-image{ min-height:max(820px,100svh); border-radius:0; clip-path:polygon(9% 0,100% 0,100% 100%,0 100%); }
.founder-image img{ transform:scale(1.035); transition:transform 1.2s var(--ease-soft),filter .8s var(--ease); }
.founder-image:hover img{ transform:scale(1); filter:grayscale(.35); }
.stats-glass{ left:auto; right:var(--pad); bottom:var(--pad); border-radius:2px 20px 2px 20px; }
.about-axis{ position:absolute; z-index:4; left:calc(var(--pad) + var(--rail-w)); bottom:28px; display:flex; gap:8px; align-items:center; font-size:9px; letter-spacing:.16em; }
.about-axis span:last-of-type{ color:var(--ink-45); }
.about-axis i{ display:block; width:64px; height:1px; background:var(--ink-18); margin-left:12px; }

/* Contact / initiation field */
.contact-layout{
  min-height:max(820px,100svh);
  grid-template-columns:minmax(0,1.1fr) minmax(400px,.9fr);
  gap:clamp(40px,6vw,110px);
  padding:clamp(145px,16vh,190px) var(--pad) 90px calc(var(--pad) + var(--rail-w));
  isolation:isolate;
}
.contact-layout::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,var(--paper) 0,var(--paper) 46%,transparent 60%); }
.contact-art{ z-index:-2; inset:0; left:43%; opacity:1; clip-path:polygon(8% 0,100% 0,100% 100%,0 100%); }
.contact-art img{ filter:grayscale(1) contrast(1.08) brightness(.68); transform:scale(1.035); }
.contact-art::after{ background:linear-gradient(90deg,rgba(243,242,238,.15),transparent 32%,rgba(0,0,0,.36)); }
.contact-left{ max-width:none; align-self:center; }
.contact-left h1{ max-width:11ch; font-size:clamp(64px,8.2vw,136px); line-height:.8; letter-spacing:-.07em; margin:20px 0 50px; }
.contact-details{ max-width:620px; margin-left:clamp(28px,7vw,120px); }
.contact-form-wrap{ width:100%; max-width:520px; padding:clamp(28px,3vw,46px); border-radius:2px 24px 2px 24px; background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.34) 54%,rgba(255,255,255,.12)),rgba(255,255,255,.4); }
.contact-form-wrap h2{ font-size:clamp(28px,2.4vw,38px); letter-spacing:-.04em; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:2px solid var(--ink); outline-offset:4px; border-color:var(--ink); }
.contact-signal{ position:absolute; z-index:2; right:var(--pad); top:110px; color:#fff; display:flex; align-items:flex-start; gap:16px; }
.contact-signal span{ font-size:9px; letter-spacing:.18em; border-top:1px solid rgba(255,255,255,.5); padding-top:9px; }
.contact-signal i{ font-style:normal; font-size:clamp(64px,7vw,110px); line-height:.7; letter-spacing:-.07em; }

/* Detail pages inherit the same sharper editorial material. */
.service-hero h1,.case-copy h1{ letter-spacing:-.06em; }
.service-hero h1{ font-size:clamp(58px,9vw,144px); line-height:.82; }
.deliverables-grid{ gap:0; }
.deliverable{ min-height:250px; padding:30px clamp(18px,2vw,34px); border-right:1px solid var(--ink-18); }
.deliverable:first-child{ padding-left:0; }
.deliverable:last-child{ border-right:0; }
.case-media,.case-gallery figure,.related-card>div{ border-radius:0; }
.case-facts{ background:var(--ink); color:#fff; border:0; margin-left:0 !important; margin-right:0; padding:clamp(70px,8vw,120px) var(--pad) clamp(70px,8vw,120px) calc(var(--pad) + var(--rail-w)); }
.case-fact h2,.case-fact p{ color:inherit; }
.case-fact h2{ opacity:.55; }
.case-fact p{ font-size:clamp(15px,1.45vw,19px); }
.case-facts .case-next{ right:var(--pad); bottom:clamp(40px,5vw,80px); border-color:rgba(255,255,255,.35); color:#fff; }
.global-cta{ border-radius:0; min-height:42svh; }

@media (max-width:1280px){
  .services-intro{ grid-template-columns:repeat(12,minmax(0,1fr)); }
  .services-copy{ grid-column:1/span 10; }
  .services-copy .lede{ margin-left:20%; width:min(42ch,46vw); }
}

@media (max-width:980px){
  .services-intro{ min-height:760px; padding:140px 20px 90px; }
  .services-copy{ grid-column:1/-1; }
  .services-copy h1,.services-copy .page-title{ font-size:clamp(66px,13vw,112px); }
  .services-copy .lede{ width:min(40ch,65vw); margin-left:15%; }
  .services-coordinate{ top:120px; right:20px; }
  .services-triad{ padding-left:0; min-height:650px; }
  .dimension-panel{ min-height:650px; padding:55px 24px; }
  .dimension-panel:nth-of-type(2){ padding-bottom:130px; }
  .dimension-panel:nth-of-type(3){ padding-bottom:210px; }
  .dimension-panel h2{ font-size:clamp(30px,5vw,46px); }
  .dimension-panel p{ font-size:12px; }
  .dimension-link{ right:20px; bottom:20px; }
  .services-index{ padding:120px 20px; }
  .services-index-heading{ grid-template-columns:1fr; }
  .service-row{ grid-template-columns:48px 38px minmax(0,1fr) 44px; gap:16px; }
  .service-row>div{ display:block; grid-column:3; }
  .service-row p{ margin-top:10px; }
  .service-row .plus{ grid-column:4; }
  .services-cta{ margin:0; padding:90px 20px; }
  body.post-type-archive-t3x_work .work-heading{ min-height:35svh; }
  .about-layout{ min-height:0; grid-template-columns:1fr; padding:0; gap:0; }
  .about-copy{ order:1; min-height:680px; padding:150px 20px 110px; }
  .about-copy h1{ font-size:clamp(58px,11vw,90px); }
  .about-copy .about-intro,.about-copy>.text-link,.about-copy>.founder-line{ margin-left:12%; }
  .founder-visual{ order:2; min-height:700px; }
  .founder-image{ min-height:700px; clip-path:polygon(0 7%,100% 0,100% 100%,0 100%); }
  .about-axis{ left:20px; bottom:auto; top:630px; }
  .contact-layout{ min-height:0; grid-template-columns:1fr; padding:130px 20px 80px; gap:50px; }
  .contact-layout::before{ background:linear-gradient(180deg,transparent 0,transparent 34svh,var(--paper) 52svh,var(--paper) 100%); }
  .contact-art{ position:absolute; inset:0 0 auto; left:0; height:52svh; min-height:430px; border-radius:0; clip-path:polygon(0 0,100% 0,100% 88%,0 100%); }
  .contact-left{ padding-top:25svh; }
  .contact-left .eyebrow{ color:#fff; }
  .contact-left h1{ font-size:clamp(62px,13vw,104px); }
  .contact-details{ margin-left:10%; }
  .contact-form-wrap{ margin:0 0 0 10%; width:90%; }
  .contact-signal{ top:100px; right:20px; }
  .case-facts{ padding-left:20px; padding-right:20px; }
}

@media (max-width:700px){
  .services-intro{ min-height:max(700px,92svh); padding:125px 16px 72px; align-items:center; }
  .services-copy h1,.services-copy .page-title{ font-size:clamp(54px,16vw,78px); line-height:.82; }
  .services-copy .breadcrumbs{ margin-bottom:44px; }
  .services-copy .lede{ width:min(35ch,calc(100vw - 32px)); margin:42px 0 0; }
  .services-coordinate{ top:96px; right:16px; }
  .services-coordinate small{ display:none; }
  .services-coordinate>span{ font-size:54px; }
  .services-triad{ display:block; min-height:0; }
  .triad-orbit{ width:120vw; left:76%; top:28%; }
  .dimension-panel,.dimension-panel:nth-of-type(2),.dimension-panel:nth-of-type(3){ min-height:390px; padding:42px 20px 44px; justify-content:flex-end; border-left:0; border-top:1px solid rgba(255,255,255,.2); }
  .dimension-panel::after{ font-size:210px; top:18px; right:-10px; }
  .dimension-no{ margin-bottom:auto; }
  .dimension-icon{ width:36px; height:36px; margin-bottom:26px; }
  .dimension-panel h2{ font-size:clamp(42px,13vw,60px); }
  .dimension-panel p{ max-width:28ch; }
  .dimension-link{ width:44px; height:44px; }
  .services-index{ padding:105px 16px; }
  .services-index-heading{ margin-bottom:68px; }
  .services-index-heading h2{ font-size:clamp(48px,14vw,66px); }
  .service-row{ grid-template-columns:30px 30px minmax(0,1fr) 38px; gap:10px; padding:26px 0; }
  .service-row h2{ font-size:clamp(25px,8vw,34px); }
  .service-row p{ font-size:12px; }
  .services-cta h2{ font-size:clamp(50px,15vw,70px); }
  body.post-type-archive-t3x_work main#main-content.work-archive{ padding:125px 16px 100px; }
  body.post-type-archive-t3x_work .work-heading{ min-height:0; margin-bottom:90px; }
  body.post-type-archive-t3x_work .work-heading .page-title{ font-size:clamp(58px,17vw,78px); }
  .work-grid{ display:block; }
  .work-card:nth-child(n){ width:100%; aspect-ratio:4/5; margin:0 0 80px; }
  .work-card:nth-child(even){ width:88%; margin-left:12%; }
  .work-card:nth-child(3n){ aspect-ratio:1/1; }
  .work-card-meta h2{ font-size:clamp(28px,9vw,42px); }
  .about-copy{ min-height:690px; padding:125px 16px 100px; }
  .about-copy h1{ font-size:clamp(50px,15vw,70px); }
  .about-copy .about-intro,.about-copy>.text-link,.about-copy>.founder-line{ margin-left:0; }
  .about-axis{ left:16px; top:638px; }
  .founder-visual{ min-height:0; }
  .founder-image{ min-height:0; aspect-ratio:4/5.6; }
  .stats-glass{ right:16px; left:16px; bottom:88px; }
  .contact-layout{ padding:112px 16px 70px; }
  .contact-art{ min-height:400px; height:52svh; }
  .contact-left{ padding-top:24svh; }
  .contact-left h1{ font-size:clamp(54px,15vw,72px); margin-bottom:40px; }
  .contact-details{ margin-left:0; }
  .contact-form-wrap{ margin:0; width:100%; padding:28px 18px; }
  .contact-signal{ top:92px; right:16px; }
  .contact-signal i{ font-size:52px; }
  .deliverable{ min-height:0; padding:24px 14px; }
}

@media (max-width:430px){
  .services-coordinate{ display:none; }
  .service-row{ grid-template-columns:26px 26px minmax(0,1fr) 36px; }
  .service-row h2{ font-size:25px; }
  .service-mobile-icon{ width:26px; height:26px; }
  .contact-left h1{ font-size:clamp(50px,14vw,62px); }
  .contact-details a,.contact-details>div{ font-size:14px; }
}

@media (hover:none){
  .dimension-panel:hover{ color:#fff; transform:none; }
  .dimension-panel:hover::before{ transform:translateY(101%); }
  .dimension-panel:hover::after{ transform:none; -webkit-text-stroke-color:rgba(255,255,255,.13); }
  .dimension-panel:hover .dimension-no,.dimension-panel:hover p{ color:rgba(255,255,255,.58); }
  .dimension-panel:hover .dimension-link{ transform:none; border-color:rgba(255,255,255,.28); }
  .service-row:hover{ color:var(--ink); }
  .service-row:hover::before{ transform:scaleY(0); }
  .service-row:hover p,.service-row:hover .row-no{ color:var(--ink-45); }
  .service-row:hover .service-mobile-icon{ color:var(--ink); }
  .service-row:hover .plus{ color:var(--ink-70); border-color:var(--ink-18); transform:none; }
}

@media (max-width:700px){
  .dimension-panel:hover{ color:#fff; transform:none; }
  .dimension-panel:hover::before{ transform:translateY(101%); }
  .dimension-panel:hover::after{ transform:none; -webkit-text-stroke-color:rgba(255,255,255,.13); }
  .dimension-panel:hover .dimension-no,.dimension-panel:hover p{ color:rgba(255,255,255,.58); }
  .dimension-panel:hover .dimension-link{ transform:none; border-color:rgba(255,255,255,.28); }
  .service-row:hover{ color:var(--ink); }
  .service-row:hover::before{ transform:scaleY(0); }
  .service-row:hover p,.service-row:hover .row-no{ color:var(--ink-45); }
  .service-row:hover .service-mobile-icon{ color:var(--ink); }
  .service-row:hover .plus{ color:var(--ink-70); border-color:var(--ink-18); transform:none; }
}

@media (prefers-reduced-motion:reduce){
  .dimension-panel,.dimension-panel::before,.dimension-panel::after,.founder-image img,.work-card img{ transition:none !important; transform:none !important; }
}

/* ========================================================================== 
   8.1.2 — final responsive direction
   The mobile hero, navigation and footer are independently composed rather
   than scaled-down desktop arrangements. Homepage work and capabilities form
   two distinct editorial movements: a three-frame exhibition and a triad.
   ========================================================================== */

html,body{ overflow-x:clip; }

/* Navigation is an opaque, isolated surface. */
body.menu-open{ overflow:hidden; overscroll-behavior:none; touch-action:none; }
.menu-overlay{
  z-index:80;
  min-height:100dvh;
  height:100dvh;
  overflow-y:auto;
  overscroll-behavior:contain;
  justify-content:flex-start;
  gap:0;
  padding:max(116px,calc(92px + env(safe-area-inset-top))) var(--pad) max(34px,calc(24px + env(safe-area-inset-bottom)));
  background:#090909;
  opacity:0;
  transform:translate3d(0,-2%,0);
  isolation:isolate;
}
.menu-overlay::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:#090909;
}
.menu-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.23;
  background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.12) 50%,transparent 50.1%),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:100% 100%,100% 22vh;
}
body.menu-open .site-header{ z-index:90; color:#fff; background:transparent; border-color:transparent; mix-blend-mode:normal; -webkit-backdrop-filter:none; backdrop-filter:none; }
body.menu-open .site-header .brand img{ filter:invert(1); }
body.menu-open .menu-toggle{ border-color:rgba(255,255,255,.45); }
body.menu-open .menu-toggle-lines,body.menu-open .menu-toggle-lines::before,body.menu-open .menu-toggle-lines::after{ background:#fff; }
body.menu-open .menu-toggle-lines{ background:transparent; }
.t3x-overlay-menu{ counter-reset:t3x-menu; }
.t3x-overlay-menu li{ position:relative; counter-increment:t3x-menu; }
.t3x-overlay-menu li::before{
  content:"0" counter(t3x-menu);
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.38);
  font-size:9px;
  letter-spacing:.14em;
}
.overlay-nav ul a,.t3x-overlay-menu a{ padding:8px 38px 8px 0; line-height:.94; }
.menu-overlay a:focus-visible,.menu-toggle:focus-visible{ outline:2px solid currentColor; outline-offset:4px; }
.overlay-meta{ margin-top:auto; padding-top:34px; display:flex; justify-content:space-between; gap:20px; }

/* Selected work becomes one compact three-frame exhibition on desktop. */
.home-work-stream{ background:var(--paper); }
.featured-project::before{ content:attr(data-project-index) " / 03"; }
@media (min-width:981px){
  .home-work-stream{ padding:clamp(120px,11vw,180px) 0 clamp(130px,12vw,200px); }
  .home-work-panels{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--ink-18); }
  .featured-project:nth-child(n){ grid-column:auto; margin:0; z-index:auto; background:var(--paper); padding:0 clamp(16px,1.8vw,30px) clamp(24px,2vw,34px); }
  .featured-project:nth-child(2){ padding-top:clamp(56px,5vw,86px); }
  .featured-project:nth-child(3){ padding-top:clamp(110px,9vw,156px); }
  .featured-project:nth-child(n) .featured-image{ width:100%; margin:0; aspect-ratio:4/4.65; }
  .featured-project:nth-child(2) .featured-image{ aspect-ratio:4/4.3; }
  .featured-project:nth-child(3) .featured-image{ aspect-ratio:4/3.95; }
  .featured-title{ display:block; min-height:92px; }
  .featured-title h2{ font-size:clamp(26px,2.65vw,46px); }
  .featured-title p{ margin-top:10px; }
}

/* Strategy / Identity / Digital operate as one continuous system. */
@media (min-width:701px){
  .capabilities-strip .cap-list{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--t3x-white-line); border-bottom:1px solid var(--t3x-white-line); }
  .capabilities-strip .cap-row{
    min-height:clamp(390px,39vw,570px);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:clamp(28px,3vw,48px);
    border:0;
    border-left:1px solid var(--t3x-white-line);
    overflow:hidden;
  }
  .capabilities-strip .cap-row:first-child{ border-left:0; }
  .capabilities-strip .cap-row .elev{ margin-bottom:auto; }
  .capabilities-strip .cap-row h3{ max-width:8ch; font-size:clamp(40px,4.8vw,76px); }
  .capabilities-strip .cap-row p{ max-width:31ch; margin:24px 0 clamp(38px,5vw,76px); }
  .capabilities-strip .cap-row .arrow{ align-self:flex-end; }
  .capabilities-strip .cap-row::before{ right:14px; top:auto; bottom:8px; font-size:clamp(118px,14vw,220px); transform:translate3d(32px,24%,0); opacity:.18; }
  .capabilities-strip .cap-row:hover::before,.capabilities-strip .cap-row:focus-visible::before{ transform:translate3d(0,24%,0); opacity:.25; }
  .capabilities-strip .cap-row::after{ inset:0; transform:scaleY(0); }
}

/* A decisive closing beat before the footer. */
.home-final-cta{
  min-height:70svh;
  padding:clamp(96px,11vw,180px) var(--pad) clamp(90px,10vw,160px) calc(var(--pad) + var(--rail-w));
  background:var(--paper-2);
  overflow:hidden;
}
.home-final-cta-grid{ display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr); gap:clamp(36px,7vw,120px); align-items:end; margin-top:clamp(70px,9vw,140px); }
.home-final-cta h2{ font-size:clamp(78px,12vw,196px); line-height:.76; letter-spacing:-.075em; font-weight:500; }
.home-final-cta h2 span{ display:block; margin-left:8vw; color:transparent; -webkit-text-stroke:1px var(--ink); }
.home-final-cta-action{ padding-bottom:10px; }
.home-final-cta-action p{ max-width:26ch; margin:0 0 30px; color:var(--ink-45); }

/* Footer is a compact final composition, not leftover utility copy. */
.site-footer{
  position:relative;
  margin:0;
  padding:clamp(54px,6vw,92px) var(--pad) max(30px,calc(24px + env(safe-area-inset-bottom))) calc(var(--pad) + var(--rail-w));
  border:0;
  display:grid;
  grid-template-columns:minmax(280px,1.5fr) minmax(180px,.55fr) minmax(180px,.55fr);
  align-items:start;
  gap:clamp(36px,6vw,110px);
  background:#090909;
  color:rgba(255,255,255,.68);
  text-align:left;
  font-size:12px;
  letter-spacing:.035em;
}
.site-footer::before{ content:""; position:absolute; left:calc(var(--pad) + var(--rail-w)); right:var(--pad); top:0; height:1px; background:rgba(255,255,255,.18); }
.footer-lead{ display:flex; flex-direction:column; align-items:flex-start; }
.footer-brand{ color:#fff; font-size:clamp(48px,6vw,88px); line-height:.78; letter-spacing:-.065em; font-weight:500; min-height:0 !important; }
.footer-brand sup{ font-size:.25em; vertical-align:top; margin-left:3px; }
.footer-lead p{ max-width:30ch; margin:28px 0 0; }
.footer-contact,.footer-social{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.footer-label{ margin-bottom:18px; color:rgba(255,255,255,.34); font-size:9px; text-transform:uppercase; letter-spacing:.16em; }
.site-footer a{ color:inherit; min-height:28px; transition:color .25s ease; }
.site-footer a:hover{ color:#fff; }
.footer-base{ grid-column:1/-1; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding-top:clamp(54px,6vw,90px); border-top:1px solid rgba(255,255,255,.12); }
.footer-base strong{ color:#fff; font-size:clamp(18px,2vw,28px); letter-spacing:-.035em; }

@media (max-width:980px){
  .site-header{ min-height:76px; padding:14px 20px; color:var(--ink); background:rgba(243,242,238,.93); border-bottom:1px solid var(--ink-18); mix-blend-mode:normal; -webkit-backdrop-filter:blur(16px) saturate(.9); backdrop-filter:blur(16px) saturate(.9); }
  .site-header.is-scrolled{ padding:12px 20px; background:rgba(243,242,238,.93); }
  .site-header .brand img,.site-header .brand .custom-logo{ filter:none; }
  .brand{ height:21px; }
  .menu-toggle{ width:50px; height:50px; border-color:var(--ink); }
  .menu-overlay{ padding-left:20px; padding-right:20px; }

  .home-hero{ min-height:0; padding-top:76px; display:flex; flex-direction:column; overflow:hidden; }
  .home-hero::after{ display:none; }
  .home-hero-media{ order:1; position:relative; inset:auto; left:auto; width:100%; height:clamp(420px,59vw,560px); min-height:0; clip-path:none; flex:0 0 auto; }
  .home-hero-media img{ inset:-5% -2%; width:104%; height:110%; }
  .hero-field{ inset:76px 0 auto; height:clamp(420px,59vw,560px); background:none; }
  .hero-field::before{ left:50%; }
  .hero-field::after{ top:66%; }
  .hero-copy{ order:2; min-height:0; padding:clamp(46px,8vw,76px) 20px clamp(72px,10vw,110px); background:var(--paper); }
  .hero-copy .eyebrow{ max-width:28ch; margin:0 0 34px; color:var(--ink-45); text-shadow:none; }
  .hero-copy .display{ width:100%; margin:0 0 32px; font-size:clamp(58px,11vw,92px); line-height:.83; }
  .hero-line{ overflow:visible; }
  .hero-line>span,.hero-line-primary>span{ width:max-content; color:var(--ink) !important; background:none; text-shadow:none; white-space:nowrap; overflow-wrap:normal; }
  .hero-line-secondary{ margin-left:7vw; }
  .hero-copy .lede,.hero-copy>.text-link{ width:min(40ch,76vw); margin-left:15vw; }
  .hero-rings{ left:auto; right:-15%; top:112px; width:min(63vw,490px); }
  .hero-coordinate{ top:112px; right:20px; }
  .glass-card{ top:clamp(220px,29vw,290px); right:20px; bottom:auto; width:190px; min-height:146px; }
  .scroll-orbit{ display:none; }

  .home-work-panels{ grid-template-columns:repeat(12,minmax(0,1fr)); gap:30px 18px; }
  .featured-project:nth-child(1){ grid-column:1/span 6; }
  .featured-project:nth-child(2){ grid-column:7/span 6; margin-top:72px; }
  .featured-project:nth-child(3){ grid-column:3/span 8; margin-top:30px; }
  .featured-project:nth-child(n) .featured-image{ aspect-ratio:4/5; }
  .featured-project:nth-child(3) .featured-image{ aspect-ratio:16/10; }

  .home-final-cta{ min-height:58svh; padding:110px 20px; }
  .home-final-cta-grid{ grid-template-columns:1fr; }
  .home-final-cta h2{ font-size:clamp(76px,16vw,132px); }
  .home-final-cta-action{ margin-left:30%; }

  .site-footer{ padding:64px 20px max(28px,calc(22px + env(safe-area-inset-bottom))); grid-template-columns:1.2fr .8fr; gap:54px 34px; }
  .site-footer::before{ left:20px; right:20px; }
  .footer-lead{ grid-column:1/-1; }
  .footer-social,.footer-contact{ grid-column:auto; }
}

@media (max-width:700px){
  .menu-overlay{ padding-top:max(106px,calc(88px + env(safe-area-inset-top))); padding-bottom:max(24px,calc(16px + env(safe-area-inset-bottom))); }
  .overlay-nav ul a,.t3x-overlay-menu a{ padding-top:7px; padding-bottom:7px; font-size:clamp(36px,11.6vw,54px); }
  .overlay-nav>.pill{ margin-top:28px; width:100%; justify-content:space-between; }
  .overlay-meta{ display:block; margin-top:auto; padding-top:28px; }
  .overlay-meta p{ margin:8px 0 0; }

  .home-hero-media{ height:clamp(310px,96vw,420px); }
  .hero-field{ height:clamp(310px,96vw,420px); }
  .hero-copy{ padding:42px 20px 74px; }
  .hero-copy .eyebrow{ margin-bottom:30px; }
  .hero-copy .display{ margin-bottom:30px; font-size:clamp(39px,12.15vw,54px); line-height:.84; letter-spacing:-.065em; }
  .hero-line-secondary{ margin-left:0; }
  .hero-copy .lede,.hero-copy>.text-link{ width:min(35ch,calc(100vw - 40px)); margin-left:0; }
  .hero-rings{ top:100px; right:-25%; width:92vw; }
  .hero-coordinate{ top:100px; right:20px; }
  .glass-card{ top:clamp(190px,53vw,250px); right:20px; width:clamp(156px,46vw,184px); min-height:132px; padding:16px; }

  .home-work-stream{ padding:96px 0 112px; }
  .home-work-panels{ display:block; }
  .featured-project:nth-child(n){ width:100%; margin:0 0 58px; }
  .featured-project:nth-child(2){ width:88%; margin-left:12%; }
  .featured-project:nth-child(3){ width:94%; margin:0 6% 0 0; }
  .featured-project:nth-child(n) .featured-image{ width:100%; margin-left:0; aspect-ratio:4/4.7; }
  .featured-project:nth-child(2) .featured-image{ aspect-ratio:4/5; }
  .featured-project:nth-child(3) .featured-image{ aspect-ratio:4/4.15; }

  .capabilities-strip{ padding:98px 0 112px; }
  .capabilities-strip .cap-row{ min-height:300px; display:flex; flex-direction:column; align-items:flex-start; padding:26px 0; }
  .capabilities-strip .cap-row .elev{ margin-bottom:auto; }
  .capabilities-strip .cap-row h3{ font-size:clamp(46px,15vw,66px); }
  .capabilities-strip .cap-row p{ margin:20px 0 30px; max-width:32ch; }
  .capabilities-strip .cap-row .arrow{ align-self:flex-end; }
  .capabilities-strip .cap-row::before{ top:auto; right:0; bottom:6px; transform:translate3d(0,22%,0); opacity:.16; }
  .capabilities-strip .cap-row::after{ display:none; }

  .home-final-cta{ min-height:0; padding:96px 20px 104px; }
  .home-final-cta-grid{ margin-top:74px; }
  .home-final-cta h2{ font-size:clamp(60px,19vw,88px); }
  .home-final-cta h2 span{ margin-left:0; }
  .home-final-cta-action{ margin-left:18%; }

  .site-footer{ grid-template-columns:1fr 1fr; padding:56px 20px 28px; gap:48px 22px; }
  .footer-brand{ font-size:58px; }
  .footer-lead p{ margin-top:22px; }
  .footer-contact,.footer-social{ font-size:11px; }
  .footer-base{ display:block; padding-top:42px; }
  .footer-base strong{ display:block; margin-bottom:16px; }
  .footer-base span{ display:block; font-size:10px; }
}

@media (max-width:430px){
  .site-header,.site-header.is-scrolled{ padding-left:16px; padding-right:16px; }
  .menu-overlay{ padding-left:16px; padding-right:16px; }
  .hero-copy{ padding-left:16px; padding-right:16px; }
  .hero-copy .lede,.hero-copy>.text-link{ width:calc(100vw - 32px); }
  .hero-coordinate{ right:16px; }
  .glass-card{ right:16px; }
  .home-final-cta{ padding-left:16px; padding-right:16px; }
  .site-footer{ padding-left:16px; padding-right:16px; }
  .site-footer::before{ left:16px; right:16px; }
}

@media (max-width:350px){
  .hero-copy .display{ font-size:38px; }
  .glass-card{ width:148px; }
}

@media (hover:none){
  .capabilities-strip .cap-row:hover::after{ transform:scaleY(0); }
  .capabilities-strip .cap-row:hover{ color:#fff; }
  .capabilities-strip .cap-row:hover p,.capabilities-strip .cap-row:hover .elev{ color:rgba(255,255,255,.58); }
  .capabilities-strip .cap-row:hover .arrow{ color:#fff; border-color:rgba(255,255,255,.3); transform:none; }
}

@media (prefers-reduced-motion:reduce){
  .menu-overlay,.home-final-cta h2 span{ transition:none !important; }
  .home-hero-media img,.featured-image img{ will-change:auto; }
}

/* 8.1.3 — editorial homepage. Image and headline occupy separate grid rows. */
.home-hero.hero-editorial{display:grid;grid-template-columns:5fr 7fr;gap:0 6vw;min-height:0;padding:150px var(--pad) 70px calc(var(--pad) + var(--rail-w));background:var(--paper);overflow:hidden;}
.hero-editorial::after{display:none;}
.hero-editorial .hero-copy{display:contents;pointer-events:auto;}
.hero-editorial .hero-copy>.eyebrow{grid-column:1/-1;margin:0 0 44px;max-width:none;color:var(--ink-45);text-shadow:none;}
.editorial-title{grid-column:1/-1;margin:0 0 60px;font-size:clamp(100px,13.7vw,260px);line-height:.92;font-weight:500;letter-spacing:-.075em;}
.editorial-title>.reveal-clip{display:block;overflow:visible;}
.editorial-title>.reveal-clip:nth-child(2){margin-left:10%;}
.editorial-title>.reveal-clip>span{display:block;padding-bottom:.06em;}
.hero-positioning{grid-column:1;grid-row:3;align-self:start;padding-top:18px;border-top:1px solid var(--ink-18);}
.hero-positioning p{font-size:clamp(21px,2.1vw,36px);letter-spacing:-.045em;line-height:1.15;margin:0 0 15px;}
.hero-positioning>span{font-size:12px;letter-spacing:.02em;}
.hero-editorial .hero-copy .lede{grid-column:1;grid-row:4;width:auto;max-width:35ch;margin:38px 0 24px;font-size:16px;line-height:1.65;}
.hero-editorial .hero-copy>.text-link{grid-column:1;grid-row:5;justify-self:start;align-self:start;width:auto;margin:0;min-height:44px;}
.hero-editorial .home-hero-media{grid-column:2;grid-row:3/7;order:0;position:relative;inset:auto;width:100%;height:auto;min-height:0;aspect-ratio:1.55;clip-path:none;align-self:start;}
.hero-editorial .home-hero-media::before,.hero-editorial .home-hero-media::after{display:none;}
.hero-editorial .home-hero-media img{inset:-4% 0;width:100%;height:108%;object-fit:cover;object-position:center 55%;transform:translate3d(0,calc(var(--hero-progress,0) * -3%),0);filter:grayscale(1);}
.home-work-stream .home-work-panels{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:90px 4vw;background:transparent;align-items:start;}
.home-work-panels .featured-project:nth-child(n){padding:0;margin:0;width:auto;background:transparent;grid-column:1/span 7;}
.home-work-panels .featured-project:nth-child(2){grid-column:9/span 4;margin-top:150px;}
.home-work-panels .featured-project:nth-child(3){grid-column:5/span 7;}
.home-work-panels .featured-project:nth-child(n) .featured-image{aspect-ratio:808/632;width:100%;margin:0;clip-path:none;order:0;}
.home-work-panels .featured-project:nth-child(3) .featured-image{aspect-ratio:1.65;}
.home-work-panels .featured-image img{height:100%;transform:none;filter:none;will-change:auto;}
.home-work-panels .featured-project:hover .featured-image img{transform:scale(1.025);filter:none;}
.home-work-panels .featured-image::after,.home-work-panels .project-axis{display:none;}
.home-work-panels .featured-project:nth-child(-n+2) .project-brand{display:none;}
.home-work-panels .featured-title{order:1;display:block;margin:0;padding:18px 0 0;}
.home-work-panels .featured-title h2{font-size:clamp(22px,2.4vw,40px);}
.home-work-panels .featured-title p{margin:8px 0 0;}
.capabilities-strip .cap-row{transition:background .35s ease,color .35s ease;}
.capabilities-strip .cap-row::before,.capabilities-strip .cap-row::after{display:none;}
.capabilities-strip .cap-row h3{font-size:clamp(32px,4.5vw,78px);max-width:none;}
.cap-service-name{margin-top:18px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#bdbdbb;}
.capabilities-strip .cap-row:is(:hover,:focus-visible){color:#fff;background:#242424;outline-color:#fff;}
.capabilities-strip .cap-row:is(:hover,:focus-visible) p,.capabilities-strip .cap-row:is(:hover,:focus-visible) .elev{color:#dededb;}
.capabilities-strip .cap-row:is(:hover,:focus-visible) .arrow{color:#fff;border-color:#aaa;transform:translate(3px,-3px);}
.home-final-cta{min-height:0;padding-top:70px;padding-bottom:70px;}
.home-final-cta-grid{margin-top:36px;}
.home-final-cta h2{font-size:clamp(58px,7vw,116px);line-height:.92;}
.home-final-cta h2 span{margin-left:0;}
.site-footer{padding-top:46px;gap:36px;font-size:13px;color:#c8c8c5;}
.footer-label{color:#aaa;margin-bottom:6px;}
.site-footer a{min-height:44px;display:inline-flex;align-items:center;}
.site-footer .footer-brand{color:#fff;}
.footer-base{padding-top:24px;}
.transition-curtain{visibility:hidden;}
body.is-leaving .transition-curtain{visibility:visible;}
@media(max-width:980px){
 .home-hero.hero-editorial{padding:128px 24px 48px;gap:0 32px;}
 .editorial-title{font-size:14vw;}
 .hero-editorial .home-hero-media{aspect-ratio:1;}
 .site-header .menu-toggle{border-color:var(--ink);}
 .site-header .menu-toggle-lines,.site-header .menu-toggle-lines::before,.site-header .menu-toggle-lines::after{background:var(--ink);}
 body.menu-open .site-header .menu-toggle{border-color:#fff;}
 body.menu-open .site-header .menu-toggle-lines{background:transparent;}
 body.menu-open .site-header .menu-toggle-lines::before,body.menu-open .site-header .menu-toggle-lines::after{background:#fff;}
 .site-footer{gap:28px;}
}
@media(max-width:700px){
 .home-hero.hero-editorial{display:flex;flex-direction:column;padding:120px 20px 40px;}
 .hero-editorial .hero-copy{display:contents;}
 .hero-editorial .hero-copy>.eyebrow{order:0;margin:0 0 42px;font-size:10px;max-width:28ch;}
 .editorial-title{order:1;font-size:14.7vw;letter-spacing:-.07em;line-height:1;margin:0 0 34px;}
 .editorial-title>.reveal-clip:nth-child(2){margin-left:0;}
 .hero-positioning{order:2;padding-top:18px;}
 .hero-positioning p{font-size:22px;}
 .hero-positioning>span{font-size:11px;}
 .hero-editorial .hero-copy .lede{order:3;width:auto;max-width:35ch;margin:24px 0 16px;font-size:15px;}
 .hero-editorial .hero-copy>.text-link{order:4;align-self:flex-start;margin:0 0 32px;}
 .hero-editorial .home-hero-media{order:5;width:100%;aspect-ratio:1.2;flex:auto;}
 .home-work-stream .home-work-panels{display:flex;flex-direction:column;gap:64px;}
 .home-work-panels .featured-project:nth-child(n){width:100%;margin:0;}
 .home-work-panels .featured-project:nth-child(2){width:86%;align-self:flex-end;}
 .home-work-panels .featured-project:nth-child(3){width:94%;}
 .capabilities-strip .cap-row{padding:24px 16px;min-height:300px;}
 .capabilities-strip .cap-row h3{font-size:48px;}
 .home-final-cta{padding:64px 20px;}
 .home-final-cta-action{margin-left:0;}
 .site-footer{padding-top:40px;gap:28px 16px;}
 .footer-lead p{margin-top:16px;max-width:32ch;}
 .footer-contact,.footer-social{font-size:12px;gap:0;}
 .footer-base{padding-top:22px;}
}




