.tabs { min-width: 0; }
[role="tablist"] { display: flex; flex-wrap: wrap; gap: 6px; width: fit-content; max-width: 100%; margin-bottom: 24px; padding: 5px; border: 1px solid var(--border); border-radius: var(--r-pill); background: var(--panel-2); }
[role="tab"] { min-height: 44px; padding: 10px 22px; border: 0; border-radius: var(--r-pill); color: var(--muted); background: var(--clear); font-size: var(--text-sm); }
[role="tab"][aria-selected="true"] { color: var(--accent-dark); background: var(--panel); box-shadow: 0 4px 12px var(--accent-a10); }
[role="tabpanel"] { min-width: 0; }
.toc-tabs { position: sticky; top: 0; z-index: 40; display: flex; gap: 8px; min-height: var(--toc-h); max-width: 100%; overflow-x: auto; padding: 10px; border: 1px solid var(--border); border-radius: var(--r-menu); background: var(--panel); box-shadow: 0 8px 24px var(--accent-a10); scrollbar-width: thin; }
.toc-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; flex-shrink: 0; padding: 8px 18px; border-radius: var(--r-pill); color: var(--muted); text-decoration: none; font-size: var(--text-sm); white-space: nowrap; }
.toc-tabs a.is-current { color: var(--accent-dark); background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent-a14); }
.toc-tabs.toc-static { position: static; }
body:has(.toc-tabs) section[id] { scroll-margin-top: var(--anchor-offset); }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary { position: relative; list-style: none; padding: 22px 40px 22px 0; font-weight: var(--weight-heading); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: 8px; top: 20px; color: var(--accent); font-size: var(--text-h3); line-height: 1; }
.faq-item[open] summary::after { content: "−"; }
.faq-item > p, .faq-item > div { padding: 0 32px 24px 0; margin: 0; color: var(--muted); }
.badge, .chip { display: inline-flex; align-items: center; gap: 7px; min-height: 28px; max-width: 100%; padding: 5px 11px; border-radius: var(--r-pill); color: var(--accent-dark); background: var(--accent-soft); font: var(--weight-heading) var(--text-xs)/1.4 var(--font-mono); overflow-wrap: anywhere; }
.chip { background: var(--panel-2); color: var(--muted); }
.badge-success { background: var(--success-soft); color: var(--success); }
.status-dot { width: 6px; height: 6px; flex-shrink: 0; border-radius: var(--r-circle); background: var(--success); box-shadow: 0 0 0 3px var(--success-a18); }
.plan-card { display: flex; flex-direction: column; align-items: flex-start; position: relative; min-width: 0; padding: 28px; border: 1px solid var(--border); border-radius: var(--r-card); background: var(--panel); box-shadow: inset 0 1px 0 var(--white),0 16px 40px -24px var(--accent-a14); }
.plan-card.is-current { border-color: var(--accent); background: linear-gradient(160deg,var(--panel),var(--accent-soft)); box-shadow: 0 0 0 1px var(--accent),0 20px 44px -24px var(--accent-a22); }
.plan-card h3 { margin: 18px 0 8px; }
.plan-badge { align-self: flex-start; background: var(--accent); color: var(--white); }
.plan-price { margin: 18px 0; font: var(--weight-heading) 42px/1.15 var(--font-display); letter-spacing: var(--tracking-heading); font-variant-numeric: tabular-nums; }
.plan-price small { font: var(--weight-regular) var(--text-sm)/1.5 var(--font-body); color: var(--muted); letter-spacing: normal; }
.plan-card ul { padding-left: 20px; margin: 0 0 24px; color: var(--muted); font-size: var(--text-sm); }
.plan-card .btn { margin-top: auto; width: 100%; }
.table-scroll { overflow-x: auto; max-width: 100%; min-width: 0; -webkit-overflow-scrolling: touch; border: 1px solid var(--border); border-radius: var(--r-card); background: var(--panel); }
.data-table, .route-table { width: 100%; min-width: 660px; border-collapse: collapse; text-align: left; font-size: var(--text-sm); }
.data-table th, .data-table td, .route-table th, .route-table td { padding: 17px 22px; border-bottom: 1px solid var(--border); word-break: keep-all; }
.table-scroll th, .route-table th, .data-table th { color: var(--text); background: var(--panel-2); font-weight: var(--weight-heading); white-space: nowrap; }
.table-scroll td:first-child { color: var(--text); font-weight: var(--weight-heading); }
.route-table .region-row th { color: var(--accent-dark); background: var(--accent-soft); }
.data-table tr:last-child td, .route-table tr:last-child td { border-bottom: 0; }
.prose > .data-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; min-width: 0; }
.platform-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
.platform-card { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; min-width: 0; padding: 24px 20px; border-radius: var(--r-card); background: var(--panel); box-shadow: var(--shadow-float); }
.platform-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--r-tile); color: var(--mark); background: var(--bg); }
.platform-icon svg { width: 26px; height: 26px; }
.platform-card h3 { margin: 0; font-size: var(--text-subtitle); }
.platform-card .btn { margin-top: auto; padding-inline: 16px; width: 100%; }
.article-card { display: flex; flex-direction: column; min-width: 0; padding: 28px; border-radius: var(--r-card); background: var(--panel); box-shadow: var(--shadow-float); }
.article-card h3 { margin: 22px 0 14px; font-size: var(--text-h3); }
.article-card h3 a { color: var(--text); text-decoration: none; }
.article-card h3 a:hover { color: var(--accent-dark); }
.article-card p { color: var(--muted); font-size: var(--text-sm); }
.article-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; color: var(--muted); font-size: var(--text-xs); }
.article-link { display: inline-flex; align-items: center; min-height: 32px; margin-top: auto; font-size: var(--text-sm); }
.callout { margin: 24px 0; padding: 22px 24px; border-left: 3px solid var(--accent); border-radius: var(--r-tile); background: var(--accent-soft); color: var(--text); }
.callout p:last-child { margin-bottom: 0; }
.promo-block { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px; padding: 32px; margin-block: 40px; border-radius: var(--r-panel); background: linear-gradient(120deg,var(--panel),var(--hero-to)); box-shadow: var(--shadow-panel); }
.promo-copy { flex: 1 1 240px; min-width: 0; }
.promo-copy h2, .promo-copy h3 { margin: 0 0 10px; font-size: var(--text-h3); }
.promo-copy p { margin: 0; color: var(--muted); }
.promo-block .btn, .btn-secondary { flex-shrink: 0; white-space: nowrap; }
.float-cta { position: fixed; right: 24px; bottom: calc(24px + env(safe-area-inset-bottom,0px)); z-index: 80; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 20px 0 16px; border-radius: var(--r-pill); color: var(--white); background: linear-gradient(180deg,var(--accent-light) -40%,var(--accent) 62%); box-shadow: inset 0 1px 0 var(--white-a28),0 16px 36px -14px var(--accent-a32); text-decoration: none; font: var(--weight-heading) var(--text-nav)/1 var(--font-body); }
.float-cta svg { width: 16px; height: 16px; }
body:has(.float-cta)::after { content: ""; display: block; height: calc(88px + env(safe-area-inset-bottom,0px)); }
.feature-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 56px; }
.feature-list { min-width: 0; }
.feature-item { border-bottom: 1px solid var(--border); }
.feature-item summary { display: flex; align-items: center; gap: 16px; padding: 24px; list-style: none; font: var(--weight-heading) var(--text-subtitle)/1.5 var(--font-body); }
.feature-item summary::-webkit-details-marker { display: none; }
.feature-item summary::before { content: "◇"; color: var(--accent); flex-shrink: 0; }
.feature-item summary::after { content: "⌄"; margin-left: auto; flex-shrink: 0; }
.feature-item[open] { border-color: var(--clear); border-radius: var(--r-card); color: var(--white); background: var(--wine); }
.feature-item[open] summary::before { color: var(--white); }
.feature-item[open] summary::after { transform: rotate(180deg); }
.feature-body { padding: 0 28px 28px 60px; }
.feature-body p { color: inherit; }
.feature-arrow { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; border-radius: var(--r-circle); background: var(--white); color: var(--wine); text-decoration: none; }
.client-board { padding: 48px 32px; border-radius: var(--r-panel); }
.client-window { overflow: hidden; background: var(--panel); border-radius: var(--r-card); box-shadow: var(--shadow-float); }
.window-bar { display: flex; align-items: center; gap: 6px; padding: 16px; border-bottom: 1px solid var(--border); color: var(--muted); font: var(--weight-heading) var(--text-xs)/1.4 var(--font-mono); }
.window-dot { width: 7px; height: 7px; border-radius: var(--r-circle); background: var(--border); }
.window-dot:first-child { background: var(--error); }
.window-dot:nth-child(2) { background: var(--warn); }
.window-dot:nth-child(3) { background: var(--success); }
.window-caption { margin-left: 12px; }
.window-content { padding: 20px; }
.window-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 12px; border-radius: var(--r-tile); font-size: var(--text-sm); }
.window-row.is-current { background: var(--accent-soft); }
.window-row + .window-row { margin-top: 6px; }
.ticker { max-width: 100%; overflow: hidden; padding-block: 20px; border-block: 1px solid var(--border); }
.ticker-track { display: flex; width: max-content; max-width: none; }
.ticker-group { display: flex; align-items: center; flex-shrink: 0; gap: 48px; padding-inline: 24px; color: var(--mark); font: var(--weight-heading) var(--text-subtitle)/1.4 var(--font-mono); }
.ticker-group span { white-space: nowrap; }
.hero { position: relative; isolation: isolate; display: flex; align-items: center; margin: 8px 16px 0; padding: 64px 72px; min-height: max(720px,calc(100svh - 136px)); max-width: 100%; border-radius: var(--r-panel); overflow: hidden; overflow-x: clip; background: radial-gradient(56% 64% at 78% 22%,var(--white-a55),var(--clear) 72%),linear-gradient(to top right,var(--hero-from) 0%,var(--hero-from) 26%,var(--hero-to) 100%); box-shadow: var(--shadow-panel); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(var(--grid-line) 1px,var(--clear) 1px),linear-gradient(90deg,var(--grid-line) 1px,var(--clear) 1px); background-size: 56px 56px; background-position: -1px -1px; mask-image: radial-gradient(120% 110% at 70% 40%,var(--text) 55%,var(--clear) 100%); }
.hero-inner { position: relative; width: 100%; display: grid; grid-template-columns: 580px minmax(0,1fr); gap: 44px; align-items: center; }
.copy { position: relative; z-index: 2; min-width: 0; }
.tag { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 10px; min-height: 32px; max-width: 100%; padding: 4px 14px 4px 4px; border-radius: var(--r-pill); color: var(--text); background: var(--white-a70); box-shadow: 0 0 0 1px var(--edge),0 8px 18px -12px var(--accent-a22); font: var(--weight-heading) 13px/1.3 var(--font-body); }
.tag-ic { display: grid; place-items: center; width: 24px; height: 24px; flex-shrink: 0; border-radius: var(--r-circle); color: var(--accent); background: var(--accent-soft); }
.tag-ic svg { width: 14px; height: 14px; }
.tag-sep { width: 1px; height: 12px; background: var(--border); }
.tag-mono { font: var(--weight-heading) var(--text-xs)/1.4 var(--font-mono); color: var(--muted); }
.h1 { margin: 24px 0 0; font: var(--weight-heading) var(--text-h1)/1.1 var(--font-display); letter-spacing: var(--tracking-heading); color: var(--text); }
.kw { background: linear-gradient(100deg,var(--accent-dark),var(--accent) 48%,var(--accent-light)); -webkit-background-clip: text; background-clip: text; color: var(--clear); }
.lead { margin: 28px 0 0; max-width: 540px; font-size: var(--text-body); line-height: 1.75; color: var(--muted); }
.lead strong { color: var(--text); }
.trust { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3,max-content); gap: 12px 28px; }
.trust li { display: flex; align-items: center; gap: 8px; font-size: var(--text-sm); line-height: 1.3; color: var(--text); }
.ck { display: grid; place-items: center; width: 18px; height: 18px; flex-shrink: 0; border-radius: var(--r-circle); color: var(--accent); background: var(--accent-soft); }
.ck svg { width: 10px; height: 10px; }
.marks { margin-top: 32px; padding-top: 24px; border-top: 1px dashed var(--border); display: grid; gap: 14px; }
.mrow { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 12px; }
.mlabel { font: var(--weight-heading) var(--text-xs)/1 var(--font-mono); color: var(--muted); letter-spacing: .04em; }
.mlist { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.mlist li { display: inline-flex; align-items: center; gap: 7px; color: var(--mark); font-size: 13.5px; line-height: 1.2; white-space: nowrap; }
.pf { width: 18px; height: 18px; flex-shrink: 0; }
.flag { width: 22px; height: 15px; flex-shrink: 0; border-radius: var(--r-flag); overflow: hidden; }
.mlist .flag { filter: saturate(.78); }
.flag-lg { width: 30px; height: 20px; }
.fw { fill: var(--flag-white); }
.fr { fill: var(--flag-red); }
.fb { fill: var(--flag-blue); }
.flag-edge { fill: none; stroke: var(--ink-a12); stroke-width: 1; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.stage { position: relative; justify-self: end; width: calc(640px * var(--k)); height: calc(600px * var(--k)); }
.device { position: absolute; left: 0; top: 0; width: 640px; height: 600px; transform: scale(var(--k)); transform-origin: 0 0; }
.g-shadow { position: absolute; left: 140px; top: 512px; width: 380px; height: 64px; border-radius: var(--r-circle); background: radial-gradient(closest-side,var(--accent-a22),var(--clear)); }
.globe { position: absolute; left: 0; top: 0; width: 640px; height: 600px; max-width: none; }
.sb1 { stop-color: var(--globe-1); }
.sb2 { stop-color: var(--globe-2); }
.sb3 { stop-color: var(--globe-3); }
.sc1 { stop-color: var(--hex-hi); }
.sc2 { stop-color: var(--hex-mid); }
.sc3 { stop-color: var(--hex-lo); }
.sk1 { stop-color: var(--core-1); }
.sk2 { stop-color: var(--core-2); }
.sk3 { stop-color: var(--core-3); }
.shade-stop { stop-color: var(--accent-dark); stop-opacity: .24; }
.clear-stop { stop-color: var(--accent-dark); stop-opacity: 0; }
.spec-stop { stop-color: var(--white); stop-opacity: .7; }
.spec-clear { stop-color: var(--white); stop-opacity: 0; }
.globe-body { fill: url(#gBody); }
.cells { fill: url(#gCell); stroke: var(--white); stroke-width: 1; stroke-opacity: .8; stroke-linejoin: round; }
.hex-surface { fill: url(#gHoney); }
.globe-shade { fill: url(#gShade); }
.globe-spec { fill: url(#gSpec); }
.rim { fill: none; stroke: var(--white); stroke-opacity: .75; stroke-width: 1.2; }
.eq { fill: none; stroke: var(--accent); stroke-opacity: .42; stroke-width: 1; }
.eq-back { stroke-opacity: .22; stroke-dasharray: 2 4; }
.core-glow { fill: var(--accent); opacity: .08; }
.core-rim { fill: var(--white); stroke: var(--white); stroke-width: 6; stroke-linejoin: round; opacity: .74; }
.core-face { fill: url(#gCore); stroke: var(--white); stroke-width: 1.5; }
.cg-hex { fill: var(--accent-a10); stroke: var(--accent); stroke-width: 2.2; stroke-linejoin: round; }
.cg-link { fill: none; stroke: var(--accent); stroke-width: 1.8; stroke-linecap: round; }
.cg-node { fill: var(--white); stroke: var(--accent); stroke-width: 2; }
.sec { animation: breathe 6s ease-in-out infinite; }
.orbit { position: absolute; left: 330px; top: 300px; width: 0; height: 0; transform: rotate(-12deg) scaleY(.2206); z-index: 2; }
.orbit-spin { position: absolute; width: 0; height: 0; animation: spin 16s linear infinite; }
.orbit-pos { position: absolute; left: 272px; top: 0; width: 0; height: 0; }
.orbit-counter { position: absolute; width: 0; height: 0; animation: spin-rev 16s linear infinite; }
.orbit-dot { position: absolute; left: -6px; top: -6px; width: 12px; height: 12px; border-radius: var(--r-circle); background: radial-gradient(circle,var(--white) 0 35%,var(--accent-light) 70%); box-shadow: 0 0 0 3px var(--accent-a22),0 0 14px var(--accent-a32); transform: scaleY(4.533); }
.pin { position: absolute; width: 0; height: 0; z-index: 3; }
.pin-dot { position: absolute; left: -7px; top: -7px; width: 14px; height: 14px; border-radius: var(--r-circle); background: var(--white); box-shadow: inset 0 0 0 3px var(--accent),0 0 0 4px var(--accent-a14),0 4px 10px var(--accent-a22); }
.pin-tag { position: absolute; left: 13px; top: -11px; display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: var(--r-small); background: var(--white-a88); box-shadow: 0 0 0 1px var(--edge),0 6px 12px -6px var(--accent-a22); font: var(--weight-heading) 11.5px/1 var(--font-body); color: var(--text); white-space: nowrap; }
.p-hk { left: 190px; top: 300px; }
.p-tyo { left: 272px; top: 200px; }
.p-sg { left: 272px; top: 414px; }
.p-la { left: 452px; top: 276px; }
.p-par { left: 432px; top: 408px; }
.fcard { position: absolute; z-index: 4; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r-card); background: var(--panel); box-shadow: var(--shadow-float); white-space: nowrap; }
.fc-col { display: flex; flex-direction: column; gap: 5px; }
.fc-title { font: var(--weight-heading) var(--text-sm)/1.2 var(--font-body); color: var(--text); }
.fc-sub { font: var(--weight-regular) var(--text-xs)/1.2 var(--font-body); color: var(--muted); }
.state { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; padding: 0 10px; border-radius: var(--r-pill); background: var(--success-soft); color: var(--success); font: var(--weight-heading) var(--text-xs)/1 var(--font-body); }
.state i { width: 6px; height: 6px; flex-shrink: 0; border-radius: var(--r-circle); background: var(--success); box-shadow: 0 0 0 3px var(--success-a18); }
.lock-ic { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: var(--r-tile); background: var(--accent-soft); color: var(--accent); }
.lock-ic svg { width: 18px; height: 18px; }
.toggle { position: relative; width: 36px; height: 20px; flex-shrink: 0; margin-left: 6px; border-radius: var(--r-pill); background: linear-gradient(180deg,var(--accent-light),var(--accent)); box-shadow: inset 0 1px 2px var(--accent-a32); }
.toggle::after { content: ""; position: absolute; right: 2px; top: 2px; width: 16px; height: 16px; border-radius: var(--r-circle); background: var(--white); box-shadow: 0 1px 3px var(--accent-a32); }
.fc-dev { flex-direction: column; align-items: flex-start; gap: 10px; }
.fc-icons { display: flex; gap: 6px; }
.mini { display: grid; place-items: center; width: 28px; height: 28px; border-radius: var(--r-small); background: var(--bg); box-shadow: inset 0 0 0 1px var(--edge); color: var(--mark); font: var(--weight-heading) 10px/1 var(--font-mono); }
.mini svg { width: 15px; height: 15px; }
.pack-mono { font: var(--weight-heading) 12.5px/1.2 var(--font-mono); color: var(--text); }
.price { display: inline-flex; align-items: center; min-height: 28px; padding: 0 11px; border-radius: var(--r-pill); background: var(--accent-soft); color: var(--accent-dark); box-shadow: inset 0 0 0 1px var(--accent-a14); font: var(--weight-strong) 13px/1 var(--font-mono); }
.fc-tokyo { left: 0; top: 96px; animation: bob 7s ease-in-out infinite; }
.fc-lock { right: 0; top: 170px; animation: bob 8s ease-in-out -2s infinite; }
.fc-dev { left: 4px; top: 400px; animation: bob 7.5s ease-in-out -4s infinite; }
.fc-pack { right: 0; top: 494px; animation: bob 8.5s ease-in-out -1s infinite; }
.cover { position: absolute; right: 28px; top: 34px; z-index: 4; display: inline-flex; align-items: center; gap: 10px; min-height: 34px; padding: 0 14px 0 6px; border-radius: var(--r-pill); background: var(--white-a88); box-shadow: var(--shadow-float); font: var(--weight-heading) 12.5px/1 var(--font-mono); color: var(--text); white-space: nowrap; }
.cover-ic { display: grid; place-items: center; width: 22px; height: 22px; border-radius: var(--r-circle); background: var(--accent-soft); color: var(--accent); }
.cover-ic svg { width: 13px; height: 13px; }
.cover-sep { width: 1px; height: 12px; background: var(--border); }
.cursor { position: absolute; left: 382px; top: 336px; z-index: 3; width: 20px; height: 22px; filter: drop-shadow(0 4px 6px var(--accent-a32)); }
.cursor path { fill: var(--accent-dark); stroke: var(--white); stroke-width: 1.5; stroke-linejoin: round; }
.peek { padding: 36px 88px 48px; }
.peek h2 { margin: 16px 0 0; }
.preview-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 16px; margin-top: 24px; }
.swatch { display: flex; flex-direction: column; gap: 12px; padding: 14px; border-radius: var(--r-card); background: var(--panel); box-shadow: var(--shadow-float); font: var(--weight-regular) var(--text-xs)/1.5 var(--font-mono); }
.swatch-sample { display: block; height: 64px; border: 1px solid var(--border); border-radius: var(--r-tile); }
.sw-bg { background: var(--bg); }
.sw-panel { background: var(--panel); }
.sw-panel2 { background: var(--panel-2); }
.sw-border { background: var(--border); }
.sw-accent { background: var(--accent); }
.sw-accent-dark { background: var(--accent-dark); }
.sw-accent-light { background: var(--accent-light); }
.sw-accent-soft { background: var(--accent-soft); }
.sw-wine { background: var(--wine); }
.sw-text { background: var(--text); }
.sw-muted { background: var(--muted); }
.sw-mark { background: var(--mark); }
.sw-success { background: var(--success); }
.sw-warn { background: var(--warn); }
.sw-error { background: var(--error); }
.sw-hero { background: linear-gradient(45deg,var(--hero-from),var(--hero-to)); }
.sw-hex { background: linear-gradient(45deg,var(--hex-lo),var(--hex-mid),var(--hex-hi)); }
.sw-globe { background: linear-gradient(45deg,var(--globe-3),var(--globe-2),var(--globe-1)); }
.sw-core { background: linear-gradient(45deg,var(--core-1),var(--core-2),var(--core-3)); }
.sw-success-soft { background: var(--success-soft); }
.sw-flags { background: linear-gradient(90deg,var(--flag-blue) 33%,var(--flag-white) 33% 66%,var(--flag-red) 66%); }
.preview-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.type-display { font: var(--weight-heading) 52px/1.15 var(--font-display); letter-spacing: var(--tracking-heading); }
.type-subtitle { font-size: var(--text-subtitle); }
@keyframes breathe { 0%,100% { opacity: 1; } 50% { opacity: .74; } }
@keyframes bob { 0%,100% { transform: translateY(-4px); } 50% { transform: translateY(4px); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes spin-rev { to { transform: rotate(-360deg); } }
@media (max-width:1320px) {
  .hero { padding: 56px 48px; }
  .hero-inner { grid-template-columns: minmax(0,540px) auto; gap: 32px; }
  .peek { padding-inline: 64px; }
}
@media (max-width:1180px) {
  :root { --k: .9; }
  .hero-inner { grid-template-columns: minmax(0,1fr); gap: 48px; }
  .stage { justify-self: center; }
  .copy { max-width: 640px; }
  .platform-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:768px) {
  :root { --k: .6; }
  .fc-lock, .fc-dev { display: none; }
  .feature-layout { grid-template-columns: 1fr; gap: 28px; }
  .platform-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .peek { padding-inline: 24px; }
  .type-display { font-size: 36px; }
  .ticker-group { gap: 28px; font-size: var(--text-body); }
}
@media (max-width:640px) {
  .hero { margin: 8px 12px 0; padding: 40px 20px; min-height: auto; }
  .trust { grid-template-columns: repeat(2,max-content); gap: 10px 20px; }
  .client-board { padding: 24px 16px; }
  .feature-body { padding-left: 24px; }
  .feature-item summary { padding-inline: 20px; font-size: var(--text-body); }
  .promo-block { padding: 24px; }
  .float-cta { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom,0px)); }
  .mrow { grid-template-columns: 1fr; gap: 10px; }
  .mlist { gap: 12px 16px; }
  .platform-card { padding: 20px 16px; }
  .platform-card .btn { font-size: var(--text-xs); padding-inline: 10px; }
}
@media (max-width:560px) { :root { --k: .5; } }
@media (max-width:480px) {
  :root { --k: .45; }
  .trust { grid-template-columns: 1fr; }
  .hero-inner { gap: 32px; }
  .cta .btn { padding-inline: 21px; }
}
@media (max-width:360px) { :root { --k: .39; } }
@media (prefers-reduced-motion:reduce) {
  .ticker-track { width: 100%; transform: none !important; }
  .ticker-group { flex-wrap: wrap; flex-shrink: 1; }
  .ticker-group + .ticker-group { display: none; }
}