:root {
  --ink: #171816;
  --charcoal: #2e2f2c;
  --charcoal-2: #232421;
  --paper: #f1f0e9;
  --paper-2: #e9e7df;
  --white: #faf9f4;
  --warm: #b86538;
  --warm-2: #d88958;
  --warm-soft: #e7c1a3;
  --sage: #8b9184;
  --muted: #9b9d96;
  --line-dark: rgba(23,24,22,.17);
  --line-light: rgba(255,255,255,.14);
  --mono: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --shell: min(91vw, 1600px);
  --header-h: 70px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--charcoal); }
body {
  margin: 0;
  font-family: var(--sans);
  background: var(--charcoal);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img { max-width: 100%; display: block; }
::selection { background: var(--warm); color: #fff; }

.noise {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  opacity: .04;
  background-image:
    radial-gradient(circle at 20% 30%, #fff 0 .5px, transparent .7px),
    radial-gradient(circle at 80% 60%, #000 0 .55px, transparent .75px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: soft-light;
}
.pointer-glow {
  position: fixed;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9997;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(184,101,56,.12), rgba(184,101,56,0) 68%);
  opacity: 0;
  transition: opacity .25s ease;
}
body:hover .pointer-glow { opacity: 1; }
.scroll-meter {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  z-index: 10001;
  pointer-events: none;
}
.scroll-meter span { display: block; width: 0; height: 100%; background: var(--warm-2); }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  height: var(--header-h);
  z-index: 1000;
  padding: 0 2.25vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  color: var(--white);
  background: rgba(40,41,38,.72);
  border-bottom: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(16px) saturate(110%);
  transition: background .35s ease, border-color .35s ease, height .35s ease;
}
.site-header.scrolled { background: rgba(35,36,33,.94); border-color: rgba(255,255,255,.15); }
.brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; }
.brand-logo { width: 34px; height: 34px; object-fit: cover; border-radius: 1px; box-shadow: 0 0 0 1px rgba(255,255,255,.08); }
.brand-name { font-size: 20px; font-weight: 600; letter-spacing: -.045em; }
.desktop-nav { display: flex; gap: 34px; align-items: center; }
.desktop-nav a {
  position: relative;
  font-size: 12px;
  color: rgba(255,255,255,.72);
  transition: color .2s ease;
}
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -11px;
  height: 1px;
  background: var(--warm-2);
  transition: right .3s ease;
}
.desktop-nav a:hover,
.desktop-nav a.is-active { color: #fff; }
.desktop-nav a:hover::after,
.desktop-nav a.is-active::after { right: 0; }
.header-cta {
  justify-self: end;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  padding: 11px 15px 11px 17px;
  font-size: 11px;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.header-cta:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.45); transform: translateY(-1px); }
.header-cta span { font-size: 14px; }
.menu-toggle { display: none; justify-self: end; width: 42px; height: 42px; border: 0; background: transparent; padding: 12px 6px; cursor: pointer; }
.menu-toggle span { height: 1px; background: #fff; display: block; margin: 7px 0; transition: transform .25s ease; }

.mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 900;
  background: var(--charcoal-2);
  color: var(--white);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.mobile-menu.is-open { opacity: 1; pointer-events: auto; }
.mobile-menu-inner { width: min(90vw, 700px); margin: 0 auto; padding-top: 130px; display: grid; }
.mobile-menu-inner > a:not(.mobile-cta) { border-top: 1px solid var(--line-light); padding: 22px 0; font-size: 32px; letter-spacing: -.04em; display: flex; justify-content: space-between; }
.mobile-menu-inner > a:not(.mobile-cta) span { font: 10px var(--mono); color: var(--warm-2); }
.mobile-cta { margin-top: 34px; display: inline-flex; width: max-content; border-radius: 999px; background: var(--warm); color: #fff; padding: 14px 20px; }

.section-shell { width: var(--shell); margin: 0 auto; }
.section-dark { background: var(--charcoal); color: var(--white); }
.section-light { background: var(--paper); color: var(--ink); }
.section-kicker,
.mini-kicker {
  margin: 0;
  font: 500 9px/1.3 var(--mono);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.section-dark .section-kicker,
.section-dark .mini-kicker { color: rgba(255,255,255,.55); }
.section-light .section-kicker,
.section-light .mini-kicker { color: #62655f; }
.display {
  margin: 0;
  font-size: clamp(54px, 6.1vw, 110px);
  line-height: .94;
  letter-spacing: -.065em;
  font-weight: 500;
}

.hero {
  min-height: 100svh;
  position: relative;
  overflow: hidden;
  color: #fff;
  display: flex;
  align-items: stretch;
  isolation: isolate;
}
.hero-media { position: absolute; inset: 0; z-index: -3; overflow: hidden; background: #202725; }
.hero-media img,
.hero-media video {
  width: 100%; height: 100%; object-fit: cover;
  object-position: center center;
}
.hero-media .hero-video {
  position: absolute;
  inset: 0;
  transform: scale(1.035);
}
.hero-media .hero-poster {
  position: absolute;
  inset: 0;
  transform: scale(1.035);
  z-index: 0;
}
.hero-media .hero-video {
  z-index: 1;
}
@media (prefers-reduced-motion: reduce) {
  .hero-media .hero-video { display: none; }
}
.hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(18,25,28,.88) 0%, rgba(21,28,30,.68) 32%, rgba(23,28,29,.28) 58%, rgba(17,18,17,.02) 80%),
    linear-gradient(0deg, rgba(20,21,19,.80) 0%, rgba(20,21,19,.16) 36%, rgba(20,21,19,.08) 70%);
}
.hero-sunwash { position: absolute; inset: 0; background: radial-gradient(circle at 88% 26%, rgba(255,196,131,.10), transparent 34%); mix-blend-mode: screen; }
.hero-fog { position: absolute; width: 48vw; height: 24vw; min-height: 190px; filter: blur(36px); border-radius: 50%; opacity: .16; background: rgba(234,225,209,.72); }
.fog-a { left: 2%; bottom: 10%; animation: fogA 15s ease-in-out infinite alternate; }
.fog-b { right: 18%; bottom: 14%; opacity: .10; animation: fogB 19s ease-in-out infinite alternate; }
.hero-shell {
  width: var(--shell);
  min-height: 100svh;
  margin: 0 auto;
  padding: calc(var(--header-h) + 38px) 0 26px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 30px;
}
.hero-topline { display: flex; justify-content: space-between; gap: 30px; font: 9px var(--mono); letter-spacing: .11em; text-transform: uppercase; color: rgba(255,255,255,.68); }
.hero-kicker { display: inline-flex; align-items: center; gap: 8px; }
.hero-kicker i { width: 6px; height: 6px; border-radius: 50%; background: var(--warm-2); box-shadow: 0 0 0 5px rgba(216,137,88,.12); }
.hero-main { align-self: end; padding-bottom: clamp(26px, 4vw, 65px); }
.hero-title {
  margin: 0;
  max-width: 1130px;
  font-size: clamp(72px, 9.65vw, 174px);
  line-height: .84;
  letter-spacing: -.075em;
  font-weight: 500;
  text-wrap: balance;
}
.title-line { display: block; overflow: hidden; padding-bottom: .04em; }
.title-line > span { display: block; transform: translateY(108%); animation: titleIn 1.05s cubic-bezier(.2,.8,.2,1) forwards; }
.title-line:nth-child(2)>span { animation-delay: .12s; }
.hero-lower { display: grid; grid-template-columns: minmax(300px, 610px) auto; gap: 48px; align-items: end; margin-top: 45px; max-width: 1120px; }
.hero-copy { margin: 0; font-size: clamp(15px,1.2vw,18px); line-height: 1.58; color: rgba(255,255,255,.82); }
.hero-actions { display: grid; gap: 13px; justify-items: start; }
.button {
  display: inline-flex;
  align-items: center;
  gap: 22px;
  border-radius: 999px;
  padding: 13px 17px 13px 19px;
  font-size: 11px;
  white-space: nowrap;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.button span { font-size: 14px; }
.button-warm { background: var(--warm); color: #fff; border: 1px solid var(--warm); }
.button-warm:hover { background: #c17348; border-color: #c17348; }
.text-link { font-size: 10px; color: rgba(255,255,255,.72); display: inline-flex; gap: 14px; align-items: center; padding: 4px 2px; }
.text-link:hover { color: #fff; }
.hero-foot { border-top: 1px solid rgba(255,255,255,.19); padding-top: 15px; display: flex; gap: 22px; align-items: center; color: rgba(255,255,255,.52); font: 8px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.hero-foot span:not(.hero-foot-spacer):nth-child(-n+4)::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--warm-2); display: inline-block; margin-right: 8px; vertical-align: 1px; opacity: .85; }
.hero-foot-spacer { flex: 1; }

.mission {
  position: relative;
  background: #090c0b;
  color: var(--white);
  border-bottom: 1px solid rgba(255,255,255,.11);
  overflow: hidden;
}
.mission::before {
  content: "";
  position: absolute;
  width: 680px;
  height: 680px;
  right: -260px;
  top: -310px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184,101,56,.08), rgba(184,101,56,0) 68%);
  pointer-events: none;
}
.mission-layout {
  display: grid;
  grid-template-columns: minmax(470px, .96fr) minmax(0, 1.14fr);
  gap: clamp(70px, 7vw, 125px);
  min-height: 800px;
  padding: clamp(125px, 11vw, 190px) 0 clamp(105px, 9vw, 165px);
  align-items: center;
}
.mission-statement {
  position: relative;
  top: auto;
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mission-statement .section-kicker {
  margin: 0 0 42px;
  color: rgba(255,255,255,.47);
}
.mission-statement h2 {
  margin: 0;
  max-width: 720px;
  font-family: var(--serif);
  font-size: clamp(50px, 3.85vw, 74px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.04em;
  color: #f4f1e9;
}
.mission-statement h2 em {
  font-style: italic;
  font-weight: 400;
  color: var(--warm-2);
}
.mission-content {
  padding-top: 0;
  min-width: 0;
}
.mission-copy {
  width: min(820px, 100%);
  margin: 0;
  font-size: clamp(19px, 1.65vw, 29px);
  line-height: 1.5;
  letter-spacing: -.026em;
  color: rgba(244,241,233,.68);
}
.mission-copy p {
  margin: 0 0 clamp(58px, 6vw, 92px);
}
.mission-copy p:last-child { margin-bottom: 0; }
.mission-thesis {
  margin: clamp(92px, 9vw, 150px) 0 0;
  padding: 0;
  max-width: 980px;
  font-family: var(--serif);
  font-size: clamp(54px, 4.55vw, 88px);
  font-weight: 400;
  line-height: .99;
  letter-spacing: -.045em;
  color: #f4f1e9;
}
.mission-close {
  width: min(780px, 92%);
  margin: clamp(62px, 6vw, 92px) 0 0;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.13);
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255,255,255,.46);
}

.platform { padding: 130px 0 150px; overflow: hidden; }
.section-intro { display: grid; grid-template-columns: minmax(170px,.45fr) minmax(0,1.55fr); gap: 5vw; align-items: start; }
.section-intro .display { margin-bottom: 30px; }
.intro-copy { max-width: 700px; margin: 0; color: rgba(255,255,255,.6); font-size: 16px; line-height: 1.6; }
.workflow-wrap { margin-top: 105px; }
.workflow-label { border-bottom: 1px solid var(--line-light); padding-bottom: 15px; font: 8px var(--mono); color: rgba(255,255,255,.48); text-transform: uppercase; letter-spacing: .12em; }
.workflow { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; padding-top: 37px; }
.workflow-track { position: absolute; left: 8px; right: 8px; top: 48px; height: 1px; background: rgba(255,255,255,.16); }
.workflow-progress { display:block; height:100%; width:0; background:var(--warm-2); transition: width .6s cubic-bezier(.2,.8,.2,1); box-shadow: 0 0 14px rgba(216,137,88,.45); }
.workflow-step { position: relative; padding-top: 42px; min-height: 150px; opacity: .42; transition: opacity .35s ease, transform .35s ease; }
.workflow-step.is-active { opacity: 1; }
.workflow-step:hover { transform: translateY(-3px); }
.step-dot { position: absolute; top: 7px; left: 2px; width: 10px; height: 10px; border-radius: 50%; background: var(--charcoal); border: 1px solid rgba(255,255,255,.35); transition: background .3s ease, border-color .3s ease, box-shadow .3s ease; }
.workflow-step.is-active .step-dot { background:var(--warm-2); border-color:var(--warm-2); box-shadow:0 0 0 7px rgba(216,137,88,.1); }
.step-index { font:8px var(--mono); color:rgba(255,255,255,.42); margin-bottom: 18px; }
.workflow-step h3 { margin:0 0 10px; font-size:30px; font-weight:500; letter-spacing:-.04em; }
.workflow-step p { margin:0; max-width:220px; color:rgba(255,255,255,.56); font-size:12px; line-height:1.45; }

.decision-plane { margin-top: 105px; border: 1px solid rgba(255,255,255,.14); background: #242522; overflow:hidden; transform-style:preserve-3d; transition:transform .18s ease; box-shadow: 0 40px 120px rgba(0,0,0,.16); }
.plane-topline { height: 52px; padding: 0 17px; border-bottom:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; align-items:center; font:8px var(--mono); text-transform:uppercase; letter-spacing:.09em; color:rgba(255,255,255,.48); }
.plane-status { display:flex; gap:8px; align-items:center; color:rgba(255,255,255,.68); }.plane-status i{width:6px;height:6px;border-radius:50%;background:var(--warm-2);box-shadow:0 0 0 5px rgba(216,137,88,.09)}
.plane-stage { position:relative; height:600px; overflow:hidden; }
.plane-grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:72px 72px; mask-image:radial-gradient(ellipse at center,black 10%,transparent 72%); }
.plane-glow { position:absolute; width:520px;height:520px;border-radius:50%;filter:blur(60px);opacity:.12; }.pg-a{left:4%;top:-26%;background:#5a6b68}.pg-b{right:4%;bottom:-30%;background:var(--warm-2)}
.input-rail { position:absolute; left:30px; top:44px; bottom:44px; display:flex; flex-direction:column; justify-content:space-between; font:8px var(--mono); color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.08em; }
.input-rail span { border:1px solid rgba(255,255,255,.12); padding:7px 9px; background:rgba(255,255,255,.02); }
.plane-lines { position:absolute; inset:0; width:100%;height:100%; }
.plane-lines path { fill:none;stroke:rgba(216,137,88,.48);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:8 12;animation:dashFlow 12s linear infinite; }
.plane-lines path:nth-child(even){stroke:rgba(255,255,255,.18);animation-duration:16s;}
.decision-core { position:absolute; left:50%;top:50%; transform:translate(-50%,-50%); width:250px;height:250px;display:grid;place-items:center; }
.core-ring { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(216,137,88,.34);border-radius:50%; }.cr1{width:160px;height:160px}.cr2{width:215px;height:215px;border-style:dashed;animation:spin 22s linear infinite}.cr3{width:248px;height:248px;opacity:.35;animation:spinBack 31s linear infinite}
.core-wave { position:absolute;width:138px;height:138px;border-radius:50%;background:radial-gradient(circle,rgba(216,137,88,.24),rgba(216,137,88,.04) 45%,transparent 68%);animation:corePulse 3.6s ease-in-out infinite; }
.core-label { position:relative;z-index:2;width:118px;height:118px;border-radius:50%;background:#1d1e1c;display:grid;place-items:center;align-content:center;gap:4px;box-shadow:0 0 0 1px rgba(255,255,255,.13),0 15px 50px rgba(0,0,0,.35); }
.core-label img { width:24px;height:24px;margin-bottom:5px; }.core-label strong{font-size:13px;font-weight:600}.core-label span{font:6px var(--mono);text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.46)}
.plane-callout { position:absolute; width:180px; padding:14px; border:1px solid rgba(255,255,255,.13); background:rgba(32,33,31,.68); backdrop-filter:blur(12px); display:grid; gap:6px; }
.plane-callout>span{font:7px var(--mono);color:var(--warm-2)}.plane-callout strong{font-size:14px}.plane-callout small{font:7px var(--mono);color:rgba(255,255,255,.46)}
.pca{right:5%;top:12%}.pcb{right:3%;top:44%}.pcc{right:7%;bottom:11%}
.plane-footer { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.1); }
.plane-footer>div{min-height:86px;padding:18px;border-right:1px solid rgba(255,255,255,.1);display:grid;align-content:center;gap:7px}.plane-footer>div:last-child{border-right:0}.plane-footer span{font:7px var(--mono);text-transform:uppercase;color:rgba(255,255,255,.4)}.plane-footer strong{font-size:12px;font-weight:500}
.front-doors { margin-top: 110px; }
.door-grid { display:grid;grid-template-columns:repeat(3,1fr);margin-top:25px;border-top:1px solid var(--line-light); }
.door-grid article{min-height:270px;padding:27px 30px 0 0;border-right:1px solid var(--line-light)}.door-grid article+article{padding-left:30px}.door-grid article:last-child{border-right:0}
.door-grid article>span{font:8px var(--mono);color:var(--warm-2)}.door-grid h3{margin:78px 0 16px;font-size:37px;font-weight:500;letter-spacing:-.05em}.door-grid p{margin:0;color:rgba(255,255,255,.55);font-size:13px;line-height:1.55;max-width:390px}

.inside { padding: 130px 0 150px; border-bottom:1px solid var(--line-dark); }
.inside-head { display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:85px; }
.inside-head .display{margin-top:36px}.cap-count{font:10px var(--mono);letter-spacing:.08em;color:#777a73}.cap-count span{font-size:28px;color:var(--warm);}
.capability-shell { display:grid;grid-template-columns:285px minmax(0,1fr);gap:72px;align-items:start; }
.cap-tabs { position:sticky;top:calc(var(--header-h) + 36px);border-top:1px solid var(--line-dark); }
.cap-tab { width:100%;border:0;border-bottom:1px solid var(--line-dark);background:transparent;padding:17px 0;text-align:left;cursor:pointer;display:grid;grid-template-columns:40px 1fr;align-items:center;font-size:13px;color:#777970;transition:color .25s ease,padding-left .25s ease; }
.cap-tab span{font:8px var(--mono);color:#9a9c94}.cap-tab:hover{color:var(--ink);padding-left:5px}.cap-tab.is-active{color:var(--ink)}.cap-tab.is-active span{color:var(--warm)}
.cap-panels { position:relative;min-height:710px; }
.cap-panel { display:none;animation:panelIn .48s ease both; }
.cap-panel.is-active { display:block; }
.panel-index { margin:0 0 28px;font:10px var(--mono);color:var(--warm); }
.cap-panel>h3 { margin:0;max-width:900px;font-size:clamp(42px,5vw,86px);line-height:.98;letter-spacing:-.065em;font-weight:500; }
.panel-columns { margin-top:68px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--line-dark);padding-top:22px; }
.panel-columns span{font:8px var(--mono);text-transform:uppercase;color:#7b7e77}.panel-columns p{font-size:13px;line-height:1.6;margin:16px 0 0;color:#454842;max-width:330px}
.panel-visual { margin-top:72px;height:290px;border:1px solid var(--line-dark);position:relative;overflow:hidden;background:rgba(255,255,255,.27); }
.graph-visual { display:grid;place-items:center;background-image:radial-gradient(circle at 50% 50%,rgba(184,101,56,.1),transparent 32%); }
.gv-core,.memory-center-small{position:absolute;width:95px;height:95px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;text-align:center;font:9px var(--mono);z-index:3}.gv-ring,.memory-ring{position:absolute;border:1px solid var(--line-dark);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.gr1,.mr1{width:210px;height:210px}.gr2,.mr2{width:390px;height:240px;border-style:dashed;animation:spinBack 28s linear infinite}
.gv-node,.memory-mini{position:absolute;border:1px solid var(--line-dark);background:var(--paper);padding:7px 9px;font:8px var(--mono);text-transform:uppercase;z-index:4}.g1{left:11%;top:24%}.g2{right:14%;top:18%}.g3{left:18%;bottom:19%}.g4{right:8%;bottom:20%}.g5{left:48%;top:7%}
.formulation-visual { padding:32px;display:grid;align-content:center;gap:0;background:#1e201e;color:#fff; }.formula-line{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid rgba(255,255,255,.1);padding:13px 0}.formula-line span{font:8px var(--mono);text-transform:uppercase;color:rgba(255,255,255,.4)}.formula-line strong{font:12px var(--mono);font-weight:400;color:#d8dad4}.formula-line:nth-child(2) strong,.formula-line:nth-child(3) strong{color:var(--warm-soft)}
.optimization-visual{background:#252725}.ov-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:50px 50px}.optimization-visual svg{position:absolute;inset:15px;width:calc(100% - 30px);height:calc(100% - 30px)}.optimization-visual path{fill:none;stroke:var(--warm-2);stroke-width:2;vector-effect:non-scaling-stroke}.optimization-visual circle{fill:var(--paper);stroke:var(--warm-2);stroke-width:2}.ov-label{position:absolute;right:23%;top:27%;background:var(--paper);padding:6px 8px;font:7px var(--mono);text-transform:uppercase}
.certification-visual{padding:25px 32px;display:grid;align-content:center;gap:0;background:#eeeae2}.cert-row{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line-dark);padding:13px 0;font-size:12px}.cert-row strong{font:8px var(--mono);color:var(--warm);text-transform:uppercase}.cert-stamp{position:absolute;right:34px;bottom:30px;border:2px solid var(--warm);color:var(--warm);font:14px var(--mono);letter-spacing:.12em;padding:9px 12px;transform:rotate(-4deg)}
.trace-visual{display:flex;align-items:center;justify-content:center;gap:16px;background:#262825;color:#fff;padding:35px}.trace-visual span{border:1px solid rgba(255,255,255,.14);padding:10px 12px;font:8px var(--mono);text-transform:uppercase;white-space:nowrap}.trace-visual i{display:block;width:38px;height:1px;background:var(--warm-2);position:relative}.trace-visual i::after{content:"";position:absolute;right:-1px;top:-2px;border-left:5px solid var(--warm-2);border-top:2px solid transparent;border-bottom:2px solid transparent}
.memory-visual{display:grid;place-items:center}.memory-mini{border-radius:999px}.mm1{left:14%;top:24%}.mm2{right:12%;top:19%}.mm3{right:14%;bottom:18%}.mm4{left:11%;bottom:21%}

.decisions { padding:130px 0 150px; }
.decisions-head { display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end; }.decisions-head .display{margin-top:36px}.decisions-head>p{margin:0 0 6px;color:rgba(255,255,255,.58);font-size:14px;line-height:1.55;max-width:430px}
.decision-switch { display:flex;gap:7px;margin-top:80px;border-bottom:1px solid var(--line-light);padding-bottom:18px; }
.decision-toggle { border:1px solid rgba(255,255,255,.16);background:transparent;color:rgba(255,255,255,.55);padding:10px 15px;border-radius:999px;font:9px var(--mono);cursor:pointer;transition:.25s ease; }.decision-toggle.is-active,.decision-toggle:hover{background:var(--warm);border-color:var(--warm);color:#fff}
.decision-panel { display:none;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:80px;padding-top:70px;align-items:stretch; }.decision-panel.is-active{display:grid;animation:panelIn .5s ease both}.decision-copy{align-self:center}.panel-label{font:8px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--warm-2);margin:0 0 24px}.decision-copy h3{font-size:clamp(40px,4.6vw,78px);line-height:.98;letter-spacing:-.06em;font-weight:500;margin:0}.decision-copy>p:not(.panel-label){font-size:14px;line-height:1.6;color:rgba(255,255,255,.58);max-width:650px;margin:30px 0}.decision-copy ul{list-style:none;margin:45px 0 0;padding:0;border-top:1px solid var(--line-light)}.decision-copy li{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line-light);padding:12px 0;font-size:12px;color:rgba(255,255,255,.82)}.decision-copy li span{font:8px var(--mono);text-transform:uppercase;color:rgba(255,255,255,.38)}
.decision-visual{min-height:610px;display:grid;align-items:center}.frontier-card{border:1px solid rgba(255,255,255,.15);background:#242522;min-height:520px;display:grid;grid-template-rows:auto 1fr auto}.frontier-top{padding:16px;border-bottom:1px solid rgba(255,255,255,.11);display:flex;justify-content:space-between;font:8px var(--mono);text-transform:uppercase;color:rgba(255,255,255,.4)}.frontier-top strong{color:var(--warm-soft);font-weight:400}.frontier-chart{position:relative;margin:22px;overflow:hidden}.chart-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:55px 55px}.frontier-chart svg{position:absolute;inset:0;width:100%;height:100%}.frontier-path{fill:none;stroke:rgba(255,255,255,.18);stroke-width:1;vector-effect:non-scaling-stroke}.feasible-path{fill:none;stroke:var(--warm-2);stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(216,137,88,.25))}.frontier-chart line{stroke:rgba(255,255,255,.24);stroke-dasharray:5 7}.frontier-chart circle{fill:var(--paper);stroke:var(--warm-2);stroke-width:3}.chart-note{position:absolute;border:1px solid rgba(255,255,255,.14);background:rgba(28,29,27,.84);padding:8px 10px;font:7px var(--mono);line-height:1.55;color:rgba(255,255,255,.5)}.chart-note strong{font-weight:400;color:#fff}.note-best{right:7%;top:16%}.note-bind{left:46%;bottom:14%}.frontier-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.11)}.frontier-meta span{padding:14px;border-right:1px solid rgba(255,255,255,.1);font:7px var(--mono);text-transform:uppercase;color:rgba(255,255,255,.4)}.frontier-meta span:last-child{border-right:0}
.allocation-grid{position:relative;height:520px;border:1px solid rgba(255,255,255,.15);background:#242522;overflow:hidden}.allocation-grid svg{position:absolute;inset:0;width:100%;height:100%}.allocation-grid path{fill:none;stroke:rgba(216,137,88,.4);stroke-width:1;stroke-dasharray:7 9;animation:dashFlow 15s linear infinite}.allocation-label,.allocation-result,.allocation-core{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.14);background:#292a27;color:#fff}.allocation-label{left:4%;width:135px;padding:9px;font:8px var(--mono);text-transform:uppercase;color:rgba(255,255,255,.55)}.a1{top:13%}.a2{top:35%}.a3{top:57%}.a4{top:79%}.allocation-core{left:45%;top:50%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--warm);border-color:var(--warm);font:9px var(--mono);text-transform:uppercase;box-shadow:0 0 0 12px rgba(184,101,56,.08)}.allocation-result{right:4%;width:150px;padding:11px;display:grid;gap:4px}.allocation-result small{font:7px var(--mono);color:var(--warm-2)}.allocation-result strong{font-size:12px}.allocation-result span{font:7px var(--mono);color:rgba(255,255,255,.45)}.r1{top:14%}.r2{top:44%}.r3{top:72%}

.moats { padding:130px 0 150px; }
.moat-intro { display:grid;grid-template-columns:.45fr 1.15fr .6fr;gap:55px;align-items:start; }.moat-intro>p:last-child{margin:8px 0 0;font-size:14px;line-height:1.6;color:#5c5f58}.moat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:90px;background:var(--line-dark);border:1px solid var(--line-dark)}.moat-card{background:var(--paper);padding:30px;min-height:690px;display:grid;grid-template-rows:auto auto 1fr}.moat-number{font:9px var(--mono);color:var(--warm)}.moat-card h3{font-size:clamp(42px,4vw,70px);line-height:.98;letter-spacing:-.06em;font-weight:500;margin:18px 0 22px}.moat-card>div:nth-child(2)>p:last-child{font-size:14px;line-height:1.6;color:#555850;max-width:560px}
.code-window{align-self:end;background:#1f211f;color:#d7dad3;border:1px solid rgba(0,0,0,.15);min-height:300px}.code-head{height:38px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;gap:6px;align-items:center;padding:0 13px}.code-head span{width:7px;height:7px;border-radius:50%;background:#555a54}.code-window pre{margin:0;padding:26px;font:11px/1.8 var(--mono);overflow:auto}.code-window em{color:#777d76;font-style:normal}.code-window code>span{color:var(--warm-2)}
.memory-orbit{align-self:end;height:340px;position:relative}.memory-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:110px;height:110px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;text-align:center;font:10px var(--mono);z-index:3;box-shadow:0 0 0 12px rgba(23,24,22,.05)}.orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid var(--line-dark);border-radius:50%}.o1{width:205px;height:205px}.o2{width:315px;height:255px}.o3{width:450px;height:318px;border-style:dashed;animation:spinBack 35s linear infinite}.memory-node{position:absolute;z-index:4;padding:7px 9px;border:1px solid var(--line-dark);background:var(--paper);border-radius:999px;font:8px var(--mono);text-transform:uppercase}.mn1{left:12%;top:18%}.mn2{right:9%;top:21%}.mn3{left:4%;bottom:18%}.mn4{right:4%;bottom:15%}.mn5{left:49%;top:1%;transform:translateX(-50%)}

.scenic-cta { position:relative;min-height:700px;overflow:hidden;color:#fff;display:grid;align-items:end;isolation:isolate; }.cta-media{position:absolute;inset:0;z-index:-2}.cta-media img{width:100%;height:100%;object-fit:cover;object-position:center;animation:ctaDrift 20s ease-in-out infinite alternate}.cta-media div{position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,25,24,.84),rgba(22,25,24,.18) 60%),linear-gradient(90deg,rgba(25,31,32,.65),transparent 68%)}.cta-inner{padding:110px 0 80px}.cta-inner h2{font-size:clamp(76px,11vw,180px);line-height:.86;letter-spacing:-.08em;font-weight:500;margin:42px 0 28px}.cta-inner>p:not(.section-kicker){max-width:620px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.76);margin:0 0 35px}

.site-footer { border-top:1px solid rgba(255,255,255,.12); }
.footer-main { padding:78px 0 95px;display:grid;grid-template-columns:.7fr 1fr 1.25fr;gap:55px;align-items:start; }.footer-thesis{margin:0;font-size:30px;line-height:1.15;letter-spacing:-.045em;color:#b6b8b1}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.footer-links div{display:grid;gap:11px;align-content:start}.footer-links span{font:8px var(--mono);text-transform:uppercase;color:rgba(255,255,255,.33);margin-bottom:8px}.footer-links a{font-size:12px;color:rgba(255,255,255,.65)}.footer-links a:hover{color:var(--warm-2)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:15px 2.25vw;display:flex;justify-content:space-between;gap:20px;font:8px var(--mono);text-transform:uppercase;color:rgba(255,255,255,.34)}

.reveal { opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity:1;transform:none; }

@keyframes heroDrift { from{transform:scale(1.035) translate3d(0,0,0)} to{transform:scale(1.085) translate3d(-1.1%,.5%,0)} }
@keyframes missionDrift { from{transform:scale(1.07) translate3d(0,0,0)} to{transform:scale(1.13) translate3d(-2%,1%,0)} }
@keyframes ctaDrift { from{transform:scale(1.02) translate3d(0,0,0)} to{transform:scale(1.07) translate3d(-1%,0,0)} }
@keyframes fogA { from{transform:translate3d(-6%,0,0) scale(1)} to{transform:translate3d(13%,-4%,0) scale(1.12)} }
@keyframes fogB { from{transform:translate3d(8%,4%,0) scale(1.12)} to{transform:translate3d(-10%,-3%,0) scale(.96)} }
@keyframes missionFog { from{transform:translate3d(-7%,0,0) scale(1)} to{transform:translate3d(8%,-8%,0) scale(1.08)} }
@keyframes titleIn { to{transform:translateY(0)} }
@keyframes dashFlow { to{stroke-dashoffset:-190} }
@keyframes nodePulse { 0%,100%{transform:scale(.8);opacity:.6} 50%{transform:scale(1.25);opacity:1} }
@keyframes spin { to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes spinBack { to{transform:translate(-50%,-50%) rotate(-360deg)} }
@keyframes corePulse { 0%,100%{transform:scale(.86);opacity:.45}50%{transform:scale(1.15);opacity:1} }
@keyframes panelIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

@media (max-width: 1120px) {
  :root { --shell: min(94vw, 1200px); }
  .site-header { padding:0 22px;grid-template-columns:1fr auto; }
  .desktop-nav,.header-cta{display:none}.menu-toggle,.mobile-menu{display:block}
  .hero-title{font-size:clamp(68px,11.2vw,135px)}
  .mission-layout{grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);gap:6vw}.mission-statement h2{font-size:clamp(48px,5.2vw,66px)}
  .section-intro{grid-template-columns:1fr}.intro-copy{max-width:700px}
  .decision-plane{margin-top:85px}.plane-callout{width:165px}
  .capability-shell{grid-template-columns:230px minmax(0,1fr);gap:42px}.panel-columns{gap:20px}
  .decisions-head{grid-template-columns:1fr}.decision-panel{gap:45px}
  .moat-intro{grid-template-columns:1fr}.moat-intro>p:last-child{max-width:650px}.moat-grid{grid-template-columns:1fr}.moat-card{min-height:610px}
  .footer-main{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}
}

@media (max-width: 820px) {
  :root { --shell: calc(100vw - 36px); --header-h:66px; }
  .site-header{height:var(--header-h);padding:0 16px}.brand-logo{width:32px;height:32px}.brand-name{font-size:18px}
  .hero-shell{padding-top:calc(var(--header-h) + 28px)}.hero-proof{display:none}.hero-main{padding-bottom:28px}.hero-title{font-size:clamp(64px,15vw,105px)}.hero-lower{grid-template-columns:1fr;gap:28px;max-width:650px}.hero-actions{grid-template-columns:max-content max-content;align-items:center;gap:18px}.hero-foot span:nth-child(2),.hero-foot span:nth-child(3),.hero-foot span:nth-child(4){display:none}
  .mission-layout{grid-template-columns:1fr;min-height:0;padding:95px 0 120px;gap:78px}.mission-statement{position:relative;top:auto}.mission-statement .section-kicker{margin-bottom:28px}.mission-statement h2{font-size:clamp(62px,11vw,92px);max-width:760px}.mission-content{padding-top:0}.mission-copy{font-size:clamp(18px,3.2vw,24px)}.mission-thesis{margin-top:80px;font-size:clamp(48px,9vw,72px)}
  .platform,.inside,.decisions,.moats{padding:95px 0 110px}.display{font-size:clamp(50px,11.5vw,82px)}
  .workflow{grid-template-columns:1fr 1fr;gap:35px 20px}.workflow-track{display:none}.workflow-step{min-height:130px}
  .plane-stage{height:590px}.input-rail{left:15px;top:20px;bottom:20px}.plane-callout{right:16px;width:145px}.pca{top:10%}.pcb{top:43%}.pcc{bottom:9%}.decision-core{left:45%;width:200px;height:200px}.cr1{width:135px;height:135px}.cr2{width:178px;height:178px}.cr3{width:205px;height:205px}.core-label{width:102px;height:102px}.plane-footer{grid-template-columns:1fr}.plane-footer>div{min-height:70px;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.plane-footer>div:last-child{border-bottom:0}
  .door-grid{grid-template-columns:1fr}.door-grid article,.door-grid article+article{min-height:0;padding:25px 0;border-right:0;border-bottom:1px solid var(--line-light)}.door-grid article:last-child{border-bottom:0}.door-grid h3{margin:35px 0 12px}
  .inside-head{align-items:start}.capability-shell{grid-template-columns:1fr;gap:40px}.cap-tabs{position:relative;top:auto;display:grid;grid-template-columns:repeat(3,1fr)}.cap-tab{padding:12px 8px;grid-template-columns:30px 1fr;border-right:1px solid var(--line-dark)}.cap-panels{min-height:740px}.panel-columns{grid-template-columns:1fr}.panel-visual{margin-top:45px}.trace-visual{gap:8px;overflow-x:auto;justify-content:flex-start}.trace-visual i{width:20px}
  .decision-panel{grid-template-columns:1fr}.decision-visual{min-height:500px}.frontier-card{min-height:480px}.allocation-grid{height:480px}
  .moat-grid{margin-top:60px}.moat-card{min-height:570px}.o3{width:390px}
  .scenic-cta{min-height:620px}.cta-inner{padding:95px 0 60px}
  .footer-main{grid-template-columns:1fr;gap:36px;padding:65px 0}.footer-links{grid-column:auto}.footer-bottom{padding:14px 18px}
}

@media (max-width: 560px) {
  :root{--shell:calc(100vw - 28px)}
  .mobile-menu-inner{padding-top:105px}.mobile-menu-inner>a:not(.mobile-cta){font-size:28px}
  .hero{min-height:96svh}.hero-media img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(18,25,28,.88),rgba(18,25,28,.45) 70%,rgba(18,25,28,.18)),linear-gradient(0deg,rgba(18,20,19,.88),rgba(18,20,19,.05) 60%)}
  .hero-topline{font-size:8px}.hero-title{font-size:clamp(58px,18vw,88px)}.hero-lower{margin-top:33px}.hero-actions{grid-template-columns:1fr;justify-items:start}.hero-foot{gap:12px}.hero-foot span:last-child{display:none}
  .mission-layout{padding:78px 0 96px;gap:62px}.mission-statement h2{font-size:clamp(56px,16vw,78px)}.mission-copy{font-size:18px;line-height:1.55}.mission-copy p{margin-bottom:46px}.mission-thesis{margin-top:58px;font-size:clamp(46px,12vw,62px)}.mission-close{width:100%;margin-top:48px}
  .workflow{grid-template-columns:1fr}.workflow-step{padding-top:8px;border-top:1px solid var(--line-light)}.step-dot{display:none}.step-index{margin-top:12px}.decision-plane{margin-left:-7px;margin-right:-7px}.plane-stage{height:610px}.input-rail{display:none}.decision-core{left:43%;top:46%}.plane-callout{width:135px}.pca{top:8%}.pcb{top:39%}.pcc{bottom:10%}.plane-lines{opacity:.7}
  .cap-tabs{grid-template-columns:1fr 1fr}.cap-tab:nth-child(odd){border-left:1px solid var(--line-dark)}.cap-panels{min-height:860px}.inside-head{display:grid;grid-template-columns:1fr auto;align-items:start}.inside-head .display{grid-column:1/-1}.cap-count{padding-top:2px}.panel-columns{margin-top:45px}.panel-visual{height:260px}.formula-line{grid-template-columns:100px 1fr}.gv-node{font-size:7px}.g4{right:2%}.g1{left:4%}
  .decision-switch{margin-top:55px}.decision-panel{padding-top:48px}.decision-copy h3{font-size:clamp(40px,12vw,62px)}.decision-visual{min-height:420px}.frontier-card{min-height:420px}.frontier-chart{margin:12px}.chart-note{display:none}.frontier-meta{grid-template-columns:1fr}.frontier-meta span{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.allocation-grid{height:430px}.allocation-label{width:112px;font-size:7px}.allocation-result{width:125px}.allocation-core{left:47%;width:76px;height:76px}
  .moat-card{padding:22px;min-height:530px}.moat-card h3{font-size:44px}.code-window pre{font-size:9px;padding:18px}.memory-orbit{height:300px}.o3{width:300px;height:280px}.o2{width:250px;height:230px}.memory-node{font-size:7px}
  .cta-inner h2{font-size:clamp(70px,20vw,108px)}.footer-links{grid-template-columns:1fr 1fr}.footer-links div:last-child{grid-column:1/-1}.footer-bottom{display:grid;justify-content:start}
}

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

/* v3 — Solutions / value by seat */
.solutions { padding:130px 0 150px; overflow:hidden; }
.solutions-head { display:grid; grid-template-columns:1.35fr .65fr; gap:70px; align-items:end; }
.solutions-head .display { margin-top:36px; }
.solutions-head>p { margin:0 0 6px; color:rgba(255,255,255,.58); font-size:14px; line-height:1.6; max-width:470px; }
.solution-domain-switch { display:grid; grid-template-columns:1fr 1fr; margin-top:80px; border:1px solid var(--line-light); background:rgba(255,255,255,.025); }
.solution-domain { appearance:none; border:0; border-right:1px solid var(--line-light); background:transparent; color:#fff; min-height:88px; padding:17px 22px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; cursor:pointer; text-align:left; transition:background .28s ease,color .28s ease; }
.solution-domain:last-child { border-right:0; }
.solution-domain span { font:8px var(--mono); color:rgba(255,255,255,.32); }
.solution-domain strong { font-size:17px; font-weight:500; letter-spacing:-.025em; }
.solution-domain small { font:8px var(--mono); text-transform:uppercase; color:rgba(255,255,255,.35); }
.solution-domain.is-active { background:var(--paper); color:var(--ink); }
.solution-domain.is-active span,.solution-domain.is-active small { color:var(--warm); }
.solutions-workspace { display:grid; grid-template-columns:270px minmax(0,1fr); min-height:760px; border:1px solid var(--line-light); border-top:0; background:#252623; }
.role-rail { border-right:1px solid var(--line-light); background:#20211f; }
.role-rail-label { min-height:72px; padding:0 20px; border-bottom:1px solid var(--line-light); display:flex; align-items:center; justify-content:space-between; }
.role-rail-label span { font:8px var(--mono); text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.48); }
.role-rail-label small { font:7px var(--mono); text-transform:uppercase; color:rgba(255,255,255,.25); }
.role-list { display:grid; }
.role-button { appearance:none; width:100%; min-height:65px; border:0; border-bottom:1px solid rgba(255,255,255,.075); background:transparent; color:rgba(255,255,255,.52); padding:0 18px; display:grid; grid-template-columns:34px 1fr; gap:8px; align-items:center; text-align:left; cursor:pointer; transition:background .22s ease,color .22s ease,padding .22s ease; }
.role-button span { font:7px var(--mono); color:rgba(255,255,255,.24); }
.role-button strong { font-size:12px; font-weight:450; }
.role-button:hover { color:#fff; background:rgba(255,255,255,.035); padding-left:22px; }
.role-button.is-active { background:var(--warm); color:#fff; }
.role-button.is-active span { color:rgba(255,255,255,.68); }
.role-stage { min-width:0; }
.role-stage-head { min-height:285px; display:grid; grid-template-columns:1.25fr .75fr; gap:55px; align-items:end; padding:44px 48px 38px; border-bottom:1px solid var(--line-light); position:relative; overflow:hidden; }
.role-stage-head::before { content:""; position:absolute; width:390px; height:390px; right:-100px; top:-210px; border-radius:50%; background:radial-gradient(circle,rgba(216,137,88,.13),transparent 65%); pointer-events:none; }
.role-index { margin:0 0 20px; font:8px var(--mono); color:var(--warm-2); }
.role-identity h3 { margin:0; font-size:clamp(50px,5.3vw,92px); line-height:.9; letter-spacing:-.068em; font-weight:500; }
.role-summary { margin:24px 0 0; max-width:650px; font-size:14px; line-height:1.55; color:rgba(255,255,255,.58); }
.role-pattern { border-left:1px solid var(--line-light); padding-left:28px; margin-bottom:4px; position:relative; z-index:1; }
.role-pattern span { font:8px var(--mono); text-transform:uppercase; color:var(--warm-2); }
.role-pattern p { font-size:12px; line-height:1.55; color:rgba(255,255,255,.58); margin:14px 0 0; max-width:350px; }
.role-view-switch { height:62px; display:flex; align-items:stretch; border-bottom:1px solid var(--line-light); padding-left:48px; }
.role-view { appearance:none; border:0; border-right:1px solid var(--line-light); background:transparent; color:rgba(255,255,255,.42); padding:0 22px; font:8px var(--mono); text-transform:uppercase; cursor:pointer; position:relative; }
.role-view:first-child { border-left:1px solid var(--line-light); }
.role-view::after { content:""; position:absolute; left:20px; right:20px; bottom:-1px; height:2px; background:var(--warm-2); transform:scaleX(0); transition:transform .24s ease; }
.role-view.is-active { color:#fff; }
.role-view.is-active::after { transform:scaleX(1); }
.role-view-panel { display:none; animation:panelIn .42s ease both; }
.role-view-panel.is-active { display:block; }
.value-columns { display:grid; grid-template-columns:repeat(3,1fr); min-height:360px; }
.value-column { padding:38px 34px 44px; border-right:1px solid var(--line-light); }
.value-column:last-child { border-right:0; }
.value-column .mini-kicker { color:rgba(255,255,255,.38); margin-bottom:28px; }
.value-column ul { list-style:none; padding:0; margin:0; display:grid; gap:0; }
.value-column li { min-height:66px; display:flex; align-items:flex-start; gap:12px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.075); font-size:12px; line-height:1.45; color:rgba(255,255,255,.7); }
.value-column li::before { content:"↳"; color:var(--warm-2); font:9px var(--mono); margin-top:2px; }
.value-dcision { background:linear-gradient(180deg,rgba(184,101,56,.08),transparent 78%); }
.value-dcision li { color:rgba(255,255,255,.88); }
.value-impact { background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 78%); }
.value-impact .mini-kicker { color:var(--warm-2); }
.value-impact li { color:rgba(255,255,255,.76); }
.decision-state-row { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-light); }
.decision-state-row>div { min-height:90px; padding:17px 22px; border-right:1px solid var(--line-light); display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:12px; align-content:center; }
.decision-state-row>div:last-child { border-right:0; }
.state-orb { grid-row:1/3; width:8px; height:8px; border-radius:50%; align-self:center; box-shadow:0 0 0 6px rgba(255,255,255,.025); }
.state-optimal { background:#d88958; }
.state-infeasible { background:#b9a074; }
.state-feasible { background:#858b80; }
.decision-state-row small { font:7px var(--mono); text-transform:uppercase; color:rgba(255,255,255,.35); }
.decision-state-row strong { margin-top:4px; font-size:11px; font-weight:450; color:rgba(255,255,255,.72); }
.models-intro { display:grid; grid-template-columns:.45fr 1fr; gap:32px; align-items:start; padding:34px 48px 30px; border-bottom:1px solid var(--line-light); }
.models-intro .mini-kicker { color:var(--warm-2); margin:2px 0 0; }
.models-intro>p:last-child { margin:0; max-width:760px; font-size:12px; line-height:1.55; color:rgba(255,255,255,.52); }
.model-grid,.tool-grid { display:grid; grid-template-columns:repeat(2,1fr); }
.model-card,.tool-card { min-height:185px; padding:27px 30px; border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light); position:relative; overflow:hidden; }
.model-card:nth-child(even),.tool-card:nth-child(even) { border-right:0; }
.model-card::after { content:""; position:absolute; right:-35px; bottom:-55px; width:135px; height:135px; border:1px solid rgba(216,137,88,.15); border-radius:50%; }
.model-card span,.tool-card span { font:7px var(--mono); text-transform:uppercase; color:var(--warm-2); }
.model-card h4,.tool-card h4 { margin:21px 0 10px; font-size:22px; line-height:1; letter-spacing:-.04em; font-weight:500; }
.model-card p,.tool-card p { margin:0; max-width:440px; font-size:11px; line-height:1.55; color:rgba(255,255,255,.48); }
.tool-card { min-height:170px; }
.tool-card span { color:#9ba093; }
.solutions-workspace.is-changing .role-stage { opacity:.46; transform:translateY(4px); }
.role-stage { transition:opacity .18s ease,transform .18s ease; }

@media (max-width:1120px) {
  .solutions-head { grid-template-columns:1fr; }
  .solutions-workspace { grid-template-columns:220px minmax(0,1fr); }
  .role-stage-head { grid-template-columns:1fr; gap:25px; }
  .role-pattern { border-left:0; border-top:1px solid var(--line-light); padding:20px 0 0; }
  .value-columns { grid-template-columns:1fr 1fr; }
  .value-column:nth-child(2) { border-right:0; }
  .value-column:nth-child(3) { grid-column:1/-1; border-top:1px solid var(--line-light); }
}
@media (max-width:760px) {
  .solutions { padding:95px 0 110px; }
  .solution-domain-switch { margin-top:52px; }
  .solution-domain { grid-template-columns:auto 1fr; min-height:74px; padding:14px 13px; }
  .solution-domain small { display:none; }
  .solutions-workspace { grid-template-columns:1fr; min-height:0; }
  .role-rail { border-right:0; border-bottom:1px solid var(--line-light); overflow:hidden; }
  .role-rail-label { min-height:55px; }
  .role-list { display:flex; overflow-x:auto; scrollbar-width:none; }
  .role-list::-webkit-scrollbar { display:none; }
  .role-button { flex:0 0 auto; width:auto; min-width:148px; min-height:55px; border-right:1px solid rgba(255,255,255,.075); border-bottom:0; grid-template-columns:26px 1fr; }
  .role-stage-head { padding:34px 22px 29px; min-height:300px; }
  .role-identity h3 { font-size:clamp(48px,14vw,74px); }
  .role-view-switch { padding-left:0; height:58px; overflow-x:auto; }
  .role-view { flex:1 0 auto; padding:0 16px; }
  .value-columns { grid-template-columns:1fr; }
  .value-column { border-right:0; border-bottom:1px solid var(--line-light); padding:28px 22px 32px; }
  .value-column:nth-child(3) { grid-column:auto; border-top:0; }
  .decision-state-row { grid-template-columns:1fr; }
  .decision-state-row>div { border-right:0; border-bottom:1px solid var(--line-light); }
  .models-intro { grid-template-columns:1fr; padding:28px 22px 24px; }
  .model-grid,.tool-grid { grid-template-columns:1fr; }
  .model-card,.tool-card,.model-card:nth-child(even),.tool-card:nth-child(even) { border-right:0; padding:24px 22px; }
}

/* v5 · Platform system widgets */
.decision-lifecycle {
  margin-top: 105px;
}
.lifecycle-label {
  border-bottom: 1px solid var(--line-light);
  padding-bottom: 15px;
  font: 8px var(--mono);
  color: rgba(255,255,255,.48);
  text-transform: uppercase;
  letter-spacing: .12em;
}
.lifecycle-steps {
  display: grid;
  grid-template-columns: repeat(7, minmax(0,1fr));
  position: relative;
  padding-top: 36px;
}
.lifecycle-steps::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 47px;
  height: 1px;
  background: rgba(255,255,255,.15);
}
.lifecycle-steps > div {
  min-height: 118px;
  position: relative;
  padding: 35px 18px 0 0;
}
.lifecycle-steps > div::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--charcoal);
  border: 1px solid rgba(255,255,255,.36);
  z-index: 2;
}
.lifecycle-steps > div:nth-child(-n+4)::before {
  border-color: var(--warm-2);
  box-shadow: 0 0 0 6px rgba(216,137,88,.08);
}
.lifecycle-steps > div:nth-child(4)::before {
  background: var(--warm-2);
  box-shadow: 0 0 0 8px rgba(216,137,88,.11), 0 0 24px rgba(216,137,88,.32);
}
.lifecycle-steps span { display:block; font:7px var(--mono); color:rgba(255,255,255,.34); margin-bottom:10px; }
.lifecycle-steps strong { display:block; font-size:16px; font-weight:500; letter-spacing:-.03em; color:rgba(255,255,255,.9); }
.lifecycle-steps small { display:block; margin-top:6px; font-size:9px; color:rgba(255,255,255,.36); }

.platform-widget {
  margin-top: 74px;
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008)),
    #242522;
  position: relative;
  overflow: hidden;
  box-shadow: 0 26px 80px rgba(0,0,0,.16);
}
.platform-widget::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 0 43%, rgba(255,255,255,.025) 50%, transparent 57%);
  transform: translateX(-130%);
  animation: widgetSheen 9s ease-in-out infinite;
}
@keyframes widgetSheen {
  0%,68% { transform: translateX(-130%); }
  84%,100% { transform: translateX(130%); }
}
.platform-widget-head {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(255,255,255,.11);
  position: relative;
  z-index: 2;
}
.platform-widget-head > div:first-child { display:flex; align-items:baseline; gap:16px; min-width:0; }
.widget-eyebrow { font: 7px var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--warm-2); white-space:nowrap; }
.platform-widget-head strong { font-size:15px; font-weight:450; letter-spacing:-.025em; color:rgba(255,255,255,.88); }
.widget-live { font:7px var(--mono); text-transform:uppercase; letter-spacing:.07em; color:rgba(255,255,255,.42); display:flex; align-items:center; gap:8px; }
.widget-live i { width:7px; height:7px; border-radius:50%; background:var(--warm-2); box-shadow:0 0 0 5px rgba(216,137,88,.09),0 0 16px rgba(216,137,88,.36); animation:livePulse 2s ease-in-out infinite; }
@keyframes livePulse { 50% { transform:scale(.72); opacity:.7; } }

.overview-stage {
  padding: 28px 28px 34px;
  position: relative;
  background:
    linear-gradient(rgba(255,255,255,.036) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.036) 1px, transparent 1px);
  background-size: 64px 64px;
}
.overview-stage::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 48%, rgba(216,137,88,.09), transparent 35%);
}
.overview-source-label,.overview-output-label { position:relative; z-index:1; font:7px var(--mono); color:rgba(255,255,255,.34); text-transform:uppercase; letter-spacing:.08em; margin-bottom:12px; }
.overview-output-label { margin:26px 0 12px; }
.source-row,.output-row { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; position:relative; z-index:1; }
.source-row span,.output-row span {
  min-height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(25,26,24,.52);
  font:7px var(--mono);
  color:rgba(255,255,255,.52);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.source-row span:nth-child(6),.output-row span:nth-child(-n+3) { border-color:rgba(216,137,88,.22); color:rgba(255,255,255,.72); }

.decision-plane-module {
  margin: 22px 6.5vw 0;
  min-height: 360px;
  border: 1px solid rgba(216,137,88,.34);
  background:linear-gradient(180deg,rgba(184,101,56,.075),rgba(0,0,0,.04)),rgba(34,35,32,.92);
  position:relative;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(216,137,88,.03),0 28px 70px rgba(0,0,0,.16);
}
.decision-plane-module::before,.decision-plane-module::after {
  content:"";
  position:absolute;
  left:50%;
  width:1px;
  height:22px;
  background:linear-gradient(var(--warm-2),transparent);
  z-index:3;
}
.decision-plane-module::before { top:-23px; }
.decision-plane-module::after { bottom:-23px; transform:rotate(180deg); }
.plane-scan {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 0 46%,rgba(216,137,88,.08) 50%,transparent 54%);
  transform:translateY(-110%);
  animation:planeScan 7s linear infinite;
  pointer-events:none;
}
@keyframes planeScan { to { transform:translateY(110%); } }
.plane-brand {
  min-height:74px;
  padding:14px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid rgba(255,255,255,.1);
  position:relative;
  z-index:2;
}
.plane-brand img { width:32px; height:32px; object-fit:cover; }
.plane-brand div { display:grid; }
.plane-brand strong { font-size:14px; font-weight:600; color:#fff; letter-spacing:-.04em; }
.plane-brand span { margin-top:3px; font:6.5px var(--mono); text-transform:uppercase; color:rgba(255,255,255,.36); }
.plane-module-grid { display:grid; grid-template-columns:repeat(4,1fr); position:relative; z-index:2; }
.plane-module-grid article { min-height:164px; padding:24px 20px; border-right:1px solid rgba(255,255,255,.09); }
.plane-module-grid article:last-child { border-right:0; }
.plane-module-grid article > span { font:7px var(--mono); color:var(--warm-2); }
.plane-module-grid article strong { display:block; margin:25px 0 9px; font-size:18px; font-weight:500; letter-spacing:-.04em; color:rgba(255,255,255,.9); }
.plane-module-grid article p { margin:0; font-size:10px; line-height:1.5; color:rgba(255,255,255,.42); }
.plane-contract { min-height:72px; display:grid; grid-template-columns:1.2fr repeat(3,1fr); align-items:center; border-top:1px solid rgba(255,255,255,.1); position:relative; z-index:2; }
.plane-contract span,.plane-contract b { height:100%; display:flex; align-items:center; padding:0 18px; border-right:1px solid rgba(255,255,255,.085); }
.plane-contract span { font:7px var(--mono); text-transform:uppercase; color:rgba(255,255,255,.34); }
.plane-contract b { font-size:9px; line-height:1.35; font-weight:450; color:rgba(255,255,255,.7); }
.plane-contract b:last-child { border-right:0; }
.plane-contract b:first-of-type { color:var(--warm-soft); }

.widget-caption { display:grid; grid-template-columns:.36fr 1fr; gap:38px; align-items:start; padding:20px 0 0; }
.widget-caption span { font:7px var(--mono); color:var(--warm-2); text-transform:uppercase; letter-spacing:.08em; }
.widget-caption p { margin:0; max-width:860px; color:rgba(255,255,255,.46); font-size:11px; line-height:1.6; }

.platform-widget-inside { margin-top:118px; }
.decision-id { font:7px var(--mono); color:rgba(255,255,255,.34); text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.inside-decision-grid { display:grid; grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr); min-height:610px; }
.context-pane,.result-pane { min-width:0; position:relative; }
.context-pane { border-right:1px solid rgba(255,255,255,.08); }
.result-pane { border-left:1px solid rgba(255,255,255,.08); }
.pane-label { height:56px; display:flex; align-items:center; gap:10px; padding:0 20px; border-bottom:1px solid rgba(255,255,255,.09); font:7px var(--mono); text-transform:uppercase; letter-spacing:.07em; color:rgba(255,255,255,.46); }
.pane-label span { color:var(--warm-2); }
.graph-stage { height:470px; position:relative; overflow:hidden; background:radial-gradient(circle at 50% 50%,rgba(216,137,88,.065),transparent 32%); }
.graph-stage svg { position:absolute; inset:0; width:100%; height:100%; }
.graph-links path { fill:none; stroke:rgba(255,255,255,.14); stroke-width:1; vector-effect:non-scaling-stroke; }
.graph-pulses circle { fill:var(--warm-2); filter:drop-shadow(0 0 7px rgba(216,137,88,.8)); }
.graph-node { position:absolute; min-width:112px; padding:10px 12px; border:1px solid rgba(255,255,255,.12); background:rgba(31,32,29,.88); transform:translate(-50%,-50%); box-shadow:0 10px 30px rgba(0,0,0,.12); }
.graph-node small { display:block; font:6px var(--mono); text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,.3); }
.graph-node strong { display:block; margin-top:5px; font-size:9px; line-height:1.25; font-weight:500; color:rgba(255,255,255,.72); }
.graph-node.central { left:50%; top:50%; min-width:145px; padding:15px; border-color:rgba(216,137,88,.45); background:rgba(79,48,31,.5); }
.graph-node.central small { color:var(--warm-2); }
.graph-node.central strong { font-size:13px; color:#fff; }
.graph-node.n1 { left:20%; top:20%; }.graph-node.n2 { left:14%; top:50%; }.graph-node.n3 { left:22%; top:82%; }.graph-node.n4 { left:50%; top:15%; }.graph-node.n5 { left:80%; top:21%; }.graph-node.n6 { left:86%; top:50%; }.graph-node.n7 { left:80%; top:82%; }
.context-footer { min-height:62px; border-top:1px solid rgba(255,255,255,.09); padding:0 20px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.context-footer span { font:6.5px var(--mono); text-transform:uppercase; color:rgba(255,255,255,.3); }
.context-footer strong { font:7px var(--mono); font-weight:400; color:rgba(255,255,255,.62); }

.resolve-spine { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; background:rgba(255,255,255,.008); }
.resolve-spine span { font:6px var(--mono); color:rgba(255,255,255,.25); writing-mode:vertical-rl; transform:rotate(180deg); letter-spacing:.12em; }
.resolve-spine i { display:block; width:1px; height:58px; background:linear-gradient(transparent,var(--warm-2),transparent); position:relative; overflow:hidden; }
.resolve-spine i::after { content:""; position:absolute; left:-2px; top:-4px; width:5px; height:5px; border-radius:50%; background:var(--warm-2); box-shadow:0 0 12px rgba(216,137,88,.8); animation:spineMove 2.7s linear infinite; }
@keyframes spineMove { to { top:100%; } }

.result-pane { padding-bottom:0; }
.result-status { height:60px; display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:0 20px; border-bottom:1px solid rgba(255,255,255,.09); }
.result-status i { width:9px; height:9px; border-radius:50%; background:var(--warm-2); box-shadow:0 0 0 6px rgba(216,137,88,.08); }
.result-status span { font-size:10px; font-weight:500; color:rgba(255,255,255,.82); }
.result-status b { font:6px var(--mono); font-weight:400; color:var(--warm-2); border:1px solid rgba(216,137,88,.25); padding:6px 8px; }
.result-decision { padding:23px 20px 22px; border-bottom:1px solid rgba(255,255,255,.09); }
.result-decision small,.binding-card span,.certification-row span,.result-metrics span { font:6.5px var(--mono); text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,.3); }
.result-decision strong { display:block; margin:11px 0 9px; max-width:520px; font-size:19px; line-height:1.15; font-weight:500; letter-spacing:-.035em; color:rgba(255,255,255,.92); }
.result-decision p { margin:0; max-width:550px; font-size:10px; line-height:1.5; color:rgba(255,255,255,.43); }
.result-metrics { display:grid; grid-template-columns:repeat(2,1fr); border-bottom:1px solid rgba(255,255,255,.09); }
.result-metrics div { min-height:66px; padding:14px 18px; display:grid; align-content:center; border-right:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.result-metrics div:nth-child(even) { border-right:0; }
.result-metrics div:nth-child(n+3) { border-bottom:0; }
.result-metrics strong { display:block; margin-top:6px; font-size:9px; font-weight:450; color:rgba(255,255,255,.74); }
.binding-card { margin:18px 20px; padding:16px; border:1px solid rgba(216,137,88,.24); background:rgba(184,101,56,.055); }
.binding-card span { color:var(--warm-2); }
.binding-card strong { display:block; margin-top:8px; font-size:12px; font-weight:500; color:rgba(255,255,255,.86); }
.binding-card p { margin:7px 0 0; font-size:9px; line-height:1.45; color:rgba(255,255,255,.42); }
.certification-row { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.09); }
.certification-row div { min-height:64px; padding:13px 16px; border-right:1px solid rgba(255,255,255,.08); display:grid; align-content:center; }
.certification-row div:last-child { border-right:0; }
.certification-row strong { display:block; margin-top:5px; font-size:8px; font-weight:450; color:rgba(255,255,255,.67); }

.encode-ribbon { min-height:68px; border-top:1px solid rgba(255,255,255,.11); display:grid; grid-template-columns:auto auto 1.3fr auto .7fr auto 1fr; align-items:center; gap:15px; padding:0 22px; background:rgba(18,19,17,.35); }
.encode-dot { width:8px; height:8px; border-radius:50%; background:var(--warm-2); box-shadow:0 0 0 5px rgba(216,137,88,.07); }
.encode-ribbon strong { font:7px var(--mono); color:var(--warm-2); letter-spacing:.1em; }
.encode-ribbon span,.encode-ribbon b { font-size:9px; font-weight:450; color:rgba(255,255,255,.55); }
.encode-ribbon b { color:rgba(255,255,255,.82); }
.encode-ribbon i { color:rgba(255,255,255,.23); font-style:normal; }

@media (max-width: 1120px) {
  .lifecycle-steps { grid-template-columns:repeat(4,1fr); row-gap:22px; }
  .lifecycle-steps::before { display:none; }
  .lifecycle-steps > div { border-top:1px solid rgba(255,255,255,.12); padding-top:28px; min-height:100px; }
  .lifecycle-steps > div::before { top:-6px; }
  .plane-module-grid { grid-template-columns:repeat(2,1fr); }
  .plane-module-grid article:nth-child(2) { border-right:0; }
  .plane-module-grid article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.09); }
  .plane-contract { grid-template-columns:1fr 1fr; }
  .plane-contract span,.plane-contract b { min-height:58px; border-bottom:1px solid rgba(255,255,255,.08); }
  .inside-decision-grid { grid-template-columns:1fr; }
  .context-pane { border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .result-pane { border-left:0; }
  .resolve-spine { min-height:62px; flex-direction:row; }
  .resolve-spine span { writing-mode:horizontal-tb; transform:none; }
  .resolve-spine i { height:1px; width:64px; background:linear-gradient(90deg,transparent,var(--warm-2),transparent); }
  .resolve-spine i::after { top:-2px; left:-4px; animation:spineMoveX 2.7s linear infinite; }
  @keyframes spineMoveX { to { left:100%; } }
}
@media (max-width:760px) {
  .decision-lifecycle { margin-top:68px; }
  .lifecycle-steps { grid-template-columns:repeat(2,1fr); }
  .platform-widget { margin-top:52px; }
  .platform-widget-head { align-items:flex-start; min-height:88px; }
  .platform-widget-head > div:first-child { display:grid; gap:6px; }
  .platform-widget-head strong { font-size:13px; }
  .decision-id { display:none; }
  .overview-stage { padding:18px 14px 24px; }
  .source-row,.output-row { grid-template-columns:repeat(3,1fr); }
  .decision-plane-module { margin:18px 0 0; }
  .plane-module-grid { grid-template-columns:1fr; }
  .plane-module-grid article,.plane-module-grid article:nth-child(2) { border-right:0; border-bottom:1px solid rgba(255,255,255,.09); min-height:126px; }
  .plane-module-grid article:last-child { border-bottom:0; }
  .plane-contract { grid-template-columns:1fr; }
  .plane-contract span,.plane-contract b { border-right:0; }
  .widget-caption { grid-template-columns:1fr; gap:10px; }
  .platform-widget-inside { margin-top:80px; }
  .graph-stage { height:420px; }
  .graph-node { min-width:94px; padding:8px; }
  .graph-node.n1 { left:18%; }.graph-node.n2 { left:15%; }.graph-node.n3 { left:19%; }.graph-node.n5 { left:82%; }.graph-node.n6 { left:85%; }.graph-node.n7 { left:81%; }
  .result-metrics { grid-template-columns:1fr; }
  .result-metrics div,.result-metrics div:nth-child(even),.result-metrics div:nth-child(n+3) { border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }
  .certification-row { grid-template-columns:1fr; }
  .certification-row div { border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }
  .encode-ribbon { grid-template-columns:auto auto 1fr; padding:14px 16px; row-gap:8px; }
  .encode-ribbon i { display:none; }
  .encode-ribbon b,.encode-ribbon span:last-child { grid-column:3; }
}

@media (prefers-reduced-motion: reduce) {
  .platform-widget::after,.plane-scan,.widget-live i,.resolve-spine i::after { animation:none !important; }
}

/* v6 · Readability pass + Research */

/* Secondary copy should read comfortably at normal desktop distance. */
.intro-copy,
.mission-close,
.solutions-head > p,
.role-summary,
.research-intro,
.moat-intro > p,
.cta-inner > p,
.footer-main a,
.footer-thesis {
  font-size: 17px;
  line-height: 1.62;
}

.workflow-step p,
.door-grid p,
.panel-columns p,
.value-column li,
.models-intro > p:last-child,
.model-card p,
.tool-card p,
.role-pattern p,
.widget-caption p,
.plane-module-grid article p,
.result-decision p,
.binding-card p {
  font-size: 14px;
  line-height: 1.6;
}

.role-button strong { font-size: 14px; }
.decision-state-row strong { font-size: 13px; }
.result-status span { font-size: 13px; }
.result-metrics strong { font-size: 12px; }
.binding-card strong { font-size: 14px; }
.certification-row strong { font-size: 11px; }
.graph-node strong { font-size: 11px; }
.graph-node.central strong { font-size: 15px; }
.context-footer strong { font-size: 10px; }
.plane-footer strong { font-size: 14px; }
.plane-callout strong { font-size: 16px; }
.plane-module-grid article strong { font-size: 20px; }

/* Keep system labels compact but no longer microscopic. */
.section-kicker,
.mini-kicker,
.hero-topline,
.workflow-label,
.step-index,
.plane-topline,
.input-rail,
.door-grid article > span,
.panel-label,
.role-index,
.role-view,
.role-pattern span,
.models-intro .mini-kicker,
.model-card span,
.tool-card span,
.widget-eyebrow,
.widget-caption span,
.pane-label,
.decision-id,
.result-decision small,
.binding-card span,
.certification-row span,
.result-metrics span,
.context-footer span,
.resolve-spine span,
.encode-ribbon strong,
.research-meta,
.research-tag,
.research-recent-head,
.research-thesis > div > span {
  font-size: 9px;
}

.solution-domain span,
.solution-domain small,
.role-rail-label span,
.role-rail-label small,
.role-button span,
.decision-state-row small,
.graph-node small,
.result-status b {
  font-size: 8px;
}

/* Research */
.research {
  padding: 140px 0 155px;
  background: #0b0e0d;
  border-top: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
  position: relative;
}
.research::before {
  content: "";
  position: absolute;
  width: 820px;
  height: 820px;
  right: -360px;
  top: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184,101,56,.085), rgba(184,101,56,0) 67%);
  pointer-events: none;
}
.research-head {
  display: grid;
  grid-template-columns: minmax(170px,.45fr) minmax(0,1.55fr);
  gap: 5vw;
  align-items: start;
}
.research-head .display {
  max-width: 1180px;
}
.research-intro {
  margin: 34px 0 0;
  max-width: 710px;
  color: rgba(255,255,255,.62);
}
.research-categories {
  margin-top: 86px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.018);
}
.research-categories > span {
  min-height: 155px;
  padding: 25px 24px;
  border-right: 1px solid rgba(255,255,255,.1);
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 14px;
  align-content: start;
}
.research-categories > span:last-child { border-right: 0; }
.research-categories b {
  grid-row: 1 / 3;
  color: var(--warm-2);
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}
.research-categories strong {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -.025em;
}
.research-categories small {
  align-self: end;
  margin-top: 34px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255,255,255,.48);
}
.research-feature {
  margin-top: 88px;
  min-height: 600px;
  border: 1px solid rgba(255,255,255,.13);
  display: grid;
  grid-template-columns: .93fr 1.07fr;
  background: #20221f;
  overflow: hidden;
  transition: border-color .25s ease, transform .25s ease;
}
.research-feature:hover {
  border-color: rgba(216,137,88,.42);
  transform: translateY(-2px);
}
.research-feature-copy {
  padding: 48px 48px 44px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.research-meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255,255,255,.44);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: var(--mono);
}
.research-meta span:first-child { color: var(--warm-2); }
.research-feature h3 {
  margin: auto 0 26px;
  max-width: 720px;
  font-family: var(--serif);
  font-size: clamp(48px,4.5vw,82px);
  line-height: .99;
  letter-spacing: -.045em;
  font-weight: 400;
  color: #f4f1e9;
}
.research-feature-copy > p {
  margin: 0;
  max-width: 620px;
  font-size: 17px;
  line-height: 1.62;
  color: rgba(255,255,255,.58);
}
.research-read {
  margin-top: 42px;
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 22px;
  font-size: 13px;
  color: rgba(255,255,255,.8);
}
.research-read i { font-style: normal; color: var(--warm-2); }
.research-feature-visual {
  position: relative;
  min-height: 600px;
  overflow: hidden;
  border-left: 1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 51% 49%, rgba(216,137,88,.18), transparent 17%),
    radial-gradient(circle at 70% 30%, rgba(93,108,102,.14), transparent 30%),
    #161916;
}
.rf-grid {
  position: absolute;
  inset: 0;
  opacity: .24;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 62px 62px;
  mask-image: radial-gradient(circle at center, black 10%, transparent 76%);
}
.rf-core {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 150px;
  height: 150px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  background: #22231f;
  border: 1px solid rgba(216,137,88,.38);
  box-shadow: 0 0 0 20px rgba(216,137,88,.025), 0 0 80px rgba(216,137,88,.12);
  z-index: 3;
}
.rf-core span {
  font-family: var(--serif);
  font-size: 48px;
  color: #f2eee5;
}
.rf-core small {
  font: 8px var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.42);
}
.rf-orbit {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  border: 1px solid rgba(216,137,88,.24);
  border-radius: 50%;
}
.rfo-1 { width: 260px; height: 260px; }
.rfo-2 { width: 390px; height: 390px; border-style: dashed; animation: spin 28s linear infinite; }
.rfo-3 { width: 535px; height: 535px; opacity: .38; animation: spinBack 38s linear infinite; }
.rf-node {
  position: absolute;
  border: 1px solid rgba(255,255,255,.14);
  padding: 11px 14px;
  background: rgba(24,26,23,.84);
  font: 9px var(--mono);
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(255,255,255,.65);
  z-index: 2;
}
.rfn-a { left: 13%; top: 22%; }
.rfn-b { right: 10%; top: 29%; }
.rfn-c { left: 20%; bottom: 18%; }
.research-recent { margin-top: 100px; }
.research-recent-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(255,255,255,.13);
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.42);
}
.research-recent-head a { color: rgba(255,255,255,.72); }
.research-recent-head a:hover { color: #fff; }
.research-list {
  display: grid;
  grid-template-columns: repeat(3,1fr);
}
.research-list > a {
  position: relative;
  min-height: 300px;
  padding: 30px 32px 34px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  border-right: 1px solid rgba(255,255,255,.1);
  transition: background .22s ease, padding-left .22s ease;
}
.research-list > a:nth-child(3n+2),
.research-list > a:nth-child(3n+3) { padding-left: 32px; }
.research-list > a:nth-child(3n) { border-right: 0; }
.research-list > a:hover { background: rgba(255,255,255,.025); }
.research-tag {
  display: block;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--warm-2);
}
.research-list h4 {
  margin: 55px 0 15px;
  max-width: 430px;
  font-size: 27px;
  line-height: 1.08;
  letter-spacing: -.04em;
  font-weight: 500;
  color: rgba(255,255,255,.94);
}
.research-list p {
  margin: 0;
  max-width: 430px;
  font-size: 14px;
  line-height: 1.62;
  color: rgba(255,255,255,.5);
}
.research-list > a > i {
  position: absolute;
  right: 28px;
  bottom: 27px;
  font-style: normal;
  color: rgba(255,255,255,.35);
  transition: color .2s ease, transform .2s ease;
}
.research-list > a:hover > i { color: var(--warm-2); transform: translate(2px,-2px); }
.research-thesis {
  margin-top: 110px;
  padding-top: 38px;
  border-top: 1px solid rgba(255,255,255,.14);
  display: grid;
  grid-template-columns: 1.1fr .8fr auto;
  gap: 58px;
  align-items: end;
}
.research-thesis > div > span {
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--warm-2);
}
.research-thesis h3 {
  margin: 24px 0 0;
  max-width: 690px;
  font-family: var(--serif);
  font-size: clamp(42px,3.7vw,68px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.04em;
}
.research-thesis > p {
  margin: 0;
  max-width: 520px;
  font-size: 16px;
  line-height: 1.62;
  color: rgba(255,255,255,.54);
}
.research-thesis > a {
  white-space: nowrap;
  font-size: 13px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(255,255,255,.35);
}

@media (max-width: 1120px) {
  .research-categories { grid-template-columns: repeat(2,1fr); }
  .research-categories > span:nth-child(2) { border-right: 0; }
  .research-categories > span:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
  .research-feature { grid-template-columns: 1fr; }
  .research-feature-visual { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); min-height: 500px; }
  .research-list { grid-template-columns: repeat(2,1fr); }
  .research-list > a,
  .research-list > a:nth-child(3n+2),
  .research-list > a:nth-child(3n+3) { padding-left: 28px; border-right: 1px solid rgba(255,255,255,.1); }
  .research-list > a:nth-child(odd) { padding-left: 0; }
  .research-list > a:nth-child(even) { border-right: 0; }
  .research-thesis { grid-template-columns: 1fr 1fr; }
  .research-thesis > a { grid-column: 2; justify-self: start; }
}

@media (max-width: 760px) {
  .research { padding: 95px 0 110px; }
  .research-head { grid-template-columns: 1fr; gap: 32px; }
  .research-intro { font-size: 16px; }
  .research-categories { margin-top: 58px; grid-template-columns: 1fr; }
  .research-categories > span,
  .research-categories > span:nth-child(2) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); min-height: 125px; }
  .research-categories > span:last-child { border-bottom: 0; }
  .research-feature { margin-top: 58px; min-height: 0; }
  .research-feature-copy { padding: 30px 22px 32px; min-height: 510px; }
  .research-meta { display: grid; gap: 7px; }
  .research-feature h3 { font-size: clamp(46px,12.5vw,66px); }
  .research-feature-copy > p { font-size: 16px; }
  .research-feature-visual { min-height: 420px; }
  .rfo-3 { width: 430px; height: 430px; }
  .rfn-a { left: 5%; }.rfn-b { right: 5%; }.rfn-c { left: 8%; }
  .research-recent { margin-top: 72px; }
  .research-list { grid-template-columns: 1fr; }
  .research-list > a,
  .research-list > a:nth-child(3n+2),
  .research-list > a:nth-child(3n+3),
  .research-list > a:nth-child(odd) {
    min-height: 245px;
    padding: 27px 20px 30px 0;
    border-right: 0;
  }
  .research-list h4 { margin-top: 38px; font-size: 25px; }
  .research-list p { font-size: 14px; }
  .research-thesis { margin-top: 76px; grid-template-columns: 1fr; gap: 34px; }
  .research-thesis > a { grid-column: auto; }

  /* Mobile readability */
  .intro-copy,
  .mission-close,
  .solutions-head > p,
  .role-summary,
  .moat-intro > p,
  .cta-inner > p { font-size: 16px; }
  .value-column li,
  .model-card p,
  .tool-card p,
  .role-pattern p,
  .widget-caption p,
  .plane-module-grid article p { font-size: 14px; }
}

/* v6 · Dedicated research page */
.research-page-hero {
  min-height: 74svh;
  display: flex;
  align-items: flex-end;
  background:
    radial-gradient(circle at 82% 20%, rgba(184,101,56,.11), transparent 33%),
    #090c0b;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.research-page-hero-inner {
  padding: calc(var(--header-h) + 88px) 0 88px;
  display: grid;
  grid-template-columns: minmax(170px,.45fr) minmax(0,1.55fr);
  gap: 5vw;
  align-items: start;
}
.research-page-hero h1 {
  margin: 0;
  max-width: 1320px;
  font-family: var(--serif);
  font-size: clamp(66px,7.3vw,132px);
  line-height: .91;
  letter-spacing: -.055em;
  font-weight: 400;
  color: #f4f1e9;
}
.research-page-hero div > p {
  max-width: 720px;
  margin: 42px 0 0;
  font-size: 19px;
  line-height: 1.62;
  color: rgba(255,255,255,.62);
}
.research-page-link { margin-top: 32px; font-size: 13px; }
.research-page-main { padding-top: 90px; }
.research-page-main .research-categories { margin-top: 0; }
.research-editorial {
  margin-top: 110px;
  padding: 52px 0 18px;
  border-top: 1px solid rgba(255,255,255,.14);
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 70px;
  align-items: end;
}
.research-editorial blockquote {
  margin: 0;
  max-width: 980px;
  font-family: var(--serif);
  font-size: clamp(46px,4vw,74px);
  line-height: 1;
  letter-spacing: -.04em;
  font-weight: 400;
  color: #f4f1e9;
}
.research-editorial > div > p {
  margin: 0 0 35px;
  max-width: 520px;
  font-size: 16px;
  line-height: 1.62;
  color: rgba(255,255,255,.54);
}
.research-editorial > div > span {
  font: 10px/1.6 var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--warm-2);
}
.research-editorial small { color: rgba(255,255,255,.38); }
.research-principles {
  margin-top: 86px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.research-principles > div {
  min-height: 210px;
  padding: 30px 26px;
  border-right: 1px solid rgba(255,255,255,.1);
}
.research-principles > div:last-child { border-right: 0; }
.research-principles span { color: var(--warm-2); font-size: 18px; }
.research-principles strong {
  display: block;
  margin-top: 58px;
  font-size: 17px;
  font-weight: 500;
  color: rgba(255,255,255,.9);
}
.research-principles p {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.48);
}

@media (max-width: 1120px) {
  .research-page-hero-inner { grid-template-columns: 1fr; gap: 30px; }
  .research-editorial { grid-template-columns: 1fr; }
  .research-principles { grid-template-columns: repeat(2,1fr); }
  .research-principles > div:nth-child(2) { border-right: 0; }
  .research-principles > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
}
@media (max-width: 760px) {
  .research-page-hero { min-height: 72svh; }
  .research-page-hero-inner { padding: calc(var(--header-h) + 70px) 0 62px; }
  .research-page-hero h1 { font-size: clamp(58px,15vw,82px); }
  .research-page-hero div > p { margin-top: 30px; font-size: 17px; }
  .research-page-main { padding-top: 62px; }
  .research-editorial { margin-top: 78px; gap: 40px; }
  .research-editorial blockquote { font-size: clamp(42px,11.5vw,60px); }
  .research-principles { grid-template-columns: 1fr; }
  .research-principles > div,
  .research-principles > div:nth-child(2) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); min-height: 175px; }
  .research-principles > div:last-child { border-bottom: 0; }
  .research-principles strong { margin-top: 38px; }
}

/* v7 · Widget micro-type readability pass
   The diagrams are product communication, not decorative schematics.
   No essential widget label should require zooming to read. */

/* Platform widget chrome */
.widget-eyebrow,
.widget-live,
.overview-source-label,
.overview-output-label,
.decision-id,
.pane-label {
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: .07em;
}

.widget-live,
.overview-source-label,
.overview-output-label,
.decision-id,
.pane-label {
  color: rgba(255,255,255,.64);
}

.widget-eyebrow,
.pane-label span {
  color: var(--warm-2);
}

/* The exact labels shown in the user's screenshot */
.source-row span,
.output-row span {
  min-height: 58px;
  padding: 10px 12px;
  font: 11px/1.25 var(--mono);
  color: rgba(255,255,255,.72);
  letter-spacing: .045em;
}
.source-row span:nth-child(6),
.output-row span:nth-child(-n+3) {
  color: rgba(255,255,255,.9);
}

/* Decision-plane module */
.plane-brand span {
  font: 10px/1.35 var(--mono);
  color: rgba(255,255,255,.6);
}
.plane-module-grid article > span {
  font: 11px/1.25 var(--mono);
}
.plane-module-grid article p {
  font-size: 14px;
  color: rgba(255,255,255,.62);
}
.plane-contract span {
  font: 10.5px/1.35 var(--mono);
  color: rgba(255,255,255,.6);
  letter-spacing: .045em;
}
.plane-contract b {
  font-size: 12px;
  line-height: 1.45;
}
.widget-caption span {
  font: 10.5px/1.3 var(--mono);
}
.widget-caption p {
  color: rgba(255,255,255,.65);
}

/* Inside-one-decision widget */
.graph-node small,
.result-decision small,
.binding-card span,
.certification-row span,
.result-metrics span,
.context-footer span,
.resolve-spine span {
  font-size: 10px;
  line-height: 1.3;
  color: rgba(255,255,255,.56);
}
.graph-node small,
.result-decision small,
.binding-card span,
.certification-row span,
.result-metrics span,
.context-footer span {
  letter-spacing: .045em;
}
.graph-node strong {
  font-size: 13px;
  color: rgba(255,255,255,.84);
}
.graph-node.central strong { font-size: 16px; }
.context-footer strong {
  font: 11px/1.35 var(--mono);
  color: rgba(255,255,255,.78);
}
.result-status b {
  font: 10px/1.25 var(--mono);
  padding: 7px 9px;
}
.result-status span { font-size: 14px; }
.result-decision p,
.binding-card p {
  color: rgba(255,255,255,.62);
}
.result-metrics strong { font-size: 13px; }
.certification-row strong { font-size: 12px; }
.encode-ribbon strong {
  font: 10px/1.3 var(--mono);
}
.encode-ribbon span,
.encode-ribbon b {
  font-size: 11px;
  line-height: 1.35;
}

/* Older decision-plane visual system labels, retained elsewhere on the page */
.workflow-label,
.plane-topline,
.input-rail,
.plane-callout > span,
.plane-callout small,
.plane-footer span,
.door-grid article > span,
.panel-label {
  font-size: 10.5px;
  line-height: 1.3;
}
.input-rail { color: rgba(255,255,255,.68); }
.input-rail span { padding: 9px 11px; }
.plane-topline { color: rgba(255,255,255,.62); }
.plane-callout small,
.plane-footer span { color: rgba(255,255,255,.58); }

/* Value-by-seat UI labels should also be legible without zooming. */
.solution-domain span,
.solution-domain small,
.role-rail-label span,
.role-rail-label small,
.role-button span,
.decision-state-row small,
.role-index,
.role-view,
.role-pattern span,
.model-card span,
.tool-card span {
  font-size: 10.5px;
  line-height: 1.3;
}

@media (max-width: 760px) {
  .overview-source-label,
  .overview-output-label,
  .widget-eyebrow,
  .widget-live,
  .pane-label { font-size: 10.5px; }

  .source-row span,
  .output-row span {
    min-height: 54px;
    font-size: 10.5px;
    padding: 9px 8px;
  }

  .plane-module-grid article > span,
  .plane-contract span,
  .graph-node small,
  .result-decision small,
  .binding-card span,
  .certification-row span,
  .result-metrics span {
    font-size: 10px;
  }
}

/* v8 · Global legibility audit
   Product text is interface, not ornament. These rules deliberately override
   earlier micro-type values throughout the site so nothing meaningful depends
   on 7–10px text or low-contrast gray. */

/* Global utility / editorial labels */
.section-kicker,
.mini-kicker,
.hero-topline,
.lifecycle-label,
.workflow-label,
.step-index,
.panel-index,
.panel-label,
.plane-topline,
.input-rail,
.door-grid article > span,
.cap-count,
.role-index,
.role-view,
.role-pattern span,
.model-card > span,
.tool-card > span,
.widget-eyebrow,
.widget-live,
.widget-caption > span,
.overview-source-label,
.overview-output-label,
.decision-id,
.pane-label,
.research-meta,
.research-tag,
.research-recent-head,
.research-thesis > div > span,
.research-editorial > div > span {
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .075em;
}

/* Hero annotations were particularly undersized. */
.hero-topline {
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: .105em;
  color: rgba(255,255,255,.82);
}
.hero-kicker { gap: 11px; }
.hero-kicker i { width: 8px; height: 8px; box-shadow: 0 0 0 7px rgba(216,137,88,.13); }
.hero-proof { color: rgba(255,255,255,.88); }
.hero-foot {
  font-size: 11px;
  line-height: 1.4;
  color: rgba(255,255,255,.68);
  letter-spacing: .075em;
}
.hero-foot span:not(.hero-foot-spacer):nth-child(-n+4)::before { width:5px; height:5px; }
.button { font-size: 14px; padding: 14px 20px; }
.text-link { font-size: 14px; }

/* Platform decision lifecycle */
.lifecycle-label {
  padding-bottom: 18px;
  color: rgba(255,255,255,.68);
}
.lifecycle-steps > div { min-height: 132px; padding-top: 40px; }
.lifecycle-steps span {
  font: 11px/1.35 var(--mono);
  color: rgba(255,255,255,.58);
  margin-bottom: 10px;
}
.lifecycle-steps strong {
  font-size: 18px;
  line-height: 1.25;
}
.lifecycle-steps small {
  margin-top: 7px;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(255,255,255,.58);
}

/* Platform widgets */
.source-row span,
.output-row span {
  min-height: 64px;
  padding: 13px 15px;
  font: 13px/1.3 var(--mono);
  color: rgba(255,255,255,.82);
}
.plane-brand span,
.plane-module-grid article > span,
.plane-contract span,
.widget-caption span,
.graph-node small,
.result-decision small,
.binding-card span,
.certification-row span,
.result-metrics span,
.context-footer span,
.resolve-spine span,
.encode-ribbon strong,
.encode-ribbon span,
.encode-ribbon b,
.result-status b {
  font-size: 12px;
  line-height: 1.4;
}
.plane-brand span,
.plane-contract span,
.widget-caption span,
.graph-node small,
.result-decision small,
.binding-card span,
.certification-row span,
.result-metrics span,
.context-footer span,
.resolve-spine span {
  color: rgba(255,255,255,.67);
}
.plane-module-grid article strong { font-size: 21px; }
.plane-module-grid article p { font-size: 15px; line-height: 1.62; color: rgba(255,255,255,.68); }
.plane-contract b { font-size: 13px; line-height:1.45; }
.widget-caption p { font-size: 15px; line-height: 1.62; color: rgba(255,255,255,.69); }
.graph-node strong { font-size: 14px; color: rgba(255,255,255,.9); }
.graph-node.central strong { font-size: 17px; }
.context-footer strong { font-size: 13px; }
.result-status span { font-size: 15px; }
.result-decision strong { font-size: 21px; }
.result-decision p { font-size: 14px; line-height:1.6; color:rgba(255,255,255,.66); }
.result-metrics strong { font-size: 14px; }
.binding-card strong { font-size: 15px; }
.binding-card p { font-size: 13px; line-height:1.55; color:rgba(255,255,255,.64); }
.certification-row strong { font-size: 13px; }

/* The traceability diagram in the supplied screenshot */
.trace-visual {
  gap: 28px;
  padding: 56px 46px;
  min-height: 250px;
}
.trace-visual span {
  padding: 17px 22px;
  font: 14px/1.2 var(--mono);
  letter-spacing: .035em;
  color: rgba(255,255,255,.93);
  border-color: rgba(255,255,255,.24);
}
.trace-visual i { width: 52px; }

/* Capability tabs and descriptive labels */
.cap-tab { font-size: 15px; line-height:1.3; padding: 19px 0; }
.cap-tab span { font: 11px/1.3 var(--mono); }
.panel-index { font: 12px/1.3 var(--mono); }
.panel-columns span { font: 12px/1.35 var(--mono); color:#666a62; }
.panel-columns p { font-size: 15px; line-height:1.65; }
.cert-row { font-size:14px; }
.cert-row strong { font: 11px/1.3 var(--mono); }
.gv-node { font-size: 12px; }
.formula-line span { font-size: 12px; }
.formula-line strong { font-size: 15px; }
.ov-label { font-size: 12px; }
.memory-mini { font-size: 12px; }
.memory-center-small { font-size: 14px; }

/* Value-by-seat and decisions */
.solution-domain span,
.solution-domain small,
.role-rail-label span,
.role-rail-label small,
.role-button span,
.decision-state-row small,
.role-pattern span,
.model-card span,
.tool-card span {
  font-size: 12px;
  line-height: 1.35;
}
.role-button strong { font-size: 15px; }
.role-summary { font-size: 17px; }
.role-pattern p { font-size: 14px; }
.value-column li { font-size: 14px; line-height:1.55; }
.decision-state-row strong { font-size: 14px; }
.models-intro > p:last-child { font-size: 14px; }
.model-card p,.tool-card p { font-size: 14px; color:rgba(255,255,255,.6); }

/* Earlier workflow / decision visuals */
.workflow-step p { font-size:14px; }
.plane-callout > span,
.plane-callout small,
.plane-footer span,
.allocation-label,
.allocation-result small,
.allocation-result span,
.allocation-core {
  font-size: 12px;
  line-height:1.35;
}
.plane-footer strong { font-size:15px; }
.allocation-result strong { font-size:14px; }

/* Moats / research / footer metadata */
.moat-number { font: 12px/1.35 var(--mono); }
.footer-links span { font: 11px/1.35 var(--mono); color:rgba(255,255,255,.48); }
.footer-links a { font-size: 14px; }
.footer-bottom { font: 11px/1.4 var(--mono); color:rgba(255,255,255,.52); }
.rf-core small,
.rf-node { font-size: 11px; line-height:1.35; }
.research-read,
.research-page-link,
.research-thesis > a { font-size:14px; }

/* Never shrink meaningful UI back into micro-type on phones. */
@media (max-width: 760px) {
  .hero-topline { font-size: 12px; }
  .hero-proof { display:none; }
  .hero-foot { font-size: 10.5px; }
  .section-kicker,.mini-kicker,.lifecycle-label,.widget-eyebrow,.widget-live,.pane-label,
  .overview-source-label,.overview-output-label,.panel-label,.role-index,.role-view,
  .research-meta,.research-tag,.research-recent-head { font-size: 11px; }
  .lifecycle-steps span { font-size:10.5px; }
  .lifecycle-steps strong { font-size:17px; }
  .lifecycle-steps small { font-size:12px; }
  .source-row span,.output-row span { font-size:12px; min-height:58px; }
  .trace-visual { min-height:220px; gap:14px; padding:42px 24px; }
  .trace-visual span { font-size:12px; padding:14px 16px; }
  .trace-visual i { width:32px; flex:0 0 32px; }
  .cap-tab { font-size:14px; }
  .panel-columns span { font-size:11px; }
  .panel-columns p { font-size:14px; }
  .footer-bottom { font-size:10px; }
}

/* v9 · viewport rhythm + simplified Inside the Decision Plane */
html {
  scroll-padding-top: var(--header-h);
}

main > section {
  scroll-margin-top: var(--header-h);
}

@media (min-width: 900px) and (min-height: 700px) {
  html { scroll-snap-type: y proximity; }
  main > section,
  .platform-widget,
  .front-doors { scroll-snap-align: start; scroll-snap-stop: normal; }

  .hero,
  .mission,
  .inside,
  .moats,
  .scenic-cta { min-height: 100svh; }

  .mission-layout {
    min-height: 100svh;
    padding-top: calc(var(--header-h) + clamp(38px, 5vh, 72px));
    padding-bottom: clamp(38px, 5vh, 72px);
    align-items: center;
  }

  .platform { padding-top: clamp(88px, 10vh, 125px); padding-bottom: clamp(88px, 10vh, 125px); }
  .platform .section-intro { min-height: 34svh; align-content: center; }
  .decision-lifecycle { margin-top: clamp(45px, 6vh, 78px); margin-bottom: clamp(70px, 9vh, 115px); }
  .platform-widget { min-height: calc(100svh - var(--header-h) - 42px); display: grid; align-content: center; }
  .platform-widget-overview { margin-top: 0; }
  .platform-widget-inside { margin-top: clamp(70px, 9vh, 118px); }
  .front-doors { min-height: 62svh; display:grid; align-content:center; margin-top: clamp(70px, 9vh, 110px); }

  .solutions,
  .research { min-height: 100svh; padding-top: calc(var(--header-h) + clamp(34px, 5vh, 62px)); padding-bottom: clamp(42px, 6vh, 75px); }
  .moats { padding-top: calc(var(--header-h) + clamp(34px, 5vh, 62px)); padding-bottom: clamp(42px, 6vh, 75px); display:grid; align-items:center; }

  .scenic-cta { min-height: 100svh; }
}

/* Keep section entrances deliberate without trapping touch/mobile scrolling. */
@media (max-width: 899px), (max-height: 699px) {
  html { scroll-snap-type: none; }
}

/* Inside the decision plane: one viewport, one idea at a time. */
.inside {
  position: relative;
  overflow: hidden;
  padding: 0;
  color: var(--white);
  background:
    linear-gradient(180deg, #c8906c 0 24%, #292a27 24% 100%);
}

.inside-viewport {
  min-height: 100svh;
  padding-top: calc(var(--header-h) + clamp(24px, 4vh, 48px));
  padding-bottom: clamp(28px, 4vh, 48px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: center;
}

.inside-titlebar {
  min-height: clamp(92px, 14vh, 150px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  color: #171816;
  padding: 0 clamp(8px, 1.2vw, 18px) clamp(22px, 3vh, 38px);
}

.inside-titlebar h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(42px, 4.4vw, 72px);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.045em;
}

.inside-mark {
  width: 50px;
  height: 50px;
  overflow: hidden;
  border-radius: 4px;
  background: transparent;
  margin-top: 2px;
  flex: 0 0 auto;
}
.inside-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.inside-control-shell {
  min-height: 0;
  height: min(690px, calc(100svh - var(--header-h) - 185px));
  display: grid;
  grid-template-columns: minmax(250px, 26%) minmax(0, 1fr);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 22px;
  overflow: hidden;
  background: #111815;
  box-shadow: 0 28px 85px rgba(0,0,0,.22);
}

.inside-capabilities {
  min-width: 0;
  border-right: 1px solid rgba(255,255,255,.14);
  background: #0d1412;
  display: grid;
  grid-template-rows: auto 1fr;
}

.inside-cap-head {
  min-height: 84px;
  padding: 0 28px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font: 500 12px/1.3 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #91aaa0;
}
.inside-cap-head strong { color: #d9a37d; font-weight:500; white-space:nowrap; }
.inside-cap-head b { color:#f0c5a5; font-weight:500; }

.inside .cap-tabs {
  position: static;
  top: auto;
  display: grid;
  grid-template-columns: 1fr;
  align-content: stretch;
  height: 100%;
  background: transparent;
}

.inside .cap-tab {
  position: relative;
  min-height: 72px;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  align-items: center;
  gap: 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.055);
  background: transparent;
  color: #789189;
  text-align: left;
  cursor: pointer;
  transition: color .25s ease, background .25s ease;
}
.inside .cap-tab:last-child { border-bottom: 0; }
.inside .cap-tab::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:#df9a6e;
  transform:scaleY(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.inside .cap-tab span {
  font: 500 12px/1.2 var(--mono);
  color: inherit;
}
.inside .cap-tab strong {
  font-size: 16px;
  line-height:1.2;
  font-weight: 480;
  letter-spacing: -.015em;
  color: inherit;
}
.inside .cap-tab:hover { color: #d9e1dd; background: rgba(255,255,255,.025); }
.inside .cap-tab.is-active {
  color: #f7f5ef;
  background: linear-gradient(90deg, rgba(216,137,88,.11), rgba(216,137,88,.025) 75%, transparent);
}
.inside .cap-tab.is-active::before { transform:scaleY(1); }

.inside-panels {
  min-width:0;
  min-height:0;
  height:100%;
  background:
    radial-gradient(circle at 82% 12%, rgba(216,137,88,.045), transparent 32%),
    #111815;
}

.inside .cap-panel {
  display:none;
  height:100%;
  padding: clamp(36px, 5vh, 60px) clamp(44px, 5vw, 86px) clamp(30px, 4vh, 54px);
  overflow:hidden;
  animation:insidePanelIn .35s ease both;
}
.inside .cap-panel.is-active { display:block; }
@keyframes insidePanelIn { from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }

.inside-eyebrow {
  margin:0 0 clamp(24px, 3vh, 36px);
  font:500 13px/1.3 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#d99a70;
}

.inside .cap-panel h3 {
  max-width: 900px;
  margin:0 0 clamp(34px, 4.5vh, 56px);
  font-size: clamp(36px, 3.6vw, 60px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:520;
  color:#f5f3ed;
}

.inside-detail-rows {
  border-top:1px solid rgba(255,255,255,.14);
}
.inside-detail-rows > div {
  display:grid;
  grid-template-columns: minmax(150px, 24%) minmax(0,1fr);
  column-gap: clamp(32px, 5vw, 74px);
  align-items:start;
  padding: clamp(21px, 2.6vh, 31px) 0;
  border-bottom:1px solid rgba(255,255,255,.105);
}
.inside-detail-rows span {
  padding-top:2px;
  font:500 12px/1.35 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#789189;
}
.inside-detail-rows p {
  max-width:850px;
  margin:0;
  font-size:clamp(16px, 1.35vw, 21px);
  line-height:1.55;
  letter-spacing:-.012em;
  color:rgba(245,243,237,.72);
}
.inside-detail-rows .inside-value span,
.inside-detail-rows .inside-value p { color:#e1a172; }
.inside-detail-rows .inside-value p { color:#e6aa7d; }

/* Make the rest of the site read as discrete screens on desktop. */
@media (min-width: 900px) and (min-height: 760px) {
  .solutions-head { margin-bottom: clamp(34px, 4vh, 56px); }
  .solution-domain-switch { margin-top: clamp(32px, 4vh, 55px); }
  .role-workspace { min-height: min(590px, 62vh); }
  .moat-intro { margin-bottom: clamp(36px, 4vh, 55px); }
  .research-head { margin-bottom: clamp(34px, 4vh, 50px); }
}

@media (max-width: 980px) {
  .inside { background:linear-gradient(180deg,#c8906c 0 18%,#292a27 18% 100%); }
  .inside-viewport { min-height:auto; padding-top:calc(var(--header-h) + 38px); padding-bottom:58px; }
  .inside-control-shell { height:auto; min-height:0; grid-template-columns:1fr; border-radius:18px; }
  .inside-capabilities { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .inside .cap-tabs { grid-template-columns: repeat(3,1fr); }
  .inside .cap-tab { min-height:66px; padding:12px 16px; grid-template-columns:30px 1fr; border-right:1px solid rgba(255,255,255,.055); }
  .inside .cap-panel { min-height:580px; padding:42px 34px; }
  .inside-detail-rows > div { grid-template-columns:135px 1fr; gap:28px; }
}

@media (max-width: 680px) {
  .inside { background:linear-gradient(180deg,#c8906c 0 13%,#292a27 13% 100%); }
  .inside-titlebar { min-height:100px; padding-bottom:26px; }
  .inside-titlebar h2 { font-size:clamp(40px,12vw,58px); }
  .inside-mark { width:40px;height:40px; }
  .inside-cap-head { min-height:68px; padding:0 18px; }
  .inside .cap-tabs { display:flex; overflow-x:auto; scrollbar-width:none; }
  .inside .cap-tabs::-webkit-scrollbar { display:none; }
  .inside .cap-tab { flex:0 0 160px; min-height:64px; padding:11px 14px; grid-template-columns:28px 1fr; }
  .inside .cap-tab strong { font-size:14px; }
  .inside .cap-panel { min-height:0; padding:34px 20px 38px; }
  .inside .cap-panel h3 { font-size:clamp(34px,10vw,48px); margin-bottom:30px; }
  .inside-detail-rows > div { grid-template-columns:1fr; gap:10px; padding:22px 0; }
  .inside-detail-rows p { font-size:16px; }
}

/* v11 · Solutions is one deliberate viewport on desktop */
@media (min-width: 900px) and (min-height: 720px) {
  .solutions {
    height: 100svh;
    min-height: 100svh;
    padding-top: calc(var(--header-h) + clamp(18px, 2.6vh, 30px));
    padding-bottom: clamp(20px, 2.8vh, 34px);
    overflow: hidden;
  }

  .solutions > .section-shell {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    align-content: stretch;
  }

  .solutions-head {
    min-height: 0;
    align-items: end;
    gap: clamp(36px, 5vw, 72px);
  }
  .solutions-head .display {
    margin-top: clamp(12px, 1.8vh, 22px);
    font-size: clamp(54px, 5.7vw, 92px);
    line-height: .9;
  }
  .solutions-head > p {
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.5;
    max-width: 500px;
    margin-bottom: 2px;
  }

  .solution-domain-switch {
    margin-top: clamp(14px, 2vh, 24px);
  }
  .solution-domain {
    min-height: clamp(58px, 7vh, 72px);
    padding: 11px 20px;
  }

  .solutions-workspace {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    grid-template-columns: clamp(220px, 15vw, 260px) minmax(0, 1fr);
  }

  .role-rail {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }
  .role-rail-label {
    min-height: clamp(48px, 5.5vh, 58px);
    padding: 0 18px;
  }
  .role-list {
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template-rows: repeat(8, minmax(0, 1fr));
  }
  .role-button {
    min-height: 0;
    height: 100%;
    padding: 0 16px;
    grid-template-columns: 30px 1fr;
  }
  .role-button:hover { padding-left: 19px; }

  .role-stage {
    min-height: 0;
    height: 100%;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto clamp(46px, 5.5vh, 56px) minmax(0, 1fr);
  }
  .role-stage-head {
    min-height: 0;
    padding: clamp(18px, 2.3vh, 28px) clamp(28px, 3vw, 42px) clamp(16px, 2.1vh, 25px);
    gap: clamp(28px, 3.5vw, 52px);
  }
  .role-index { margin-bottom: clamp(8px, 1vh, 12px); }
  .role-identity h3 {
    font-size: clamp(42px, 4.3vw, 72px);
    line-height: .9;
  }
  .role-summary {
    margin-top: clamp(10px, 1.2vh, 15px);
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.45;
  }
  .role-pattern { padding-left: 24px; }
  .role-pattern p {
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.42;
  }

  .role-view-switch {
    height: auto;
    min-height: 0;
    padding-left: clamp(28px, 3vw, 42px);
  }
  .role-view { padding: 0 18px; }

  .role-view-panel.is-active {
    min-height: 0;
    height: 100%;
    overflow: hidden;
  }

  .role-view-panel[data-role-view-panel="value"].is-active {
    display: grid;
    grid-template-rows: minmax(0, 1fr);
  }
  .value-columns {
    min-height: 0;
    height: 100%;
  }
  .value-column {
    min-height: 0;
    padding: clamp(15px, 2vh, 23px) clamp(20px, 2.2vw, 30px) clamp(14px, 1.8vh, 22px);
    overflow: hidden;
  }
  .value-column .mini-kicker { margin-bottom: clamp(10px, 1.3vh, 16px); }
  .value-column li {
    min-height: 0;
    padding: clamp(6px, .8vh, 9px) 0;
    font-size: clamp(13px, .92vw, 14px);
    line-height: 1.4;
  }
  .decision-state-row > div {
    min-height: clamp(62px, 7vh, 76px);
    padding: 10px 18px;
  }

  .role-view-panel[data-role-view-panel="models"].is-active,
  .role-view-panel[data-role-view-panel="tools"].is-active {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }
  .models-intro {
    padding: clamp(14px, 1.7vh, 21px) clamp(28px, 3vw, 42px);
    gap: 28px;
  }
  .models-intro > p:last-child {
    font-size: 13px;
    line-height: 1.45;
  }
  .model-grid,
  .tool-grid {
    min-height: 0;
    height: 100%;
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .model-card,
  .tool-card {
    min-height: 0;
    padding: clamp(14px, 1.8vh, 21px) clamp(20px, 2.2vw, 28px);
  }
  .model-card h4,
  .tool-card h4 {
    margin: clamp(9px, 1vh, 13px) 0 7px;
    font-size: clamp(18px, 1.5vw, 22px);
  }
  .model-card p,
  .tool-card p {
    font-size: 13px;
    line-height: 1.42;
  }
}

/* At shorter desktop heights, keep all content accessible rather than clipping it. */
@media (min-width: 900px) and (max-height: 719px) {
  .solutions { height: auto; min-height: 100svh; overflow: visible; }
}

/* v13 · Solutions viewport final fit
   Keep the whole role experience visible beneath the fixed navigation on
   common laptop/desktop viewports without shrinking readable type. */
@media (min-width: 900px) and (min-height: 720px) {
  .solutions {
    height: 100svh;
    min-height: 100svh;
    padding-top: calc(var(--header-h) + clamp(10px, 1.5vh, 18px));
    padding-bottom: clamp(10px, 1.5vh, 18px);
  }

  .solutions > .section-shell {
    grid-template-rows: auto auto minmax(0, 1fr);
  }

  .solutions-head {
    gap: clamp(28px, 4vw, 58px);
  }
  .solutions-head .display {
    margin-top: clamp(7px, 1vh, 12px);
    font-size: clamp(50px, 5vw, 80px);
    line-height: .88;
  }
  .solutions-head > p {
    font-size: clamp(14px, .95vw, 15.5px);
    line-height: 1.42;
    max-width: 470px;
  }

  .solution-domain-switch {
    margin-top: clamp(9px, 1.25vh, 14px);
  }
  .solution-domain {
    min-height: clamp(52px, 6vh, 60px);
    padding: 8px 18px;
  }

  .solutions-workspace {
    min-height: 0;
  }

  .role-rail-label {
    min-height: clamp(42px, 4.7vh, 50px);
  }
  .role-button {
    grid-template-columns: 28px 1fr;
    padding-inline: 14px;
  }

  .role-stage {
    grid-template-rows: auto clamp(42px, 4.8vh, 48px) minmax(0, 1fr);
  }
  .role-stage-head {
    padding: clamp(12px, 1.5vh, 18px) clamp(24px, 2.6vw, 36px) clamp(10px, 1.3vh, 16px);
    gap: clamp(22px, 2.8vw, 38px);
  }
  .role-index {
    margin-bottom: 6px;
  }
  .role-identity h3 {
    font-size: clamp(40px, 4vw, 64px);
    line-height: .9;
  }
  .role-summary {
    margin-top: 7px;
    line-height: 1.4;
  }
  .role-pattern {
    padding-left: 20px;
  }
  .role-pattern p {
    margin-top: 7px;
    line-height: 1.36;
  }

  .role-view-switch {
    padding-left: clamp(24px, 2.6vw, 36px);
  }
  .role-view {
    padding-inline: 16px;
  }

  .value-column {
    padding: clamp(10px, 1.2vh, 15px) clamp(18px, 2vw, 26px) clamp(9px, 1.1vh, 14px);
  }
  .value-column .mini-kicker {
    margin-bottom: clamp(7px, .9vh, 11px);
  }
  .value-column li {
    padding: clamp(4px, .55vh, 6px) 0;
    line-height: 1.34;
  }

  .models-intro {
    padding: clamp(10px, 1.2vh, 15px) clamp(24px, 2.6vw, 36px);
  }
  .model-card,
  .tool-card {
    padding: clamp(10px, 1.25vh, 16px) clamp(18px, 2vw, 24px);
  }
  .model-card h4,
  .tool-card h4 {
    margin: 7px 0 5px;
  }
}

/* Extra breathing-room insurance for the shorter MacBook-class viewport. */
@media (min-width: 900px) and (min-height: 720px) and (max-height: 860px) {
  .solutions-head .display { font-size: clamp(46px, 4.5vw, 68px); }
  .solutions-head > p { font-size: 14px; }
  .role-stage-head { grid-template-columns: 1.35fr .65fr; }
  .role-pattern p { font-size: 12.5px; }
  .value-column li { font-size: 13px; }
}

/* v14 · true viewport section boundaries
   The fixed-header anchor offset was also shifting CSS scroll-snap positions,
   which made the next section appear at the bottom of an otherwise 100svh screen.
   In desktop viewport mode, snap against the real viewport edge and let each
   section's own internal padding account for the fixed navigation. */
@media (min-width: 900px) and (min-height: 700px) {
  html {
    scroll-padding-top: 0;
    scroll-snap-type: y proximity;
  }

  main > section,
  .platform-widget,
  .front-doors {
    scroll-margin-top: 0;
  }

  /* Keep the full-screen chapters visually self-contained. */
  .hero,
  .mission,
  .inside,
  .solutions,
  .moats,
  .research,
  .scenic-cta {
    position: relative;
    isolation: isolate;
  }

  /* Exact-height chapters where the desktop composition is designed to fit
     one screen. Padding is already included because the site uses border-box. */
  .hero,
  .mission,
  .inside,
  .solutions,
  .scenic-cta {
    height: 100svh;
    min-height: 100svh;
  }

  /* Prevent sub-pixel / decorative overflow from visually crossing the seam. */
  .mission,
  .inside,
  .solutions,
  .scenic-cta {
    overflow: clip;
  }

  /* The content-bearing inner wrappers should never exceed their chapter. */
  .mission-layout,
  .inside-viewport,
  .solutions > .section-shell {
    max-height: 100%;
  }
}

/* Keep anchor navigation comfortable when viewport snapping is disabled. */
@media (max-width: 899px), (max-height: 699px) {
  html { scroll-padding-top: var(--header-h); }
  main > section { scroll-margin-top: var(--header-h); }
}


/* v17 · Moats + Research viewport fit
   Both homepage chapters now compose inside one desktop viewport. The full
   research archive remains on research.html; the homepage is a concise index. */
@media (min-width: 900px) and (min-height: 700px) {
  .moats,
  .research-home {
    height: 100svh;
    min-height: 100svh;
    overflow: clip;
    box-sizing: border-box;
  }

  /* MOATS: intro + two cards share the remaining screen height. */
  .moats {
    padding-top: calc(var(--header-h) + clamp(20px, 2.7vh, 30px));
    padding-bottom: clamp(20px, 2.7vh, 30px);
    display: block;
  }
  .moats > .section-shell {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: clamp(22px, 3vh, 34px);
  }
  .moat-intro {
    grid-template-columns: .34fr 1.22fr .54fr;
    gap: clamp(28px, 3.5vw, 56px);
    align-items: end;
    margin: 0;
  }
  .moat-intro .display {
    font-size: clamp(48px, 5.1vw, 82px);
    line-height: .92;
  }
  .moat-intro > p:last-child {
    margin: 0 0 3px;
    font-size: 15px;
    line-height: 1.5;
  }
  .moat-grid {
    min-height: 0;
    height: 100%;
    margin-top: 0;
  }
  .moat-card {
    min-height: 0;
    height: 100%;
    padding: clamp(20px, 2.4vh, 28px);
    overflow: hidden;
    grid-template-rows: auto auto minmax(0, 1fr);
  }
  .moat-card h3 {
    font-size: clamp(38px, 3.35vw, 58px);
    margin: clamp(10px, 1.3vh, 16px) 0 clamp(12px, 1.6vh, 20px);
  }
  .moat-card > div:nth-child(2) > p:last-child {
    font-size: 15px;
    line-height: 1.48;
  }
  .code-window {
    min-height: 0;
    height: min(30vh, 270px);
    align-self: end;
  }
  .code-window pre {
    padding: clamp(17px, 2vh, 22px);
    font-size: 11px;
    line-height: 1.65;
  }
  .memory-orbit {
    height: min(30vh, 290px);
    align-self: end;
  }
  .memory-center { width: 100px; height: 100px; font-size: 11px; }
  .o1 { width: 180px; height: 180px; }
  .o2 { width: 275px; height: 225px; }
  .o3 { width: min(390px, 88%); height: 270px; }
  .memory-node { font-size: 11px; padding: 7px 10px; }

  /* RESEARCH: headline + category strip + feature/archive grid, all in one view. */
  .research-home {
    padding-top: calc(var(--header-h) + clamp(18px, 2.4vh, 28px));
    padding-bottom: clamp(18px, 2.5vh, 30px);
  }
  .research-home-shell {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: clamp(16px, 2.1vh, 24px);
  }
  .research-home .research-head {
    grid-template-columns: minmax(150px,.32fr) minmax(0,1.68fr);
    gap: clamp(28px, 4vw, 64px);
    align-items: end;
    margin: 0;
  }
  .research-home .research-head .display {
    font-size: clamp(46px, 4.65vw, 76px);
    line-height: .93;
  }
  .research-home .research-intro {
    margin-top: clamp(12px, 1.5vh, 18px);
    font-size: 15px;
    line-height: 1.5;
    max-width: 760px;
  }
  .research-home .research-categories {
    margin-top: 0;
  }
  .research-home .research-categories > span {
    min-height: 76px;
    padding: 13px 16px;
    grid-template-rows: auto auto;
    align-content: center;
  }
  .research-home .research-categories b { font-size: 17px; }
  .research-home .research-categories strong { font-size: 15px; }
  .research-home .research-categories small {
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.35;
    align-self: auto;
  }
  .research-home-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr);
    gap: clamp(18px, 2vw, 28px);
  }
  .research-home .research-feature {
    min-height: 0;
    height: 100%;
    margin-top: 0;
    grid-template-columns: minmax(0, 1.05fr) minmax(230px, .95fr);
  }
  .research-home .research-feature-copy {
    padding: clamp(22px, 2.8vh, 34px);
  }
  .research-home .research-feature h3 {
    margin: auto 0 clamp(12px, 1.5vh, 18px);
    font-size: clamp(34px, 3.2vw, 54px);
    line-height: .98;
  }
  .research-home .research-feature-copy > p {
    font-size: 15px;
    line-height: 1.48;
  }
  .research-home .research-read { margin-top: clamp(15px, 2vh, 24px); }
  .research-home .research-feature-visual { min-height: 0; height: 100%; }
  .research-home .rf-core { width: 112px; height: 112px; }
  .research-home .rf-core span { font-size: 39px; }
  .research-home .rfo-1 { width: 195px; height: 195px; }
  .research-home .rfo-2 { width: 285px; height: 285px; }
  .research-home .rfo-3 { width: 390px; height: 390px; }
  .research-home .rf-node { font-size: 10px; padding: 8px 10px; }

  .research-recent-compact {
    min-height: 0;
    height: 100%;
    margin-top: 0;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.012);
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
  }
  .research-recent-compact .research-recent-head {
    padding: 16px 18px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: 11px;
  }
  .research-list-compact {
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, minmax(0,1fr));
  }
  .research-list-compact > a,
  .research-list-compact > a:nth-child(3n+2),
  .research-list-compact > a:nth-child(3n+3) {
    min-height: 0;
    padding: clamp(11px, 1.45vh, 16px) 42px clamp(11px, 1.45vh, 16px) 18px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.09);
    display: grid;
    align-content: center;
    gap: 7px;
  }
  .research-list-compact > a:last-child { border-bottom: 0; }
  .research-list-compact .research-tag { font-size: 10px; }
  .research-list-compact h4 {
    margin: 0;
    max-width: none;
    font-size: clamp(16px, 1.25vw, 20px);
    line-height: 1.1;
    letter-spacing: -.025em;
  }
  .research-list-compact > a > i {
    right: 16px;
    bottom: 50%;
    transform: translateY(50%);
    font-size: 14px;
  }
  .research-list-compact > a:hover > i { transform: translate(2px,50%); }
}

/* Shorter desktop screens: keep the chapters intact, shave visuals rather than text. */
@media (min-width: 900px) and (min-height: 700px) and (max-height: 820px) {
  .moats { padding-top: calc(var(--header-h) + 14px); padding-bottom: 16px; }
  .moats > .section-shell { gap: 16px; }
  .moat-intro .display { font-size: clamp(43px, 4.7vw, 68px); }
  .moat-card { padding: 18px 20px; }
  .moat-card h3 { font-size: clamp(34px, 3vw, 48px); }
  .code-window { height: 25vh; }
  .memory-orbit { height: 25vh; }
  .o3 { height: 220px; }

  .research-home { padding-top: calc(var(--header-h) + 12px); padding-bottom: 14px; }
  .research-home-shell { gap: 12px; }
  .research-home .research-head .display { font-size: clamp(40px, 4.15vw, 62px); }
  .research-home .research-intro { margin-top: 8px; font-size: 14px; }
  .research-home .research-categories > span { min-height: 64px; padding: 10px 13px; }
  .research-home .research-categories small { display:none; }
  .research-home .research-feature-copy { padding: 20px 22px; }
  .research-home .research-feature h3 { font-size: clamp(30px, 2.8vw, 44px); }
  .research-home .research-feature-copy > p { font-size: 14px; }
  .research-home .research-read { margin-top: 12px; }
  .research-recent-compact .research-recent-head { padding: 12px 15px; }
  .research-list-compact > a,
  .research-list-compact > a:nth-child(3n+2),
  .research-list-compact > a:nth-child(3n+3) { padding-top: 8px; padding-bottom: 8px; }
  .research-list-compact h4 { font-size: 15px; }
}

/* Below the viewport-design breakpoint, retain the existing natural page flow. */
@media (max-width: 899px), (max-height: 699px) {
  .research-home-grid { display:block; }
  .research-recent-compact { margin-top:72px; }
}

/* v19 · Hero descender-safe title reveal
   Keep the oversized title and reveal animation, but expand each clipping line
   below the baseline so letters with descenders (g, y, p, q, j) render fully. */
.hero-title .title-line {
  padding-bottom: .16em;
  margin-bottom: -.12em;
}

/* Short/wide laptop viewports are where the tight line box was most visible. */
@media (min-width: 900px) and (max-height: 699px) {
  .hero-title {
    line-height: .87;
  }
  .hero-title .title-line {
    padding-bottom: .18em;
    margin-bottom: -.13em;
  }
}

/* v20 · Platform becomes one split-screen idea: thesis left, control plane right. */
.platform-split-section {
  padding: 0;
  overflow: clip;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.platform-split-shell {
  min-height: 100svh;
  padding-top: calc(var(--header-h) + clamp(28px, 4vh, 46px));
  padding-bottom: clamp(28px, 4vh, 46px);
  display: grid;
  grid-template-columns: minmax(330px, .36fr) minmax(0, .64fr);
  gap: clamp(38px, 4vw, 72px);
  align-items: center;
}

.platform-copy {
  align-self: center;
  max-width: 560px;
}
.platform-copy .section-kicker {
  margin-bottom: clamp(26px, 3.4vh, 42px);
}
.platform-copy .display {
  font-size: clamp(56px, 5.55vw, 96px);
  line-height: .92;
  letter-spacing: -.068em;
}
.platform-copy .intro-copy {
  max-width: 535px;
  margin-top: clamp(28px, 3.4vh, 42px);
  font-size: clamp(17px, 1.15vw, 20px);
  line-height: 1.58;
  color: rgba(255,255,255,.66);
}

/* Reuse the existing Inside-the-Decision-Plane interaction as a compact right-hand widget. */
.platform .platform-inside.inside {
  height: min(790px, calc(100svh - var(--header-h) - 72px));
  min-height: 620px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  background: #c8906c;
  box-shadow: 0 34px 100px rgba(0,0,0,.24);
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  align-self: center;
}
.platform-inside .inside-titlebar {
  min-height: clamp(92px, 11vh, 118px);
  padding: clamp(24px, 3vh, 34px) clamp(26px, 2.4vw, 38px) clamp(20px, 2.5vh, 28px);
  align-items: flex-start;
}
.platform-inside .inside-titlebar h2 {
  font-size: clamp(36px, 3.1vw, 56px);
  line-height: .96;
}
.platform-inside .inside-mark {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
}
.platform-inside .inside-control-shell {
  width: 100%;
  height: 100%;
  min-height: 0;
  grid-template-columns: minmax(188px, 24%) minmax(0,1fr);
  border: 0;
  border-top: 1px solid rgba(255,255,255,.13);
  border-radius: 20px 20px 0 0;
  box-shadow: none;
}
.platform-inside .inside-cap-head {
  min-height: 72px;
  padding: 0 20px;
  font-size: 11px;
}
.platform-inside .cap-tabs {
  position: static;
  top: auto;
  display: grid;
  grid-template-columns: 1fr;
  height: 100%;
  background: transparent;
}
.platform-inside .cap-tab {
  position: relative;
  min-height: 0;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  align-items: center;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.055);
  background: transparent;
  color: #789189;
  text-align: left;
  cursor: pointer;
  transition: color .25s ease, background .25s ease;
}
.platform-inside .cap-tab::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:#df9a6e;
  transform:scaleY(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.platform-inside .cap-tab span {
  font: 500 11px/1.2 var(--mono);
  color: inherit;
}
.platform-inside .cap-tab strong {
  font-size: clamp(13px, .95vw, 16px);
  line-height: 1.2;
  font-weight: 480;
  letter-spacing: -.015em;
  color: inherit;
}
.platform-inside .cap-tab:hover { color:#d9e1dd; background:rgba(255,255,255,.025); }
.platform-inside .cap-tab.is-active {
  color:#f7f5ef;
  background:linear-gradient(90deg,rgba(216,137,88,.11),rgba(216,137,88,.025) 75%,transparent);
}
.platform-inside .cap-tab.is-active::before { transform:scaleY(1); }
.platform-inside .inside-panels {
  height: 100%;
  min-height: 0;
  background: radial-gradient(circle at 82% 12%,rgba(216,137,88,.045),transparent 32%),#111815;
}
.platform-inside .cap-panel {
  display: none;
  height: 100%;
  padding: clamp(26px, 3.2vh, 40px) clamp(28px, 2.7vw, 48px) clamp(24px, 3vh, 36px);
  overflow: hidden;
  animation: insidePanelIn .35s ease both;
}
.platform-inside .cap-panel.is-active { display:block; }
.platform-inside .inside-eyebrow {
  margin-bottom: clamp(16px, 2.2vh, 24px);
  font-size: 12px;
}
.platform-inside .cap-panel h3 {
  max-width: 760px;
  margin: 0 0 clamp(22px, 3vh, 34px);
  font-size: clamp(30px, 2.55vw, 46px);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.platform-inside .inside-detail-rows > div {
  grid-template-columns: minmax(105px, 22%) minmax(0,1fr);
  column-gap: clamp(20px, 2.6vw, 38px);
  padding: clamp(14px, 1.9vh, 22px) 0;
}
.platform-inside .inside-detail-rows span {
  font-size: 11px;
}
.platform-inside .inside-detail-rows p {
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.48;
}

@media (min-width: 900px) and (min-height: 700px) {
  .platform-split-section {
    height: 100svh;
    min-height: 100svh;
    scroll-snap-align: start;
  }
}

@media (max-width: 1260px) and (min-width: 981px) {
  .platform-split-shell {
    grid-template-columns: minmax(300px, .31fr) minmax(0, .69fr);
    gap: 32px;
  }
  .platform-copy .display { font-size: clamp(48px, 5vw, 70px); }
  .platform-copy .intro-copy { font-size: 16px; }
  .platform .platform-inside.inside { min-height: 590px; }
  .platform-inside .inside-control-shell { grid-template-columns: 178px minmax(0,1fr); }
  .platform-inside .cap-tab { padding: 0 15px; grid-template-columns: 28px minmax(0,1fr); }
  .platform-inside .cap-panel { padding-inline: 28px; }
  .platform-inside .inside-detail-rows > div { grid-template-columns: 94px minmax(0,1fr); gap: 18px; }
  .platform-inside .inside-detail-rows p { font-size: 14px; }
}

@media (max-width: 980px), (max-height: 699px) {
  .platform-split-section { height:auto; min-height:0; overflow:visible; }
  .platform-split-shell {
    min-height:0;
    padding-top: calc(var(--header-h) + 70px);
    padding-bottom: 90px;
    grid-template-columns: 1fr;
    gap: 64px;
  }
  .platform-copy { max-width:760px; }
  .platform-copy .display { font-size: clamp(54px, 10vw, 88px); }
  .platform .platform-inside.inside {
    height:auto;
    min-height:0;
    border-radius:20px;
  }
  .platform-inside .inside-control-shell {
    height:auto;
    grid-template-columns:1fr;
  }
  .platform-inside .inside-capabilities { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .platform-inside .cap-tabs { display:grid; grid-template-columns:repeat(3,1fr); }
  .platform-inside .cap-tab { min-height:66px; padding:12px 16px; grid-template-columns:30px 1fr; border-right:1px solid rgba(255,255,255,.055); }
  .platform-inside .cap-panel { min-height:580px; padding:42px 34px; }
  .platform-inside .inside-detail-rows > div { grid-template-columns:135px 1fr; gap:28px; padding:22px 0; }
  .platform-inside .inside-detail-rows p { font-size:16px; }
}

@media (max-width: 680px) {
  .platform-split-shell { gap:46px; padding-top:calc(var(--header-h) + 52px); padding-bottom:70px; }
  .platform-copy .display { font-size:clamp(48px,14vw,70px); }
  .platform-inside .inside-titlebar { min-height:94px; padding:24px 20px 20px; }
  .platform-inside .inside-titlebar h2 { font-size:clamp(34px,10vw,48px); }
  .platform-inside .inside-mark { width:38px; height:38px; flex-basis:38px; }
  .platform-inside .inside-cap-head { min-height:66px; padding:0 18px; }
  .platform-inside .cap-tabs { display:flex; overflow-x:auto; scrollbar-width:none; }
  .platform-inside .cap-tabs::-webkit-scrollbar { display:none; }
  .platform-inside .cap-tab { flex:0 0 158px; min-height:64px; padding:11px 14px; grid-template-columns:28px 1fr; }
  .platform-inside .cap-panel { min-height:0; padding:32px 20px 36px; }
  .platform-inside .cap-panel h3 { font-size:clamp(32px,9.5vw,44px); margin-bottom:28px; }
  .platform-inside .inside-detail-rows > div { grid-template-columns:1fr; gap:9px; padding:20px 0; }
  .platform-inside .inside-detail-rows p { font-size:16px; }
}

/* v22 · Hero decision-velocity overlay
   The mountain remains the base image; a lightweight canvas renders candidate
   decisions, constraint pruning, convergence, and a proof trace above it. */
.hero-decision-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  pointer-events: none;
  opacity: .9;
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.14) 24%, #000 43%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.14) 24%, #000 43%, #000 100%);
}
.hero-math-annotations {
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,233,209,.64);
}
.hero-annotation,
.hero-proof-trace {
  position: absolute;
  display: grid;
  gap: 4px;
  font-size: 12px;
  line-height: 1.2;
  text-shadow: 0 1px 12px rgba(0,0,0,.5);
  opacity: .84;
}
.hero-annotation span,
.hero-proof-trace span { font-size: 11px; color: rgba(255,216,181,.82); }
.hero-annotation b,
.hero-proof-trace b,
.hero-proof-trace small { font-weight: 500; color: rgba(255,244,230,.68); }
.hero-annotation::before,
.hero-annotation::after {
  content:"";
  position:absolute;
  background:rgba(255,211,169,.18);
}
.hero-annotation::before { width:72px; height:1px; right:calc(100% + 10px); top:9px; }
.hero-annotation::after { width:1px; height:44px; left:50%; top:calc(100% + 8px); }
.hero-annotation-objective { right: 7.5vw; top: 21%; }
.hero-annotation-constraint { right: 29vw; top: 43%; }
.hero-annotation-feasible { right: 23vw; top: 58%; }
.hero-proof-trace {
  right: 9.2vw;
  bottom: 13.5%;
  padding-left: 14px;
  border-left: 1px solid rgba(255,216,181,.22);
  gap: 6px;
}
.hero-proof-trace b { font-size: 15px; letter-spacing: .02em; color: rgba(255,235,213,.9); }
.hero-proof-trace b i { color: #9ab68e; font-style: normal; margin-left: 4px; }
.hero-proof-trace small { font-size: 11px; }

/* Keep the language readable while letting the motion live mostly on the right. */
.hero-shell { position: relative; z-index: 10; }
.hero-copy { max-width: 640px; }

@media (max-width: 1180px) {
  .hero-annotation-constraint { right: 25vw; top: 46%; }
  .hero-annotation-feasible { display:none; }
  .hero-proof-trace { right: 5vw; }
}
@media (max-width: 820px) {
  .hero-decision-canvas {
    opacity: .72;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.55) 35%, #000 62%);
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.55) 35%, #000 62%);
  }
  .hero-math-annotations { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-decision-canvas { opacity: .72; }
}

/* Next.js editorial wrapper */
.editorial-root{
  min-height:100%;
  background:var(--charcoal);
  color:var(--ink);
  font-family:var(--sans);
  --bg:var(--paper);
  --copper:var(--warm);
  --line:var(--line-dark);
  --surface:var(--white);
  --shadow:none;
}
body.v24-site{background:var(--charcoal);color:var(--ink);margin:0;overflow-x:hidden}
body.v24-site.menu-open{overflow:hidden}
.thx-stage{padding-top:calc(var(--header-h) + 28px)}

.careers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px}
.careers-grid article{border:1px solid var(--line-light);padding:22px 20px;background:rgba(255,255,255,.03)}
.careers-grid h3{font-family:var(--serif);font-size:22px;margin:0 0 10px;font-weight:400}
.careers-grid p{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.55}
.careers-principles{display:grid;gap:0;margin-top:28px}
.careers-principles article{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line-dark);align-items:start}
.careers-principles small{font:12px var(--mono);color:var(--warm)}
.careers-principles h3{margin:0 0 8px;font-family:var(--serif);font-weight:400;font-size:24px}
.careers-principles p{margin:0;color:var(--muted);max-width:52em}
@media(max-width:820px){
  .careers-grid{grid-template-columns:1fr}
  .careers-principles article{grid-template-columns:32px 1fr}
}
