/* ============================================================
   ORBIS LANDING — "deep-space console" (all-new global design)
   Loaded AFTER landing.css. Every section here is prefixed `orb-`.
   Uses ONLY var(--color-*) tokens from landing.css, plus a small
   set of --orb-* code-syntax tints defined below (palette values
   that don't map onto an existing --color-* token: series-2 cyan,
   accent-bright violet).
   ============================================================ */

/* ---- ORB TOKENS (series-2 + syntax tints, from PALETTE.md) ---- */
:root {
    --orb-series-2:       #4CC9F0;   /* pay-outs / secondary node / spark */
    --orb-series-2-dim:   rgba(76, 201, 240, 0.14);
    --orb-accent-bright:  #B98FFF;   /* ring highlight / code digits */

    /* code-card syntax tints (the one sanctioned exception) */
    --orb-code-verb:  #B98FFF;   /* HTTP verb           */
    --orb-code-key:   #9E5CFF;   /* JSON keys           */
    --orb-code-str:   #4CC9F0;   /* JSON strings        */
    --orb-code-num:   #FBBF24;   /* numbers / literals  */
    --orb-code-punc:  #7E76A0;   /* braces / colons     */
    --orb-code-hdr:   #7E76A0;   /* header name         */
}
[data-theme="light"] {
    --orb-series-2:       #0284C7;
    --orb-series-2-dim:   #E0F2FE;
    --orb-accent-bright:  #7C3AED;

    --orb-code-verb:  #7C3AED;
    --orb-code-key:   #6D28D9;
    --orb-code-str:   #0284C7;
    --orb-code-num:   #B45309;
    --orb-code-punc:  #807C96;
    --orb-code-hdr:   #807C96;
}

/* Shared mono face for all data/code surfaces on the new landing */
.orb-mono {
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-variant-ligatures: none;
}

/* Section eyebrow — reused across the new sections (centered variant) */
.orb-eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 11px; font-weight: 600;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 20px;
}
.orb-eyebrow::before,
.orb-eyebrow::after {
    content: ''; width: 22px; height: 1px;
    background: currentColor; opacity: 0.55; flex-shrink: 0;
}

.orb-section { position: relative; z-index: 1; padding: clamp(80px, 11vw, 132px) 0; }
.orb-section__head { max-width: 680px; margin: 0 auto clamp(40px, 6vw, 68px); text-align: center; }
.orb-section__title {
    font-family: var(--font-display);
    font-size: clamp(28px, 4vw, 46px); font-weight: 700;
    letter-spacing: -0.025em; line-height: 1.08;
    color: var(--color-text-primary); margin-bottom: 16px;
}
.orb-section__sub {
    font-size: clamp(15px, 1.4vw, 18px);
    color: var(--color-text-secondary); line-height: 1.65;
    max-width: 620px; margin: 0 auto;
}

/* ============================================================
   1. HERO — center-composed, cosmic
   ============================================================ */
.orb-hero {
    position: relative; overflow: hidden;
    padding: clamp(88px, 13vh, 168px) 0 clamp(64px, 9vh, 116px);
    text-align: center;
}
.orb-hero__field {
    position: absolute; inset: 0; z-index: 0; pointer-events: none;
}
/* wide central nebula glow anchored to the mark */
.orb-hero__field::before {
    content: ''; position: absolute;
    left: 50%; top: 30%; transform: translate(-50%, -50%);
    width: min(1000px, 130vw); aspect-ratio: 1;
    background: radial-gradient(circle,
        rgba(var(--color-accent-rgb), 0.20) 0%,
        rgba(var(--color-accent-rgb), 0.06) 34%,
        transparent 64%);
}
/* thin equatorial light sweep */
.orb-hero__field::after {
    content: ''; position: absolute;
    left: 50%; top: 30%; transform: translate(-50%, -50%) rotate(-14deg);
    width: min(1240px, 150vw); height: 1px;
    background: linear-gradient(90deg, transparent,
        rgba(var(--color-accent-rgb), 0.28) 42%,
        rgba(var(--color-accent-rgb), 0.28) 58%, transparent);
    opacity: 0.7;
}

.orb-hero__inner {
    position: relative; z-index: 1;
    display: flex; flex-direction: column; align-items: center;
}

.orb-hero__markwrap {
    position: relative;
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: clamp(28px, 4vw, 44px);
}
.orb-hero__mark {
    position: relative; z-index: 2;
    width: clamp(132px, 15vw, 178px); height: auto;
    filter: drop-shadow(0 14px 40px rgba(var(--color-accent-rgb), 0.30));
}
.orb-hero__orbit {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(var(--color-accent-rgb), 0.16);
    border-radius: 50%;
    pointer-events: none; z-index: 1;
}
.orb-hero__orbit--1 {
    width: 300px; height: 300px;
    animation: orb-spin 64s linear infinite;
    border-style: solid;
}
.orb-hero__orbit--2 {
    width: 440px; height: 440px;
    border-style: dashed;
    border-color: rgba(var(--color-accent-rgb), 0.12);
    animation: orb-spin 120s linear infinite reverse;
}
/* a single satellite riding the inner orbit */
.orb-hero__orbit--1::before {
    content: ''; position: absolute; top: -4px; left: 50%;
    width: 8px; height: 8px; margin-left: -4px;
    background: var(--orb-series-2); border-radius: 50%;
    box-shadow: 0 0 12px var(--orb-series-2);
}
@keyframes orb-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }

.orb-hero__eyebrow {
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 11.5px; font-weight: 600;
    letter-spacing: 0.28em; text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 22px;
}
.orb-hero__title {
    font-family: var(--font-display);
    font-size: clamp(44px, 8.2vw, 96px); font-weight: 700;
    letter-spacing: -0.035em; line-height: 0.98;
    color: var(--color-text-primary);
    margin-bottom: clamp(20px, 3vw, 30px);
}
.orb-hero__sub {
    font-size: clamp(16px, 1.5vw, 19px);
    color: var(--color-text-secondary); line-height: 1.62;
    max-width: 620px; margin: 0 auto clamp(30px, 4vw, 42px);
}
.orb-hero__ctas {
    display: flex; gap: 12px; flex-wrap: wrap; justify-content: center;
}

/* ============================================================
   2. DEVELOPER PROOF — two-pane terminal card
   ============================================================ */
.orb-code {
    max-width: 1060px; margin: 0 auto;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-2xl);
    box-shadow: var(--shadow-card);
    overflow: hidden;
}
.orb-code__bar {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg-overlay);
}
[data-theme="light"] .orb-code__bar { background: var(--color-bg-elevated); }
.orb-code__dots { display: inline-flex; gap: 7px; }
.orb-code__dots i {
    width: 11px; height: 11px; border-radius: 50%;
    background: var(--color-border-strong); display: inline-block;
}
.orb-code__dots i:nth-child(1) { background: var(--color-accent2); opacity: 0.7; }
.orb-code__dots i:nth-child(2) { background: var(--color-warning); opacity: 0.7; }
.orb-code__dots i:nth-child(3) { background: var(--color-success); opacity: 0.7; }
.orb-code__crumb {
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 11.5px; letter-spacing: 0.04em;
    color: var(--color-text-muted);
}

.orb-code__panes { display: grid; grid-template-columns: 1fr 1fr; }
.orb-code__pane { padding: 22px 24px; min-width: 0; }
.orb-code__pane + .orb-code__pane {
    border-left: 1px solid var(--color-border);
}
.orb-code__label {
    display: flex; align-items: center; gap: 8px;
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 10.5px; font-weight: 600;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--color-text-muted);
    margin-bottom: 16px;
}
.orb-code__label b { color: var(--color-accent); font-weight: 700; }

.orb-code__block {
    margin: 0;
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 12.5px; line-height: 1.85;
    color: var(--color-text-secondary);
    white-space: normal; overflow-x: auto;
}
/* Each logical line is a block so source indentation between lines is
   ignored; intra-line spacing (JSON indent) is preserved per-line. */
.orb-code__ln { display: block; white-space: pre; }
.orb-code__block::-webkit-scrollbar { height: 6px; }
.orb-code__block::-webkit-scrollbar-thumb {
    background: var(--color-border-strong); border-radius: 6px;
}
/* highlighted signature line spans the row */
.orb-code__ln.orb-t-sig { padding-left: 8px; margin-left: -10px; }

/* syntax tints */
.orb-t-verb { color: var(--orb-code-verb); font-weight: 600; }
.orb-t-path { color: var(--color-text-primary); }
.orb-t-key  { color: var(--orb-code-key); }
.orb-t-str  { color: var(--orb-code-str); }
.orb-t-num  { color: var(--orb-code-num); }
.orb-t-punc { color: var(--orb-code-punc); }
.orb-t-hdr  { color: var(--orb-code-hdr); }
/* highlighted signature header line */
.orb-t-sig {
    display: inline-block; width: 100%;
    background: var(--color-accent-dim);
    color: var(--color-accent);
    border-left: 2px solid var(--color-accent);
    padding-left: 8px; margin-left: -10px;
    border-radius: 0 4px 4px 0;
}
.orb-t-sig .orb-t-hdr { color: var(--color-accent); font-weight: 600; }

.orb-code__caption {
    text-align: center; margin-top: clamp(26px, 3vw, 38px);
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 13px; letter-spacing: 0.02em;
    color: var(--color-text-secondary);
}
.orb-code__caption b { color: var(--color-text-primary); font-weight: 600; }

/* ============================================================
   3. ORBITAL CORRIDOR MAP
   ============================================================ */
.orb-map__stage {
    position: relative;
    width: 100%; max-width: 760px; margin: 0 auto;
    aspect-ratio: 1 / 0.74;
    overflow: hidden;
}
.orb-map__ring {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%; pointer-events: none;
}
.orb-map__ring--inner {
    width: 62%; height: 62%;
    border: 1px solid rgba(var(--color-accent-rgb), 0.30);
    box-shadow: 0 0 60px rgba(var(--color-accent-rgb), 0.06) inset;
    animation: orb-spin 90s linear infinite;
}
.orb-map__ring--outer {
    width: 100%; height: 100%;
    border: 1px dashed var(--color-border-strong);
    animation: orb-spin 200s linear infinite reverse;
}
/* central glow + core mark */
.orb-map__glow {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 42%; aspect-ratio: 1; border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--color-accent-rgb), 0.18) 0%, transparent 62%);
    pointer-events: none;
}
.orb-map__core {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(52px, 8vw, 78px); height: auto; z-index: 3;
    filter: drop-shadow(0 6px 20px rgba(var(--color-accent-rgb), 0.35));
}

.orb-node {
    position: absolute; z-index: 2;
    transform: translate(-50%, -50%);
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    white-space: nowrap;
}
.orb-node__dot {
    position: relative;
    width: 14px; height: 14px; border-radius: 50%;
    background: var(--color-accent);
    box-shadow: 0 0 0 4px var(--color-accent-dim), 0 0 16px rgba(var(--color-accent-rgb), 0.5);
}
.orb-node__label {
    display: inline-flex; flex-direction: column; align-items: center;
    line-height: 1.15;
}
.orb-node__ccy {
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 12px; font-weight: 600; letter-spacing: 0.04em;
    color: var(--color-text-primary);
}
.orb-node__name {
    font-size: 10.5px; font-weight: 500;
    color: var(--color-text-muted);
}
/* queued (outer, dimmed) nodes */
.orb-node--queue { opacity: 0.62; }
.orb-node--queue .orb-node__dot {
    width: 10px; height: 10px;
    background: transparent;
    border: 1.5px dashed var(--orb-series-2);
    box-shadow: none;
}
.orb-node--queue .orb-node__ccy { color: var(--color-text-secondary); }

.orb-map__legend {
    display: flex; justify-content: center; flex-wrap: wrap;
    gap: 24px; margin-top: clamp(24px, 3vw, 36px);
}
.orb-map__legend span {
    display: inline-flex; align-items: center; gap: 9px;
    font-size: 12.5px; color: var(--color-text-secondary);
}
.orb-map__legend i {
    width: 11px; height: 11px; border-radius: 50%; display: inline-block;
}
.orb-map__legend i.is-live {
    background: var(--color-accent);
    box-shadow: 0 0 10px rgba(var(--color-accent-rgb), 0.6);
}
.orb-map__legend i.is-queue {
    background: transparent; border: 1.5px dashed var(--orb-series-2);
}

/* ============================================================
   4. THE MACHINERY — asymmetric bento (1 big + 2x2)
   ============================================================ */
.orb-bento {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    grid-auto-rows: 1fr;
    gap: 16px;
}
.orb-tile {
    position: relative; overflow: hidden;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: 26px 26px;
    box-shadow: var(--shadow-card);
    display: flex; flex-direction: column;
    transition: transform var(--transition-md), border-color var(--transition-md), box-shadow var(--transition-md);
}
.orb-tile::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(circle at 100% 0%, rgba(var(--color-accent-rgb), 0.10) 0%, transparent 45%);
    opacity: 0; transition: opacity var(--transition-md);
}
.orb-tile:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--color-accent-rgb), 0.28);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.30), 0 0 0 1px rgba(var(--color-accent-rgb), 0.10);
}
[data-theme="light"] .orb-tile:hover { box-shadow: var(--shadow-dropdown); }
.orb-tile:hover::after { opacity: 1; }
.orb-tile--hero { grid-row: span 2; }

.orb-tile__title {
    font-family: var(--font-display);
    font-size: 18px; font-weight: 600; letter-spacing: -0.015em;
    color: var(--color-text-primary); margin-bottom: 10px;
}
.orb-tile--hero .orb-tile__title { font-size: clamp(22px, 2.4vw, 28px); }
.orb-tile__body {
    font-size: 13.5px; line-height: 1.6;
    color: var(--color-text-secondary);
}
.orb-tile__body b { color: var(--color-text-primary); font-weight: 600; }

/* hero tile: API endpoint list with method chips */
.orb-api {
    margin-top: auto; padding-top: 22px;
    display: flex; flex-direction: column; gap: 10px;
}
.orb-api__row {
    display: flex; align-items: center; gap: 12px;
    padding: 11px 13px;
    background: var(--color-bg-base);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    transition: border-color var(--transition), transform var(--transition);
}
.orb-api__row:hover { border-color: rgba(var(--color-accent-rgb), 0.30); transform: translateX(2px); }
.orb-chip {
    flex-shrink: 0;
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 10px; font-weight: 700; letter-spacing: 0.06em;
    padding: 3px 8px; border-radius: 5px;
    background: var(--color-accent-dim); color: var(--color-accent);
    min-width: 44px; text-align: center;
}
.orb-chip--get { background: var(--orb-series-2-dim); color: var(--orb-series-2); }
.orb-api__path {
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 12px; color: var(--color-text-primary);
    overflow: hidden; text-overflow: ellipsis;
}
.orb-api__what {
    margin-left: auto; flex-shrink: 0;
    font-size: 11.5px; color: var(--color-text-muted);
}

/* signed-webhook snippet */
.orb-hook {
    margin-top: auto; padding: 12px 14px;
    background: var(--color-bg-base);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 11.5px; line-height: 1.6;
    color: var(--color-text-secondary);
    white-space: nowrap; overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--color-border-strong) transparent;
}
.orb-hook::-webkit-scrollbar { height: 4px; }
.orb-hook::-webkit-scrollbar-thumb { background: var(--color-border-strong); border-radius: 2px; }
.orb-hook::-webkit-scrollbar-track { background: transparent; }
.orb-hook__k { color: var(--color-accent); }
.orb-hook__f { color: var(--orb-series-2); }

/* dispute mini-timeline */
.orb-flow {
    margin-top: auto; padding-top: 20px;
    display: flex; align-items: center; gap: 6px;
}
.orb-flow__step {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 11.5px; font-weight: 600;
    color: var(--color-text-secondary);
}
.orb-flow__step i {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--color-border-strong);
}
.orb-flow__step--done i { background: var(--color-accent); box-shadow: 0 0 8px rgba(var(--color-accent-rgb), 0.5); }
.orb-flow__step--now i { background: var(--orb-series-2); box-shadow: 0 0 8px color-mix(in srgb, var(--orb-series-2) 55%, transparent); }
.orb-flow__arr {
    flex: 1; height: 1px; min-width: 12px;
    background: repeating-linear-gradient(90deg, var(--color-border-strong) 0 4px, transparent 4px 8px);
}

/* settlement spark bars */
.orb-spark {
    margin-top: auto; padding-top: 20px;
    display: flex; align-items: flex-end; gap: 6px; height: 60px;
}
.orb-spark i {
    flex: 1; border-radius: 3px 3px 0 0;
    background: linear-gradient(180deg, var(--color-accent) 0%, var(--color-accent-dim) 100%);
    opacity: 0.9;
}
.orb-spark i:nth-child(even) {
    background: linear-gradient(180deg, var(--orb-series-2) 0%, var(--orb-series-2-dim) 100%);
}

/* failover reroute pill */
.orb-reroute {
    margin-top: auto; padding-top: 20px;
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.orb-rail {
    display: inline-flex; align-items: center; gap: 7px;
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 11.5px; font-weight: 600;
    padding: 6px 12px; border-radius: var(--radius-full);
    border: 1px solid var(--color-border-strong);
    color: var(--color-text-secondary);
}
.orb-rail--from { text-decoration: line-through; opacity: 0.6; }
.orb-rail--to {
    border-color: var(--color-accent); color: var(--color-accent);
    background: var(--color-accent-dim);
}
.orb-rail__dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.orb-reroute__arr { color: var(--color-accent); flex-shrink: 0; }

/* ============================================================
   5. NUMBERS BAND
   ============================================================ */
.orb-band {
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    background: rgba(var(--color-accent-rgb), 0.03);
    backdrop-filter: blur(8px);
}
.orb-band__row {
    display: flex; align-items: center; justify-content: center;
    flex-wrap: wrap; gap: 14px 28px;
    padding: 26px 0;
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 13.5px; letter-spacing: 0.02em;
    color: var(--color-text-secondary);
}
.orb-band__item { display: inline-flex; align-items: center; gap: 10px; }
.orb-band__item b {
    color: var(--color-text-primary); font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.orb-band__sep { color: var(--color-accent); opacity: 0.55; }

/* ============================================================
   6. CONTACT — split pitch / form
   ============================================================ */
.orb-contact__layout {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 5vw, 72px); align-items: start;
}
.orb-contact__pitch { padding-top: 6px; }
.orb-contact__pitch .orb-section__title { text-align: left; font-size: clamp(28px, 3.4vw, 42px); }
.orb-contact__pitch .orb-eyebrow::before { display: none; }
.orb-contact__lead {
    font-size: clamp(15px, 1.4vw, 18px);
    color: var(--color-text-secondary); line-height: 1.65;
    max-width: 480px; margin-top: 6px;
}

/* ============================================================
   7. MINIMAL FOOTER
   ============================================================ */
.orb-footer {
    position: relative;
    border-top: 1px solid var(--color-border);
    padding: 40px 0;
    background: rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(8px);
}
[data-theme="light"] .orb-footer { background: var(--color-bg-surface); }
.orb-footer__strip {
    position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-accent) 30%, var(--color-accent) 70%, transparent);
    opacity: 0.45;
}
.orb-footer__row {
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px 40px; flex-wrap: wrap;
}
.orb-footer__brand {
    display: inline-flex; align-items: center; gap: 12px;
    text-decoration: none; color: inherit;
}
.orb-footer__mark { width: 34px; height: 34px; }
.orb-footer__word {
    font-family: var(--font-display);
    font-size: 17px; font-weight: 700; letter-spacing: 0.22em;
    text-transform: uppercase; color: var(--color-text-primary);
}
.orb-footer__links {
    display: inline-flex; align-items: center; gap: 22px;
    flex-wrap: wrap;
}
.orb-footer__links a {
    color: var(--color-text-secondary);
    font-size: 13.5px; font-weight: 500; text-decoration: none;
    transition: color var(--transition);
}
.orb-footer__links a:hover { color: var(--color-accent); }
.orb-footer__copy {
    color: var(--color-text-muted); font-size: 12.5px;
    font-variant-numeric: tabular-nums;
}

/* Scroll-reveal uses the shared `.reveal` / `.reveal--delay-N` utility from
   landing.css — already wired to the IntersectionObserver in index.html and
   disabled under prefers-reduced-motion there. */

/* ============================================================
   8. RESPONSIVE
   ============================================================ */
@media (max-width: 980px) {
    .orb-code__panes { grid-template-columns: 1fr; }
    .orb-code__pane + .orb-code__pane {
        border-left: 0; border-top: 1px solid var(--color-border);
    }
    .orb-bento { grid-template-columns: 1fr 1fr; }
    .orb-tile--hero { grid-column: span 2; grid-row: auto; }
    .orb-contact__layout { grid-template-columns: 1fr; }
    .orb-contact__pitch .orb-section__title { text-align: center; }
    .orb-contact__pitch .orb-eyebrow { justify-content: center; }
    .orb-contact__lead { margin-left: auto; margin-right: auto; text-align: center; }
}

@media (max-width: 640px) {
    .orb-map__stage { aspect-ratio: 1 / 0.92; }
    .orb-node__name { display: none; }
    .orb-node__ccy { font-size: 11px; }
    .orb-bento { grid-template-columns: 1fr; }
    .orb-tile--hero { grid-column: span 1; }
    .orb-band__row { font-size: 12px; gap: 10px 18px; }
    .orb-footer__row { flex-direction: column; align-items: flex-start; gap: 18px; }
}

@media (max-width: 400px) {
    .orb-hero__title { font-size: clamp(36px, 11vw, 52px); }
    .orb-map__stage { aspect-ratio: 1 / 1.02; }
    .orb-code__pane { padding: 18px 16px; }
    .orb-code__block { font-size: 11.5px; }
}

/* ============================================================
   9. REDUCED MOTION — halt orbital rotation (reveal handled by landing.css)
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    .orb-hero__orbit,
    .orb-hero__orbit--1::before,
    .orb-map__ring--inner,
    .orb-map__ring--outer { animation: none; }
}
