/* =========================================================
   U2OS — Monochrome / signal red edition
   Loaded after styles.css; this layer carries the poster-led art direction.
   ========================================================= */
:root {
  --header-h: 76px;
  --paper: #f1eee8;
  --paper-2: #e7e2d9;
  --ink: #080808;
  --ink-2: #0b0b0a;
  --ink-3: #11110f;
  --signal: #c8171f;
  --signal-strong: #9f1117;
  --warm-white: #f4f1eb;
  --warm-muted: #a49e95;
  --warm-dim: #786f66;
  --hairline: rgba(8, 8, 8, .18);
  --hairline-light: rgba(244, 241, 235, .16);
  --cyan: #c8171f;
  --cyan-strong: #9f1117;
  --red: #c8171f;
  --text: #ebe7e0;
  --white: #f4f1eb;
  --muted: #a39d94;
  --dim: #7b746b;
  --line: rgba(244, 237, 228, .14);
  --line-soft: rgba(244, 237, 228, .08);
}
html { scroll-padding-top: calc(var(--header-h) + 18px); }
body { background: var(--ink); color: var(--text); }
::selection { background: var(--signal); color: var(--paper); }
section[id] { scroll-margin-top: calc(var(--header-h) + 20px); }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.pixel-matrix {
  display: block;
  background-image: radial-gradient(var(--signal) 1.3px, transparent 1.4px);
  background-size: 6px 6px;
}

/* ---------- shared chrome ---------- */
.scroll-progress span {
  background: linear-gradient(90deg, var(--signal), var(--warm-white));
  box-shadow: 0 0 10px rgba(200, 23, 31, .42);
}
.button-primary {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--ink);
}
.button-primary:hover { background: #fff; border-color: #fff; }
.button-ghost {
  border-color: rgba(244, 237, 228, .3);
  color: var(--warm-white);
}
.button-ghost:hover { border-color: var(--signal); color: #fff; }
.button-ink {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.button-ink:hover { background: var(--signal); border-color: var(--signal); color: #fff; }
.button-outline-ink {
  background: transparent;
  border-color: rgba(8, 8, 8, .34);
  color: var(--ink);
}
.button-outline-ink:hover { border-color: var(--signal); color: var(--signal); }
.section-label b { color: var(--signal); }
.text-button { color: var(--signal); border-color: rgba(200, 23, 31, .45); }
.text-button:hover { color: var(--ink); border-color: var(--ink); }
.section-head { border-top-color: var(--hairline-light); }
.section-side { color: #80786f; }
.section-label { color: #8d857c; }

/* ---------- header: a paper strip above the poster ---------- */
.site-header {
  position: sticky;
  top: 0;
  right: auto;
  bottom: auto;
  left: auto;
  background: var(--paper);
  border-bottom: 1px solid rgba(8, 8, 8, .24);
  transition: box-shadow .25s ease, border-color .25s ease;
}
.site-header::before { display: none; }
.site-header.is-scrolled {
  background: var(--paper);
  border-bottom-color: rgba(8, 8, 8, .34);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
  backdrop-filter: none;
}
.header-inner { height: var(--header-h); }
.brand-mark { color: var(--ink); }
.brand-word { color: var(--ink); }
.brand-word span { color: var(--signal); }
.brand-meta { border-left-color: rgba(8, 8, 8, .2); color: #6b645b; }
.primary-nav a { color: #565149; }
.primary-nav a:hover,
.primary-nav a.is-active { color: var(--ink); }
.primary-nav a::after { background: var(--signal); }
.button-header {
  min-height: 40px;
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.button-header:hover { background: var(--signal); border-color: var(--signal); color: #fff; }
.menu-toggle { border-color: rgba(8, 8, 8, .28); background: transparent; }
.menu-toggle span { background: var(--ink); }
.mobile-nav { background: var(--paper); }
.mobile-nav-meta { color: #6f675d; border-bottom-color: rgba(8, 8, 8, .18); }
.mobile-nav > .mobile-nav-inner > a { color: var(--ink); border-bottom-color: rgba(8, 8, 8, .14); }
.mobile-nav > .mobile-nav-inner > a span { color: var(--signal); }
.mobile-nav-foot { color: #6e665d; }
.mobile-nav .mobile-book {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.mobile-nav .mobile-book:hover { background: var(--signal); border-color: var(--signal); }
.footer-links button { font-family: var(--font-sans); }

/* ---------- poster hero ---------- */
.poster-hero {
  position: relative;
  background: var(--paper);
  border-bottom: 1px solid rgba(8, 8, 8, .26);
}
.poster-frame {
  position: relative;
  height: clamp(620px, calc(100vh - var(--header-h)), 920px);
  overflow: hidden;
  background: #0a0a0a;
}
.poster-picture { display: block; width: 100%; height: 100%; }
.poster-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: contrast(1.025);
}
.poster-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .08), transparent 16% 70%, rgba(0, 0, 0, .16)),
    linear-gradient(90deg, transparent 0 45%, rgba(0, 0, 0, .04) 67%, rgba(0, 0, 0, .18) 100%);
}
.poster-actions {
  position: absolute;
  z-index: 2;
  left: max(var(--gutter), calc((100vw - var(--max)) / 2));
  bottom: clamp(26px, 5.2vh, 54px);
  width: min(356px, 34vw);
  padding: 18px 20px 15px;
  background: rgba(241, 238, 232, .93);
  border: 1px solid rgba(8, 8, 8, .26);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .08);
  color: var(--ink);
  backdrop-filter: blur(8px);
}
.poster-actions::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  height: 2px;
  background: var(--signal);
}
.poster-actions-label {
  display: block;
  color: #6c645a;
  font-family: var(--font-mono);
  font-size: 7px;
  letter-spacing: .13em;
}
.poster-actions-copy {
  margin-top: 11px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.55;
  font-weight: 600;
  letter-spacing: -.02em;
}
.poster-actions-copy b { color: var(--signal); font-weight: 700; }
.poster-action-row { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.poster-action-row .button { min-height: 39px; padding: 0 11px; font-size: 10.5px; letter-spacing: .02em; }
.poster-actions-meta {
  display: block;
  margin-top: 12px;
  color: #746b60;
  font-family: var(--font-mono);
  font-size: 6.5px;
  letter-spacing: .07em;
}
.poster-scroll {
  position: absolute;
  z-index: 2;
  right: max(var(--gutter), calc((100vw - var(--max)) / 2));
  bottom: 36px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--paper);
  font-family: var(--font-mono);
  font-size: 7px;
  line-height: 1.55;
  letter-spacing: .13em;
  text-align: right;
}
.poster-scroll::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--signal);
  order: -1;
}
.poster-scroll .icon { width: 15px; height: 15px; color: var(--signal); animation: nudge 2.8s ease-in-out infinite; }
.poster-pixels {
  position: absolute;
  z-index: 2;
  right: max(var(--gutter), calc((100vw - var(--max)) / 2));
  top: 30px;
  width: 32px;
  height: 24px;
  opacity: .9;
}
.poster-mobile-copy { display: none; }
.poster-mobile-kicker {
  color: var(--signal);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: .13em;
}
.poster-mobile-title {
  margin-top: 15px;
  color: var(--ink);
  font-size: clamp(52px, 14vw, 80px);
  line-height: .95;
  font-weight: 700;
  letter-spacing: -.075em;
}
.poster-mobile-lede {
  max-width: 560px;
  margin-top: 21px;
  color: #5d5750;
  font-size: 13px;
  line-height: 1.95;
}
.poster-mobile-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.poster-mobile-actions .button { min-height: 45px; font-size: 11.5px; }
.poster-mobile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
  color: #766e64;
  font-family: var(--font-mono);
  font-size: 7px;
  letter-spacing: .06em;
}
.poster-mobile-meta span + span::before { content: "/"; margin-right: 16px; color: #aaa39a; }

/* ---------- performance bar & arena ---------- */
.poster-bar {
  background: var(--ink);
  border-top: 1px solid var(--signal);
  border-bottom: 1px solid var(--hairline-light);
  color: var(--paper);
}
.poster-bar-inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 28px;
  min-height: 94px;
}
.poster-bar-caption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding-right: 30px;
  border-right: 1px solid var(--hairline-light);
}
.poster-bar-caption > span {
  color: var(--signal);
  font-family: var(--font-mono);
  font-size: 7px;
  letter-spacing: .12em;
}
.poster-bar-caption p { color: #b4ada4; font-size: 12px; line-height: 1.5; white-space: nowrap; }
.poster-stats { display: grid; grid-template-columns: repeat(4, 1fr); flex: 1; max-width: 790px; }
.poster-stats > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 17px 22px;
  border-left: 1px solid var(--hairline-light);
}
.poster-stats > div:first-child { border-left: 0; }
.poster-stats strong {
  color: var(--paper);
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}
.poster-stats strong small { margin-left: 2px; color: #8d857c; font-family: var(--font-mono); font-size: 8px; font-weight: 400; }
.poster-stats span { margin-top: 7px; color: #80786f; font-family: var(--font-mono); font-size: 7px; letter-spacing: .07em; }
.arena-strip {
  background: #0b0b0a;
  border-top-color: rgba(244, 237, 228, .12);
  border-bottom-color: rgba(244, 237, 228, .12);
  color: #afa89f;
}
.arena-label { color: var(--signal); border-right-color: var(--hairline-light); }
.arena-track span { color: #a49d94; }
.arena-track i { background: var(--signal); }
.arena-note { color: #746c63; border-left-color: var(--hairline-light); }

/* ---------- manifesto: a paper spread ---------- */
.philosophy {
  background-color: var(--paper);
  color: var(--ink);
  border-bottom: 1px solid rgba(8, 8, 8, .2);
}
.philosophy::after {
  -webkit-text-stroke-color: rgba(8, 8, 8, .04);
  color: transparent;
}
.philosophy .section-head { border-top-color: var(--hairline); }
.philosophy .section-label { color: #746d64; }
.philosophy .section-label b { color: var(--signal); }
.philosophy .section-label i { background: var(--ink); opacity: .35; }
.philosophy .section-side { color: #7d756b; }
.philosophy-copy h2 { color: var(--ink); font-size: clamp(42px, 4.3vw, 62px); }
.philosophy .stroke-text { -webkit-text-stroke-width: 1.1px; -webkit-text-stroke-color: rgba(8, 8, 8, .65); }
.philosophy-copy .lead { color: #5e584f; }
.philosophy-copy blockquote { border-left-color: var(--signal); color: #161411; }
.philosophy-copy blockquote > span { color: var(--signal); }
.principle-list { border-top-color: rgba(8, 8, 8, .22); }
.principle { border-bottom-color: rgba(8, 8, 8, .16); }
.principle:hover { border-bottom-color: var(--signal); background: rgba(8, 8, 8, .018); }
.principle-index { color: #8b8277; }
.principle:hover .principle-index { color: var(--signal); }
.principle h3 { color: #12100d; }
.principle p { color: #625b52; }
.principle-arrow { color: #7b7268; }
.principle:hover .principle-arrow { color: var(--signal); }
.philosophy-foot { border-top-color: rgba(8, 8, 8, .16); color: #746c62; }
.philosophy-foot span:last-child { color: #3f3b36; }
.manifesto-oath {
  position: relative;
  margin-top: 66px;
  padding-top: 27px;
  border-top: 1px solid rgba(8, 8, 8, .22);
}
.oath-meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
  color: #7b7268;
  font-family: var(--font-mono);
  font-size: 7.5px;
  letter-spacing: .12em;
}
.oath-meta span:first-child { color: var(--signal); }
.oath-copy {
  max-width: 1110px;
  margin: 0;
  padding-left: clamp(15px, 2.6vw, 30px);
  border-left: 2px solid var(--signal);
  color: var(--ink);
  font-size: clamp(33px, 3.55vw, 51px);
  line-height: 1.34;
  font-weight: 600;
  letter-spacing: -.055em;
}
.oath-copy strong { color: var(--signal); font-weight: 600; }

/* ---------- journey: black laboratory ---------- */
.journey {
  background:
    radial-gradient(ellipse 55% 55% at 15% 26%, rgba(200, 23, 31, .08), transparent 70%),
    #0b0b0a;
  border-top-color: rgba(244, 237, 228, .14);
  border-bottom-color: rgba(244, 237, 228, .14);
}
.journey-intro h2 { color: var(--paper); }
.journey-intro > p { color: #9e968c; }
.journey-counter span { color: var(--signal); }
.station-list { border-top-color: var(--hairline-light); }
.signal-line { background: rgba(244, 237, 228, .17); }
.signal-track i { background: #6e655c; }
.station { border-bottom-color: var(--hairline-light); }
.station.is-open { background: linear-gradient(90deg, rgba(200, 23, 31, .07), transparent 68%); }
.station.is-open .station-num,
.station.is-open .station-plus { color: var(--signal); }
.station-name { color: #c9c1b6; }
.station.is-open .station-name { color: var(--paper); }
.station-name em { color: #81776c; }
.station-meta { color: #847a70; }
.station-plus { color: #7e7469; }
.signal-progress { background: var(--signal); box-shadow: 0 0 8px rgba(200, 23, 31, .35); }
.signal-head { background: var(--signal); box-shadow: 0 0 0 4px rgba(200, 23, 31, .1), 0 0 12px rgba(200, 23, 31, .7); }
.station-panel-inner > p { color: #a49b91; }
.station-tags span { border-color: rgba(244, 237, 228, .16); color: #91887e; }
.journey-note { color: #82796f; }
.journey-foot { border-top-color: var(--hairline-light); color: #81786e; }

/* ---------- data lab ---------- */
.proof {
  background:
    radial-gradient(ellipse 70% 50% at 85% 0%, rgba(200, 23, 31, .09), transparent 70%),
    #0b0b0a;
  border-top: 1px solid var(--hairline-light);
  border-bottom: 1px solid var(--hairline-light);
}
.proof-intro h2 { color: var(--paper); font-size: clamp(42px, 4.1vw, 59px); }
.proof-intro > p { color: #9d948b; }
.benchmark {
  border-color: rgba(244, 237, 228, .17);
  background: linear-gradient(160deg, #11110f, #080808);
}
.benchmark::before { border-color: var(--signal); }
.benchmark::after { border-color: rgba(200, 23, 31, .35); }
.benchmark-top { border-bottom-color: var(--hairline-light); }
.game-tab { color: #91877d; }
.game-tab:hover { color: var(--paper); }
.game-tab.is-active { border-color: rgba(200, 23, 31, .4); background: rgba(200, 23, 31, .1); color: var(--signal); }
.sim-badge { color: #857c73; }
.sim-badge i { background: var(--signal); }
.bench-chart { border-right-color: var(--hairline-light); }
.chart-title { color: #b9b0a5; }
.chart-sub, .chart-legend, .bench-chart-foot { color: #81786e; }
.legend-solid { background: var(--signal); }
.bench-line.after { stroke: var(--signal); filter: drop-shadow(0 0 5px rgba(200, 23, 31, .35)); }
.bench-end-dot { fill: var(--signal); filter: drop-shadow(0 0 5px rgba(200, 23, 31, .8)); }
.bench-axis text { fill: #81786e; }
.bench-grid-lines line { stroke: rgba(244, 237, 228, .09); }
.bench-axis-caption { color: #6e655c; }
.metric-card { border-color: var(--hairline-light); }
.metric-head { color: #877e74; }
.metric-head em { color: var(--signal); }
.metric-value strong { color: var(--paper); }
.metric-value small, .metric-before { color: #8a8177; }
.metric-before span { color: #c1b8ae; }
.metric-track { background: rgba(244, 237, 228, .13); }
.metric-track span { background: linear-gradient(90deg, rgba(200, 23, 31, .36), var(--signal)); }
.benchmark-foot { border-top-color: var(--hairline-light); color: #81786e; }

/* ---------- pricing: dark cards on paper ---------- */
.pricing {
  background-color: var(--paper);
  background-image:
    linear-gradient(rgba(8, 8, 8, .038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 8, 8, .038) 1px, transparent 1px);
  border-top: 1px solid rgba(8, 8, 8, .16);
  border-bottom: 1px solid rgba(8, 8, 8, .16);
}
.pricing::before { -webkit-text-stroke-color: rgba(8, 8, 8, .065); }
.pricing .section-head { border-top-color: rgba(8, 8, 8, .18); color: #6f675f; }
.pricing .section-label { color: #746c63; }
.pricing .section-label b { color: var(--signal); }
.pricing .section-label i { background: var(--ink); opacity: .35; }
.pricing .section-side { color: #7c746b; }
.pricing-intro h2 { color: var(--ink); }
.pricing-intro > p { color: #5b554e; }
.plan {
  border-color: rgba(244, 237, 228, .14);
  background:
    radial-gradient(ellipse 70% 55% at 15% 0%, rgba(200, 23, 31, .19), transparent 70%),
    linear-gradient(155deg, #11110f 0%, #080808 70%);
  box-shadow: 0 26px 60px rgba(25, 20, 16, .2);
}
.plan::before { background: linear-gradient(90deg, transparent, var(--signal) 30%, rgba(200, 23, 31, .08)); }
.plan-core::after { border-color: rgba(200, 23, 31, .16); }
.plan-u2oc {
  background:
    radial-gradient(ellipse 70% 55% at 15% 0%, rgba(244, 237, 228, .08), transparent 70%),
    linear-gradient(155deg, #161512 0%, #090908 70%);
  border-color: rgba(244, 237, 228, .2);
}
.plan-u2oc::before { background: linear-gradient(90deg, transparent, rgba(244, 237, 228, .8) 30%, rgba(244, 237, 228, .1)); }
.plan-u2oc::after { border-color: rgba(244, 237, 228, .12); }
.plan-tag { border-color: rgba(200, 23, 31, .45); color: #e0555c; }
.plan-tag-cyan { border-color: rgba(244, 237, 228, .42); color: var(--paper); }
.plan h3 { color: var(--paper); }
.plan-arrow { color: #817870; }
.plan-desc { color: #a39a90; }
.plan-price .currency, .plan-price .unit { color: #938a80; }
.plan-price strong { color: var(--paper); }
.plan-u2oc .plan-price strong { color: var(--paper); }
.plan-list { border-top-color: var(--hairline-light); }
.plan-list li { border-bottom-color: rgba(244, 237, 228, .1); color: #c2b9ae; }
.plan-core .plan-list .icon { color: var(--signal); }
.plan-list .icon { color: #d8d1c7; }
.price-table { border-top-color: var(--hairline-light); }
.price-row { border-bottom-color: rgba(244, 237, 228, .1); color: #bbb2a8; }
.price-row strong { color: var(--paper); }
.price-row strong i { font-size: 10px; color: #b5aa9d; letter-spacing: 0; }
.price-row em { border-color: rgba(200, 23, 31, .4); color: var(--signal); }
.plan-u2oc .price-row em { border-color: rgba(244, 237, 228, .26); color: var(--paper); }
.price-row-addon { color: #c9c0b5; }
.price-row-addon strong { color: var(--paper); }
.plan-foot > span { color: #847b72; }
.button-plan-light { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.button-plan-light:hover { background: #fff; border-color: #fff; }
.button-plan-cyan { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.button-plan-cyan:hover { background: #fff; border-color: #fff; }
.pricing-note { border-top-color: rgba(8, 8, 8, .18); color: #675f56; }
.pricing-note > span { color: #7d756b; }
.pricing-helper { border-top-color: rgba(8, 8, 8, .18); color: #39342e; }
.pricing-helper > div > span { color: #8b8379; }
.pricing-helper .text-button { color: var(--ink); border-color: rgba(8, 8, 8, .35); }
.pricing-helper .text-button:hover { color: var(--signal); border-color: var(--signal); }

/* ---------- method & boundary ---------- */
.method {
  background:
    radial-gradient(ellipse 60% 45% at 82% 25%, rgba(200, 23, 31, .07), transparent 70%),
    #0b0b0a;
  border-top: 1px solid var(--hairline-light);
}
.method-intro h2 { color: var(--paper); }
.method-intro p { color: #9d948a; }
.steps { border-top-color: var(--hairline-light); border-bottom-color: var(--hairline-light); background: var(--hairline-light); }
.step { background: #0b0b0a; }
.step-num { color: var(--signal); }
.step h3 { color: var(--paper); }
.step p { color: #9a9187; }
.step-meta { color: #80766c; }
.boundary { border-color: var(--hairline-light); background: linear-gradient(120deg, rgba(30, 28, 24, .8), rgba(8, 8, 8, .72)); }
.boundary-intro h3 { color: var(--paper); }
.boundary-intro p { color: #948b81; }
.boundary-col h4 { border-bottom-color: var(--hairline-light); color: #d8d0c5; }
.boundary-col h4 .icon { color: var(--signal); }
.boundary-col li { border-bottom-color: var(--hairline-light); color: #9e958a; }
.boundary-col li::before { background: var(--signal); }
.boundary-no h4 .icon { color: #988f85; }
.boundary-no li::before { background: #6f665d; }
.boundary-no li { color: #8b8278; }
.method-quote { color: var(--paper); }

/* ---------- FAQ ---------- */
.faq { background: #0b0b0a; border-top-color: var(--hairline-light); }
.faq-intro h2 { color: var(--paper); }
.faq-intro > p { color: #9d948b; }
.faq-list { border-top-color: var(--hairline-light); }
.faq-item { border-bottom-color: var(--hairline-light); }
.faq-item summary { color: #d8d0c5; }
.faq-item summary:hover { color: var(--signal); }
.faq-num { color: #8a8177; }
.faq-toggle::before, .faq-toggle::after { background: #9b9186; }
.faq-item[open] .faq-toggle::before, .faq-item[open] .faq-toggle::after { background: var(--signal); }
.faq-answer { color: #9f968b; }

/* ---------- final CTA: return to paper ---------- */
.final-cta {
  background: var(--paper);
  border-top: 1px solid rgba(8, 8, 8, .2);
  border-bottom: 0;
  color: var(--ink);
}
.final-glow { background: radial-gradient(ellipse, rgba(200, 23, 31, .09), transparent 68%); }
.final-grid {
  background-image:
    linear-gradient(to right, rgba(8, 8, 8, .06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(8, 8, 8, .05) 1px, transparent 1px);
}
.final-ghost { -webkit-text-stroke-color: rgba(8, 8, 8, .07); }
.final-meta { border-top-color: var(--hairline); color: #746c63; }
.final-cta h2 { color: var(--ink); }
.final-cta h2 .stroke-text { -webkit-text-stroke-width: 1.1px; -webkit-text-stroke-color: rgba(8, 8, 8, .68); }
.final-cta p { color: #5d564f; }
.final-actions .button-primary { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.final-actions .button-primary:hover { background: var(--signal); border-color: var(--signal); color: #fff; }
.final-actions .button-ghost { border-color: rgba(8, 8, 8, .3); color: var(--ink); }
.final-actions .button-ghost:hover { border-color: var(--signal); color: var(--signal); }
.final-specs { color: #7b7369; }
.final-specs span + span::before { color: #b0a99f; }
.final-cta::after {
  content: "";
  position: absolute;
  width: 22px;
  height: 22px;
  right: 5.5%;
  bottom: 11%;
  background-image: radial-gradient(var(--signal) 1.5px, transparent 1.6px);
  background-size: 6px 6px;
  opacity: .55;
}

/* ---------- footer ---------- */
.site-footer { background: var(--ink); border-top-color: var(--hairline-light); }
.brand-footer .brand-mark { color: var(--paper); }
.brand-footer .brand-word { color: var(--paper); }
.brand-footer .brand-word span { color: var(--signal); }
.footer-brand p { color: #979087; }
.footer-build { color: #7b736a; }
.footer-label { color: #7e756c; }
.footer-links a, .footer-links button { color: #b7afa5; }
.footer-links a:hover, .footer-links button:hover { color: var(--signal); }
.footer-bottom { border-top-color: var(--hairline-light); color: #80776e; }
.footer-bottom a { color: #a49b91; }
.footer-bottom a:hover { color: var(--signal); }

/* ---------- booking dialog ---------- */
.booking-dialog {
  border-color: rgba(244, 237, 228, .24);
  background: #0b0b0a;
  box-shadow: 0 40px 120px rgba(0, 0, 0, .75);
}
.booking-dialog::backdrop { background: rgba(4, 4, 4, .84); }
.booking-header .section-label { color: #8a8178; }
.booking-header h2, .booking-result h3 { color: var(--paper); }
.booking-header p, .booking-result > p { color: #9c9389; }
.form-field > span { color: #8b8278; }
.form-field input, .form-field select, .form-field textarea {
  border-color: rgba(244, 237, 228, .17);
  background: rgba(0, 0, 0, .24);
  color: var(--paper);
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  border-color: rgba(200, 23, 31, .7);
  background: rgba(0, 0, 0, .35);
}
.form-field input:user-invalid, .form-field select:user-invalid { border-color: rgba(200, 23, 31, .8); }
.form-privacy, .copy-feedback { color: var(--signal); }
.booking-result pre { border-color: var(--hairline-light); background: rgba(0, 0, 0, .25); color: #c3bbb1; }
.dialog-close { border-color: var(--hairline-light); color: #b1a89e; }
.dialog-close:hover { border-color: var(--signal); color: var(--signal); }

/* =========================================================
   Responsive poster treatment
   ========================================================= */
@media (max-width: 1100px) {
  .poster-actions { width: min(340px, 36vw); padding: 16px 17px 14px; }
  .poster-actions-copy { font-size: 15.5px; }
  .poster-action-row .button { font-size: 10px; padding: 0 9px; }
  .poster-bar-caption p { white-space: normal; }
}
@media (max-width: 1100px) {
  .poster-actions, .poster-scroll, .poster-pixels { display: none; }
  .poster-frame { height: clamp(410px, 58vh, 650px); }
  .poster-image { object-position: 50% 38%; }
  .poster-mobile-copy {
    display: block;
    padding: 34px var(--gutter) 38px;
    background: var(--paper);
    color: var(--ink);
    border-top: 1px solid rgba(8, 8, 8, .2);
  }
  .poster-bar-inner { flex-direction: column; gap: 0; padding: 17px 0 0; }
  .poster-bar-caption { padding: 0 0 15px; border-right: 0; border-bottom: 1px solid var(--hairline-light); }
  .poster-stats { max-width: none; width: 100%; }
  .poster-stats > div { padding: 15px 13px; }
  .poster-stats > div:nth-child(odd) { border-left: 0; }
  .poster-stats > div:nth-child(n+3) { border-top: 1px solid var(--hairline-light); }
  .poster-bar { padding-bottom: 0; }
  .poster-bar .container { padding-bottom: 10px; }
}
@media (max-width: 800px) {
  :root { --header-h: 66px; }
  .header-inner { height: var(--header-h); }
  .mobile-nav { padding-top: 88px; }
  .site-header .button-header { display: none; }
  .poster-mobile-title { font-size: clamp(52px, 14vw, 74px); }
  .poster-bar-caption p { font-size: 11px; }
  .poster-stats strong { font-size: 23px; }
  .poster-mobile-lede { font-size: 12.5px; }
  .philosophy-copy h2, .journey-intro h2, .proof-intro h2, .pricing-intro h2, .method-intro h2, .faq-intro h2 { color: inherit; }
  .philosophy { background-color: var(--paper); }
  .philosophy .section-head { border-top-color: var(--hairline); }
  .final-cta { background-color: var(--paper); }
  .bench-axis { display: none; }
}
@media (max-width: 560px) {
  .poster-frame { height: clamp(360px, 52vh, 500px); }
  .poster-mobile-copy { padding-top: 27px; padding-bottom: 30px; }
  .poster-mobile-actions { flex-direction: column; align-items: stretch; }
  .poster-mobile-actions .button { width: 100%; }
  .poster-mobile-meta { gap: 8px 12px; }
  .poster-mobile-meta span + span::before { margin-right: 12px; }
  .poster-bar-inner { padding-top: 15px; }
  .poster-stats { grid-template-columns: 1fr 1fr; }
  .poster-stats > div { padding: 13px 10px; }
  .poster-stats strong { font-size: 21px; }
  .poster-stats span { font-size: 6px; }
  .poster-bar-caption { padding-bottom: 13px; }
  .poster-bar-caption p { white-space: normal; }
  .poster-bar .container { padding-bottom: 0; }
  .poster-mobile-title { font-size: 52px; }
  .philosophy-copy h2 { font-size: clamp(35px, 9.7vw, 42px); }
  .proof-intro h2 { font-size: clamp(32px, 9vw, 38px); }
  .manifesto-oath { margin-top: 46px; padding-top: 22px; }
  .oath-meta { margin-bottom: 17px; font-size: 6.5px; }
  .oath-copy { font-size: clamp(25px, 6.8vw, 30px); line-height: 1.46; letter-spacing: -.05em; }
  .arena-strip { margin-top: 0; }
}

/* Keep the proof chart readable on narrow screens without stretched axis text. */
@media (max-width: 800px) {
  .bench-axis { display: none; }
  .bench-axis-caption { display: none; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .poster-scroll .icon { animation: none; }
}
