@font-face { font-family: "Geist"; src: url("../fonts/geist-sans.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("../fonts/geist-mono.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }

:root {
  --ink: #080808;
  --paper: #f1f0ea;
  --lime: #40e0d0;
  --pink: #ff4cde;
  --blue: #4c5cff;
  --line: rgba(241, 240, 234, 0.2);
  --font-geist-sans: "Geist";
  --font-geist-mono: "Geist Mono";
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font-geist-sans), Arial, sans-serif;
}
a { color: inherit; text-decoration: none; }

.nav-wrap {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  height: 92px;
  padding: 0 3.4vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; width: clamp(118px, 10vw, 154px); }
.brand img { display: block; width: 100%; height: auto; }
nav { display: flex; gap: 34px; font-size: 13px; }
nav a { opacity: 0.7; transition: opacity .25s ease; }
nav a:hover, nav a:focus-visible { opacity: 1; }
.nav-cta { justify-self: end; padding: 13px 19px; border: 1px solid var(--line); border-radius: 100px; font-size: 13px; transition: .25s ease; }
.nav-cta:hover { background: var(--paper); color: var(--ink); }

.hero {
  position: relative;
  overflow: hidden;
  min-height: 810px;
  height: 100vh;
  max-height: 980px;
  padding: 150px 3.4vw 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  isolation: isolate;
}
.noise { position: absolute; inset: 0; z-index: -1; opacity: .18; 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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E"); }
.orb { position: absolute; z-index: -2; border-radius: 50%; filter: blur(12px); }
.orb-a { width: 390px; height: 390px; top: 7%; right: -5%; background: radial-gradient(circle at 35% 35%, #777fff, var(--blue) 45%, transparent 72%); opacity: .76; }
.orb-b { width: 290px; height: 290px; left: 43%; bottom: -18%; background: radial-gradient(circle, rgba(64,224,208,.72), transparent 67%); }
.eyebrow { display: flex; align-items: center; gap: 10px; font-family: var(--font-geist-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .16em; opacity: .72; }
.status-dot { width: 7px; height: 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 5px rgba(64,224,208,.12); }
h1 { margin: 20px 0 12px; font-size: clamp(64px, 9.6vw, 154px); line-height: .79; letter-spacing: -.075em; font-weight: 760; }
h1 > span { display: block; }
h1 .outline { color: transparent; -webkit-text-stroke: 1.4px rgba(241,240,234,.84); }
.last-line { display: flex; align-items: center; gap: 4vw; }
.hero-stamp { width: 112px; height: 112px; flex: 0 0 112px; display: grid; place-items: center; padding: 20px; border-radius: 50%; background: var(--lime); color: var(--ink); font-family: var(--font-geist-mono); font-size: 10px; line-height: 1.35; letter-spacing: .1em; text-align: center; transform: rotate(9deg); }
.hero-bottom { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.hero-bottom p { width: min(540px, 46vw); margin: 0; color: rgba(241,240,234,.66); font-size: clamp(16px, 1.4vw, 21px); line-height: 1.45; letter-spacing: -.02em; }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.primary-btn { padding: 18px 24px; background: var(--lime); color: var(--ink); border-radius: 100px; font-size: 14px; font-weight: 650; transition: transform .25s ease, box-shadow .25s ease; }
.primary-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(64,224,208,.2); }
.text-link { font-size: 13px; padding-bottom: 5px; border-bottom: 1px solid var(--paper); }
.text-link span { margin-left: 8px; }

.marquee { overflow: hidden; padding: 18px 0; background: var(--lime); color: var(--ink); transform: rotate(-1.2deg) scale(1.02); }
.marquee-track { display: flex; width: max-content; animation: marquee 28s linear infinite; }
.marquee span { display: flex; align-items: center; gap: 22px; padding-right: 22px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.marquee i { font-style: normal; }
@keyframes marquee { to { transform: translateX(-50%); } }

.proof-strip { min-height: 240px; padding: 80px 3.4vw 60px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; background: var(--paper); color: var(--ink); }
.proof-strip > div { display: grid; grid-template-columns: 50px 1fr; border-top: 1px solid rgba(8,8,8,.25); padding-top: 18px; }
.proof-strip strong { font-family: var(--font-geist-mono); color: var(--blue); font-size: 11px; }
.proof-strip p { margin: 0; font-size: clamp(18px, 1.5vw, 23px); line-height: 1.3; letter-spacing: -.035em; }

@media (max-width: 800px) {
  .nav-wrap { height: 74px; padding: 0 20px; grid-template-columns: 1fr auto; }
  .site-nav > nav { display: none; }
  .nav-cta { padding: 10px 14px; }
  .hero { min-height: 730px; height: auto; padding: 125px 20px 34px; }
  h1 { font-size: clamp(56px, 16vw, 90px); line-height: .84; }
  .last-line { gap: 16px; }
  .hero-stamp { width: 76px; height: 76px; flex-basis: 76px; font-size: 7px; padding: 10px; }
  .hero-bottom { flex-direction: column; align-items: flex-start; }
  .hero-bottom p { width: 100%; }
  .hero-actions { width: 100%; justify-content: space-between; }
  .proof-strip { grid-template-columns: 1fr; padding: 72px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* Capability manifesto */
.section-kicker {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(241,240,234,.22);
  font-family: var(--font-geist-mono);
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(241,240,234,.58);
}
.section-kicker.dark { border-color: rgba(8,8,8,.2); color: rgba(8,8,8,.58); }
.manifesto { position: relative; overflow: hidden; padding: 130px 3.4vw 140px; }
.manifesto-grid { display: grid; grid-template-columns: 1.5fr .75fr; gap: 8vw; align-items: end; padding-top: 90px; }
.manifesto h2 { margin: 0; max-width: 900px; font-size: clamp(60px, 8vw, 126px); line-height: .86; letter-spacing: -.075em; }
.manifesto-copy { padding-bottom: 8px; }
.manifesto-copy p { margin: 0 0 24px; font-size: clamp(20px, 2vw, 29px); line-height: 1.28; letter-spacing: -.035em; }
.manifesto-copy .muted { color: rgba(241,240,234,.48); font-size: 16px; line-height: 1.6; letter-spacing: -.01em; }
.spin-seal { position: absolute; left: 48%; bottom: 22px; width: 128px; height: 128px; display: grid; place-items: center; border: 1px solid rgba(241,240,234,.3); border-radius: 50%; font-family: var(--font-geist-mono); }
.spin-seal span { position: absolute; font-size: 8px; letter-spacing: .15em; }
.spin-seal b { font-size: 32px; color: var(--lime); }

.capabilities-list { padding: 0 3.4vw 130px; }
.cap-card {
  --accent: var(--lime);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 9% 37% 1fr;
  gap: 30px;
  min-height: 330px;
  padding: 46px;
  margin-bottom: 18px;
  border: 1px solid rgba(241,240,234,.2);
  background: #111;
  transition: border-color .35s ease, transform .35s ease;
}
.cap-card.blue { --accent: #7782ff; }
.cap-card.orange { --accent: #ff7040; }
.cap-card.pink { --accent: var(--pink); }
.cap-card:hover { border-color: var(--accent); transform: translateY(-4px); }
.card-glow { position: absolute; width: 500px; height: 500px; left: calc(var(--x, 50%) - 250px); top: calc(var(--y, 50%) - 250px); border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--accent) 15%, transparent), transparent 66%); opacity: 0; pointer-events: none; transition: opacity .4s ease; }
.cap-card:hover .card-glow { opacity: 1; }
.cap-number { position: relative; z-index: 1; color: var(--accent); font-family: var(--font-geist-mono); font-size: 11px; }
.cap-heading { position: relative; z-index: 1; }
.cap-heading h3 { margin: 0 0 24px; font-size: clamp(36px, 4vw, 61px); line-height: .95; letter-spacing: -.06em; }
.cap-heading p { max-width: 380px; margin: 0; color: rgba(241,240,234,.52); font-size: 15px; line-height: 1.55; }
.cap-card ul { position: relative; z-index: 1; align-self: start; list-style: none; padding: 0; margin: 0; }
.cap-card li { display: flex; justify-content: space-between; gap: 22px; padding: 16px 0; border-bottom: 1px solid rgba(241,240,234,.15); font-size: 14px; }
.cap-card li span { color: var(--accent); transition: transform .25s ease; }
.cap-card li:hover span { transform: translate(4px,-4px); }

/* Outcome cards */
.builds { background: var(--paper); color: var(--ink); padding: 130px 3.4vw 150px; }
.builds-heading { display: grid; grid-template-columns: 1.5fr .5fr; gap: 7vw; align-items: end; padding: 78px 0 86px; }
.builds-heading h2 { margin: 0; font-size: clamp(58px, 7.2vw, 112px); line-height: .86; letter-spacing: -.075em; }
.builds-heading h2 i { font-family: Georgia, serif; font-weight: 400; color: var(--blue); }
.builds-heading > p { margin: 0; font-size: 18px; line-height: 1.55; color: rgba(8,8,8,.58); }
.build-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; }
.build-card { position: relative; min-height: 590px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 38px; background: #111; color: var(--paper); }
.build-card.growth { grid-column: 1 / -1; min-height: 430px; flex-direction: row; align-items: end; }
.build-visual { position: relative; flex: 1; min-height: 290px; }
.build-visual > span { position: absolute; z-index: 2; top: 0; right: 0; font-family: var(--font-geist-mono); font-size: 10px; color: rgba(241,240,234,.5); }
.build-visual i, .build-visual::before, .build-visual::after { content: ""; position: absolute; display: block; }
.commerce .build-visual::before { left: 8%; top: 3%; width: 65%; aspect-ratio: 1; border: 1px solid rgba(64,224,208,.4); border-radius: 50%; box-shadow: inset 0 0 90px rgba(64,224,208,.11), 0 0 80px rgba(64,224,208,.08); }
.commerce .build-visual::after { left: 30%; top: 24%; width: 46%; aspect-ratio: 1; background: var(--lime); border-radius: 50%; filter: blur(1px); }
.commerce .build-visual i { left: 38%; top: 36%; width: 26%; aspect-ratio: 1; border-radius: 50%; background: var(--ink); z-index: 1; }
.ai-ops { background: var(--blue); }
.ai-ops .build-visual::before { inset: 5% 8% 16%; background: repeating-linear-gradient(90deg, transparent 0 11%, rgba(255,255,255,.18) 11% 11.4%), repeating-linear-gradient(0deg, transparent 0 16%, rgba(255,255,255,.18) 16% 16.5%); transform: perspective(500px) rotateX(58deg) rotateZ(-18deg); }
.ai-ops .build-visual::after { width: 140px; height: 140px; left: 35%; top: 16%; border-radius: 22px; background: rgba(255,255,255,.9); box-shadow: 0 30px 60px rgba(0,0,0,.25); transform: rotate(14deg); }
.ai-ops .build-visual i { width: 38px; height: 38px; left: calc(35% + 51px); top: calc(16% + 51px); border: 8px solid var(--blue); border-radius: 50%; z-index: 2; }
.growth { background: #ff5d2c; }
.growth .build-visual { min-width: 54%; }
.growth .build-visual::before { left: 4%; top: 8%; width: 80%; height: 72%; border: 1px solid rgba(8,8,8,.35); background: linear-gradient(135deg, rgba(255,255,255,.25), transparent); transform: rotate(-3deg); }
.growth .build-visual::after { left: 10%; top: 19%; width: 59%; height: 18%; background: var(--ink); box-shadow: 48px 70px 0 var(--paper), 110px 140px 0 var(--lime); }
.build-copy { position: relative; z-index: 3; max-width: 650px; }
.build-copy > span { font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .15em; }
.build-copy h3 { margin: 16px 0 12px; max-width: 650px; font-size: clamp(34px, 4vw, 62px); line-height: .98; letter-spacing: -.055em; }
.build-copy p { max-width: 540px; margin: 0; color: rgba(241,240,234,.68); line-height: 1.55; }
.growth .build-copy { max-width: 38%; }
.growth .build-copy p { color: rgba(8,8,8,.7); }

/* Operating model */
.operating-model { padding: 130px 3.4vw 150px; }
.model-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 10vw; padding-top: 85px; }
.model-intro { position: sticky; top: 40px; align-self: start; }
.model-intro h2 { margin: 0 0 40px; font-size: clamp(56px, 6.6vw, 102px); line-height: .87; letter-spacing: -.07em; }
.model-intro p { max-width: 430px; margin: 0; color: rgba(241,240,234,.55); font-size: 17px; line-height: 1.6; }
.steps { border-top: 1px solid rgba(241,240,234,.2); }
.step { display: grid; grid-template-columns: 55px .6fr 1fr; gap: 22px; padding: 42px 0 72px; border-bottom: 1px solid rgba(241,240,234,.2); }
.step > span { color: var(--lime); font-family: var(--font-geist-mono); font-size: 10px; }
.step h3 { margin: -8px 0 0; font-size: clamp(34px, 3vw, 48px); letter-spacing: -.05em; }
.step p { margin: 0; color: rgba(241,240,234,.55); line-height: 1.6; }

.engagements { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 720px; background: var(--lime); color: var(--ink); }
.engagement-copy { padding: 110px 6vw 80px 3.4vw; display: flex; flex-direction: column; justify-content: center; }
.mini-label { font-family: var(--font-geist-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.engagement-copy h2 { margin: 38px 0 28px; font-size: clamp(56px, 6vw, 95px); line-height: .86; letter-spacing: -.07em; }
.engagement-copy p { max-width: 500px; margin: 0; font-size: 18px; line-height: 1.5; }
.engagement-options { display: grid; grid-template-rows: repeat(3, 1fr); }
.engagement-options article { display: grid; grid-template-columns: 60px 1fr .85fr; gap: 24px; align-items: center; padding: 40px 4vw; border-left: 1px solid rgba(8,8,8,.22); border-bottom: 1px solid rgba(8,8,8,.22); }
.engagement-options article.featured { background: var(--ink); color: var(--paper); }
.engagement-options span { font-family: var(--font-geist-mono); font-size: 10px; }
.engagement-options h3 { margin: 0; font-size: clamp(30px, 3vw, 47px); line-height: 1; letter-spacing: -.05em; }
.engagement-options p { margin: 0; font-size: 14px; line-height: 1.55; opacity: .65; }

/* Conversion close */
.final-cta { position: relative; overflow: hidden; min-height: 820px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 110px 20px; }
.cta-orb { position: absolute; left: 50%; top: 50%; width: min(70vw, 800px); height: min(70vw, 800px); transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle, rgba(76,92,255,.78), rgba(76,92,255,.25) 44%, transparent 69%); filter: blur(5px); }
.final-cta > *:not(.cta-orb) { position: relative; z-index: 1; }
.final-cta h2 { margin: 38px 0 48px; font-size: clamp(62px, 9vw, 140px); line-height: .82; letter-spacing: -.08em; }
.final-cta h2 i { font-family: Georgia, serif; font-weight: 400; color: var(--lime); }
.cta-link { min-width: 330px; display: flex; justify-content: space-between; padding: 19px 24px; border-radius: 100px; background: var(--paper); color: var(--ink); font-size: 14px; font-weight: 650; transition: transform .25s ease, background .25s ease; }
.cta-link:hover { transform: translateY(-4px); background: var(--lime); }
footer { padding: 55px 3.4vw 34px; border-top: 1px solid rgba(241,240,234,.2); color: rgba(241,240,234,.65); font-size: 12px; }
.footer-top { display: grid; grid-template-columns: .7fr 1fr auto; gap: 40px; align-items: end; }
footer p { max-width: 360px; margin: 0; line-height: 1.5; }
.footer-bottom a:hover { color: var(--paper); }
footer .brand { color: var(--paper); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 38px; padding-top: 22px; border-top: 1px solid rgba(241,240,234,.13); }
.footer-bottom > span a { color: var(--paper); text-decoration: underline; text-underline-offset: 3px; }
.legal-links { display: flex; gap: 22px; }
.social-links { display: flex; align-items: center; gap: 9px; }
.social-links a { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(241,240,234,.24); border-radius: 50%; color: var(--paper); transition: color .25s ease, border-color .25s ease, background .25s ease, transform .25s ease; }
.social-links a:hover { color: var(--ink); border-color: var(--lime); background: var(--lime); transform: translateY(-2px); }
.social-links svg { width: 18px; height: 18px; fill: currentColor; }
.social-links svg rect, .social-links svg circle { fill: none; stroke: currentColor; stroke-width: 1.8; }
.social-links svg .social-dot, .social-links svg .social-play { fill: currentColor; stroke: none; }
.mobile-menu-toggle, .mobile-panel { display: none; }

/* Shared inner-page system */
.inner-page { background: var(--ink); color: var(--paper); }
.page-hero { position: relative; overflow: hidden; min-height: 760px; padding: 145px 3.4vw 78px; display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; border-bottom: 1px solid rgba(241,240,234,.18); }
.page-orb { position: absolute; z-index: -1; width: 580px; height: 580px; right: -8%; top: 2%; border-radius: 50%; background: radial-gradient(circle at 35% 35%, rgba(64,224,208,.86), rgba(64,224,208,.18) 48%, transparent 70%); filter: blur(8px); }
.page-orb.blue-orb, .accent-blue .page-orb { background: radial-gradient(circle at 35% 35%, rgba(93,108,255,.92), rgba(76,92,255,.18) 48%, transparent 70%); }
.page-orb.orange-orb, .accent-orange .page-orb { background: radial-gradient(circle at 35% 35%, rgba(255,99,48,.9), rgba(255,99,48,.16) 48%, transparent 70%); }
.breadcrumbs { position: absolute; top: 120px; left: 3.4vw; display: flex; gap: 8px; font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: rgba(241,240,234,.47); }
.breadcrumbs > span { display: flex; gap: 8px; }
.breadcrumbs a:hover { color: var(--paper); }
.breadcrumbs i { font-style: normal; opacity: .45; }
.page-kicker { display: block; margin-bottom: 28px; font-family: var(--font-geist-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--lime); }
.page-hero h1 { max-width: 1200px; margin: 0; font-size: clamp(68px, 9vw, 142px); line-height: .82; letter-spacing: -.08em; text-transform: uppercase; }
.page-hero h1 i, .page-cta h2 i { font-family: Georgia, serif; font-weight: 400; color: var(--lime); }
.page-hero > p { max-width: 650px; align-self: flex-end; margin: 44px 5vw 0 0; color: rgba(241,240,234,.66); font-size: clamp(17px, 1.6vw, 23px); line-height: 1.5; letter-spacing: -.02em; }
.section-label { padding-bottom: 15px; border-bottom: 1px solid rgba(241,240,234,.2); font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: rgba(241,240,234,.52); }
.page-cta { position: relative; overflow: hidden; min-height: 670px; padding: 100px 3.4vw; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #111; }
.page-cta::before { content: ""; position: absolute; width: min(720px,75vw); height: min(720px,75vw); border-radius: 50%; background: radial-gradient(circle, rgba(76,92,255,.65), transparent 68%); filter: blur(8px); }
.page-cta > * { position: relative; z-index: 1; }
.page-cta > span { font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.page-cta h2 { margin: 32px 0 48px; font-size: clamp(62px, 8vw, 124px); line-height: .83; letter-spacing: -.075em; }
.page-cta a { min-width: 320px; display: flex; justify-content: space-between; padding: 18px 23px; border-radius: 100px; background: var(--paper); color: var(--ink); font-size: 14px; font-weight: 650; transition: .25s ease; }
.page-cta a:hover { background: var(--lime); transform: translateY(-3px); }

/* Services index */
.index-hero h1 { max-width: 1100px; }
.service-category-stack { padding: 120px 3.4vw 140px; }
.service-category { --accent: var(--lime); display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; padding: 58px 0 72px; border-top: 1px solid rgba(241,240,234,.2); }
.service-category.blue { --accent: #7782ff; }
.service-category.orange { --accent: #ff7040; }
.service-category.pink { --accent: var(--pink); }
.category-intro > span { color: var(--accent); font-family: var(--font-geist-mono); font-size: 10px; }
.category-intro h2 { margin: 24px 0 20px; font-size: clamp(42px,5vw,76px); line-height: .92; letter-spacing: -.06em; }
.category-intro p { max-width: 460px; margin: 0; color: rgba(241,240,234,.52); line-height: 1.6; }
.service-link-list { border-top: 1px solid rgba(241,240,234,.18); }
.service-link-list a { display: grid; grid-template-columns: 45px 1fr 25px; gap: 18px; align-items: center; min-height: 74px; border-bottom: 1px solid rgba(241,240,234,.18); transition: padding .25s ease, color .25s ease; }
.service-link-list a:hover { padding-left: 10px; color: var(--accent); }
.service-link-list span { color: var(--accent); font-family: var(--font-geist-mono); font-size: 9px; }
.service-link-list strong { font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
.service-link-list i { font-style: normal; color: var(--accent); }

/* Individual service */
.service-hero { min-height: 880px; }
.service-hero h1 { max-width: 1180px; font-size: clamp(58px, 8.1vw, 126px); }
.service-hero h2 { max-width: 700px; align-self: flex-end; margin: 40px 4vw 0 0; font-size: clamp(27px, 3vw, 45px); line-height: 1.05; letter-spacing: -.045em; }
.service-hero > p { max-width: 650px; margin-top: 18px; font-size: 17px; }
.service-hero-cta { align-self: flex-end; min-width: 250px; display: flex; justify-content: space-between; margin: 30px 4vw 0 0; padding: 16px 20px; border: 1px solid rgba(241,240,234,.3); border-radius: 100px; font-size: 13px; }
.service-hero-cta:hover { background: var(--paper); color: var(--ink); }
.service-context { position: relative; padding: 130px 3.4vw 160px; display: grid; grid-template-columns: .42fr 1fr .55fr; gap: 6vw; align-items: start; }
.context-copy h2 { margin: 0 0 42px; font-size: clamp(48px, 6vw, 92px); line-height: .88; letter-spacing: -.07em; }
.context-copy p { max-width: 650px; margin: 0; color: rgba(241,240,234,.62); font-size: 18px; line-height: 1.7; }
.best-for { margin-top: 7px; padding: 28px; border: 1px solid rgba(241,240,234,.2); background: #111; }
.best-for span { color: var(--lime); font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.best-for p { margin: 22px 0 0; font-size: 16px; line-height: 1.6; }
.accent-blue .best-for span, .accent-blue .page-kicker { color: #7782ff; }
.accent-orange .best-for span, .accent-orange .page-kicker { color: #ff7040; }
.outcomes-section { padding: 120px 3.4vw 140px; background: var(--paper); color: var(--ink); }
.outcomes-section .section-label { border-color: rgba(8,8,8,.18); color: rgba(8,8,8,.5); }
.outcomes-section > h2 { margin: 70px 0 76px; font-size: clamp(62px, 8vw, 120px); line-height: .83; letter-spacing: -.075em; }
.outcomes-section > h2 i { font-family: Georgia, serif; font-weight: 400; color: var(--blue); }
.outcome-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.outcome-grid article { min-height: 250px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px; border: 1px solid rgba(8,8,8,.2); }
.outcome-grid span { color: var(--blue); font-family: var(--font-geist-mono); font-size: 9px; }
.outcome-grid h3 { margin: 0; font-size: clamp(27px,2.4vw,38px); line-height: 1; letter-spacing: -.045em; }
.inclusions-section { padding: 135px 3.4vw; display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; }
.inclusions-intro > span, .faq-heading > span, .team-model-copy > span, .contact-intro > span { font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: var(--lime); }
.inclusions-intro h2 { margin: 38px 0 28px; font-size: clamp(54px,6vw,92px); line-height: .86; letter-spacing: -.07em; }
.inclusions-intro p { max-width: 500px; color: rgba(241,240,234,.55); line-height: 1.65; }
.inclusion-list { border-top: 1px solid rgba(241,240,234,.2); }
.inclusion-list > div { min-height: 78px; display: grid; grid-template-columns: 50px 1fr 24px; gap: 18px; align-items: center; border-bottom: 1px solid rgba(241,240,234,.2); }
.inclusion-list span { color: var(--lime); font-family: var(--font-geist-mono); font-size: 9px; }
.inclusion-list strong { font-size: 18px; font-weight: 500; }
.inclusion-list i { font-style: normal; color: var(--lime); }
.delivery-section { padding: 120px 3.4vw 150px; background: var(--lime); color: var(--ink); }
.delivery-section .section-label { border-color: rgba(8,8,8,.25); color: rgba(8,8,8,.55); }
.delivery-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 75px; background: rgba(8,8,8,.22); }
.delivery-grid article { min-height: 370px; padding: 30px; display: flex; flex-direction: column; background: var(--lime); }
.delivery-grid span { font-family: var(--font-geist-mono); font-size: 9px; }
.delivery-grid h3 { margin: auto 0 22px; font-size: clamp(30px,3vw,45px); letter-spacing: -.055em; }
.delivery-grid p { margin: 0; opacity: .65; line-height: 1.55; }
.faq-section { padding: 130px 3.4vw; display: grid; grid-template-columns: .72fr 1.28fr; gap: 8vw; }
.faq-heading h2 { margin: 38px 0 0; font-size: clamp(54px,6vw,92px); line-height: .86; letter-spacing: -.07em; }
.faq-list { border-top: 1px solid rgba(241,240,234,.2); }
.faq-list details { border-bottom: 1px solid rgba(241,240,234,.2); }
.faq-list summary { min-height: 94px; display: grid; grid-template-columns: 50px 1fr 24px; gap: 16px; align-items: center; cursor: pointer; list-style: none; font-size: 18px; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--lime); font-family: var(--font-geist-mono); font-size: 9px; }
.faq-list summary i { font-style: normal; font-size: 24px; transition: transform .2s ease; }
.faq-list details[open] summary i { transform: rotate(45deg); }
.faq-list details p { margin: -10px 0 35px 66px; max-width: 690px; color: rgba(241,240,234,.58); line-height: 1.65; }
.related-services { padding: 110px 3.4vw 140px; background: var(--paper); color: var(--ink); }
.related-services .section-label { border-color: rgba(8,8,8,.2); color: rgba(8,8,8,.5); }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 65px; }
.related-grid a { min-height: 300px; display: flex; flex-direction: column; padding: 28px; border: 1px solid rgba(8,8,8,.2); transition: background .25s ease, color .25s ease, transform .25s ease; }
.related-grid a:hover { background: var(--blue); color: white; transform: translateY(-4px); }
.related-grid span { font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; opacity: .58; }
.related-grid h3 { margin: auto 0 25px; font-size: clamp(30px,3.2vw,48px); line-height: .98; letter-spacing: -.055em; }
.related-grid i { font-style: normal; align-self: flex-end; }

/* About */
.about-story { padding: 130px 3.4vw 150px; display: grid; grid-template-columns: .35fr .85fr .65fr; gap: 6vw; }
.story-head h2 { margin: 0; font-size: clamp(50px,6vw,94px); line-height: .86; letter-spacing: -.07em; }
.story-copy p { margin: 0 0 26px; color: rgba(241,240,234,.6); font-size: 18px; line-height: 1.7; }
.principles-section { padding: 120px 3.4vw 145px; background: var(--paper); color: var(--ink); }
.principles-section .section-label { border-color: rgba(8,8,8,.2); color: rgba(8,8,8,.5); }
.principle-grid { display: grid; grid-template-columns: repeat(2,1fr); margin-top: 72px; border-top: 1px solid rgba(8,8,8,.2); border-left: 1px solid rgba(8,8,8,.2); }
.principle-grid article { min-height: 340px; padding: 34px; display: flex; flex-direction: column; border-right: 1px solid rgba(8,8,8,.2); border-bottom: 1px solid rgba(8,8,8,.2); }
.principle-grid span { color: var(--blue); font-family: var(--font-geist-mono); font-size: 9px; }
.principle-grid h3 { margin: auto 0 18px; font-size: clamp(34px,4vw,58px); letter-spacing: -.055em; }
.principle-grid p { max-width: 500px; margin: 0; opacity: .6; line-height: 1.55; }
.team-model { min-height: 780px; padding: 120px 3.4vw; display: grid; grid-template-columns: .9fr 1.1fr; gap: 8vw; align-items: center; }
.team-model-copy h2 { margin: 38px 0 30px; font-size: clamp(58px,6.5vw,100px); line-height: .84; letter-spacing: -.07em; }
.team-model-copy h2 i { color: var(--lime); font-family: Georgia,serif; font-weight:400; }
.team-model-copy p { max-width: 500px; color: rgba(241,240,234,.55); line-height: 1.65; }
.team-orbit { position: relative; width: min(46vw,620px); aspect-ratio: 1; justify-self: center; border: 1px solid rgba(241,240,234,.25); border-radius: 50%; display: grid; place-items: center; }
.team-orbit::before, .team-orbit::after { content:""; position:absolute; inset: 14%; border:1px solid rgba(241,240,234,.18); border-radius:50%; }
.team-orbit::after { inset: 31%; background: var(--blue); box-shadow: 0 0 80px rgba(76,92,255,.35); }
.team-orbit > span { z-index:2; text-align:center; font-size:22px; line-height:1.05; }
.team-orbit i { position:absolute; padding:10px 14px; background:var(--lime); color:var(--ink); border-radius:100px; font-family:var(--font-geist-mono); font-size:9px; font-style:normal; text-transform:uppercase; }
.team-orbit i:nth-of-type(1){top:5%;left:43%}.team-orbit i:nth-of-type(2){right:-3%;top:47%}.team-orbit i:nth-of-type(3){bottom:5%;left:42%}.team-orbit i:nth-of-type(4){left:-5%;top:47%}

/* Process */
.process-stages { padding: 120px 3.4vw 145px; }
.process-stage { display: grid; grid-template-columns: 8% 1fr .75fr; gap: 5vw; min-height: 470px; padding: 55px 0; border-top: 1px solid rgba(241,240,234,.2); }
.stage-number { color: var(--lime); font-family: var(--font-geist-mono); font-size: 10px; }
.stage-main > span { font-family: var(--font-geist-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; opacity: .5; }
.stage-main h2 { margin: 30px 0 24px; max-width: 700px; font-size: clamp(48px,5.5vw,84px); line-height: .9; letter-spacing: -.065em; }
.stage-main p { max-width: 600px; color: rgba(241,240,234,.58); font-size: 17px; line-height: 1.65; }
.process-stage ul { align-self: end; list-style: none; padding: 0; margin: 0; border-top: 1px solid rgba(241,240,234,.18); }
.process-stage li { display: flex; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid rgba(241,240,234,.18); font-size: 14px; }
.process-stage li i { font-style: normal; color: var(--lime); }
.engagement-page-section { padding: 120px 3.4vw 140px; background: var(--lime); color: var(--ink); }
.engagement-page-section .section-label { border-color: rgba(8,8,8,.2); color: rgba(8,8,8,.55); }
.engagement-page-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 75px; }
.engagement-page-grid article { min-height: 360px; display:flex; flex-direction:column; padding:30px; border:1px solid rgba(8,8,8,.22); }
.engagement-page-grid article.featured { background:var(--ink); color:var(--paper); }
.engagement-page-grid span { font-family:var(--font-geist-mono); font-size:9px; }
.engagement-page-grid h3 { margin:auto 0 22px; font-size:clamp(34px,3.4vw,52px); letter-spacing:-.055em; }
.engagement-page-grid p { margin:0; opacity:.62; line-height:1.55; }

/* Work */
.solution-stack { padding: 120px 3.4vw 145px; }
.solution-case { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 620px; margin-bottom: 22px; background:#111; border:1px solid rgba(241,240,234,.2); }
.solution-case:nth-child(even) .solution-visual { order:2; background:var(--blue); }
.solution-visual { position:relative; overflow:hidden; min-height:500px; background:var(--lime); }
.solution-visual > span { position:absolute; top:25px; right:28px; z-index:2; color:var(--ink); font-family:var(--font-geist-mono); font-size:10px; }
.solution-visual::before, .solution-visual::after, .solution-visual i { content:""; position:absolute; display:block; }
.solution-visual::before { width:65%; aspect-ratio:1; left:15%; top:11%; border:32px solid var(--ink); border-radius:50%; }
.solution-visual::after { width:30%; aspect-ratio:1; left:34%; top:29%; background:var(--paper); border-radius:50%; }
.solution-case:nth-child(even) .solution-visual::before { border-radius:22px; border-color:var(--paper); transform:rotate(15deg); }
.solution-case:nth-child(even) .solution-visual::after { border-radius:12px; background:var(--ink); transform:rotate(-10deg); }
.solution-copy { padding:50px; display:flex; flex-direction:column; }
.solution-copy > span { font-family:var(--font-geist-mono); font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--lime); }
.solution-copy h2 { margin:auto 0 24px; font-size:clamp(42px,4.5vw,68px); line-height:.94; letter-spacing:-.06em; }
.solution-copy p { margin:0 0 32px; color:rgba(241,240,234,.57); line-height:1.6; }
.solution-copy ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0; }
.solution-copy li { padding:9px 12px; border:1px solid rgba(241,240,234,.2); border-radius:100px; font-size:11px; }
.proof-note { padding:90px 3.4vw; display:grid; grid-template-columns:.5fr 1fr; gap:10vw; background:var(--paper); color:var(--ink); }
.proof-note span { font-family:var(--font-geist-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); }
.proof-note p { max-width:750px; margin:0; font-size:clamp(24px,2.6vw,38px); line-height:1.25; letter-spacing:-.035em; }

/* Contact */
.contact-section { padding:130px 3.4vw 150px; display:grid; grid-template-columns:.65fr 1.1fr; gap:10vw; }
.contact-intro h2 { margin:38px 0 25px; font-size:clamp(52px,6vw,90px); line-height:.86; letter-spacing:-.07em; }
.contact-intro p { max-width:430px; color:rgba(241,240,234,.56); line-height:1.65; }
.contact-intro .contact-email { display:inline-block; margin-top:32px; padding-bottom:6px; border-bottom:1px solid var(--lime); }
.contact-intro .social-links { margin-top:28px; }
.contact-form { display:grid; grid-template-columns:repeat(2,1fr); gap:28px 20px; }
.contact-form label { display:flex; flex-direction:column; gap:10px; }
.contact-form label.full { grid-column:1/-1; }
.contact-form label > span { font-family:var(--font-geist-mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:rgba(241,240,234,.55); }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; padding:18px 0; border:0; border-bottom:1px solid rgba(241,240,234,.24); border-radius:0; outline:0; background:transparent; color:var(--paper); font:inherit; }
.contact-form textarea { resize:vertical; }
.contact-form select { color:rgba(241,240,234,.7); }
.contact-form select option { background:var(--ink); color:var(--paper); }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:var(--lime); }
.contact-form button { grid-column:1/-1; width:260px; display:flex; justify-content:space-between; padding:18px 22px; border:0; border-radius:100px; background:var(--lime); color:var(--ink); font-family:var(--font-geist-sans),Arial,sans-serif; font-size:14px; font-weight:650; line-height:1.2; cursor:pointer; transition:.25s ease; }
.contact-form button:hover { transform:translateY(-3px); box-shadow:0 15px 45px rgba(64,224,208,.18); }
.form-status { grid-column:1/-1; min-height:20px; margin:0; font-size:12px; color:rgba(241,240,234,.55); }

/* Legal */
.legal-page { min-height:100vh; }
.legal-hero { padding:180px 3.4vw 90px; background:var(--paper); color:var(--ink); }
.legal-hero .breadcrumbs { color:rgba(8,8,8,.5); }
.legal-hero > span { font-family:var(--font-geist-mono); font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:var(--blue); }
.legal-hero h1 { margin:28px 0; font-size:clamp(58px,8vw,112px); letter-spacing:-.07em; }
.legal-hero p { max-width:650px; margin:0; font-size:19px; line-height:1.55; }
.legal-content { max-width:860px; margin:0 auto; padding:100px 20px 140px; }
.legal-content h2 { margin:50px 0 16px; font-size:28px; letter-spacing:-.035em; }
.legal-content h2:first-child { margin-top:0; }
.legal-content p { margin:0; color:rgba(241,240,234,.6); line-height:1.75; }

@media (max-width: 900px) {
  .page-hero { min-height:680px; }
  .page-hero > p, .service-hero h2, .service-hero-cta { align-self:flex-start; margin-right:0; }
  .service-category, .service-context, .inclusions-section, .faq-section, .about-story, .team-model, .contact-section { grid-template-columns:1fr; }
  .service-context { gap:55px; }
  .outcome-grid, .delivery-grid { grid-template-columns:repeat(2,1fr); }
  .related-grid { grid-template-columns:1fr; }
  .about-story { gap:55px; }
  .team-orbit { width:min(80vw,580px); }
  .process-stage { grid-template-columns:55px 1fr; }
  .process-stage ul { grid-column:2; }
  .engagement-page-grid { grid-template-columns:1fr; }
  .solution-case { grid-template-columns:1fr; }
  .solution-case:nth-child(even) .solution-visual { order:0; }
  .proof-note { grid-template-columns:1fr; gap:32px; }
}

@media (max-width: 800px) {
  .site-nav nav, .site-nav .nav-cta { display:none; }
  .mobile-menu-toggle { display:block; justify-self:end; border:1px solid rgba(241,240,234,.25); border-radius:100px; padding:10px 14px; background:transparent; color:var(--paper); font-size:12px; }
  .mobile-panel { position:absolute; z-index:50; top:74px; left:0; right:0; padding:24px 20px 32px; display:flex; flex-direction:column; gap:0; background:var(--ink); border-bottom:1px solid rgba(241,240,234,.2); opacity:0; transform:translateY(-12px); pointer-events:none; transition:.25s ease; }
  .mobile-panel.open { opacity:1; transform:translateY(0); pointer-events:auto; }
  .mobile-panel a { display:flex; justify-content:space-between; padding:16px 0; border-bottom:1px solid rgba(241,240,234,.16); font-size:18px; }
  footer .legal-links { grid-column:auto; }
}

@media (max-width: 600px) {
  .page-hero { min-height:630px; padding:125px 20px 55px; }
  .breadcrumbs { top:95px; left:20px; max-width:calc(100% - 40px); overflow:hidden; white-space:nowrap; }
  .page-hero h1, .service-hero h1 { font-size:52px; line-height:.86; }
  .page-hero > p { margin-top:32px; font-size:16px; }
  .service-hero { min-height:760px; }
  .service-hero h2 { margin-top:30px; font-size:28px; }
  .service-hero-cta { width:100%; }
  .service-category-stack, .service-context, .outcomes-section, .inclusions-section, .delivery-section, .faq-section, .related-services, .about-story, .principles-section, .team-model, .process-stages, .engagement-page-section, .solution-stack, .contact-section { padding-left:20px; padding-right:20px; }
  .service-category { grid-template-columns:1fr; gap:45px; padding:46px 0 60px; }
  .service-link-list strong { font-size:15px; }
  .context-copy h2, .inclusions-intro h2, .faq-heading h2, .team-model-copy h2, .contact-intro h2 { font-size:48px; }
  .outcomes-section > h2 { font-size:52px; }
  .outcome-grid, .delivery-grid { grid-template-columns:1fr; }
  .outcome-grid article { min-height:200px; }
  .delivery-grid article { min-height:280px; }
  .faq-list summary { grid-template-columns:34px 1fr 20px; font-size:15px; }
  .faq-list details p { margin-left:50px; }
  .principle-grid { grid-template-columns:1fr; }
  .principle-grid article { min-height:280px; }
  .team-orbit { width:85vw; }
  .team-orbit i { font-size:7px; padding:8px 9px; }
  .process-stage { grid-template-columns:1fr; gap:24px; }
  .process-stage ul { grid-column:1; }
  .process-stage { min-height:0; padding:45px 0 65px; }
  .stage-main h2 { font-size:45px; }
  .solution-case { min-height:0; }
  .solution-visual { min-height:330px; }
  .solution-copy { padding:32px 22px; min-height:430px; }
  .contact-form { grid-template-columns:1fr; }
  .contact-form label.full, .contact-form button, .form-status { grid-column:1; }
  .contact-form button { width:100%; }
  .page-cta { min-height:570px; padding-left:20px; padding-right:20px; }
  .page-cta h2 { font-size:51px; }
  .page-cta a { min-width:0; width:100%; max-width:350px; }
  .legal-hero { padding:150px 20px 70px; }
}

/* PHP CMS extensions, composed in the original Zenonext art direction */
.gtm-frame { display:none; visibility:hidden; }
.cap-card li a { flex:1; }
.case-studies-section { padding: 125px 3.4vw 145px; background:#111; }
.case-studies-section.light { background:var(--paper);color:var(--ink); }
.case-studies-section.light .section-label { border-color:rgba(8,8,8,.2);color:rgba(8,8,8,.5); }
.case-study-heading { display:grid;grid-template-columns:1.25fr .55fr;gap:7vw;align-items:end;margin:65px 0 75px; }
.case-study-heading h2 { margin:0;font-size:clamp(58px,7.3vw,112px);line-height:.86;letter-spacing:-.075em; }
.case-study-heading h2 i { font-family:Georgia,serif;font-weight:400;color:var(--lime); }
.case-study-heading p { margin:0;color:rgba(241,240,234,.55);font-size:17px;line-height:1.6; }
.case-studies-section.light .case-study-heading p { color:rgba(8,8,8,.58); }
.case-card-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:18px; }
.case-card { min-height:560px;display:flex;flex-direction:column;border:1px solid rgba(241,240,234,.2);background:#0b0b0b;transition:.35s ease; }
.case-card:hover { transform:translateY(-5px);border-color:var(--lime); }
.case-card-visual { position:relative;overflow:hidden;min-height:310px;background:var(--blue); }
.case-card:nth-child(2n) .case-card-visual { background:var(--lime); }
.case-card-visual::before { content:"";position:absolute;width:54%;aspect-ratio:1;left:21%;top:10%;border:24px solid var(--paper);border-radius:50%;transform:rotate(-12deg); }
.case-card:nth-child(2n) .case-card-visual::before { border-color:var(--ink);border-radius:20px;transform:rotate(12deg); }
.case-card-visual img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2; }
.case-card-visual span { position:absolute;z-index:3;top:22px;left:24px;padding:8px 11px;background:var(--ink);color:var(--paper);font:9px var(--font-geist-mono);letter-spacing:.13em;text-transform:uppercase; }
.case-card-copy { flex:1;display:flex;flex-direction:column;padding:30px; }
.case-card-copy>span { color:var(--lime);font:9px var(--font-geist-mono);letter-spacing:.14em;text-transform:uppercase; }
.case-card-copy h3 { margin:auto 0 18px;font-size:clamp(32px,3vw,48px);line-height:.96;letter-spacing:-.055em; }
.case-card-copy p { margin:0 0 25px;color:rgba(241,240,234,.55);line-height:1.55; }
.case-card-copy i { align-self:flex-end;font-style:normal;color:var(--lime); }
.empty-proof { padding:70px;border:1px dashed rgba(241,240,234,.28); }
.empty-proof strong { display:block;margin-bottom:12px;font-size:clamp(28px,3vw,44px);letter-spacing:-.045em; }
.empty-proof p { max-width:670px;margin:0;color:rgba(241,240,234,.52);line-height:1.65; }
.expertise-section { padding:125px 3.4vw 140px;background:#101010; }
.expertise-grid { display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;margin-top:70px; }
.expertise-grid h2 { margin:0;font-size:clamp(52px,6vw,92px);line-height:.87;letter-spacing:-.07em; }
.expertise-grid h2 i { font-family:Georgia,serif;font-weight:400;color:var(--lime); }
.expertise-copy>p { margin:0 0 36px;color:rgba(241,240,234,.6);font-size:18px;line-height:1.7; }
.pill-set { display:flex;flex-wrap:wrap;gap:9px; }
.pill-set span,.pill-set strong { padding:10px 13px;border:1px solid rgba(241,240,234,.22);border-radius:100px;font:10px var(--font-geist-mono);letter-spacing:.04em; }
.seo-topic-set { margin-top:22px; }
.seo-topic-set strong { border-color:var(--lime);color:var(--lime); }
.service-rich-copy p { margin-bottom:24px; }
.service-problem-title { margin:-12px 0 28px;font-size:clamp(24px,2.4vw,38px);line-height:1.08;letter-spacing:-.045em;color:var(--lime); }
.honeypot { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.form-error { color:#ff8b7b!important; }
.form-success { color:var(--lime)!important; }
.industry-band { display:grid;grid-template-columns:.4fr 1fr;gap:6vw;margin-top:65px;padding-top:30px;border-top:1px solid rgba(241,240,234,.2); }
.industry-band>span { color:var(--lime);font:9px var(--font-geist-mono);letter-spacing:.14em;text-transform:uppercase; }
.industry-band div { display:flex;flex-wrap:wrap;gap:18px 28px;color:rgba(241,240,234,.65); }
.blog-stack { padding:120px 3.4vw 145px; }
.post-row { display:grid;grid-template-columns:90px 1fr .8fr 30px;gap:30px;align-items:center;min-height:190px;border-top:1px solid rgba(241,240,234,.2);transition:.3s ease; }
.post-row:last-child { border-bottom:1px solid rgba(241,240,234,.2); }
.post-row:hover { padding-left:12px;color:var(--lime); }
.post-row>span { color:var(--lime);font:9px var(--font-geist-mono);letter-spacing:.13em;text-transform:uppercase; }
.post-row h2 { margin:0;font-size:clamp(30px,3.4vw,50px);line-height:1;letter-spacing:-.055em; }
.post-row p { color:rgba(241,240,234,.5);line-height:1.6; }
.post-row i { font-style:normal; }
.article-page { background:linear-gradient(to bottom,var(--ink) 0 92px,var(--paper) 92px);color:var(--ink);padding:180px 20px 130px; }
.article-shell { max-width:900px;margin:auto; }
.article-shell header>span { color:var(--blue);font:10px var(--font-geist-mono);letter-spacing:.14em;text-transform:uppercase; }
.article-crumbs { display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:10px var(--font-geist-mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(11,14,16,.5);margin-bottom:22px; }
.article-crumbs a:hover { color:var(--ink); }
.article-crumbs i { font-style:normal;opacity:.5; }
.article-crumbs span { color:rgba(11,14,16,.78); }
.article-body .article-media { margin:36px 0; width:100%; }
.article-body .article-media img, .article-body .article-media video { display:block; width:100%; height:auto; border-radius:14px; }
.article-body figure.article-media figcaption { margin-top:10px; font-size:13px; color:rgba(11,14,16,.55); text-align:center; }
.article-body .article-embed { position:relative; margin:36px 0; aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:#000; }
.article-body .article-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.draft-banner { position:sticky; top:0; z-index:200; background:#ffd98c; color:#0b0e10; text-align:center; padding:11px 16px; font-size:13px; font-weight:600; }
.draft-banner a { text-decoration:underline; text-underline-offset:2px; }
.related-posts { max-width:900px; margin:auto; padding:0 20px 30px; background:var(--paper); color:var(--ink); }
.related-posts h2 { font-size:clamp(28px,3vw,40px); letter-spacing:-.04em; margin:0 0 26px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.related-grid a { display:flex; flex-direction:column; gap:8px; padding:22px; border:1px solid rgba(11,14,16,.14); border-radius:14px; transition:border-color .2s ease, transform .2s ease; }
.related-grid a:hover { border-color:var(--ink); transform:translateY(-2px); }
.related-grid h3 { font-size:18px; margin:0; line-height:1.25; }
.related-grid p { font-size:14px; color:rgba(11,14,16,.62); margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.related-grid span { font:10px var(--font-geist-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--blue); margin-top:auto; }
@media(max-width:800px){ .related-grid { grid-template-columns:1fr; } }
.article-shell h1 { margin:32px 0;font-size:clamp(54px,7vw,100px);line-height:.88;letter-spacing:-.075em; }
.article-faq { background:var(--paper); color:var(--ink); grid-template-columns:1fr; gap:34px; max-width:900px; margin:auto; padding:10px 20px 60px; }
.article-faq .faq-heading h2 { font-size:clamp(38px,5vw,64px); }
.article-faq .faq-list { border-top-color:rgba(11,14,16,.16); }
.article-faq .faq-list details { border-bottom-color:rgba(11,14,16,.16); }
.article-faq .faq-list details p { color:rgba(11,14,16,.66); }
.article-deck { max-width:700px;font-size:21px;line-height:1.55;color:rgba(8,8,8,.62); }
.article-featured { width:100%;margin:65px 0; }
.article-body { max-width:740px;margin:70px auto 0; }
.article-body h2 { margin:60px 0 20px;font-size:42px;letter-spacing:-.05em; }
.article-body h3 { margin:45px 0 16px;font-size:28px;letter-spacing:-.04em; }
.article-body p,.article-body li { color:rgba(8,8,8,.7);font-size:18px;line-height:1.75; }
.case-detail-story { padding:120px 3.4vw 145px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.case-detail-story article { min-height:380px;padding:32px;border:1px solid rgba(241,240,234,.2); }
.case-detail-story span { color:var(--lime);font:9px var(--font-geist-mono);letter-spacing:.14em;text-transform:uppercase; }
.case-detail-story h2 { margin:50px 0 25px;font-size:42px;letter-spacing:-.055em; }
.case-detail-story p { color:rgba(241,240,234,.58);line-height:1.7; }
.case-media-premium { width:calc(100% - 6.8vw);margin:110px auto 0;aspect-ratio:16/9;background:var(--blue);overflow:hidden; }
.case-media-premium iframe,.case-media-premium video,.case-media-premium img { width:100%;height:100%;border:0;object-fit:cover; }
.legal { max-width:860px;margin:0 auto;padding:180px 20px 140px; }
.legal>small { color:var(--lime);font:9px var(--font-geist-mono);letter-spacing:.14em;text-transform:uppercase; }
.legal h1 { margin:30px 0 70px;font-size:clamp(60px,8vw,110px);letter-spacing:-.075em; }
.legal h2 { margin:48px 0 15px;font-size:29px;letter-spacing:-.04em; }
.legal p { color:rgba(241,240,234,.62);font-size:17px;line-height:1.75; }
.legal a { color:var(--lime); }
@media(max-width:900px){.case-study-heading,.expertise-grid{grid-template-columns:1fr}.case-card-grid{grid-template-columns:1fr}.case-detail-story{grid-template-columns:1fr}.post-row{grid-template-columns:60px 1fr 20px}.post-row p{grid-column:2}.industry-band{grid-template-columns:1fr}}
@media(max-width:600px){.case-studies-section,.expertise-section,.blog-stack,.case-detail-story{padding-left:20px;padding-right:20px}.case-study-heading h2,.expertise-grid h2{font-size:52px}.case-card{min-height:500px}.case-card-visual{min-height:260px}.empty-proof{padding:35px 25px}.post-row{grid-template-columns:1fr 20px;padding:30px 0}.post-row>span,.post-row p{grid-column:1}.case-media-premium{width:calc(100% - 40px);margin-top:80px}}

@media (max-width: 900px) {
  .manifesto, .builds, .operating-model { padding-top: 95px; padding-bottom: 100px; }
  .manifesto-grid, .builds-heading, .model-grid { grid-template-columns: 1fr; }
  .manifesto-grid { padding-top: 60px; }
  .spin-seal { display: none; }
  .cap-card { grid-template-columns: 55px 1fr; padding: 32px; }
  .cap-card ul { grid-column: 2; }
  .build-grid { grid-template-columns: 1fr; }
  .build-card, .build-card.growth { grid-column: auto; min-height: 520px; flex-direction: column; align-items: stretch; }
  .growth .build-copy { max-width: 100%; }
  .model-intro { position: static; }
  .engagements { grid-template-columns: 1fr; }
  .engagement-copy { padding: 90px 20px; }
  .engagement-options article { border-left: 0; }
  .footer-top { grid-template-columns: 1fr 1fr; align-items: start; }
}

@media (max-width: 600px) {
  .section-kicker span:last-child { display: none; }
  .manifesto, .builds, .operating-model { padding-left: 20px; padding-right: 20px; }
  .manifesto h2, .model-intro h2 { font-size: 54px; }
  .capabilities-list { padding: 0 20px 95px; }
  .cap-card { grid-template-columns: 1fr; padding: 26px 22px; }
  .cap-card ul { grid-column: 1; }
  .cap-heading h3 { font-size: 38px; }
  .builds-heading { padding: 54px 0; }
  .builds-heading h2 { font-size: 52px; }
  .build-card { min-height: 480px; padding: 26px 22px; }
  .build-copy h3 { font-size: 37px; }
  .step { grid-template-columns: 42px 1fr; padding-bottom: 48px; }
  .step p { grid-column: 2; }
  .engagement-options article { grid-template-columns: 35px 1fr; padding: 38px 20px; }
  .engagement-options p { grid-column: 2; }
  .final-cta { min-height: 690px; }
  .final-cta h2 { font-size: 58px; }
  .cta-link { min-width: 0; width: 100%; max-width: 350px; }
  footer { padding: 44px 20px 30px; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}
