.landfall{
  position:relative;margin:0 24px;max-width:calc(100% - 48px);overflow-x:clip;overflow-y:clip;border-radius:var(--r-panel);border:1px solid var(--border-soft);background-color:var(--bg-top);
  background-image:radial-gradient(ellipse 44% 60% at 86% 2%,var(--accent-a10) 0,var(--accent-a06) 38%,var(--clear) 72%),linear-gradient(var(--grid-line) 1px,var(--clear) 1px),linear-gradient(90deg,var(--grid-line) 1px,var(--clear) 1px),linear-gradient(180deg,var(--bg-top) 0,var(--bg-bottom) 100%);
  background-size:100% 100%,48px 48px,48px 48px,100% 100%;background-position:0 0,-25px -73px,-25px -73px,0 0;background-repeat:no-repeat,repeat,repeat,no-repeat;
  box-shadow:inset 0 1px 0 var(--hi-edge),0 24px 60px -36px var(--accent-a25);
}
.landfall-inner{display:grid;grid-template-columns:minmax(0,46%) minmax(0,50%);justify-content:space-between;align-items:center;padding:56px 48px}
.landfall-inner>*{min-width:0}
.hero-copy{position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:10px;min-height:30px;padding:4px 14px 4px 12px;border-radius:var(--r-pill);background:var(--panel);box-shadow:inset 0 0 0 1px var(--border),inset 0 1px 0 var(--hi-edge);font-family:var(--font-mono);font-size:var(--size-tiny);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ochre)}
.eyebrow-dot{width:6px;height:6px;flex-shrink:0;border-radius:var(--r-round);background:var(--ochre);box-shadow:0 0 0 3px var(--ochre-a16)}
.hero-title{margin-top:24px;font-size:var(--size-h1);font-weight:var(--weight-display);line-height:1.1;letter-spacing:var(--tracking-display)}
.h1-line{display:block}
.lede{margin-top:32px;max-width:33em;font-size:18px;line-height:1.65;color:var(--muted)}
.lede strong{font-weight:var(--weight-display);color:var(--text)}
.trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:24px;font-size:var(--size-small);color:var(--text)}
.trust li{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.trust svg{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.manifest{margin-top:32px;border-radius:var(--r-lg);overflow:hidden;background:var(--panel);box-shadow:inset 0 0 0 1px var(--border),inset 0 1px 0 var(--hi-edge),0 10px 30px -14px var(--accent-a25)}
.mf-row{display:grid;grid-template-columns:84px minmax(0,1fr);min-height:46px}
.mf-row+.mf-row{border-top:1px dashed var(--border)}
.mf-label{display:flex;align-items:center;padding-left:16px;background:var(--panel-2);font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-mono);color:var(--muted)}
.mf-items{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:9px 16px;min-width:0}
.mf-items li{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--text);white-space:nowrap}
.pf-ico{width:17px;height:17px;flex-shrink:0;color:var(--text)}
.flag-chip{position:relative;display:inline-block;width:21px;height:14px;flex-shrink:0;border-radius:3px;overflow:hidden}
.flag-chip svg{display:block;width:21px;height:14px}
.flag-chip::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--ink-a10)}
.fw{fill:var(--flag-white)}.fr{fill:var(--flag-red)}.fn{fill:var(--flag-navy)}.fk{fill:var(--flag-black)}.fg{fill:var(--flag-gold)}
.orrery{position:relative;justify-self:end;width:100%;max-width:640px;aspect-ratio:640/600;container-type:inline-size;z-index:1}
.orrery-svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.st-g1{stop-color:var(--globe-1)}.st-g2{stop-color:var(--globe-2)}.st-accent{stop-color:var(--accent)}.st-accent-dark{stop-color:var(--accent-dark)}.st-panel{stop-color:var(--panel)}.st-panel2{stop-color:var(--panel-2)}
.sh-ground{fill:var(--accent);opacity:.12}
.base-side,.base-collar{fill:var(--panel-2);stroke:var(--border);stroke-width:1}
.base-top{fill:var(--panel);stroke:var(--border);stroke-width:1}
.gl-edge{fill:none;stroke:var(--accent);stroke-opacity:.2;stroke-width:1}
.gl-inner-edge{fill:none;stroke:var(--white);stroke-opacity:.55;stroke-width:1}
.graticule ellipse,.graticule path{fill:none;stroke:var(--accent);stroke-opacity:.25;stroke-width:1}
.gl-arc{fill:none;stroke:var(--white);stroke-opacity:.85;stroke-width:9;stroke-linecap:round}
.links path{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-opacity:.8;stroke-linecap:round}
.node-halo{fill:var(--accent);opacity:.16}.node{fill:var(--accent)}.node-core{fill:var(--white)}
.ring-path{fill:none;stroke-width:6;stroke-linecap:round}
.ring-gloss{fill:none;stroke:var(--white);stroke-opacity:.4;stroke-width:1.2}
.pivot{fill:var(--accent-dark)}.pivot-core{fill:var(--panel)}
.badge{fill:var(--panel);stroke:var(--border);stroke-width:1}
.badge-ico{color:var(--accent-dark)}
.ring-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;fill:var(--muted)}
.halo-outer{fill:var(--accent);opacity:.08}.halo-inner{fill:var(--accent);opacity:.14}
.core-gloss{fill:none;stroke:var(--white);stroke-opacity:.3;stroke-width:1.5}
.shield{fill:var(--white)}.shield-check{fill:none;stroke:var(--accent-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pointer path{fill:var(--accent-dark);stroke:var(--white);stroke-width:1.5;stroke-linejoin:round}
.halo{transform-box:fill-box;transform-origin:center;animation:lf-halo 6s ease-in-out infinite}
.ring-band{animation:lf-ring 12s ease-in-out infinite}
@keyframes lf-halo{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes lf-ring{0%,100%{opacity:1}50%{opacity:.74}}
.orrery-layer{position:absolute;inset:0;font-size:16px;font-size:calc(100cqw / 40)}
.lane{position:absolute;display:flex;align-items:center;gap:.625em;padding:.5625em .75em .5625em .5625em;border-radius:var(--r-card);background-color:var(--panel);border:1px solid var(--border-soft);box-shadow:inset 0 1px 0 var(--hi-edge),var(--shadow-card);white-space:nowrap}
.lane-flag{position:relative;width:1.875em;height:1.875em;flex-shrink:0;border-radius:var(--r-round);overflow:hidden;box-shadow:0 0 0 2px var(--white),0 0 0 3px var(--border)}
.lane-flag svg{display:block;width:100%;height:100%}
.lane-text{display:flex;flex-direction:column;line-height:1.25}
.lane-text b{font-size:.8125em;font-weight:var(--weight-display);color:var(--text)}
.lane-text small{font-family:var(--font-mono);font-size:.65em;letter-spacing:.04em;color:var(--muted)}
.tag,.status-pill,.badge-label{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow:hidden;overflow-wrap:anywhere;white-space:normal;padding:.28em .7em;border-radius:var(--r-pill);background:var(--panel-2);font-size:var(--size-tiny);line-height:1.5;color:var(--muted)}
.lane .tag{margin-left:.4em;font-size:.6875em;line-height:1.3;white-space:nowrap}
.lane-on{background-image:linear-gradient(var(--accent-a08),var(--accent-a08));border-color:var(--accent-a45)}
.lane-on .tag{background:var(--white);color:var(--accent-dark);box-shadow:inset 0 0 0 1px var(--accent-a25)}
.lane-on .tag::before{content:"";display:inline-block;width:.45em;height:.45em;border-radius:var(--r-round);background:var(--accent);flex-shrink:0}
.lane-chev{width:.75em;height:.75em;fill:none;stroke:var(--accent-dark);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lane-hk{left:0;top:32.667%}.lane-tyo{left:59.688%;top:24.333%}.lane-lax{left:2.188%;top:53%}.lane-fra{left:67.5%;top:79%}
.float-chip{position:absolute;display:inline-flex;align-items:center;gap:.5em;min-height:2.5em;padding:.4em 1em;border-radius:var(--r-pill);background:var(--panel);border:1px solid var(--border-soft);box-shadow:inset 0 1px 0 var(--hi-edge),var(--shadow-chip);font-size:.75em;color:var(--text);white-space:nowrap}
.live-dot{width:.6667em;height:.6667em;flex-shrink:0;border-radius:var(--r-round);background:var(--success);box-shadow:0 0 0 .25em var(--success-a20)}
.chip-status{left:63.75%;top:63.333%}
.chip-fact{left:4.375%;top:75.333%;font-family:var(--font-mono);font-size:.71875em;letter-spacing:.02em;background:var(--panel-2)}
.chip-fact span{color:var(--muted)}
.wall{padding:56px 72px 72px;text-align:center}
.wall-eyebrow{font-family:var(--font-mono);font-size:var(--size-tiny);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.wall-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 48px;margin-top:28px;color:var(--muted);opacity:.78}
.wall-row li{display:inline-flex;align-items:center;gap:9px;font-size:19px;font-weight:var(--weight-strong);letter-spacing:-.01em}
.wall-row svg{width:22px;height:22px}
.wall-mono{font-family:var(--font-mono);letter-spacing:.04em}
.facts-band{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 40px;padding:24px var(--gutter);font-family:var(--font-mono);border-bottom:1px solid var(--border);color:var(--muted)}
[role="tablist"]{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-panel);width:fit-content;max-width:100%;margin-bottom:28px}
[role="tab"]{min-height:44px;padding:10px 22px;border:0;border-radius:var(--r-pill);background:var(--clear);color:var(--muted);font-weight:var(--weight-display)}
[role="tab"][aria-selected="true"]{background:var(--panel);color:var(--accent-dark);box-shadow:inset 0 1px 0 var(--hi-edge),var(--shadow-chip)}
[role="tabpanel"]{min-width:0}
.toc-tabs{position:sticky;top:12px;z-index:20;display:flex;gap:8px;max-width:100%;overflow-x:auto;padding:10px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:var(--shadow-chip);margin-block:24px 40px;overscroll-behavior-x:contain}
.toc-tabs.is-static{position:static}
.toc-tabs a{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:40px;padding:8px 18px;border-radius:var(--r-pill);color:var(--text);font-size:var(--size-small);text-decoration:none;white-space:nowrap}
.toc-tabs a.is-current,.toc-tabs a:hover{background:var(--accent);color:var(--white)}
body:has(.toc-tabs) section[id],body:has(.toc-tabs) h2[id],body:has(.toc-tabs) h3[id]{scroll-margin-top:var(--anchor-offset)}
.faq-item{border-bottom:1px solid var(--border);padding-block:8px}
.faq-item summary{position:relative;cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:var(--weight-display);min-height:56px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:8px;top:17px;font-family:var(--font-mono);color:var(--accent)}
.faq-item[open] summary::after{content:"−"}
.faq-item p{padding-bottom:24px;color:var(--muted);max-width:70em}
.feature-layout{display:grid;grid-template-columns:minmax(0,46%) minmax(0,50%);justify-content:space-between;gap:24px;align-items:start}
.feature-layout>*{min-width:0}
.feature-item{border-bottom:1px solid var(--border);padding:8px 24px}
.feature-item summary{display:flex;align-items:center;gap:16px;list-style:none;cursor:pointer;min-height:76px;font-family:var(--font-display);font-size:var(--size-h3);font-weight:var(--weight-display)}
.feature-item summary::-webkit-details-marker{display:none}
.feature-item summary::after{content:"⌄";margin-left:auto;flex-shrink:0}
.feature-mark{width:24px;height:24px;flex-shrink:0;border-radius:var(--r-round);border:6px solid var(--accent);border-right-color:var(--ochre);transform:rotate(-35deg)}
.feature-item[open]{background:var(--ochre);color:var(--panel);border-radius:var(--r-lg);border-color:var(--ochre);padding-bottom:28px;box-shadow:var(--shadow-card)}
.feature-item[open] summary::after{content:"⌃"}
.feature-item[open] .feature-mark{border-right-color:var(--panel)}
.feature-body{padding-left:40px}
.feature-body p{line-height:1.8}
.round-arrow{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--r-round);background:var(--white);color:var(--ochre);text-decoration:none;margin-top:24px;font-size:var(--size-h3)}
.route-inspector{position:sticky;top:24px;padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-panel);box-shadow:inset 0 1px 0 var(--hi-edge),var(--shadow-card)}
.inspector-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px}
.inspector-head h3{margin-right:auto}
.plus-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-round);background:var(--accent);color:var(--white);text-decoration:none;font-size:var(--size-h3)}
.route-row{display:flex;align-items:center;gap:12px;padding:18px 14px;border:1px solid var(--border);border-radius:var(--r-card);margin-top:12px}
.route-row b{font-size:var(--size-small);font-weight:var(--weight-display);margin-right:auto}
.route-row.is-active{background:var(--accent-a08);border-color:var(--accent-a45)}
.route-note{margin-top:24px;color:var(--muted);font-size:var(--size-small)}
.feature-mobile-route{display:none}
.plan-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:32px 28px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--panel);box-shadow:inset 0 1px 0 var(--hi-edge),var(--shadow-card)}
.plan-card.is-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),var(--shadow-card)}
.plan-badge{align-self:flex-start;display:inline-flex;align-items:center;min-height:26px;padding:3px 12px;border-radius:var(--r-pill);color:var(--white);background:var(--accent);font-size:var(--size-tiny);margin-bottom:16px}
.plan-price{font-family:var(--font-display);font-size:40px;line-height:1.3;letter-spacing:var(--tracking-cjk);font-variant-numeric:tabular-nums;margin-block:20px}
.plan-price small{font-family:var(--font-body);font-size:var(--size-small);color:var(--muted);letter-spacing:normal}
.plan-facts{margin-bottom:28px}
.plan-facts li{padding-block:8px;border-bottom:1px solid var(--border)}
.plan-card .btn{margin-top:auto}
.table-scroll{display:block;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{width:100%;border-collapse:collapse;min-width:640px;text-align:left;font-size:var(--size-small)}
.data-table caption{text-align:left;padding:16px 20px;background:var(--panel);font-weight:var(--weight-strong);color:var(--text)}
.data-table th,.data-table td{padding:16px 20px;border-bottom:1px solid var(--border);word-break:keep-all;color:var(--text)}
.data-table th{white-space:nowrap;font-weight:var(--weight-strong);background:var(--panel-2)}
.data-table tbody th{background:var(--panel)}
.data-table .region-row th{background:var(--panel-2);color:var(--accent-dark)}
.data-table tr.is-active td{background:var(--accent-a08)}
.data-table tr:last-child td,.data-table tr:last-child th{border-bottom:0}
.prose>.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0}
.platform-card{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:28px 20px;border-radius:var(--r-card);border:1px solid var(--border);background:var(--panel);box-shadow:inset 0 1px 0 var(--hi-edge),var(--shadow-card);min-width:0}
.platform-card>.pf-ico{width:32px;height:32px;color:var(--accent-dark)}
.platform-card .btn{margin-top:auto;padding-inline:16px;font-size:var(--size-small)}
.platform-card p{font-size:var(--size-small);color:var(--muted)}
.article-card{display:flex;flex-direction:column;min-width:0;padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card)}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-family:var(--font-mono);font-size:var(--size-tiny);color:var(--muted)}
.article-card h3{margin-top:20px}
.article-card h3 a{color:var(--text);text-decoration:none}
.article-card h3 a:hover{color:var(--accent)}
.article-card p{margin-block:16px 24px;color:var(--muted)}
.article-card>.article-link{margin-top:auto;display:inline-flex;align-items:center;min-height:28px}
.callout,blockquote.callout{padding:24px 28px;border-left:3px solid var(--accent);border-radius:var(--r-card);background:var(--accent-a08);color:var(--text)}
.callout p+p{margin-top:12px}
.promo-block{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px;border-radius:var(--r-panel);border:1px solid var(--border);background:var(--panel-2);box-shadow:inset 0 1px 0 var(--hi-edge),var(--shadow-card);margin-block:40px}
.promo-copy{min-width:0}
.promo-copy strong{font-family:var(--font-display);font-size:var(--size-h3);font-weight:var(--weight-display)}
.promo-copy p{margin-top:8px;color:var(--muted)}
.promo-block .btn{flex-shrink:0;white-space:nowrap}
.blog-hero{position:relative;overflow-x:clip;background:var(--panel);border-radius:var(--r-panel);padding:48px;box-shadow:var(--shadow-card)}
.blog-hero::after{content:"LF";position:absolute;right:32px;top:24px;width:72px;height:72px;display:grid;place-items:center;transform:rotate(-11deg);border:3px double var(--accent-a45);border-radius:var(--r-round);font-family:var(--font-mono);color:var(--accent);font-size:var(--size-h3)}
.blog-hero h1{font-size:var(--size-h2);max-width:22em;margin-top:20px;padding-right:60px}
.ticker{overflow:hidden;max-width:100%;min-width:0;border-block:1px solid var(--border);padding-block:20px;background:var(--panel-2)}
.ticker-track{display:flex;width:max-content;max-width:none}
.ticker-group{display:flex;align-items:center;gap:48px;flex-shrink:0;padding-right:48px;color:var(--muted);font-family:var(--font-mono)}
.ticker-group span{white-space:nowrap}
.preview-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.swatch{border-radius:var(--r-card);overflow:hidden;border:1px solid var(--border);background:var(--panel);min-width:0}
.swatch-color{height:64px;border-bottom:1px solid var(--border)}
.swatch-label{display:block;padding:12px;font-family:var(--font-mono);font-size:var(--size-tiny);overflow-wrap:anywhere}
.sw-bg{background:var(--bg)}.sw-top{background:var(--bg-top)}.sw-bottom{background:var(--bg-bottom)}.sw-panel{background:var(--panel)}.sw-panel2{background:var(--panel-2)}.sw-border{background:var(--border)}
.sw-accent{background:var(--accent)}.sw-dark{background:var(--accent-dark)}.sw-ochre{background:var(--ochre)}.sw-text{background:var(--text)}.sw-muted{background:var(--muted)}.sw-success{background:var(--success)}.sw-warn{background:var(--warn)}.sw-error{background:var(--error)}
.sw-white{background:var(--white)}.sw-g1{background:var(--globe-1)}.sw-g2{background:var(--globe-2)}.sw-grid{background:var(--grid-line)}
.preview-type{display:grid;gap:24px}
.type-display{font-family:var(--font-display);font-size:var(--size-h1);font-weight:var(--weight-display);line-height:1.12}
.preview-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.preview-label{font-family:var(--font-mono);font-size:var(--size-tiny);color:var(--muted);margin-bottom:16px}
@media(max-width:960px){
  .landfall-inner{grid-template-columns:minmax(0,1fr);row-gap:48px;padding:48px 32px}
  .orrery{justify-self:center;max-width:560px}
  .feature-layout{grid-template-columns:minmax(0,1fr)}
  .route-inspector{position:static}
}
@media(max-width:768px){
  .landfall{margin:0 12px;max-width:calc(100% - 24px)}
  .landfall-inner{padding:36px 20px 40px;row-gap:36px}
  .hero-title{font-size:36px}.lede{font-size:var(--size-body)}
  .orrery{max-width:300px}.orrery-layer{font-size:11px}
  .lane-tyo,.lane-fra,.chip-fact,.ring-badges,.ring-labels,.pointer,.links,.nodes{display:none}
  .lane-hk{top:20%}.lane-lax{top:60%}.chip-status{left:50%;top:84%}
  .wall{padding:40px 20px 56px}.wall-row{gap:16px 28px}.wall-row li{font-size:var(--size-body)}
  .promo-block{flex-direction:column;align-items:flex-start;padding:24px}
  .feature-item{padding-inline:16px}.feature-body{padding-left:0}
  .feature-item summary{font-size:20px}.feature-layout>.route-inspector{display:none}
  .feature-mobile-route{display:block;max-width:100%;overflow-x:auto;margin-top:24px;padding:14px;background:var(--panel);color:var(--text);border-radius:var(--r-card)}
  .feature-mobile-route .route-row{min-width:270px;margin-top:0}
  .blog-hero{padding:28px}.blog-hero::after{display:none}.blog-hero h1{padding-right:0}
}
@media(max-width:640px){
  .mf-row{grid-template-columns:72px minmax(0,1fr)}.mf-label{padding-left:12px}.mf-items{padding:9px 12px;gap:6px 14px}
  .toc-tabs{border-radius:var(--r-lg)}
  .preview-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  .halo,.ring-band{animation:none}
  .ticker-track{width:auto;transform:none}
  .ticker-group{flex-wrap:wrap;gap:16px;padding-inline:var(--gutter)}
}