/* Tooq identity: official asset colors, shared by every route. */
:root {
  --flow-blue: #0844ff;
  --fiber-white: #eef1f6;
  --pulse-navy: #050e32;
  --signal-lime: #cae501;
  --canvas: var(--fiber-white);
  --surface: #ffffff;
  --surface-soft: #e8edf5;
  --surface-tint: #e1e9fc;
  --text: var(--pulse-navy);
  --muted: #53617a;
  --subtle: #718098;
  --line: #d6deeb;
  --accent: var(--flow-blue);
  --accent-ink: var(--fiber-white);
  --accent-soft: #0844ff0c;
  --nav-surface: #eef1f6ed;
  --terminal-accent: #abc6ff;
  --hero-ink: #ffffff;
  --hero-secondary: #edf2ff;
  --hero-line: #eef1f630;
  --hero-button: #eef1f6;
  --hero-button-ink: #0844ff;
  --glass-border: #ffffff66;
  --glass-panel: #eef1f62e;
  --color-electric-iris: var(--accent);
  --color-signal-cyan: var(--accent);
  --color-deep-void: var(--pulse-navy);
  --color-ink-black: var(--text);
  --color-dim-steel: var(--muted);
  --color-hairline-gray: var(--line);
  --color-lavender-frost: var(--surface-tint);
  --border: 1px solid var(--line);
}
:root[data-theme="dark"] {
  --canvas: var(--pulse-navy);
  --surface: #0a163b;
  --surface-soft: #101e44;
  --surface-tint: #15264b;
  --text: var(--fiber-white);
  --muted: #b7c4d8;
  --subtle: #9daec8;
  --line: #253556;
  --accent: var(--signal-lime);
  --accent-ink: var(--pulse-navy);
  --accent-soft: #cae5010d;
  --nav-surface: #091439ed;
  --terminal-accent: var(--signal-lime);
  --hero-ink: var(--pulse-navy);
  --hero-secondary: #172a29;
  --hero-line: #050e3224;
  --hero-button: var(--pulse-navy);
  --hero-button-ink: var(--signal-lime);
  --glass-border: #d9ee8d38;
  --glass-panel: #050e322e;
}
html { background: var(--canvas); scroll-padding-top: 110px; }
body, .inner-page { color: var(--text); background: var(--canvas); }
body, .nav-shell, .feature-card, .site-footer, .network-section, .inner-hero { transition: background-color .4s, border-color .4s, color .4s; }
p { color: var(--muted); }
h1, h2, h3, h4 { color: var(--text); }
::selection { background: var(--accent); color: var(--accent-ink); }
.primary { background: var(--accent); color: var(--accent-ink); }
.primary:hover { background: var(--accent); filter: brightness(.92); }
.text-link:hover, .nav-links>a:not(.button):hover, .nav-dropdown summary:hover,
.dropdown-panel a:hover, .product-directory-links a:hover, .footer-grid a:hover,
.footer-bottom a:hover, .breadcrumb a:hover { color: var(--accent); }
.glass { color: var(--text); background: transparent; border-color: var(--line); }
.glass:hover { background: var(--surface); }
.skip-link { background: var(--surface); border-color: var(--accent); }
.section-heading .eyebrow, .card-copy>.eyebrow, .company-heading>.eyebrow { color: var(--muted); }
.section-heading h2 span, .company-heading h2 span { color: var(--subtle); }
/* One document-sized gradient, from the top of the page through the footer.
   No scroll listener, sticky panel, or hero height controls its colors. */
body.home-page { --muted: #405375; --subtle: #526788; background: linear-gradient(180deg,#0844ff 0%,#2455e5 8%,#6f96ed 20%,#aac4f1 36%,#ccd9f3 56%,#e2e9f5 78%,#eef1f6 100%); background-repeat: no-repeat; background-size: 100% 100%; background-attachment: scroll; }
:root[data-theme="dark"] body.home-page { --muted: #bdc8dc; --subtle: #a7b8ce; background-image: linear-gradient(180deg,#cae501 0%,#b1cc0b 8%,#677f25 20%,#293d32 34%,#102735 56%,#0a1a33 78%,#050e32 100%); }
.home-page .hero-experience, .home-page .products-section, .home-page .network-section,
.home-page .company-section, .home-page .site-footer { background: transparent; }
.hero-experience { position: relative; isolation: isolate; }
.hero-atmosphere { position: absolute; inset: 0 0 auto; height: 1300px; overflow: clip; pointer-events: none; z-index: -1; }
.hero-contours { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--hero-ink); mask-image: linear-gradient(#0006,#000 45%,transparent 92%); }
.contour-lines { stroke: currentColor; stroke-width: 1; opacity: .11; }
.contour-nodes { fill: currentColor; opacity: .25; }
.hero-grain { position: absolute; inset: 0; background-image: radial-gradient(var(--hero-ink) .65px,transparent .65px); background-size: 7px 7px; opacity: .035; mask-image: linear-gradient(transparent 15%,#000 45%,transparent 90%); }
.hero { padding: 156px 0 32px; overflow: visible; background: none; }
.hero:before { display: none; }
.hero h1 { color: var(--hero-ink); font-size: clamp(2.75rem,5.2vw,4.75rem); font-weight: 450; letter-spacing: -.055em; line-height: 1.055; max-width: 1180px; text-wrap: balance; }
.hero-emphasis { color: inherit; display: inline-block; position: relative; }
.hero-emphasis:after { content: ''; position: absolute; left: 0; right: 0; bottom: -.025em; height: 1px; background: linear-gradient(90deg,transparent,currentColor,transparent); opacity: .45; }
.hero .hero-lead { color: var(--hero-ink); font-size: 1.125rem; margin-top: 25px; }
.hero .hero-description { color: var(--hero-secondary); font-size: .9375rem; line-height: 1.6; margin-top: 7px; }
.hero-eyebrow { color: var(--hero-ink); background: #eef1f612; border-color: var(--hero-line); backdrop-filter: blur(16px); padding: 7px 13px; margin-bottom: 26px; box-shadow: inset 0 1px #ffffff13; }
.hero-status-dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px var(--hero-line); margin: 0 4px; }
.hero .button-row { margin-top: 26px; }
.hero .button { min-height: 49px; }
.hero .primary { color: var(--hero-button-ink); background: var(--hero-button); border-color: var(--hero-line); box-shadow: inset 0 1px 1px #ffffff40,0 4px 15px #050e3210; }
.hero .glass { color: var(--hero-ink); background: #eef1f60a; border-color: var(--hero-line); backdrop-filter: blur(20px); }
.hero .glass:hover { background: #eef1f61c; }
:root[data-theme="dark"] .hero { background: none; }

/* Official wordmarks keep their original SVG proportions. */
.brand-art { display: inline-flex; align-items: center; flex-shrink: 0; }
.brand-art img { display: block; width: 112px; height: auto; aspect-ratio: 1427.27 / 331.69; }
.brand-art .logo-dark { display: none; }
:root[data-theme="dark"] .brand-art .logo-light { display: none; }
:root[data-theme="dark"] .brand-art .logo-dark { display: block; }
.mini-brand { display: inline-flex; align-items: center; gap: 7px; }
.mini-brand .brand-art img { width: 72px; }
.footer-logo img { width: auto; height: 56px; aspect-ratio: 775.2 / 652.24; }
.mini-brand>span { color: var(--muted); }
/* Unboxed navigation, aligned with the reference hero. */
.site-header { position: absolute; top: 28px; }
.nav-shell { width: min(1320px,calc(100% - 96px)); min-height: 68px; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 28px; padding: 0; background: transparent; border: 0; border-radius: 0; backdrop-filter: none; box-shadow: none; }
.nav-links { margin: 0; gap: 30px; justify-content: center; font-weight: 400; }
.nav-links .mobile-contact { display: none; }
.nav-actions { display: flex; align-items: center; justify-self: end; gap: 14px; margin: 0; }
.nav-contact { min-height: 42px; padding: 10px 20px; border: var(--border); color: var(--text); background: var(--surface-tint); box-shadow: inset 0 1px #ffffff20; font-size: .8125rem; font-weight: 400; }
.nav-brand .logo-hero-light, .nav-brand .logo-hero-dark { display: none; }
.home-page .site-header { color: var(--hero-ink); }
:root .home-page .nav-brand .logo-light, :root .home-page .nav-brand .logo-dark { display: none; }
.home-page .nav-brand .logo-hero-light { display: block; }
:root[data-theme="dark"] .home-page .nav-brand .logo-hero-light { display: none; }
:root[data-theme="dark"] .home-page .nav-brand .logo-hero-dark { display: block; }
.home-page .nav-contact { color: var(--hero-ink); border-color: var(--hero-line); background: color-mix(in srgb,var(--hero-ink) 12%,transparent); backdrop-filter: blur(20px); }
.home-page .nav-contact:hover { background: color-mix(in srgb,var(--hero-ink) 20%,transparent); }
.home-page .nav-links>a:not(.button):hover, .home-page .nav-dropdown summary:hover { color: inherit; opacity: .7; }
.dropdown-panel { color: var(--text); }
.dropdown-panel { background: var(--surface); border-color: var(--line); }
.dropdown-panel strong { color: var(--subtle); }
.menu-toggle { background: var(--surface); border-color: var(--line); }
.menu-toggle span { background: var(--text); }
.theme-toggle { position: relative; width: 72px; height: 40px; padding: 0; flex-shrink: 0; border: var(--border); border-radius: 999px; background: var(--surface-soft); display: flex; align-items: center; justify-content: space-around; color: var(--subtle); transition: background .4s, border-color .4s; }
.theme-thumb { position: absolute; width: 32px; height: 32px; left: 3px; top: 3px; border-radius: 50%; background: var(--surface); box-shadow: 0 1px 4px #050e3212; transition: transform .5s cubic-bezier(.34,1.56,.64,1), background .4s; }
.theme-toggle svg { position: relative; width: 19px; height: 19px; transition: transform .6s cubic-bezier(.34,1.56,.64,1), color .4s, opacity .4s; }
.theme-toggle .theme-sun { color: var(--flow-blue); }
.theme-toggle .theme-moon { transform: rotate(-25deg) scale(.83); opacity: .7; }
:root[data-theme="dark"] .theme-thumb { transform: translateX(32px); background: var(--signal-lime); }
:root[data-theme="dark"] .theme-sun { transform: rotate(90deg) scale(.8); color: var(--subtle); opacity: .7; }
:root[data-theme="dark"] .theme-moon { color: var(--pulse-navy); transform: rotate(0) scale(1); opacity: 1; }
.theme-toggle:hover { border-color: var(--accent); }

/* The compact theme control also uses the transparent hero treatment. */
.home-page .site-header .theme-toggle { color: var(--hero-ink); border-color: var(--hero-line); background: color-mix(in srgb,var(--hero-ink) 7%,transparent); }
.home-page .site-header .theme-thumb { background: color-mix(in srgb,var(--hero-ink) 20%,transparent); }
.home-page .site-header .theme-sun, .home-page .site-header .theme-moon { color: var(--hero-ink); }
.home-page .menu-toggle { border-color: var(--hero-line); background: color-mix(in srgb,var(--hero-ink) 10%,transparent); }
.home-page .menu-toggle span { background: var(--hero-ink); }

/* Three choices stay with the desktop while scroll advances its story. */
.terminal-story { position: relative; padding: 22px 0 44px; background: transparent; scroll-margin-top: 40px; }
.story-sticky { max-width: 1280px; width: min(1280px,calc(100% - 80px)); position: relative; color: var(--hero-ink); --story-ink: var(--hero-ink); }
.story-sticky.is-on-page-body { --story-ink: var(--text); }
.terminal-story.is-scrubbed { height: calc(var(--story-height) + var(--story-distance) + 66px); }
.is-scrubbed .story-sticky { position: sticky; top: var(--story-top,104px); }
.story-steps { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; max-width: 1080px; margin: 0 auto 32px; padding: 0 0 26px; border: 0; border-radius: 0; background: transparent; backdrop-filter: none; box-shadow: none; color: var(--story-ink); }
.story-step { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 9px; position: relative; border: 0; border-radius: 0; padding: 0 20px 6px; color: inherit; background: transparent; text-align: center; transition: color .3s; }
.story-step+.story-step:before { content: ''; position: absolute; left: 0; top: 43px; bottom: 9px; width: 1px; background: currentColor; opacity: .15; }
.step-top { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 38px; margin-bottom: 4px; border: 1px solid color-mix(in srgb,currentColor 15%,transparent); border-radius: 999px; background: transparent; transition: background .3s,border-color .3s,box-shadow .3s,transform .3s; }
.step-top svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.story-step[aria-selected="true"] .step-top { background: color-mix(in srgb,currentColor 16%,transparent); border-color: color-mix(in srgb,currentColor 30%,transparent); box-shadow: inset 0 1px 2px #ffffff30,0 3px 12px #050e3208; }
.story-step:hover .step-top { transform: translateY(-2px); background: color-mix(in srgb,currentColor 12%,transparent); }
.story-step strong { font-size: .9375rem; font-weight: 400; line-height: 1.45; opacity: .7; }
.step-description { max-width: 230px; font-size: .8125rem; line-height: 1.55; opacity: .6; }
.story-step[aria-selected="true"] strong { opacity: 1; }
.story-step[aria-selected="true"] .step-description { opacity: .82; }
.story-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: color-mix(in srgb,currentColor 20%,transparent); }
.story-progress i { display: block; width: 100%; height: 100%; background: currentColor; box-shadow: 0 0 8px 1px color-mix(in srgb,currentColor 35%,transparent); transform: scaleX(var(--story-progress,0)); transform-origin: left; }
.cloud-desktop { position: relative; isolation: isolate; background: var(--glass-panel); border-radius: 24px; overflow: hidden; border: 1px solid var(--glass-border); outline: 1px solid color-mix(in srgb,var(--hero-ink) 15%,transparent); outline-offset: 9px; backdrop-filter: blur(30px) saturate(120%); box-shadow: 0 28px 70px -28px #050e3250,inset 0 1px #ffffff66; }
.cloud-desktop:after { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; opacity: var(--pointer-active,0); background: radial-gradient(600px circle at var(--pointer-x,50%) var(--pointer-y,0%),#ffffff0c,transparent 60%); transition: opacity .4s; }
.desktop-workspace { position: relative; isolation: isolate; padding: 44px 100px 26px; --wallpaper-sky-top: #a5c2e2; --wallpaper-sky-bottom: #4463c0; --wallpaper-distant: #6478c7; --wallpaper-wave-top: #6e85d3; --wallpaper-wave-bottom: #193caa; --wallpaper-glow: #d1e9f5; --wallpaper-line: #d8e4ff63; }
:root[data-theme="dark"] .desktop-workspace { --wallpaper-sky-top: #476350; --wallpaper-sky-bottom: #0b2342; --wallpaper-distant: #2d5660; --wallpaper-wave-top: #3c5946; --wallpaper-wave-bottom: #050e32; --wallpaper-glow: #cae501; --wallpaper-line: #d7e9ad40; }
.desktop-wallpaper { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; opacity: .9; pointer-events: none; }
.story-terminal { position: relative; width: 100%; max-width: 1000px; margin: 0 auto; overflow: hidden; border: 1px solid #eef1f647; outline: 1px solid #050e3280; background: #080f29df; backdrop-filter: blur(30px) saturate(115%); border-radius: 17px; box-shadow: 0 22px 48px -9px #050e3280,inset 0 1px #eef1f628; }
:root[data-theme="dark"] .story-terminal { background: #050e32dd; border-color: #dbe6b333; }
.story-terminal .window-bar { position: relative; display: flex; justify-content: center; align-items: center; padding: 0 65px; background: #eef1f606; color: #ccd2e3; border-bottom: 1px solid #eef1f61a; height: 49px; font: 400 .75rem/1.5 var(--font-mono); }
.story-terminal .window-dots { position: absolute; left: 19px; min-width: 0; gap: 9px; }
.story-terminal .window-dots i { width: 10px; height: 10px; background: #eef1f624; border: 0; box-shadow: none; }
.terminal-path { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 4px 16px; border-radius: 10px; background: #eef1f608; }
.story-terminal .terminal-content { min-height: 210px; height: clamp(210px,calc(100svh - 534px),520px); padding: 26px 34px; overflow: auto; scrollbar-width: thin; scrollbar-color: #8396ba transparent; scroll-behavior: auto; }
.story-ready .terminal-content { overflow-y: hidden; }
.story-ready .terminal-content:focus-within { overflow-y: auto; }
.story-terminal .typed-code.terminal-transcript { white-space: pre; font-size: .8125rem; line-height: 1.85; margin: 17px 0 0; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #8396ba transparent; color: #eef1f6; }
.story-terminal .terminal-transcript code { white-space: pre; }
.story-terminal .terminal-prompt { color: #a9b6cf; font-size: .75rem; }
.story-terminal .code-number { color: #c6d6ff; }
.story-terminal .code-bright, .story-terminal .code-success { color: var(--terminal-accent); }
.story-terminal .code-muted { color: #bcc9e3; }
.typing-cursor { display: none; width: 7px; height: 14px; margin-left: 2px; vertical-align: -2px; background: var(--terminal-accent); animation: cursor-blink 1.1s steps(1) infinite; }
.story-ready .typing-cursor { display: inline-block; }
.story-ready .is-typed .typing-cursor { opacity: 0; animation: none; }
.desktop-caption { margin: 19px auto 0; text-align: center; color: var(--fiber-white); text-shadow: 0 1px 8px #050e3270; }
.desktop-caption p { color: inherit; font-size: .75rem; }
.story-navigation { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 19px; min-height: 32px; padding: 0; background: transparent; color: var(--story-ink); }
.scroll-cue { color: inherit; font-size: .75rem; opacity: .78; }
.story-navigation>div { display: flex; align-items: center; gap: 25px; }
.story-replay { border: none; background: none; color: inherit; font-size: .75rem; padding: 9px 0; }
.story-skip { font-size: .75rem; color: inherit; }
.story-replay:hover, .story-skip:hover { text-decoration: underline; text-underline-offset: 4px; }
@keyframes cursor-blink { 0%,45% { opacity: 1; } 46%,100% { opacity: 0; } }
@keyframes scroll-tick { 0%,100% { transform: translateY(0); opacity: .65; } 50% { transform: translateY(3px); opacity: 1; } }

/* The complete product, network, documentation, and footer surfaces. */
.products-section { background: var(--canvas); }
.feature-card, .resource-window, .network-board, .manual-term, .manual-tools { background: var(--surface); border-color: var(--line); }
.compute-card { background: var(--surface); }
.card-icon { border-color: var(--line); background: var(--surface-soft); color: var(--accent); }
.compute-visual { background: radial-gradient(ellipse at 75% 30%,var(--surface-tint),transparent 75%); }
.resource-header { border-color: var(--line); }
.resource-header .eyebrow, .resource-title>span, .resource-option small, .resource-icon, .resource-option>span:last-child { color: var(--subtle); }
.resource-option { border-color: var(--line); }
.resource-option:hover { background: var(--surface-soft); }
.resource-bottom { background: var(--surface-soft); border-color: var(--line); color: var(--muted); }
.transfer-note { color: var(--muted); }
.service-stack>a { background: var(--surface-soft); color: var(--text); }
.service-stack>a:hover { background: var(--surface-tint); }
.service-meta, .service-stack>a>span:last-child { color: var(--subtle); }
.diagram-boundary { border-color: var(--subtle); background: linear-gradient(var(--surface),var(--surface-soft)); }
.diagram-label { background: var(--surface); color: var(--subtle); }
.diagram-platform { background: var(--surface-tint); border-color: var(--line); }
.diagram-platform>span:last-child { color: var(--muted); border-color: var(--line); }
.diagram-tags span { color: var(--muted); background: var(--surface); border-color: var(--line); }
.product-directory>.eyebrow, .product-directory-links a { color: var(--subtle); }
.network-section, .site-footer { background: var(--surface-soft); }
.network-map { margin: 0; padding: 32px 28px 26px; border-bottom: 0; background: linear-gradient(135deg,var(--accent-soft),transparent 65%); }
.presence-map { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--subtle) transparent; border-radius: 12px; padding-block: 6px; }
.presence-map svg { display: block; width: 100%; min-width: 760px; height: auto; }
.presence-dots { fill: none; stroke: var(--subtle); stroke-width: 2.6; stroke-linecap: round; opacity: .35; }
.presence-partner { fill: var(--muted); opacity: .8; }
.presence-site, .presence-site-tbd { fill: var(--accent); }
.presence-ring, .presence-ring-tbd { fill: none; stroke: var(--accent); stroke-width: 1.5; opacity: .6; }
.presence-ring-tbd { stroke-dasharray: 4 3.5; stroke-width: 1.8; opacity: .8; }
.presence-map text { font: 500 13px var(--font-mono); letter-spacing: .015em; fill: var(--text); }
.presence-map .tip-box { fill: var(--surface); fill-opacity: .96; stroke: var(--line); rx: 6px; }
.presence-map .tip-caret { fill: var(--surface); }
.presence-map .tip-title-live { fill: var(--accent); }
.presence-map .tip-title-hub { font-size: 15px; }
.presence-map .tip-sub-live { font-size: 10px; fill: var(--accent); }
.presence-map .tip-sub-tbd { font-size: 10px; fill: var(--muted); }
.presence-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 25px; margin-top: 22px; color: var(--muted); font: 400 .625rem/1.6 var(--font-mono); }
.presence-legend>span { display: inline-flex; align-items: center; gap: 8px; }
.presence-legend i { width: 8px; height: 8px; border-radius: 50%; }
.legend-site i { background: var(--accent); }
.legend-tbd i { border: 1.5px dashed var(--accent); }
.legend-partner i { background: var(--muted); }
.presence-legend .map-pan-hint { display: none; margin-left: auto; }
[data-motion="on"] .network-board.is-in-view .presence-ring { animation: map-site-connect 1.8s ease-out both; transform-box: fill-box; transform-origin: center; }
@keyframes map-site-connect { from { opacity: 0; transform: scale(.45); } 60% { opacity: .9; transform: scale(1.3); } to { opacity: .6; transform: scale(1); } }
.network-topline .eyebrow, .region .eyebrow, .upcoming-regions p, .network-bottom { color: var(--subtle); }
.region.live { background: radial-gradient(ellipse at 85% 0,var(--surface-tint),transparent 75%); }
.region-code { background: var(--surface); border-color: var(--line); color: var(--muted); }
.region-status { color: var(--muted); }
.region-status i { background: var(--accent); }
.upcoming-regions>div>span:last-child { color: var(--subtle); }
.mission strong { color: var(--text); }
.footer-top .button { background: var(--surface); border-color: var(--line); color: var(--text); }
.footer-contact-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 14px 24px; }
.footer-contact-actions .text-link { font-size: .8125rem; }
.prose strong { font-weight: 600; color: var(--text); }
.region-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.upcoming-regions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px 24px; border-left: 0; border-top: var(--border); }
.upcoming-regions>div { display: block; }
.upcoming-regions>div>span { display: block; }
.upcoming-regions>p { grid-column: 1 / -1; }
.footer-grid a { color: var(--muted); }
.footer-grid .docs-category, .footer-bottom { color: var(--subtle); }
.inner-hero { background: linear-gradient(var(--canvas),var(--surface-soft)); }
.breadcrumb { color: var(--subtle); }
.prose, .highlight-panel li { color: var(--muted); }
.prose h2, .prose h3, .legal-section h2, .manual-term h3 { color: var(--text); }
.prose a { color: var(--accent); }
.highlight-panel { background: var(--surface); border-color: var(--line); }
.highlight-panel li:before { color: var(--accent); }
.related-grid a:hover { background: var(--surface-soft); }
.reading-sidebar>h2, .reading-sidebar nav>a, .manual-tools label, .manual-tools output { color: var(--subtle); }
.reading-sidebar nav>a:hover, .reading-sidebar nav>a[aria-current=true] { color: var(--accent); background: var(--accent-soft); }
.manual-tools input { color: var(--text); }
.manual-tools input::placeholder { color: var(--subtle); }
.manual-term .term-lead { color: var(--text); }
.manual-term .term-number, .manual-sidebar-number, .manual-term .term-detail p { color: var(--muted); }

/* Motion is progressive enhancement: content is visible before JavaScript. */
.motion-word { display: inline-block; }
.button { transition: transform .45s cubic-bezier(.22,1.5,.4,1),background .25s,box-shadow .3s; }
.button:hover { transform: translateY(-3px) scale(1.025); }
.button:active { transform: translateY(0) scale(.975); }
.button>span[aria-hidden] { transition: transform .45s cubic-bezier(.22,1.5,.4,1); }
.button:hover>span[aria-hidden] { transform: translateX(3px); }
.feature-card { position: relative; isolation: isolate; }
.feature-card:after { content: ''; position: absolute; inset: 0; z-index: 3; border-radius: inherit; pointer-events: none; opacity: var(--pointer-active,0); background: radial-gradient(500px circle at var(--pointer-x,50%) var(--pointer-y,50%),#0844ff0a,transparent 70%); transition: opacity .5s; }
:root[data-theme="dark"] .feature-card:after { background: radial-gradient(500px circle at var(--pointer-x,50%) var(--pointer-y,50%),#cae5010c,transparent 70%); }
.resource-option, .service-stack>a { transition: transform .4s cubic-bezier(.22,1,.36,1),background .3s,border-color .3s; }
.resource-option:hover, .service-stack>a:hover { transform: translateX(4px); }
.network-board { position: relative; overflow: hidden; }
.network-board:after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg,transparent,var(--accent),transparent); transform-origin: left; }
[data-motion="on"] .network-board.is-in-view:after { animation: network-connect 1.6s cubic-bezier(.22,1,.36,1) both; }
[data-motion="on"] .network-board.is-in-view .region-status i { animation: region-connect 1.6s ease-out both; }
[data-motion="on"] .network-board.is-in-view .region:nth-child(2) .region-status i { animation-delay: .3s; }
.motion-paused .typing-cursor, .motion-paused .scroll-cue path { animation-play-state: paused; }
@keyframes network-connect { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }
@keyframes region-connect { 0% { box-shadow: 0 0 0 0 transparent; } 35% { box-shadow: 0 0 0 7px var(--accent-soft); } 100% { box-shadow: 0 0 0 0 transparent; } }

@media (max-width:1100px) {
  .nav-shell { width: calc(100% - 64px); gap: 24px; }
  .nav-links { gap: 22px; }
  .nav-network { display: block; }
  .desktop-workspace { padding-inline: 60px; }
  .step-description { max-width: 210px; }
}
@media (max-width:900px) {
  .nav-shell { width: calc(100% - 48px); gap: 18px; }
  .nav-links { gap: 17px; font-size: .8125rem; }
  .nav-actions { gap: 10px; }
  .nav-contact { padding-inline: 16px; font-size: .75rem; }
  .nav-shell .brand-art img { width: 92px; }
  .theme-toggle { width: 68px; }
  :root[data-theme="dark"] .theme-thumb { transform: translateX(28px); }
  .story-sticky { width: calc(100% - 56px); }
  .desktop-workspace { padding: 36px 36px 24px; }
  .story-step { padding-inline: 15px; }
  .story-step strong { font-size: .8125rem; }
  .step-description { font-size: .75rem; }
  .presence-legend .map-pan-hint { display: inline-flex; }
}
@media (max-width:700px) {
  html { scroll-padding-top: 32px; }
  .site-header { top: 16px; }
  .nav-shell { display: flex; width: calc(100% - 40px); padding: 0; gap: 12px; min-height: 52px; }
  .nav-links { color: var(--text); background: var(--surface); margin: 0; font-size: .875rem; top: 64px; }
  .nav-network, .nav-links .mobile-contact { display: block; }
  .nav-contact { display: none; }
  .nav-actions { margin-left: auto; }
  .nav-shell .brand-art img { width: 106px; }
  .dropdown-panel, .products-dropdown .dropdown-panel { background: var(--surface-soft); }
  .hero { padding: 132px 0 34px; }
  .hero h1 { font-size: clamp(2.45rem,8.2vw,3.7rem); line-height: 1.08; letter-spacing: -.05em; max-width: 560px; }
  .hero-eyebrow { font-size: .5rem; letter-spacing: .025em; padding: 6px 9px; margin-bottom: 24px; }
  .hero .hero-lead { color: var(--hero-ink); font-size: 1rem; margin-top: 22px; }
  .hero .hero-description { color: var(--hero-secondary); font-size: .875rem; }
  .hero .button-row { margin-top: 24px; }
  .hero .button { min-height: 47px; }
  .hero-atmosphere { height: 1000px; }
  .hero-contours { width: 150%; left: -25%; opacity: .7; }
  .terminal-story { padding-top: 12px; padding-bottom: 30px; scroll-margin-top: 32px; }
  .terminal-story.is-scrubbed { height: calc(var(--story-height) + var(--story-distance) + 42px); }
  .story-sticky { width: calc(100% - 32px); }
  .story-steps { padding-bottom: 19px; margin: 0 0 24px; }
  .story-step { padding: 0 7px 4px; gap: 8px; }
  .story-step+.story-step:before { top: 43px; bottom: 6px; }
  .step-top { width: 51px; height: 34px; margin-bottom: 1px; }
  .step-top svg { width: 19px; height: 19px; }
  .story-step strong { font-size: .75rem; line-height: 1.45; max-width: 140px; }
  .step-description { display: none; }
  .cloud-desktop { border-radius: 18px; outline-offset: 5px; }
  .desktop-workspace { padding: 24px 12px 18px; }
  .story-terminal { border-radius: 12px; }
  .story-terminal .window-bar { padding: 0 42px; height: 39px; font-size: .75rem; }
  .story-terminal .window-dots { left: 12px; gap: 5px; }
  .story-terminal .window-dots i { width: 6px; height: 6px; }
  .terminal-path { padding: 4px 9px; border-radius: 7px; }
  .story-terminal .terminal-content { min-height: 210px; height: clamp(210px,calc(100svh - 434px),360px); padding: 18px 14px; }
  .story-terminal .typed-code.terminal-transcript { font-size: .75rem; line-height: 1.8; margin-top: 12px; }
  .story-terminal .terminal-prompt { font-size: .75rem; }
  .typing-cursor { width: 6px; height: 12px; }
  .desktop-caption { margin-top: 14px; }
  .desktop-caption p { font-size: .75rem; }
  .story-navigation { flex-direction: column; gap: 6px; margin-top: 14px; align-items: center; text-align: center; }
  .scroll-cue { font-size: .75rem; line-height: 1.6; }
  .story-navigation>div { gap: 24px; }
  .story-replay, .story-skip { font-size: .75rem; line-height: 1.6; padding-block: 7px; }
  .compute-visual { background: var(--surface-soft); }
  .products-section { padding-top: 48px; }
  .network-map { padding: 18px 12px; }
  .presence-legend { gap: 12px 18px; font-size: .5625rem; margin-top: 16px; }
  .presence-legend .map-pan-hint { display: inline-flex; width: 100%; justify-content: flex-end; }
  .footer-contact-actions { justify-content: flex-start; }
}
@media (max-height:780px) and (min-width:701px) {
  .story-steps { padding-bottom: 21px; margin-bottom: 25px; }
  .story-step { gap: 6px; }
  .step-top { height: 34px; margin-bottom: 2px; }
  .step-description { font-size: .6875rem; max-width: none; }
  .desktop-workspace { padding-top: 32px; padding-bottom: 20px; }
  .story-terminal .terminal-content { height: clamp(210px,calc(100svh - 499px),345px); padding-top: 20px; padding-bottom: 20px; }
  .desktop-caption { margin-top: 14px; }
}
@media (prefers-reduced-motion:reduce) {
  .button:hover, .button:active, .resource-option:hover, .service-stack>a:hover { transform: none; }
  .feature-card:after { display: none; }
  .theme-thumb, .theme-toggle svg, .story-step, .step-top { transition: none; }
  .story-step:hover .step-top { transform: none; }
  .typing-cursor, .scroll-cue path { animation: none; }
  .story-ready .typing-cursor { display: none; }
}

/* Compact glass navigation and a single movable theme control. */
.brand-art .logo-on-lime { display: none; }
.nav-shell>.brand { justify-self: start; }
.theme-slot { width: 72px; height: 40px; }
.floating-header { position: fixed; z-index: 40; top: 20px; left: 50%; width: min(760px,calc(100% - 48px)); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%,-16px); transition: opacity .28s,transform .35s cubic-bezier(.22,1,.36,1),visibility .28s; }
.nav-is-floating .floating-header { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%,0); }
.floating-shell { min-height: 64px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; padding: 9px 12px 9px 24px; background: var(--nav-surface); color: var(--text); border: var(--border); border-radius: 999px; box-shadow: 0 12px 34px #050e3220,inset 0 1px #ffffff30; backdrop-filter: blur(24px) saturate(150%); }
.floating-brand { display: flex; align-items: center; min-height: 40px; }
.floating-brand img { display: block; width: 52px; height: auto; aspect-ratio: 709.97 / 287.7; }
.floating-brand .symbol-dark { display: none; }
:root[data-theme="dark"] .floating-brand .symbol-light { display: none; }
:root[data-theme="dark"] .floating-brand .symbol-dark { display: block; }
.floating-links { display: flex; align-items: center; justify-content: center; gap: 28px; font-size: .875rem; }
.floating-header .nav-dropdown { position: static; }
.floating-header .dropdown-panel { position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%); width: min(360px,calc(100vw - 40px)); min-width: 0; max-height: calc(100dvh - 120px); overflow-y: auto; }
.floating-header .products-dropdown .dropdown-panel { width: min(720px,calc(100vw - 40px)); }
.floating-contact { min-height: 44px; padding: 11px 20px; font-size: .8125rem; white-space: nowrap; }
.theme-dock { position: fixed; right: max(24px,env(safe-area-inset-right)); bottom: max(24px,env(safe-area-inset-bottom)); z-index: 45; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(14px); transition: opacity .3s,transform .4s cubic-bezier(.22,1,.36,1),visibility .3s; }
.nav-is-floating .theme-dock { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.theme-dock .theme-toggle { box-shadow: 0 5px 24px #050e3233; background: var(--surface-soft); }

/* The company's original photos switch with the visitor's theme choice. */
.resource-window { padding-bottom: 22px; }
.company-visual { min-width: 0; }
.company-intro { display: block; margin-bottom: 26px; }
.company-intro .company-heading { max-width: 850px; }
.company-grid { grid-template-columns: 1.15fr 1fr; align-items: start; gap: 56px; }
.company-copy { padding-top: 0; min-width: 0; }
.company-copy h3 { margin-top: 0; }
.company-image { grid-column: auto; position: relative; margin: 0; padding: 8px; border: 1px solid #ffffff70; border-radius: 22px; background: #eef1f61a; box-shadow: 0 24px 70px -35px #050e3260,inset 0 1px #ffffff45; backdrop-filter: blur(20px); }
.company-image img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; object-position: center 40%; border-radius: 16px; }
.company-image .company-photo-dark { display: none; }
:root[data-theme="dark"] .company-image { border-color: #cae50140; background: #050e3220; }
:root[data-theme="dark"] .company-image .company-photo-light { display: none; }
:root[data-theme="dark"] .company-image .company-photo-dark { display: block; }
.company-copy .mission { font-size: .875rem; }
.company-copy .mission strong { display: block; margin-top: 19px; font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 450; line-height: 1.2; letter-spacing: -.045em; }
.bytes-value { display: inline-block; margin-top: 8px; padding: 4px 12px 8px; border-radius: 10px; background: var(--flow-blue); color: var(--fiber-white); box-shadow: inset 0 1px #ffffff30; }
:root[data-theme="dark"] .bytes-value { color: var(--signal-lime); background: var(--pulse-navy); border: 1px solid #cae50145; }
:root[data-theme="dark"] .home-page .is-on-bright { --text: #050e32; --muted: #152930; --subtle: #203732; --accent: #050e32; --line: #050e3233; --border: 1px solid var(--line); color: var(--text); }
:root[data-theme="dark"] .is-on-bright .brand-art .logo-dark { display: none; }
:root[data-theme="dark"] .is-on-bright .brand-art .logo-on-lime { display: block; }
:root[data-theme="dark"] .is-on-bright .footer-contact-actions .button { background: #eef1f618; }
@media (max-width:900px) {
  .theme-slot { width: 68px; }
}
@media (max-width:700px) {
  html { scroll-padding-top: 96px; }
  .floating-header { top: 12px; width: calc(100% - 24px); }
  .floating-shell { min-height: 64px; padding: 8px 10px; gap: 9px; }
  .floating-brand img { width: 38px; }
  .floating-links { gap: 16px; font-size: .75rem; }
  .floating-header .nav-dropdown summary { padding: 0; min-height: 42px; }
  .floating-header .chevron { display: none; }
  .floating-contact { width: 95px; white-space: normal; text-align: center; font-size: .75rem; line-height: 1.35; padding: 6px 8px; }
  .floating-header .dropdown-panel, .floating-header .products-dropdown .dropdown-panel { width: calc(100vw - 24px); margin: 0; padding: 22px; background: var(--surface); border-radius: 20px; }
  .theme-dock { right: max(16px,env(safe-area-inset-right)); bottom: max(16px,env(safe-area-inset-bottom)); }
  .company-intro { margin-bottom: 24px; }
  .company-grid { grid-template-columns: 1fr; gap: 30px; }
  .company-image { padding: 5px; border-radius: 18px; }
  .company-image img { border-radius: 12px; }
}
@media (max-width:360px) {
  .floating-shell { gap: 6px; padding-inline: 8px; }
  .floating-brand img { width: 32px; }
  .floating-links { gap: 9px; }
  .floating-contact { width: 84px; padding-inline: 4px; }
}
@media (prefers-reduced-motion:reduce) {
  .floating-header, .theme-dock { transition: none; }
}

/* Fiber White carries reading text; Signal Lime highlights key phrases and code. */
:root[data-theme="dark"] .story-sticky { --story-ink: var(--fiber-white); }
:root[data-theme="dark"] .story-sticky.is-on-bright { --story-ink: var(--pulse-navy); }
:root[data-theme="dark"] .section-heading .eyebrow,
:root[data-theme="dark"] .card-copy>.eyebrow,
:root[data-theme="dark"] .company-heading>.eyebrow,
:root[data-theme="dark"] .section-heading h2 span,
:root[data-theme="dark"] .company-heading h2 span,
:root[data-theme="dark"] .footer-grid h3 { color: var(--accent); }
:root[data-theme="dark"] .story-terminal .window-bar,
:root[data-theme="dark"] .story-terminal .typed-code.terminal-transcript,
:root[data-theme="dark"] .story-terminal .code-number,
:root[data-theme="dark"] .desktop-caption { color: var(--fiber-white); }
:root[data-theme="dark"] .story-terminal .terminal-prompt,
:root[data-theme="dark"] .story-terminal .code-muted { color: #bcc9e3; opacity: 1; }
@media (min-width:701px) and (max-width:1000px) {
  .company-grid { gap: 32px; }
}

/* Original glossary diagrams, in the site's current visual language. */
.manual-term { padding: 28px; border-radius: 20px; }
.manual-term-intro { display: grid; grid-template-columns: minmax(0,1fr) 280px; align-items: center; gap: 28px; }
.manual-term-summary { min-width: 0; }
.manual-term .term-number { color: var(--accent); font-size: .75rem; }
.manual-term .term-detail { margin-top: 24px; padding-top: 22px; }
.manual-infographic { --diagram-highlight: #dbe5ff; --diagram-highlight-ink: #050e32; margin: 0; padding: 16px; min-width: 0; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(140deg,var(--surface-tint),var(--surface-soft)); box-shadow: inset 0 1px #ffffff36; }
.manual-infographic svg { display: block; width: 100%; height: auto; overflow: visible; }
.manual-infographic text { font: 400 7.5px var(--font-mono); fill: var(--muted); letter-spacing: .05em; }
.manual-infographic .fig-text-strong { fill: var(--text); font-weight: 700; }
.manual-infographic .fig-text-blue { fill: var(--accent); font-weight: 700; }
.manual-infographic :is(.fig-stroke,.fig-stroke-muted,.fig-stroke-blue,.fig-stroke-lime) { fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.manual-infographic .fig-stroke { stroke: var(--text); }
.manual-infographic .fig-stroke-muted { stroke: var(--subtle); stroke-width: 1.25; }
.manual-infographic :is(.fig-stroke-blue,.fig-stroke-lime) { stroke: var(--accent); }
.manual-infographic .fig-dash { stroke-dasharray: 3 3; }
.manual-infographic .fig-fill-lime { fill: var(--diagram-highlight); }
.manual-infographic .fig-fill-blue { fill: var(--accent); }
.manual-infographic .fig-fill-fiber { fill: #c9d6ef; }
.manual-infographic .fig-fill-ink { fill: var(--text); }
.manual-infographic .fig-fill-lime+text { fill: var(--diagram-highlight-ink); }
#fill-partial-fill .manual-infographic .fig-text-strong { fill: var(--diagram-highlight-ink); }
#execution-report .manual-infographic .fig-fill-lime+.fig-stroke { stroke: var(--diagram-highlight-ink); }
:root[data-theme="dark"] .manual-infographic { --diagram-highlight: var(--signal-lime); border-color: #cae50128; background: linear-gradient(140deg,#101e44,#071234); box-shadow: inset 0 1px #eef1f60d; }
:root[data-theme="dark"] .manual-infographic .fig-fill-blue { opacity: .65; }
:root[data-theme="dark"] .manual-infographic .fig-fill-fiber { fill: #293e63; }
:root[data-theme="dark"] #colocation .manual-infographic .fig-fill-ink { fill: var(--surface); stroke: var(--text); stroke-width: 1.5; }
@media (max-width:1000px) {
  .manual-term-intro { grid-template-columns: 1fr; gap: 22px; }
  .manual-infographic { width: min(320px,100%); justify-self: start; }
}
@media (max-width:700px) {
  .manual-term { padding: 22px; border-radius: 17px; }
  .manual-infographic { padding: 12px; border-radius: 13px; }
}

/* Accent capsules only on the main navigation labels: Flow Blue in light mode, Signal Lime in dark mode. */
.site-header .nav-links>a:not(.button) { display: inline-flex; align-items: center; min-height: 44px; }
.site-header .nav-links>a:not(.button),
.site-header .nav-dropdown>summary,
.floating-header .nav-dropdown>summary { --nav-pill-pad: 12px; position: relative; isolation: isolate; transition: color .2s,opacity .2s; }
.floating-header .nav-dropdown>summary { --nav-pill-pad: 10px; }
.site-header .nav-links>a:not(.button):before,
.site-header .nav-dropdown>summary:before,
.floating-header .nav-dropdown>summary:before { content: ''; position: absolute; inset: 0 calc(-1 * var(--nav-pill-pad)); z-index: -1; border: 1px solid #99b4ff66; border-radius: 999px; background: linear-gradient(180deg,#2355ee,var(--flow-blue)); box-shadow: inset 0 1px 1px #eef1f640,0 4px 16px #0844ff20; opacity: 0; transform: scale(.96); transition: opacity .2s,transform .3s cubic-bezier(.22,1,.36,1); pointer-events: none; }
.site-header .nav-links>a:not(.button):is(:hover,:focus-visible),
.site-header .nav-dropdown>summary:is(:hover,:focus-visible),
.floating-header .nav-dropdown>summary:is(:hover,:focus-visible),
.site-header .nav-dropdown[open]>summary,
.floating-header .nav-dropdown[open]>summary { color: var(--fiber-white); opacity: 1; }
.site-header .nav-links>a:not(.button):is(:hover,:focus-visible):before,
.site-header .nav-dropdown>summary:is(:hover,:focus-visible):before,
.floating-header .nav-dropdown>summary:is(:hover,:focus-visible):before,
.site-header .nav-dropdown[open]>summary:before,
.floating-header .nav-dropdown[open]>summary:before { opacity: 1; transform: scale(1); }
:root[data-theme="dark"] .site-header .nav-links>a:not(.button):before,
:root[data-theme="dark"] .site-header .nav-dropdown>summary:before,
:root[data-theme="dark"] .floating-header .nav-dropdown>summary:before { border-color: #e4f56b66; background: linear-gradient(180deg,#d9f02a,var(--signal-lime)); box-shadow: inset 0 1px 1px #ffffff59,0 4px 16px #cae50120; }
:root[data-theme="dark"] .site-header .nav-links>a:not(.button):is(:hover,:focus-visible),
:root[data-theme="dark"] .site-header .nav-dropdown>summary:is(:hover,:focus-visible),
:root[data-theme="dark"] .floating-header .nav-dropdown>summary:is(:hover,:focus-visible),
:root[data-theme="dark"] .site-header .nav-dropdown[open]>summary,
:root[data-theme="dark"] .floating-header .nav-dropdown[open]>summary { color: var(--pulse-navy); }
.site-header .dropdown-panel a,
.floating-header .dropdown-panel a { border-radius: 7px; transition: color .2s,background .2s,transform .25s; }
.site-header .dropdown-panel a:is(:hover,:focus-visible),
.floating-header .dropdown-panel a:is(:hover,:focus-visible) { color: var(--accent); background: var(--surface-tint); transform: translateX(3px); }
.site-header .brand,.floating-brand { transition: opacity .25s,transform .3s; }
.site-header .brand:hover,.floating-brand:hover { opacity: .85; transform: translateY(-2px); }
@media (max-width:900px) {
  .site-header .nav-links>a:not(.button),.site-header .nav-dropdown>summary { --nav-pill-pad: 7px; }
}
@media (max-width:700px) {
  .floating-header .nav-dropdown>summary { --nav-pill-pad: 6px; }
}
@media (max-width:360px) {
  .floating-header .nav-dropdown>summary { --nav-pill-pad: 4px; }
}
@media (prefers-reduced-motion:reduce) {
  .site-header .nav-links>a,.site-header .nav-dropdown>summary,.floating-header .nav-dropdown>summary,
  .site-header .nav-links>a:before,.site-header .nav-dropdown>summary:before,.floating-header .nav-dropdown>summary:before,
  .site-header .dropdown-panel a,.floating-header .dropdown-panel a,
  .site-header .brand,.floating-brand { transition: none; }
  .site-header .dropdown-panel a:is(:hover,:focus-visible),
  .floating-header .dropdown-panel a:is(:hover,:focus-visible),
  .site-header .brand:hover,.floating-brand:hover { transform: none; }
}
