@charset "UTF-8";
@font-face { font-family: "Geist"; src: url("assets/fonts/Geist-Variable.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }

:root {
  color-scheme: light;
  --paper: #ffffff;
  --ink: #17191d;
  --muted: #656a73;
  --line: #d1d4da;
  --accent: #464b54;
  --sage: #656a73;
  --sea: #656a73;
  --font: "Geist", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* , *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 1rem/1.8 var(--font); -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
h1, h2, h3, h4, p, figure { margin: 0; }
h1, h2, h3 { font-weight: 500; text-wrap: balance; }
p { text-wrap: pretty; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { font: inherit; color: inherit; cursor: pointer; border: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
[hidden] { display: none !important; }
::selection { background: #d1d4da; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.container { width: min(1280px, calc(100% - 96px)); margin-inline: auto; }
.section { padding-block: clamp(76px, 8vw, 128px); }
.eyebrow { font-size: .75rem; letter-spacing: .11em; font-weight: 500; margin-bottom: 22px; }
h2 { font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.4; letter-spacing: -.045em; }
.section-top { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 9%; margin-bottom: 48px; }
.section-intro { font-size: 1.0625rem; line-height: 1.9; color: var(--muted); max-width: 34em; padding-bottom: 4px; }
.annotation { font-size: .875rem; line-height: 1.85; color: var(--muted); margin-top: 20px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 30px; min-height: 50px; padding: 11px 23px; background: var(--ink); color: #ffffff; font-size: 1rem; border-radius: 6px; transition: background .2s, transform .2s; }
.button:hover { background: #464b54; transform: translateY(-2px); }
.button:active { transform: translateY(1px); }
.button > span { font-size: 1.25rem; }
.button.small { min-height: 42px; font-size: .875rem; padding: 7px 17px; gap: 22px; }
.text-link { display: inline-flex; align-items: center; gap: 24px; font-size: .9375rem; padding: 9px 0; border-bottom: 1px solid transparent; }
.text-link:hover { border-color: currentColor; }
.skip { position: fixed; z-index: 80; top: 10px; left: 10px; transform: translateY(-160%); background: var(--ink); color: white; padding: 10px 20px; }
.skip:focus { transform: none; }
.review-bar { min-height: 35px; background: #e9ebee; display: flex; align-items: center; justify-content: center; gap: 25px; font-size: .75rem; letter-spacing: .03em; padding: 4px 16px; color: #656a73; }
.review-bar button { background: transparent; padding: 2px 0; font-size: inherit; border-bottom: 1px solid #868b94; }
.header { position: sticky; top: 0; z-index: 30; background: var(--paper); border-bottom: 1px solid var(--line); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 26px; min-height: 78px; }
.brand { display: inline-flex; gap: 9px; align-items: center; flex-shrink: 0; }
.brand > span { font: 600 2rem/1 "Segoe UI", sans-serif; letter-spacing: -.065em; padding-bottom: 4px; }
.brand-dot { color: var(--accent); }
.desktop-nav { display: flex; gap: 30px; font-size: .875rem; margin-left: auto; margin-right: 26px; }
.desktop-nav a { padding-block: 12px; }
.desktop-nav a:hover { color: var(--accent); }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.menu-button { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 6px; background: none; width: 44px; height: 44px; }
.menu-button span { width: 20px; height: 1px; background: var(--ink); }
.menu-button[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-button[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-nav { padding-block: 8px 20px; }
.mobile-nav a { display: block; padding-block: 10px; }

/* Brand artwork uses a diagram language rather than an application shell. */
.hero { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 8%; padding-block: clamp(60px, 6vw, 96px) 78px; }
.hero .eyebrow { display: flex; align-items: center; gap: 9px; color: #656a73; margin-bottom: 30px; }
.seed-dot { width: 6px; height: 6px; background: var(--sage); border-radius: 50%; }
.hero h1 { font-size: clamp(3.125rem, 5.6vw, 5rem); letter-spacing: -.06em; line-height: 1.25; font-weight: 600; }
.hero h1 > span { color: var(--accent); }
.hero-position { font-size: clamp(1.25rem, 1.8vw, 1.625rem); margin-top: 25px; letter-spacing: -.025em; }
.hero-description { font-size: 1.0625rem; color: var(--muted); line-height: 1.95; margin-top: 19px; max-width: 32em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; margin-top: 29px; }
.hero-art { text-align: center; padding-top: 10px; }
.art-orbit { position: relative; width: min(100%, 360px); aspect-ratio: 1; border: 1px solid #d1d4da; border-radius: 50%; margin: auto; display: grid; place-items: center; }
.art-orbit::before { content: ""; position: absolute; inset: 18%; border: 1px dashed #d1d4da; border-radius: 50%; }
.art-orbit img { width: 73%; position: relative; }
.orbit-label { position: absolute; background: var(--paper); padding: 4px 12px; font-size: .75rem; color: #656a73; }
.label-top { top: -16px; left: 18%; }
.label-right { right: -24px; top: 53%; }
.label-bottom { bottom: 1px; left: 16%; }
.hero-art figcaption { font-size: 1rem; color: #656a73; margin-top: 30px; line-height: 1.9; }
.approach { padding-top: 20px; padding-bottom: 8px; }
.approach .section-top { border-top: 1px solid var(--line); padding-top: 40px; }
.approach h2 { font-size: clamp(1.875rem, 2.8vw, 2.625rem); }
.concept { background: #e9ebee; border: 1px solid #d1d4da; border-radius: 12px; overflow: hidden; }
.concept-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 30px; border-bottom: 1px solid #d1d4da; font-size: .75rem; color: #656a73; }
.concept-top p { display: flex; align-items: center; gap: 8px; }
.concept-dot { width: 5px; height: 5px; border-radius: 50%; background: #656a73; }
.concept-separator { color: #868b94; margin-inline: 2px; }
.play-button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 38px; padding: 6px 10px; background: transparent; font-size: .8125rem; flex-shrink: 0; border-radius: 4px; }
.play-button:hover { background: #d1d4da; }








































.field-layout { display: grid; grid-template-columns: .7fr 1.5fr; gap: 9%; }
.field-tabs { display: flex; flex-direction: column; }
.field-tabs button { display: flex; align-items: center; gap: 23px; padding: 21px 0; background: none; border-bottom: 1px solid var(--line); color: #656a73; font-size: 1.125rem; text-align: left; }
.field-tabs button > span { font: .75rem monospace; }
.field-tabs button b { margin-left: auto; font-size: 1rem; opacity: 0; font-weight: 400; }
.field-tabs button[aria-selected="true"] { color: var(--accent); border-color: var(--accent); }
.field-tabs button[aria-selected="true"] b { opacity: 1; }
.field-panel { padding: 39px 43px; background: #f2f3f5; border-radius: 7px; }
.kicker { font-size: .875rem; color: #656a73; margin-bottom: 19px; }
.field-panel h3 { font-size: clamp(1.625rem, 2.5vw, 2.125rem); line-height: 1.5; letter-spacing: -.035em; }
.field-panel > p:not(.kicker) { font-size: 1rem; color: var(--muted); margin-top: 20px; }
.field-details { margin: 26px 0 23px; }
.field-details > div { display: grid; grid-template-columns: 130px 1fr; gap: 15px; padding: 13px 0; border-top: 1px solid #d1d4da; font-size: .875rem; }
.field-details dt { color: #656a73; }
.field-details dd { margin: 0; color: #464b54; }
.direction-label { font-size: .75rem; color: #656a73; }

.trust { background: #17191d; color: #f2f3f5; }
.trust .eyebrow { color: #868b94; }
.trust-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 10%; align-items: end; }
.trust-heading > p { color: #d1d4da; font-size: 1.0625rem; line-height: 1.95; max-width: 31em; }
.trust-path { display: grid; grid-template-columns: 1fr 50px 1fr 50px 1fr 50px 1fr; border-top: 1px solid #464b54; padding-top: 35px; margin-top: 58px; gap: 20px; }
.trust-path > div > span { font-size: .75rem; color: #868b94; }
.trust-path h3 { font-size: 1.375rem; margin-top: 15px; }
.trust-path p { color: #868b94; font-size: .875rem; margin-top: 7px; }
.trust-path i { font-style: normal; color: #656a73; padding-top: 30px; }
.trust-note { font-size: .875rem; color: #868b94; border-top: 1px solid #464b54; margin-top: 36px; padding-top: 20px; max-width: 58em; }
.continuity-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 10%; align-items: center; }
.asset-tabs { display: flex; gap: 23px; border-bottom: 1px solid var(--line); }
.asset-tabs button { background: transparent; padding: 10px 0 13px; margin-bottom: -1px; border-bottom: 1px solid transparent; font-size: .9375rem; color: #656a73; }
.asset-tabs button[aria-selected="true"] { color: var(--accent); border-bottom-color: var(--accent); }
#asset-panel { padding-top: 28px; }
#asset-panel h3 { font-size: 1.625rem; line-height: 1.6; letter-spacing: -.035em; }
#asset-panel > p:not(.annotation) { font-size: 1rem; color: var(--muted); margin-top: 18px; }
#asset-panel ul { list-style: none; padding: 0; margin-block: 22px 0; font-size: .9375rem; }
#asset-panel li { padding-block: 7px; display: flex; gap: 12px; }
#asset-panel li::before { content: "—"; color: #868b94; }











.local-note { display: grid; grid-template-columns: 100px 1fr; gap: 20px; margin-top: 48px; border-top: 1px solid var(--line); padding-top: 24px; }
.note-index { font-size: .75rem; color: #656a73; padding-top: 5px; }
.local-note h3 { font-size: 1.0625rem; }
.local-note p { font-size: .875rem; color: var(--muted); margin-top: 9px; max-width: 63em; }
.open { background: #f2f3f5; }
.model-access { border-top: 1px solid #d1d4da; padding-block: 35px 42px; scroll-margin-top: 25px; }
.model-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: end; }
.model-heading .eyebrow { color: #656a73; margin-bottom: 16px; }
.model-heading h3 { font-size: clamp(1.75rem, 2.7vw, 2.5rem); line-height: 1.45; letter-spacing: -.04em; }
.model-heading > p { font-size: 1rem; line-height: 1.95; color: var(--muted); max-width: 32em; }
.model-brands { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 32px 0 0; padding: 0; gap: 0 28px; border-top: 1px solid #d1d4da; }
.model-brands li { display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #d1d4da; padding-block: 28px; min-width: 0; min-height: 124px; }
.model-brands strong { display: block; font: 500 1.375rem/1.5 "Segoe UI",var(--font); letter-spacing: -.025em; }
.model-identity { display: flex; align-items: center; justify-content: center; gap: 14px; }
.model-identity img { display: block; width: 40px; height: 40px; object-fit: contain; flex-shrink: 0; }
.model-brands li > span { display: block; color: #656a73; font-size: .8125rem; margin-top: 5px; }
.model-brands .local-model-brand { flex-direction: column; text-align: center; }
.model-brands .local-model-brand strong { font-family: var(--font); font-size: 1.125rem; color: #656a73; padding-top: 7px; }
.model-brands li > .planned-flag { display: inline-block; color: #656a73; background: #e9ebee; padding: 1px 7px; border-radius: 3px; font-size: .75rem; margin-top: 0; }
.billing-note { display: grid; grid-template-columns: 115px 1fr; gap: 24px; padding: 23px 26px; margin-top: 24px; background: #e9ebee; }
.billing-note > span { font-size: .75rem; color: #656a73; padding-top: 4px; }
.billing-note h4 { font-size: 1rem; font-weight: 500; }
.billing-note p { font-size: .875rem; color: #656a73; line-height: 1.9; margin-top: 7px; max-width: 58em; }
.search-access { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 26px 10%; border-top: 1px solid #d1d4da; padding-block: 42px; scroll-margin-top: 25px; }
.search-access .eyebrow { color: #656a73; margin-bottom: 16px; }
.search-access h3 { font-size: clamp(1.75rem, 2.7vw, 2.5rem); line-height: 1.45; letter-spacing: -.04em; }
.search-access > div:first-child > p:last-child { color: var(--muted); font-size: 1rem; line-height: 1.95; margin-top: 21px; max-width: 31em; }
.search-route { padding: 25px 30px; background: #e9ebee; border-left: 1px solid #d1d4da; }
.search-route-label { display: block; font-size: .75rem; color: #656a73; margin-bottom: 18px; }
.search-route > div { display: flex; gap: 17px; align-items: baseline; }
.route-number { font: .75rem monospace; color: #656a73; }
.search-route strong { display: block; font-size: 1rem; font-weight: 500; }
.search-route p > span { display: block; font-size: .875rem; color: #656a73; margin-top: 4px; }
.search-route > i { display: block; padding-left: 38px; font-style: normal; font-size: 1.125rem; color: #868b94; margin-block: 6px; }
.search-scope { grid-column: 1 / -1; margin-top: 0; }
.connections { border-top: 1px solid #d1d4da; }
.connection-row { display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; align-items: center; padding-block: 30px; border-bottom: 1px solid #d1d4da; }
.connection-row h3 { font-size: 1.375rem; }
.connection-row p { font-size: .875rem; margin-top: 7px; color: #656a73; }
.vendor-list { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 22px 32px; }
.vendor { display: inline-flex; align-items: center; gap: 9px; font: 500 1rem "Segoe UI",var(--font); white-space: nowrap; }
.vendor img { width: 28px; height: 28px; object-fit: contain; }
.fmp-logo { display: inline-block; width: 96px; height: 32px; flex-shrink: 0; background: linear-gradient(160deg, #868b94, #464b54) no-repeat 0 0 / 33.333333% 100%, #17191d; -webkit-mask: url("assets/logos/fmp.svg") no-repeat center / contain; mask: url("assets/logos/fmp.svg") no-repeat center / contain; }
.vendor.qcc img { width: 150px; height: auto; mix-blend-mode: multiply; }
.extension-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; margin-top: 52px; }
.extension-grid article > span { font-size: .75rem; color: #656a73; }
.extension-grid h3 { font-size: 1.375rem; margin-top: 15px; }
.extension-grid p { margin-top: 13px; color: var(--muted); font-size: 1rem; max-width: 31em; }
.growth-line { border-top: 1px solid #d1d4da; display: flex; gap: 25px; padding-top: 26px; margin-top: 43px; align-items: flex-start; }
.growth-line img { flex-shrink: 0; margin-top: 3px; }
.growth-line h3 { font-size: 1.125rem; }
.growth-line p { font-size: .875rem; margin-top: 7px; color: var(--muted); max-width: 64em; }
.enterprise { display: grid; grid-template-columns: 1.1fr 1fr; gap: 10%; }
.enterprise h2 { font-size: clamp(1.875rem, 2.7vw, 2.5rem); }
.enterprise-intro { color: var(--muted); font-size: 1rem; margin-top: 24px; max-width: 28em; }
.enterprise-options article { border-top: 1px solid var(--line); padding-block: 23px 28px; }
.enterprise-options article > span { font-size: .75rem; color: #656a73; }
.enterprise-options h3 { font-size: 1.375rem; margin-top: 14px; }
.enterprise-options article p { color: var(--muted); font-size: 1rem; margin-top: 11px; }
.enterprise-options .annotation { margin-top: 0; }
.join { background: #f2f3f5; }
.join-inner { padding-block: 78px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 12%; align-items: center; }
.join .eyebrow { color: #656a73; }
.join h2 { font-size: clamp(2rem, 3.3vw, 3.125rem); }
.join p { font-size: 1rem; color: #656a73; margin-top: 23px; }
.join .button { margin-top: 28px; background: #464b54; }
.join .button:hover { background: #464b54; }
.join-aside { border-left: 1px solid #d1d4da; padding-left: 40px; }
.join-aside > span { font-size: .875rem; color: #656a73; }
.join-aside > p { font-size: 1.625rem; line-height: 1.7; margin-block: 18px 24px; letter-spacing: -.04em; }
.join-aside .join-small { font-size: .75rem; }
.footer { display: flex; align-items: center; gap: 35px; padding-block: 32px; flex-wrap: wrap; }
.footer .brand > span { font-size: 1.625rem; }
.footer > p { font-size: .875rem; color: #656a73; }
.footer > button { font-size: .8125rem; background: transparent; margin-left: auto; padding: 10px 0; }
.footer > span { font-size: .75rem; color: #656a73; }
dialog { width: min(720px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; border: 1px solid #d1d4da; border-radius: 10px; background: var(--paper); color: var(--ink); padding: 42px; }
dialog::backdrop { background: #17191db8; }
dialog h2 { font-size: 2rem; }
.close-dialog { position: absolute; right: 12px; top: 10px; width: 38px; height: 38px; font-size: 1.5rem; border-radius: 50%; background: #e9ebee; }
.dialog-lead { margin-top: 17px; color: var(--muted); }
.design-notes { margin: 24px 0 0; }
.design-notes > div { display: grid; grid-template-columns: 45px 1fr; gap: 18px; border-top: 1px solid var(--line); padding-block: 18px; }
.design-notes dt { font-size: .875rem; color: #656a73; }
.design-notes dd { margin: 0; font-size: .9375rem; color: var(--muted); }
.design-notes a { display: block; padding-block: 3px; text-decoration: underline; text-underline-offset: 4px; }
.contact-layout { display: grid; grid-template-columns: 1fr 220px; gap: 30px; margin-top: 24px; }
.contact-layout p { font-size: 1rem; }
.contact-layout .annotation { font-size: .875rem; }
.qr img { width: 220px; background: white; border: 1px solid var(--line); }
.qr a { display: block; font-size: .875rem; color: var(--accent); text-align: center; margin-top: 10px; }
.orbit-label, .direction-label, .note-index, .field-details dt, .extension-grid article > span, .enterprise-options article > span, .footer > span { color: #656a73; }



.trust-path > div > span, .trust-note { color: #868b94; }
.join-aside > span { color: #656a73; }

@media (min-width: 1600px) {
  .hero { padding-block: 96px; }
}
@media (max-width: 1100px) {
  .container { width: calc(100% - 64px); }
  .desktop-nav { gap: 20px; margin-right: 5px; }
  .hero { gap: 6%; }
  .art-orbit { width: 275px; }
  .label-right { right: -12px; }




  .trust-path { grid-template-columns: 1fr 20px 1fr 20px 1fr 20px 1fr; gap: 15px; }
  .field-panel { padding: 30px; }
  .field-details > div { grid-template-columns: 1fr; gap: 5px; }
  .vendor-list { gap: 18px 20px; }
}
@media (max-width: 900px) {
  .model-brands { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .desktop-nav { display: none; }
  .menu-button { display: flex; }
  .hero { gap: 5%; }
  .hero h1 { font-size: 3.375rem; }
  .hero-description { font-size: 1rem; }
  .hero-description br { display: none; }
  .art-orbit { width: 230px; }
  .hero-art figcaption { font-size: .875rem; }
  .section-top { gap: 6%; }
  .section-intro { font-size: 1rem; }





  .field-layout { grid-template-columns: .7fr 1.4fr; gap: 6%; }
  .field-tabs button { font-size: 1rem; gap: 17px; }
  .continuity-layout, .enterprise, .trust-heading { gap: 6%; }

  .connection-row { grid-template-columns: .8fr 1.2fr; }
  .footer > button { margin-left: 0; }
}
@media (max-width: 767px) {
  .container { width: calc(100% - 40px); }
  html { scroll-padding-top: 85px; }
  .section { padding-block: 68px; }
  .review-bar { justify-content: space-between; gap: 10px; font-size: .75rem; }
  .nav-inner { min-height: 68px; gap: 12px; }
  .brand > span { font-size: 1.75rem; }
  .brand img { width: 30px; }
  .button.small { font-size: .8125rem; gap: 12px; padding-inline: 13px; }
  .nav-actions { gap: 4px; }
  .hero { grid-template-columns: 1fr; padding-block: 52px 42px; gap: 34px; }
  .hero .eyebrow { margin-bottom: 24px; }
  .hero h1 { font-size: clamp(2.75rem, 11.2vw, 4.25rem); line-height: 1.28; }
  .hero-position { margin-top: 21px; font-size: 1.25rem; }
  .hero-description { margin-top: 16px; max-width: 30em; }
  .hero-actions { margin-top: 24px; gap: 12px 23px; }
  .button { font-size: .9375rem; gap: 20px; padding-inline: 20px; }
  .text-link { font-size: .875rem; gap: 15px; }
  .hero-art { display: flex; gap: 25px; align-items: center; text-align: left; padding-block: 17px; }
  .art-orbit { width: 152px; flex-shrink: 0; margin: 0 8px; }
  .orbit-label { font-size: .75rem; padding-inline: 6px; }
  .label-top { top: -12px; }
  .label-right { right: -19px; }
  .label-bottom { bottom: -8px; }
  .hero-art figcaption { font-size: .875rem; margin: 0; }
  .section-top { grid-template-columns: 1fr; gap: 24px; margin-bottom: 30px; }
  .eyebrow { margin-bottom: 18px; }
  h2 { font-size: 2rem; }
  .approach { padding-top: 0; }
  .approach .section-top { padding-top: 30px; }
  .approach h2 { font-size: 1.875rem; }
  .section-intro { font-size: 1rem; }
  .concept-top { padding: 13px 15px; gap: 5px; align-items: flex-start; }
  .concept-top p { display: block; max-width: 13em; font-size: .75rem; line-height: 1.9; }
  .concept-dot { display: inline-block; margin-right: 5px; }
  .concept-separator { display: none; }
  .play-button { font-size: .875rem; padding-inline: 6px; }
































  .annotation { font-size: .875rem; margin-top: 17px; }
  .field-layout { grid-template-columns: 1fr; gap: 24px; }
  .field-tabs { flex-direction: row; flex-wrap: wrap; gap: 0 24px; }
  .field-tabs button { font-size: .9375rem; gap: 8px; padding-block: 10px; }
  .field-tabs button > span, .field-tabs button b { display: none; }
  .field-panel { padding: 25px; }
  .field-panel h3 { font-size: 1.625rem; }
  .field-panel > p:not(.kicker) { font-size: 1rem; }
  .field-details { margin-block: 23px; }
  .field-details > div { font-size: .875rem; }
  .direction-label { font-size: .75rem; }
  .trust-heading { grid-template-columns: 1fr; gap: 24px; }
  .trust-heading > p { font-size: 1rem; }
  .trust-path { grid-template-columns: 1fr 1fr; gap: 27px 20px; margin-top: 35px; padding-top: 27px; }
  .trust-path > i { display: none; }
  .trust-path h3 { font-size: 1.25rem; margin-top: 10px; }
  .trust-path p { font-size: .875rem; }
  .trust-note { margin-top: 27px; }
  .continuity-layout { grid-template-columns: 1fr; gap: 30px; }
  .asset-tabs { gap: 23px; }
  .asset-tabs button { font-size: .9375rem; }
  #asset-panel h3 { font-size: 1.5rem; }
  #asset-panel > p:not(.annotation) { font-size: 1rem; }

  .local-note { grid-template-columns: 1fr; gap: 9px; margin-top: 30px; }
  .connection-row { grid-template-columns: 1fr; gap: 24px; padding-block: 26px; }
  .model-access { padding-block: 26px 32px; }
  .model-heading { grid-template-columns: 1fr; gap: 22px; }
  .model-heading h3, .search-access h3 { font-size: 1.875rem; }
  .model-brands { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; margin-top: 25px; }
  .model-brands strong { font-size: 1.125rem; }
  .model-identity { flex-direction: column; gap: 10px; }
  .model-identity img { width: 36px; height: 36px; }
  .model-brands .local-model-brand { align-items: center; }
  .model-brands li > span { font-size: .8125rem; }
  .billing-note { grid-template-columns: 1fr; gap: 8px; padding: 20px; }
  .search-access { grid-template-columns: 1fr; gap: 25px; padding-block: 32px; }
  .search-route { padding: 24px; }
  .vendor-list { justify-content: flex-start; gap: 20px 25px; }
  .vendor { font-size: .9375rem; }
  .vendor.qcc img { width: 135px; }
  .extension-grid { grid-template-columns: 1fr; gap: 30px; margin-top: 35px; }
  .extension-grid h3 { font-size: 1.25rem; }
  .growth-line { gap: 18px; margin-top: 30px; }
  .enterprise { grid-template-columns: 1fr; gap: 35px; }
  .enterprise h2 { font-size: 1.875rem; }
  .enterprise-intro { margin-top: 20px; }
  .enterprise-options h3 { font-size: 1.25rem; }
  .join-inner { grid-template-columns: 1fr; gap: 35px; padding-block: 60px; }
  .join h2 { font-size: 1.9375rem; }
  .join-aside { border-left: 0; border-top: 1px solid #d1d4da; padding: 27px 0 0; }
  .join-aside > p { font-size: 1.375rem; }
  .footer { gap: 18px 25px; padding-block: 30px; }
  .footer > button { width: 100%; text-align: left; }
  .footer > span { width: 100%; }
  dialog { padding: 36px 24px 25px; }
  dialog h2 { font-size: 1.625rem; }
  .design-notes > div { grid-template-columns: 1fr; gap: 8px; }
  .contact-layout { grid-template-columns: 1fr; gap: 23px; }
  .qr img { width: 210px; margin: auto; }
}
@media (max-width: 374px) {
  .container { width: calc(100% - 32px); }
  .hero-art { gap: 16px; }
  .art-orbit { width: 135px; }
  .hero-art figcaption { font-size: .875rem; }


}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media print {
  .review-bar, .header, .hero-actions, .play-button, .footer, dialog { display: none; }
  .container { width: 100%; }
  .section { padding-block: 30px; }
  .concept, .trust { print-color-adjust: exact; }
}

/* V0.10 information, creation and cooperation narrative. */
.desktop-nav { gap: 22px; margin-right: 12px; white-space: nowrap; }
.discovery { background: #f2f3f5; }
.discovery-story { display: grid; grid-template-columns: .85fr 1.6fr; gap: 64px; padding: 40px 0 22px; border-top: 1px solid var(--line); }
.discover-wordmark { border-left: 2px solid #868b94; padding-left: 26px; }
.discover-kicker { font-size: .75rem; letter-spacing: .12em; color: #656a73; }
.discover-wordmark > p { font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.8; margin-top: 16px; }
.discover-tags { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 28px; font-size: .8125rem; color: #656a73; }
.discovery-path { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin: 0; padding: 0; list-style: none; }
.discovery-path li > span { font-size: .75rem; color: #656a73; }
.discovery-path h3 { font-size: 1.125rem; margin-block: 18px 12px; }
.discovery-path p { font-size: .9375rem; color: var(--muted); line-height: 1.95; }
.discovery .search-access { margin-top: 40px; }
.information-bridge { border-top: 1px solid var(--line); padding-top: 28px; color: #656a73; font-size: .9375rem; }
.information-bridge > span { padding-inline: 12px; }
.creation-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: center; padding-top: 40px; border-top: 1px solid var(--line); }
.creation-copy h3 { font-size: clamp(1.65rem, 2.8vw, 2.35rem); letter-spacing: -.035em; line-height: 1.5; margin-bottom: 24px; }
.creation-copy > p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.95; margin-top: 16px; }
.creation-copy .kicker { color: #656a73; font-size: .8125rem; margin-bottom: 18px; }
.creation-copy .model-caption { border-top: 1px solid var(--line); padding-top: 20px; font-size: .8125rem !important; }
.model-caption strong { display: block; font-size: .9375rem; font-weight: 500; color: var(--ink); margin-top: 4px; }
.diagram-label { font-size: .75rem; color: #656a73; line-height: 1.8; }
.brief-diagram { background: #f2f3f5; padding: 28px 32px; }
.purpose-switch { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 24px 30px; }
.purpose-switch button { font-size: .8125rem; padding: 6px 12px; background: transparent; border: 1px solid #d1d4da; border-radius: 3px; min-height: 36px; }
.purpose-switch button[aria-pressed="true"] { color: #ffffff; background: #464b54; border-color: #464b54; }
.brief-heading > span { font-size: .75rem; color: #656a73; }
.brief-heading h4 { font-size: 1.1875rem; font-weight: 500; line-height: 1.7; margin-top: 10px; min-height: 3.4em; }
.visual-brief { margin: 26px 0 24px; }
.visual-brief > div { display: grid; grid-template-columns: 42px 1fr; gap: 16px; border-top: 1px solid #d1d4da; padding-block: 12px; font-size: .875rem; }
.visual-brief dt { color: #656a73; }
.visual-brief dd { margin: 0; }
.brief-foot { border-top: 1px solid #d1d4da; padding-top: 18px; font-size: .75rem; color: #656a73; }
.brief-foot span { padding-inline: 6px; }
.creation-scope { margin-bottom: 65px; }
.spatial-row { gap: 8%; }
.geometry-demo { padding: 25px 24px 22px; background: #f2f3f5; }
.geometry-demo svg { display: block; width: 100%; height: auto; }
.geometry-controls { display: flex; gap: 14px; align-items: center; font-size: .8125rem; color: #656a73; padding-block: 10px; }
.geometry-controls label { flex-shrink: 0; }
.geometry-controls input { width: 100%; min-width: 0; accent-color: #656a73; cursor: pointer; }
.geometry-controls output { min-width: 34px; text-align: right; font-variant-numeric: tabular-nums; }
.geometry-name { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; border-top: 1px solid #d1d4da; padding-top: 15px; margin-top: 6px; font-size: .875rem; }
.geometry-name span { font-size: .75rem; color: #656a73; }
.creation-copy .engine-caption { font-size: .8125rem !important; color: #656a73 !important; border-top: 1px solid var(--line); padding-top: 20px; }
.agent-cooperation { margin-top: 50px; border-top: 1px solid #d1d4da; padding-top: 38px; }
.agent-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: end; }
.agent-heading h3 { font-size: clamp(1.75rem, 2.7vw, 2.5rem); line-height: 1.45; letter-spacing: -.04em; }
.agent-heading .eyebrow { color: #656a73; margin-bottom: 16px; }
.agent-heading > p { font-size: 1rem; line-height: 1.95; color: var(--muted); }
.agent-diagram { margin-top: 34px; }
.internal-network { border: 1px solid #d1d4da; padding: 25px 32px; background: #f2f3f5; }
.internal-route { display: grid; grid-template-columns: 1fr 40px 1.3fr 40px 1fr; gap: 18px; align-items: center; padding-block: 25px 12px; text-align: center; }
.internal-route > span { font-size: 1rem; color: #656a73; }
.internal-route > b { color: #868b94; font-size: 1.5rem; font-weight: 400; }
.agent-center { display: flex; align-items: center; justify-content: center; gap: 16px; }
.agent-center strong { font-size: 1rem; font-weight: 500; }
.future-network { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; margin-top: 20px; border: 1px dashed #868b94; padding: 28px 32px; color: #656a73; }
.future-network .planned-flag { display: inline-block; background: #e9ebee; color: #656a73; padding: 1px 7px; border-radius: 3px; font-size: .75rem; }
.future-network h4 { font-size: 1.0625rem; font-weight: 500; margin-top: 10px; }
.future-network p { font-size: .875rem; line-height: 1.9; margin-top: 10px; }
.endpoint-route { display: flex; gap: 14px; align-items: center; justify-content: center; text-align: center; }
.endpoint-route span { font-size: .8125rem; max-width: 6em; }
.endpoint-route b { font-weight: 400; color: #868b94; }
.endpoint-route strong { font-size: 1.0625rem; font-weight: 500; border: 1px dashed #868b94; padding: 14px 20px; flex-shrink: 0; }
.endpoint-route small { display: block; font-size: .75rem; font-weight: 400; }
@media(max-width:1100px) {
  .discovery-story { grid-template-columns: 1fr; gap: 34px; }
  .discovery-path { gap: 34px; }
  .creation-row { gap: 6%; }
  .brief-diagram { padding: 24px; }
  .internal-route { gap: 8px; }
  .agent-center { flex-direction: column; gap: 10px; }
  .endpoint-route { gap: 8px; }
  .endpoint-route strong { padding: 12px; }
}
@media(max-width:767px) {
  .discovery-story { padding-top: 28px; gap: 32px; }
  .discover-wordmark { padding-left: 20px; }
  .discovery-path { grid-template-columns: 1fr; gap: 0; }
  .discovery-path li { border-top: 1px solid var(--line); padding-block: 22px; }
  .discovery-path h3 { margin-block: 8px; }
  .discovery-path p { font-size: 1rem; }
  .information-bridge { font-size: .875rem; line-height: 2; }
  .information-bridge > span { padding-inline: 4px; }
  .creation-row, .agent-heading, .future-network { grid-template-columns: 1fr; gap: 30px; }
  .creation-row { padding-top: 28px; }
  .creation-copy h3 { font-size: 1.875rem; }
  .brief-diagram { padding: 24px 20px; }
  .brief-heading h4 { min-height: 0; }
  .spatial-row .creation-copy { grid-row: 1; }
  .geometry-demo { padding: 22px 16px; }
  .internal-network, .future-network { padding: 22px 18px; }
  .internal-route { grid-template-columns: 1fr; gap: 8px; padding-block: 20px 8px; }
  .internal-route > b { transform: rotate(90deg); line-height: 1.4; }
  .agent-center { flex-direction: row; }
  .endpoint-route { gap: 14px; padding-block: 8px; }
  .future-network p { font-size: 1rem; }
}

/* Analytical figures and location evidence are distinct from generated artwork. */
.media-information { margin-bottom: 56px; padding-bottom: 36px; border-bottom: 1px solid var(--line); }
.media-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: end; padding-top: 8px; }
.media-heading h3 { font-size: clamp(1.875rem, 3vw, 2.65rem); line-height: 1.5; letter-spacing: -.04em; }
.media-heading > p { font-size: 1rem; line-height: 1.95; color: var(--muted); }
.media-entry { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8%; border-block: 1px solid var(--line); padding-block: 28px; margin-block: 32px 38px; }
.media-entry h4 { font-size: 1.125rem; font-weight: 500; }
.media-entry > div > p { font-size: .9375rem; line-height: 1.9; color: var(--muted); margin-top: 12px; }
.media-platforms { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 22px 10px; list-style: none; padding: 0; margin: 0; color: #464b54; }
.media-platforms li { display: flex; flex-direction: column; align-items: center; gap: 9px; min-width: 0; font-size: .8125rem; line-height: 1.7; text-align: center; }
.media-platforms img { display: block; width: 40px; height: 40px; object-fit: contain; }
.media-entry > div > .media-entry-note { font-size: .75rem; color: #656a73; margin-top: 18px; }
.media-process { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; list-style: none; padding: 0; margin: 0 0 36px; }
.media-process li > span { font-size: .75rem; color: #656a73; }
.media-process h4 { font-size: 1.125rem; line-height: 1.8; font-weight: 500; margin-block: 12px 10px; }
.media-process p { font-size: .9375rem; color: var(--muted); line-height: 1.95; }
.media-diagram-label { font-size: .75rem; color: #656a73; margin-bottom: 14px; }
.media-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.media-paths > article { background: #f2f3f5; padding: 30px; }
.media-paths > article + article { background: #f2f3f5; }
.media-path-index { font-size: .8125rem; color: #656a73; }
.media-paths > article + article .media-path-index { color: #656a73; }
.media-paths h4 { font-size: 1.375rem; line-height: 1.75; font-weight: 500; margin-block: 14px; letter-spacing: -.025em; }
.media-paths article > p, .media-example p { font-size: .9375rem; line-height: 1.95; color: var(--muted); }
.media-example { margin-top: 24px; padding-top: 18px; border-top: 1px solid #d1d4da; }
.media-paths > article + article .media-example { border-top-color: #d1d4da; }
.media-example > span { display: block; font-size: .75rem; color: #656a73; margin-bottom: 8px; }
.media-return { display: grid; grid-template-columns: 150px 1fr; gap: 24px; margin-block: 24px 14px; padding-block: 18px; }
.media-return > span { font-size: .8125rem; color: #656a73; padding-top: 3px; }
.media-return > p { font-size: .9375rem; line-height: 1.95; color: var(--muted); }
@media(max-width:1100px) {
  .media-heading, .media-entry { gap: 6%; }
  .media-platforms { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .media-process { grid-template-columns: 1fr 1fr; gap: 28px 36px; }
  .media-paths { gap: 20px; }
  .media-paths > article { padding: 24px; }
}
@media(max-width:767px) {
  .media-information { margin-bottom: 36px; padding-bottom: 28px; }
  .media-heading, .media-entry, .media-paths, .media-return { grid-template-columns: 1fr; gap: 24px; }
  .media-entry { margin-block: 26px; padding-block: 24px; }
  .media-entry > div > p, .media-process p, .media-paths article > p, .media-example p, .media-return > p { font-size: 1rem; }
  .media-platforms { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px 14px; }
  .media-process { grid-template-columns: 1fr; gap: 22px; }
  .media-process li { border-bottom: 1px solid var(--line); padding-bottom: 22px; }
  .media-process h4 { margin-block: 8px; }
  .media-paths > article { padding: 24px 20px; }
  .media-return { gap: 10px; }
}
.professional-data { margin-block: 52px 44px; border-top: 1px solid #d1d4da; }
.data-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: end; padding-block: 40px; }
.data-heading h3 { font-size: clamp(1.875rem, 3vw, 2.65rem); line-height: 1.45; letter-spacing: -.04em; }
.data-heading > p { color: var(--muted); font-size: 1rem; line-height: 1.95; }
.data-provider { display: grid; grid-template-columns: .8fr 1.25fr 1.45fr; gap: 5%; border-top: 1px solid #d1d4da; padding-block: 36px; }
.data-identity { min-width: 0; }
.data-identity .fmp-logo { width: 120px; height: 40px; }
.data-identity h4 { font-size: 1rem; font-weight: 500; margin-top: 24px; line-height: 1.75; }
.data-identity > p { font-size: .8125rem; color: #656a73; margin-top: 4px; }
.data-identity > a { display: inline-flex; gap: 12px; font-size: .8125rem; color: #656a73; margin-top: 22px; text-underline-offset: 5px; }
.data-wordmark { display: flex; align-items: center; gap: 11px; height: 40px; }
.data-wordmark img { width: 34px; height: 34px; object-fit: contain; }
.data-wordmark strong { font-size: 1.5rem; font-weight: 600; letter-spacing: -.03em; }
.data-qcc-logo { display: block; width: 180px; max-width: 100%; height: 40px; object-fit: contain; object-position: left center; mix-blend-mode: multiply; }
.data-label { display: block; font-size: .75rem; color: #656a73; letter-spacing: .03em; margin-bottom: 18px; }
.data-coverage ul { list-style: none; margin: 0; padding: 0; }
.data-coverage li + li { margin-top: 16px; }
.data-coverage strong { display: block; font-weight: 500; font-size: .9375rem; margin-bottom: 5px; }
.data-coverage li span { color: var(--muted); font-size: .875rem; line-height: 1.9; }
.data-application > p { color: var(--muted); font-size: .9375rem; line-height: 1.95; }
.data-application blockquote { margin: 20px 0; padding: 13px 0 13px 18px; border-left: 2px solid #868b94; font-size: .9375rem; line-height: 1.9; color: #656a73; }
.data-application > .data-scope { font-size: .75rem; line-height: 1.9; color: #656a73; }
.data-workflow { display: grid; grid-template-columns: .85fr 1.15fr; column-gap: 8%; row-gap: 20px; padding: 30px; background: #f2f3f5; margin-block: 4px 24px; }
.data-workflow .data-label { color: #656a73; margin-bottom: 10px; }
.data-workflow h4 { font-size: 1.125rem; font-weight: 500; line-height: 1.8; }
.data-workflow ol { align-self: center; display: flex; flex-wrap: wrap; gap: 10px 18px; list-style: none; counter-reset: data-step; margin: 0; padding: 0; }
.data-workflow li { counter-increment: data-step; font-size: .8125rem; color: #656a73; }
.data-workflow li::before { content: counter(data-step, decimal-leading-zero); margin-right: 8px; font-size: .6875rem; color: #656a73; }
.data-workflow > p { grid-column: 1 / -1; max-width: 75ch; color: #656a73; font-size: .875rem; line-height: 1.95; border-top: 1px solid #d1d4da; padding-top: 18px; }
@media(max-width:1100px) {
  .data-provider { grid-template-columns: .75fr 1.25fr; column-gap: 7%; row-gap: 24px; }
  .data-identity { grid-row: span 2; }
  .data-application { grid-column: 2; }
}
@media(max-width:767px) {
  .professional-data { margin-block: 38px 32px; }
  .data-heading { grid-template-columns: 1fr; gap: 22px; padding-block: 30px; }
  .data-provider { grid-template-columns: 1fr; gap: 26px; padding-block: 30px; }
  .data-identity { grid-row: auto; }
  .data-application { grid-column: auto; }
  .data-identity h4 { margin-top: 16px; font-size: 1.125rem; }
  .data-identity > a { margin-top: 12px; }
  .data-coverage li span, .data-application > p { font-size: 1rem; }
  .data-application > .data-scope { font-size: .8125rem; }
  .data-workflow { grid-template-columns: 1fr; gap: 22px; padding: 24px 20px; }
  .data-workflow ol { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .data-workflow > p { font-size: .9375rem; }
}
.analytics-row { gap: 7%; }
.chart-showcase { min-width: 0; background: #f2f3f5; padding: 25px 24px 20px; }
.chart-switch { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin-block: 20px 16px; }
.chart-switch button { min-height: 36px; padding: 5px 8px; font-size: .8125rem; background: transparent; border: 1px solid #d1d4da; border-radius: 3px; }
.chart-switch button[aria-pressed="true"] { background: #656a73; border-color: #656a73; color: #ffffff; }
.chart-example { width: 100%; height: 320px; min-width: 0; }
.chart-example > p { padding: 80px 24px; text-align: center; color: var(--muted); font-size: .875rem; }
.chart-data-note { margin-top: 14px; border-top: 1px solid #d1d4da; padding-top: 12px; font-size: .8125rem; color: #656a73; }
.chart-data-note summary { cursor: pointer; padding-block: 3px; }
.chart-data-note p { line-height: 1.9; margin-top: 8px; }
.analysis-scope { margin-bottom: 65px; }
.map-row { gap: 8%; }
.map-method { background: #f2f3f5; padding: 30px; }
.map-brand { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; margin-bottom: 24px; }
.map-brand img { width: 40px; height: 40px; object-fit: contain; }
.map-brand strong { font-size: 1.375rem; font-weight: 500; }
.map-brand > span { font-size: .75rem; color: #656a73; }
.address-flow { list-style: none; margin: 25px 0 0; padding: 0; }
.address-flow li { display: grid; grid-template-columns: 24px 1fr; gap: 18px; padding: 20px 0; border-top: 1px solid #d1d4da; }
.address-flow li > span { color: #656a73; font-size: .75rem; padding-top: 3px; }
.address-flow h4 { font-weight: 500; font-size: 1rem; }
.address-flow p { color: #656a73; font-size: .875rem; margin-top: 7px; }
.map-applications { list-style: none; padding: 0; margin: 24px 0 0; }
.map-applications li { display: grid; grid-template-columns: 70px 1fr; gap: 16px; padding-block: 12px; border-top: 1px solid var(--line); font-size: .9375rem; }
.map-applications strong { font-weight: 500; }
.map-applications span { color: var(--muted); }
@media(max-width:767px) {
  .chart-showcase { padding: 22px 14px 18px; }
  .chart-example { height: 300px; }
  .map-row .creation-copy { grid-row: 1; }
  .map-method { padding: 24px 20px; }
  .map-brand { gap: 10px; }
  .map-brand > span { display: block; flex-basis: 100%; }
  .address-flow p { font-size: 1rem; }
}

/* Design review V0.14: graphite, precise type and content-led interaction.
   DESIGN_VARIANCE 6 / MOTION_INTENSITY 5 / VISUAL_DENSITY 7.
   Controls use 6px radii; grouped examples use 8px; editorial rows stay flat. */
:root { --paper: #f7f8fa; --ink: #181b20; --muted: #5d636e; --line: #dce0e6; --accent: #b84529; --sage: #5c6f86; --sea: #596c84; }
::selection { color: #fff; background: #99503a; }
.container { width: calc(100% - 96px); max-width: 1360px; }
body { line-height: 1.75; }
h1,h2,h3,h4 { font-weight: 500; }
h2 { font-size: clamp(1.875rem, 2.8vw, 2.65rem); line-height: 1.38; letter-spacing: -.045em; }
.section { padding-block: 68px; }
.section-top { gap: 7%; margin-bottom: 32px; }
.section-intro { font-size: 1rem; line-height: 1.9; }
.eyebrow { font-size: .75rem; letter-spacing: .05em; margin-bottom: 16px; color: #656a73; }
.sub-label { color: #656a73; font-size: .75rem; margin-bottom: 14px; letter-spacing: .03em; }
.annotation { font-size: .8125rem; line-height: 1.8; margin-top: 16px; }
.button { border-radius: 6px; min-height: 46px; padding: 10px 18px; gap: 24px; font-size: .875rem; background: #21252c; color: #fff; }
.button:hover { background: #424852; transform: translateY(-1px); }
.button.small { min-height: 38px; padding: 7px 14px; font-size: .8125rem; }
:focus-visible { outline: 2px solid #b84529; outline-offset: 5px; }
.review-bar { background: #202226; color: #bfc2c8; min-height: 28px; font-size: .6875rem; }
.review-bar button { border: 0; color: #d5d7dc; }
.header { background: #111214; color: #f1f2f4; border-color: #303237; }
.nav-inner { min-height: 72px; }
.brand > span { font-family: 'Geist', sans-serif; font-size: 1.875rem; letter-spacing: -.075em; font-weight: 600; }
.brand-dot { color: inherit; }
.brand img { width: 30px; height: 30px; }
.desktop-nav { gap: 26px; font-size: .8125rem; }
.desktop-nav a { color: #c0c3c9; position: relative; transition: color .18s; }
.desktop-nav a:hover,.desktop-nav a[aria-current] { color: #fff; }
.desktop-nav a[aria-current]::after { content: ''; position: absolute; bottom: 3px; height: 2px; background: #c5c9d0; inset-inline: 0; }
.header .button { background: #f2f3f5; color: #202226; }
.header .button:hover { background: #fff; }
.menu-button span { background: #e0e3e8; }
.mobile-nav a { color: #e0e3e8; }
.hero-surface { background: #111214; color: #f2f3f5; }
.hero { grid-template-columns: 1.15fr 1fr; gap: 12%; padding-block: 62px 52px; }
.hero .eyebrow { color: #bec2cb; gap: 10px; font-size: .75rem; margin-bottom: 25px; }
.hero .seed-dot { background: #da805b; width: 5px; height: 5px; box-shadow: 0 0 0 4px #da805b12; }
.hero-divider { color: #626874; margin-inline: 4px; }
.hero h1 { font-size: clamp(3.1rem, 5vw, 4.8rem); line-height: 1.25; font-weight: 500; letter-spacing: -.055em; }
.hero h1 > span { color: #aeb5c2; }
.hero-position { font-size: 1.3125rem; margin-top: 27px; color: #eff1f4; }
.hero-description { color: #a6adb8; font-size: .9375rem; line-height: 1.95; margin-top: 14px; }
.hero-actions { margin-top: 28px; gap: 28px; }
.hero .button { background: #f1f3f6; color: #191c21; }
.hero .button:hover { background: #fff; }
.hero .text-link { color: #d1d5dc; font-size: .875rem; }
.capability-index { min-width: 0; }
.index-heading { display: flex; justify-content: space-between; gap: 10px; font-size: .75rem; color: #afb5c0; padding-bottom: 16px; }
.index-heading > span:last-child { font-family: ui-monospace, monospace; font-size: .625rem; letter-spacing: .08em; color: #939aa7; }
.capability-link { display: grid; grid-template-columns: 23px 1fr 28px; gap: 15px; border-top: 1px solid #33363c; padding: 23px 12px 23px 0; transition: background .2s, padding .2s; }
.capability-link:hover { background: #1a1d22; padding-left: 12px; }
.index-number { font: .6875rem ui-monospace, monospace; color: #929aa7; padding-top: 6px; }
.capability-link h2 { font-size: 1.4375rem; line-height: 1.4; letter-spacing: -.025em; color: #f2f3f5; }
.capability-link p { color: #a2aab7; font-size: .8125rem; margin-top: 7px; }
.index-arrow { font-size: 1.25rem; color: #aeb8c8; transition: transform .2s; align-self: center; }
.capability-link:hover .index-arrow { transform: translate(3px,-3px); color: #fff; }
.index-tools { display: flex; align-items: center; gap: 12px; height: 24px; margin-top: 16px; }
.index-tools img { height: 23px; width: 23px; object-fit: contain; }
.index-tools img[src*="qcc"] { width: 115px; height: auto; background: #f1f3f5; padding: 3px 5px; border-radius: 3px; }
.index-fmp { color: #d9dfe8; font-size: .9375rem; letter-spacing: -.04em; font-weight: 600; }
.index-tags { display: flex; gap: 16px; font-size: .6875rem; color: #b1bbc9; margin-top: 17px; font-family: ui-monospace, monospace; }
.index-note { color: #959ca8; font-size: .6875rem; border-top: 1px solid #33363c; padding-top: 14px; }
.hero-foot { display: flex; gap: 35px; padding-block: 21px; border-top: 1px solid #33363c; color: #b4bac5; font-size: .75rem; }
.hero-foot > span { margin-right: auto; color: #e0e4eb; }
.hero-foot a { display: flex; align-items: center; gap: 16px; }
.hero-foot a:hover { color: #fff; }
.approach { padding-block: 60px 0; }
.approach .section-top { padding-top: 0; border: 0; }
.approach h2 { font-size: clamp(1.875rem,2.8vw,2.65rem); }
.concept { background: #eef0f4; border-color: #d6dce5; border-radius: 8px; }
.concept-top { padding: 14px 24px; border-color: #d6dce5; color: #616b7a; }
.concept-dot { background: #6a7b91; }

















.fields .section-top { margin-bottom: 26px; }
.field-layout { grid-template-columns: .65fr 1.65fr; gap: 32px; }
.field-tabs button { padding: 17px 12px; font-size: 1rem; border-color: #d9dfe7; }
.field-tabs button[aria-selected=true] { background: #e9edf3; color: #2d4260; border-color: #a6b4c9; border-radius: 6px 6px 0 0; }
.field-panel { padding: 30px 34px; background: #fff; border: 1px solid #e0e4ea; border-radius: 8px; }
.field-panel h3 { font-size: 1.8125rem; line-height: 1.4; }
.field-panel > p:not(.kicker) { margin-top: 16px; }
.field-details { margin: 20px 0; }
.kicker { margin-bottom: 14px; }
.trust { background: #1b1f25; color: #f1f3f6; padding-block: 54px; }
.trust .eyebrow { color: #a9b6ca; }
.trust-heading { grid-template-columns: 1.1fr 1fr; gap: 7%; }
.trust-heading > p { font-size: 1rem; line-height: 1.9; color: #b8c0cc; }
.trust-path { margin-top: 34px; padding-top: 26px; border-color: #414954; }
.trust-path > div > span,.trust-note { color: #b1bdcd; }
.trust-path h3 { font-size: 1.25rem; margin-top: 10px; }
.trust-path p { color: #aeb9c9; }
.trust-note { border-color: #414954; margin-top: 25px; padding-top: 18px; font-size: .8125rem; max-width: none; }
.discovery { background: #fff; }
.discovery-story { gap: 40px; padding-top: 28px; }
.discover-wordmark { border-color: #647895; padding-left: 22px; }
.discover-kicker { color: #455b7a; }
.discover-wordmark > p { font-size: 1.5rem; line-height: 1.6; }
.discover-tags { margin-top: 22px; color: #616c7c; gap: 8px; }
.discover-tags > span { border: 1px solid #dce1e9; border-radius: 4px; padding: 2px 7px; font-size: .6875rem; }
.discovery-path h3 { margin-block: 12px 8px; }
.search-access { margin-top: 28px !important; padding-block: 30px; gap: 18px 7%; }
.search-route { background: #f2f4f7; border: 1px solid #e1e5ec; border-radius: 8px; padding: 24px; }
.search-route > i { margin-block: 4px; color: #7487a2; }
.information-bridge { padding-top: 18px; color: #55657c; font-size: .8125rem; }
.media-heading { gap: 7%; }
.media-heading h3 { font-size: clamp(1.75rem,2.65vw,2.35rem); }
.media-entry { grid-template-columns: .7fr 1.3fr; gap: 6%; padding-block: 24px; margin-block: 26px; align-items: center; }
.media-platforms { gap: 12px 10px; color: #515c6e; }
.media-platforms li { border-radius: 6px; padding: 13px 4px 10px; background: #fff; border: 1px solid #e3e7ed; font-size: .6875rem; gap: 8px; }
.media-platforms img { width: 32px; height: 32px; }
.media-process { gap: 24px; margin-bottom: 26px; }
.media-process li { padding-left: 15px; border-left: 1px solid #cbd3df; }
.media-process h4 { font-size: 1rem; margin-block: 9px; }
.media-process p { font-size: .875rem; line-height: 1.85; }
.media-paths { gap: 18px; }
.media-paths > article,.media-paths > article + article { background: #fff; border: 1px solid #e0e5ec; border-radius: 8px; padding: 26px; }
.media-paths h4 { font-size: 1.1875rem; margin-block: 10px; }
.media-path-index,.media-paths > article + article .media-path-index { color: #485f7f; }
.media-example { margin-top: 18px; padding-top: 14px; }
.media-return { margin-block: 12px 0; padding-block: 14px; }
.media-information { margin-bottom: 32px; padding-bottom: 26px; }
.continuity-layout { gap: 6%; }



.local-note { margin-top: 30px; padding-top: 20px; }
.create { background: #fff; }
.creation-row { padding-top: 30px; gap: 6%; }
.creation-copy h3 { font-size: clamp(1.625rem,2.5vw,2.125rem); margin-bottom: 18px; line-height: 1.4; }
.creation-copy > p:not(.kicker) { margin-top: 13px; line-height: 1.85; }
.creation-scope,.analysis-scope { margin-bottom: 38px; }
.chart-showcase { background: #f2f4f7; border: 1px solid #dce2eb; border-radius: 8px; padding: 22px; }
.chart-switch { margin-block: 16px 10px; gap: 5px; }
.chart-switch button { border-color: #d3dbe6; border-radius: 5px; min-height: 34px; }
.chart-switch button[aria-pressed=true] { background: #3e5475; border-color: #3e5475; color: #fff; }
.chart-example { height: 280px; }
.chart-data-note { border-color: #d5dce7; }
.map-method,.brief-diagram { border: 1px solid #dce2eb; border-radius: 8px; padding: 24px; background: #f2f4f7; }
.address-flow { margin-top: 18px; }
.address-flow li { padding-block: 16px; border-color: #d6deea; }
.map-brand { margin-bottom: 18px; }
.purpose-switch { margin-block: 18px 22px; }
.purpose-switch button { border-color: #cbd5e3; border-radius: 5px; }
.purpose-switch button[aria-pressed=true] { background: #3e5475; border-color: #3e5475; }
.brief-heading h4 { min-height: 0; }
.visual-brief { margin-block: 20px; }
.geometry-demo { background: #151c26; color: #edf1f7; border-radius: 8px; border: 1px solid #364254; padding: 22px; }
.geometry-demo .diagram-label,.geometry-controls,.geometry-name span { color: #b3c0d3; }
.geometry-name { border-color: #39475c; }
.geometry-controls input { accent-color: #a6b9d4; }
.creation-copy .engine-caption { color: #526681 !important; }
.open { background: #edf0f4; }
.model-access { padding-block: 28px; }
.model-heading,.data-heading,.agent-heading { gap: 7%; }
.model-heading h3,.data-heading h3,.agent-heading h3 { font-size: clamp(1.75rem,2.65vw,2.35rem); }
.model-brands { gap: 1px; border: 1px solid #dce1e9; border-radius: 8px; overflow: hidden; background: #dce1e9; margin-top: 26px; }
.model-brands li { background: #fff; border: 0; padding: 24px 15px; min-height: 105px; }
.model-identity { gap: 13px; }
.model-identity img { width: 34px; height: 34px; }
.model-brands strong { font-size: 1.125rem; font-weight: 500; }
.model-brands .local-model-brand { background: #f5f6f8; }
.model-brands li > .planned-flag,.future-network .planned-flag { color: #7d5735; background: #ece0d0; font-size: .6875rem; }
.billing-note { background: transparent; border: 1px solid #d4dce8; border-radius: 6px; padding: 20px 22px; margin-top: 20px; }
.billing-note p,.billing-note > span { color: #5b697b; }
.professional-data { margin-block: 26px 32px; }
.data-heading { padding-block: 30px; }
.data-providers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.data-provider { display: flex; flex-direction: column; gap: 22px; padding: 26px; border: 1px solid #dbe1e9; border-radius: 8px; background: #fff; }
.data-identity { min-height: 156px; }
.data-identity h4 { margin-top: 19px; font-size: 1.0625rem; }
.data-identity > a { margin-top: 13px; color: #465f80; }
.data-label { color: #687589; margin-bottom: 13px; font-size: .6875rem; }
.data-coverage { border-top: 1px solid #e3e7ed; padding-top: 19px; }
.data-coverage li + li { margin-top: 13px; }
.data-coverage li span { font-size: .875rem; line-height: 1.8; }
.data-application { border-top: 1px solid #e3e7ed; padding-top: 19px; }
.data-application > p { font-size: .875rem; line-height: 1.85; }
.data-application blockquote { color: #4c607b; border-color: #9baec9; margin-block: 17px; padding-block: 5px; font-size: .8125rem; }
.data-application > .data-scope { font-size: .75rem; color: #687282; }
.data-workflow { background: transparent; border: 1px solid #d3dce9; border-radius: 8px; margin-top: 20px; padding: 24px; }
.data-workflow > p,.data-workflow .data-label,.data-workflow li { color: #5c6a7e; }
.connection-row { padding-block: 24px; }
.vendor-list { gap: 18px 24px; }
.vendor { font-size: .875rem; }
.extension-grid { margin-top: 32px; gap: 40px; }
.extension-grid article { border-top: 1px solid #cbd4e2; padding-top: 20px; }
.extension-grid h3 { margin-top: 10px; font-size: 1.25rem; }
.agent-cooperation { margin-top: 34px; padding-top: 30px; }
.agent-diagram { margin-top: 26px; }
.internal-network { background: #f8f9fb; border: 1px solid #c9d4e4; border-radius: 8px; padding: 22px 28px; }
.internal-route { padding-block: 18px 4px; }
.future-network { margin-top: 14px; border-color: #acb9ca; border-radius: 8px; padding: 24px 28px; }
.growth-line { margin-top: 28px; padding-top: 22px; }
.enterprise { gap: 7%; }
.enterprise-options article { padding-block: 19px 24px; }
.join { background: #171c24; color: #f4f5f7; }
.join-inner { padding-block: 58px; gap: 9%; }
.join .eyebrow,.join-aside > span { color: #aebdd2; }
.join-inner > div > p { color: #bac3d0; }
.join .button { background: #e9edf4; color: #1e2633; margin-top: 25px; }
.join-aside { border-color: #4a5464; }
.join-aside > p { font-size: 1.625rem; color: #dce3ed; }
.footer { padding-block: 26px; gap: 26px; }
dialog { background: #f7f8fa; border-color: #bdc9db; border-radius: 8px; }
.close-dialog { background: #e5eaf2; border-radius: 6px; }
.section [id],article[id] { scroll-margin-top: 95px; }
.capability-link,.media-platforms li,.data-provider { transition: border-color .2s, background .2s; }
.media-platforms li:hover,.data-provider:hover { border-color: #a8b9d0; }
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .section-top h2,.hero-copy { animation: arrive .65s ease-out both; }
  .capability-index { animation: arrive .75s .08s ease-out both; }
  @keyframes arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 1100px) {
  .container { width: calc(100% - 64px); }
  .hero { gap: 6%; padding-block: 48px 42px; }
  .hero h1 { font-size: 3.6rem; }
  .capability-link { padding-block: 19px; gap: 10px; }
  .capability-link h2 { font-size: 1.25rem; }
  .index-heading > span:last-child { display: none; }
  .data-providers { grid-template-columns: 1fr; gap: 16px; }
  .data-provider { display: grid; grid-template-columns: .8fr 1fr 1.15fr; gap: 26px; padding: 25px; }
  .data-identity { grid-row: auto; }
  .data-coverage,.data-application { border: 0; padding: 0; grid-column: auto; }


}
@media (max-width: 767px) {
  .container { width: calc(100% - 40px); }
  .section { padding-block: 46px; }
  .nav-inner { min-height: 64px; }
  .review-bar { min-height: 26px; font-size: .625rem; }
  .header .button { font-size: .75rem; }
  .hero { grid-template-columns: 1fr; padding-block: 38px 26px; gap: 35px; }
  .hero h1 { font-size: clamp(2.9rem,10.5vw,4.5rem); line-height: 1.23; }
  .hero .eyebrow { font-size: .6875rem; margin-bottom: 22px; }
  .hero-position { font-size: 1.1875rem; margin-top: 22px; }
  .hero-description { font-size: .875rem; }
  .hero-actions { gap: 23px; margin-top: 24px; }
  .capability-link { grid-template-columns: 20px 1fr 22px; padding-block: 17px; }
  .capability-link h2 { font-size: 1.25rem; }
  .index-tools,.index-tags { margin-top: 11px; }
  .hero-foot { flex-wrap: wrap; gap: 13px 24px; padding-block: 18px; }
  .hero-foot > span { width: 100%; }
  .hero-foot a { font-size: .6875rem; gap: 10px; }
  .approach { padding-top: 40px; }
  .section-top { gap: 17px; margin-bottom: 24px; }
  h2,.approach h2 { font-size: 1.875rem; }
  .section-intro { font-size: .9375rem; }
  .concept-top { padding: 13px 15px; }







  .field-layout { grid-template-columns: 1fr; gap: 17px; }
  .field-tabs { gap: 6px; }
  .field-tabs button { padding: 9px 11px; font-size: .875rem; border: 1px solid #d5dce7; border-radius: 6px; }
  .field-tabs button[aria-selected=true] { border-radius: 6px; }
  .field-panel { padding: 23px; }
  .field-panel h3 { font-size: 1.5rem; }
  .trust-heading { grid-template-columns: 1fr; gap: 20px; }
  .trust-path { gap: 22px 15px; margin-top: 26px; padding-top: 22px; }
  .discovery-story { padding-top: 22px; gap: 26px; }
  .discovery-path li { padding-block: 18px; }
  .media-heading h3 { font-size: 1.625rem; }
  .media-entry { grid-template-columns: 1fr; gap: 22px; margin-block: 23px; }
  .media-platforms { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .media-platforms li { padding-block: 12px; font-size: .6875rem; }
  .media-process { grid-template-columns: 1fr; gap: 18px; }
  .media-process li { border-bottom: 0; padding-bottom: 0; padding-left: 16px; }
  .media-paths > article { padding: 22px; }
  .media-return { gap: 9px; }
  .creation-copy h3 { font-size: 1.625rem; }
  .creation-row { gap: 24px; padding-top: 25px; }
  .chart-showcase,.map-method,.brief-diagram,.geometry-demo { padding: 20px 16px; }
  .chart-example { height: 260px; }
  .model-brands { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .model-brands li { min-height: 106px; padding: 17px 10px; }
  .model-identity { flex-direction: column; gap: 8px; }
  .model-brands strong { font-size: 1rem; }
  .data-provider { display: flex; gap: 22px; padding: 23px; }
  .data-identity { min-height: 0; }
  .data-coverage,.data-application { border-top: 1px solid #dfe5ed; padding-top: 20px; }
  .data-coverage li span,.data-application > p { font-size: .9375rem; }
  .data-application > .data-scope { font-size: .75rem; }
  .data-heading,.agent-heading { gap: 20px; }
  .vendor-list { gap: 18px 23px; }
  .vendor { font-size: .8125rem; }
  .internal-network,.future-network { padding: 22px 18px; }
  .join-inner { padding-block: 43px; gap: 29px; }
  .join-aside { padding-top: 24px; }
  .join h2 { font-size: 1.875rem; }
  .join-aside > p { font-size: 1.375rem; }
  .footer { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation: none !important; transition: none !important; } }

/* Identity assets retain their original palette; no new Nova brand artwork. */
.fmp-logo { background: linear-gradient(160deg,#4eaffd,#7046fe) no-repeat 0 0 / 33.333333% 100%,#18181b; }
.index-tools .index-fmp { width: 62px; height: 22px; background: linear-gradient(160deg,#4eaffd,#7046fe) no-repeat 0 0 / 33.333333% 100%,#d9dfe8; }
.hero-divider { color: #9ba3b0; }
.concept-separator { color: #626e80; }

.join .button:hover { background: #fff; color: #1e2633; }
.index-heading > span:last-child,.index-note,.index-tags,.review-bar,.media-platforms li { font-size: .75rem; }
.geometry-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 15px; color: #b3c0d3; font-size: .75rem; padding-top: 8px; }
.geometry-toolbar button { border: 1px solid #63728a; border-radius: 6px; background: transparent; padding: 6px 12px; color: #d7e2f1; min-height: 38px; white-space: nowrap; font-size: .75rem; }
.geometry-toolbar button[aria-pressed=true] { color: #1e2b40; background: #d0dbea; }
.geometry-demo[data-wireframe=true] polygon { fill: none; stroke: #9bb6dc; stroke-width: .55; }
#geometry-view { cursor: grab; touch-action: pan-y; }
#geometry-view.is-dragging { cursor: grabbing; }
@media(max-width:767px) { .hero-foot a { font-size: .75rem; } }

/* Focused diagram redesign: hierarchy, convergence and reuse.
   DESIGN_VARIANCE 6 / MOTION_INTENSITY 3 / VISUAL_DENSITY 7.
   The diagram explains relationships; it is not a product interface. */
.continuity-layout { grid-template-columns: .82fr 1.3fr; gap: 40px; align-items: start; }
.asset-diagram {
  --diagram-bg: #161d28;
  --diagram-ink: #edf2fa;
  --diagram-muted: #b1bfd3;
  --diagram-line: #4a5d78;
  --diagram-accent: #c3d9f7;
  position: relative; isolation: isolate; min-width: 0; margin: 0;
  border: 1px solid #46566d; border-radius: 8px;
  background: var(--diagram-bg); color: var(--diagram-ink); padding: 27px;
  box-shadow: 0 12px 30px #17253a0c;
}
.asset-diagram figcaption { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.accumulation-kicker { font-size: .75rem; color: var(--diagram-muted); }
.asset-diagram figcaption h3 { font-size: clamp(1.25rem,1.8vw,1.5rem); line-height: 1.45; font-weight: 500; margin-top: 8px; letter-spacing: -.025em; }
.accumulation-label { color: #c2ccdb; border: 1px solid #4c5b73; border-radius: 4px; padding: 3px 8px; font-size: .75rem; white-space: nowrap; margin-top: 2px; }
.accumulation-sources { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.accumulation-sources > div { position: relative; background: #202b3b; border: 1px solid #495b76; border-radius: 6px; padding: 13px 14px; min-width: 0; }
.source-format { font-family: ui-monospace,monospace; font-size: .75rem; letter-spacing: .09em; color: #bbcee8; }
.accumulation-sources strong { display: block; font-size: .9375rem; font-weight: 500; line-height: 1.5; margin-top: 5px; }
.accumulation-sources small { display: block; color: var(--diagram-muted); font-size: .75rem; margin-top: 4px; line-height: 1.6; }
.accumulation-merge { position: relative; height: 37px; margin-inline: calc((100% - 24px)/6); display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--diagram-line); }
.accumulation-merge > i { display: block; width: 1px; height: 37px; background: var(--diagram-line); }
.accumulation-merge > i:nth-child(2) { position: absolute; left: 50%; top: 0; height: 37px; }
.accumulation-merge > i:last-child { justify-self: end; }
.accumulation-merge::after { content: ''; position: absolute; left: 50%; top: 37px; height: 14px; width: 1px; background: var(--diagram-line); }
.accumulation-method { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 14px; padding: 16px 18px; border: 1px solid #768ba7; background: #29394f; border-radius: 6px; }
.method-mark { font: .75rem ui-monospace,monospace; color: #c5d8f3; border-right: 1px solid #768ba7; padding-right: 16px; }
.accumulation-method strong { font-size: .9375rem; font-weight: 500; line-height: 1.5; }
.accumulation-method p { color: #d0dcec; font-size: .75rem; margin-top: 5px; }
.accumulation-method p > span { color: #b3c2d8; margin-left: 12px; }
.accumulation-branch { height: 49px; position: relative; margin-inline: calc((100% - 24px)/6); display: flex; justify-content: space-between; align-items: end; }
.accumulation-branch::before { content: ''; position: absolute; top: 0; left: 50%; height: 33px; width: 1px; background: var(--diagram-line); }
.accumulation-branch::after { content: ''; position: absolute; left: 0; right: 0; top: 32px; height: 1px; background: var(--diagram-line); }
.accumulation-branch > span { position: absolute; left: 50%; top: 10px; transform: translateX(-50%); white-space: nowrap; background: var(--diagram-bg); color: #adbed5; padding-inline: 8px; z-index: 1; font-size: .75rem; }
.accumulation-branch > i { width: 1px; height: 17px; display: block; background: var(--diagram-line); }
.asset-destinations { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.asset-destinations > button { display: block; text-align: left; position: relative; min-width: 0; min-height: 101px; padding: 13px; border: 1px solid #566884; border-radius: 6px; background: #1c2839; color: #e5ecf8; transition: background .18s,border-color .18s,color .18s; }
.destination-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; color: #c0cde0; font-size: .75rem; line-height: 1.5; }
.destination-state { display: none; font-size: .75rem; white-space: nowrap; }
.asset-destinations > button > strong { display: block; font-size: 1.0625rem; font-weight: 500; line-height: 1.5; margin-top: 9px; }
.asset-destinations > button > small { display: block; font-size: .75rem; color: #b0c0d7; line-height: 1.6; margin-top: 5px; }
.asset-destinations > button:hover { background: #293a51; border-color: #a0b5d4; }
.asset-destinations > button.current { background: #d4e3f8; border-color: #e2edfc; color: #1f3656; }
.asset-destinations > button.current .destination-top,.asset-destinations > button.current > small { color: #415c80; }
.asset-destinations > button.current .destination-state { display: inline; }
.asset-destinations > button:focus-visible { outline-color: #e6f0ff; outline-offset: 4px; }
.accumulation-return { display: flex; align-items: center; gap: 14px; padding-top: 17px; margin-top: 20px; border-top: 1px solid #4b5b73; }
.return-arrow { color: #c3d9f7; font-size: 1.5rem; font-weight: 400; line-height: 1; }
.return-label { display: block; font-size: .75rem; color: #b1bfd3; }
.accumulation-return p { font-size: .875rem; margin-top: 4px; color: #e4ebf7; }
.return-loop { margin-left: auto; color: #c6d9f3; font-size: 1.625rem; line-height: 1; padding-left: 8px; }
.accumulation-scope { margin-top: 14px; font-size: .75rem; line-height: 1.8; color: #aebed4; }
@media(min-width:1280px) { .asset-destinations > button { padding: 14px; } }
@media(max-width:1100px) and (min-width:1024px) { .continuity-layout { gap: 26px; } .asset-diagram { padding: 22px; } .accumulation-sources,.asset-destinations { gap: 8px; } .accumulation-sources > div,.asset-destinations > button { padding: 11px; } .destination-state { display: none !important; } .asset-destinations > button.current::after { content: ''; position: absolute; right: 9px; top: 12px; height: 5px; width: 5px; background: #415c80; border-radius: 50%; } }
@media(max-width:1023px) { .continuity-layout { grid-template-columns: 1fr; gap: 28px; } #asset-panel { max-width: 48em; } }
@media(max-width:767px) {
  .asset-diagram { padding: 20px 16px; }
  .asset-diagram figcaption { gap: 8px; }
  .asset-diagram figcaption h3 { font-size: 1.1875rem; margin-top: 6px; }
  .accumulation-kicker { font-size: .75rem; }
  .accumulation-label { font-size: .75rem; padding: 2px 5px; }
  .accumulation-sources { margin-top: 21px; gap: 7px; }
  .accumulation-sources > div { padding: 10px 8px; }
  .accumulation-sources strong { font-size: .75rem; }
  .accumulation-sources small { font-size: .75rem; }
  .source-format { font-size: .75rem; }
  .accumulation-method { gap: 11px; padding: 14px 12px; }
  .method-mark { padding-right: 11px; font-size: .75rem; }
  .accumulation-method strong { font-size: .8125rem; }
  .accumulation-method p { font-size: .75rem; }
  .accumulation-method p > span { display: block; margin: 2px 0 0; }
  .asset-destinations { gap: 7px; }
  .asset-destinations > button { padding: 11px 8px; min-height: 106px; }
  .destination-top { font-size: .75rem; }
  .asset-destinations > button > strong { font-size: .8125rem; margin-top: 8px; }
  .asset-destinations > button > small { font-size: .75rem; }
  .destination-state { display: none !important; }
  .asset-destinations > button.current { border-top: 3px solid #fff; padding-top: 9px; }
  .accumulation-return { gap: 10px; margin-top: 17px; padding-top: 15px; }
  .accumulation-return p { font-size: .8125rem; line-height: 1.7; }
  .accumulation-scope { font-size: .75rem; margin-top: 12px; }
}
@media(prefers-reduced-motion:reduce) { .asset-destinations > button { transition: none; } }

.asset-destinations > button[data-destination="memory"]:not(.current) { border-style: dashed; }

/* Narrow screens use readable rows rather than squeezing three destination columns. */
@media(max-width:639px) {
  .accumulation-sources small { display: none; }
  .accumulation-sources > div { padding-block: 12px; }
  .accumulation-branch { height: 39px; margin-inline: 0; }
  .accumulation-branch > i,.accumulation-branch::after { display: none; }
  .accumulation-branch::before { height: 39px; }
  .accumulation-branch > span { top: 10px; }
  .asset-destinations { grid-template-columns: 1fr; gap: 8px; }
  .asset-destinations > button,.asset-destinations > button.current { display: grid; grid-template-columns: 79px 1fr; gap: 3px 12px; padding: 12px 14px; min-height: 75px; border-width: 1px; }
  .destination-top { display: block; grid-row: span 2; align-self: center; }
  .destination-state { font-size: .75rem; margin-top: 3px; }
  .asset-destinations > button.current .destination-state { display: block !important; }
  .asset-destinations > button > strong { font-size: .9375rem; margin: 0; align-self: end; }
  .asset-destinations > button > small { font-size: .75rem; margin: 0; align-self: start; }
}

/* The three phases form one conceptual flow, not three product windows.
   DESIGN_VARIANCE 6 / MOTION_INTENSITY 4 / VISUAL_DENSITY 7. */
.concept { background: #fff; border: 1px solid #d3dce8; border-radius: 8px; overflow: hidden; }
.concept-top { padding: 12px 24px; color: #596b84; border-color: #dce3ed; }
.concept-top p { font-size: .75rem; }
.concept-dot { background: #5d7595; }
.play-button { min-height: 44px; border: 1px solid #c1cddd; background: #f4f6f9; border-radius: 6px; padding: 8px 14px; color: #344e70; }
.play-button:hover { background: #e7edf6; }
.play-button[aria-pressed=true] { background: #26374e; color: #f1f5fc; border-color: #26374e; }
.step-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 0; gap: 0; background: #f5f7fa; }
.step-tabs button { position: relative; display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 16px 27px; background: transparent; color: #59697f; font-size: .9375rem; text-align: left; border-bottom: 2px solid #d6deea; }
.step-tabs button + button { border-left: 1px solid #d6deea; }
.step-tabs button > span { font: .75rem ui-monospace,monospace; color: #586d8a; }
.step-tabs button > b { margin-left: auto; font-size: 1.25rem; font-weight: 400; color: #778ca8; }
.step-tabs button[aria-selected=true] { background: #e6edf7; color: #233c60; border-bottom-color: #516e96; }
.step-tabs button[aria-selected=true] > span { color: #344f75; }
.step-tabs button:focus-visible { outline-offset: -6px; z-index: 1; }
.workflow-stages { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.workflow-stage { position: relative; min-width: 0; padding: 26px 27px 22px; color: #25354c; background: #f8fafc; transition: background .25s,color .25s; }
.workflow-stage + .workflow-stage { border-left: 1px solid #d6deea; }
.workflow-overline { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 24px; color: #60748f; font-size: .75rem; }
.stage-state { display: none; font-size: .75rem; white-space: nowrap; color: #d0e0f6; border-bottom: 1px solid #8da4c4; padding-bottom: 2px; }
.workflow-stage h3 { font-size: clamp(1.125rem,1.6vw,1.375rem); line-height: 1.5; font-weight: 500; letter-spacing: -.03em; margin-top: 14px; text-wrap: balance; }
.workflow-stage dl { margin: 23px 0 0; }
.workflow-stage dl > div { padding-block: 13px; border-top: 1px solid #dbe3ee; }
.workflow-stage dt { font-size: .875rem; font-weight: 500; line-height: 1.5; }
.workflow-stage dd { color: #61728a; margin: 6px 0 0; font-size: .8125rem; line-height: 1.8; }
.workflow-foot { font-size: .75rem; color: #536a87; border-top: 1px solid #dbe3ee; padding-top: 16px; margin-top: 3px; }
.workflow-stage.is-active { background: #202d40; color: #f0f5fd; }
.workflow-stage.is-active .workflow-overline { color: #b5c8e2; }
.workflow-stage.is-active .stage-state { display: inline; }
.workflow-stage.is-active dl > div,.workflow-stage.is-active .workflow-foot { border-color: #4a5c77; }
.workflow-stage.is-active dd,.workflow-stage.is-active .workflow-foot { color: #becfe6; }
.concept-caption { display: grid; grid-template-columns: 80px 1fr auto; align-items: start; gap: 22px; padding: 22px 27px; border-top: 1px solid #d6deea; background: #fff; }
.caption-number { font: .75rem/1.8 var(--font); color: #506c91; padding-top: 3px; }
.concept-caption h3 { font-size: 1.0625rem; line-height: 1.6; }
.concept-caption p { font-size: .875rem; color: #5c6b80; margin-top: 6px; max-width: 52em; line-height: 1.8; }
.human-note { align-self: center; color: #415b7e; font-size: .75rem; line-height: 1.8; border-left: 2px solid #a9bbd3; padding-left: 14px; max-width: 15em; }
@media(max-width:1100px) {
  .step-tabs button { padding-inline: 21px; }
  .workflow-stage { padding: 23px 21px 20px; }
  .workflow-overline { font-size: .75rem; gap: 6px; }
  .stage-state { font-size: .75rem; }
  .concept-caption { grid-template-columns: 70px 1fr; gap: 16px; padding: 20px 23px; }
  .human-note { grid-column: 2; padding-block: 0; max-width: none; }
}
@media(max-width:767px) {
  .concept-top { padding: 10px 15px; gap: 8px; align-items: center; }
  .concept-top p { font-size: .75rem; line-height: 1.8; max-width: 12em; }
  .play-button { font-size: .75rem; padding: 7px 10px; }
  .step-tabs button { justify-content: center; gap: 7px; min-height: 58px; padding: 12px 8px; font-size: .8125rem; white-space: nowrap; }
  .step-tabs button > span { font-size: .75rem; }
  .step-tabs button > b { display: none; }
  .workflow-stages { grid-template-columns: 1fr; }
  .workflow-stage:not(.is-active) { display: none; }
  .workflow-stage { padding: 23px; min-height: 355px; }
  .workflow-stage + .workflow-stage { border-left: 0; }
  .workflow-stage h3 { font-size: 1.4375rem; margin-top: 11px; }
  .workflow-overline { font-size: .75rem; }
  .stage-state { font-size: .75rem; }
  .workflow-stage dl { margin-top: 22px; }
  .workflow-stage dt { font-size: .9375rem; }
  .workflow-stage dd { font-size: .875rem; margin-top: 5px; }
  .workflow-foot { font-size: .75rem; }
  .concept-caption { grid-template-columns: 1fr; gap: 7px; padding: 21px 23px; }
  .caption-number { padding: 0; }
  .concept-caption h3 { font-size: 1rem; }
  .concept-caption p { font-size: .8125rem; }
  .human-note { grid-column: 1; margin-top: 9px; padding-left: 12px; }
}
@media(prefers-reduced-motion:reduce) { .workflow-stage { transition: none; } }
