@import url("../tokens.css");

:root {
  /* Lyzr-inspired navy scene, kept local to the landing page. */
  --font-display: "Newsreader", Georgia, "Times New Roman", serif;
  --color-calibration: #b84938;
  --color-calibration-deep: #0a1b3d;
  --color-red-field: #123064;
  --color-paper: #f6f8fc;
  --color-paper-dim: #e9eef7;
  --color-ink: #10203b;
  --color-muted: #40516d;
  --color-cyan: #a3e1ec;
  --color-muted-on-red: #cbd8eb;
  --color-rule-on-red: rgba(220, 235, 255, .32);
  --color-line-paper: rgba(12, 31, 65, .2);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--color-paper); }
body { min-width: 20rem; margin: 0; color: var(--color-ink); background: var(--color-paper); font-family: var(--font-system); line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p, figure, blockquote, ol, ul { margin: 0; }
h1, h2, h3 { overflow-wrap: anywhere; }
em { font-family: var(--font-display); font-weight: 500; }
:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: 4px; }
::selection { color: var(--color-calibration-deep); background: var(--color-cyan); }
[hidden] { display: none !important; }
.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: .75rem 1rem; color: var(--color-ink); background: var(--color-paper); transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
.page-shell { overflow: clip; }

.site-header { position: relative; z-index: 10; border-bottom: 1px solid var(--color-calibration-deep); background: var(--color-paper); }
.site-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: min(calc(100% - 2.5rem), 90rem); min-height: 4.6rem; margin: auto; gap: 2rem; }
.wordmark { display: inline-flex; align-items: center; justify-self: start; gap: .4rem; font-family: var(--font-display); font-size: 1.65rem; font-weight: 500; letter-spacing: -.05em; line-height: 1; white-space: nowrap; }
.wordmark__mark { color: var(--color-calibration); font-family: var(--font-system); font-size: 1rem; }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2.5rem); font-family: var(--font-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.site-nav a { border-bottom: 1px solid transparent; }
.site-nav a:hover { border-bottom-color: var(--color-calibration); }
.site-nav .site-nav__blueprint { padding: .55rem .75rem; border: 1px solid var(--color-calibration-deep); color: var(--color-paper); background: var(--color-calibration-deep); white-space: nowrap; }
.site-nav .site-nav__blueprint:hover { border-color: var(--color-red-field); background: var(--color-red-field); }
.header-action { justify-self: end; min-height: 2.6rem; padding: .65rem .9rem; border: 1px solid var(--color-calibration); color: #fff; background: var(--color-calibration); font-family: var(--font-mono); font-size: .8rem; text-transform: uppercase; }
.header-action:hover, .primary-link:hover { background: #8e3328; border-color: #8e3328; }

.hero { position: relative; color: var(--color-paper); background: var(--color-calibration-deep); }
.hero::before { position: absolute; inset: 0; content: ""; pointer-events: none; background-image: linear-gradient(rgba(183,215,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(183,215,255,.055) 1px, transparent 1px), linear-gradient(rgba(183,215,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(183,215,255,.09) 1px, transparent 1px); background-size: 30px 30px, 30px 30px, 150px 150px, 150px 150px; }
.hero::after { position: absolute; top: 6%; right: -15%; width: 60%; height: 90%; border: 1px solid rgba(171,211,255,.16); border-radius: 50%; content: ""; pointer-events: none; transform: rotate(-18deg); }
.hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .6fr); width: min(calc(100% - 2.5rem), 90rem); min-height: 43rem; margin: auto; gap: clamp(2.5rem, 6vw, 7rem); padding: clamp(4rem, 7vw, 7rem) 0 4rem; }
.hero__copy { align-self: center; }
.hero__eyebrow, .section-label { font-family: var(--font-mono); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.hero__eyebrow { display: inline-flex; align-items: center; gap: .65rem; padding: .4rem .7rem; border: 1px solid var(--color-rule-on-red); color: var(--color-paper); background: rgba(255,255,255,.045); }
.hero__eyebrow span { width: .38rem; height: .38rem; background: var(--color-calibration); }
.hero h1 { max-width: 14ch; margin: 2rem 0 1.8rem; font-size: clamp(3.2rem, 5.8vw, 6.4rem); font-weight: 650; line-height: .98; letter-spacing: -.07em; }
.hero h1 em { color: #d4eafa; font-size: .98em; letter-spacing: -.035em; }
.hero__highlight { padding: 0 .12em .07em; margin-left: -.12em; color: var(--color-paper); background: var(--color-red-field); border-bottom: .06em solid var(--color-calibration); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.hero__lede { max-width: 62ch; color: #e0e8f5; font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.65; }
.hero__promise { max-width: 48rem; margin-top: 1.8rem; padding-left: 1.2rem; border-left: 2px solid var(--color-cyan); }
.hero__promise p { margin-top: .55rem; color: var(--color-paper); font-size: clamp(1rem, 1.3vw, 1.25rem); line-height: 1.45; font-weight: 500; }
.hero__promise p:first-child { margin-top: 0; }
.hero__promise .hero__promise-close { margin-top: 1rem; color: var(--color-cyan); font-size: .95rem; font-weight: 400; }
.hero__path { display: flex; flex-wrap: wrap; gap: 0; max-width: 48rem; margin-top: 1.8rem; padding: .7rem 0; border-block: 1px solid var(--color-rule-on-red); font-family: var(--font-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .02em; }
.hero__path span:not(:last-child)::after { padding: 0 .7rem; color: var(--color-calibration); content: "→"; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.6rem; }
.primary-link, .secondary-link { display: inline-flex; align-items: center; justify-content: center; gap: 1.1rem; min-height: 3.25rem; padding: .8rem 1.05rem; border: 1px solid var(--color-calibration); font-family: var(--font-mono); font-size: .81rem; font-weight: 500; text-transform: uppercase; }
.primary-link { color: #fff; background: var(--color-calibration); }
.secondary-link { border-color: var(--color-rule-on-red); color: var(--color-paper); background: transparent; }
.secondary-link:hover { border-color: var(--color-paper); color: var(--color-calibration-deep); background: var(--color-paper); }
.hero__status { max-width: 72ch; margin-top: 1.1rem; color: var(--color-muted-on-red); font-family: var(--font-mono); font-size: .8rem; line-height: 1.6; }
.hero__aside { display: flex; align-items: center; min-width: 0; padding: clamp(1.25rem, 2.4vw, 2.3rem); color: var(--color-paper); background: var(--color-red-field); 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: 30px 30px; }
.hero-demo { width: 100%; min-width: 0; }
.hero-demo__top { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--color-rule-on-red); color: var(--color-cyan); font-family: var(--font-mono); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
.hero-demo__stage { min-height: 27rem; }
.hero-demo__slide { display: flex; flex-direction: column; min-height: 27rem; padding: 1.5rem 0; }
.hero-demo__slide[hidden] { display: none; }
.hero-demo__step { color: var(--color-cyan); font-family: var(--font-mono); font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; }
.hero-demo__slide h2 { max-width: 16ch; margin: .9rem 0 .65rem; font-size: clamp(1.75rem, 2.2vw, 2.35rem); font-weight: 620; line-height: 1.07; letter-spacing: -.05em; }
.hero-demo__slide p { max-width: 37ch; color: #e0e8f5; font-size: .98rem; line-height: 1.55; }
.demo-visual { display: grid; gap: .55rem; min-height: 8rem; margin-top: auto; padding: 1rem; border-top: 4px solid var(--color-cyan); color: var(--color-ink); background: var(--color-paper); font-family: var(--font-mono); font-size: .72rem; line-height: 1.35; }
.demo-visual--canvas { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem; }
.demo-visual--canvas span { flex: 1 1 5rem; min-width: 0; padding: .65rem .35rem; border: 1px solid #b6c7df; background: var(--color-paper-dim); text-align: center; }
.demo-visual--canvas i { color: var(--color-calibration); font-style: normal; }
.demo-visual--task small, .demo-visual--share small { color: var(--color-muted); font-size: .68rem; }
.demo-visual--task strong { font-size: .9rem; }
.demo-visual--task > span { padding: .45rem .6rem; border: 1px solid #b6c7df; background: var(--color-paper-dim); }
.demo-visual--task > b { justify-self: start; padding: .45rem .7rem; color: #fff; background: #275edd; font-weight: 500; }
.demo-visual--review { grid-template-columns: 1fr 1fr; align-content: center; }
.demo-visual--review > span { display: grid; gap: .4rem; padding: .6rem; border: 1px solid #b6c7df; color: var(--color-muted); }
.demo-visual--review > span b { color: var(--color-ink); }
.demo-visual--review > strong, .demo-visual--review > small { grid-column: 1 / -1; }
.demo-visual--review > strong { color: #185d56; }
.demo-visual--review > small { color: var(--color-muted); }
.demo-visual--activity { align-content: center; }
.demo-visual--activity > span { display: flex; justify-content: space-between; gap: .5rem; padding-bottom: .35rem; border-bottom: 1px solid #d5dfeb; }
.demo-visual--activity > span:last-child { border-bottom: 0; }
.demo-visual--activity em, .demo-visual--activity i { color: var(--color-muted); font-family: var(--font-mono); font-size: .67rem; font-style: normal; }
.demo-visual--activity > span:last-child i { color: var(--color-calibration); }
.demo-visual--reflection { align-content: center; }
.demo-visual--reflection > span { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .4rem; border-bottom: 1px solid #d5dfeb; }
.demo-visual--reflection > span b { color: #185d56; }
.demo-visual--reflection strong { color: var(--color-calibration); }
.demo-visual--share { grid-template-columns: 1fr 1fr; align-content: center; }
.demo-visual--share > span { display: grid; align-content: center; gap: .4rem; min-height: 5rem; padding: .55rem; border: 1px solid #b6c7df; }
.demo-visual--share b { font-size: .77rem; }
.hero-demo__controls { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: .35rem; padding-top: 1rem; border-top: 1px solid var(--color-rule-on-red); }
.hero-demo__controls > button { min-width: 2.3rem; min-height: 2.3rem; padding: .3rem .5rem; border: 1px solid var(--color-rule-on-red); color: var(--color-paper); background: rgba(255,255,255,.04); }
.hero-demo__controls > button:hover { background: rgba(255,255,255,.14); }
.hero-demo__controls [data-demo-toggle] { min-width: 3.6rem; font-family: var(--font-mono); font-size: .68rem; text-transform: uppercase; }
.hero-demo__dots { display: flex; justify-content: center; align-items: center; }
.hero-demo__dots button { position: relative; width: 1.2rem; min-height: 2.3rem; padding: 0; border: 0; background: transparent; }
.hero-demo__dots button::after { position: absolute; top: 50%; left: 50%; width: .42rem; height: .42rem; background: #a9c1df; content: ""; transform: translate(-50%, -50%); }
.hero-demo__dots button[aria-pressed="true"]::after { width: .62rem; height: .62rem; background: var(--color-calibration); }
.hero-demo__note { margin-top: .85rem; color: var(--color-muted-on-red); font-family: var(--font-mono); font-size: .68rem; line-height: 1.5; }
.hero__rail { position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 2.7rem; padding: .9rem 1.25rem; border-top: 1px solid var(--color-rule-on-red); color: var(--color-paper); background: #071630; font-family: var(--font-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.hero__rail span::before { margin-right: .55rem; color: var(--color-cyan); content: "✳"; }

.section { padding: clamp(4rem, 7vw, 7rem) max(var(--page-gutter), calc((100% - 78rem) / 2)); }
.section__intro { max-width: 70rem; margin-bottom: 2.6rem; }
.section-label { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; color: var(--color-calibration); }
.section-label::before { width: .55rem; height: .55rem; border-top: 1px solid var(--color-calibration); border-left: 1px solid var(--color-calibration); content: ""; }
.section h2 { max-width: 21ch; margin-bottom: 1rem; font-size: clamp(2.3rem, 4.3vw, 4.2rem); font-weight: 650; letter-spacing: -.06em; line-height: 1.04; }
.section h2 em { color: var(--color-calibration); }
.section__intro > p:last-child { max-width: 65ch; color: var(--color-muted); font-size: 1.08rem; line-height: 1.65; }

.product { background-color: var(--color-paper); background-image: linear-gradient(rgba(15,35,72,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(15,35,72,.045) 1px, transparent 1px); background-size: 28px 28px; }
.product__showcase { border: 1px solid var(--color-calibration-deep); background: var(--color-calibration-deep); box-shadow: 0 1.8rem 3rem rgba(11,26,56,.16); }
.product__bar { display: flex; align-items: center; gap: 1rem; min-height: 3.2rem; padding: .65rem 1.2rem; border-bottom: 1px solid var(--color-rule-on-red); color: var(--color-paper); font-family: var(--font-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.product__bar span:last-child { margin-left: auto; color: var(--color-cyan); }
.product__dots { color: var(--color-cyan); letter-spacing: .2em; }
.product__capture { display: block; position: relative; padding: clamp(.55rem, 1.6vw, 1.25rem); background: #dce3ef; }
.product__capture img { width: 100%; height: auto; border: 1px solid #b8c5d8; }
.product__capture span { position: absolute; right: clamp(.55rem, 1.6vw, 1.25rem); bottom: clamp(.55rem, 1.6vw, 1.25rem); padding: .6rem .85rem; color: var(--color-paper); background: var(--color-calibration-deep); font-family: var(--font-mono); font-size: .72rem; text-transform: uppercase; }
.product__capture:hover span { background: var(--color-red-field); }
.product__readout { padding: 1.4rem 1.5rem 1.6rem; color: var(--color-paper); }
.product__readout > p { margin-bottom: 1rem; color: var(--color-cyan); font-family: var(--font-mono); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.product__readout ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding: 0; list-style: none; }
.product__readout li { padding-left: .8rem; border-left: 2px solid var(--color-cyan); font-size: .97rem; line-height: 1.4; }
.product__showcase figcaption { padding: 1rem 1.3rem; border-top: 1px solid var(--color-rule-on-red); color: var(--color-muted-on-red); background: rgba(0,0,0,.08); font-family: var(--font-mono); font-size: .8rem; }
.product__boundary { display: grid; grid-template-columns: 1fr 1fr; margin-top: 2rem; border-top: 1px solid var(--color-line-paper); }
.product__boundary > div { padding: 1.2rem 1.4rem 0 0; }
.product__boundary > div + div { padding-left: 1.4rem; border-left: 1px solid var(--color-line-paper); }
.product__boundary strong { font-size: 1.03rem; }
.product__boundary p { max-width: 52ch; margin-top: .4rem; color: var(--color-muted); }
.product__contact { margin-top: 1.8rem; }

.direction { background: var(--color-paper-dim); }
.direction__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--color-calibration-deep); background: var(--color-calibration-deep); }
.direction__cards article { display: flex; flex-direction: column; min-height: 19rem; padding: clamp(1.3rem, 2.3vw, 2rem); background: var(--color-paper); }
.direction__cards article > span { color: var(--color-calibration); font-family: var(--font-mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.direction__cards h3 { max-width: 19ch; margin: 1.1rem 0 .9rem; font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.17; letter-spacing: -.04em; }
.direction__cards p { max-width: 34ch; color: var(--color-muted); }
.direction__cards small { margin-top: auto; padding-top: 1.5rem; color: var(--color-calibration); font-family: var(--font-mono); font-size: .68rem; }

.method { background: var(--color-paper); }
.method__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 0; border: 1px solid var(--color-line-paper); list-style: none; }
.method__steps li { min-height: 15rem; padding: clamp(1.2rem, 2vw, 2rem); border-right: 1px solid var(--color-line-paper); }
.method__steps li:last-child { border-right: 0; }
.method__steps li > span { color: var(--color-calibration); font-family: var(--font-mono); font-size: .7rem; }
.method__steps h3 { margin: 2rem 0 .65rem; font-size: 1.2rem; letter-spacing: -.025em; line-height: 1.18; }
.method__steps p { color: var(--color-muted); font-size: .94rem; }

.knowledge { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .85fr); align-items: center; gap: clamp(2.5rem, 6vw, 7rem); background: var(--color-paper-dim); }
.knowledge__copy > p:not(.section-label) { max-width: 60ch; color: var(--color-muted); font-size: 1.06rem; line-height: 1.65; }
.knowledge__copy .knowledge__boundary { margin-top: 1.4rem; padding-left: 1rem; border-left: 2px solid var(--color-calibration); font-family: var(--font-mono); font-size: .77rem; line-height: 1.65; }
.knowledge__example { border: 1px solid var(--color-calibration-deep); background: var(--color-paper); box-shadow: 1.1rem 1.1rem 0 rgba(12,31,65,.08); }
.knowledge__example-top { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; color: var(--color-paper); background: var(--color-calibration-deep); font-family: var(--font-mono); font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; }
.knowledge__example-top span:last-child { color: var(--color-cyan); }
.knowledge__query { padding: 1.5rem; color: var(--color-paper); background: var(--color-red-field); }
.knowledge__query small, .knowledge__result small { display: block; margin-bottom: .5rem; font-family: var(--font-mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; }
.knowledge__query small { color: var(--color-cyan); }
.knowledge__query strong { display: block; max-width: 27ch; font-size: clamp(1.3rem, 2vw, 1.7rem); line-height: 1.2; }
.knowledge__result { display: grid; grid-template-columns: 1fr auto; gap: .1rem 1rem; padding: 1.2rem 1.5rem; border-bottom: 1px solid var(--color-line-paper); }
.knowledge__result small { grid-column: 1 / -1; color: var(--color-calibration); }
.knowledge__result strong { line-height: 1.2; }
.knowledge__result p { grid-column: 1 / -1; color: var(--color-muted); font-size: .88rem; }
.knowledge__example-note { padding: .8rem 1.5rem; color: var(--color-muted); font-family: var(--font-mono); font-size: .65rem; text-transform: uppercase; }

.value { color: var(--color-paper); background: var(--color-calibration-deep); }
.value .section-label, .mobility .section-label { color: var(--color-cyan); }
.value .section-label::before, .mobility .section-label::before { border-color: var(--color-cyan); }
.value h2 em, .mobility h2 em { color: var(--color-paper); }
.value .section__intro > p:last-child { color: var(--color-muted-on-red); }
.value__model { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.2fr); align-items: center; gap: clamp(1rem, 3vw, 3rem); }
.value__response { display: flex; flex-direction: column; min-height: 19rem; padding: 1.6rem; border: 1px solid var(--color-rule-on-red); background: rgba(255,255,255,.04); }
.value__response small, .value__assets > small { color: var(--color-cyan); font-family: var(--font-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.value__response p { margin: 1.2rem 0; color: var(--color-paper); font-family: var(--font-mono); font-size: .86rem; line-height: 1.8; }
.value__response span { margin-top: auto; padding-top: .8rem; border-top: 1px solid var(--color-rule-on-red); color: var(--color-muted-on-red); font-size: .78rem; }
.value__arrow { color: var(--color-cyan); font-size: 2.2rem; }
.value__assets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.value__assets > small { grid-column: 1 / -1; padding-bottom: .3rem; }
.value__assets > div { display: grid; min-height: 8.3rem; padding: 1rem; border-top: 3px solid var(--color-cyan); color: var(--color-ink); background: var(--color-paper); }
.value__assets > div > span { color: var(--color-calibration); font-family: var(--font-mono); font-size: .68rem; }
.value__assets strong { font-size: 1.13rem; line-height: 1.1; }
.value__assets em { color: var(--color-muted); font-family: var(--font-system); font-size: .79rem; font-style: normal; }
.value__boundary { margin-top: 1.1rem; color: var(--color-muted-on-red); font-family: var(--font-mono); font-size: .8rem; }
.value__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 3rem; }
.value__grid > div { padding-top: 1.2rem; border-top: 1px solid var(--color-rule-on-red); }
.value__grid strong { font-size: 1.15rem; }
.value__grid p { max-width: 34ch; margin-top: .7rem; color: var(--color-muted-on-red); }

.mobility { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; background: var(--color-red-field); color: var(--color-paper); }
.mobility__body { display: grid; align-content: end; gap: 1.2rem; }
.mobility__body p { max-width: 60ch; color: var(--color-muted-on-red); font-size: 1.07rem; }

.access { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 3rem; background: var(--color-paper); }
.access__copy > p:last-child { max-width: 51ch; color: var(--color-muted); }
.access-form { display: grid; gap: .6rem; padding: 2rem; border: 1px solid var(--color-calibration-deep); border-top: 4px solid var(--color-calibration); background: var(--color-paper-dim); font-family: var(--font-mono); font-size: .72rem; }
.access-form label { text-transform: uppercase; letter-spacing: .08em; }
.access-form__control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
.access-form input { width: 100%; min-width: 0; min-height: 3.1rem; padding: .6rem .75rem; border: 1px solid var(--color-calibration-deep); color: var(--color-ink); background: var(--color-paper); }
.access-form input::placeholder { color: var(--color-muted); }
.access-form button { padding: .75rem .9rem; border: 1px solid var(--color-calibration-deep); color: var(--color-paper); background: var(--color-calibration); font-size: .72rem; font-weight: 600; text-transform: uppercase; white-space: nowrap; }
.access-form button:hover { background: var(--color-calibration-deep); }
.access-form__message { color: var(--color-muted); }

.site-footer { display: grid; gap: 3rem; padding: 3rem max(var(--page-gutter), calc((100% - 78rem) / 2)) 2rem; color: var(--color-paper); background: var(--color-calibration-deep); }
.site-footer__statement { max-width: 22ch; font-size: clamp(1.75rem, 3vw, 3rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.08; }
.site-footer__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .75rem 1.7rem; padding-top: 1.3rem; border-top: 1px solid var(--color-rule-on-red); color: var(--color-muted-on-red); font-family: var(--font-mono); font-size: .8rem; }
.site-footer__meta strong { margin-right: auto; color: var(--color-paper); font-family: var(--font-display); font-size: 1.5rem; }
.site-footer__meta a { color: var(--color-paper); text-decoration: underline; text-underline-offset: .25rem; }

.access-dialog { width: min(47rem, calc(100vw - 2rem)); max-height: min(92svh, 60rem); padding: 0; border: 0; color: var(--color-ink); background: var(--color-paper); box-shadow: 0 2rem 6rem rgba(4,13,32,.38); }
.access-dialog::backdrop { background: rgba(4,13,32,.78); }
.access-dialog__panel { position: relative; }
.access-dialog__close { position: absolute; z-index: 2; top: .8rem; right: .9rem; width: 2.3rem; height: 2.3rem; border: 1px solid var(--color-rule-on-red); color: var(--color-paper); background: none; font-size: 1.5rem; line-height: 1; }
.access-dialog__header { display: grid; gap: .65rem; padding: 2rem 2.5rem; color: var(--color-paper); background: var(--color-red-field); }
.access-dialog__header > p, .access-intake__success > p { color: var(--color-cyan); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.access-dialog__header h2, .access-intake__success h3 { max-width: 18ch; font-family: var(--font-system); font-size: clamp(1.7rem, 4vw, 2.6rem); line-height: 1.08; letter-spacing: -.04em; }
.access-dialog__header > span { max-width: 60ch; color: var(--color-muted-on-red); font-size: .78rem; }
.access-intake, .access-intake__success { display: grid; gap: 1.25rem; padding: 2rem 2.5rem 2.5rem; }
.access-intake__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.intake-field { display: grid; align-content: start; gap: .4rem; min-width: 0; }
.intake-field > span { font-size: .72rem; font-weight: 700; }
.intake-field small { color: var(--color-muted); font-weight: 400; }
.intake-field input, .intake-field select, .intake-field textarea { width: 100%; min-width: 0; padding: .7rem .8rem; border: 1px solid #a9b6ca; border-radius: 0; color: var(--color-ink); background: var(--color-paper-dim); font-family: var(--font-system); font-size: .9rem; }
.intake-field textarea { resize: vertical; }
.access-intake .honey { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.access-intake__note { color: var(--color-muted); font-size: .7rem; line-height: 1.6; }
.access-intake__note a, .access-intake__success a { color: var(--color-calibration-deep); text-decoration: underline; }
.access-intake__actions { display: flex; justify-content: flex-end; gap: .7rem; }
.access-intake__actions button, .access-intake__success button { min-height: 2.8rem; padding: .65rem 1rem; border: 1px solid var(--color-calibration-deep); font-size: .76rem; }
.access-intake__cancel { color: var(--color-calibration-deep); background: none; }
.access-intake__submit, .access-intake__success button { color: var(--color-paper); background: var(--color-red-field); }
.access-intake__submit:disabled { opacity: .6; cursor: wait; }
.access-intake__status { min-height: 1.5em; font-size: .72rem; }
.access-intake__status[data-state="error"] { color: #9b2828; }
.access-intake__success { gap: 1rem; }
.access-intake__success > p { color: var(--color-calibration); }
.access-intake__success > span { font-size: .8rem; }
.access-intake__success button { justify-self: start; }
@media (max-width: 70rem) {
  .hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(15rem, .75fr); }
  .hero h1 { font-size: clamp(3rem, 6vw, 5rem); }
  .direction__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .direction__cards article:last-child { grid-column: 1 / -1; min-height: 14rem; }
  .method__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .method__steps li:nth-child(2) { border-right: 0; }
  .method__steps li:nth-child(-n + 2) { border-bottom: 1px solid var(--color-line-paper); }
}
@media (max-width: 54rem) {
  .site-header__inner { grid-template-columns: 1fr auto auto; gap: .75rem; }
  .site-nav a:not(.site-nav__blueprint) { display: none; }
  .hero__grid { grid-template-columns: 1fr; min-height: 0; }
  .hero__aside { align-items: stretch; }
  .hero h1 { max-width: 15ch; font-size: clamp(3.1rem, 7vw, 5rem); }
  .knowledge, .mobility, .access { grid-template-columns: 1fr; }
  .value__model { grid-template-columns: 1fr; gap: .7rem; }
  .value__arrow { justify-self: center; transform: rotate(90deg); }
}
@media (max-width: 40rem) {
  .site-header__inner { grid-template-columns: 1fr auto; width: min(calc(100% - 2rem), 90rem); min-height: 4.1rem; gap: .8rem; }
  .wordmark { font-size: 1.45rem; }
  .site-nav .site-nav__blueprint { padding: .5rem .6rem; font-size: .69rem; }
  .header-action { display: none; }
  .hero__grid { width: min(calc(100% - 2rem), 90rem); padding: 3rem 0; gap: 2.5rem; }
  .hero__eyebrow { font-size: .69rem; }
  .hero h1 { font-size: clamp(2.75rem, 11.2vw, 4.1rem); }
  .hero__path { gap: .45rem 0; }
  .hero__path span:not(:last-child)::after { padding-inline: .38rem; }
  .hero-demo__stage, .hero-demo__slide { min-height: 25rem; }
  .hero__rail { justify-content: start; gap: .5rem 1rem; font-size: .7rem; }
  .section { padding: 4rem 1.25rem; }
  .section h2 { font-size: clamp(2.25rem, 9vw, 3.1rem); }
  .product__bar { gap: .55rem; padding: .65rem .75rem; font-size: .65rem; }
  .product__bar span:last-child { display: none; }
  .product__capture span { position: static; display: block; margin-top: .55rem; text-align: center; }
  .product__readout ul { grid-template-columns: 1fr; gap: .75rem; }
  .product__boundary { grid-template-columns: 1fr; }
  .product__boundary > div + div { padding: 1.2rem 0 0; border-top: 1px solid var(--color-line-paper); border-left: 0; }
  .direction__cards, .method__steps, .value__grid { grid-template-columns: 1fr; }
  .direction__cards article, .direction__cards article:last-child { min-height: 0; grid-column: auto; }
  .direction__cards small { padding-top: 1.5rem; }
  .method__steps li, .method__steps li:nth-child(2) { min-height: 0; border-right: 0; border-bottom: 1px solid var(--color-line-paper); }
  .method__steps li:last-child { border-bottom: 0; }
  .method__steps h3 { margin-top: 1.1rem; }
  .access-form { padding: 1.2rem; }
  .access-form__control { grid-template-columns: 1fr; }
  .access-dialog__header { padding: 1.8rem 1.3rem; }
  .access-intake, .access-intake__success { padding: 1.5rem 1.3rem 2rem; }
  .access-intake__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* Actual product captures share the existing navy presentation. */
.product__choices { display: flex; flex-wrap: wrap; gap: .4rem; padding: .8rem; border-bottom: 1px solid var(--color-rule-on-red); }
.product__choices button { flex: 1 1 8rem; padding: .7rem .6rem; border: 1px solid var(--color-rule-on-red); background: transparent; color: var(--color-paper); font: inherit; font-size: .8rem; cursor: pointer; }
.product__choices button[aria-pressed="true"] { background: var(--color-cyan); border-color: var(--color-cyan); color: var(--color-ink); }
.product__choices button:hover { border-color: var(--color-cyan); }
.product__view { margin: 0; }
.product__view figcaption { font-family: var(--font-body); padding: 1.3rem; }
.product__view figcaption strong { display: block; color: var(--color-paper); font-size: 1.3rem; }
.product__view figcaption p { margin: .5rem 0 .7rem; max-width: 85ch; color: var(--color-paper); font-size: 1rem; }
.product__view figcaption small { display: block; max-width: 100ch; font-size: .8rem; line-height: 1.5; }
.product__capture-note { padding: .85rem 1.3rem; color: var(--color-muted-on-red); border-top: 1px solid var(--color-rule-on-red); font-size: .75rem; }
