:root {
  --paper: #f4f4f2;
  --paper-soft: #fafaf8;
  --ink: #171729;
  --muted: #71717b;
  --line: rgba(23, 23, 41, 0.14);
  --line-strong: rgba(23, 23, 41, 0.28);
  --violet: #7c45ff;
  --blue: #4d7dff;
  --cyan: #87ecff;
  --pink: #ff66cf;
  --coral: #ff6e66;
  --orange: #ff9d42;
  --green: #b8ff64;
  --dark: #12121d;
  --max: 1510px;
  --gutter: clamp(18px, 4vw, 64px);
  --radius: 24px;
  --ease: cubic-bezier(.2,.75,.2,1);
  --shadow: 0 25px 80px rgba(31, 31, 50, 0.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #eaeae8;
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.dialog-open,
body.menu-open { overflow: hidden; }
button, input, textarea { font: inherit; }
a { color: inherit; }
img { display: block; width: 100%; }

::selection { background: var(--ink); color: #fff; }

.skip-link {
  position: fixed;
  top: -100px;
  left: 16px;
  z-index: 300;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid var(--ink);
  transition: top .2s ease;
}
.skip-link:focus { top: 16px; }

.page-shell {
  width: min(calc(100% - 24px), 1560px);
  margin: 12px auto;
  background: var(--paper);
  border: 1px solid rgba(23, 23, 41, .08);
  box-shadow: 0 1px 0 rgba(255,255,255,.75) inset;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 26px var(--gutter) 12px;
  background: color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease, background .2s ease;
}
body.menu-open .site-header { border-bottom-color: var(--line); background: rgba(244,244,242,.98); }
body.menu-open .desktop-nav { opacity: 0; pointer-events: none; }

.brand {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none;
}
.brand-name { font-size: 18px; font-weight: 750; letter-spacing: -.04em; }
.brand-role { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; }

.desktop-nav { display: none; }

.menu-button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 11px 18px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: rgba(255,255,255,.35);
  color: var(--ink);
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.menu-button:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
.menu-button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform .25s ease; }
.menu-button[aria-expanded="true"] svg { transform: rotate(180deg); }

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 42px;
  padding: clamp(108px, 15vh, 160px) max(22px, calc((100vw - min(calc(100vw - 24px), 1560px)) / 2 + var(--gutter))) 30px;
  background:
    radial-gradient(circle at 18% 16%, rgba(135,236,255,.24), transparent 30%),
    radial-gradient(circle at 85% 85%, rgba(255,102,207,.18), transparent 34%),
    rgba(244,244,242,.985);
  backdrop-filter: blur(22px);
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-14px);
  transition: opacity .28s ease, transform .28s var(--ease), visibility .28s ease;
}
.mobile-menu.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.menu-layout { display: grid; gap: 42px; width: min(100%, 1450px); margin: 0 auto; }
.menu-intro > p:first-child { margin: 0 0 18px; font-size: 10px; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); }
.menu-intro h2 { margin: 0; max-width: 760px; font-size: clamp(36px, 8vw, 88px); line-height: .94; letter-spacing: -.065em; font-weight: 500; }
.menu-summary { max-width: 620px; margin: 22px 0 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.mobile-menu nav { display: grid; border-top: 1px solid var(--line); }
.mobile-menu nav > a {
  display: flex;
  align-items: baseline;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  font-size: clamp(28px, 8vw, 52px);
  line-height: 1;
  letter-spacing: -.055em;
  transition: padding-left .22s ease, color .22s ease;
}
.mobile-menu nav > a:hover,
.mobile-menu nav > a:focus-visible { padding-left: 10px; color: var(--violet); }
.mobile-menu nav > a > span { width: 24px; font-size: 10px; color: var(--muted); letter-spacing: .08em; }
.menu-footer { display: flex; flex-direction: column; gap: 14px; width: min(100%, 1450px); margin: 0 auto; padding-top: 18px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.menu-footer a { color: var(--ink); text-decoration: none; font-weight: 650; }
.menu-footer a span { margin-left: 8px; }

.hero {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 11vw, 155px) var(--gutter) 0;
  background:
    radial-gradient(circle at 70% 35%, rgba(255,255,255,.9), transparent 34%),
    linear-gradient(135deg, #f8f8f6 0%, #f2f2f1 56%, #eeeef2 100%);
}
.hero-copy { position: relative; z-index: 3; max-width: 1240px; }
.eyebrow,
.section-index,
.section-label {
  margin: 0;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .13em;
}
.eyebrow { margin-bottom: 18px; color: #5f5f69; }
.hero h1 {
  margin: 0;
  max-width: 1180px;
  font-size: clamp(54px, 11.5vw, 150px);
  line-height: .88;
  letter-spacing: -.075em;
  font-weight: 470;
}
.hero h1 span { display: block; }
.hero-action-row {
  display: grid;
  gap: 18px;
  align-items: center;
  margin-top: 30px;
  max-width: 900px;
}
.hero-action-row p { margin: 0; max-width: 520px; color: #7a7a83; font-size: 16px; line-height: 1.25; }
.hero-action-row p strong { display: block; color: var(--ink); font-weight: 600; }
.primary-button {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 42px;
  padding: 15px 20px;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  transition: transform .25s var(--ease), box-shadow .25s ease;
}
.primary-button:hover { transform: translateY(-3px); box-shadow: 0 15px 30px rgba(23,23,41,.2); }

.hero-orbit { position: absolute; border: 1px solid rgba(34,34,52,.14); border-radius: 50%; pointer-events: none; }
.orbit-one { width: 760px; height: 760px; top: -390px; right: -320px; }
.orbit-two { width: 820px; height: 820px; top: -600px; left: 30%; }
.signal-star { position: absolute; width: 54px; height: 54px; opacity: .28; }
.signal-star::before,
.signal-star::after { content: ""; position: absolute; inset: 0; margin: auto; width: 1px; height: 54px; background: #9b9ba4; }
.signal-star::after { transform: rotate(90deg); }
.signal-star { background: linear-gradient(45deg, transparent 49%, #9b9ba4 49.5%, #9b9ba4 50.5%, transparent 51%); }
.star-one { top: 88px; left: 21%; transform: rotate(12deg); }
.star-two { top: 48%; right: 17%; transform: rotate(-8deg); }

.hero-panels {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  margin: clamp(60px, 9vw, 130px) calc(var(--gutter) * -1) 0;
  background: rgba(23,23,41,.12);
  border-top: 1px solid rgba(23,23,41,.12);
}
.hero-panel {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  padding: 18px;
  background: #efefed;
  transform-style: preserve-3d;
}
.panel-topline {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .11em;
}
.panel-topline > span:first-child {
  display: grid;
  place-items: center;
  width: 44px;
  height: 30px;
  border: 1px solid rgba(23,23,41,.28);
  border-radius: 999px;
}
.panel-topline-light { color: #fff; }
.panel-topline-light > span:first-child { border-color: rgba(255,255,255,.5); }

.panel-profile {
  isolation: isolate;
  min-height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  color: var(--ink);
  background:
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.96), transparent 33%),
    radial-gradient(circle at 88% 82%, rgba(255,184,216,.38), transparent 40%),
    linear-gradient(145deg, #f4f2ea 0%, #e6f0f4 48%, #eee4f2 100%);
}
.panel-profile::before {
  content: "GJ";
  position: absolute;
  z-index: -2;
  left: 44%;
  top: 49%;
  transform: translate(-50%, -50%);
  color: rgba(255,255,255,.58);
  font-size: clamp(138px, 18vw, 248px);
  font-weight: 760;
  line-height: .72;
  letter-spacing: -.12em;
  text-shadow: 0 18px 42px rgba(68,73,103,.08);
  white-space: nowrap;
}
.panel-profile::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 82%;
  aspect-ratio: 1;
  right: -40%;
  top: -29%;
  border: 1px solid rgba(23,23,41,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 44px rgba(255,255,255,.08), 0 0 0 88px rgba(255,255,255,.05);
}
.profile-canvas {
  position: absolute;
  z-index: 1;
  inset: 52px -9% 118px 7%;
  overflow: hidden;
  display: grid;
  place-items: center;
  pointer-events: none;
}
.profile-monogram {
  position: absolute;
  z-index: 1;
  left: 48%;
  top: 52%;
  transform: translate(-50%, -50%);
  color: rgba(255,255,255,.76);
  font-size: clamp(66px, 10vw, 132px);
  font-weight: 720;
  letter-spacing: -.09em;
  mix-blend-mode: soft-light;
}
.profile-ribbon-field {
  position: absolute;
  inset: 4% 0 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(-7deg) translateX(4%);
  filter: saturate(.92);
}
.profile-ribbon-field i {
  display: block;
  flex: 0 0 22%;
  height: 82%;
  margin-left: -10%;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 48% 52% 45% 55% / 13% 15% 85% 87%;
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(208,229,255,.72) 42%, rgba(135,155,255,.34) 72%, rgba(255,131,189,.26));
  box-shadow: -16px 20px 42px rgba(74,87,131,.12), inset 10px 0 16px rgba(255,255,255,.28);
  backdrop-filter: blur(5px);
  transform: scaleY(.88);
  transform-origin: center;
  animation: profileRibbon 8s var(--ease) infinite alternate;
}
.profile-ribbon-field i:nth-child(2) {
  height: 92%;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(174,229,239,.72) 40%, rgba(86,152,255,.42) 72%, rgba(123,91,255,.32));
  animation-delay: -.8s;
}
.profile-ribbon-field i:nth-child(3) {
  height: 74%;
  background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,211,174,.68) 35%, rgba(255,126,133,.48) 68%, rgba(255,83,177,.34));
  animation-delay: -1.6s;
}
.profile-ribbon-field i:nth-child(4) {
  height: 98%;
  background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(223,194,255,.72) 38%, rgba(137,99,255,.5) 70%, rgba(83,116,255,.35));
  animation-delay: -2.4s;
}
.profile-ribbon-field i:nth-child(5) {
  height: 80%;
  background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(172,239,245,.74) 36%, rgba(73,181,225,.4) 68%, rgba(83,103,244,.34));
  animation-delay: -3.2s;
}
.profile-ribbon-field i:nth-child(6) {
  height: 94%;
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,210,230,.72) 38%, rgba(255,111,179,.44) 68%, rgba(172,73,255,.3));
  animation-delay: -4s;
}
.profile-ribbon-field i:nth-child(7) {
  height: 72%;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(205,221,255,.68) 38%, rgba(100,132,255,.4) 72%, rgba(108,77,225,.26));
  animation-delay: -4.8s;
}
.profile-ribbon-field i:nth-child(8) {
  height: 88%;
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(248,220,184,.7) 38%, rgba(255,139,112,.42) 69%, rgba(255,101,180,.27));
  animation-delay: -5.6s;
}
@keyframes profileRibbon {
  to { transform: translateY(-7px) scaleY(.96) skewY(1.5deg); }
}
.profile-copy {
  position: relative;
  z-index: 4;
  margin-top: auto;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px 14px;
  align-items: end;
  padding-top: 18px;
  border-top: 1px solid rgba(23,23,41,.18);
}
.profile-location {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 2px;
  color: rgba(23,23,41,.58);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .105em;
}
.profile-location i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #54c957;
  box-shadow: 0 0 0 4px rgba(84,201,87,.11);
}
.profile-years strong,
.profile-years span { display: block; }
.profile-years strong {
  color: var(--ink);
  font-size: clamp(52px, 7.7vw, 82px);
  font-weight: 470;
  line-height: .8;
  letter-spacing: -.075em;
}
.profile-years span {
  margin-top: 10px;
  color: rgba(23,23,41,.62);
  font-size: 9px;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .09em;
}
.profile-description {
  grid-column: 1 / -1;
  max-width: 36ch;
  margin: 5px 0 0;
  color: rgba(23,23,41,.68);
  font-size: 12px;
  line-height: 1.45;
}
.profile-link {
  grid-column: 2;
  grid-row: 2 / span 2;
  align-self: end;
  min-width: 108px;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 13px;
  border: 1px solid rgba(23,23,41,.26);
  border-radius: 999px;
  background: rgba(255,255,255,.34);
  color: var(--ink);
  text-decoration: none;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .085em;
  backdrop-filter: blur(10px);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.profile-link i { font-size: 14px; font-style: normal; }
.profile-link:hover,
.profile-link:focus-visible { background: var(--ink); color: #fff; transform: translateY(-2px); }

@media (max-width: 699px) {
  .panel-profile { min-height: 445px; padding: 20px; }
  .profile-canvas { inset: 54px -15% 142px 1%; }
  .profile-ribbon-field { transform: rotate(-7deg) translateX(1%); }
  .profile-copy { grid-template-columns: minmax(0,1fr) auto; }
  .profile-years strong { font-size: 64px; }
  .profile-description { max-width: 25ch; font-size: 12.5px; }
  .profile-link { min-width: 112px; }
}

@media (min-width: 700px) and (max-width: 939px) {
  .panel-profile { min-height: 470px; }
  .profile-canvas { inset: 55px -7% 130px 8%; }
  .profile-years strong { font-size: 78px; }
  .profile-description { max-width: 42ch; font-size: 13px; }
}

.panel-capability {
  min-height: 360px;
  background: linear-gradient(145deg, #fc836c, #ff676c 38%, #ff4d9e 100%);
  color: #fff;
}
.prism-field { position: absolute; inset: 38px -40px 0 18%; display: flex; align-items: center; filter: saturate(1.08); }
.prism-field i {
  display: block;
  flex: 1 1 0;
  height: 78%;
  margin-left: -14%;
  background: linear-gradient(90deg, rgba(255,80,94,.1), rgba(255,235,170,.92), rgba(255,91,196,.9));
  clip-path: polygon(0 45%, 75% 0, 100% 55%, 22% 100%);
  box-shadow: -15px 0 40px rgba(91,0,74,.22);
  transform-origin: center;
  animation: prismPulse 7s ease-in-out infinite alternate;
}
.prism-field i:nth-child(2n) { animation-delay: -.9s; }
.prism-field i:nth-child(3n) { animation-delay: -1.8s; }
@keyframes prismPulse { to { transform: translateX(8px) scaleY(1.04); filter: hue-rotate(12deg); } }
.capability-quicklist {
  position: absolute;
  z-index: 3;
  left: 18px;
  right: 18px;
  bottom: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: linear-gradient(180deg, transparent, rgba(107, 0, 68, .32));
}
.capability-quicklist li { border-bottom: 1px solid rgba(255,255,255,.45); }
.capability-quicklist li:last-child { border-bottom: 0; }
.capability-quicklist a { display: flex; justify-content: space-between; padding: 10px 0; text-decoration: none; font-size: 14px; }

.panel-systems {
  min-height: 410px;
  color: #fff;
  background:
    radial-gradient(circle at 24% 55%, rgba(255,91,226,.95), transparent 28%),
    radial-gradient(circle at 82% 40%, rgba(71,150,255,.95), transparent 40%),
    linear-gradient(125deg, #6d4fff 0%, #d75bd9 35%, #638cff 70%, #66c4ff 100%);
}
.signal-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .34; }
.system-wave { position: absolute; inset: 20% 0 14%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.system-wave span {
  display: block;
  width: 18%;
  height: 90%;
  margin-left: -10%;
  border-radius: 50%;
  background: linear-gradient(90deg, rgba(42,17,71,.95), rgba(255,255,255,.12), rgba(65,14,99,.86));
  filter: blur(.2px);
  box-shadow: 15px 0 35px rgba(47,14,84,.4);
  animation: waveMove 6s ease-in-out infinite alternate;
}
.system-wave span:nth-child(2n) { animation-delay: -.4s; }
.system-wave span:nth-child(3n) { animation-delay: -1.3s; }
@keyframes waveMove { to { transform: translateX(14px) scaleY(.88); filter: hue-rotate(16deg); } }
.systems-stat { position: absolute; z-index: 4; left: 20px; right: 20px; bottom: 22px; display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: end; }
.systems-stat strong { font-size: clamp(78px, 18vw, 145px); line-height: .7; font-weight: 420; letter-spacing: -.08em; }
.systems-stat p { margin: 0; max-width: 310px; font-size: 14px; line-height: 1.15; }

.proof-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.proof-strip div { min-height: 140px; padding: 24px var(--gutter); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.proof-strip div:nth-child(2n) { border-right: 0; }
.proof-strip div:nth-last-child(-n+2) { border-bottom: 0; }
.proof-strip span { display: block; font-size: clamp(29px, 8vw, 54px); letter-spacing: -.06em; }
.proof-strip p { margin: 7px 0 0; max-width: 160px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; line-height: 1.3; }

.section-space { padding: 92px var(--gutter); }
.section-intro {
  max-width: var(--max);
  margin: 0 auto 58px;
  display: grid;
  gap: 22px;
}
.section-intro > div { display: flex; justify-content: space-between; gap: 20px; }
.section-index { color: var(--ink); }
.section-label { color: var(--muted); }
.section-intro h2 {
  margin: 0;
  max-width: 1160px;
  font-size: clamp(42px, 8vw, 112px);
  line-height: .94;
  font-weight: 480;
  letter-spacing: -.065em;
}

.project-stack { max-width: var(--max); margin: 0 auto; display: grid; gap: 86px; }
.project-card { display: grid; gap: 24px; }
.project-media {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  display: grid;
  place-items: center;
  padding: 20px;
  border-radius: 18px;
}
.project-media img { position: relative; z-index: 2; border-radius: 13px; box-shadow: var(--shadow); transition: transform .8s var(--ease); }
.project-card:hover .project-media img { transform: scale(1.025) translateY(-3px); }
.media-dark { background: radial-gradient(circle at 74% 20%, #214178, transparent 36%), #060c18; }
.media-indigo { background: radial-gradient(circle at 27% 72%, #443cc7, transparent 42%), #15103e; }
.media-pearl { background: linear-gradient(135deg, #fff, #e8eaff 62%, #f4d8ff); }
.media-blue { background: linear-gradient(135deg, #e9f1ff, #d6e2ff 55%, #f4f8ff); }
.project-number {
  position: absolute;
  z-index: 3;
  top: 14px;
  left: 14px;
  display: grid;
  place-items: center;
  width: 46px;
  height: 32px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  background: rgba(10,10,20,.12);
  backdrop-filter: blur(12px);
}
.media-pearl .project-number,
.media-blue .project-number { color: var(--ink); border-color: rgba(23,23,41,.25); background: rgba(255,255,255,.45); }
.project-copy { align-self: center; }
.project-meta { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 18px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.project-copy h3 { margin: 0 0 16px; font-size: clamp(40px, 8vw, 82px); line-height: .93; font-weight: 500; letter-spacing: -.06em; }
.project-copy > p { margin: 0; max-width: 620px; color: var(--muted); font-size: clamp(17px, 2vw, 22px); line-height: 1.4; }
.text-button {
  margin-top: 28px;
  padding: 0 0 5px;
  border: 0;
  border-bottom: 1px solid var(--ink);
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.text-button span { display: inline-block; margin-left: 18px; transition: transform .2s ease; }
.text-button:hover span { transform: translate(3px, -3px); }

.services-section { background: #ededeb; }
.services-grid { max-width: var(--max); margin: 0 auto; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.service-card { position: relative; overflow: hidden; min-height: 420px; padding: 22px; display: flex; flex-direction: column; background: #f7f7f4; }
.service-index { font-size: 10px; letter-spacing: .1em; }
.service-card h3 { margin: auto 0 16px; max-width: 420px; font-size: clamp(31px, 5vw, 56px); line-height: .96; letter-spacing: -.055em; font-weight: 500; }
.service-card > p { margin: 0 0 18px; max-width: 500px; color: var(--muted); line-height: 1.45; font-size: 15px; }
.service-tech { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; line-height: 1.5; }
.service-glyph { position: absolute; top: 30px; right: 26px; width: 140px; height: 140px; opacity: .9; }
.glyph-orbit i { position: absolute; inset: 10%; border: 1px solid var(--violet); border-radius: 50%; }
.glyph-orbit i:nth-child(2) { transform: rotate(60deg) scaleX(.45); }
.glyph-orbit i:nth-child(3) { transform: rotate(-60deg) scaleY(.45); }
.glyph-flow { display: flex; align-items: center; justify-content: center; gap: 7px; }
.glyph-flow i { width: 22px; height: 70%; background: linear-gradient(var(--coral), var(--pink)); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.glyph-flow i:nth-child(2) { height: 92%; }
.glyph-flow i:nth-child(3) { height: 58%; }
.glyph-flow i:nth-child(4) { height: 78%; }
.glyph-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; transform: rotate(-10deg); }
.glyph-grid i { border-radius: 8px; background: linear-gradient(135deg, #c7d9ff, #ffb5e9); box-shadow: 0 9px 20px rgba(66,79,120,.16); }
.glyph-cloud i { position: absolute; border: 1px solid var(--blue); border-radius: 50%; }
.glyph-cloud i:nth-child(1) { width: 110px; height: 110px; left: 0; top: 0; }
.glyph-cloud i:nth-child(2) { width: 76px; height: 76px; right: 0; bottom: 0; }
.glyph-cloud i:nth-child(3) { width: 48px; height: 48px; right: 15px; top: 0; background: linear-gradient(135deg, var(--cyan), var(--blue)); border: 0; }

.principles-section { position: relative; overflow: hidden; background: var(--dark); color: #fff; }
.principles-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .42; }
.principles-section::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,18,29,.96), rgba(18,18,29,.82) 55%, rgba(18,18,29,.58)); pointer-events: none; }
.principles-inner { position: relative; z-index: 2; padding: 96px var(--gutter); }
.section-intro-dark .section-index { color: #fff; }
.section-intro-dark .section-label { color: rgba(255,255,255,.5); }
.principles-layout { max-width: var(--max); margin: 0 auto; display: grid; gap: 64px; }
.principle-statement { max-width: 520px; }
.principle-statement span { font-size: 10px; color: var(--green); text-transform: uppercase; letter-spacing: .12em; }
.principle-statement p { margin: 18px 0 0; font-size: clamp(26px, 5vw, 50px); line-height: 1.02; letter-spacing: -.05em; }
.principle-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.2); }
.principle-list li { display: grid; grid-template-columns: 1fr auto; gap: 12px 20px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.principle-list li > span { font-size: 24px; letter-spacing: -.03em; }
.principle-list li p { grid-column: 1; margin: 0; color: rgba(255,255,255,.57); font-size: 13px; }
.principle-list li em { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: rgba(255,255,255,.38); font-style: normal; font-size: 10px; }

.notes-grid { max-width: var(--max); margin: 0 auto; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.note-card { min-height: 330px; padding: 23px; display: flex; flex-direction: column; background: var(--paper-soft); transition: background .25s ease, color .25s ease; }
.note-card:hover { background: var(--ink); color: #fff; }
.note-card > span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.note-card h3 { margin: auto 0 14px; font-size: clamp(30px, 4vw, 49px); line-height: .98; font-weight: 500; letter-spacing: -.05em; }
.note-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
.note-card button { width: fit-content; margin-top: 22px; padding: 0 0 4px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }

.about-section { background: #d8ff64; }
.about-grid { max-width: var(--max); margin: 0 auto; display: grid; gap: 48px; }
.about-heading h2 { margin: 24px 0 0; font-size: clamp(43px, 8vw, 104px); line-height: .93; font-weight: 500; letter-spacing: -.065em; }
.about-copy > p { margin: 0 0 22px; font-size: clamp(20px, 3vw, 32px); line-height: 1.23; letter-spacing: -.025em; }
.about-facts { margin-top: 48px; border-top: 1px solid rgba(23,23,41,.3); }
.about-facts div { padding: 15px 0; border-bottom: 1px solid rgba(23,23,41,.3); }
.about-facts span, .about-facts strong { display: block; }
.about-facts span { margin-bottom: 5px; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; opacity: .6; }
.about-facts strong { font-size: 14px; font-weight: 600; }

.contact-section { padding: 94px var(--gutter) 60px; background: linear-gradient(135deg, #6956ff, #9f5aff 47%, #f765d6); color: #fff; }
.contact-grid { max-width: var(--max); margin: 0 auto; display: grid; gap: 56px; }
.contact-grid > div:first-child > p { margin: 0 0 15px; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.contact-grid h2 { margin: 0; max-width: 1040px; font-size: clamp(56px, 11vw, 150px); line-height: .86; font-weight: 470; letter-spacing: -.075em; }
.contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.contact-actions a { text-underline-offset: 5px; font-size: 12px; }
.contact-primary { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 17px 20px; border-radius: 999px; background: #fff; color: var(--ink); text-decoration: none; text-transform: uppercase; letter-spacing: .07em; }

.site-footer { display: flex; flex-direction: column; gap: 10px; padding: 18px var(--gutter); background: #101019; color: rgba(255,255,255,.58); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.site-footer a { width: fit-content; color: #fff; }

.dialog { position: fixed; inset: 0; z-index: 300; visibility: hidden; pointer-events: none; }
.dialog.is-open { visibility: visible; pointer-events: auto; }
.dialog-backdrop { position: absolute; inset: 0; background: rgba(10,10,18,.62); opacity: 0; transition: opacity .3s ease; }
.dialog.is-open .dialog-backdrop { opacity: 1; }
.dialog-panel { position: absolute; right: 0; top: 0; width: 100%; height: 100%; overflow-y: auto; background: var(--paper); transform: translateX(100%); transition: transform .52s var(--ease); outline: none; }
.dialog.is-open .dialog-panel { transform: translateX(0); }
.dialog-close { position: sticky; top: 14px; z-index: 4; float: right; margin: 14px; padding: 10px 14px; border: 1px solid var(--line-strong); border-radius: 999px; background: rgba(244,244,242,.9); backdrop-filter: blur(12px); cursor: pointer; }
.dialog-close span { margin-left: 8px; font-size: 18px; }
.dialog-header { clear: both; padding: 80px var(--gutter) 46px; }
.dialog-header > p:first-child { margin: 0 0 16px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.dialog-header h2 { margin: 0 0 24px; font-size: clamp(50px, 11vw, 112px); line-height: .88; font-weight: 490; letter-spacing: -.07em; }
.dialog-header > p:last-child { margin: 0; max-width: 760px; color: var(--muted); font-size: clamp(18px, 3vw, 27px); line-height: 1.3; }
.dialog-panel > img { width: calc(100% - 36px); margin: 0 18px; border-radius: 14px; }
.dialog-content { padding: 55px var(--gutter); display: grid; gap: 36px; }
.dialog-content section { padding-top: 15px; border-top: 1px solid var(--line); }
.dialog-content h3 { margin: 0 0 12px; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.dialog-content p, .dialog-content li { color: var(--muted); font-size: 15px; line-height: 1.55; }
.dialog-content p { margin: 0; }
.dialog-content ul { margin: 0; padding-left: 18px; }
.dialog-note { margin: 0; padding: 26px var(--gutter) 54px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }

.reveal { opacity: 1; transform: none; transition: opacity .72s var(--ease), transform .72s var(--ease); }
.reveal.reveal-armed { opacity: 0; transform: translateY(28px); }
.reveal.reveal-armed.is-visible { opacity: 1; transform: translateY(0); }

@media (min-width: 700px) {
  .page-shell { width: min(calc(100% - 42px), 1560px); margin: 21px auto; }
  .hero-action-row { grid-template-columns: auto 1fr; gap: 32px; }
  .proof-strip { grid-template-columns: repeat(4, 1fr); }
  .proof-strip div { border-bottom: 0; }
  .proof-strip div:nth-child(2n) { border-right: 1px solid var(--line); }
  .proof-strip div:last-child { border-right: 0; }
  .project-media { padding: 34px; min-height: 500px; }
  .services-grid, .notes-grid { grid-template-columns: repeat(2, 1fr); }
  .about-facts { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid rgba(23,23,41,.3); }
  .about-facts div { border-bottom: 0; border-right: 1px solid rgba(23,23,41,.3); padding: 16px; }
  .about-facts div:first-child { padding-left: 0; }
  .about-facts div:last-child { border-right: 0; }
  .contact-primary { width: auto; min-width: 300px; }
  .site-footer { flex-direction: row; justify-content: space-between; align-items: center; }
  .dialog-panel { width: min(980px, 92vw); }
  .dialog-content { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 940px) {
  .menu-layout { grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr); align-items: start; gap: clamp(70px, 10vw, 160px); }
  .mobile-menu nav { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
  .mobile-menu nav > a { font-size: clamp(28px, 3.2vw, 52px); }
  .menu-footer { flex-direction: row; align-items: center; justify-content: space-between; }
  .site-header { padding-top: 36px; }
  .desktop-nav { display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 38px; margin-left: auto; margin-right: 36px; }
  .desktop-nav > div { display: grid; gap: 7px; }
  .desktop-nav a { width: fit-content; color: #777780; text-decoration: none; font-size: 13px; }
  .desktop-nav a:hover { color: var(--ink); }
  .hero-panels { grid-template-columns: .78fr .84fr 1.72fr; }
  .hero-panel { min-height: 410px; }
  .panel-capability, .panel-systems { min-height: 410px; }
  .section-intro { grid-template-columns: 240px 1fr; gap: 42px; margin-bottom: 80px; }
  .section-intro > div { display: block; }
  .section-label { margin-top: 10px; }
  .project-card { grid-template-columns: minmax(0, 1.3fr) minmax(340px, .7fr); gap: clamp(42px, 7vw, 110px); }
  .project-card-reverse { grid-template-columns: minmax(340px, .7fr) minmax(0, 1.3fr); }
  .project-card-reverse .project-media { order: 2; }
  .project-card-reverse .project-copy { order: 1; }
  .services-grid { grid-template-columns: repeat(4, 1fr); }
  .service-card { min-height: 540px; }
  .principles-layout { grid-template-columns: .75fr 1.25fr; gap: 100px; }
  .notes-grid { grid-template-columns: repeat(4, 1fr); }
  .about-grid { grid-template-columns: 1fr .92fr; gap: clamp(70px, 10vw, 160px); }
  .contact-grid { grid-template-columns: 1fr auto; align-items: end; }
  .contact-actions { max-width: 420px; justify-content: flex-end; }
  .contact-primary { min-width: 360px; }
}

@media (min-width: 1200px) {
  .hero { padding-top: 110px; }
  .hero-action-row { margin-left: 270px; }
  .systems-stat { left: 32px; right: 32px; bottom: 28px; }
}

@media (max-width: 480px) {
  .page-shell { width: 100%; margin: 0; border-left: 0; border-right: 0; }
  .site-header { padding-top: calc(20px + env(safe-area-inset-top)); }
  .brand-role { display: none; }
  .hero { padding-top: 60px; }
  .hero h1 { font-size: clamp(52px, 15.7vw, 74px); }
  .hero-action-row p { font-size: 14px; }
  .hero-panel { min-height: 300px; }
  .panel-systems { min-height: 360px; }
  .section-space { padding-top: 74px; padding-bottom: 74px; }
  .project-meta { display: grid; gap: 7px; }
  .project-media { min-height: 260px; padding: 14px; }
  .service-card { min-height: 400px; }
  .contact-section { padding-bottom: calc(42px + env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}


.dialog-sources { grid-column: 1 / -1; }
.dialog-sources ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.dialog-sources li { border-bottom: 1px solid var(--line); }
.dialog-sources a { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; color: var(--ink); text-decoration: none; }
.dialog-sources a:hover { color: var(--violet); }
.note-card > span { line-height: 1.4; }
@media (min-width: 940px) {
  .notes-grid { grid-template-columns: repeat(4, 1fr); }
}


/* Production navigation: native HTML first, JavaScript optional. */
.nav-disclosure { position: relative; margin: 0; }
.nav-disclosure summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 108px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  cursor: pointer;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(14px);
  font-size: 13px;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.nav-disclosure summary::-webkit-details-marker { display: none; }
.nav-disclosure summary:hover,
.nav-disclosure summary:focus-visible { background: var(--ink); color: #fff; transform: translateY(-1px); }
.nav-disclosure-panel {
  position: fixed;
  z-index: 90;
  inset: 86px var(--page-pad) auto;
  max-height: calc(100svh - 108px);
  overflow: auto;
  padding: clamp(24px, 4vw, 54px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(248,248,246,.98);
  box-shadow: 0 24px 80px rgba(18,18,24,.15);
}
.nav-disclosure-grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(300px,1.25fr); gap: clamp(32px,7vw,110px); }
.nav-disclosure-intro p:first-child { margin: 0 0 12px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.nav-disclosure-intro h2 { margin: 0; max-width: 620px; font-size: clamp(34px,4.7vw,78px); line-height: .98; letter-spacing: -.06em; font-weight: 500; }
.nav-disclosure-intro p:last-child { margin: 26px 0 0; max-width: 600px; color: var(--muted); line-height: 1.55; }
.nav-disclosure-links { display: grid; align-content: start; border-top: 1px solid var(--line); }
.nav-disclosure-links a { display: grid; grid-template-columns: 34px 1fr auto; gap: 14px; align-items: center; min-height: 62px; border-bottom: 1px solid var(--line); text-decoration: none; font-size: clamp(18px,2vw,28px); letter-spacing: -.035em; }
.nav-disclosure-links a span:first-child { color: var(--muted); font-size: 10px; letter-spacing: .08em; }
.nav-disclosure-links a span:last-child { font-size: 14px; }
.nav-disclosure-links a:hover,
.nav-disclosure-links a:focus-visible { color: var(--violet); }
.nav-disclosure-footer { display: flex; justify-content: space-between; gap: 20px; margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.nav-disclosure-footer a { color: var(--ink); }

.text-button,
.note-card > a {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 44px;
  color: inherit;
  text-decoration: none;
}
.note-card > a { margin-top: auto; padding-top: 28px; font-size: 13px; border: 0; background: transparent; cursor: pointer; }
.text-button:hover,
.text-button:focus-visible,
.note-card > a:hover,
.note-card > a:focus-visible { color: var(--violet); }

/* Editorial case-study and Field Note routes. */
.content-page { min-height: 100svh; background: var(--paper); }
.content-shell { width: min(100% - (var(--page-pad) * 2), var(--max)); margin: 0 auto; }
.content-hero { padding: clamp(132px,18vw,220px) 0 clamp(58px,8vw,120px); border-bottom: 1px solid var(--line); }
.content-breadcrumb { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-bottom: 36px; color: var(--muted); text-decoration: none; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; }
.content-breadcrumb:hover,
.content-breadcrumb:focus-visible { color: var(--ink); }
.content-eyebrow { margin: 0 0 18px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.content-hero h1 { max-width: 1320px; margin: 0; font-size: clamp(52px,9.1vw,145px); line-height: .9; letter-spacing: -.075em; font-weight: 500; text-wrap: balance; }
.content-summary { max-width: 900px; margin: 36px 0 0 auto; font-size: clamp(20px,2.2vw,34px); line-height: 1.27; letter-spacing: -.03em; color: var(--muted); }
.content-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin-top: 58px; border-top: 1px solid var(--line); }
.content-facts > div { min-height: 100px; padding: 18px 22px 12px 0; border-right: 1px solid var(--line); }
.content-facts > div + div { padding-left: 22px; }
.content-facts > div:last-child { border-right: 0; }
.content-facts span,
.content-facts strong { display: block; }
.content-facts span { margin-bottom: 10px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.content-facts strong { font-size: 15px; line-height: 1.45; font-weight: 560; }
.content-image { margin: clamp(38px,6vw,88px) 0 0; padding: clamp(12px,1.8vw,26px); border-radius: 30px; background: #0a0d18; }
.content-image img { width: 100%; border-radius: 20px; }
.content-layout { display: grid; grid-template-columns: minmax(170px,.36fr) minmax(0,1fr); gap: clamp(36px,9vw,150px); padding: clamp(72px,10vw,150px) 0; }
.content-aside { align-self: start; position: sticky; top: 108px; }
.content-aside p { margin: 0 0 12px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.content-toc { display: grid; border-top: 1px solid var(--line); }
.content-toc a { padding: 13px 0; border-bottom: 1px solid var(--line); color: var(--muted); text-decoration: none; font-size: 13px; line-height: 1.35; }
.content-toc a:hover,
.content-toc a:focus-visible { color: var(--ink); }
.content-body { max-width: 900px; }
.content-section { scroll-margin-top: 110px; padding: 0 0 clamp(50px,7vw,92px); }
.content-section + .content-section { padding-top: clamp(44px,6vw,78px); border-top: 1px solid var(--line); }
.content-section h2 { margin: 0 0 24px; font-size: clamp(34px,4.4vw,68px); line-height: 1; letter-spacing: -.055em; font-weight: 500; }
.content-section p { margin: 0; color: #464650; font-size: clamp(18px,1.55vw,23px); line-height: 1.62; }
.content-section p + p { margin-top: 20px; }
.source-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.source-list li { border-bottom: 1px solid var(--line); }
.source-list a { display: grid; grid-template-columns: 1fr auto; gap: 20px; min-height: 62px; align-items: center; color: inherit; text-decoration: none; }
.source-list a:hover,
.source-list a:focus-visible { color: var(--violet); }
.content-callout { margin-top: 18px; padding: clamp(24px,4vw,48px); border-radius: 26px; background: var(--ink); color: #fff; }
.content-callout p { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; text-transform: uppercase; letter-spacing: .09em; }
.content-callout strong { display: block; max-width: 820px; margin-top: 20px; font-size: clamp(28px,4vw,58px); line-height: 1.02; letter-spacing: -.05em; font-weight: 500; }
.content-navigation { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: clamp(80px,10vw,150px); }
.content-navigation a { min-height: 160px; padding: 24px; text-decoration: none; display: flex; flex-direction: column; justify-content: space-between; }
.content-navigation a + a { border-left: 1px solid var(--line); text-align: right; align-items: flex-end; }
.content-navigation span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.content-navigation strong { max-width: 520px; font-size: clamp(22px,2.4vw,36px); line-height: 1.08; letter-spacing: -.04em; font-weight: 500; }
.content-navigation a:hover,
.content-navigation a:focus-visible { background: #fff; }
.standalone-library { padding: 90px var(--page-pad); }
.standalone-library article { scroll-margin-top: 100px; max-width: var(--max); margin: 0 auto 90px; padding-top: 50px; border-top: 1px solid var(--line); }
.standalone-library h2 { font-size: clamp(42px,7vw,100px); line-height: .94; letter-spacing: -.065em; font-weight: 500; }
.standalone-library h3 { margin: 42px 0 14px; font-size: clamp(26px,3vw,46px); letter-spacing: -.045em; }
.standalone-library p { max-width: 900px; color: var(--muted); font-size: 18px; line-height: 1.6; }

@media (max-width: 820px) {
  .desktop-nav { display: none; }
  .nav-disclosure-panel { inset: 72px 12px auto; max-height: calc(100svh - 84px); padding: 22px; border-radius: 22px; }
  .nav-disclosure-grid { grid-template-columns: 1fr; gap: 28px; }
  .nav-disclosure-intro h2 { font-size: clamp(32px,10vw,52px); }
  .nav-disclosure-intro p:last-child { margin-top: 18px; }
  .nav-disclosure-links a { min-height: 55px; font-size: 21px; }
  .nav-disclosure-footer { flex-direction: column; }
  .content-hero { padding-top: 116px; }
  .content-hero h1 { font-size: clamp(48px,15vw,82px); }
  .content-summary { margin-left: 0; }
  .content-facts { grid-template-columns: 1fr; }
  .content-facts > div { min-height: 0; padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .content-facts > div + div { padding-left: 0; }
  .content-facts > div:last-child { border-bottom: 0; }
  .content-layout { grid-template-columns: 1fr; gap: 46px; }
  .content-aside { position: static; }
  .content-toc { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; }
  .content-navigation { grid-template-columns: 1fr; }
  .content-navigation a { min-height: 130px; }
  .content-navigation a + a { border-left: 0; border-top: 1px solid var(--line); text-align: left; align-items: flex-start; }
}

@media (max-width: 480px) {
  .nav-disclosure summary { min-width: 92px; padding-inline: 14px; }
  .content-shell { width: min(100% - 32px, var(--max)); }
  .content-toc { grid-template-columns: 1fr; }
  .content-section p { font-size: 17px; }
  .source-list a { padding: 12px 0; align-items: start; }
}

/* Closed native disclosures must not create off-screen fixed layout or overflow. */
.nav-disclosure:not([open]) > .nav-disclosure-panel { display: none; }

@media (min-width: 700px) and (max-width: 939px) {
  .proof-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .proof-strip div { min-width: 0; padding: 22px 16px; }
  .proof-strip span { font-size: clamp(27px, 5vw, 38px); overflow-wrap: anywhere; }
  .proof-strip p { max-width: none; overflow-wrap: anywhere; }
}

/* ========================================================================== 
   Content routes V2 — mobile/tablet editorial redesign
   Core content remains native HTML; these styles only enhance presentation.
   ========================================================================== */
:root {
  --page-pad: clamp(20px, 4vw, 64px);
  --content-surface: #ffffff;
  --content-surface-soft: #f8f8f6;
  --content-shadow: 0 18px 48px rgba(23, 23, 41, .07);
}

.content-page {
  background:
    radial-gradient(circle at 12% 4%, rgba(184,255,100,.16), transparent 24rem),
    radial-gradient(circle at 92% 12%, rgba(135,236,255,.17), transparent 26rem),
    #e9e9e6;
}
.content-page .page-shell { background: var(--paper); }
.content-page main { overflow: clip; }
.content-page .content-hero { position: relative; isolation: isolate; }
.content-page .content-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: clamp(96px, 13vw, 150px) 0 24px;
  border: 1px solid var(--line);
  border-radius: clamp(24px, 3vw, 42px);
  background:
    radial-gradient(circle at 85% 15%, rgba(135,236,255,.24), transparent 24rem),
    radial-gradient(circle at 12% 92%, rgba(124,69,255,.10), transparent 24rem),
    rgba(255,255,255,.55);
  box-shadow: 0 30px 90px rgba(23,23,41,.055);
}
.field-note-page .content-hero::before {
  background:
    radial-gradient(circle at 88% 12%, rgba(255,102,207,.19), transparent 24rem),
    radial-gradient(circle at 10% 90%, rgba(77,125,255,.13), transparent 26rem),
    rgba(255,255,255,.58);
}
.case-study-page .content-image { background: linear-gradient(145deg, #07101f, #15152b); }

.content-breadcrumb {
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  backdrop-filter: blur(10px);
}
.content-eyebrow { max-width: 860px; line-height: 1.55; }
.content-hero h1 { overflow-wrap: anywhere; }
.content-summary {
  padding-left: clamp(18px, 2vw, 30px);
  border-left: 3px solid var(--violet);
}
.case-study-page .content-summary { border-left-color: #28b9ef; }
.content-facts > div { position: relative; }
.content-facts > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 46px;
  height: 2px;
  background: linear-gradient(90deg, var(--violet), var(--pink));
}
.case-study-page .content-facts > div::before { background: linear-gradient(90deg, #35d7ff, #4d7dff); }

.content-body { counter-reset: editorial-section; }
.content-section { counter-increment: editorial-section; position: relative; }
.content-section::before {
  content: counter(editorial-section, decimal-leading-zero);
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 28px;
  margin-bottom: 20px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .08em;
}
.content-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--violet), var(--pink), transparent 74%);
  opacity: .8;
}
.case-study-page .content-section::after {
  background: linear-gradient(90deg, #32d7ff, #4d7dff, transparent 74%);
}
.content-section:nth-child(3n + 2)::after { background: linear-gradient(90deg, var(--coral), var(--orange), transparent 74%); }
.content-section:nth-child(3n + 3)::after { background: linear-gradient(90deg, var(--green), var(--cyan), transparent 74%); }
.content-callout { position: relative; overflow: hidden; }
.content-callout::after {
  content: "";
  position: absolute;
  width: 220px;
  aspect-ratio: 1;
  right: -80px;
  bottom: -110px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(255,255,255,.035), 0 0 0 56px rgba(255,255,255,.025);
}
.content-callout > * { position: relative; z-index: 1; }
.reading-progress {
  position: fixed;
  z-index: 140;
  top: 0;
  left: 0;
  width: var(--reading-progress, 0%);
  height: 3px;
  background: linear-gradient(90deg, var(--violet), var(--pink), var(--cyan));
  pointer-events: none;
}
.content-toc a.is-active {
  color: var(--ink);
  font-weight: 650;
}

@media (max-width: 939px) {
  :root { --page-pad: clamp(20px, 5vw, 38px); }
  .content-page .page-shell {
    width: 100%;
    margin: 0;
    border: 0;
    background: transparent;
  }
  .content-page .site-header {
    padding-left: var(--page-pad);
    padding-right: var(--page-pad);
    background: rgba(244,244,242,.92);
  }
  .content-page main { background: var(--paper); }
  .content-shell { width: min(calc(100% - (var(--page-pad) * 2)), var(--max)); }
  .content-hero {
    padding-top: clamp(104px, 17vw, 142px);
    padding-bottom: 42px;
    border-bottom: 0;
  }
  .content-page .content-hero::before {
    inset: 88px calc(var(--page-pad) * -.45) 10px;
    border-radius: 26px;
  }
  .content-breadcrumb {
    min-height: 40px;
    margin-bottom: 28px;
    padding-inline: 13px;
    font-size: 10px;
  }
  .content-eyebrow {
    margin-bottom: 16px;
    font-size: 10px;
    letter-spacing: .115em;
    overflow-wrap: anywhere;
  }
  .content-hero h1 {
    max-width: 11.5ch;
    font-size: clamp(46px, 12.8vw, 84px);
    line-height: .94;
    letter-spacing: -.065em;
  }
  .field-note-page .content-hero h1 { max-width: 15ch; font-size: clamp(42px, 10.4vw, 76px); }
  .content-summary {
    margin: 30px 0 0;
    padding: 18px 18px 18px 20px;
    border: 1px solid rgba(23,23,41,.10);
    border-left: 3px solid var(--violet);
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 14px 40px rgba(23,23,41,.055);
    font-size: clamp(18px, 3.3vw, 24px);
    line-height: 1.38;
  }
  .case-study-page .content-summary { border-left-color: #28b9ef; }
  .content-facts {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(220px, 72vw);
    grid-template-columns: none;
    gap: 10px;
    margin-top: 24px;
    padding: 2px 2px 10px;
    border-top: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .content-facts::-webkit-scrollbar { display: none; }
  .content-facts > div,
  .content-facts > div + div {
    min-height: 116px;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 17px;
    background: rgba(255,255,255,.82);
    scroll-snap-align: start;
  }
  .content-facts > div:last-child { border: 1px solid var(--line); }
  .content-facts > div::before { left: 16px; top: -1px; }
  .content-image {
    margin-top: 24px;
    padding: 8px;
    border-radius: 20px;
    box-shadow: 0 20px 56px rgba(9,16,31,.15);
  }
  .content-image img { border-radius: 14px; }
  .content-layout {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 38px var(--page-pad) 72px;
    background:
      radial-gradient(circle at 92% 8%, rgba(135,236,255,.12), transparent 22rem),
      linear-gradient(180deg, #eeeeeb, #f5f5f2 36%, #efefec);
  }
  .field-note-page .content-layout {
    background:
      radial-gradient(circle at 92% 8%, rgba(255,102,207,.10), transparent 22rem),
      linear-gradient(180deg, #eeeeeb, #f6f5f4 36%, #efefec);
  }
  .content-aside {
    position: sticky;
    z-index: 20;
    top: 76px;
    margin: 0 calc(var(--page-pad) * -1);
    padding: 10px var(--page-pad);
    border-top: 1px solid rgba(23,23,41,.08);
    border-bottom: 1px solid rgba(23,23,41,.10);
    background: rgba(244,244,242,.92);
    backdrop-filter: blur(14px);
  }
  .content-aside > p { display: none; }
  .content-toc {
    display: flex;
    gap: 8px;
    border: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .content-toc::-webkit-scrollbar { display: none; }
  .content-toc a {
    flex: 0 0 auto;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 9px 13px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: var(--muted);
    font-size: 11px;
    line-height: 1.2;
  }
  .content-toc a.is-active {
    border-color: rgba(23,23,41,.42);
    background: var(--ink);
    color: #fff;
  }
  .content-body {
    width: 100%;
    max-width: none;
    display: grid;
    gap: 16px;
  }
  .content-section,
  .content-section + .content-section {
    margin: 0;
    padding: 22px;
    border: 1px solid rgba(23,23,41,.10);
    border-radius: 22px;
    background: rgba(255,255,255,.91);
    box-shadow: var(--content-shadow);
  }
  .content-section::before { margin-bottom: 18px; }
  .content-section h2 {
    max-width: 14ch;
    margin: 0 0 18px;
    padding-right: 0;
    font-size: clamp(29px, 7vw, 42px);
    line-height: 1.02;
    letter-spacing: -.052em;
  }
  .content-section p {
    max-width: 68ch;
    color: #55555f;
    font-size: clamp(16.5px, 2.7vw, 19px);
    line-height: 1.68;
  }
  .source-list { border-top-color: rgba(23,23,41,.10); }
  .source-list a {
    min-height: 58px;
    padding: 10px 0;
    font-size: 14px;
    line-height: 1.4;
  }
  .content-callout {
    margin-top: 0;
    padding: 26px;
    border-radius: 22px;
    background:
      radial-gradient(circle at 88% 10%, rgba(135,236,255,.25), transparent 17rem),
      linear-gradient(145deg, #11111e, #24234a);
    box-shadow: 0 24px 60px rgba(17,17,30,.18);
  }
  .content-callout strong {
    margin-top: 16px;
    font-size: clamp(27px, 6.8vw, 44px);
    line-height: 1.08;
  }
  .content-navigation {
    width: auto;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 0 var(--page-pad) 72px;
    border: 0;
  }
  .content-navigation a,
  .content-navigation a + a {
    min-height: 118px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255,255,255,.84);
    text-align: left;
    align-items: flex-start;
    box-shadow: 0 12px 36px rgba(23,23,41,.05);
  }
  .content-navigation a + a { border-left: 1px solid var(--line); }
  .content-navigation strong { font-size: clamp(22px, 5vw, 31px); }
  .content-page .site-footer {
    padding-left: var(--page-pad);
    padding-right: var(--page-pad);
  }
  .standalone-library {
    padding: 60px var(--page-pad);
    background: linear-gradient(180deg, #eeeeeb, #f6f6f3);
  }
  .standalone-library article {
    margin-bottom: 22px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--content-shadow);
  }
  .standalone-library article + article { margin-top: 18px; }
  .standalone-library h2 { margin-top: 0; font-size: clamp(36px, 9vw, 60px); }
  .standalone-library h3 { margin-top: 32px; font-size: clamp(25px, 6vw, 36px); }
  .standalone-library p { font-size: 16.5px; }
}

@media (min-width: 640px) and (max-width: 939px) {
  :root { --page-pad: clamp(30px, 5vw, 52px); }
  .content-hero { padding-top: 132px; }
  .content-hero h1 { max-width: 12ch; font-size: clamp(66px, 10vw, 92px); }
  .field-note-page .content-hero h1 { max-width: 16ch; font-size: clamp(56px, 8.2vw, 78px); }
  .content-facts {
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    grid-template-columns: repeat(3, minmax(0,1fr));
    overflow: visible;
  }
  .content-facts > div,
  .content-facts > div + div { min-width: 0; }
  .content-section,
  .content-section + .content-section {
    display: grid;
    grid-template-columns: minmax(180px, .44fr) minmax(0, 1fr);
    column-gap: clamp(28px, 5vw, 54px);
    row-gap: 14px;
    align-items: start;
    padding: 30px;
  }
  .content-section::before { grid-column: 1; margin: 0; }
  .content-section h2 { grid-column: 1; max-width: 10ch; margin: 0; font-size: clamp(32px, 4.7vw, 48px); }
  .content-section p,
  .content-section .source-list { grid-column: 2; grid-row: 1 / span 3; }
  .content-section p + p { grid-row: auto; }
  .content-callout { padding: 36px; }
  .content-navigation { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .content-navigation a + a { border-top: 1px solid var(--line); }
}

@media (max-width: 420px) {
  :root { --page-pad: 20px; }
  .content-page .site-header { min-height: 82px; }
  .content-hero { padding-top: 102px; }
  .content-page .content-hero::before { inset-inline: -9px; }
  .content-hero h1 { font-size: clamp(44px, 12.4vw, 60px); }
  .field-note-page .content-hero h1 { font-size: clamp(39px, 10.8vw, 54px); }
  .content-summary { padding: 16px; font-size: 18px; }
  .content-facts { grid-auto-columns: minmax(215px, 82vw); }
  .content-layout { padding-top: 30px; }
  .content-section,
  .content-section + .content-section { padding: 20px; border-radius: 20px; }
  .content-section h2 { font-size: 29px; }
  .content-section p { font-size: 16.5px; }
  .content-callout { padding: 22px; }
}

/* Grid items with horizontally scrolling children must be allowed to shrink. */
.content-layout > *,
.content-body,
.content-aside,
.content-section,
.content-toc { min-width: 0; }
@media (max-width: 939px) {
  .content-aside { width: auto; overflow: hidden; }
  .content-toc { width: 100%; max-width: 100%; }
  .content-body { width: 100%; max-width: 100%; }
  .content-section { width: 100%; max-width: 100%; }
}


/* V5: ownership and private agentic delivery research */
.ownership-note {
  max-width: var(--max);
  margin: -28px auto 54px;
  padding: clamp(20px, 3vw, 32px);
  display: grid;
  gap: 16px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(135,236,255,.12));
}
.ownership-note div { display: grid; gap: 5px; }
.ownership-note span, .project-ownership { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.ownership-note strong { font-size: clamp(22px, 3vw, 38px); letter-spacing: -.045em; }
.ownership-note p { margin: 0; max-width: 950px; color: var(--muted); line-height: 1.55; }
.project-ownership { margin: 0 0 13px; line-height: 1.4; }
.project-ownership-research { color: rgba(23,23,41,.68); }
.nda-disclosure, .private-research-disclosure {
  margin: 22px 0 0;
  padding: 16px 18px;
  display: grid;
  gap: 7px;
  border-left: 3px solid var(--violet);
  background: rgba(124,69,255,.07);
  border-radius: 0 14px 14px 0;
}
.nda-disclosure span, .private-research-disclosure span { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 750; }
.nda-disclosure p, .private-research-disclosure p { margin: 0; color: var(--muted); line-height: 1.5; }
.ownership-scope { margin: 22px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.ownership-scope li { padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.55); font-size: 12px; color: var(--muted); }
.media-control-plane { min-height: 420px; padding: clamp(22px, 4vw, 48px); background: radial-gradient(circle at 76% 12%, rgba(135,236,255,.26), transparent 32%), radial-gradient(circle at 18% 86%, rgba(255,102,207,.22), transparent 34%), #121525; color: #fff; }
.control-plane-preview { height: 100%; min-height: 330px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: clamp(20px, 3vw, 34px); border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 34px 34px; box-shadow: inset 0 0 70px rgba(77,125,255,.12); }
.cp-header { display: flex; justify-content: space-between; gap: 12px; font-size: 10px; letter-spacing: .12em; }
.cp-header span:last-child { color: var(--green); }
.cp-flow { display: grid; gap: 8px; }
.cp-lane { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(10,12,23,.62); }
.cp-lane b { color: var(--cyan); font-size: 11px; }
.cp-lane span { font-size: clamp(12px, 1.5vw, 16px); }
.cp-status { display: flex; align-items: center; gap: 10px; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.cp-status i { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 7px rgba(184,255,100,.12); }
.research-hero { background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(135,236,255,.09), rgba(255,102,207,.06)); }
.private-research-disclosure { border-left-color: var(--coral); background: rgba(255,110,102,.07); }
.research-hero-map { margin-top: 30px; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.research-hero-map > div { min-width: 0; padding: 18px; display: grid; gap: 5px; background: rgba(255,255,255,.72); }
.research-hero-map span { font-size: 10px; color: var(--violet); }
.research-hero-map strong { font-size: 16px; }
.research-hero-map small { color: var(--muted); line-height: 1.4; }
.research-architecture { display: grid; gap: 12px; margin-top: 24px; }
.research-architecture article { padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.58); }
.research-architecture article > span { font-size: 10px; color: var(--violet); letter-spacing: .1em; }
.research-architecture h3 { margin: 12px 0 8px; font-size: 20px; }
.research-architecture p { margin: 0; }
.control-matrix { display: grid; gap: 10px; margin: 22px 0 30px; }
.control-matrix > div { padding: 18px; border-radius: 16px; background: #171729; color: #fff; }
.control-matrix strong { display: block; margin-bottom: 8px; }
.control-matrix p { color: rgba(255,255,255,.68); margin: 0; }
.tool-status-grid { display: grid; gap: 12px; margin-top: 18px; }
.tool-status-grid article { padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.58); }
.tool-status-grid h4 { margin: 14px 0 8px; font-size: 19px; }
.tool-status-grid p { margin: 0; }
.status-pill { display: inline-flex; padding: 6px 9px; border-radius: 999px; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; font-weight: 750; }
.status-design { background: rgba(184,255,100,.45); }
.status-evaluating { background: rgba(135,236,255,.45); }
.status-planned { background: rgba(255,157,66,.28); }
.guardrail-pipeline { margin: 22px 0 0; padding: 0; list-style: none; counter-reset: guardrail; display: grid; gap: 10px; }
.guardrail-pipeline li { counter-increment: guardrail; display: grid; grid-template-columns: auto 1fr; gap: 12px 16px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; }
.guardrail-pipeline li::before { content: counter(guardrail, decimal-leading-zero); color: var(--violet); font-size: 11px; font-weight: 750; }
.guardrail-pipeline strong { font-size: 17px; }
.guardrail-pipeline span { grid-column: 2; color: var(--muted); line-height: 1.5; }
.research-checklist { margin: 20px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.research-checklist li { position: relative; padding: 12px 14px 12px 38px; border-radius: 14px; background: rgba(124,69,255,.06); color: var(--muted); }
.research-checklist li::before { content: '✓'; position: absolute; left: 14px; color: var(--violet); font-weight: 800; }
.proof-metrics { display: grid; gap: 10px; margin-top: 22px; }
.proof-metrics > div { padding: 18px; border: 1px solid var(--line); border-radius: 16px; display: grid; gap: 8px; }
.proof-metrics strong { font-size: 18px; }
.proof-metrics span { color: var(--muted); line-height: 1.5; }
.sharing-boundary { display: grid; gap: 12px; margin: 20px 0; }
.sharing-boundary article { padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.6); }
.sharing-boundary article:first-child { border-top: 4px solid var(--green); }
.sharing-boundary article:last-child { border-top: 4px solid var(--coral); }
.sharing-boundary article > span { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; font-weight: 750; }
.sharing-boundary ul { margin: 16px 0 0; padding-left: 20px; color: var(--muted); line-height: 1.6; }
.research-basis .source-list { margin-top: 16px; }
@media (min-width: 700px) {
  .ownership-note { grid-template-columns: .55fr 1.45fr; align-items: start; }
  .research-hero-map { grid-template-columns: repeat(5, 1fr); }
  .research-architecture { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .control-matrix, .tool-status-grid, .proof-metrics, .sharing-boundary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 1100px) {
  .research-architecture { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .tool-status-grid, .proof-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .ownership-scope { grid-template-columns: 1fr; }
  .media-control-plane { min-height: 360px; padding: 16px; }
  .control-plane-preview { min-height: 300px; padding: 16px; }
  .cp-lane { grid-template-columns: 30px 1fr; padding: 10px; }
  .research-hero-map > div { padding: 15px; }
}

/* ========================================================================== 
   V6 reading system and progressive modal layer
   Mobile first, resilient without JavaScript, enhanced when JavaScript exists.
   ========================================================================== */
:root {
  --reader-edge: clamp(18px, 3.8vw, 56px);
  --reader-max: 1450px;
  --reader-copy: 820px;
}

/* Current area in the global navigation. */
.desktop-nav a,
.nav-disclosure-links a { position: relative; }
.desktop-nav a[aria-current] {
  color: var(--ink);
  font-weight: 720;
}
.desktop-nav a[aria-current]::before {
  content: "";
  position: absolute;
  left: -13px;
  top: .62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--violet), var(--pink));
  box-shadow: 0 0 0 5px rgba(124,69,255,.09);
}
.nav-disclosure-links a[aria-current] {
  margin-inline: -12px;
  padding-inline: 12px;
  border-radius: 14px;
  background: rgba(124,69,255,.08);
  color: var(--ink);
}

/* Editorial route shell. The hero is a real card so its margin cannot collapse. */
.content-page .page-shell {
  width: min(calc(100% - 24px), 1560px);
  margin: 12px auto;
  background: var(--paper);
}
.content-page main { overflow: visible; }
.content-page .content-hero {
  width: min(calc(100% - (var(--reader-edge) * 2)), var(--reader-max));
  margin: clamp(12px, 2vw, 28px) auto 0;
  padding: clamp(108px, 11vw, 168px) clamp(28px, 5vw, 76px) clamp(50px, 6vw, 86px);
  border: 1px solid rgba(23,23,41,.11);
  border-radius: clamp(24px, 3vw, 42px);
  background:
    radial-gradient(circle at 88% 12%, rgba(255,102,207,.17), transparent 25rem),
    radial-gradient(circle at 12% 88%, rgba(77,125,255,.11), transparent 27rem),
    rgba(255,255,255,.67);
  box-shadow: 0 24px 74px rgba(23,23,41,.055);
  isolation: isolate;
  overflow: hidden;
}
.case-study-page .content-hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(135,236,255,.22), transparent 25rem),
    radial-gradient(circle at 10% 90%, rgba(124,69,255,.10), transparent 27rem),
    rgba(255,255,255,.68);
}
.content-page .content-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -8% -46% 35%;
  height: 70%;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(115deg, rgba(255,255,255,0), rgba(255,255,255,.78), rgba(255,102,207,.07));
  filter: blur(2px);
  transform: rotate(-7deg);
  box-shadow: none;
}
.content-page .content-hero > * { position: relative; z-index: 1; }
.content-page .content-breadcrumb { margin-bottom: clamp(24px, 3vw, 40px); }
.content-page .content-eyebrow {
  max-width: 78ch;
  margin-bottom: clamp(16px, 2vw, 24px);
  overflow-wrap: normal;
}
.content-page .content-hero h1 {
  max-width: 12.7ch;
  font-size: clamp(52px, 8.1vw, 128px);
  line-height: .93;
  letter-spacing: -.069em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}
.field-note-page .content-hero h1 { max-width: 14.5ch; }
.content-page .content-summary {
  max-width: 850px;
  margin: clamp(28px, 4vw, 54px) 0 0 min(18%, 240px);
  padding: clamp(18px, 2.4vw, 28px);
  border: 1px solid rgba(23,23,41,.10);
  border-left: 4px solid var(--violet);
  border-radius: 18px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 16px 44px rgba(23,23,41,.045);
}
.case-study-page .content-summary { border-left-color: #28b9ef; }
.content-page .content-facts {
  margin-top: clamp(28px, 4vw, 54px);
  border-top-color: rgba(23,23,41,.12);
}

/* Main reading grid and vertical chapter rail. */
.content-page .content-layout {
  width: min(calc(100% - (var(--reader-edge) * 2)), 1380px);
  margin: 0 auto;
  padding: clamp(66px, 8vw, 112px) 0 clamp(86px, 10vw, 140px);
  grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
  gap: clamp(38px, 6vw, 90px);
  background: transparent;
}
.content-page .content-aside {
  position: sticky;
  top: 112px;
  margin: 0;
  padding: 18px;
  border: 1px solid rgba(23,23,41,.10);
  border-radius: 20px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 18px 52px rgba(23,23,41,.055);
  backdrop-filter: blur(14px);
  overflow: hidden;
}
.content-page .content-aside > p {
  display: block;
  margin: 0 0 14px;
  padding: 0 4px;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .11em;
}
.content-page .content-toc {
  display: grid;
  gap: 6px;
  border: 0;
  overflow: visible;
}
.content-page .content-toc a {
  position: relative;
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 11px 12px 11px 15px;
  border: 0;
  border-radius: 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.content-page .content-toc a::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 50%;
  width: 3px;
  height: 0;
  border-radius: 99px;
  background: linear-gradient(180deg, var(--violet), var(--pink));
  transform: translateY(-50%);
  transition: height .22s var(--ease);
}
.content-page .content-toc a:hover,
.content-page .content-toc a:focus-visible {
  color: var(--ink);
  background: rgba(23,23,41,.045);
  transform: translateX(2px);
}
.content-page .content-toc a.is-active,
.content-page .content-toc a[aria-current="location"] {
  color: var(--ink);
  font-weight: 680;
  background: linear-gradient(100deg, rgba(124,69,255,.12), rgba(255,102,207,.055));
}
.content-page .content-toc a.is-active::before,
.content-page .content-toc a[aria-current="location"]::before { height: 24px; }

.content-page .content-body {
  width: 100%;
  max-width: 930px;
  display: grid;
  gap: clamp(16px, 2vw, 24px);
}
.content-page .content-section,
.content-page .content-section + .content-section {
  margin: 0;
  padding: clamp(26px, 3.6vw, 48px);
  border: 1px solid rgba(23,23,41,.095);
  border-radius: clamp(20px, 2vw, 28px);
  background: rgba(255,255,255,.87);
  box-shadow: 0 15px 52px rgba(23,23,41,.045);
}
.content-page .content-section::before { margin-bottom: clamp(17px, 2vw, 24px); }
.content-page .content-section h2 {
  max-width: 15ch;
  margin-bottom: clamp(18px, 2.3vw, 28px);
  font-size: clamp(35px, 4vw, 58px);
  line-height: 1;
}
.content-page .content-section p {
  max-width: 72ch;
  color: #50505a;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.67;
}
.content-page .content-callout { margin-top: 2px; }
.content-page .content-navigation {
  width: min(calc(100% - (var(--reader-edge) * 2)), 1380px);
  margin: 0 auto clamp(72px, 9vw, 128px);
  border: 0;
  gap: 14px;
}
.content-page .content-navigation a,
.content-page .content-navigation a + a {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.75);
  box-shadow: 0 12px 40px rgba(23,23,41,.04);
}

/* Tablet gets a real side rail rather than an oversized horizontal strip. */
@media (min-width: 700px) and (max-width: 1023px) {
  :root { --reader-edge: clamp(26px, 4.5vw, 46px); }
  .content-page .content-hero {
    padding: 122px clamp(34px, 5vw, 56px) 58px;
  }
  .content-page .content-hero h1 { font-size: clamp(62px, 8.5vw, 86px); }
  .field-note-page .content-hero h1 { max-width: 15ch; font-size: clamp(56px, 7.5vw, 76px); }
  .content-page .content-summary { margin-left: 10%; }
  .content-page .content-layout {
    grid-template-columns: minmax(190px, 224px) minmax(0, 1fr);
    gap: 28px;
    padding-top: 46px;
  }
  .content-page .content-aside {
    position: sticky;
    top: 96px;
    padding: 14px;
  }
  .content-page .content-toc { display: grid; overflow: visible; }
  .content-page .content-toc a {
    flex: initial;
    min-height: 42px;
    white-space: normal;
  }
  .content-page .content-section,
  .content-page .content-section + .content-section {
    display: block;
    padding: 30px;
  }
  .content-page .content-section h2 { max-width: 14ch; margin-bottom: 20px; }
  .content-page .content-section p,
  .content-page .content-section .source-list { grid-column: auto; grid-row: auto; }
}

/* Phone reading view with consistent outer margins and a compact sticky chapter rail. */
@media (max-width: 699px) {
  :root { --reader-edge: 18px; }
  .content-page .page-shell {
    width: 100%;
    margin: 0;
    border: 0;
  }
  .content-page .site-header {
    min-height: 80px;
    padding: calc(16px + env(safe-area-inset-top)) var(--reader-edge) 12px;
  }
  .content-page .content-hero {
    width: calc(100% - (var(--reader-edge) * 2));
    margin-top: 10px;
    padding: 96px 19px 32px;
    border-radius: 24px;
  }
  .content-page .content-hero::before {
    inset: auto -30% -38% 10%;
    height: 58%;
  }
  .content-page .content-breadcrumb {
    min-height: 40px;
    margin-bottom: 24px;
    padding-inline: 12px;
    font-size: 9px;
  }
  .content-page .content-eyebrow {
    margin-bottom: 14px;
    font-size: 9.5px;
    line-height: 1.55;
  }
  .content-page .content-hero h1,
  .field-note-page .content-hero h1 {
    max-width: 100%;
    font-size: clamp(39px, 11.7vw, 56px);
    line-height: .98;
    letter-spacing: -.058em;
    text-wrap: pretty;
  }
  .content-page .content-summary {
    max-width: none;
    margin: 26px 0 0;
    padding: 16px;
    border-radius: 15px;
    font-size: 17.5px;
    line-height: 1.43;
  }
  .content-page .content-facts {
    grid-auto-columns: minmax(218px, 82vw);
    margin-top: 20px;
  }
  .content-page .content-layout {
    width: calc(100% - (var(--reader-edge) * 2));
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 24px 0 66px;
  }
  .content-page .content-aside {
    position: sticky;
    z-index: 35;
    top: calc(72px + env(safe-area-inset-top));
    width: 100%;
    margin: 0;
    padding: 8px;
    border-radius: 16px;
    background: rgba(250,250,248,.93);
    box-shadow: 0 12px 34px rgba(23,23,41,.08);
  }
  .content-page .content-aside > p { display: none; }
  .content-page .content-toc {
    display: flex;
    gap: 7px;
    padding: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
    scrollbar-width: none;
  }
  .content-page .content-toc::-webkit-scrollbar { display: none; }
  .content-page .content-toc a {
    flex: 0 0 auto;
    min-height: 39px;
    max-width: 220px;
    padding: 9px 12px;
    border: 1px solid rgba(23,23,41,.11);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    font-size: 10.5px;
    white-space: nowrap;
    scroll-snap-align: center;
  }
  .content-page .content-toc a::before { display: none; }
  .content-page .content-toc a:hover,
  .content-page .content-toc a:focus-visible { transform: none; }
  .content-page .content-toc a.is-active,
  .content-page .content-toc a[aria-current="location"] {
    border-color: var(--ink);
    background: var(--ink);
    color: #fff;
  }
  .content-page .content-body { gap: 14px; }
  .content-page .content-section,
  .content-page .content-section + .content-section {
    padding: 20px;
    border-radius: 20px;
  }
  .content-page .content-section h2 {
    max-width: 13ch;
    margin-bottom: 17px;
    font-size: clamp(28px, 7.5vw, 36px);
  }
  .content-page .content-section p {
    font-size: 16.5px;
    line-height: 1.68;
  }
  .content-page .content-callout { padding: 22px; border-radius: 20px; }
  .content-page .content-navigation {
    width: calc(100% - (var(--reader-edge) * 2));
    margin-bottom: 64px;
  }
}

/* --------------------------------------------------------------------------
   Progressive content modal. Links remain real links when JS is unavailable.
   -------------------------------------------------------------------------- */
.content-modal {
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  overflow: hidden;
}
.content-modal::backdrop {
  background: rgba(9,9,17,.62);
  backdrop-filter: blur(12px);
}
.content-modal-frame {
  position: absolute;
  inset: 18px;
  width: min(1180px, calc(100% - 36px));
  height: calc(100dvh - 36px);
  margin: auto;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 30px;
  background: var(--paper);
  box-shadow: 0 40px 120px rgba(0,0,0,.34);
  overflow: hidden;
  opacity: 0;
  transform: translateY(24px) scale(.985);
  transition: opacity .28s ease, transform .34s var(--ease);
}
.content-modal.is-open .content-modal-frame {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.content-modal-header {
  position: relative;
  z-index: 20;
  min-height: 68px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px 12px 22px;
  border-bottom: 1px solid var(--line);
  background: rgba(250,250,248,.92);
  backdrop-filter: blur(16px);
}
.content-modal-kind {
  margin-right: auto;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.content-modal-full-link,
.content-modal-close {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: var(--ink);
  text-decoration: none;
  font-size: 12px;
  cursor: pointer;
}
.content-modal-close { min-width: 42px; padding: 0 13px; font-size: 20px; line-height: 1; }
.content-modal-full-link:hover,
.content-modal-full-link:focus-visible,
.content-modal-close:hover,
.content-modal-close:focus-visible { background: var(--ink); color: #fff; }
.content-modal-scroller {
  position: relative;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  background:
    radial-gradient(circle at 92% 8%, rgba(255,102,207,.08), transparent 26rem),
    linear-gradient(180deg, #f2f2ef, #e9e9e6);
  scrollbar-gutter: stable;
}
.content-modal-loading {
  min-height: 60vh;
  display: grid;
  place-items: center;
  padding: 40px;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.content-modal-loading::before {
  content: "";
  width: 38px;
  height: 38px;
  margin-right: 12px;
  border: 2px solid rgba(23,23,41,.12);
  border-top-color: var(--violet);
  border-radius: 50%;
  animation: modal-spin .8s linear infinite;
}
@keyframes modal-spin { to { transform: rotate(360deg); } }
.content-modal-body { min-height: 100%; }
.content-modal-body > article { padding-bottom: 20px; }
.content-modal .content-hero {
  width: calc(100% - 36px);
  margin: 18px auto 0;
  padding: 54px clamp(24px, 5vw, 64px) 46px;
}
.content-modal .content-breadcrumb { display: none; }
.content-modal .content-layout {
  width: calc(100% - 36px);
  padding: 34px 0 54px;
}
.content-modal .content-navigation {
  width: calc(100% - 36px);
  margin-bottom: 44px;
}
.content-modal .reading-progress { display: none; }
.content-modal-error {
  max-width: 680px;
  margin: 12vh auto;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  text-align: center;
}
.content-modal-error h2 { margin: 0 0 14px; font-size: 34px; }
.content-modal-error p { color: var(--muted); line-height: 1.6; }
.content-modal-error a { display: inline-flex; margin-top: 18px; min-height: 44px; align-items: center; padding: 0 18px; border-radius: 999px; background: var(--ink); color: #fff; text-decoration: none; }

/* Standalone content is converted into a readable modal article. */
.content-modal .standalone-modal-article {
  width: calc(100% - 36px);
  max-width: 940px;
  margin: 18px auto 50px;
  padding: clamp(28px, 5vw, 62px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 24px 74px rgba(23,23,41,.07);
}
.content-modal .standalone-modal-article > h2 {
  margin: 0 0 22px;
  font-size: clamp(42px, 7vw, 84px);
  line-height: .96;
  letter-spacing: -.062em;
}
.content-modal .standalone-modal-article > .content-summary { margin: 0 0 26px; }
.content-modal .standalone-modal-article .content-section { margin-top: 16px; }

@media (max-width: 699px) {
  .content-modal-frame {
    inset: max(8px, env(safe-area-inset-top)) 0 0;
    width: 100%;
    height: calc(100dvh - max(8px, env(safe-area-inset-top)));
    border-radius: 26px 26px 0 0;
    transform: translateY(100%);
  }
  .content-modal.is-open .content-modal-frame { transform: translateY(0); }
  .content-modal-header {
    min-height: 62px;
    padding: 10px 10px 10px 16px;
  }
  .content-modal-kind { max-width: 42vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .content-modal-full-link { display: none; }
  .content-modal-close { min-width: 44px; min-height: 44px; }
  .content-modal .content-hero,
  .content-modal .content-layout,
  .content-modal .content-navigation {
    width: calc(100% - 24px);
  }
  .content-modal .content-hero {
    margin-top: 12px;
    padding: 30px 18px;
  }
  .content-modal .content-hero h1,
  .content-modal.field-note-page .content-hero h1 {
    font-size: clamp(37px, 11vw, 51px);
  }
  .content-modal .content-layout { padding: 18px 0 40px; }
  .content-modal .content-aside { top: 8px; }
  .content-modal .standalone-modal-article {
    width: calc(100% - 24px);
    margin-top: 12px;
    padding: 22px 18px 30px;
    border-radius: 22px;
  }
  .content-modal .standalone-modal-article > h2 { font-size: clamp(36px, 10vw, 50px); }
}

@media (prefers-reduced-motion: reduce) {
  .content-modal-frame { transition: none; }
  .content-modal-loading::before { animation: none; }
}
.content-modal-loading[hidden] { display: none !important; }


/* ==========================================================================
   V7 first-impression proof strip and enterprise capability research card
   ========================================================================== */
.proof-strip-v7 { background: #f8f8f6; }
.proof-strip-v7 article {
  position: relative;
  min-width: 0;
  min-height: 178px;
  padding: 22px var(--gutter) 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.72);
  overflow: hidden;
}
.proof-strip-v7 article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--violet);
}
.proof-strip-v7 article:nth-child(2)::before { background: var(--coral); }
.proof-strip-v7 article:nth-child(3)::before { background: var(--cyan); }
.proof-strip-v7 article:nth-child(4)::before { background: var(--green); }
.proof-strip-v7 article:nth-child(2n) { border-right: 0; }
.proof-strip-v7 article:nth-last-child(-n+2) { border-bottom: 0; }
.proof-strip-v7 .proof-kicker {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .11em;
  line-height: 1.25;
  text-transform: uppercase;
}
.proof-strip-v7 strong {
  display: block;
  margin-top: 22px;
  font-size: clamp(28px, 7.4vw, 58px);
  font-weight: 470;
  letter-spacing: -.055em;
  line-height: .95;
  overflow-wrap: anywhere;
}
.proof-strip-v7 p {
  margin: 14px 0 0;
  max-width: 310px;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: -.01em;
  line-height: 1.45;
  text-transform: none;
}

.media-capability-fabric {
  min-height: 440px;
  padding: clamp(20px, 4vw, 48px);
  color: #fff;
  background:
    radial-gradient(circle at 16% 14%, rgba(135,236,255,.20), transparent 30%),
    radial-gradient(circle at 88% 82%, rgba(184,255,100,.13), transparent 32%),
    linear-gradient(145deg, #0d1621, #172331 58%, #0e1720);
}
.capability-fabric-preview {
  min-height: 350px;
  height: 100%;
  padding: clamp(18px, 3vw, 30px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    rgba(5,10,16,.36);
  background-size: 32px 32px;
  box-shadow: inset 0 0 70px rgba(85,177,255,.08);
}
.cf-header, .cf-footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: rgba(255,255,255,.62);
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .12em;
}
.cf-header span:last-child { color: var(--green); }
.cf-footer { flex-wrap: wrap; justify-content: flex-start; }
.cf-footer span { padding: 6px 8px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; }
.cf-map { position: relative; display: grid; gap: 8px; }
.cf-node {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 28px minmax(0, .7fr) minmax(0, 1.3fr);
  gap: 8px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  background: rgba(12,20,30,.82);
}
.cf-node small { color: var(--cyan); font-size: 9px; }
.cf-node strong { font-size: 12px; }
.cf-node span { color: rgba(255,255,255,.55); font-size: 10px; line-height: 1.3; }
.cf-trust {
  margin: 3px 0;
  padding: 8px 10px;
  border: 1px solid rgba(255,154,91,.33);
  border-radius: 999px;
  color: #ffd3b9;
  background: rgba(255,110,102,.08);
  text-align: center;
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.enterprise-research-hero {
  background: linear-gradient(145deg, rgba(255,255,255,.90), rgba(135,236,255,.09), rgba(184,255,100,.07));
}
.enterprise-boundary-grid { display: grid; gap: 12px; margin-top: 20px; }
.enterprise-boundary-grid article { padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.62); }
.enterprise-boundary-grid h3 { margin: 0 0 8px; font-size: 19px; }
.enterprise-boundary-grid p { margin: 0; }
.autonomy-ladder { margin: 20px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.autonomy-ladder li { padding: 14px 16px; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; border: 1px solid var(--line); border-radius: 15px; background: rgba(124,69,255,.045); }
.autonomy-ladder b { color: var(--violet); }
.autonomy-ladder span { color: var(--muted); line-height: 1.45; }

@media (min-width: 700px) {
  .proof-strip-v7 article { min-height: 190px; padding: 24px 26px 28px; }
  .enterprise-boundary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cf-map { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cf-trust { grid-column: 1 / -1; }
}
@media (min-width: 940px) {
  .proof-strip-v7 article { min-height: 220px; padding: 28px 42px 34px; border-bottom: 0; }
  .proof-strip-v7 article:nth-child(2n) { border-right: 1px solid var(--line); }
  .proof-strip-v7 article:last-child { border-right: 0; }
  .proof-strip-v7 strong { font-size: clamp(38px, 4vw, 64px); }
  .proof-strip-v7 p { font-size: 13px; }
}
@media (max-width: 430px) {
  .proof-strip-v7 article { min-height: 168px; padding: 19px 16px 22px; }
  .proof-strip-v7 strong { font-size: clamp(25px, 7.4vw, 34px); }
  .proof-strip-v7 p { font-size: 10.5px; line-height: 1.38; }
  .media-capability-fabric { min-height: 390px; padding: 15px; }
  .capability-fabric-preview { min-height: 330px; padding: 15px; }
  .cf-node { grid-template-columns: 24px minmax(0,.8fr) minmax(0,1.2fr); padding: 9px; }
}

/* V7 typography guard: keep impact headlines on intentional word boundaries. */
.proof-strip-v7 strong { overflow-wrap: normal; word-break: normal; hyphens: none; }
@media (min-width: 940px) {
  .proof-strip-v7 strong { font-size: clamp(36px, 3.45vw, 54px); }
}


/* ==========================================================================
   V8 research artwork: editorial, light and consistent with the portfolio
   ========================================================================== */
.media-research-editorial {
  min-height: 430px;
  padding: clamp(18px, 3.4vw, 42px);
  color: var(--ink);
  background: #ececea;
}
.media-research-delivery {
  background:
    radial-gradient(circle at 88% 10%, rgba(135,236,255,.46), transparent 28%),
    radial-gradient(circle at 10% 92%, rgba(255,102,207,.24), transparent 32%),
    linear-gradient(145deg, #f7f7f4 0%, #eef3f7 58%, #f4edf5 100%);
}
.media-research-fabric {
  background:
    radial-gradient(circle at 12% 12%, rgba(184,255,100,.24), transparent 28%),
    radial-gradient(circle at 91% 85%, rgba(77,125,255,.18), transparent 30%),
    linear-gradient(145deg, #f7f6f1 0%, #edf5f1 52%, #eef1f8 100%);
}
.research-artboard {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: 350px;
  padding: clamp(22px, 3vw, 34px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(23,23,41,.13);
  border-radius: 24px;
  background: rgba(255,255,255,.70);
  box-shadow: 0 26px 70px rgba(23,23,41,.09);
  backdrop-filter: blur(16px);
}
.research-artboard::before,
.research-artboard::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(2px);
}
.research-artboard::before {
  width: 42%;
  height: 66%;
  right: -12%;
  top: -28%;
  border: 1px solid rgba(23,23,41,.10);
  transform: rotate(18deg);
}
.research-artboard::after {
  width: 52%;
  height: 52%;
  left: -24%;
  bottom: -34%;
  background: rgba(255,255,255,.38);
  transform: rotate(-16deg);
}
.research-art-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.research-art-index,
.research-art-status {
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.research-art-index { color: rgba(23,23,41,.52); }
.research-art-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 31px;
  padding: 0 12px;
  border: 1px solid rgba(23,23,41,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.64);
}
.research-art-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}
.research-art-status-live { color: #447b16; }
.research-art-status-plan { color: #a55d16; }
.research-art-statement {
  position: relative;
  z-index: 2;
  max-width: 610px;
  margin: auto 0 30px;
}
.research-art-statement > span {
  display: block;
  margin-bottom: 14px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.research-art-statement strong {
  display: block;
  max-width: 560px;
  font-size: clamp(34px, 5.5vw, 64px);
  font-weight: 480;
  letter-spacing: -.06em;
  line-height: .94;
}
.research-art-statement p {
  max-width: 460px;
  margin: 16px 0 0;
  color: var(--muted);
  font-size: clamp(13px, 1.5vw, 17px);
  line-height: 1.4;
}
.research-art-flow {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0;
  display: grid;
  list-style: none;
  border-top: 1px solid rgba(23,23,41,.16);
  border-bottom: 1px solid rgba(23,23,41,.16);
}
.research-art-flow-five { grid-template-columns: repeat(5, minmax(0,1fr)); }
.research-art-flow-six { grid-template-columns: repeat(3, minmax(0,1fr)); }
.research-art-flow li {
  min-width: 0;
  padding: 13px 11px 14px;
  display: grid;
  gap: 8px;
  border-right: 1px solid rgba(23,23,41,.13);
}
.research-art-flow-five li:last-child,
.research-art-flow-six li:nth-child(3n) { border-right: 0; }
.research-art-flow-six li:nth-child(-n+3) { border-bottom: 1px solid rgba(23,23,41,.13); }
.research-art-flow b {
  color: rgba(23,23,41,.46);
  font-size: 9px;
  letter-spacing: .08em;
}
.research-art-flow span {
  overflow-wrap: normal;
  color: var(--ink);
  font-size: clamp(10px, 1.2vw, 13px);
  font-weight: 690;
  line-height: 1.2;
}
.research-art-footer {
  position: relative;
  z-index: 2;
  margin-top: 17px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.research-art-footer span {
  min-height: 26px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(23,23,41,.11);
  border-radius: 999px;
  background: rgba(255,255,255,.54);
  color: rgba(23,23,41,.58);
  font-size: 8px;
  font-weight: 720;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.project-number-editorial {
  color: var(--ink);
  border-color: rgba(23,23,41,.22);
  background: rgba(255,255,255,.55);
}
.project-card-research .project-copy h3 { max-width: 720px; }

@media (min-width: 700px) {
  .media-research-editorial { min-height: 500px; }
  .research-artboard { min-height: 410px; }
  .research-art-flow li { padding: 15px 13px 16px; }
}

@media (max-width: 699px) {
  .media-research-editorial { min-height: 360px; padding: 15px; }
  .research-artboard { min-height: 330px; padding: 19px 17px; border-radius: 20px; }
  .research-art-header { align-items: flex-start; }
  .research-art-index { padding-top: 9px; padding-left: 38px; }
  .research-art-status { max-width: 58%; text-align: right; line-height: 1.2; }
  .research-art-statement { margin: auto 0 22px; }
  .research-art-statement > span { margin-bottom: 10px; font-size: 8px; }
  .research-art-statement strong { max-width: 330px; font-size: clamp(31px, 10.5vw, 46px); }
  .research-art-statement p { margin-top: 11px; font-size: 12px; }
  .research-art-flow-five,
  .research-art-flow-six { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .research-art-flow-five li:nth-child(3) { border-right: 0; }
  .research-art-flow-five li:nth-child(-n+3) { border-bottom: 1px solid rgba(23,23,41,.13); }
  .research-art-flow-five li:nth-child(4),
  .research-art-flow-five li:nth-child(5) { border-bottom: 0; }
  .research-art-flow-five li:nth-child(5) { border-right: 0; }
  .research-art-flow li { min-height: 58px; padding: 10px 8px; gap: 5px; }
  .research-art-flow span { font-size: 9px; }
  .research-art-footer { margin-top: 13px; }
  .research-art-footer span { min-height: 23px; padding: 0 8px; font-size: 7px; }
}

@media (max-width: 390px) {
  .media-research-editorial { min-height: 345px; padding: 12px; }
  .research-artboard { min-height: 320px; padding: 17px 14px; }
  .research-art-status { min-height: 28px; padding: 0 9px; font-size: 7.5px; }
  .research-art-statement strong { font-size: clamp(29px, 10vw, 39px); }
  .research-art-flow li { padding: 9px 6px; }
}

/* V9 Field Note: Graph engineering */
.graph-note-hero h1 { max-width: 13ch; }
.graph-evolution-wrap { margin-top: clamp(20px, 4vw, 54px); }
.graph-evolution {
  margin: 0;
  padding: clamp(16px, 2.8vw, 34px);
  border: 1px solid var(--line);
  border-radius: clamp(24px, 3vw, 38px);
  background:
    radial-gradient(circle at 85% 12%, rgba(128, 84, 255, .11), transparent 29%),
    linear-gradient(145deg, #fbfaf6, #f1f3f5 60%, #f7f0eb);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  overflow: hidden;
}
.graph-stage {
  position: relative;
  min-height: 330px;
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid rgba(20, 21, 35, .11);
  border-radius: 26px;
  background: rgba(255, 255, 255, .76);
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(8px);
}
.graph-stage-index {
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .08em;
}
.graph-stage-label {
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.graph-stage > strong {
  margin-top: auto;
  font-size: clamp(28px, 3vw, 43px);
  line-height: 1;
  letter-spacing: -.05em;
  font-weight: 500;
}
.graph-stage > small {
  margin-top: 13px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.prompt-flow,
.loop-flow {
  margin: clamp(28px, 4vw, 54px) 0 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 90px;
}
.prompt-flow b,
.loop-flow b {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  font-size: 10px;
  letter-spacing: .08em;
}
.prompt-flow i,
.loop-flow i { color: var(--violet); font-style: normal; }
.loop-flow i:last-child { font-size: 23px; }
.mini-agent-graph {
  position: relative;
  margin: 22px 0 24px;
  min-height: 155px;
}
.mini-agent-graph svg {
  position: absolute;
  inset: 5px 0 0;
  width: 100%;
  height: 150px;
  overflow: visible;
}
.mini-agent-graph path {
  fill: none;
  stroke: rgba(71, 59, 170, .5);
  stroke-width: 2;
  stroke-dasharray: 5 5;
}
.mini-agent-graph .node {
  position: absolute;
  z-index: 2;
  min-width: 65px;
  padding: 9px 10px;
  border: 1px solid rgba(20, 21, 35, .14);
  border-radius: 999px;
  background: #fff;
  text-align: center;
  font-size: 10px;
  font-weight: 650;
}
.node-plan { left: 0; top: 17px; }
.node-work { left: 50%; top: 17px; transform: translateX(-50%); }
.node-review { right: 0; top: 55px; }
.node-check { left: 50%; bottom: 3px; transform: translateX(-50%); }
.node-human { right: 0; bottom: 3px; background: #f4ecff !important; }
.graph-evolution figcaption {
  grid-column: 1 / -1;
  padding: 20px 5px 2px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.graph-origin-quote {
  margin: 28px 0;
  padding: 26px;
  border-left: 3px solid var(--violet);
  border-radius: 0 22px 22px 0;
  background: #f5f0ff;
}
.graph-origin-quote p {
  color: var(--ink) !important;
  font-size: clamp(26px, 3.2vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em;
}
.graph-origin-quote cite {
  display: block;
  margin-top: 14px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.nested-layers {
  margin: 28px 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.nested-layers > div {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
}
.nested-layers span {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .09em;
}
.nested-layers p { font-size: 15px !important; line-height: 1.48 !important; }
.graph-primitives,
.risk-ledger,
.graph-checklist {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--line);
  overflow: hidden;
}
.graph-primitives li,
.risk-ledger li,
.graph-checklist li {
  padding: 20px 22px;
  background: #fff;
  display: grid;
  grid-template-columns: minmax(150px, .34fr) 1fr;
  gap: 20px;
}
.graph-primitives strong,
.risk-ledger strong,
.graph-checklist span {
  color: var(--ink);
  font-size: 15px;
}
.graph-primitives span,
.risk-ledger span,
.graph-checklist p {
  margin: 0;
  color: var(--muted);
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.role-triad {
  margin: 28px 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.role-triad > div {
  min-height: 250px;
  padding: 24px;
  border-radius: 22px;
  background: var(--ink);
  color: #fff;
  display: flex;
  flex-direction: column;
}
.role-triad span { color: #a7ff73; font-size: 12px; }
.role-triad h3 { margin: auto 0 12px; font-size: 28px; letter-spacing: -.04em; }
.role-triad p { color: rgba(255,255,255,.72) !important; font-size: 14px !important; line-height: 1.5 !important; }
.graph-callout { margin: 32px 0 0; }
.delivery-graph-strip {
  margin: 28px 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(90deg, #f7f0ff, #eff8fb, #f8f3e9);
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.delivery-graph-strip span {
  flex: 0 0 auto;
  padding: 10px 12px;
  border: 1px solid rgba(20,21,35,.11);
  border-radius: 12px;
  background: rgba(255,255,255,.9);
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}
.delivery-graph-strip i { color: var(--violet); font-style: normal; }

@media (max-width: 900px) {
  .graph-evolution { grid-template-columns: 1fr; }
  .graph-stage { min-height: 250px; }
  .nested-layers,
  .role-triad { grid-template-columns: 1fr; }
  .role-triad > div { min-height: 205px; }
}

@media (max-width: 699px) {
  .graph-evolution-wrap { margin-top: 12px; }
  .graph-evolution { padding: 10px; border-radius: 22px; gap: 9px; }
  .graph-stage { min-height: 230px; padding: 20px; border-radius: 19px; }
  .graph-stage > strong { font-size: 30px; }
  .graph-evolution figcaption { padding: 15px 8px 5px; }
  .prompt-flow,
  .loop-flow { margin: 20px 0 24px; justify-content: flex-start; overflow-x: auto; }
  .mini-agent-graph { max-width: 320px; }
  .nested-layers > div { padding: 18px; }
  .graph-primitives li,
  .risk-ledger li,
  .graph-checklist li { grid-template-columns: 1fr; gap: 8px; padding: 18px; }
  .role-triad > div { padding: 20px; }
  .delivery-graph-strip { margin-inline: -2px; padding: 14px; }
}

/* ========================================================================== 
   V10 modal reading experience and standalone content store
   ========================================================================== */
.standalone-library[hidden] { display: none !important; }
.content-modal-scroller {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  touch-action: pan-y;
}
.content-modal-header {
  position: sticky;
  top: 0;
}
.content-modal-close {
  font-weight: 500;
}
@media (max-width: 699px) {
  .content-modal-frame {
    inset: 0;
    width: 100%;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }
  .content-modal-header {
    min-height: calc(62px + env(safe-area-inset-top));
    padding-top: calc(10px + env(safe-area-inset-top));
    background: rgba(250,250,248,.97);
  }
  .content-modal-scroller {
    overscroll-behavior-y: contain;
  }
  .content-modal .standalone-modal-article,
  .content-modal .content-hero,
  .content-modal .content-layout,
  .content-modal .content-navigation {
    width: calc(100% - 28px);
  }
  .content-modal .standalone-modal-article {
    margin-bottom: calc(28px + env(safe-area-inset-bottom));
  }
}

/* ========================================================================== 
   Contact V11 — organised professional links
   ========================================================================== */
.contact-grid {
  gap: clamp(38px, 6vw, 76px);
}
.contact-actions {
  width: 100%;
  display: grid;
  gap: 12px;
  align-items: stretch;
}
.contact-actions a {
  font-size: inherit;
  text-underline-offset: initial;
}
.contact-primary {
  width: 100%;
  min-width: 0;
  min-height: 112px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 20px 22px;
  border: 1px solid rgba(255, 255, 255, .68);
  border-radius: 30px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: 0 20px 55px rgba(49, 27, 112, .17);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.contact-primary-copy {
  min-width: 0;
  display: grid;
  gap: 7px;
}
.contact-primary-copy small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.contact-primary-copy strong {
  font-size: clamp(20px, 2.5vw, 29px);
  font-weight: 560;
  line-height: 1.02;
  letter-spacing: -.035em;
}
.contact-primary-arrow {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(23, 23, 41, .2);
  border-radius: 50%;
  font-size: 20px;
  transition: transform .25s ease, background .25s ease, color .25s ease;
}
.contact-primary:hover,
.contact-primary:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 26px 68px rgba(49, 27, 112, .23);
}
.contact-primary:hover .contact-primary-arrow,
.contact-primary:focus-visible .contact-primary-arrow {
  transform: rotate(8deg);
  background: var(--ink);
  color: #fff;
}
.contact-secondary {
  min-height: 66px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 14px 18px;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 22px;
  background: rgba(255, 255, 255, .09);
  box-shadow: inset 0 1px rgba(255, 255, 255, .12);
  backdrop-filter: blur(10px);
}
.contact-secondary-label {
  color: rgba(255, 255, 255, .68);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.contact-secondary a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 8px 2px 8px 12px;
  color: #fff;
  font-size: 14px;
  font-weight: 620;
  text-decoration: none;
}
.contact-secondary a span:last-child {
  transition: transform .2s ease;
}
.contact-secondary a:hover span:last-child,
.contact-secondary a:focus-visible span:last-child {
  transform: translate(3px, -3px);
}

@media (min-width: 700px) {
  .contact-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
    align-items: end;
  }
  .contact-actions {
    max-width: none;
    justify-content: stretch;
  }
}

@media (max-width: 699px) {
  .contact-section {
    padding-top: 76px;
  }
  .contact-grid {
    gap: 34px;
  }
  .contact-actions {
    max-width: none;
  }
  .contact-primary {
    min-height: 104px;
    padding: 18px;
    border-radius: 26px;
  }
  .contact-secondary {
    min-height: 62px;
    padding: 12px 16px;
  }
}

@media (max-width: 380px) {
  .contact-primary-copy strong {
    font-size: 19px;
  }
  .contact-primary-arrow {
    width: 44px;
    height: 44px;
  }
  .contact-secondary {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .contact-secondary a {
    justify-content: space-between;
    padding-left: 0;
  }
}



/* V12: reliable menu icon and complete Field Note editorial grid */
.nav-disclosure summary::after { content: none !important; }
.menu-label { line-height: 1; }
.menu-icon { position: relative; display: inline-block; width: 18px; height: 14px; flex: 0 0 18px; }
.menu-icon i { position: absolute; left: 0; width: 18px; height: 1.5px; border-radius: 99px; background: currentColor; transition: transform .22s ease, top .22s ease, width .22s ease; }
.menu-icon i:first-child { top: 4px; }
.menu-icon i:last-child { top: 10px; width: 12px; left: 6px; }
.nav-disclosure[open] .menu-icon i:first-child { top: 7px; transform: rotate(45deg); }
.nav-disclosure[open] .menu-icon i:last-child { top: 7px; left: 0; width: 18px; transform: rotate(-45deg); }

.note-card { position: relative; overflow: hidden; }
.note-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: transparent; }
.note-card-training::before { background: linear-gradient(90deg,#ff7d6f,#ffbd74); }
.note-card-open-weights::before { background: linear-gradient(90deg,#586df6,#a974ff); }
.note-card-private-platform::before { background: linear-gradient(90deg,#00a7a0,#75c773); }
@media (min-width: 940px) {
  .notes-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .notes-grid .note-card { min-width: 0; }
}

/* V12 Field Note visuals */
.training-decision,
.open-model-stack,
.private-platform-map { margin: 34px auto 0; }
.training-decision { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; padding: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; }
.training-decision article { min-height: 176px; padding: 20px; background: #fff; }
.training-decision span { display: block; color: var(--muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.training-decision strong { display: block; margin: 40px 0 10px; font-size: 20px; line-height: 1.05; letter-spacing: -.035em; }
.training-decision p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }

.open-model-stack { display: grid; grid-template-columns: 1fr 1.35fr; gap: 18px; }
.open-model-stack > div { padding: 24px; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.open-model-stack h3 { margin: 0 0 16px; font-size: 28px; letter-spacing: -.045em; }
.open-model-stack ul { margin: 0; padding: 0; list-style: none; }
.open-model-stack li { padding: 12px 0; border-top: 1px solid var(--line); color: var(--muted); line-height: 1.4; }
.open-model-stack li strong { color: var(--ink); }

.private-platform-map { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.private-platform-map article { min-height: 160px; padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(150deg,#fff,#f5f5f1); }
.private-platform-map span { display: block; color: #159c91; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.private-platform-map strong { display: block; margin: 34px 0 8px; font-size: 19px; line-height: 1.1; }
.private-platform-map p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.42; }
.reference-stack { display: grid; gap: 10px; margin-top: 22px; }
.reference-stack li { display: grid; grid-template-columns: 120px 1fr; gap: 18px; padding: 16px 0; border-top: 1px solid var(--line); }
.reference-stack b { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.reference-stack span { color: var(--muted); line-height: 1.5; }

@media (max-width: 939px) {
  .training-decision { grid-template-columns: 1fr 1fr; }
  .training-decision article:last-child { grid-column: 1 / -1; }
  .private-platform-map { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 699px) {
  .nav-disclosure summary { gap: 12px; }
  .training-decision,
  .open-model-stack,
  .private-platform-map { grid-template-columns: 1fr; border-radius: 20px; }
  .training-decision article:last-child { grid-column: auto; }
  .training-decision article { min-height: 142px; }
  .training-decision strong { margin-top: 26px; }
  .open-model-stack > div,
  .private-platform-map article { border-radius: 19px; }
  .reference-stack li { grid-template-columns: 1fr; gap: 6px; }
}


/* ========================================================================== 
   V13: curved accent repair, AWS architecture proof and cross-cloud notes
   ========================================================================== */
/* Accent bars sit inside the curve rather than cutting through rounded borders. */
.content-section::after { left: 22px; right: 22px; width: auto; border-radius: 999px; }
.proof-strip-v7 { overflow: hidden; }
.proof-strip-v7 article::before { left: 18px; right: 18px; width: auto; border-radius: 999px; }
.note-card::before { left: 16px; right: 16px; width: auto; border-radius: 999px; }

.aws-built-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin: 14px 0 0;
  padding: 8px 11px;
  border: 1px solid rgba(255,153,0,.28);
  border-radius: 999px;
  background: rgba(255,153,0,.08);
  color: #65410a;
  font-size: 10px;
  font-weight: 740;
  line-height: 1.2;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.aws-built-badge::before { content: "AWS"; color: #c76300; font-weight: 850; }
.aws-built-badge { margin: 22px 0 0; background: rgba(255,255,255,.65); }

.aws-architecture-map {
  display: grid;
  gap: 10px;
  margin: 26px 0 20px;
}
.aws-architecture-map article {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(23,23,41,.10);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.93), rgba(255,247,235,.78));
}
.aws-architecture-map span,
.cloud-platform-map span,
.portable-control-plane span { display: block; color: #a45100; font-size: 9px; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.aws-architecture-map strong { display: block; margin: 18px 0 8px; font-size: 19px; line-height: 1.05; letter-spacing: -.035em; }
.aws-architecture-map p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.aws-architecture-note { margin: 0; padding: 18px; border-left: 3px solid #ff9900; border-radius: 0 14px 14px 0; background: rgba(255,153,0,.07); }
@media (min-width:700px){ .aws-architecture-map{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (min-width:1100px){ .aws-architecture-map{grid-template-columns:repeat(3,minmax(0,1fr));} }

.note-card-agentcore::before { background: linear-gradient(90deg,#ff9900,#ffcb68); }
.note-card-azure::before { background: linear-gradient(90deg,#0078d4,#55c2ff); }
.note-card-gcp::before { background: linear-gradient(90deg,#4285f4,#34a853,#fbbc05); }
.note-card-multicloud::before { background: linear-gradient(90deg,#ff9900,#0078d4,#4285f4); }

.cloud-platform-map {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:34px auto 0;
}
.cloud-platform-map article {
  min-height:150px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.cloud-platform-map article:nth-child(1){background:linear-gradient(145deg,#fff7ea,#fff);}
.cloud-platform-map article:nth-child(2){background:linear-gradient(145deg,#eef4ff,#fff);}
.cloud-platform-map article:nth-child(3){background:linear-gradient(145deg,#f1fff8,#fff);}
.cloud-platform-map article:nth-child(4){background:linear-gradient(145deg,#f8f1ff,#fff);}
.cloud-platform-map strong { display:block; margin:32px 0 8px; font-size:21px; line-height:1.05; letter-spacing:-.035em; }
.cloud-platform-map p { margin:0; color:var(--muted); font-size:14px; line-height:1.45; }
@media(min-width:700px){.cloud-platform-map{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1100px){.cloud-platform-map{grid-template-columns:repeat(4,minmax(0,1fr));}}

.cloud-comparison-map {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:34px auto 0;
  align-items:stretch;
}
.cloud-comparison-map article { padding:22px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.cloud-comparison-map article:first-child { background:linear-gradient(145deg,#fff5e6,#fff); }
.cloud-comparison-map article:last-child { background:linear-gradient(145deg,#eef6ff,#fff); }
.cloud-comparison-map > div { display:none; }
.cloud-comparison-map span { display:block; font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; }
.cloud-comparison-map strong { display:block; margin:28px 0 10px; font-size:24px; line-height:1.05; letter-spacing:-.04em; }
.cloud-comparison-map p { margin:0; color:var(--muted); line-height:1.45; }
@media(min-width:900px){
  .cloud-comparison-map{grid-template-columns:1fr auto 1.1fr auto 1fr;align-items:center;}
  .cloud-comparison-map > div{display:block;color:var(--muted);font-size:28px;}
}

.platform-service-table { display:grid; overflow:hidden; margin-top:24px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.platform-service-table > div { display:grid; grid-template-columns:1fr; gap:7px; padding:16px; border-bottom:1px solid var(--line); }
.platform-service-table > div:last-child { border-bottom:0; }
.platform-service-table > div:first-child { display:none; background:var(--ink); color:#fff; }
.platform-service-table span:first-child { color:var(--ink); font-weight:700; }
.platform-service-table span:not(:first-child) { color:var(--muted); line-height:1.4; }
@media(min-width:760px){
 .platform-service-table > div{grid-template-columns:.8fr 1fr 1.25fr;gap:20px;align-items:start;}
 .platform-service-table > div:first-child{display:grid;}
}

.portable-control-plane { display:grid; gap:10px; margin:34px auto 0; padding:16px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(135deg,#fff9ef,#f3f7ff 52%,#f4fff7); }
.portable-control-plane > div { padding:18px; border-radius:18px; background:rgba(255,255,255,.8); }
.portable-control-plane > div strong { display:block; margin-top:18px; font-size:20px; line-height:1.2; }
.portable-control-plane article { padding:18px; border:1px solid rgba(23,23,41,.10); border-radius:18px; background:#fff; }
.portable-control-plane article strong { display:block; margin-top:20px; font-size:19px; }
@media(min-width:800px){.portable-control-plane{grid-template-columns:1.5fr repeat(3,1fr);align-items:stretch;}}
