:root {
  color-scheme: dark;
  --bg: #07090c;
  --surface: #0c1014;
  --surface-2: #10161b;
  --text: #f4f7f7;
  --muted: #929da2;
  --muted-2: #626d73;
  --line: rgba(218, 233, 238, 0.15);
  --line-strong: rgba(218, 233, 238, 0.34);
  --red: #7d75ff;
  --cyan: #c7fbff;
  --header-height: var(--site-brand-header-height, 78px);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); overflow-x: hidden; }
body.menu-open { overflow: hidden; }
html.demo-modal-open, body.demo-modal-open { overflow: hidden; overscroll-behavior: none; }
button, input, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
button[data-resource]:disabled, button[data-resource]:disabled:hover, .nav-popover button:disabled, .nav-popover button:disabled:hover, .mobile-menu button:disabled { color: var(--muted-2); opacity: .55; background: transparent; cursor: not-allowed; }
.skip-link { position: fixed; top: -4rem; left: 1rem; z-index: 100; padding: .75rem 1rem; background: #fff; color: #000; }
.skip-link:focus { top: 1rem; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 50; height: var(--header-height); display: grid;
  grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 var(--site-brand-header-padding, clamp(1.25rem, 4vw, 4.5rem));
  border-bottom: 1px solid var(--line); background: rgba(7, 9, 12, .75); backdrop-filter: blur(18px);
  transition: transform .35s ease, background .35s ease;
}
.site-header.is-scrolled { background: rgba(7, 9, 12, .92); }
.brand:not(.shared-brand) { display: inline-flex; align-items: center; gap: .8rem; width: max-content; font-size: .92rem; font-weight: 700; letter-spacing: -.02em; }
.brand:not(.shared-brand) img { width: 31px; height: 31px; object-fit: contain; }
.desktop-nav { display: flex; align-items: center; gap: clamp(1.5rem, 3vw, 3rem); color: #b4bdc1; font-size: .875rem; }
.desktop-nav > a, .desktop-nav > button, .nav-menu > summary { transition: color .25s ease; cursor: pointer; list-style: none; }
.desktop-nav > button { border: 0; padding: 0; background: transparent; color: inherit; }
.nav-menu > summary::-webkit-details-marker { display: none; }
.desktop-nav > a:hover, .desktop-nav > a:focus-visible, .desktop-nav > button:hover, .desktop-nav > button:focus-visible, .nav-menu > summary:hover { color: #fff; }
.nav-menu { position: relative; }
.nav-menu[open] > summary { color: #fff; }
.nav-popover { position: absolute; left: 50%; top: 2.2rem; width: 17rem; transform: translateX(-50%); display: grid; gap: .25rem; padding: .55rem; border: 1px solid var(--line); border-radius: .85rem; background: rgba(12,16,20,.98); box-shadow: 0 1.2rem 3rem rgba(0,0,0,.45); }
.nav-popover--small { width: 12rem; }
.nav-popover a, .nav-popover button { display: flex; gap: .8rem; width: 100%; border: 0; border-radius: .55rem; padding: .75rem; background: transparent; color: #c3cbd0; text-align: left; cursor: pointer; }
.nav-popover a:hover, .nav-popover button:hover { background: rgba(255,255,255,.055); color: #fff; }
.nav-popover span { color: var(--red); font: 600 .65rem/1.5 ui-monospace, monospace; }
.nav-miniapp { position: relative; }
.nav-miniapp-qr { position: absolute; z-index: 1; top: -.55rem; left: 100%; width: 12rem; padding-left: .6rem; opacity: 0; visibility: hidden; }
.nav-miniapp-qr img { display: block; width: 100%; height: auto; border: .5rem solid #fff; border-radius: .75rem; background: #fff; box-shadow: 0 .75rem 2rem rgba(0,0,0,.35); }
.nav-miniapp:hover .nav-miniapp-qr, .nav-miniapp:focus-within .nav-miniapp-qr { opacity: 1; visibility: visible; }
.mobile-menu .nav-miniapp-trigger { width: 100%; }
.mobile-menu .nav-miniapp-qr { top: 100%; left: 0; padding: .6rem 0 0; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: .75rem; }
.outline-button, .pill-button, .solid-button { border-radius: 999px; cursor: pointer; transition: .25s ease; }
.outline-button { border: 1px solid var(--line-strong); background: transparent; padding: .62rem 1rem; }
.outline-button:hover { background: #fff; color: #080a0d; border-color: #fff; }
.menu-toggle { display: none; width: 2.7rem; height: 2.7rem; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; width: 1rem; height: 1px; margin: .3rem auto; background: #fff; transition: .25s ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-2px) rotate(-45deg); }
.mobile-menu { position: fixed; z-index: 45; top: var(--header-height); right: 0; bottom: 0; left: 0; display: none; align-content: start; gap: 0; height: calc(100vh - var(--header-height)); height: calc(100dvh - var(--header-height)); padding: 3rem 1.5rem max(3rem, calc(1.5rem + env(safe-area-inset-bottom))); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; background: rgba(7,9,12,.98); transform: translateY(-110%); transition: transform .45s cubic-bezier(.2,.75,.2,1); }
.mobile-menu.is-open { transform: translateY(0); }
.mobile-menu a, .mobile-menu button { border: 0; border-bottom: 1px solid var(--line); padding: 1.25rem 0; background: transparent; color: #fff; text-align: left; font-size: 1.45rem; }

.section-nav { position: fixed; z-index: 40; top: 50%; right: clamp(.5rem, 1.5vw, 1.75rem); display: grid; gap: .5rem; transform: translateY(-50%); }
.section-nav-link { position: relative; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; }
.section-nav-dot { position: relative; width: .4rem; height: .4rem; border-radius: 50%; background: #6c7b84; box-shadow: 0 0 .5rem rgba(108,123,132,.35); transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.section-nav-dot::after { content: ""; position: absolute; inset: -.35rem; border: 1px solid rgba(199,251,255,.3); border-radius: 50%; opacity: 0; transition: opacity .25s ease; }
.section-nav-link[aria-current="location"] .section-nav-dot { background: var(--cyan); box-shadow: 0 0 .65rem rgba(199,251,255,.85), 0 0 1.3rem rgba(117,211,255,.45); transform: scale(1.25); }
.section-nav-link[aria-current="location"] .section-nav-dot::after { opacity: 1; }
.section-nav-label { position: absolute; right: calc(100% + .25rem); padding: .45rem .75rem; border: 0; border-radius: .45rem; background: rgba(12,16,20,.94); color: #aab6bd; font-size: .8rem; white-space: nowrap; opacity: 0; transform: translateX(.4rem); pointer-events: none; transition: opacity .2s ease, transform .2s ease, color .2s ease; }
.section-nav-link:hover .section-nav-label, .section-nav-link:focus-visible .section-nav-label { opacity: 1; transform: translateX(0); pointer-events: auto; }
.section-nav-link[aria-current="location"] .section-nav-label, .section-nav-link:hover .section-nav-label { color: var(--cyan); }
.section-nav-link:hover .section-nav-dot { background: var(--cyan); }
@media (max-width: 620px) {
  .section-nav { right: .15rem; gap: .25rem; }
  .section-nav-link { width: 2rem; height: 2.25rem; }
  .section-nav-label { font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .section-nav-dot, .section-nav-dot::after, .section-nav-label { transition: none; }
}

.hero { position: relative; min-height: 100svh; padding: calc(var(--header-height) + clamp(3rem, 8vh, 7rem)) clamp(1.25rem, 6vw, 7rem) 3rem; overflow: hidden; }
.hero::before { content: ""; position: absolute; width: 48vw; height: 48vw; right: -12vw; top: -18vw; border-radius: 50%; background: radial-gradient(circle, rgba(92,85,255,.13), transparent 66%); filter: blur(10px); }
.hero-grid { position: absolute; inset: var(--header-height) 0 0; opacity: .36; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 7vw 7vw; mask-image: linear-gradient(to bottom, black, transparent 82%); }
.hero-copy { position: relative; z-index: 3; width: min(54rem, 58vw); }
.eyebrow { margin: 0 0 2rem; color: #9aa5aa; font-size: .72rem; letter-spacing: .17em; }
.eyebrow > span { display: inline-block; width: .42rem; height: .42rem; margin-right: .6rem; border-radius: 50%; background: var(--red); box-shadow: 0 0 16px rgba(125,117,255,.8); }
h1 { margin: 0; font-size: clamp(3.1rem, 5vw, 5.5rem); line-height: .98; letter-spacing: -.065em; font-weight: 560; }
h1 span { color: #727c81; }
.hero-lede { width: min(36rem, 90%); margin: 2rem 0 1.6rem; color: #a8b1b5; font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.75; }
.text-link { display: inline-flex; gap: 1rem; align-items: center; border-bottom: 1px solid #9ea8ac; padding: .5rem 0; font-size: .95rem; }
.text-link span { color: var(--red); }
.orbit-stage { position: absolute; z-index: 2; right: clamp(-5rem, -3vw, -2rem); top: 50%; width: min(45vw, 48rem); height: min(82vh, 48rem); transform: translateY(-46%); }
.orbit-glow { position: absolute; right: -4%; top: -6%; width: 76%; height: 112%; border-radius: 50%; background: radial-gradient(ellipse at 55% 32%, rgba(85,72,210,.22), transparent 54%), radial-gradient(ellipse at 63% 57%, rgba(50,174,255,.12), transparent 38%), radial-gradient(ellipse at 63% 68%, rgba(76,84,207,.2), transparent 53%); filter: blur(22px); animation: breathe 5s ease-in-out infinite; pointer-events: none; }
.orbit-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; fill: none; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.3) 7%, #000 18%, #000 82%, rgba(0,0,0,.3) 93%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.3) 7%, #000 18%, #000 82%, rgba(0,0,0,.3) 93%, transparent 100%); }
.orbit-lines path, .orbit-lines use, .orbit-lines circle { vector-effect: non-scaling-stroke; }
.orbit-aurora { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: 0; mix-blend-mode: screen; }
.has-webgl-aurora .orbit-aurora { opacity: 1; }
.has-webgl-aurora .network-aurora, .has-webgl-aurora .network-spine-glow, .has-webgl-aurora .network-aurora-flow, .has-webgl-aurora .network-spine--echo { display: none; }
.has-webgl-aurora .network-spine { opacity: .24; }
.has-webgl-aurora .network-route { stroke-width: 1; }
.has-webgl-aurora .network-anchor-aura { opacity: .12; }
.network-aurora { stroke: url(#network-gradient); stroke-linecap: round; mix-blend-mode: screen; }
.network-aurora--mist { stroke-width: 90; opacity: .18; filter: blur(27px); }
.network-aurora--outer { stroke-width: 46; opacity: .3; filter: blur(14px); }
.network-aurora--inner { stroke-width: 22; opacity: .48; filter: blur(6px); }
.network-spine { stroke: url(#network-gradient); stroke-width: 2.4; opacity: .98; filter: drop-shadow(0 0 3px #9b8cff); }
.network-spine--echo { stroke-width: 1; opacity: .48; filter: drop-shadow(0 0 3px #796dff); }
.network-spine-glow { stroke: url(#network-gradient); stroke-width: 13; opacity: .8; filter: blur(5px); }
.network-aurora-flow { stroke: #e3fbff; stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 24 82 5 96; opacity: .42; filter: blur(.45px) drop-shadow(0 0 5px #80ceff); animation: aurora-flow 7s linear infinite; }
.network-aurora-flow--left { transform: translateX(-6px); animation-delay: -2.4s; }
.network-aurora-flow--right { transform: translateX(7px); animation-delay: -5.1s; opacity: .28; }
.network-crosslink { stroke: #9690ff; stroke-width: .85; stroke-dasharray: 2 6; opacity: .7; }
.network-topic { color: #a092ff; transition: color .6s ease; }
.network-branch, .network-connector { stroke: currentColor; stroke-width: 1; opacity: .8; transition: opacity .6s ease; filter: drop-shadow(0 0 3px currentColor); }
.network-branch-glow { stroke: currentColor; stroke-width: 8; opacity: .1; filter: blur(5px); transition: opacity .6s ease; }
.network-connector { stroke-width: 1.4; opacity: .9; }
.network-satellite, .network-terminals circle { fill: #14132d; stroke: #a197ff; stroke-width: 1.8; filter: drop-shadow(0 0 5px #7762ff); }
.network-satellite-core { fill: #a69cff; opacity: .85; }
.network-anchor-aura { fill: currentColor; opacity: .22; filter: blur(13px); transition: opacity .6s ease; }
.network-anchor-halo { fill: none; stroke: currentColor; stroke-width: 10; opacity: .55; filter: blur(5px); }
.network-anchor-ring { fill: #232047; stroke: currentColor; stroke-width: 1.7; filter: drop-shadow(0 0 5px #7665ff); }
.network-anchor-core { fill: #b0a5ff; stroke: #c5bfff; stroke-width: 1; filter: drop-shadow(0 0 5px #8f7cff); }
.network-bead { fill: #aa9eff; filter: drop-shadow(0 0 4px #8d73ff); transition: fill .6s ease; }
.network-route { stroke: #b9efff; stroke-width: 1.8; opacity: 0; transition: opacity .6s ease; filter: drop-shadow(0 0 5px #7baeff); }
.network-pulse { stroke: #e3fbff; stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: 2 98; opacity: 0; animation: network-flow 3.6s linear infinite; animation-play-state: paused; }
.network-topic.is-active { color: #c7fbff; }
.network-topic.is-active .network-branch, .network-topic.is-active .network-connector, .network-topic.is-active .network-route { opacity: .95; }
.network-topic.is-active .network-branch-glow { opacity: .26; }
.network-topic.is-active .network-anchor-aura { opacity: .4; }
.network-topic.is-active .network-anchor-core { stroke: #e8ffff; filter: drop-shadow(0 0 8px #99dfff); }
.network-topic.is-active .network-anchor-ring { fill: #173441; filter: drop-shadow(0 0 6px #82cbff); }
.network-topic.is-active .network-anchor-core, .network-topic.is-active .network-bead, .network-topic.is-active .network-satellite-core { fill: #e0fbff; }
.network-topic.is-active .network-satellite { stroke: #bdefff; fill: #213547; filter: drop-shadow(0 0 5px #8acaff); }
.network-topic.is-active .network-pulse { opacity: .95; animation-play-state: running; }
@keyframes network-flow { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes aurora-flow { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -207; } }
@media (prefers-reduced-motion: reduce) { .network-pulse { display: none; } .network-aurora-flow { animation: none; } .network-topic, .network-route, .network-branch, .network-branch-glow, .network-connector { transition: none; } }
.orbit-node { position: absolute; display: grid; grid-template-columns: auto 1fr auto; gap: .25rem .65rem; align-items: center; width: clamp(11.5rem, 15vw, 14rem); border: 1px solid rgba(197,208,226,.28); border-radius: .85rem; padding: .8rem .8rem; background: rgba(8,10,16,.82); box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 .8rem 2rem rgba(0,0,0,.32); backdrop-filter: blur(12px); text-align: left; cursor: pointer; transform: translateY(-50%) scale(.9); transform-origin: right center; transition: transform .65s cubic-bezier(.2,.75,.2,1), color .4s ease, border-color .4s ease, background .4s ease; color: #737d84; }
.orbit-node::after { content: none; }
.orbit-node strong { font-size: clamp(.84rem, 1.05vw, 1rem); white-space: nowrap; font-weight: 500; }
.node-dot { display: none; }
.node-index { color: #59646a; font: 600 .6rem/1 ui-monospace, monospace; letter-spacing: .12em; }
.orbit-node--one { left: 10%; top: 22%; }
.orbit-node--two { left: 17%; top: 42%; }
.orbit-node--three { left: 13%; top: 62%; }
.orbit-node--four { left: 8%; top: 82%; }
.orbit-node.is-active { color: var(--cyan); border-color: rgba(199,251,255,.5); background: rgba(13,17,24,.95); transform: translateY(-50%) scale(1.12); text-shadow: 0 0 24px rgba(199,251,255,.35); }
.orbit-node.is-active .node-index { color: #9e96ff; }.orbit-node.is-active .node-dot { background: var(--cyan); border-color: #e8ffff; box-shadow: 0 0 14px rgba(199,251,255,.9), 0 0 0 9px rgba(125,117,255,.12); }
.orbit-core { position: absolute; left: 8%; top: 10%; width: 14rem; display: grid; gap: .65rem; }
.orbit-core::before { content: ""; position: absolute; left: -1rem; top: 0; width: 1px; height: 100%; background: linear-gradient(transparent, var(--red), transparent); }
.orbit-core strong { font-size: 1.5rem; line-height: 1.35; }
.orbit-core > span:last-child { color: var(--muted); font-size: 1rem; line-height: 1.5; }
.core-kicker { color: var(--red); font: 600 .6rem/1.2 ui-monospace, monospace; letter-spacing: .13em; }
.hero-footer { position: absolute; left: clamp(1.25rem, 6vw, 7rem); right: clamp(1.25rem, 6vw, 7rem); bottom: 2rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; color: #6f797e; font: 600 .58rem/1 ui-monospace, monospace; letter-spacing: .14em; }
.signal-line { height: 1px; background: linear-gradient(90deg, var(--red), var(--line), transparent); }

.section { position: relative; padding: clamp(5rem, 10vw, 10rem) clamp(1.25rem, 6vw, 7rem); border-top: 1px solid var(--line); overflow: hidden; }
.section-meta { display: flex; justify-content: space-between; margin-bottom: clamp(4rem, 9vw, 8rem); color: #606a70; font: 600 .65rem/1 ui-monospace, monospace; letter-spacing: .15em; }
.section h2, .cta-section h2 { margin: 0; font-size: clamp(2.7rem, 5.6vw, 6rem); line-height: 1.05; letter-spacing: -.055em; font-weight: 540; }
.section h3 { margin: 0; }
.section-heading--wide { display: grid; grid-template-columns: 1.1fr 1fr; gap: 2rem 7vw; align-items: end; }
.section-heading--wide .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.section-heading--wide h2 { grid-column: 1; }
.section-heading--wide > p:last-child { max-width: 33rem; margin: 0 0 .5rem; color: var(--muted); line-height: 1.8; font-size: 1.05rem; }
.system-section { background: linear-gradient(150deg, #080b0e, #0a0e12 62%, #071014); }
.section .scene-section-title { max-width: 100rem; margin: 0 auto clamp(2rem, 3.5vw, 3.5rem); font-size: clamp(2.5rem, 4.5vw, 5rem); line-height: 1.15; letter-spacing: .04em; font-weight: 540; }
.scene-layout { position: relative; display: grid; grid-template-columns: .5fr 1.5fr; gap: clamp(3rem, 7vw, 8rem); align-items: center; max-width: 100rem; margin-inline: auto; }
.scene-controls, .scene-display { min-width: 0; }
.scene-column-heading { margin: 0 0 1.5rem; color: #a5b4be; font-size: 1rem; font-weight: 500; letter-spacing: .12em; }
.scene-tabs { display: flex; flex-direction: column; border-top: 1px solid rgba(218,233,238,.09); }
.scene-tab { position: relative; display: flex; align-items: center; gap: 1.1rem; width: 100%; min-height: 4.6rem; padding: 1.2rem 1rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: #95a3ad; text-align: left; cursor: pointer; transition: color .25s ease, background .25s ease; }
.scene-tab::before { content: ""; position: absolute; left: 0; top: 25%; bottom: 25%; width: 2px; background: var(--cyan); opacity: 0; transition: opacity .25s ease; }
.scene-tab > span { flex-shrink: 0; color: #72838f; font: 500 .875rem/1.4 ui-monospace, monospace; }
.scene-tab > strong { font-size: clamp(1.1rem, 1.65vw, 1.65rem); font-weight: 500; line-height: 1.5; }
.scene-tab:hover { color: #e7f6ff; background: rgba(199,251,255,.025); }
.scene-tab { border-bottom-color: rgba(218,233,238,.09); }
.scene-tab.is-active { color: #edfeff; background: linear-gradient(90deg, rgba(199,251,255,.045), transparent); }
.scene-tab.is-active::before { opacity: 1; }.scene-tab.is-active > span { color: var(--cyan); }
.scene-connection { position: absolute; z-index: 2; height: 12px; pointer-events: none; }
.scene-connection-dot { position: absolute; top: 3.5px; left: -2.5px; width: 5px; height: 5px; border-radius: 50%; background: #e5fcff; box-shadow: 0 0 7px rgba(199,251,255,.6); }
.scene-connection-beam { position: absolute; top: 5.5px; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, rgba(222,251,255,.9), rgba(174,231,243,.7) 48%, rgba(174,231,243,.2) 78%, transparent); filter: drop-shadow(0 0 2px rgba(174,231,243,.35)); transform-origin: left center; }
.scene-panel { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--line); background: #10161b; }
.scene-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.scene-overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: clamp(1.3rem, 3vw, 3rem); background: linear-gradient(180deg, transparent 25%, rgba(4,8,12,.35) 50%, rgba(4,8,12,.92) 100%); pointer-events: none; }
.scene-advantage { margin: 0; max-width: 100%; color: #fff; font-size: clamp(1.2rem, 2.15vw, 2.3rem); font-weight: 500; line-height: 1.6; letter-spacing: .015em; white-space: pre-line; text-shadow: 0 2px 16px rgba(0,0,0,.35); }
.scene-advantage--split { display: flex; align-items: flex-start; gap: .2em; }
.scene-advantage-label { flex: none; white-space: nowrap; }
.scene-advantage-body { min-width: 0; white-space: pre-line; }
.scene-panel:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
@media (max-width: 900px) {
  .scene-layout { grid-template-columns: .75fr 1.25fr; gap: 1.5rem; }
  .scene-connection { display: none; }
  .scene-tab { gap: .7rem; padding: 1rem .65rem; min-height: 4.2rem; }
  .scene-advantage { font-size: clamp(1.1rem, 2.5vw, 1.4rem); }
}
@media (max-width: 760px) {
  .scene-layout { grid-template-columns: 1fr; gap: 2rem; }
  .scene-tab { min-height: 4rem; padding: .9rem 1rem; }
  .scene-tab > strong { font-size: 1.2rem; }
  .scene-advantage { font-size: clamp(1rem, 4.2vw, 1.65rem); }
  .scene-column-heading { margin-bottom: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .scene-tab, .scene-tab::before { transition: none; } }
.system-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1px; margin-top: clamp(4rem, 7vw, 7rem); background: var(--line); border: 1px solid var(--line); }
.system-card { position: relative; min-height: 28rem; padding: 2rem; background: var(--surface); overflow: hidden; }
.system-card--primary { background: #e9eff0; color: #0a0d0f; }
.system-card h3 { position: absolute; left: 2rem; bottom: 5.8rem; font-size: 1.45rem; }
.system-card p { position: absolute; left: 2rem; right: 2rem; bottom: 1.5rem; margin: 0; color: #808b90; line-height: 1.6; }
.system-card--primary p { color: #4f595d; }
.card-code { color: #687277; font: 600 .62rem/1 ui-monospace, monospace; letter-spacing: .14em; }
.mini-map { position: absolute; inset: 5.5rem 2rem 10rem; border: 1px solid rgba(5,10,12,.24); }
.mini-map span { position: absolute; border: 1px solid rgba(5,10,12,.35); }
.mini-map span:nth-child(1) { inset: 8% 52% 42% 8%; }.mini-map span:nth-child(2) { inset: 8% 8% 62% 48%; }.mini-map span:nth-child(3) { inset: 42% 57% 8% 8%; }.mini-map span:nth-child(4) { inset: 35% 8% 8% 39%; }
.mini-map i { position: absolute; left: 20%; top: 33%; width: .7rem; height: .7rem; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 8px rgba(125,117,255,.12); animation: ping 2.4s ease-out infinite; }
.pulse-mark, .network-mark { position: absolute; inset: 5.5rem 2rem 10rem; display: grid; place-items: center; border: 1px solid var(--line); background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 2.2rem 2.2rem; }
.pulse-mark::before, .pulse-mark::after { content: ""; position: absolute; width: 9rem; height: 9rem; border: 1px solid rgba(199,251,255,.35); border-radius: 50%; }
.pulse-mark::after { width: 4rem; height: 4rem; }
.pulse-mark i { width: .7rem; height: .7rem; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 22px var(--cyan); }
.network-mark i { position: absolute; width: .7rem; height: .7rem; border-radius: 50%; background: var(--red); box-shadow: 0 0 16px rgba(125,117,255,.7); }
.network-mark i:nth-child(1) { left: 23%; top: 27%; }.network-mark i:nth-child(2) { right: 20%; top: 38%; }.network-mark i:nth-child(3) { left: 48%; bottom: 20%; }
.network-mark::after { content: ""; width: 60%; height: 50%; border: solid rgba(125,117,255,.42); border-width: 1px 1px 0; transform: skewY(20deg); }

.product-intro { background: #0a0d10; }
.product-intro::before { content: ""; position: absolute; right: -10vw; top: -15vw; width: 42vw; height: 42vw; border: 1px solid rgba(125,117,255,.13); border-radius: 50%; box-shadow: 0 0 0 5vw rgba(125,117,255,.018), 0 0 0 10vw rgba(125,117,255,.012); }
.product-intro--alt::before { border-color: rgba(199,251,255,.13); box-shadow: 0 0 0 5vw rgba(199,251,255,.018), 0 0 0 10vw rgba(199,251,255,.012); }
.product-layout { position: relative; display: grid; grid-template-columns: 1.05fr 1fr; gap: 8vw; align-items: end; }
.product-label { display: flex; align-items: center; justify-content: center; margin: 0 0 2rem; color: #c9d0d3; font-size: .92rem; font-weight: 500; line-height: 1.5; letter-spacing: .04em; }
.product-copy { padding-bottom: .4rem; }
.product-copy h3 { max-width: 32rem; font-size: clamp(1.35rem, 2.2vw, 2.2rem); line-height: 1.35; font-weight: 500; }
.product-copy p { max-width: 37rem; margin: 1.5rem 0 2rem; color: var(--muted); line-height: 1.8; }
.pill-button { display: inline-flex; justify-content: space-between; gap: 2rem; align-items: center; border: 1px solid var(--line-strong); padding: .8rem 1.1rem; background: transparent; }
.pill-button span { color: var(--red); }.pill-button:hover { border-color: #fff; background: #fff; color: #080a0c; }
.ticker { position: relative; margin: clamp(5rem, 10vw, 10rem) calc(clamp(1.25rem, 6vw, 7rem) * -1) calc(clamp(5rem, 10vw, 10rem) * -1); border-top: 1px solid var(--line); overflow: hidden; white-space: nowrap; }
.ticker div { width: max-content; padding: 1.15rem 0; color: #6f797f; font: 600 .65rem/1 ui-monospace, monospace; letter-spacing: .13em; animation: ticker 25s linear infinite; }
.ticker i { display: inline-block; width: .35rem; height: .35rem; margin: 0 2rem; border-radius: 50%; background: var(--red); }
.ticker--reverse div { animation-direction: reverse; }

.capability-section { background: #e8edef; color: #0a0d0f; }
.capability-section .section-meta, .capability-section .eyebrow { color: #697378; }
.capability-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7vw; align-items: start; }
.capability-list { margin-top: 4rem; border-top: 1px solid rgba(7,12,14,.18); }
.capability-item { display: grid; grid-template-columns: 1fr; width: 100%; gap: .5rem; padding: 1.35rem 0; border: 0; border-bottom: 1px solid rgba(7,12,14,.18); background: transparent; color: #5b6569; text-align: left; cursor: pointer; transition: color .25s ease; }
.capability-item span { grid-row: 1 / 3; font: 700 .65rem/1.8 ui-monospace, monospace; color: #8a9498; }
.capability-item strong { font-size: 1.15rem; }.capability-item i { font-style: normal; font-size: .85rem; }
.capability-item.is-active { color: #050708; }.capability-item.is-active span { color: var(--red); }
.blueprint { position: relative; min-height: 40rem; border: 1px solid rgba(7,12,14,.24); background: #dfe5e7; box-shadow: 0 2rem 5rem rgba(7,12,14,.14); }
.blueprint-toolbar, .blueprint-status { position: absolute; left: 0; right: 0; display: flex; justify-content: space-between; padding: 1rem; color: #566065; font: 600 .6rem/1 ui-monospace, monospace; letter-spacing: .1em; }
.blueprint-toolbar { top: 0; border-bottom: 1px solid rgba(7,12,14,.18); }.blueprint-status { bottom: 0; border-top: 1px solid rgba(7,12,14,.18); }
.blueprint-status span { display: flex; gap: .5rem; align-items: center; }.blueprint-status span i { width: .5rem; height: .5rem; border-radius: 50%; background: #18b56f; }
.floorplan { position: absolute; inset: 5rem 3rem; background-image: linear-gradient(rgba(7,12,14,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(7,12,14,.07) 1px, transparent 1px); background-size: 1.8rem 1.8rem; overflow: hidden; }
.room { position: absolute; border: 2px solid #4a555a; transition: .55s ease; }.room span { position: absolute; top: .5rem; left: .6rem; color: #697378; font: 600 .56rem/1 ui-monospace, monospace; }
.room-a { inset: 8% 48% 46% 7%; }.room-b { inset: 8% 8% 63% 49%; }.room-c { inset: 39% 8% 8% 32%; }
.measure { position: absolute; color: var(--red); font: 700 .58rem/1 ui-monospace, monospace; }.measure-a { top: 4%; left: 25%; }.measure-b { right: 3%; top: 48%; transform: rotate(90deg); }
.scan-line { position: absolute; left: 0; right: 0; top: 10%; height: 1px; background: var(--red); box-shadow: 0 0 14px rgba(125,117,255,.7); animation: scan 4s ease-in-out infinite; }
.blueprint[data-mode="1"] .room-a { inset: 15% 42% 40% 5%; }.blueprint[data-mode="1"] .room-b { inset: 5% 6% 52% 58%; }.blueprint[data-mode="1"] .room-c { inset: 53% 6% 6% 24%; }
.blueprint[data-mode="2"] .room-a { inset: 5% 35% 50% 5%; }.blueprint[data-mode="2"] .room-b { inset: 5% 5% 50% 67%; }.blueprint[data-mode="2"] .room-c { inset: 52% 5% 5% 5%; }

.demo-section { background: #080b0e; }.demo-shell { display: grid; grid-template-columns: 1.25fr .75fr; border: 1px solid var(--line); }
.demo-visual { position: relative; min-height: 40rem; overflow: hidden; background: radial-gradient(circle at 50% 60%, rgba(199,251,255,.1), transparent 40%), #0b1014; }
.demo-room { position: absolute; inset: 8% 6% 12%; perspective: 700px; }.room-wall { position: absolute; inset: 0; border: 1px solid var(--line-strong); transform: rotateX(2deg); background-image: linear-gradient(135deg, rgba(255,255,255,.03), transparent); }
.room-window { position: absolute; left: 12%; top: 12%; width: 30%; height: 38%; border: 1px solid rgba(199,251,255,.36); box-shadow: inset 0 0 4rem rgba(199,251,255,.04); }
.room-sofa { position: absolute; left: 20%; bottom: 12%; width: 54%; height: 21%; border: 1px solid #8f9da3; border-radius: 3rem 3rem .5rem .5rem; background: rgba(255,255,255,.035); }
.room-table { position: absolute; left: 43%; bottom: 7%; width: 25%; height: 8%; border: 1px solid #69767b; border-radius: 50%; }
.play-control { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; gap: .7rem; border: 0; background: transparent; transform: translate(-50%,-50%); cursor: pointer; }
.play-control span { display: grid; place-items: center; width: 5rem; height: 5rem; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--red); background: rgba(7,9,12,.5); backdrop-filter: blur(10px); transition: .25s ease; }
.play-control b { font-size: .78rem; font-weight: 500; }.play-control:hover span, .play-control.is-playing span { background: #fff; border-color: #fff; color: #000; transform: scale(1.05); }
.demo-visual.is-playing .demo-room { animation: roomPulse 3s ease-in-out infinite; }
.demo-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 5rem); border-left: 1px solid var(--line); }
.demo-copy h2 { font-size: clamp(2.6rem, 4vw, 4.7rem); }.demo-copy > p:not(.eyebrow) { color: var(--muted); line-height: 1.8; }
.button-row { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; margin-top: 1.6rem; }.text-button { border: 0; border-bottom: 1px solid var(--line-strong); padding: .65rem 0; background: transparent; cursor: pointer; }

.swap-section { background: linear-gradient(135deg, #070a0d, #0c1217); }
.swap-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.swap-controls { min-width: 0; }
.swap-options { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; row-gap: clamp(1.8rem, 3.5vw, 3.5rem); margin: 0; padding: 2rem 0; list-style: none; }
.swap-word { position: relative; width: max-content; padding: .4rem .15rem; color: #b8c5cd; font-size: clamp(1.6rem, 3.2vw, 3.3rem); font-weight: 500; line-height: 1.4; letter-spacing: .06em; cursor: default; isolation: isolate; transition: color .3s ease, text-shadow .3s ease; }
.swap-word::after { content: ""; position: absolute; z-index: -1; left: 8%; right: 8%; bottom: -.15rem; height: .6rem; background: var(--cyan); border-radius: 50%; filter: blur(.8rem); opacity: 0; transition: opacity .3s ease; pointer-events: none; }
.swap-word--furniture { grid-column: 1 / 6; grid-row: 1; }
.swap-word--materials { grid-column: 8 / 13; grid-row: 1; transform: translateY(-1.2rem); font-size: clamp(1.4rem, 2.7vw, 2.8rem); }
.swap-word--lighting { grid-column: 5 / 11; grid-row: 2; }
.swap-word--appliances { grid-column: 1 / 6; grid-row: 3; font-size: clamp(1.4rem, 2.7vw, 2.8rem); }
.swap-word--people { grid-column: 8 / 13; grid-row: 3; transform: translateY(1.2rem); font-size: clamp(1.4rem, 2.7vw, 2.8rem); }
.swap-word--art { grid-column: 4 / 10; grid-row: 4; }
@media (hover: hover) {
  .swap-word:hover { color: #edfeff; text-shadow: 0 2px 9px rgba(199,251,255,.75), 0 8px 26px rgba(117,211,255,.48); }
  .swap-word:hover::after { opacity: .75; }
}
.swap-visual { position: relative; overflow: hidden; min-width: 0; aspect-ratio: 16 / 9; border: 1px solid var(--line); background: #10161b; }
.swap-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; user-select: none; pointer-events: none; }
.swap-image--before { clip-path: inset(0 calc(100% - var(--comparison-position)) 0 0); }
.comparison-label { position: absolute; top: 1rem; padding: .4rem .7rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(7,9,12,.65); color: #fff; font-size: .875rem; line-height: 1.4; pointer-events: none; }
.comparison-label--before { left: 1rem; }.comparison-label--after { right: 1rem; }
.comparison-divider { position: absolute; top: 0; bottom: 0; left: var(--comparison-position); width: 2px; background: #edfeff; transform: translateX(-50%); box-shadow: 0 0 12px rgba(0,0,0,.5); pointer-events: none; }
.comparison-handle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; gap: .35rem; width: 3rem; height: 3rem; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: rgba(7,9,12,.8); color: #edfeff; box-shadow: 0 2px 18px rgba(0,0,0,.25); font-size: 1.5rem; }
.comparison-handle > span { width: 1px; height: 1rem; background: rgba(199,251,255,.55); }
.comparison-slider { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: ew-resize; touch-action: pan-y; }
.comparison-slider:focus-visible { outline: none; }
.swap-comparison:focus-within .comparison-handle { background: #152b35; box-shadow: 0 0 0 4px rgba(199,251,255,.22); }
.swap-action { display: flex; justify-content: center; margin-top: clamp(2.5rem, 5vw, 5rem); }
.swap-action .pill-button { justify-content: center; min-width: 9rem; }
@media (prefers-reduced-motion: reduce) { .swap-word, .swap-word::after { transition: none; } }

.compact-demo { background: #e7edef; color: #080b0e; }.compact-demo .section-meta, .compact-demo .eyebrow { color: #637075; }
.compact-demo-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: center; }.compact-demo-grid--reverse { grid-template-columns: .8fr 1.2fr; }
.video-frame { position: relative; min-height: 35rem; overflow: hidden; border: 1px solid rgba(7,12,14,.24); background: #dbe2e4; background-image: radial-gradient(circle at 50% 50%, rgba(7,12,14,.1), transparent 32%), linear-gradient(rgba(7,12,14,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(7,12,14,.08) 1px, transparent 1px); background-size: auto, 3rem 3rem, 3rem 3rem; }
.video-frame::before, .video-frame::after { content: ""; position: absolute; left: 50%; top: 50%; border: 1px solid rgba(7,12,14,.25); border-radius: 50%; transform: translate(-50%,-50%); }.video-frame::before { width: 54%; aspect-ratio: 1; }.video-frame::after { width: 30%; aspect-ratio: 1; }
.video-code { position: absolute; top: 1rem; left: 1rem; color: #5c676c; font: 700 .6rem/1 ui-monospace, monospace; letter-spacing: .12em; }.video-frame .play-control span { border-color: rgba(7,12,14,.3); background: rgba(230,237,239,.65); }.video-frame.is-playing::before { animation: pingLarge 2.4s ease-out infinite; }
.compact-demo h2 { font-size: clamp(2.8rem, 4.5vw, 5rem); }.body-copy { color: #5c676c; line-height: 1.8; max-width: 30rem; }
.compact-demo--last { background: #0a0e12; color: #fff; }.compact-demo--last .section-meta, .compact-demo--last .eyebrow { color: #68747a; }.compact-demo--last .body-copy { color: var(--muted); }
.video-frame--hometa { border-color: var(--line); background: radial-gradient(circle at 50% 50%, rgba(125,117,255,.09), transparent 32%), linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px), #080b0e; background-size: auto, 3rem 3rem, 3rem 3rem; }.video-frame--hometa::before, .video-frame--hometa::after { border-color: rgba(125,117,255,.3); }.video-frame--hometa .video-code { color: #69757b; }.video-frame--hometa .play-control span { border-color: var(--line-strong); background: rgba(7,9,12,.65); }

.material-section { background: #e7edef; color: #080b0e; }.material-section .section-meta, .material-section .eyebrow { color: #657075; }
.material-head { display: grid; grid-template-columns: 1fr .7fr; gap: 6vw; align-items: end; }.material-head > p { max-width: 30rem; margin: 0 0 .6rem; color: #5d686d; line-height: 1.8; }
.material-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 5rem; border: 1px solid rgba(7,12,14,.18); background: rgba(7,12,14,.18); }
.material-card { position: relative; display: grid; min-height: 12rem; padding: 1.2rem; border: 0; background: #e7edef; color: #151a1c; text-align: left; cursor: pointer; transition: .3s ease; }.material-card span { color: #798388; font: 700 .6rem/1 ui-monospace, monospace; }.material-card strong { align-self: end; font-size: 1.35rem; }.material-card i { font-style: normal; color: #899398; font: 600 .58rem/1 ui-monospace, monospace; letter-spacing: .1em; }.material-card:hover, .material-card.is-active { background: #11171b; color: #fff; }.material-card.is-active span { color: var(--red); }
.material-status { display: grid; grid-template-columns: 1fr 1fr auto; gap: 2rem; align-items: center; margin-top: 1px; padding: 1rem 1.2rem; border: 1px solid rgba(7,12,14,.18); color: #697378; font: 600 .62rem/1 ui-monospace, monospace; letter-spacing: .08em; }.material-status > span { display: flex; align-items: center; gap: .6rem; }.material-status > span i { width: .5rem; height: .5rem; border-radius: 50%; background: #18b56f; }.material-status strong { color: #14191b; font-weight: 600; }.material-status .pill-button { color: #0a0d0f; border-color: rgba(7,12,14,.25); }

.cta-section { position: relative; min-height: 90vh; display: flex; align-items: center; justify-content: center; padding: clamp(5rem, 10vw, 10rem) clamp(1.25rem, 6vw, 7rem); border-top: 1px solid var(--line); background: #080b0e; overflow: hidden; }
.cta-lines { position: absolute; inset: 0; background: repeating-radial-gradient(circle at 50% 50%, transparent 0 3rem, rgba(199,251,255,.06) 3rem calc(3rem + 1px)); mask-image: radial-gradient(ellipse at center, black 12%, transparent 75%); }
.cta-copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; width: 100%; text-align: center; }.cta-copy h2 { font-size: clamp(2.6rem, 7vw, 8rem); line-height: 1.1; }.cta-copy h2 span { color: #6c767b; }
.cta-translation { margin: clamp(1.5rem, 2.5vw, 2.5rem) 0 0; color: #b8c2c7; font-size: clamp(1.3rem, 1.85vw, 2rem); line-height: 1.55; }
.solid-button { display: inline-flex; gap: 3rem; margin-top: 3rem; border: 0; padding: 1rem 1.3rem; background: #fff; color: #060809; }.solid-button span { color: var(--red); }.solid-button:hover { background: var(--red); color: #fff; }.solid-button:hover span { color: #fff; }
.entry-button { display: inline-flex; align-items: center; justify-content: center; min-width: 13rem; min-height: 3.6rem; border: 1px solid var(--cyan); border-radius: .7rem; padding: 1rem 1.5rem; background: transparent; color: var(--text); font-size: 1.05rem; line-height: 1.45; text-align: center; cursor: pointer; transition: border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease; }
.entry-button:hover { border-color: var(--cyan); background: var(--cyan); color: #080a0c; box-shadow: 0 0 22px rgba(199,251,255,.15); }
.entry-button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.product-entry-actions { display: flex; flex-direction: column; align-items: center; gap: .85rem; }
.product-entry-actions .entry-button { width: 13rem; }
.entry-button--secondary { border-color: var(--line-strong); color: var(--muted); }
.cta-copy .entry-button { margin-top: 3rem; }

.site-footer { display: grid; grid-template-columns: .8fr 1.4fr .8fr; gap: 5vw; padding: 5rem clamp(1.25rem, 6vw, 7rem) 2rem; border-top: 1px solid var(--line); background: #05070a; }
.footer-brand p { margin: 1.2rem 0 .2rem; font-size: 1.2rem; }.footer-brand strong { font-size: clamp(1.8rem, 3vw, 3.4rem); letter-spacing: -.05em; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }.footer-links > div { display: flex; flex-direction: column; gap: .45rem; }.footer-links > div > span { margin-bottom: .25rem; color: #5d686e; font: 600 .62rem/1 ui-monospace, monospace; letter-spacing: .12em; }.footer-links a, .footer-links button { width: max-content; border: 0; padding: 0; background: transparent; color: #adb6ba; cursor: pointer; }.footer-links a:hover, .footer-links button:hover { color: #fff; }
.newsletter label { display: block; margin-bottom: 1.5rem; }.newsletter > div { display: flex; border-bottom: 1px solid var(--line-strong); }.newsletter input { width: 100%; border: 0; padding: .8rem 0; background: transparent; color: #fff; outline: none; }.newsletter button { border: 0; padding-left: .8rem; background: transparent; white-space: nowrap; cursor: pointer; }.newsletter p { color: #5e696e; font-size: .8rem; }
.mail-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.newsletter button:disabled { cursor: wait; opacity: .55; }
.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--line); color: #505b60; font-size: .72rem; }

.modal { width: min(32rem, calc(100% - 2rem)); max-height: 88vh; border: 1px solid var(--line-strong); border-radius: 1rem; padding: 2rem; background: #0c1014; color: #fff; box-shadow: 0 2rem 6rem rgba(0,0,0,.6); }.modal::backdrop { background: rgba(0,0,0,.75); backdrop-filter: blur(8px); }.modal h2 { margin: 0 0 1.3rem; font-size: 1.8rem; }.modal p { color: var(--muted); line-height: 1.7; }.modal-close { position: absolute; z-index: 4; top: .8rem; right: .8rem; width: 2.4rem; height: 2.4rem; border: 1px solid var(--line); border-radius: 50%; background: rgba(12,16,20,.88); cursor: pointer; }.qr-placeholder { display: grid; place-items: center; width: 12rem; aspect-ratio: 1; margin: 1.5rem auto; border: 1px solid var(--line); background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 1rem 1rem; }.qr-placeholder img { width: 4rem; }.modal[data-modal="resource"] .qr-placeholder img { width: 100%; height: 100%; object-fit: contain; }.contact-link { display: inline-block; margin: 1rem 0; border-bottom: 1px solid var(--line-strong); padding-bottom: .4rem; }.modal--demo { width: min(96rem, calc(100% - 2rem)); height: min(92vh, 64rem); max-height: none; padding: 0; overflow: hidden; }.demo-modal-header { display: flex; min-height: 4.5rem; align-items: center; gap: 1rem; padding: .8rem 4.5rem .8rem 1.5rem; border-bottom: 1px solid var(--line); background: rgba(12,16,20,.96); }.demo-modal-header .eyebrow { margin: 0; white-space: nowrap; }.modal .demo-modal-header h2 { margin: 0; overflow: hidden; font-size: 1.05rem; font-weight: 520; text-overflow: ellipsis; white-space: nowrap; }.demo-modal-frame { display: block; width: 100%; height: calc(100% - 4.5rem); border: 0; background: #07090c; }
.modal:not(.modal--demo) { overflow-y: auto; }
.modal--about { width: min(54rem, calc(100% - 2rem)); }
.modal--tutorial { width: min(64rem, calc(100% - 2rem)); height: calc(100dvh - 7rem); background: #0c1014; }
.modal--tutorial .tutorial-modal-scroll { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; max-height: none; padding: 0; overflow: hidden; background: #0c1014; }
.tutorial-modal-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding: 1rem 1.5rem; border-bottom: 1px solid var(--line); background: rgba(12, 16, 20, .96); }
.modal .tutorial-modal-heading h2 { margin: 0; overflow: hidden; color: #eef5f8; font-size: clamp(1.05rem, 2vw, 1.35rem); font-weight: 520; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.tutorial-back { flex: none; border: 1px solid var(--line); border-radius: 999px; padding: .58rem .9rem; background: #10161b; color: #b9c8cf; font-size: .8rem; cursor: pointer; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.tutorial-back:hover, .tutorial-back:focus-visible { border-color: rgba(199, 251, 255, .55); background: #152028; color: var(--cyan); }
.tutorial-back[hidden] { display: none; }
.tutorial-modal-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; background: radial-gradient(circle at 50% 0, rgba(134, 187, 214, .08), transparent 32rem), #0c1014; scrollbar-color: #52646d #0c1014; }
.tutorial-loading { display: grid; min-height: 18rem; place-items: center; margin: 0; color: var(--muted); }
.tutorial-loading--error { color: #e8a9a9; }
.modal--video-tutorial { width: min(70rem, calc(100% - 2rem)); }
.video-tutorial-modal-content { min-width: 0; min-height: 0; overflow: hidden; }
.tutorial-article { width: min(100%, 42rem); min-height: 100%; margin: 0 auto; background: transparent; color: #c5d0d6; font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; box-shadow: 0 0 0 1px rgba(218, 233, 238, .06); }
.tutorial-article--hometa { padding: 1.875rem 1.75rem 0; }
.tutorial-article a { color: inherit; }
.tutorial-article img, .tutorial-article .wb-shot { max-width: 100%; cursor: zoom-in; }
.tutorial-article img, .tutorial-article .wb-shot:not(.wb-ico) { box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .28); transition: filter .2s ease, transform .2s ease; }
.tutorial-article a:hover img, .tutorial-article .wb-shot:not(.wb-ico):hover { filter: brightness(1.06); transform: translateY(-1px); }
.tutorial-article table { max-width: 100%; }
.tutorial-article [id] { scroll-margin-top: 1rem !important; }
.tutorial-article > section:first-child[style*="background:#2f5d50"] { border-bottom: 1px solid rgba(199, 251, 255, .18); background: linear-gradient(135deg, #14232c, #1d3441) !important; }
.tutorial-article [style*="background:#2f5d50"] { background: #1b313c !important; }
.tutorial-article [style*="background:#f4f8f5"], .tutorial-article [style*="background:#fbfdfb"] { border: 1px solid rgba(218, 233, 238, .09); background: #11191f !important; }
.tutorial-article [style*="background:#fdf9f0"] { border-color: rgba(125, 117, 255, .26) !important; background: rgba(125, 117, 255, .085) !important; }
.tutorial-article [style*="background:#eaf2ec"] { background: rgba(134, 187, 214, .12) !important; }
.tutorial-article [style*="#e7f0ea"] { background: linear-gradient(transparent 62%, rgba(125, 117, 255, .2) 62%) !important; }
.tutorial-article [style*="border:1px solid #d8e2db"], .tutorial-article [style*="border:1px solid #f0e4cd"] { border-color: rgba(218, 233, 238, .16) !important; }
.tutorial-article [style*="border-left:3px solid #2f5d50"] { border-left-color: #7d75ff !important; }
.tutorial-article [style*="color:#ffffff"] { color: #f4f7f7 !important; }
.tutorial-article [style*="color:#2f5d50"] { color: #c7fbff !important; }
.tutorial-article [style*="color:#3a463f"], .tutorial-article [style*="color:#41564b"], .tutorial-article [style*="color:#5b6b62"] { color: #c4d0d6 !important; }
.tutorial-article [style*="color:#9aa69e"], .tutorial-article [style*="color:#c9cfc9"] { color: #7f919a !important; }
.tutorial-article [style*="color:#a9c3b6"], .tutorial-article [style*="color:#cfe0d6"] { color: #9eb8c5 !important; }
.tutorial-article [style*="color:#a8874a"] { color: #b2adff !important; }
.tutorial-article [style*="background:#c9a96a"] { background: #7d75ff !important; }
.tutorial-article [style*="background:#c9cfc9"] { background: #52636c !important; }
.tutorial-lightbox[hidden] { display: none; }
.tutorial-lightbox { position: fixed; z-index: 8; inset: 0; display: grid; place-items: center; padding: clamp(1rem, 4vw, 3rem); background: rgba(3, 5, 7, .94); backdrop-filter: blur(12px); cursor: zoom-out; }
.tutorial-lightbox > button { position: fixed; top: 1rem; right: 1rem; z-index: 1; width: 2.6rem; height: 2.6rem; border: 1px solid var(--line-strong); border-radius: 50%; background: #0c1014; color: #fff; font-size: 1.4rem; cursor: pointer; }
.tutorial-lightbox > img { max-width: min(96vw, 88rem); max-height: 92vh; object-fit: contain; border-radius: .45rem; box-shadow: 0 2rem 7rem rgba(0, 0, 0, .75); }
.modal-body > p { margin: 0 0 1rem; }
.modal-language-section { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.modal-language-section h3 { margin: 0 0 1rem; font-size: 1.15rem; font-weight: 520; }
.modal--pricing { width: min(54rem, calc(100% - 2rem)); padding: clamp(1.5rem, 4vw, 3rem); }
.modal--pricing > h2 { margin-bottom: 1rem; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.045em; }
.pricing-modal-intro { max-width: 42rem; font-size: 1rem; }
.pricing-modal-section { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.pricing-modal-section h3 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.25rem); font-weight: 520; letter-spacing: -.035em; }
.pricing-modal-section > p { margin: .8rem 0 1.4rem; color: var(--muted); line-height: 1.7; }
.pricing-modal-table-wrap { overflow-x: auto; border: 1px solid var(--line); }
.pricing-modal-table { width: 100%; border-collapse: collapse; background: #0a0e12; }
.pricing-modal-table th, .pricing-modal-table td { padding: 1rem 1.15rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.pricing-modal-table tr:last-child > * { border-bottom: 0; }
.pricing-modal-table th { width: 11rem; color: #82929a; font-size: .78rem; font-weight: 500; }
.pricing-modal-table td { color: #e0e8ec; line-height: 1.65; }
.pricing-modal-table thead th { width: auto; color: #aab8bf; }
.pricing-modal-table--plans td { white-space: nowrap; }
.pricing-modal-table--services td strong, .pricing-modal-table--services td span { display: block; }
.pricing-modal-table--services td strong { font-size: 1.05rem; font-weight: 520; }
.pricing-modal-table--services td span { margin-top: .35rem; color: var(--muted); font-size: .85rem; }
.pricing-modal-notes { margin-bottom: .5rem; }
.pricing-modal-notes > p { margin-bottom: 0; }
.pricing-modal-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .3rem; cursor: pointer; list-style: none; }
.pricing-modal-disclosure > summary::-webkit-details-marker { display: none; }
.pricing-modal-disclosure > summary:hover { color: var(--cyan); }
.pricing-modal-disclosure-label { display: inline-flex; align-items: center; gap: .75rem; flex: none; color: var(--muted); font-size: .875rem; }
.pricing-modal-disclosure-label::after { content: ""; width: .45rem; height: .45rem; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-.15rem) rotate(45deg); }
.pricing-modal-disclosure-collapse, .pricing-modal-disclosure[open] .pricing-modal-disclosure-expand { display: none; }
.pricing-modal-disclosure[open] .pricing-modal-disclosure-collapse { display: inline; }
.pricing-modal-disclosure[open] .pricing-modal-disclosure-label::after { transform: translateY(.15rem) rotate(225deg); }
.pricing-modal-disclosure > .pricing-modal-table-wrap { margin-top: 1.25rem; }
.pricing-modal-table--credits { table-layout: fixed; }
.pricing-modal-table.pricing-modal-table--credits th { width: auto; }
.pricing-modal-table--credits thead th:first-child { width: 36%; }
.pricing-modal-table--credits thead th:nth-child(2) { width: 22%; }
.pricing-modal-table--credits tbody th { color: #e0e8ec; font-size: inherit; font-weight: 400; line-height: 1.65; }
@media (max-width: 620px) {
  .pricing-modal-table.pricing-modal-table--credits th, .pricing-modal-table.pricing-modal-table--credits td { padding: .8rem .55rem; font-size: .875rem; overflow-wrap: anywhere; }
  .pricing-modal-table--credits tbody th { font-size: .875rem; }
  .tutorial-modal-heading { padding: .8rem 1rem; }
  .modal .tutorial-modal-heading h2 { font-size: 1rem; }
  .tutorial-back { padding: .5rem .7rem; font-size: .75rem; }
  .tutorial-article { width: 100%; box-shadow: none; }
  .tutorial-article--hometa { padding: 1.25rem 1rem 0; }
}
.contact-details { display: grid; gap: 0; margin: 1.5rem 0 0; }
.contact-details > div { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.contact-details > div:last-child { border-bottom: 1px solid var(--line); }
.contact-details dt { color: #86bbd6; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.contact-details dd { min-width: 0; margin: 0; color: var(--muted); line-height: 1.6; overflow-wrap: anywhere; }
.contact-details a { color: #fff; }
.contact-qr { display: block; width: min(12rem, 100%); height: auto; margin: 1.5rem auto 0; }
.contact-qr[hidden] { display: none; }

[data-reveal] { opacity: 0; transform: translateY(2rem); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.75,.2,1); }[data-reveal].is-visible { opacity: 1; transform: none; }
@keyframes dash { to { stroke-dashoffset: -420; } } @keyframes breathe { 50% { transform: scale(1.04); opacity: .66; } } @keyframes nodeFlicker { 50% { opacity: .42; } } @keyframes ticker { to { transform: translateX(-50%); } } @keyframes scan { 50% { top: 88%; } } @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 70%, 100% { box-shadow: 0 0 0 22px rgba(125,117,255,0); } } @keyframes roomPulse { 50% { transform: scale(1.025); filter: brightness(1.35); } } @keyframes pingLarge { 70%, 100% { transform: translate(-50%,-50%) scale(1.45); opacity: 0; } } @keyframes demoOrbit { to { transform: rotate(360deg) skew(8deg); } }

@media (max-width: 1024px) {
  .system-grid { grid-template-columns: 1fr 1fr; }.system-card--primary { grid-column: 1 / -1; }.capability-layout, .demo-shell, .swap-layout { grid-template-columns: 1fr; }.blueprint { min-height: 34rem; }.demo-copy, .swap-visual { border-left: 0; border-top: 1px solid var(--line); }.swap-visual { min-height: 38rem; }.compact-demo-grid, .compact-demo-grid--reverse { grid-template-columns: 1fr 1fr; gap: 4vw; }.site-footer { grid-template-columns: 1fr 1fr; }.newsletter { grid-column: 2; }.footer-links { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; }.desktop-nav { display: none; }.menu-toggle { display: block; }.mobile-menu { display: grid; }.hero { min-height: 980px; padding-top: calc(var(--header-height) + 4rem); }.hero-copy { width: 100%; }h1 { font-size: clamp(3rem, 12vw, 5.8rem); }.orbit-stage { width: 110vw; right: -30vw; top: 68%; }.section-heading--wide, .product-layout, .material-head { grid-template-columns: 1fr; }.product-layout { gap: 4rem; }.system-grid { grid-template-columns: 1fr; }.system-card--primary { grid-column: auto; }.system-card { min-height: 25rem; }.material-grid { grid-template-columns: repeat(2, 1fr); }.material-status { grid-template-columns: 1fr auto; }.material-status strong { grid-column: 1 / -1; grid-row: 2; }.compact-demo-grid, .compact-demo-grid--reverse { grid-template-columns: 1fr; }.compact-demo-grid--reverse .video-frame { grid-row: 1; }.video-frame { min-height: 28rem; }
}

@media (max-width: 620px) {
  .outline-button { display: none; }.hero { min-height: 1120px; }.hero h1 { font-size: clamp(2.65rem, 11vw, 3.4rem); }.hero-lede { width: 100%; }.orbit-stage { width: 130vw; height: 430px; right: -55vw; top: 44%; transform: none; }.orbit-core { display: none; }.orbit-node { width: 11.7rem; }.orbit-node strong { font-size: .8rem; }.hero-footer span:first-child { display: none; }.hero-footer { grid-template-columns: 1fr auto; }.section-meta { margin-bottom: 3.5rem; }.section-meta span:last-child { text-align: right; }.system-card { min-height: 23rem; }.capability-layout { gap: 3rem; }.blueprint { min-height: 28rem; }.floorplan { inset: 4.5rem 1.5rem; }.demo-visual, .swap-visual { min-height: 29rem; }.swap-options { grid-template-columns: 1fr; }.swap-options button:nth-child(odd) { border-right: 0; }.swap-hud { display: grid; }.material-grid { grid-template-columns: 1fr 1fr; }.material-card { min-height: 10rem; }.material-status { grid-template-columns: 1fr; }.material-status strong { grid-column: auto; grid-row: auto; }.site-footer { grid-template-columns: 1fr; }.newsletter { grid-column: auto; }.footer-links { grid-column: auto; grid-row: auto; grid-template-columns: 1fr 1fr; }.footer-bottom { gap: 1rem; flex-direction: column; }
  .modal--pricing { padding: 1.5rem; }.pricing-modal-table th { width: 7.5rem; }.pricing-modal-table th, .pricing-modal-table td { padding: .85rem .8rem; }.pricing-modal-table--plans { min-width: 31rem; }.pricing-modal-table--services th { width: 8.5rem; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; } [data-reveal] { opacity: 1; transform: none; } }

/* Unified dark surfaces and manuscript-based bilingual title pages. */
main section[id] { scroll-margin-top: var(--header-height); }
.hero h1 { font-size: clamp(2.7rem, 4.35vw, 4.8rem); line-height: 1.1; letter-spacing: -.045em; }
.hero-translation { margin: 2rem 0 1.6rem; font-size: clamp(1.3rem, 1.85vw, 2rem); line-height: 1.55; color: #b8c2c7; }
.orbit-node:hover, .orbit-node:focus-visible { color: var(--cyan); border-color: rgba(199,251,255,.7); transform: translateY(-50%) scale(1.18); }
.system-card--primary, .capability-section, .compact-demo, .material-section { background: #0a0f14; color: var(--text); }
.system-card--primary p, .body-copy, .material-head > p { color: var(--muted); }
.mini-map, .mini-map span { border-color: rgba(199,251,255,.3); }
.capability-section .section-meta, .capability-section .eyebrow, .compact-demo .section-meta, .compact-demo .eyebrow, .material-section .section-meta, .material-section .eyebrow { color: #89979e; }
.capability-list, .capability-item { border-color: var(--line); }
.capability-item { color: #87959c; }.capability-item.is-active { color: #f4f7f7; }
.blueprint { background: #101820; border-color: var(--line-strong); }
.blueprint-toolbar, .blueprint-status { color: #a0b1bb; border-color: var(--line); }
.floorplan { background-image: linear-gradient(rgba(199,251,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(199,251,255,.06) 1px, transparent 1px); }
.room { border-color: #a4c1cf; }.room span { color: #92a9b4; }
.material-grid { border-color: var(--line); background: var(--line); }
.material-card { background: #101820; color: var(--text); }.material-card:hover, .material-card.is-active { background: #1d2634; }
.material-status { border-color: var(--line); color: #899ca7; }.material-status strong, .material-status .pill-button { color: #dce9f0; }.material-status .pill-button { border-color: var(--line-strong); }
.bilingual-title-page .product-layout { display: block; max-width: 66rem; margin-inline: auto; text-align: center; }
.bilingual-title-page h2 { font-size: clamp(2.5rem, 4.5vw, 4.8rem); line-height: 1.13; letter-spacing: -.045em; }
.title-translation { margin: 2rem 0; color: #d4dde1; font-size: clamp(1.25rem, 2vw, 2rem); line-height: 1.5; }
.bilingual-title-page .product-copy p { max-width: 49rem; margin: 0 auto 2.5rem; line-height: 1.95; text-align: left; }
.real-video-shell { max-width: 72rem; margin: auto; }
.real-video-frame { position: relative; aspect-ratio: 16 / 9; border: 1px solid var(--line-strong); background: #06090d; overflow: hidden; }
.real-video-frame video { width: 100%; height: 100%; object-fit: contain; background: #000; }
.real-video-shell--portrait { max-width: 31rem; }
.real-video-shell--landscape { max-width: 66rem; }
.real-video-frame--tablet { margin-inline: auto; padding: clamp(.7rem, 1.3vw, .95rem); box-sizing: content-box; border: 1px solid #3d444b; border-radius: clamp(1.35rem, 3vw, 2rem); background: linear-gradient(145deg, #30353b, #0c0e11 48%, #262b30); box-shadow: 0 2rem 5rem rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.08); overflow: hidden; }
.real-video-frame--portrait { width: min(calc(100% - 2.25rem), 26rem); aspect-ratio: 852 / 1280; }
.real-video-frame--landscape { width: min(calc(100% - 2.25rem), 60rem); aspect-ratio: 4 / 3; }
.real-video-frame--tablet::before { content: ""; position: absolute; z-index: 2; top: .32rem; left: 50%; width: .32rem; aspect-ratio: 1; border-radius: 50%; background: #050607; box-shadow: inset 0 0 0 1px rgba(130,170,190,.22); transform: translateX(-50%); pointer-events: none; }
.real-video-frame--tablet::after { content: ""; position: absolute; z-index: 2; bottom: .3rem; left: 50%; width: 18%; height: .18rem; border-radius: 999px; background: rgba(220,226,230,.32); transform: translateX(-50%); pointer-events: none; }
.real-video-frame--tablet video, .real-video-frame--tablet .video-placeholder { border-radius: clamp(.65rem, 1.5vw, 1rem); }
.video-placeholder { display: flex; height: 100%; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; background: radial-gradient(ellipse at 50% 50%, rgba(125,117,255,.08), transparent 65%); }
.video-placeholder > span { display: grid; place-items: center; width: 4rem; height: 4rem; border: 1px solid var(--line); border-radius: 50%; color: #738694; }.video-placeholder strong { font-size: 1.2rem; font-weight: 500; }.video-placeholder p { margin: 0; color: #74858e; font-size: .875rem; }
.real-video-shell .button-row { justify-content: center; gap: 1.5rem; margin-top: 2rem; }.real-video-shell .pill-button { justify-content: center; min-width: 8rem; }
.design-secondary { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.5rem 0; }.design-secondary span { padding: .6rem .8rem; border: 1px solid var(--line); border-radius: 999px; color: #a8b6be; font-size: .875rem; }

/* AI Studio follows the product-page rhythm: introduction, capabilities, film. */
.studio-intro { background: radial-gradient(ellipse at 50% 100%, rgba(99, 108, 180, .10), transparent 65%), #0a0d10; }
.studio-intro .product-layout { max-width: 68rem; }
.studio-intro h2 { max-width: 62rem; margin-inline: auto; text-wrap: balance; }
.studio-intro .title-translation { text-wrap: balance; }
.studio-intro .product-entry-actions .entry-button { width: auto; min-width: 14rem; }
.studio-capabilities .entry-button { min-width: 14rem; }
.section.studio-capabilities { display: flex; min-height: 80svh; padding: clamp(1.25rem, 3vw, 3rem); background: #06090d; }
.studio-capabilities-content { display: flex; flex-direction: column; gap: 1.8rem; width: 100%; max-width: 80rem; margin: auto; }
.studio-carousel { width: 100%; min-width: 0; }
.studio-carousel:focus-visible { outline: 2px solid var(--cyan); outline-offset: .5rem; }
.studio-visual { position: relative; }
.studio-stage { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--line-strong); border-radius: clamp(.8rem, 1.5vw, 1.25rem); background: #0b1117; isolation: isolate; touch-action: pan-y pinch-zoom; }
.studio-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .6s ease; }
.studio-slide.is-active { z-index: 1; opacity: 1; }
.studio-slide::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(4,7,10,.15) 62%, rgba(4,7,10,.82)); pointer-events: none; }
.studio-slide-media { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: var(--slide-fit, cover); object-position: var(--slide-position, center); background: #0b1117; pointer-events: none; }
.studio-slide-video { opacity: 0; transition: opacity .25s ease; }
.studio-slide-video.is-playing { opacity: 1; }
.studio-slide-caption { position: absolute; z-index: 2; right: clamp(1.25rem, 4vw, 4rem); bottom: clamp(1.25rem, 4vw, 3.5rem); left: clamp(1.25rem, 4vw, 4rem); color: #fff; text-shadow: 0 2px 20px rgba(0,0,0,.5); }
.studio-slide-caption h3 { font-size: clamp(1.8rem, 3.5vw, 3.6rem); font-weight: 520; line-height: 1.3; letter-spacing: .02em; }
.studio-slide-caption p { margin: .6rem 0 0; color: rgba(255,255,255,.84); font: 600 clamp(.65rem, .9vw, .95rem)/1.5 ui-monospace, monospace; letter-spacing: .14em; }
.studio-carousel-controls { display: flex; align-items: center; justify-content: center; margin-top: 1rem; }
.studio-page-arrow { position: absolute; z-index: 3; top: 50%; display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid rgba(218,233,238,.3); border-radius: 50%; padding: 0; background: rgba(4,8,12,.55); backdrop-filter: blur(10px); color: #d8e5ec; transform: translateY(-50%); cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.studio-page-arrow[data-studio-prev] { left: clamp(.75rem, 1.8vw, 1.5rem); }
.studio-page-arrow[data-studio-next] { right: clamp(.75rem, 1.8vw, 1.5rem); }
.studio-page-arrow span { font: 300 1.9rem/1 system-ui, sans-serif; transform: translateY(-.08rem); }
.studio-page-arrow:hover { border-color: var(--cyan); background: rgba(4,8,12,.78); color: var(--cyan); }
.studio-page-dots { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .2rem; min-width: 0; max-width: 100%; }
.studio-page-dot { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.75rem; border: 1px solid transparent; border-radius: 999px; padding: 0 .8rem; background: transparent; cursor: pointer; transition: border-color .3s ease, background .3s ease; }
.studio-page-dot-light { flex: 0 0 auto; width: .45rem; height: .45rem; border-radius: 50%; background: #677780; opacity: 1; transition: width .3s ease, opacity .2s ease, background .25s ease, box-shadow .25s ease, transform .25s ease; }
.studio-page-dot-label { display: block; max-width: 0; margin-left: 0; overflow: hidden; color: #dcebf0; font-size: .875rem; line-height: 1.5; white-space: nowrap; opacity: 0; transition: max-width .3s ease, margin-left .3s ease, opacity .2s ease; }
.studio-page-dot[aria-current="true"] .studio-page-dot-light { background: var(--cyan); box-shadow: 0 0 .6rem rgba(199,251,255,.7), 0 0 1rem rgba(117,211,255,.35); transform: scale(1.25); }
.studio-page-dot:focus-visible { border-color: rgba(199,251,255,.35); background: rgba(199,251,255,.06); }
.studio-page-dot:focus-visible .studio-page-dot-light { width: 0; opacity: 0; }
.studio-page-dot:focus-visible .studio-page-dot-label { max-width: 8rem; opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  .studio-page-dot:hover { border-color: rgba(199,251,255,.35); background: rgba(199,251,255,.06); }
  .studio-page-dot:hover .studio-page-dot-light { width: 0; opacity: 0; }
  .studio-page-dot:hover .studio-page-dot-label { max-width: 8rem; opacity: 1; }
}
.studio-carousel-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 680px) {
  .section.studio-capabilities { min-height: auto; padding: 1.25rem 1rem 2.5rem; }
  .studio-stage { aspect-ratio: 4 / 3; }
  .studio-page-dot { min-width: 2rem; padding-inline: .6rem; }
  .studio-page-dot-label { font-size: .8rem; }
  .studio-page-arrow { width: 2.75rem; height: 2.75rem; }
  .studio-capabilities-content { gap: 1.5rem; }
}
@media (max-width: 360px) {
  .studio-page-dot { min-width: 1.9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .studio-slide, .studio-slide-video, .studio-page-dot, .studio-page-dot span { transition: none; }
}
.studio-video-frame { border-radius: 1rem; box-shadow: 0 2rem 5rem rgba(0,0,0,.25); }
.studio-video-placeholder { position: relative; isolation: isolate; min-height: 100%; padding: 1.5rem; text-align: center; }
.studio-video-poster { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.studio-video-placeholder::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(4,8,13,.60), rgba(4,8,13,.84)); }
.studio-video-placeholder > span { border-color: rgba(199,251,255,.3); background: rgba(10,18,27,.65); color: #a9c3cf; }
.studio-video-placeholder p { color: #bac8d0; }
@media (max-width: 680px) {
  .studio-video-frame { aspect-ratio: 4 / 3; }
  .studio-video-placeholder { gap: .7rem; padding: 1rem; }
  .studio-video-placeholder > span { width: 3rem; height: 3rem; }
}
@media (min-width: 1100px) {
  .hero-copy { width: min(46rem, 50vw); }
  .hero h1 { font-size: clamp(2.7rem, 3.9vw, 4.5rem); }
  .orbit-stage { right: calc(clamp(2.5rem, 4.6vw, 6rem) + 20px); }
}
[hidden] { display: none !important; }
.section.capability-showcase { display: flex; min-height: max(80svh, 44rem); padding: clamp(1.5rem, 3vw, 3rem); background: #06090d; isolation: isolate; }
.capability-content { position: relative; display: flex; flex: 1; flex-direction: column; gap: clamp(1.4rem, 2.5vw, 2.5rem); min-width: 0; width: 100%; max-width: 100rem; margin-inline: auto; }
.capability-cards { --capability-accordion-duration: 1.2s; display: flex; flex: 1; gap: clamp(.45rem, .8vw, .8rem); min-height: 34rem; }
.capability-card { position: relative; flex: 1 1 0; min-width: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(218,233,238,.22); border-radius: clamp(.75rem, 1.1vw, 1.15rem); background: #11171c; color: #fff; text-align: left; cursor: pointer; isolation: isolate; transition: flex-grow var(--capability-accordion-duration) cubic-bezier(.2,.78,.2,1), border-color .35s ease, filter .35s ease; }
.capability-card::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(4,7,10,.12) 5%, rgba(4,7,10,.15) 48%, rgba(4,7,10,.9) 100%); transition: background .45s ease; pointer-events: none; }
.capability-card::after { content: ""; position: absolute; z-index: 2; inset: auto 1.15rem 0; height: 1px; background: linear-gradient(90deg, var(--cyan), transparent); opacity: 0; transform: scaleX(0); transform-origin: left; transition: opacity .4s ease, transform var(--capability-accordion-duration) cubic-bezier(.2,.78,.2,1); pointer-events: none; }
.capability-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.7) brightness(.72); transform: scale(1.045); transition: transform var(--capability-accordion-duration) cubic-bezier(.2,.78,.2,1), filter .5s ease; }
.capability-card-inner { position: absolute; z-index: 3; inset: 0; display: block; padding: clamp(1rem, 1.7vw, 1.65rem); pointer-events: none; }
.capability-title { position: absolute; right: clamp(1rem, 1.7vw, 1.65rem); bottom: clamp(1rem, 1.7vw, 1.65rem); left: clamp(1rem, 1.7vw, 1.65rem); display: flex; flex-direction: column; gap: .48rem; min-width: 0; text-shadow: 0 2px 20px rgba(0,0,0,.62); transition: transform .55s cubic-bezier(.2,.78,.2,1); }
.capability-title strong { font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; font-size: clamp(1.65rem, 2.8vw, 3rem); font-weight: 600; line-height: 1.35; letter-spacing: .02em; white-space: nowrap; }
.capability-title small { color: rgba(255,255,255,.7); font: 500 clamp(.78rem, 1vw, 1rem)/1.45 Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; letter-spacing: .06em; white-space: nowrap; }
.capability-card:hover, .capability-card:focus-visible, .capability-card.is-active { border-color: rgba(199,251,255,.68); }
.capability-card.is-active { flex-grow: 4.4; filter: drop-shadow(0 1.5rem 2.5rem rgba(0,0,0,.22)); }
.capability-card.is-active::before { background: linear-gradient(180deg, rgba(4,7,10,.04) 5%, rgba(4,7,10,.08) 48%, rgba(4,7,10,.84) 100%); }
.capability-card.is-active::after { opacity: .9; transform: scaleX(1); }
.capability-card.is-active > img { filter: saturate(.95) brightness(.92); transform: scale(1); }
.capability-card.is-active .capability-title small { color: rgba(255,255,255,.88); }
.capability-action { display: flex; justify-content: center; flex: 0 0 auto; }
.capability-action .pill-button { justify-content: center; min-width: 9rem; background: rgba(7,9,12,.72); }
@media (min-width: 681px) {
  .capability-card:not(.is-active) .capability-title { right: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 48%, transparent 100%); mask-image: linear-gradient(90deg, #000 0%, #000 48%, transparent 100%); }
}
@media (max-width: 900px) {
  .section.capability-showcase { padding-inline: 1rem; }
  .capability-cards { min-height: 31rem; }
  .capability-card.is-active { flex-grow: 5.2; }
}
@media (max-width: 680px) {
  .section.capability-showcase { min-height: 42rem; padding-inline: .85rem; }
  .capability-cards { flex: 0 0 auto; min-height: 32rem; overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scroll-snap-type: x proximity; scrollbar-width: none; }
  .capability-cards::-webkit-scrollbar { display: none; }
  .capability-card { flex: 0 0 4.25rem; min-width: 4.25rem; scroll-snap-align: center; }
  .capability-card.is-active { flex-basis: min(72vw, 22rem); }
  .capability-card:not(.is-active) .capability-title { right: auto; width: max-content; transform: rotate(-90deg) translateY(100%); transform-origin: left bottom; }
  .capability-card:not(.is-active) .capability-title strong { white-space: nowrap; }
  .capability-card:not(.is-active) .capability-title small { overflow-wrap: normal; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .capability-card, .capability-card::after, .capability-card > img, .capability-title { transition: none; }
  .capability-cards { scroll-behavior: auto; }
}
/* Match page four's image height while keeping the picker near the image edges. */
.section.material-showcase { --material-reference-height: 26rem; display: flex; min-height: max(80svh, calc(var(--material-reference-height) + clamp(8rem, 14vw, 14rem))); padding: clamp(1rem, 2vw, 2rem); isolation: isolate; }
.material-backdrop { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; pointer-events: none; }
.material-showcase-content { position: relative; z-index: 1; display: flex; flex-direction: column; flex: 1; gap: 3rem; width: 100%; min-width: 0; }
.material-picker { align-self: flex-start; width: min(19rem, 100%); padding: 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: .7rem; background: rgba(8,13,18,.82); color: #f4f7f7; backdrop-filter: blur(14px); box-shadow: 0 1rem 3rem rgba(0,0,0,.18); }
.material-select-wrap { position: relative; }
.material-select { display: block; width: 100%; min-height: 3.4rem; appearance: none; border: 1px solid rgba(255,255,255,.3); border-radius: .3rem; padding: .8rem 3rem .8rem 1rem; background: #18212b; color: #f4f7f7; font: inherit; font-size: 1.2rem; cursor: pointer; }
.material-select-wrap > span { position: absolute; right: 1rem; top: 50%; font-size: 1.6rem; line-height: 1; transform: translateY(-60%); pointer-events: none; }
.material-select option { background: #18212b; color: #f4f7f7; }
.material-select:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.material-products { display: grid; gap: .75rem; margin-top: 1rem; }
.material-product { display: flex; gap: .85rem; align-items: center; width: 100%; min-height: 5.6rem; padding: .6rem; border: 1px solid rgba(255,255,255,.16); border-radius: .3rem; background: rgba(255,255,255,.04); color: #edf2f4; text-align: left; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.material-product > img { display: block; flex-shrink: 0; width: 5rem; height: 4rem; object-fit: cover; border-radius: .15rem; }
.material-product > span { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.material-product strong { font-size: 1rem; font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; }
.material-product small { color: #b1bec7; font-size: .875rem; line-height: 1.4; }
.material-product:hover { background: rgba(255,255,255,.1); }
.material-product.is-active { border-color: rgba(199,251,255,.65); background: rgba(199,251,255,.1); }
.material-placeholder-note { margin: 1rem 0 0; color: #b1bec7; font-size: .8125rem; line-height: 1.5; }
.material-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.material-showcase-action { display: flex; justify-content: center; margin-top: auto; }
.material-showcase-action .pill-button { justify-content: center; min-width: 9rem; border-color: rgba(255,255,255,.55); background: rgba(8,13,18,.8); color: #f4f7f7; backdrop-filter: blur(10px); }
.material-showcase-action .pill-button:hover { background: #fff; color: #080a0c; }
@media (max-width: 760px) {
  .section.material-showcase { --material-reference-height: 30rem; }
}
@media (max-width: 620px) {
  .material-showcase-content { gap: 2rem; }
  .material-picker { width: min(17rem, 100%); padding: .8rem; }
}
@media (max-width: 380px) {
  .section.material-showcase { --material-reference-height: 34rem; }
}
/* Keep the word cloud and material image balanced at smaller widths. */
@media (max-width: 1024px) {
  .swap-layout { grid-template-columns: .9fr 1.1fr; }
  .swap-visual { min-height: 0; border: 1px solid var(--line); }
}
@media (max-width: 760px) {
  .swap-layout { grid-template-columns: 1fr; gap: 2rem; }
  .swap-options { grid-template-columns: repeat(12, minmax(0, 1fr)); max-width: 32rem; width: 100%; margin-inline: auto; row-gap: 1.5rem; }
  .swap-word { font-size: clamp(1.6rem, 6vw, 2.5rem); }
  .swap-word--materials, .swap-word--appliances, .swap-word--people { font-size: clamp(1.4rem, 5.4vw, 2.1rem); }
  .comparison-label { top: .65rem; padding: .3rem .55rem; }
  .comparison-label--before { left: .65rem; }.comparison-label--after { right: .65rem; }
}
@media (max-width: 900px) { .hero h1 { font-size: clamp(2.8rem, 7.2vw, 4.2rem); } }
@media (max-width: 620px) {
  .hero { min-height: 1130px; }
  .hero h1 { font-size: clamp(2.15rem, 8.5vw, 2.7rem); line-height: 1.13; }
  .hero-translation { font-size: 1.35rem; margin-top: 1.5rem; }
  .hero .orbit-stage { top: 56%; }
  .bilingual-title-page h2 { font-size: clamp(2rem, 8vw, 3rem); }
  .bilingual-title-page .product-copy p { font-size: 1rem; }
  .video-placeholder strong { font-size: 1rem; }
}

/* Compact hero links keep text on the left and the active icon on the right. */
.orbit-node { grid-template-columns: minmax(0, 1fr) 0; width: clamp(10.5rem, calc(14vw - 1rem), 13rem); min-height: 3.2rem; gap: 0; padding: .7rem 1rem; transition: width .5s ease, min-height .5s ease, padding .5s ease, gap .5s ease, grid-template-columns .5s ease, transform .65s cubic-bezier(.2,.75,.2,1), color .4s ease, border-color .4s ease, background .4s ease; }
.orbit-node.is-active { grid-template-columns: minmax(0, 1fr) 3rem; width: clamp(12.5rem, calc(17vw - 1rem), 15rem); min-height: 4.3rem; gap: .2rem; padding: .6rem calc(.9rem + 2px); transform: translateY(-50%) scale(1.04); }
.orbit-node:hover, .orbit-node:focus-visible { transform: translateY(-50%) scale(1.04); }
.orbit-node-text { grid-column: 1; grid-row: 1; display: grid; min-width: 0; gap: 0; }
.orbit-node strong { font-size: clamp(1.05rem, 1.25vw, 1.3rem); line-height: 1.45; }
.orbit-node-copy { display: block; max-height: 0; overflow: hidden; color: #adc7d0; font-size: .9rem; line-height: 1.5; opacity: 0; transition: opacity .35s ease, max-height .5s ease; }
.orbit-node.is-active .orbit-node-text { gap: .2rem; }
.orbit-node.is-active .orbit-node-copy { max-height: 2rem; opacity: 1; }
.orbit-node-icon { grid-column: 2; grid-row: 1; position: relative; width: 0; height: 0; overflow: hidden; opacity: 0; visibility: hidden; transform: scale(.88); transition: width .5s ease, height .5s ease, opacity .3s ease, transform .5s ease, visibility 0s linear .5s; }
.orbit-node-icon img { position: absolute; left: 50%; top: 50%; display: block; width: var(--icon-image-size, 165%); height: var(--icon-image-size, 165%); max-width: none; object-fit: contain; transform: translate(var(--icon-image-x, -50%), var(--icon-image-y, -50%)); }
.orbit-node--one .orbit-node-icon { --icon-image-size: 220%; --icon-image-x: -37.35%; --icon-image-y: -44.55%; }
.orbit-node--two .orbit-node-icon { --icon-image-size: 155%; }
.orbit-node--three .orbit-node-icon { --icon-image-size: 155%; }
.orbit-node--four .orbit-node-icon { --icon-image-size: 115%; }
.orbit-node.is-active .orbit-node-icon { width: 3rem; height: 3rem; opacity: 1; visibility: visible; transform: scale(1); transition-delay: 0s; }
@media (min-width: 1100px) {
  .orbit-node--one { left: 20%; }
  .orbit-node--two { left: 25%; }
  .orbit-node--three { left: 22%; }
  .orbit-node--four { left: 17%; }
}
@media (min-width: 621px) and (max-width: 900px) {
  .hero .orbit-stage { width: 90vw; height: 400px; right: 0; top: auto; bottom: 0; transform: none; }
}

/* Preserve CTA placement; share size and hover treatment across all pages. */
.pill-button, .solid-button { min-height: 3.6rem; padding: 1rem 1.5rem; font-size: 1.05rem; line-height: 1.45; }
.section .pill-button:hover, .cta-section .solid-button:hover { border-color: var(--cyan); background: var(--cyan); color: #080a0c; box-shadow: 0 0 22px rgba(199,251,255,.15); }
.section .pill-button:hover span, .cta-section .solid-button:hover span { color: #080a0c; }
.section .pill-button:disabled, .section .pill-button:disabled:hover { border-color: var(--line); background: transparent; color: var(--muted-2); opacity: .45; cursor: not-allowed; box-shadow: none; }

/* Information columns above a full-width, horizontal brand signature. */
.site-footer { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4rem clamp(1.5rem, 3vw, 3rem); }
.footer-links { grid-column: 1 / 4; grid-row: 1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.footer-links > div, .newsletter { padding-top: 1.5rem; border-top: 1px solid var(--line-strong); }
.footer-links > div > span, .newsletter label { color: #86bbd6; font: 500 .875rem/1.5 Inter, "Microsoft YaHei", system-ui, sans-serif; letter-spacing: .03em; }
.footer-links > div > span { margin-bottom: .4rem; }
.footer-links a, .footer-links button { max-width: 100%; width: fit-content; font-size: .875rem; line-height: 1.5; text-align: left; }
.footer-miniapp { position: relative; width: fit-content; max-width: 100%; }
.footer-links .footer-miniapp-trigger { cursor: default; }
.footer-miniapp-qr { position: absolute; z-index: 10; bottom: 100%; left: 0; width: min(12rem, calc(100vw - 3rem)); padding-bottom: .6rem; opacity: 0; visibility: hidden; }
.footer-miniapp-qr img { display: block; width: 100%; height: auto; border: .5rem solid #fff; border-radius: .75rem; background: #fff; box-shadow: 0 .75rem 2rem rgba(0,0,0,.35); }
.footer-miniapp:hover .footer-miniapp-qr, .footer-miniapp-trigger:focus-visible + .footer-miniapp-qr { opacity: 1; visibility: visible; }
.newsletter { grid-column: 4; grid-row: 1; min-width: 0; }
.newsletter label { margin-bottom: .85rem; }
.newsletter > div { align-items: flex-start; }
.newsletter input { min-width: 0; }
.newsletter input, .newsletter button { padding-top: 0; font-size: .875rem; line-height: 1.5; }
.footer-brand { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: clamp(1rem, 2.3vw, 2.5rem); min-width: 0; margin-top: clamp(1rem, 2vw, 2rem); }
.footer-brand strong { font-size: clamp(3rem, 10vw, 12rem); font-weight: 600; line-height: .95; letter-spacing: -.065em; white-space: nowrap; color: transparent; -webkit-text-stroke: 1px #729eb5; }
.footer-brand p { margin: 0; font-size: clamp(1.5rem, 3.5vw, 4.5rem); font-weight: 500; line-height: 1.4; letter-spacing: .04em; color: #86bbd6; white-space: nowrap; }
.footer-bottom { grid-row: 3; margin-top: 0; color: #869ca8; font-size: .8125rem; line-height: 1.5; }
.footer-bottom { flex-wrap: wrap; align-items: baseline; gap: 1rem 2rem; }
.footer-filing { margin: 0; text-align: left; }
.footer-filing a { display: inline-block; color: inherit; text-underline-offset: .2em; }
.footer-filing a:hover, .footer-filing a:focus-visible { color: var(--cyan); text-decoration: underline; }
.footer-legal { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.footer-legal button { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.footer-legal button:hover, .footer-legal button:focus-visible { color: var(--cyan); text-decoration: underline; text-underline-offset: .2em; }
.modal--legal { width: min(64rem, calc(100% - 2rem)); padding: clamp(1.5rem, 4vw, 3rem); }
.modal--legal > h2 { padding-right: 2rem; font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.4; }
.legal-body { color: #c1ccd2; font-size: .96rem; line-height: 1.85; overflow-wrap: anywhere; }
.legal-body > p { margin: 0 0 1.05rem; color: inherit; line-height: inherit; }
.legal-body > .legal-meta { margin-bottom: .35rem; color: #8ea1ab; font-size: .875rem; }
.legal-body > .legal-toc { margin-bottom: .4rem; padding-left: 1rem; color: #93acb9; }
.legal-body h3, .legal-body h4, .legal-body h5 { color: #f3f8fa; line-height: 1.5; }
.legal-body h3 { margin: 2rem 0 .75rem; font-size: 1.2rem; }
.legal-body h4 { margin: 1.5rem 0 .65rem; font-size: 1.05rem; }
.legal-body h5 { margin: 1.25rem 0 .5rem; font-size: 1rem; }
.legal-body strong { color: #eef5f8; font-weight: 700; }

/* Keep the close control outside the card while only its content scrolls. */
.modal:not(.modal--demo) { max-height: calc(100dvh - 7rem); padding: 0; overflow: visible; }
.modal-scroll { max-height: calc(100dvh - 7rem); padding: 2rem; overflow-y: auto; overscroll-behavior: contain; border-radius: inherit; }
.modal:not(.modal--demo) > .modal-close { top: -3rem; right: 0; border-color: var(--line-strong); background: #0c1014; }
.modal:not(.modal--demo) > .modal-close:hover { border-color: var(--cyan); color: var(--cyan); }
.modal--pricing .modal-scroll, .modal--legal .modal-scroll { padding: clamp(1.5rem, 4vw, 3rem); }
.modal--pricing .modal-scroll > h2 { margin-bottom: 1rem; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.045em; }
.modal--legal .modal-scroll > h2 { padding-right: 2rem; font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.4; }
@media (max-width: 620px) {
  .modal--pricing .modal-scroll, .modal--legal .modal-scroll { padding: 1.5rem; }
}
@media (max-width: 1024px) {
  .site-footer { grid-template-columns: 1fr; }
  .footer-links { grid-column: 1; grid-row: 1; }
  .newsletter { grid-column: 1; grid-row: 2; max-width: 30rem; width: 100%; }
  .footer-brand { grid-row: 3; }
  .footer-bottom { grid-row: 4; }
}
@media (max-width: 620px) {
  .orbit-node { width: 10.7rem; min-height: 3.2rem; padding: .7rem 1rem; }
  .hero .orbit-stage { width: calc(100% + 3rem); right: -3rem; }
  .hero .orbit-aurora, .hero .orbit-lines { width: calc(100% - 3rem); }
  .hero .orbit-node--one { left: 3%; }
  .hero .orbit-node--two { left: 5%; }
  .hero .orbit-node--three { left: 3%; }
  .hero .orbit-node--four { left: 3%; }
  .orbit-node.is-active { grid-template-columns: minmax(0, 1fr) 2.8rem; width: 12.5rem; min-height: 4.1rem; gap: .2rem; padding: .55rem calc(.65rem + 2px); }
  .orbit-node strong { font-size: 1.05rem; }
  .orbit-node-copy { font-size: .875rem; }
  .orbit-node.is-active .orbit-node-icon { width: 2.8rem; height: 2.8rem; }
  .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; }
  .footer-links > div > span { font-size: .875rem; }
  .footer-brand { grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1rem; }
  .footer-brand strong { font-size: clamp(2.1rem, 8.5vw, 3.2rem); }
  .footer-brand p { font-size: 1.2rem; }
  .modal--demo { width: calc(100% - 1rem); height: calc(100dvh - 1rem); border-radius: .75rem; }
  .demo-modal-header { min-height: 4rem; padding: .7rem 3.8rem .7rem 1rem; }
  .demo-modal-header .eyebrow { display: none; }
  .demo-modal-frame { height: calc(100% - 4rem); }
}

/* Larger comparison and clickable words floating only inside the left area. */
.swap-layout { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(1.5rem, 3vw, 3rem); }
.swap-controls { display: flex; flex-direction: column; align-self: stretch; }
.swap-options { position: relative; display: block; flex: 1; min-height: clamp(24rem, 32vw, 30rem); max-width: none; padding: 0; }
.swap-floating-item { position: absolute; left: 0; top: 0; width: max-content; max-width: 100%; }
.swap-floating-item:hover, .swap-floating-item:focus-within { z-index: 2; }
.swap-word {
  display: flex;
  align-items: center;
  gap: .55rem;
  max-width: 100%;
  min-height: 3rem;
  padding: .62rem 1rem .68rem;
  border: 1px solid rgba(151,166,174,.38);
  border-radius: 999px;
  background: rgba(12,18,23,.48);
  box-shadow: 0 .65rem 1.8rem rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.025);
  color: rgba(184,197,205,.62);
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .06em;
  text-align: left;
  cursor: pointer;
  opacity: .68;
  filter: saturate(.55) brightness(.82);
  backdrop-filter: blur(.7rem);
  -webkit-backdrop-filter: blur(.7rem);
  transition: color .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease, transform .25s ease, opacity .25s ease, filter .25s ease;
}
.swap-word::before {
  content: "";
  flex: 0 0 auto;
  width: .38rem;
  height: .38rem;
  border: 1px solid rgba(151,166,174,.5);
  border-radius: 50%;
  background: transparent;
  transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.swap-word--materials, .swap-word--appliances, .swap-word--people { transform: none; font-size: clamp(1rem, 1.5vw, 1.35rem); }
@media (hover: hover) {
  .swap-word:hover {
    transform: translateY(-2px);
    border-color: rgba(199,251,255,.48);
    background: rgba(21,35,44,.68);
    color: #dbe7ec;
    box-shadow: 0 .85rem 2rem rgba(0,0,0,.3), 0 0 1.2rem rgba(117,211,255,.1);
    opacity: .9;
    filter: saturate(.78) brightness(.96);
  }
  .swap-word:hover::before { border-color: rgba(199,251,255,.88); }
}
.swap-word:focus-visible {
  outline: 2px solid rgba(199,251,255,.92);
  outline-offset: .25rem;
}
.swap-word:active { transform: translateY(0) scale(.98); }
.swap-word[aria-pressed="true"], .swap-word[aria-pressed="true"]:hover {
  border-color: #e5fdff;
  background: rgba(69,177,202,.38);
  color: #fff;
  box-shadow: 0 .75rem 2.2rem rgba(0,0,0,.28), 0 0 2.2rem rgba(117,211,255,.44), inset 0 1px rgba(255,255,255,.18);
  opacity: 1;
  filter: saturate(1.12) brightness(1.14);
  text-shadow: 0 0 .8rem rgba(199,251,255,.38);
}
.swap-word[aria-pressed="true"]::before, .swap-word[aria-pressed="true"]:hover::before {
  border-color: #fff;
  background: #e5fdff;
  box-shadow: 0 0 1.1rem rgba(117,211,255,1);
}
.swap-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1024px) { .swap-visual { min-height: 0; } }
@media (max-width: 760px) {
  .swap-layout { grid-template-columns: 1fr; gap: 2rem; }
  .swap-options { min-height: 25rem; width: 100%; max-width: none; margin: 0; }
}

/* Unify the rounded action buttons with the site's cyan outline. */
.outline-button,
.pill-button,
.solid-button {
  border: 1px solid var(--cyan);
}
.material-showcase-action .pill-button,
.material-status .pill-button {
  border-color: var(--cyan);
}
.outline-button:hover { border-color: var(--cyan); }

html[lang="en"] .capability-title strong { font-size: clamp(1.25rem, 1.8vw, 1.8rem); text-transform: uppercase; letter-spacing: .025em; }
