@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../assets/fonts/inter-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../assets/fonts/geist-light.ttf") format("truetype");
}

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/geist-regular.ttf") format("truetype");
}

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/geist-medium.ttf") format("truetype");
}

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/geist-semibold.ttf") format("truetype");
}

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

:root {
  --color-background: #f3f1ec;
  --color-dark: #332f30;
  --color-orange: #f3965c;
  --color-blue: #84caf0;
  --color-yellow: #f9da72;
  --content-width: 800px;
  --page-gutter: clamp(12px, 2.5vw, 20px);
  --section-gutter: clamp(20px, 4vw, 32px);
  --section-space: clamp(48px, 9vw, 72px);
  --body-size: clamp(16px, 1.8vw, 18px);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: clamp(16px, 5vw, 48px) var(--page-gutter);
  background: var(--color-background);
  color: var(--color-dark);
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  font-size: 16px;
  line-height: 1.5;
}

.page-box {
  width: 100%;
  max-width: var(--content-width);
  margin-inline: auto;
  border: 1px solid var(--color-dark);
  border-radius: 0;
  container-type: inline-size;
}

img { max-width: 100%; }
button, input { font-family: inherit; }
section { scroll-margin-top: 24px; }

.site-header {
  border-bottom: 1px solid var(--color-dark);
}

.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(18px, 3vw, 24px) var(--section-gutter);
}

.navigation-panel { display: contents; }
.navigation-panel[hidden], .menu-toggle[hidden] { display: none; }
.menu-toggle {
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--color-dark);
  border-radius: 0;
  background: transparent;
  color: var(--color-dark);
  font: inherit;
  cursor: pointer;
}
.menu-toggle:focus-visible { outline: 2px solid var(--color-dark); outline-offset: 4px; }
.menu-icon { position: relative; width: 18px; height: 14px; }
.menu-icon::before, .menu-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 18px;
  height: 1px;
  background: currentColor;
}
.menu-icon::before { top: 3px; }
.menu-icon::after { bottom: 3px; }
.menu-toggle[aria-expanded="true"] .menu-icon::before { top: 6px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon::after { bottom: 7px; transform: rotate(-45deg); }

.brand {
  display: block;
  flex-shrink: 0;
  line-height: 0;
}

.brand img {
  display: block;
  width: 140px;
  max-width: 100%;
  height: auto;
}

.navbar a:focus-visible {
  outline: 2px solid var(--color-dark);
  outline-offset: 8px;
}

.navbar a {
  color: var(--color-dark);
  text-decoration: none;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 20px;
}

.nav-links a,
.login-link {
  display: inline-block;
  padding-block: 10px;
  white-space: nowrap;
}

.nav-links a:hover,
.login-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.navbar .beta-button {
  font-weight: 400;
  padding: 10px 18px;
  border: 1px solid var(--color-dark);
  border-radius: 0;
  background: var(--color-dark);
  color: var(--color-background);
  white-space: nowrap;
}

.navbar .beta-button:hover {
  background: var(--color-background);
  color: var(--color-dark);
}

.page-content {
  min-height: 0;
}

.hero {
  padding: clamp(56px, 12vw, 96px) var(--section-gutter);
  text-align: center;
}

.hero h1 {
  margin: 0;
  font-family: "Inter", system-ui, sans-serif;
  font-size: clamp(2rem, 7cqi, 3.5rem);
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.hero-description {
  max-width: 600px;
  margin: 20px auto 0;
  font-size: var(--body-size);
  font-weight: 300;
  color: #333;
  line-height: 1.65;
  text-wrap: balance;
}

.hero-button {
  display: inline-block;
  max-width: 100%;
  margin-top: 28px;
  padding: 11px 24px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 24px;
  border: 1px solid var(--color-dark);
  border-radius: 0;
  background: var(--color-dark);
  color: var(--color-background);
  text-decoration: none;
}

.hero-button:hover {
  background: var(--color-background);
  color: var(--color-dark);
}

.hero-button:focus-visible {
  outline: 2px solid var(--color-dark);
  outline-offset: 4px;
}

.site-footer {
  border-top: 1px solid var(--color-dark);
}

.brand-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid var(--color-dark);
  border-bottom: 1px solid var(--color-dark);
  padding: clamp(16px, 3vw, 24px) var(--section-gutter);
  text-align: left;
}

.brand-strip h2 {
  flex: 0 0 auto;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: #656061;
}

.brand-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  max-width: 560px;
  margin: 0;
  gap: 16px 12px;
}

.brand-logo-cell {
  flex: 0 0 auto;
  min-width: 0;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.brand-logos img {
  display: block;
  flex-shrink: 0;
  width: auto;
  max-width: 100%;
  height: 25px;
  object-fit: contain;
  filter: brightness(0);
  opacity: 0.85;
  scale: 0.8;
}

/* Optical sizing: different wordmark shapes need different widths. */
.brand-logos img[alt="AMRU"] {
  width: 100px;
}

.brand-logos img[alt="Ijmal"] {
  width: 85px;
  height: 30px;
}

.brand-logos img[alt="Sempurna"] {
  width: 150px;
  max-width: none;
  height: auto;
  flex-shrink: 0;
  transform: translateY(3px);
}

.brand-logos img[alt="Sihate"] {
  width: 78px;
}

/* The strip's bottom border is the footer divider until more sections are added. */
.page-content:has(.brand-strip:last-child) + .site-footer {
  border-top: 0;
}

.features-heading {
  padding: clamp(24px, 4vw, 32px) var(--section-gutter);
  border-bottom: 1px solid var(--color-dark);
}

.features-heading h2 {
  margin: 0;
  font-size: clamp(24px, 3.5cqi, 28px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feature-panel {
  min-width: 0;
  padding: clamp(24px, 4vw, 32px) var(--section-gutter);
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--color-dark);
}

.feature-panel-wide {
  grid-column: 1 / -1;
  border-top: 0;
}

.feature-panel:nth-child(even) {
  border-right: 1px solid var(--color-dark);
}

/* Reserved for future graphics. Intentionally blank, without placeholder UI. */
.feature-graphic {
  height: clamp(120px, 20cqi, 160px);
  margin-bottom: clamp(20px, 3.5vw, 28px);
}

.feature-panel-wide .feature-graphic {
  height: clamp(140px, 25cqi, 200px);
}

.feature-panel .attention-graphic { height: auto; min-height: 0; display: grid; gap: 12px; }
.attention-board { border: 1px solid var(--color-dark); padding: clamp(12px, 2cqi, 18px); }
.attention-board svg { display: block; width: 100%; height: auto; overflow: hidden; }
.attention-guides { fill: none; stroke: var(--color-dark); stroke-width: .6; opacity: .3; }
.attention-labels { fill: var(--color-dark); font: 12px "Geist Mono", monospace; }
.attention-time { fill: #656061; font: 9px "Geist Mono", monospace; }
.attention-chart { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 8px; }
.attention-row-labels { position: relative; font: 12px/1.4 "Geist Mono", monospace; }
.attention-row-labels span { position: absolute; left: 0; transform: translateY(-50%); }
.attention-row-labels span:nth-child(1) { top: 21.6%; }
.attention-row-labels span:nth-child(2) { top: 51.2%; }
.attention-row-labels span:nth-child(3) { top: 78.4%; }
.attention-time-labels { display: flex; justify-content: space-between; margin: 4px 0 0 68px; font: 11px/1.4 "Geist Mono", monospace; color: #656061; }
.attention-trends { shape-rendering: crispEdges; }
.attention-sales { fill: var(--color-blue); }
.attention-costs { fill: var(--color-yellow); }
.attention-margin { fill: var(--color-dark); }
.attention-change { fill: var(--color-orange); }
.attention-bracket { fill: none; stroke: var(--color-orange); stroke-width: 1.5; }
.attention-scan { animation: attention-scan 6s ease-in-out infinite; animation-play-state: paused; }
.attention-scan path { stroke: var(--color-dark); stroke-width: .7; opacity: .4; }
.attention-scan rect { fill: var(--color-orange); }
.attention-graphic.is-playing .attention-scan { animation-play-state: running; }
.attention-callout { display: flex; gap: 9px; align-items: flex-start; border-top: 1px solid var(--color-dark); padding-top: 12px; margin-top: 10px; }
.attention-callout-mark { width: 7px; height: 7px; background: var(--color-orange); flex: 0 0 7px; margin-top: 5px; }
.attention-callout strong, .attention-callout span:not(.attention-callout-mark) { display: block; font: 11px/1.6 "Geist Mono", monospace; }
.attention-callout strong { font-weight: 500; }
.attention-callout span:not(.attention-callout-mark) { color: #656061; font-size: 10px; }
@keyframes attention-scan { 0%, 8% { transform: translateX(0); opacity: 0; } 14% { opacity: 1; } 55%, 88% { transform: translateX(170px); opacity: 1; } 96%, 100% { transform: translateX(170px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .attention-scan { animation: none; transform: translateX(170px); } }

.feature-panel .trace-graphic { height: auto; min-height: 0; display: grid; gap: 12px; font: 12px/1.5 "Geist Mono", monospace; }
.trace-report { border: 1px solid var(--color-dark); padding: 14px; }
.trace-report-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.trace-report-heading strong { font-weight: 500; }
.trace-status { margin-left: auto; font-size: 10px; border-bottom: 2px solid var(--color-orange); }
.trace-document { display: inline-block; width: 14px; height: 18px; border: 2px solid var(--color-blue); flex: 0 0 14px; background: repeating-linear-gradient(to bottom, transparent 0 3px, var(--color-blue) 3px 5px, transparent 5px 7px); background-clip: content-box; padding: 2px; box-sizing: border-box; }
.trace-report-pixels { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 20px; }
.trace-report-pixels i { width: 7px; height: 7px; background: var(--color-dark); }
.trace-report-pixels i:nth-last-child(-n+3) { background: transparent; border: 1px solid var(--color-orange); box-sizing: border-box; }
.trace-report p { margin: 12px 0 0; font-size: 11px; color: #656061; }
.trace-source { --trace-color: var(--color-blue); display: flex; align-items: center; gap: 9px; position: relative; margin-left: 20px; border: 1px solid var(--color-dark); padding: 12px; }
.trace-source small { margin-left: auto; font-size: 10px; }
.trace-returns { --trace-color: var(--color-yellow); }
.trace-returns .trace-document { border-color: var(--color-yellow); background: repeating-linear-gradient(to bottom, transparent 0 3px, var(--color-yellow) 3px 5px, transparent 5px 7px); background-clip: content-box; }
.trace-missing { --trace-color: var(--color-orange); }
.trace-missing .trace-document { border-color: var(--color-orange); background: none; }
.trace-missing small { border-bottom: 2px solid var(--color-orange); }
.trace-link { position: absolute; left: -21px; top: -13px; width: 20px; height: calc(100% + 13px); border-left: 1px solid var(--color-dark); }
.trace-link::after { content: ""; position: absolute; left: 0; top: calc(50% + 6px); width: 20px; border-top: 1px solid var(--color-dark); }
.trace-missing .trace-link::after { border-top-style: dashed; }
.trace-link i { position: absolute; left: -3px; top: 60%; width: 6px; height: 6px; background: var(--trace-color); animation: trace-back 6s ease-in-out infinite; animation-play-state: paused; }
.trace-returns .trace-link i { animation-delay: -3s; }
.trace-graphic.is-playing .trace-link i { animation-play-state: running; }
@keyframes trace-back { 0%, 10% { top: 75%; opacity: 0; } 20% { opacity: 1; } 65%, 80% { top: 0; opacity: 1; } 95%, 100% { top: 0; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .trace-link i { animation: none; top: 30%; } }

.feature-panel .stock-graphic { height: auto; min-height: 0; display: grid; gap: 12px; }
.stock-shelf { --stock-color: var(--color-blue); border: 1px solid var(--color-dark); padding: 10px 12px; }
.stock-slow { --stock-color: var(--color-yellow); }
.stock-low { --stock-color: var(--color-orange); }
.stock-label { display: flex; justify-content: space-between; align-items: center; gap: 8px; font: 11px/1.4 "Geist Mono", monospace; }
.stock-endpoint { font-size: 9px; color: #656061; }
.stock-scene { display: flex; align-items: flex-end; gap: 12px; height: 38px; position: relative; border-bottom: 1px solid var(--color-dark); padding-bottom: 5px; margin-top: 4px; }
.stock-product { display: block; background: var(--color-dark); width: 24px; height: 24px; flex: 0 0 24px; }
.stock-shirt { clip-path: polygon(0 15%, 30% 0, 40% 15%, 60% 15%, 70% 0, 100% 15%, 85% 45%, 75% 35%, 75% 100%, 25% 100%, 25% 35%, 15% 45%); }
.stock-box { height: 20px; background: linear-gradient(to right, var(--color-dark) 0 45%, var(--color-background) 45% 55%, var(--color-dark) 55%); }
.stock-bottle { clip-path: polygon(35% 0, 65% 0, 65% 20%, 80% 20%, 80% 100%, 20% 100%, 20% 20%, 35% 20%); }
.stock-units { display: grid; grid-template-columns: repeat(6, 6px); gap: 3px; align-content: end; min-height: 15px; flex: 0 0 51px; }
.stock-units i { display: block; width: 6px; height: 6px; background: var(--stock-color); }
.stock-path { position: relative; flex: 1; min-width: 30px; height: 16px; align-self: flex-end; }
.stock-path::before { content: ""; position: absolute; top: 8px; width: 100%; border-top: 1px dotted var(--color-dark); }
.stock-sale { position: absolute; top: 5px; left: 0; width: 6px; height: 6px; background: var(--stock-color); animation: stock-transit 4s linear infinite; animation-play-state: paused; opacity: 0; }
.stock-sale + .stock-sale { animation-delay: -2s; }
.stock-slow .stock-sale { animation-duration: 12s; }
.stock-attention { position: absolute; right: 0; bottom: 5px; width: 10px; height: 10px; border-top: 2px solid var(--color-orange); border-right: 2px solid var(--color-orange); animation: stock-attention 6s ease-in-out infinite; animation-play-state: paused; }
.stock-graphic.is-playing .stock-sale, .stock-graphic.is-playing .stock-attention { animation-play-state: running; }
.stock-caption { margin: 0; font-size: 10px; line-height: 1.4; text-align: right; color: #656061; }
@keyframes stock-transit { 0%, 10% { left: 0; opacity: 0; } 15% { opacity: 1; } 75% { left: calc(100% - 6px); opacity: 1; } 85%, 100% { left: calc(100% - 6px); opacity: 0; } }
@keyframes stock-attention { 0%, 40%, 100% { transform: translate(0, 0); } 60%, 80% { transform: translate(-3px, 3px); } }
@media (prefers-reduced-motion: reduce) { .stock-sale, .stock-attention { animation: none; } .stock-sale { opacity: 1; left: 50%; } }

/* Five source records converge into a single, stable business ledger. */
.feature-panel-wide .feature-graphic.channel-graphic {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(60px, 0.65fr) minmax(0, 1.6fr);
  align-items: center;
  height: auto;
  min-height: 240px;
  padding-block: 20px;
  gap: 0;
}
.channel-sources { display: grid; gap: 8px; }
.channel-source {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 34px;
  border: 1px solid var(--color-dark);
  padding: 6px 10px;
  font-size: clamp(10px, 1.7cqi, 13px);
  line-height: 1.4;
}
.channel-source { justify-content: flex-start; }
.channel-platform-icon { width: 18px; height: 18px; flex: 0 0 18px; object-fit: contain; filter: brightness(0); opacity: 0.8; }
.channel-platform-icon.channel-platform-woo { width: 28px; flex-basis: 28px; }
.channel-platform-icon.channel-platform-storehub { width: 60px; flex-basis: 60px; }
.channel-source > span:not(.source-pixels) { min-width: 0; }
.source-pixels { margin-left: auto; color: var(--color-blue); font-family: monospace; white-space: nowrap; }
.channel-source:nth-child(2n) .source-pixels { color: var(--color-yellow); }
.channel-source:last-child .source-pixels { color: var(--color-orange); }
.channel-alignment { position: relative; display: grid; gap: 8px; padding-inline: 10px; }
.alignment-label { position: absolute; top: -23px; width: 100%; left: 0; text-align: center; font: 9px "Geist Mono", monospace; color: #656061; letter-spacing: 0.08em; }
.channel-lane { height: 34px; position: relative; }
.channel-lane::before { content: ""; position: absolute; top: 50%; width: 100%; border-top: 1px solid var(--color-dark); }
.channel-lane i { position: absolute; top: calc(50% - 3px); left: 0; width: 6px; height: 6px; background: var(--color-blue); animation: channel-transit 7s linear infinite; }
.channel-lane:nth-of-type(2) i { background: var(--color-yellow); animation-delay: -1.4s; }
.channel-lane:nth-of-type(3) i { animation-delay: -2.8s; }
.channel-lane:nth-of-type(4) i { background: var(--color-orange); animation-delay: -4.2s; }
.channel-lane:nth-of-type(5) i { animation-delay: -5.6s; }
.channel-ledger { align-self: stretch; border: 1px solid var(--color-dark); padding: 16px; background: var(--color-background); }
.channel-ledger-heading { display: flex; align-items: center; gap: 10px; font-size: clamp(12px, 1.8cqi, 14px); }
.channel-ledger-heading img { width: 24px; height: auto; }
.channel-ledger-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 20px; padding-bottom: 10px; border-bottom: 1px solid var(--color-dark); font: 10px "Geist Mono", monospace; }
.channel-ledger-data { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 10px; padding-top: 16px; }
.channel-ledger-data span { --ledger-ink: var(--color-blue); height: 5px; width: 75%; background: repeating-linear-gradient(to right, var(--ledger-ink) 0 5px, transparent 5px 7px); }
.channel-ledger-data span:nth-child(3n + 2) { --ledger-ink: var(--color-yellow); }
.channel-ledger-data span:nth-child(3n) { --ledger-ink: var(--color-orange); width: 60%; }
.channel-ledger-data span:nth-child(4n) { width: 90%; }
.channel-ledger-foot { font: 9px "Geist Mono", monospace; color: #656061; margin: 20px 0 0; }
.channel-caption { grid-column: 1 / -1; margin: 16px 0 0; text-align: right; font-size: 10px; color: #656061; }
@keyframes channel-transit { 0%, 10% { left: 0; opacity: 0; } 15% { opacity: 1; } 75% { left: calc(100% - 6px); opacity: 1; } 85%, 100% { left: calc(100% - 6px); opacity: 0; } }
@media (max-width: 760px) {
  .feature-panel-wide .feature-graphic.channel-graphic { grid-template-columns: 1fr; padding-block: 0; min-height: 0; }
  .channel-sources { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .channel-source { font-size: 11px; min-height: 36px; padding: 6px 8px; gap: 6px; }
  .channel-platform-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .channel-platform-icon.channel-platform-woo { width: 24px; flex-basis: 24px; }
  .channel-platform-icon.channel-platform-storehub { width: 48px; flex-basis: 48px; }
  .channel-source .source-pixels { font-size: 9px; letter-spacing: -1px; }
  .channel-source:last-child { grid-column: 1 / -1; justify-self: center; width: calc(50% - 4px); }
  .channel-alignment { display: flex; justify-content: center; gap: 30px; height: 60px; padding: 0; }
  .alignment-label { top: 22px; background: var(--color-background); z-index: 1; width: auto; left: 50%; transform: translateX(-50%); padding: 3px 8px; }
  .channel-lane { height: 60px; width: 6px; }
  .channel-lane::before { top: 0; left: 50%; height: 100%; width: 0; border-top: 0; border-left: 1px solid var(--color-dark); }
  .channel-lane i { left: 0; top: 0; animation-name: channel-transit-down; }
  .channel-ledger { padding: 16px; }
  .channel-ledger-heading { font-size: 13px; }
  .channel-caption { text-align: center; }
}
@keyframes channel-transit-down { 0%, 10% { top: 0; opacity: 0; } 15% { opacity: 1; } 75% { top: calc(100% - 6px); opacity: 1; } 85%, 100% { top: calc(100% - 6px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .channel-lane i { animation: none; } }

.feature-panel .profit-graphic {
  height: auto;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding-block: 8px;
}
.feature-panel .ledger-graphic { min-height: 0; gap: 8px; padding: 0; }
.pixel-ledger { display: block; width: 100%; height: auto; aspect-ratio: 320 / 180; }
.ledger-scene { position: relative; min-width: 0; }
.ledger-revenue { position: absolute; left: 5.6%; top: 17%; font: 12px/1.5 "Geist Mono", monospace; }
.ledger-html-labels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; font: 11px/1.5 "Geist Mono", monospace; text-align: center; }
.ledger-html-labels span { display: block; margin-top: 4px; }
.ledger-wire { fill: none; stroke: var(--color-dark); stroke-width: 1; shape-rendering: crispEdges; }
.ledger-type { font-family: "Geist Mono", monospace; font-size: 10px; fill: var(--color-dark); }
.ledger-caption { margin: 0; text-align: right; font-size: 10px; line-height: 1.4; color: #656061; }
.ledger-particle { fill: var(--color-dark); opacity: 0; animation: ledger-travel 6s linear infinite; animation-play-state: paused; }
.is-playing .ledger-particle { animation-play-state: running; }
.ledger-cost { --travel: -102px; fill: var(--color-blue); }
.ledger-fees { --travel: 0px; fill: var(--color-yellow); animation-delay: -2s; }
.ledger-profit { --travel: 102px; fill: var(--color-orange); animation-delay: -4s; }
@keyframes ledger-travel {
  0%, 12% { opacity: 0; transform: translate(0, 0); }
  15% { opacity: 1; transform: translate(0, 0); }
  25% { opacity: 1; transform: translate(0, 16px); }
  65% { opacity: 1; transform: translate(var(--travel), 16px); }
  75% { opacity: 1; transform: translate(var(--travel), 38px); }
  80%, 100% { opacity: 0; transform: translate(var(--travel), 38px); }
}
@media (prefers-reduced-motion: reduce) { .ledger-particle { animation: none; } }

.profit-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 8px;
  font-family: "Geist Mono", monospace;
  font-size: 11px;
  line-height: 1.4;
}
.profit-row > span:last-child { text-align: right; }
.profit-pixels { display: grid; grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 2px; }
.profit-pixel { display: block; height: 14px; background: #ddd9d2; }
.profit-pixel.is-filled { background: var(--color-dark); }
.profit-result .profit-pixel.is-filled { background: var(--color-orange); }
.profit-result { font-weight: 400; }
.profit-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 10px;
  color: #656061;
}
.profit-replay {
  min-height: 44px;
  border: 0;
  padding: 8px 0 8px 8px;
  background: transparent;
  color: var(--color-dark);
  font: inherit;
  cursor: pointer;
}
.profit-replay:focus-visible { outline: 2px solid var(--color-dark); outline-offset: 3px; }
.profit-pixel.is-filled {
  animation: profit-pulse 4s ease-in-out infinite;
  animation-delay: calc(var(--pixel) * -0.12s);
  animation-play-state: paused;
}
.profit-graphic.is-playing .profit-pixel.is-filled { animation-play-state: running; }
@keyframes profit-pulse {
  0%, 35%, 100% { opacity: 1; }
  60% { opacity: 0.65; }
}
@media (prefers-reduced-motion: reduce) {
  .profit-pixel.is-filled { animation: none; }
  .profit-replay { display: none; }
}

.feature-copy {
  margin-top: auto;
}

.feature-copy h3 {
  margin: 0;
  font-size: clamp(18px, 2.5cqi, 20px);
  font-weight: 550;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.feature-copy p {
  max-width: 440px;
  margin: 10px 0 0;
  color: #333;
  font-size: clamp(14px, 1.8cqi, 15px);
  font-weight: 300;
  line-height: 1.65;
}

.founder-note {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-top: 1px solid var(--color-dark);
  padding: var(--section-space) var(--section-gutter);
  background: #ece9e3;
}

/* Procedural dither waves stay behind the solid founder note. */
.founder-pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

.founder-note-card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 500px;
  margin-inline: auto;
  padding: clamp(20px, 4.5cqi, 36px);
  border: 1px solid var(--color-dark);
  background: var(--color-background);
}

.founder-note-card h2 {
  margin: 0;
  font-size: clamp(22px, 3.25cqi, 26px);
  font-weight: 550;
  line-height: 1.25;
  letter-spacing: -0.03em;
}

.founder-note-body {
  margin-top: 24px;
  font-family: "Geist Mono", "Courier New", monospace;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
  color: #333;
}

.founder-note-body p {
  margin: 0;
}

.founder-note-body p + p {
  margin-top: 16px;
}

.founder-note-signoff {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: clamp(24px, 4vw, 32px);
}

.founder-note-signoff > div:last-child { min-width: 0; overflow-wrap: anywhere; }
.founder-note-body { overflow-wrap: break-word; }

.founder-avatar-frame {
  position: relative;
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  overflow: hidden;
}

.founder-avatar-frame img,
.founder-avatar {
  display: block;
  width: 100%;
  height: 100%;
}

.founder-avatar {
  position: absolute;
  inset: 0;
  visibility: hidden;
  image-rendering: pixelated;
}

.founder-avatar.is-ready {
  visibility: visible;
}

.founder-avatar-frame:has(.is-ready) img {
  visibility: hidden;
}

.founder-name,
.founder-role {
  margin: 0;
  font-size: 14px;
}

.founder-role {
  margin-top: 2px;
  color: #656061;
}

.footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 4vw, 32px);
  padding: clamp(28px, 4vw, 32px) var(--section-gutter);
}

.footer-brand p {
  margin: 20px 0 0;
  line-height: 1.6;
}

.footer-brand .footer-monomark {
  width: 64px;
  height: auto;
}

.footer-menu h2 {
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 400;
  color: #656061;
}

.footer-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-menu li + li {
  margin-top: 10px;
}

.site-footer a {
  color: var(--color-dark);
  text-decoration: none;
}

.footer-menu a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.footer-menu a { display: inline-block; line-height: 1.5; }
.footer-menu li + li { margin-top: 10px; }

.site-footer a:focus-visible {
  outline: 2px solid var(--color-dark);
  outline-offset: 4px;
}

.footer-bottom {
  border-top: 1px solid var(--color-dark);
  padding: 18px var(--section-gutter);
}

.footer-bottom small {
  font-size: 14px;
}

.waitlist {
  border-top: 1px solid var(--color-dark);
  padding: var(--section-space) var(--section-gutter);
  text-align: center;
  scroll-margin-top: 24px;
}

.waitlist h2 {
  max-width: 540px;
  margin: 0 auto;
  font-size: clamp(28px, 4.5cqi, 36px);
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.waitlist-description {
  max-width: 440px;
  margin: 20px auto 0;
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 1.65;
  text-wrap: balance;
}

.waitlist-form {
  max-width: 560px;
  margin: 28px auto 0;
  text-align: left;
}

.waitlist-form label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

.waitlist-fields {
  display: flex;
  gap: 10px;
}

.waitlist-fields button { flex-shrink: 0; }

.waitlist-fields input,
.waitlist-fields button {
  min-height: 48px;
  border: 1px solid var(--color-dark);
  border-radius: 0;
  padding: 12px 16px;
  font: inherit;
  font-weight: 400;
}

.waitlist-fields input {
  flex: 1;
  min-width: 0;
  background: transparent;
  color: var(--color-dark);
}

.waitlist-fields button {
  background: var(--color-dark);
  color: var(--color-background);
  cursor: pointer;
}

.waitlist-fields button:hover {
  background: var(--color-background);
  color: var(--color-dark);
}

.waitlist-fields :focus-visible {
  outline: 2px solid var(--color-dark);
  outline-offset: 3px;
}

.waitlist-status {
  margin: 12px 0 0;
  color: #656061;
  font-size: 13px;
  text-align: center;
}

@media (max-width: 600px) {
  .waitlist {
    padding: 48px 20px;
  }

  .waitlist-fields {
    flex-direction: column;
  }

  body {
    padding: 20px 16px;
  }

  .navbar {
    flex-wrap: wrap;
    gap: 16px;
    padding: 20px;
  }

  .brand img {
    width: 120px;
  }

  .nav-actions {
    gap: 12px;
  }

  .navbar .beta-button {
    padding-inline: 12px;
  }

  .hero {
    padding: 56px 20px;
  }

  .hero-description {
    font-size: 1rem;
  }

  .hero-break {
    display: none;
  }

  .footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 20px;
    padding: 28px 20px;
  }

  .brand-strip {
    flex-direction: column;
    gap: 12px;
    padding: 24px 20px;
    text-align: center;
  }

  .brand-logos {
    max-width: 360px;
    margin-inline: auto;
    gap: 16px 28px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .features-heading,
  .feature-panel {
    padding: 28px 20px;
  }

  .features-heading h2 {
    font-size: 24px;
  }

  .feature-grid {
    grid-template-columns: 1fr;
  }

  .feature-panel:nth-child(even) {
    border-right: 0;
  }

  .feature-graphic,
  .feature-panel-wide .feature-graphic {
    height: 140px;
    margin-bottom: 24px;
  }

  .footer-bottom {
    padding: 18px 20px;
  }

  .founder-note {
    padding: 40px 20px;
  }

  .founder-note-card {
    padding: 24px;
  }

  .founder-note-card h2 {
    font-size: 24px;
  }
}

@media (max-width: 380px) {
  .navbar {
    padding-inline: 12px;
  }

  .brand img {
    width: 100px;
  }

  .nav-actions {
    gap: 8px;
  }
}

@media (max-width: 760px) {
  .navbar { flex-wrap: wrap; gap: 0; padding: 20px; }
  .menu-toggle:not([hidden]) { display: inline-flex; margin-left: auto; }
  .navigation-panel:not([hidden]) {
    display: block;
    flex-basis: calc(100% + 2 * var(--section-gutter));
    margin: 20px calc(-1 * var(--section-gutter)) 0;
    border-top: 1px solid var(--color-dark);
  }
  .nav-links { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links a { display: block; min-height: 48px; padding: 14px var(--section-gutter); }
  .nav-links li { border-bottom: 1px solid var(--color-dark); }
  .nav-actions { display: flex; gap: 16px; padding: 16px var(--section-gutter) 0; }
  .nav-actions > a { flex: 1; min-height: 44px; text-align: center; }
  .brand-strip { flex-direction: column; gap: 12px; text-align: center; }
}

@media (max-width: 380px) {
  body { padding-inline: 12px; }
  .founder-note { padding-inline: 16px; }
  .founder-note-card { padding: 20px; }
  .founder-note-signoff { gap: 10px; }
  .founder-note-signoff > div:last-child { min-width: 0; overflow-wrap: anywhere; }
}

/* Keep dimensions fluid instead of overriding them with fixed mobile values. */
@media (max-width: 760px) {
  body { padding: clamp(16px, 4vw, 32px) var(--page-gutter); }
  .navbar { padding: clamp(18px, 3vw, 24px) var(--section-gutter); }
  .navbar .brand img { width: clamp(100px, 20vw, 140px); }
  .hero { padding: clamp(56px, 12vw, 96px) var(--section-gutter); }
  .hero-break { display: none; }
  .hero-description { font-size: var(--body-size); }
  .founder-note, .waitlist { padding: var(--section-space) var(--section-gutter); }
  .founder-note-card { padding: clamp(20px, 4.5cqi, 36px); }
  .founder-note-card h2 { font-size: clamp(22px, 3.25cqi, 26px); }
  .features-heading, .feature-panel { padding: clamp(24px, 4vw, 32px) var(--section-gutter); }
  .features-heading h2 { font-size: clamp(24px, 3.5cqi, 28px); }
  .feature-graphic { height: clamp(120px, 20cqi, 160px); }
  .feature-panel-wide .feature-graphic { height: clamp(140px, 25cqi, 200px); }
  .footer-top { padding: clamp(28px, 4vw, 32px) var(--section-gutter); }
  .footer-bottom { padding-inline: var(--section-gutter); }
  .waitlist-fields { flex-direction: column; }
  .waitlist-fields button { width: 100%; }
}

.brand-logo-track { display: flex; }
.brand-logo-group { display: flex; align-items: center; gap: 12px; }
.brand-logo-group[aria-hidden] { display: none; }
.brand-motion-toggle { display: none; }

@keyframes brand-loop {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

@media (max-width: 760px) {
  .brand-strip { padding: 24px var(--section-gutter) 16px; }
  .brand-logos.has-logo-track {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  }
  .brand-logo-track { width: max-content; animation: brand-loop 24s linear infinite; }
  .brand-logo-group { gap: 24px; padding-right: 24px; flex-shrink: 0; }
  .brand-logo-group[aria-hidden] { display: flex; }
  .brand-logos.is-paused .brand-logo-track,
  .brand-logos:hover .brand-logo-track { animation-play-state: paused; }
  .brand-motion-toggle {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 12px;
    background: transparent;
    border: 0;
    color: #656061;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
  }
  .brand-motion-toggle:focus-visible { outline: 2px solid var(--color-dark); outline-offset: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-logo-track { animation: none; }
  .brand-logo-group[aria-hidden] { display: none; }
  .brand-logos.has-logo-track { overflow-x: auto; mask-image: none; }
  .brand-motion-toggle { display: none; }
}

/* Complete compact-screen type scale; desktop weights stay unchanged. */
@media (max-width: 760px) {
  body { font-size: clamp(14px, calc(12px + 0.5vw), 16px); line-height: 1.5; }
  .nav-links a, .nav-actions a, .menu-toggle {
    font-size: clamp(14px, calc(12px + 0.5vw), 16px);
    line-height: 1.4;
  }
  .hero h1 { font-size: clamp(28px, 7cqi, 48px); line-height: 1.12; }
  .hero-description, .waitlist-description {
    font-size: clamp(13px, calc(10px + 0.7vw), 15px);
    line-height: 1.5;
    margin-top: clamp(16px, 3vw, 20px);
  }
  .hero-button { font-size: clamp(14px, calc(12px + 0.5vw), 16px); line-height: 1.5; }
  .brand-strip h2 { font-size: clamp(12px, calc(10px + 0.6vw), 14px); line-height: 1.4; }
  .features-heading h2 { font-size: clamp(21px, 3.5cqi, 28px); line-height: 1.2; }
  .feature-copy h3 { font-size: clamp(17px, 2.8cqi, 20px); line-height: 1.3; }
  .feature-copy p { font-size: clamp(13px, calc(11px + 0.6vw), 15px); line-height: 1.65; }
  .founder-note-card h2 { font-size: clamp(21px, 3.5cqi, 26px); line-height: 1.2; text-wrap: balance; }
  .founder-note-body {
    font-size: clamp(13px, calc(11px + 0.6vw), 15px);
    line-height: 1.65;
    margin-top: clamp(18px, 3vw, 24px);
  }
  .founder-note-body p + p { margin-top: clamp(14px, 2.5vw, 18px); }
  .founder-name, .founder-role { font-size: clamp(12px, calc(10px + 0.6vw), 14px); line-height: 1.5; }
  .waitlist h2 { font-size: clamp(26px, 4.8cqi, 36px); line-height: 1.15; }
  .waitlist-form label { font-size: clamp(12px, calc(10px + 0.6vw), 14px); line-height: 1.5; }
  /* 16px inputs avoid automatic focus zoom on iOS. */
  .waitlist-fields input { font-size: 16px; line-height: 1.5; }
  .waitlist-fields button { font-size: clamp(14px, calc(12px + 0.5vw), 16px); line-height: 1.5; }
  .waitlist-status { font-size: clamp(12px, calc(10px + 0.4vw), 13px); line-height: 1.6; }
  .footer-brand p, .footer-menu a { font-size: clamp(13px, calc(11px + 0.6vw), 16px); line-height: 1.6; }
  .footer-menu a { display: inline-flex; align-items: center; min-height: 36px; }
  .footer-menu li + li { margin-top: 0; }
  .footer-menu h2, .footer-bottom small { font-size: clamp(12px, calc(10px + 0.6vw), 14px); line-height: 1.5; }
}

@media (max-width: 600px) {
  :root { --page-gutter: 8px; --section-gutter: 16px; }
  body { padding-inline: var(--page-gutter); }
  .founder-note { padding-inline: 12px; }
  .founder-note-card {
    padding: clamp(28px, 7vw, 40px) clamp(16px, 4vw, 24px);
  }
  .founder-avatar-frame { width: 48px; height: 48px; }
  .founder-note-signoff { gap: 12px; margin-top: 24px; }
  .hero-description, .waitlist-description { max-width: 34ch; }
  .hero-button { margin-top: 24px; padding-inline: 18px; }
  .feature-copy p { line-height: 1.55; }
}

/* Final feature QA rules: natural heights and readable text at every breakpoint. */
/* Restrained feature refinement; original saved in the dated full-site backup. */
.features .feature-panel { padding-block: clamp(36px, 5vw, 48px); }
.features .feature-panel:not(.feature-panel-wide) > .feature-graphic { width: 100%; max-width: 300px; margin-inline: auto; margin-bottom: 36px; }
.features .stock-shelf { border: 0; padding: 10px 0; }
.features .stock-graphic { gap: 18px; }
.features .attention-board { border: 0; padding: 10px 0; }
.features .attention-callout { padding-top: 16px; margin-top: 16px; }
.features .stock-caption, .features .ledger-caption { margin-top: 8px; }
.features .trace-graphic { gap: 16px; }
.features .trace-source { border: 0; padding: 12px 0 12px 10px; }
.trace-sources { position: relative; display: grid; gap: 16px; }
.trace-spine { position: absolute; left: 0; top: -16px; bottom: 21px; width: 1px; background: var(--color-dark); }
.trace-marker { position: absolute; left: -2.5px; top: 75%; width: 6px; height: 6px; transform: translateY(-50%); background: var(--color-blue); opacity: 0; animation: trace-back 6s ease-in-out infinite; animation-play-state: paused; }
.trace-marker-yellow { background: var(--color-yellow); animation-delay: -3s; }
.trace-graphic.is-playing .trace-marker { animation-play-state: running; }
.features .trace-link { left: -20px; top: 50%; height: 0; width: 20px; border-left: 0; }
.features .trace-link::after { left: 0; top: 0; }
@media (prefers-reduced-motion: reduce) { .trace-marker { animation: none; opacity: 1; top: 30%; } .trace-marker-yellow { top: 65%; } }
@media (max-width: 760px) {
  .features .feature-panel { padding-block: 32px; }
  .features .feature-panel:not(.feature-panel-wide) > .feature-graphic { max-width: 360px; margin-bottom: 32px; }
}
@media (max-width: 380px) {
  .features .feature-panel { padding-block: 28px; }
}

.progress-teaser { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: clamp(24px, 4vw, 32px) var(--section-gutter); border-top: 1px solid var(--color-dark); }
.progress-teaser h2 { margin: 0; font-size: clamp(18px, 2.5vw, 22px); font-weight: 550; line-height: 1.3; letter-spacing: -.025em; }
.progress-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--color-dark); text-decoration: none; font-size: 14px; line-height: 1.5; }
.progress-link:hover { text-decoration: none; }
.progress-link-label { background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: left bottom; background-size: 0 1px; padding-bottom: 2px; transition: background-size 180ms ease; }
.progress-link:hover .progress-link-label, .progress-link:focus-visible .progress-link-label { background-size: 100% 1px; }
.progress-link > span[aria-hidden] { transition: transform 180ms ease; }
.progress-link:hover > span[aria-hidden] { transform: translateX(3px); }
.progress-back:hover > span[aria-hidden] { transform: translateX(-3px); }
@media (prefers-reduced-motion: reduce) { .progress-link-label, .progress-link > span[aria-hidden] { transition: none; } .progress-link:hover > span[aria-hidden] { transform: none; } }
.progress-link:focus-visible { outline: 2px solid var(--color-dark); outline-offset: 4px; }
.progress-link span { flex-shrink: 0; }
.progress-intro { padding: clamp(32px, 6vw, 56px) var(--section-gutter); }
.progress-back { color: #656061; font-size: 13px; margin-bottom: 24px; }
.progress-intro h1 { max-width: 600px; margin: 0; font-size: clamp(30px, 5.5vw, 44px); font-weight: 650; line-height: 1.12; letter-spacing: -.04em; text-wrap: balance; }
.progress-intro > p { max-width: 480px; margin: 18px 0 0; font-size: 16px; line-height: 1.6; }
.progress-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-top: 1px solid var(--color-dark); padding: 24px var(--section-gutter) 0; }
.progress-section-heading h2, .progress-focus h2 { margin: 0; font-size: 20px; font-weight: 550; line-height: 1.3; letter-spacing: -.025em; }
.progress-section-heading > span { color: #656061; font: 11px/1.5 "Geist Mono", monospace; }
.progress-note { color: #656061; font-size: 12px; line-height: 1.6; }
.progress-updates > .progress-note { padding: 0 var(--section-gutter); margin: 12px 0 24px; }
.progress-entry { border-top: 1px solid var(--color-dark); padding: clamp(28px, 5vw, 40px) var(--section-gutter); }
.progress-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; color: #656061; font: 11px/1.5 "Geist Mono", monospace; }
.progress-meta > span { border-left: 3px solid var(--color-blue); padding-left: 8px; }
.progress-entry:nth-of-type(2) .progress-meta > span { border-color: var(--color-yellow); }
.progress-entry:nth-of-type(3) .progress-meta > span { border-color: var(--color-orange); }
.progress-entry h3 { margin: 18px 0 0; max-width: 560px; font-size: clamp(20px, 3vw, 25px); font-weight: 550; line-height: 1.3; letter-spacing: -.025em; }
.progress-entry > p, .progress-focus > p { max-width: 580px; margin: 14px 0 0; font-size: 14px; line-height: 1.7; }
.progress-entry .progress-impact { color: #656061; font-size: 13px; }
.progress-focus { border-top: 1px solid var(--color-dark); padding: clamp(28px, 5vw, 40px) var(--section-gutter); }
.progress-improvements { border-top: 1px solid var(--color-dark); padding: 28px var(--section-gutter); }
.progress-improvements h3 { margin: 0; font-size: 18px; line-height: 1.4; font-weight: 550; letter-spacing: -.025em; }
.progress-improvements .progress-note { margin: 6px 0 0; }
.progress-improvements ul { margin: 14px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.7; }
.progress-improvements li + li { margin-top: 6px; }
.progress-focus > .progress-note { font-size: 12px; }
.progress-page .site-footer { border-top: 1px solid var(--color-dark); }
@media (max-width: 600px) {
  .progress-teaser { flex-direction: column; align-items: flex-start; gap: 8px; }
  .progress-link { font-size: 13px; }
  .progress-section-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
  .progress-intro > p { font-size: 14px; }
  .progress-entry > p, .progress-focus > p { font-size: 13px; }
}

.feature-graphic, .feature-graphic > *, .channel-ledger, .channel-source { min-width: 0; }
.channel-platform-icon, .source-pixels { flex-shrink: 0; }
.trace-source > span:not(.trace-document):not(.trace-link) { min-width: 0; overflow-wrap: break-word; }
.trace-source small, .stock-endpoint { flex-shrink: 0; }
.trace-source small, .trace-status, .stock-endpoint { font-size: 11px; }
.stock-label, .channel-ledger-columns, .channel-ledger-foot, .alignment-label { font-size: 11px; line-height: 1.5; }
.features .stock-caption, .features .ledger-caption, .features .channel-caption {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  color: #656061;
}
.attention-callout span:not(.attention-callout-mark) { font-size: 11px; }
.channel-ledger-foot, .channel-caption { overflow-wrap: break-word; }
.attention-board svg { aspect-ratio: 220 / 162; }
.attention-scan, .ledger-particle { transform-box: view-box; transform-origin: 0 0; }
.channel-lane i { animation-play-state: paused; }
.channel-graphic.is-playing .channel-lane i { animation-play-state: running; }
@media (max-width: 760px) {
  .feature-grid { grid-template-columns: minmax(0, 1fr); }
  .feature-panel:nth-child(even) { border-right: 0; }
  .feature-panel .feature-graphic { margin-bottom: 28px; }
  .channel-source { font-size: 13px; min-height: 44px; }
  .channel-ledger-heading { font-size: 14px; }
}
@media (max-width: 600px) {
  .channel-sources { grid-template-columns: minmax(0, 1fr); }
  .channel-source:last-child { grid-column: auto; width: auto; justify-self: stretch; }
  .channel-alignment { gap: 24px; }
  .trace-source { gap: 8px; padding: 12px 10px; }
  .trace-report-heading { gap: 8px; }
  .trace-status { margin-left: 23px; }
  .attention-chart { grid-template-columns: 50px minmax(0, 1fr); }
  .attention-time-labels { margin-left: 58px; }
  .stock-label { flex-wrap: wrap; }
}
/* Older engines retain usable typography without container query units. */
@supports not (font-size: 1cqi) {
  .hero h1 { font-size: clamp(28px, 7vw, 56px); }
  .features-heading h2, .founder-note-card h2 { font-size: clamp(21px, 3.5vw, 28px); }
  .feature-copy h3 { font-size: clamp(17px, 2.8vw, 20px); }
  .feature-copy p { font-size: 14px; }
  .channel-source { font-size: 13px; }
  .channel-ledger-heading { font-size: 14px; }
  .attention-board { padding: 14px; }
  .founder-note-card { padding: 28px 20px; }
  .waitlist h2 { font-size: clamp(26px, 4.8vw, 36px); }
}
@media (prefers-reduced-motion: reduce) {
  .channel-graphic.is-playing .channel-lane i { animation: none; }
}
