:root {
  color-scheme: light;
  --ink: #191a18;
  --paper: #f6f6f2;
  --surface: #fff;
  --line: #d9dad3;
  --muted: #666960;
  --blue: #2458d3;
  --green: #18794e;
  --red: #b42318;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); }
button, input, textarea, select { font: inherit; }
a { color: inherit; }
.topbar { height: 64px; padding: 0 max(24px, calc((100vw - 1160px) / 2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(246,246,242,.95); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(10px); }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font-size: 14px; font-weight: 720; }
.brand-mark { width: 14px; height: 14px; border: 2px solid var(--ink); transform: rotate(45deg); }
.brand-product { color: var(--muted); font-weight: 500; }
.topbar nav { display: flex; align-items: center; gap: 26px; }
.topbar nav a { color: var(--muted); font-size: 13px; text-decoration: none; }
.topbar nav a[aria-current="page"], .topbar nav a:hover { color: var(--ink); }
.status { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; }
.status i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.shell { max-width: 1160px; margin: 0 auto; padding: 56px 24px 100px; }
.page-head { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 72px; align-items: end; padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.eyebrow { margin: 0 0 13px; color: var(--blue); font-size: 12px; font-weight: 700; }
h1 { margin: 0; max-width: 850px; font-size: 46px; line-height: 1.08; letter-spacing: 0; font-weight: 690; }
.summary { max-width: 68ch; margin: 18px 0 0; color: #484b43; font-size: 16px; line-height: 1.65; }
.facts { margin: 0; }
.facts div { display: grid; grid-template-columns: 108px 1fr; gap: 15px; padding: 10px 0; border-top: 1px solid var(--line); }
.facts div:last-child { border-bottom: 1px solid var(--line); }.facts dt { color: var(--muted); font-size: 12px; }.facts dd { margin: 0; font-size: 13px; font-weight: 620; }
.mini-board { position: relative; height: 245px; overflow: hidden; border: 1px solid #b3b7ae; background: #c3c7be; }.mini-board canvas { display: block; width: 100%; height: 100%; }
.model-caption { position: absolute; left: 11px; bottom: 9px; padding: 4px 6px; background: rgba(246,246,242,.88); color: #555950; font: 8px ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .05em; }
.registry { padding-top: 48px; }
.registry-top { display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.registry-top h2, .form-head h2, .device-head h2 { margin: 0; font-size: 24px; }.registry-top p, .form-head p, .device-head p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.checkpoint { min-width: 180px; border-left: 2px solid var(--green); padding-left: 12px; }.checkpoint span, .checkpoint strong, .checkpoint small { display: block; }.checkpoint span { color: var(--muted); font-size: 10px; text-transform: uppercase; }.checkpoint strong { margin: 5px 0 3px; font-size: 13px; }.checkpoint small { color: var(--muted); font-size: 11px; }
.lookup { max-width: 650px; margin: 28px 0 18px; }.lookup label { display: block; margin-bottom: 7px; color: var(--muted); font-size: 11px; font-weight: 650; }.lookup > div { display: flex; }.lookup input { border-radius: 4px 0 0 4px; }.lookup button { border-radius: 0 4px 4px 0; }
.lookup-result { max-width: 760px; min-height: 76px; padding: 18px; border: 1px solid var(--line); background: var(--surface); }.lookup-result p { margin: 0; color: var(--muted); font-size: 13px; }.lookup-result strong { display: block; margin-bottom: 8px; font-size: 15px; }.lookup-result dl { margin: 0; }.lookup-result dl div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 7px 0; border-top: 1px solid var(--line); }.lookup-result dt { color: var(--muted); font-size: 11px; }.lookup-result dd { margin: 0; overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }.lookup-result.is-valid { border-left: 3px solid var(--green); }.lookup-result.is-invalid { border-left: 3px solid var(--red); }
input, textarea, select { width: 100%; border: 1px solid #b9bcb3; border-radius: 4px; background: var(--surface); color: inherit; padding: 12px; outline: none; }
input:focus, textarea:focus, select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(36,88,211,.12); }
.button, .lookup button { border: 0; border-radius: 4px; background: var(--blue); color: #fff; padding: 12px 16px; cursor: pointer; font-weight: 650; text-decoration: none; white-space: nowrap; }
.button:disabled { opacity: .5; cursor: wait; }
.registry-table { overflow-x: auto; border: 1px solid var(--line); background: var(--surface); }
table { width: 100%; min-width: 760px; border-collapse: collapse; } th, td { padding: 14px; border-bottom: 1px solid var(--line); text-align: left; font-size: 12px; } tr:last-child td { border-bottom: 0; }
th { background: #eff0eb; color: var(--muted); font-size: 10px; text-transform: uppercase; }.key { max-width: 330px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }.status-active { color: var(--green); font-weight: 700; }.empty { padding: 36px; color: var(--muted); text-align: center; }
.registry-note { max-width: 90ch; margin-top: 18px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.architecture { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 52px; border: 1px solid var(--line); background: var(--surface); }
.network-sides { display: grid; grid-template-columns: 1fr 150px 1fr; align-items: stretch; margin-top: 42px; border-block: 1px solid var(--line); }
.network-sides > div { padding: 30px 0; }
.network-sides > div:last-child { padding-left: 32px; border-left: 1px solid var(--line); }
.network-sides > span, .network-sides div > span { color: var(--blue); font-size: 9px; font-weight: 750; letter-spacing: .06em; }
.network-sides h2 { margin: 12px 0 8px; font-size: 20px; }
.network-sides p { max-width: 45ch; margin: 0 0 18px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.network-sides a { color: var(--blue); font-size: 11px; font-weight: 700; text-decoration: none; }
.network-sides > i { display: grid; place-items: center; position: relative; color: var(--muted); font: normal 8px ui-monospace, SFMono-Regular, Menlo, monospace; }
.network-sides > i::before { content: ""; position: absolute; z-index: -1; left: 12px; right: 12px; height: 1px; background: #aeb2a8; }
.network-sides > i::after { content: "→"; position: absolute; right: 9px; padding-left: 4px; background: var(--paper); color: var(--blue); font-size: 13px; }
.architecture article { min-height: 132px; padding: 22px; border-right: 1px solid var(--line); }.architecture article:last-child { border-right: 0; }.architecture span { color: var(--blue); font-size: 11px; font-weight: 700; }.architecture h3 { margin: 15px 0 7px; font-size: 15px; }.architecture p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.boundaries { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; padding: 52px 0 4px; }.boundaries h2 { margin: 0 0 18px; font-size: 21px; }.boundaries ul { margin: 0; padding: 0; list-style: none; }.boundaries li { padding: 11px 0; border-top: 1px solid var(--line); color: #44473f; font-size: 13px; line-height: 1.5; }.boundaries li::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 10px; border-radius: 50%; background: var(--green); }.boundaries .not li::before { background: var(--red); }
.diagram-section { padding: 52px 0; border-bottom: 1px solid var(--line); }.diagram-section h2 { margin: 0 0 8px; font-size: 24px; }.diagram-section > p { max-width: 72ch; margin: 0 0 28px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.trust-flow { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--surface); border: 1px solid var(--line); }.trust-node { position: relative; min-height: 150px; padding: 20px; border-right: 1px solid var(--line); }.trust-node:last-child { border-right: 0; }.trust-node:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: -12px; width: 23px; height: 23px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--blue); font-size: 13px; }.trust-node span { color: var(--blue); font-size: 11px; font-weight: 700; }.trust-node h3 { margin: 17px 0 8px; font-size: 14px; }.trust-node p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.comparison { display: grid; grid-template-columns: 150px 1fr; border-top: 1px solid var(--line); }.comparison-label { padding: 22px 18px 22px 0; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 700; }.comparison-lane { min-width: 0; padding: 18px 0 18px 22px; border-bottom: 1px solid var(--line); }.identity-chain { display: flex; align-items: center; gap: 10px; min-height: 45px; }.identity-box { padding: 9px 11px; border: 1px solid var(--line); background: var(--surface); font-size: 11px; white-space: nowrap; }.identity-box.root { border-color: var(--blue); color: var(--blue); font-weight: 700; }.identity-box.clone { border-color: #e5aaa5; color: var(--red); }.identity-arrow { color: var(--muted); }.lane-note { margin: 10px 0 0; color: var(--muted); font-size: 11px; }
.registration-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 72px; padding-top: 50px; }
.form-head, .device-head { margin-bottom: 27px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.waitlist-form label { display: block; margin-bottom: 18px; }.waitlist-form label > span { display: block; margin-bottom: 7px; color: #4e5149; font-size: 12px; font-weight: 650; }
textarea { min-height: 120px; resize: vertical; line-height: 1.5; }.trap { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-action { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 20px; }.form-action p { max-width: 44ch; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }.form-status { min-height: 22px; margin: 14px 0 0; font-size: 13px; }.form-status.success { color: var(--green); }.form-status.error { color: var(--red); }
.device-stage { position: relative; height: 360px; overflow: hidden; border: 1px solid #b3b7ae; background: #c3c7be; }.device-stage canvas { display: block; width: 100%; height: 100%; }.device-state { position: absolute; left: 14px; bottom: 14px; display: flex; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid var(--line); background: rgba(255,255,255,.92); font-size: 11px; }.device-state i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }.device-state b, .device-state small { display: block; }.device-state small { margin-top: 2px; color: var(--muted); }
.device-details { margin: 18px 0 0; }.device-details div { display: grid; grid-template-columns: 110px 1fr; padding: 9px 0; border-bottom: 1px solid var(--line); }.device-details dt { color: var(--muted); font-size: 12px; }.device-details dd { margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
footer { max-width: 1160px; margin: 0 auto; padding: 22px 24px 38px; display: flex; justify-content: space-between; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
@media (max-width: 840px) {
  .topbar { padding-inline: 18px; }.topbar nav { display: none; }.status { font-size: 0; }.shell { padding-top: 36px; }.page-head, .registration-grid { grid-template-columns: 1fr; gap: 40px; }.page-head { align-items: start; } h1 { font-size: 38px; }.field-row { grid-template-columns: 1fr; gap: 0; }.form-action { align-items: stretch; flex-direction: column; }.device-stage { height: 300px; }.registry-top { align-items: start; flex-direction: column; }.architecture, .boundaries, .trust-flow { grid-template-columns: 1fr; }.architecture article, .trust-node { border-right: 0; border-bottom: 1px solid var(--line); }.architecture article:last-child, .trust-node:last-child { border-bottom: 0; }.trust-node:not(:last-child)::after { top: auto; right: 50%; bottom: -12px; transform: rotate(90deg); }.comparison { grid-template-columns: 1fr; }.comparison-label { padding-bottom: 8px; border-bottom: 0; }.comparison-lane { padding: 0 0 18px; overflow-x: auto; }.network-sides { grid-template-columns: 1fr; }.network-sides > i { min-height: 48px; }.network-sides > i::before { top: 50%; }.network-sides > div:last-child { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Protocol explainer */
.explainer-shell { max-width: 1200px; }
.explainer-head { max-width: 820px; padding-bottom: 38px; }
.explainer-head h1 { font-size: 52px; }
.protocol-map { position: relative; height: 590px; overflow: hidden; border: 1px solid #cfd2c8; background: #ebece7; isolation: isolate; }
.map-heading { position: absolute; z-index: 5; top: 22px; left: 24px; display: flex; flex-direction: column; gap: 5px; }
.map-heading span, .map-node small, .passport-label span, .root-key small { color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .08em; }
.map-heading strong { font-size: 14px; }
.map-lines { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; }
.signal-line { fill: none; stroke: #969b91; stroke-width: 1.5; stroke-dasharray: 5 6; vector-effect: non-scaling-stroke; }
.request-line { stroke: var(--blue); stroke-width: 2; stroke-dasharray: 9 7; animation: signal 1.4s linear infinite; }
.map-lines marker path { fill: var(--blue); }
@keyframes signal { to { stroke-dashoffset: -32; } }
.map-node { position: absolute; z-index: 3; width: 185px; min-height: 122px; padding: 16px; border: 1px solid #c9ccc2; background: rgba(255,255,255,.94); box-shadow: 0 5px 18px rgba(38,42,34,.05); }
.map-node h2 { margin: 11px 0 5px; font-size: 15px; }
.map-node p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.node-icon { position: absolute; top: 14px; right: 14px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #bfc3b8; color: var(--blue); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }
.touch-icon { border-radius: 50%; color: var(--green); }
.touch-node { top: 83px; left: 26px; }
.runtime-node { bottom: 52px; left: 26px; }
.broker-node { top: 211px; right: 177px; }
.registry-node { top: 82px; right: 24px; }
.service-node { right: 24px; bottom: 51px; }
.passport-node { position: absolute; z-index: 2; top: 78px; left: 238px; width: 390px; height: 385px; border: 1px solid #c8cbc1; background: #e5e7e1; }
.passport-node canvas { display: block; width: 100%; height: 100%; }
.passport-node::after { content: ""; position: absolute; inset: 62px 62px 55px; border: 1px solid rgba(36,88,211,.2); border-radius: 50%; pointer-events: none; }
.passport-label { position: absolute; z-index: 3; top: 15px; left: 16px; display: flex; flex-direction: column; gap: 3px; }
.passport-label b { font-size: 13px; }
.root-key { position: absolute; z-index: 3; right: 14px; bottom: 14px; display: flex; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid #bfc3b8; background: rgba(255,255,255,.92); }
.root-key i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(24,121,78,.1); }
.root-key span { display: flex; flex-direction: column; gap: 2px; }
.root-key b { font: 11px ui-monospace, SFMono-Regular, Menlo, monospace; }
.flow-label { position: absolute; z-index: 4; padding: 3px 6px; background: #ebece7; color: #5f635b; font: 9px ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.label-touch, .label-lease, .label-registry, .label-service { display: none; }
.label-request { left: 625px; bottom: 167px; color: var(--blue); }
.lease-visual, .constraint-visual { padding: 76px 0; border-bottom: 1px solid var(--line); }
.section-intro { max-width: 720px; }
.section-intro h2 { margin: 0; font-size: 32px; line-height: 1.15; }
.section-intro > p:last-child { margin: 13px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.lease-track { display: grid; grid-template-columns: 130px 1fr 130px; align-items: center; margin-top: 48px; }
.lease-start, .lease-end { height: 128px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #bfc3b8; background: var(--surface); }
.lease-start b, .lease-end b { margin-top: 8px; font-size: 13px; }
.lease-start small, .lease-end small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.fingerprint, .renew-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--blue); border-radius: 50%; color: var(--blue); font-size: 22px; }
.lease-window { min-width: 0; padding: 0 8px; }
.lease-bar { position: relative; height: 5px; background: #cdd0c7; }
.lease-bar::before, .lease-bar::after { content: ""; position: absolute; top: -4px; width: 1px; height: 13px; background: #999e94; }
.lease-bar::before { left: 0; }
.lease-bar::after { right: 0; }
.lease-bar span { display: block; width: 100%; height: 100%; background: var(--blue); transform-origin: left; animation: lease-fill 3.8s ease-in-out infinite; }
@keyframes lease-fill { 0% { transform: scaleX(0); } 75%,100% { transform: scaleX(1); } }
.request-ticks { height: 54px; display: flex; align-items: flex-end; justify-content: space-around; }
.request-ticks i { width: 2px; height: 16px; background: var(--blue); }
.request-ticks i:nth-child(3n) { height: 30px; }
.request-ticks i:nth-child(4n) { height: 23px; }
.lease-caption { display: flex; justify-content: space-between; gap: 20px; padding: 10px 12px 0; border-top: 1px solid var(--line); font-size: 11px; }
.lease-caption span { color: var(--muted); }
.lease-payload { width: max-content; max-width: 100%; margin: 24px auto 0; padding: 10px 13px; border: 1px solid var(--line); background: #edeee9; font-size: 10px; }
.lease-payload span { margin-right: 14px; color: var(--muted); font-weight: 750; }
.lease-payload code { overflow-wrap: anywhere; color: var(--blue); }
.constraint-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 38px; }
.constraint-panel { min-height: 430px; padding: 24px; border: 1px solid var(--line); background: var(--surface); }
.constraint-panel header { display: flex; flex-direction: column; gap: 5px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.constraint-panel header span { color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .08em; }
.constraint-panel header b { font-size: 16px; }
.fork-diagram, .root-diagram { position: relative; height: 190px; display: flex; align-items: center; }
.source-key, .physical-key { position: relative; z-index: 2; width: 72px; height: 72px; display: grid; place-items: center; border: 1px solid var(--red); color: var(--red); font: 12px ui-monospace, SFMono-Regular, Menlo, monospace; text-align: center; }
.physical-key { width: 86px; height: 86px; border: 2px solid var(--blue); color: var(--blue); font-weight: 750; }
.physical-key small { font-size: 8px; }
.fork-line, .root-branch { width: 70px; height: 118px; border: solid #c4c7bf; border-width: 1px 0 1px 1px; }
.fork-line::before, .root-branch::before { content: ""; position: absolute; top: 94px; left: 72px; width: 70px; height: 1px; background: #c4c7bf; }
.copy-stack, .lease-stack { display: flex; flex: 1; flex-direction: column; justify-content: space-between; height: 150px; }
.copy-stack span, .lease-stack span { padding: 8px 11px; border: 1px solid #e5aaa5; color: var(--red); font: 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.lease-stack span { border-color: #9ab1e7; color: var(--blue); }
.budget-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.budget-row span { height: 20px; border: 1px solid #e2aaa5; background: repeating-linear-gradient(90deg, #f7d9d6 0 8px, #fff 8px 11px); }
.constraint-panel > p { margin: 18px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.shared-budget { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid #9ab1e7; color: var(--blue); font-size: 9px; font-weight: 750; }
.shared-budget > div { height: 7px; background: #dce4f7; }
.shared-budget i { display: block; height: 100%; background: var(--blue); }
.shared-budget b { font: 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-top: 3px solid var(--green); background: var(--surface); }
.proof-strip > div { min-height: 132px; padding: 21px; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.proof-strip > div:last-child { border-right: 0; }
.proof-strip span { color: var(--green); font: 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.proof-strip b { margin-top: 20px; font-size: 13px; line-height: 1.35; }
.proof-strip small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.visual-boundaries { padding-top: 72px; }
.waitlist-head { grid-template-columns: minmax(0, 780px); }
@media (max-width: 980px) {
  .protocol-map { height: auto; padding: 86px 20px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .map-lines, .flow-label { display: none; }
  .passport-node, .map-node { position: relative; inset: auto; width: auto; }
  .passport-node { grid-column: 1 / -1; grid-row: 1; width: 100%; height: 360px; }
  .map-node { min-height: 120px; }
  .broker-node { grid-column: 1 / -1; }
  .explainer-head h1 { font-size: 44px; }
}
@media (max-width: 700px) {
  .explainer-head h1 { font-size: 38px; }
  .protocol-map { grid-template-columns: 1fr; }
  .passport-node, .broker-node { grid-column: auto; }
  .passport-node { height: 300px; }
  .lease-visual, .constraint-visual { padding: 56px 0; }
  .section-intro h2 { font-size: 27px; }
  .lease-track { grid-template-columns: 82px 1fr 82px; }
  .lease-start, .lease-end { height: 108px; }
  .lease-caption { flex-direction: column; gap: 3px; }
  .constraint-grid, .proof-strip { grid-template-columns: 1fr; }
  .proof-strip > div { min-height: 105px; border-right: 0; border-bottom: 1px solid var(--line); }
  .proof-strip > div:last-child { border-bottom: 0; }
  .lease-payload span { display: block; margin: 0 0 5px; }
}
@media (prefers-reduced-motion: reduce) { .request-line, .lease-bar span { animation: none; } }

/* Technical-sheet treatment */
.explainer-shell { padding-top: 40px; }
.explainer-head { display: grid; grid-template-columns: 1fr 1fr; max-width: none; gap: 56px; align-items: end; padding-bottom: 26px; }
.explainer-head .eyebrow { grid-column: 1 / -1; margin-bottom: -35px; }
.explainer-head h1 { max-width: 650px; font-size: 36px; line-height: 1.12; font-weight: 660; }
.explainer-head .summary { margin: 0 0 2px; font-size: 14px; line-height: 1.55; }
.protocol-map { height: 540px; background: #eff0eb; }
.map-node { min-height: 104px; border: 0; border-top: 2px solid #9ea39a; background: transparent; box-shadow: none; padding: 13px 4px 10px; }
.map-node h2 { margin-top: 8px; }
.node-icon { top: 10px; right: 4px; width: auto; height: auto; border: 0; color: var(--muted); font-size: 9px; }
.touch-icon { border-radius: 0; color: var(--muted); }
.passport-node { top: 72px; height: 360px; border: 0; border-top: 2px solid var(--blue); background: transparent; }
.passport-node::after { display: none; }
.request-line { animation: none; }
.lease-bar span { animation: none; }
.plane-legend { display: flex; gap: 26px; margin-top: 38px; color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .06em; }
.plane-legend span { display: flex; align-items: center; gap: 7px; }
.plane-legend i { width: 18px; height: 2px; background: #777c73; }
.plane-legend span:last-child i { background: var(--blue); }
.lease-track { margin-top: 18px; }
.lease-start, .lease-end { border: 0; border-top: 2px solid #858a81; background: transparent; }
.constraint-grid { gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.constraint-panel { min-height: 405px; border: 0; background: transparent; }
.constraint-panel + .constraint-panel { border-left: 1px solid var(--line); }
@media (max-width: 840px) {
  .explainer-head { grid-template-columns: 1fr; gap: 14px; }
  .explainer-head .eyebrow { grid-column: auto; margin-bottom: 0; }
  .explainer-head h1 { font-size: 34px; }
  .explainer-head .summary { margin-top: 4px; }
}
@media (max-width: 700px) { .constraint-panel + .constraint-panel { border-left: 0; border-top: 1px solid var(--line); } }
