/* ============================================================
   Syno Compute X — design tokens (from 06-design-system/tokens.md)
   Light content theme is the website default; dark theme follows
   the product palette: canvas #081018 / surface #101C27.
   Semantic tokens only — no raw hex in component rules.
   ============================================================ */
:root {
    /* Light content theme */
    --bg: #F7FAFC;
    --surface: #FFFFFF;
    --surface-alt: #EEF3F8;
    --text: #13202B;
    --text-secondary: #46586A;
    --border: #D9E2EA;
    --border-strong: #B9C7D3;
    /* Interactive: darkened brand blue for ≥4.5:1 on light backgrounds */
    --action: #1A56C4;
    --action-hover: #164AA8;
    --action-contrast: #FFFFFF;
    --focus: #1A56C4;
    --verified: #0A6459;      /* cyan family, darkened for ≥4.5:1 on badge backgrounds */
    --warning: #8A5A00;
    --warning-bg: #FBF0DC;
    --danger: #B23434;
    --danger-bg: #FBE4E4;
    --neutral-badge-bg: #E7EDF3;
    --band-bg: #101C27;       /* dark band on light pages */
    --band-text: #F3F7FA;
    --shadow: 0 2px 12px rgba(19, 32, 43, 0.06);

    /* Motion */
    --motion-fast: 120ms;
    --motion-base: 200ms;
    --motion-emph: 320ms;

    /* Radii */
    --radius-control: 8px;
    --radius-card: 12px;
    --radius-block: 16px;
}

:root[data-theme="dark"] {
    --bg: #081018;
    --surface: #101C27;
    --surface-alt: #0C1620;
    --text: #F3F7FA;
    --text-secondary: #A8B7C4;
    --border: #273746;
    --border-strong: #3A4E60;
    --action: #4B8DFF;
    --action-hover: #6CA2FF;
    --action-contrast: #071120;
    --focus: #4B8DFF;
    --verified: #29D3C2;
    --warning: #F2B84B;
    --warning-bg: rgba(242, 184, 75, 0.12);
    --danger: #F06464;
    --danger-bg: rgba(240, 100, 100, 0.12);
    --neutral-badge-bg: #1A2836;
    --band-bg: #0C1620;
    --band-text: #F3F7FA;
    --shadow: none;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --bg: #081018;
        --surface: #101C27;
        --surface-alt: #0C1620;
        --text: #F3F7FA;
        --text-secondary: #A8B7C4;
        --border: #273746;
        --border-strong: #3A4E60;
        --action: #4B8DFF;
        --action-hover: #6CA2FF;
        --action-contrast: #071120;
        --focus: #4B8DFF;
        --verified: #29D3C2;
        --warning: #F2B84B;
        --warning-bg: rgba(242, 184, 75, 0.12);
        --danger: #F06464;
        --danger-bg: rgba(240, 100, 100, 0.12);
        --neutral-badge-bg: #1A2836;
        --band-bg: #0C1620;
        --band-text: #F3F7FA;
        --shadow: none;
    }
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: Inter, "Noto Sans TC", system-ui, -apple-system, "Segoe UI",
        "PingFang TC", "Microsoft JhengHei", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    background: var(--bg);
    color: var(--text);
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

code, pre { font-family: "IBM Plex Mono", "Noto Sans Mono", Consolas, monospace; }

a { color: var(--action); }
a:hover { color: var(--action-hover); }
p a, li a, .text-link { text-decoration: underline; text-underline-offset: 2px; }
.text-link { font-weight: 600; }

h1, h2, h3 { line-height: 1.3; margin: 0 0 0.6em; font-weight: 700; }
h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.25rem, 2.5vw, 1.5rem); }
h3 { font-size: 1.1rem; }

:focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 2px;
    border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
        transform: none !important;
    }
}

.container { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.prose { max-width: 42em; }
.lead { font-size: 1.125rem; color: var(--text-secondary); }
.muted { color: var(--text-secondary); }
.hint { color: var(--text-secondary); font-size: 0.875rem; }
.kicker {
    display: inline-block; font-weight: 700; font-size: 0.875rem;
    letter-spacing: 0.06em; color: var(--text-secondary);
    margin: 0 0 12px;
}

.visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0; border: 0;
    clip: rect(0 0 0 0); clip-path: inset(50%);
    overflow: hidden; white-space: nowrap;
}

.skip-link {
    position: absolute; left: 8px; top: -48px;
    background: var(--surface); color: var(--text);
    border: 1px solid var(--border-strong); border-radius: var(--radius-control);
    padding: 8px 16px; z-index: 200;
    transition: top var(--motion-fast) ease;
}
.skip-link:focus { top: 8px; }

/* ---------- Buttons ---------- */
.btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: var(--radius-control);
    border: 1px solid transparent;
    font-weight: 600;
    font-size: 0.95rem;
    font-family: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--motion-fast) ease, border-color var(--motion-fast) ease;
}
.btn:hover { text-decoration: none; }
.btn-primary { background: var(--action); color: var(--action-contrast); }
.btn-primary:hover { background: var(--action-hover); color: var(--action-contrast); }
.btn-ghost { background: transparent; color: var(--action); border-color: var(--border-strong); }
.btn-ghost:hover { border-color: var(--action); }
.btn-light { background: #FFFFFF; color: #13202B; }
.btn-light:hover { background: #E8EEF5; color: #13202B; }
.btn-sm { padding: 6px 14px; font-size: 0.875rem; }

/* ---------- Badges (status labels always carry text) ---------- */
.badge {
    display: inline-block;
    border-radius: 999px;
    padding: 2px 12px;
    font-size: 0.8rem;
    font-weight: 600;
    border: 1px solid var(--border-strong);
    vertical-align: middle;
}
.badge-candidate { background: var(--warning-bg); color: var(--warning); border-color: var(--warning); }
.badge-scenario { background: var(--neutral-badge-bg); color: var(--text-secondary); }
.badge-theory { background: var(--neutral-badge-bg); color: var(--text-secondary); }
.badge-ok { background: var(--neutral-badge-bg); color: var(--verified); border-color: var(--verified); }
.badge-muted { background: var(--neutral-badge-bg); color: var(--text-secondary); }

.status-banner {
    background: var(--surface);
    border: 1px solid var(--border);
    border-left: 4px solid var(--warning);
    border-radius: var(--radius-control);
    padding: 12px 16px;
    margin: 16px 0;
    font-size: 0.95rem;
    color: var(--text-secondary);
}

/* ---------- Header ---------- */
.site-header {
    position: sticky; top: 0; z-index: 50;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
}
/* min-height, not height: with a fixed height a nav that wraps spills out
   of the bar instead of growing it. */
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; }
.site-logo img { height: 24px; width: auto; display: block; }
/* Never wrap on desktop. English labels are far longer than the Chinese
   ones, and a wrapped row used to break the whole header. The mobile
   breakpoint below turns this into a stacked menu instead. */
.site-nav { display: flex; align-items: center; gap: clamp(12px, 1.4vw, 20px); flex-wrap: nowrap; }
.site-nav > * { flex: 0 0 auto; }
.site-nav a { color: var(--text); font-weight: 500; font-size: 0.95rem; text-decoration: none; }
.site-nav a:hover { color: var(--action); }
.site-nav a.active { color: var(--action); font-weight: 700; }
.site-nav .nav-cta { color: var(--action-contrast); }
.nav-dropdown { position: relative; }
.nav-dropdown-trigger { display: flex; align-items: center; gap: 2px; }
.nav-dropdown-toggle { display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--text); cursor: pointer; }
.nav-dropdown-toggle:hover, .nav-dropdown-toggle:focus-visible { background: var(--surface-alt); color: var(--action); }
.nav-dropdown-toggle svg { transition: transform .2s ease; }
.nav-dropdown.open .nav-dropdown-toggle svg, .nav-dropdown:focus-within .nav-dropdown-toggle svg { transform: rotate(180deg); }
.nav-dropdown-menu { position: absolute; top: calc(100% + 18px); left: 50%; width: min(620px, 82vw); padding: 12px; translate: -34% -8px; border: 1px solid var(--border); border-radius: 18px; background: color-mix(in srgb, var(--surface) 96%, transparent); box-shadow: 0 24px 60px rgba(3, 13, 20, .2); backdrop-filter: blur(18px); visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .18s ease, translate .18s ease, visibility .18s; }
.nav-dropdown-menu:before { content: ""; position: absolute; top: -19px; left: 0; right: 0; height: 20px; }
.nav-dropdown.open .nav-dropdown-menu, .nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { visibility: visible; opacity: 1; pointer-events: auto; translate: -34% 0; }
.site-nav .nav-dropdown-menu a { display: flex; text-decoration: none; border-radius: 12px; }
.nav-product-overview { align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 8px; padding: 13px 15px; background: var(--surface-alt); }
.nav-product-overview span { font-weight: 750; }
.nav-product-overview small { color: var(--muted); }
.nav-xneurons-brand{display:block;width:150px}.nav-xneurons-brand img{display:block;width:100%;height:auto}.nav-xneurons-logo-dark{display:none!important}:root[data-theme="dark"] .nav-xneurons-logo-light{display:none}:root[data-theme="dark"] .nav-xneurons-logo-dark{display:block!important}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav-xneurons-logo-light{display:none}:root:not([data-theme="light"]) .nav-xneurons-logo-dark{display:block!important}}
.nav-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.nav-product-grid a { align-items: center; gap: 12px; min-height: 58px; padding: 9px 12px; border: 1px solid transparent; }
.nav-product-grid a:hover, .nav-product-grid a:focus-visible { background: var(--surface-alt); border-color: var(--border); }
.nav-product-grid b { display: grid; place-items: center; flex: 0 0 48px; height: 32px; border-radius: 9px; background: color-mix(in srgb, var(--action) 11%, var(--surface-alt)); color: var(--action); font: 750 .78rem var(--font-mono); letter-spacing: .04em; }
.nav-product-grid span { color: var(--muted); font-size: .83rem; line-height: 1.3; }
.nav-product-grid .nav-product-dtw { grid-column: 1 / -1; background: color-mix(in srgb, #55d69a 8%, var(--surface)); }
.nav-about-menu{left:50%;right:auto;width:420px;translate:-50% -8px}.nav-dropdown.open .nav-about-menu,.nav-dropdown:hover .nav-about-menu,.nav-dropdown:focus-within .nav-about-menu{translate:-50% 0}.nav-about-group{padding:8px}.nav-about-group+.nav-about-group{border-top:1px solid var(--border)}.nav-about-group-title{display:block;padding:8px 14px 6px;color:var(--muted);font:700 .72rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.site-nav .nav-about-menu a{display:grid;gap:.2rem;padding:11px 14px;border-radius:8px}.nav-about-menu a:hover,.nav-about-menu a:focus-visible{background:var(--surface-alt)}.nav-about-menu strong{color:var(--text);font-size:.94rem}.nav-about-menu small{color:var(--muted);font-size:.8rem;line-height:1.4}
.nav-industries-menu{width:510px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;translate:-38% -8px}.nav-dropdown.open .nav-industries-menu,.nav-dropdown:hover .nav-industries-menu,.nav-dropdown:focus-within .nav-industries-menu{translate:-38% 0}.site-nav .nav-industries-menu a{display:grid;gap:.22rem;padding:16px}.nav-industries-menu a:hover,.nav-industries-menu a:focus-visible{background:var(--surface-alt)}.nav-industries-menu strong{font-size:.95rem}.nav-industries-menu small{color:var(--muted);font-size:.78rem;line-height:1.45}
.nav-resources-menu{width:430px}
.culture-hero .lead{max-width:760px}.culture-value-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:2.5rem}.culture-value{padding:1.5rem;border-top:3px solid var(--action);background:var(--surface-alt)}.culture-value>span{color:var(--action);font:700 .8rem var(--font-mono)}.culture-value h3{margin:1.5rem 0 .7rem}.culture-value p,.culture-behaviors p{color:var(--muted);margin:0}.culture-behaviors{border-top:1px solid var(--border)}.culture-behaviors article{padding:1.25rem 0;border-bottom:1px solid var(--border)}.culture-behaviors h3{margin:0 0 .45rem}.culture-refusals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;list-style:none;padding:0;margin-top:2.5rem}.culture-refusals li{padding:1.1rem 1.2rem;border:1px solid rgba(255,255,255,.16);border-left:3px solid var(--action);background:rgba(255,255,255,.04)}
.culture-section-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(2rem,7vw,7rem);align-items:end;margin-bottom:2.5rem}.culture-section-intro .kicker{grid-column:1/-1;margin-bottom:-1rem}.culture-section-intro .display-heading{margin:0}.culture-section-intro>p:last-child{margin:0;color:var(--muted);line-height:1.8}.culture-office-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.culture-office-card{min-height:220px;padding:clamp(1.4rem,2.5vw,2.2rem);background:var(--surface)}.culture-office-card h3{margin:0 0 1rem}.culture-office-card p,.culture-collaboration>div>p,.culture-growth-copy p{margin:0;color:var(--muted);line-height:1.8}.culture-collaboration{align-items:start}.culture-growth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:clamp(3rem,8vw,8rem);align-items:start}.culture-growth-copy{display:grid;gap:1.25rem}.culture-growth-copy p{color:rgba(255,255,255,.76)}.culture-boundaries-section .display-heading{margin-bottom:0}.culture-refusals-light li{border-color:var(--border);border-left-color:var(--action);background:var(--surface-alt)}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);align-items:center;gap:clamp(3rem,7vw,7rem)}.about-hero-grid .hero-inner{min-width:0}.about-hero-grid .hero-inner h1{max-width:12ch;text-wrap:balance}.about-hero-art{margin:0}.about-hero-art img{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 30px rgba(18,65,96,.13));transition:transform .6s ease}.about-hero-art:hover img{transform:translateY(-5px)}
.about-story-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(430px,1.14fr);align-items:center;gap:clamp(3rem,7vw,7rem)}.about-story-grid .display-heading{font-size:clamp(1.4rem,2.8vw,2.59rem)}.about-section-art,.about-direction-art,.about-culture-art{margin:0}.about-section-art img,.about-direction-art img,.about-culture-art img{display:block;width:100%;height:auto}.about-direction-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:center;gap:clamp(2rem,6vw,6rem);margin-bottom:2.5rem}.about-direction-head .display-heading{font-size:clamp(1.4rem,2.38vw,2.45rem)}.about-culture-teaser{display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);align-items:center;gap:clamp(2rem,5vw,5rem)}.about-culture-teaser .display-heading{max-width:13ch;font-size:clamp(1.47rem,2.52vw,2.52rem)}.about-culture-art{width:100%;max-width:720px;justify-self:end}
.operations-heading .display-heading{max-width:18ch;font-size:clamp(1.47rem,2.66vw,2.66rem)}.operations-map{position:relative;margin:2.5rem 0 1.5rem}.google-map-stage{position:relative;overflow:hidden;aspect-ratio:16/7;border:1px solid var(--border);border-radius:24px;background:var(--surface)}.map-status{margin:.75rem 0 0;color:var(--muted)}.operations-list{gap:0;border-top:1px solid var(--border)}.operations-location{padding:1.5rem 1.25rem;border-bottom:1px solid var(--border)}.operations-location+ .operations-location{border-left:1px solid var(--border)}.operations-location>span{color:var(--action);font:700 .78rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.operations-location h3{margin:.65rem 0}.operations-location address{color:var(--muted);font-style:normal;line-height:1.8}
@media(max-width:1050px){.culture-value-grid,.culture-office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.about-hero-grid,.about-story-grid,.about-direction-head,.about-culture-teaser{grid-template-columns:1fr}.about-hero-grid .hero-inner h1{max-width:20ch}.about-hero-art,.about-section-art,.about-direction-art,.about-culture-art{width:100%;max-width:680px;justify-self:start}}
@media(max-width:768px){.culture-section-intro,.culture-growth-grid{grid-template-columns:1fr}.culture-section-intro .kicker{grid-column:auto;margin-bottom:0}}
@media(max-width:640px){.culture-value-grid,.culture-office-grid,.culture-refusals{grid-template-columns:1fr}.culture-office-card{min-height:0}.about-hero-grid{gap:2rem}.about-hero-art{margin-inline:-.5rem}}
@media(max-width:640px){.operations-location+ .operations-location{border-left:0}.operations-map{margin-inline:-.5rem}.google-map-stage{aspect-ratio:4/3;border-radius:16px}}
.lang-switch {
    border: 1px solid var(--border); border-radius: 999px; padding: 4px 14px;
}

.theme-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 50%;
    border: 1px solid var(--border);
    background: transparent; color: var(--text); cursor: pointer;
}
.theme-toggle:hover { color: var(--action); border-color: var(--action); }
.icon-moon { display: none; }
:root[data-theme="dark"] .icon-sun { display: none; }
:root[data-theme="dark"] .icon-moon { display: block; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .icon-sun { display: none; }
    :root:not([data-theme="light"]) .icon-moon { display: block; }
}

/* Theme-dependent logo swap */
.site-logo .logo-for-dark { display: none; }
:root[data-theme="dark"] .site-logo .logo-for-light { display: none; }
:root[data-theme="dark"] .site-logo .logo-for-dark { display: block; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .site-logo .logo-for-light { display: none; }
    :root:not([data-theme="light"]) .site-logo .logo-for-dark { display: block; }
}

.nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: 8px; }
.nav-toggle span { display: block; width: 22px; height: 2px; background: var(--text); margin: 5px 0; }

/* 1150, not 1024: the English navigation needs about 1150px on one row, and
   below that the stacked menu is the layout that actually works. */
@media (max-width: 1150px) {
    .nav-toggle { display: block; }
    .site-nav {
        display: none;
        position: absolute; top: 64px; left: 0; right: 0;
        flex-direction: column; align-items: flex-start;
        background: var(--surface); border-bottom: 1px solid var(--border);
        padding: 16px 24px; gap: 12px;
    }
    .site-nav.open { display: flex; }
    .nav-dropdown { width: 100%; }
    .nav-dropdown-trigger { justify-content: space-between; }
    .nav-dropdown-toggle { border: 1px solid var(--border); }
    .nav-dropdown-menu { position: static; width: 100%; max-height: 0; padding: 0; translate: none; border: 0; border-radius: 0; box-shadow: none; visibility: visible; opacity: 1; overflow: hidden; pointer-events: none; transition: max-height .28s ease, padding .28s ease; }
    .nav-dropdown.open .nav-dropdown-menu, .nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { max-height: 620px; padding: 10px 0 0; translate: none; pointer-events: auto; }
    .nav-dropdown-menu:before { display: none; }
    .nav-about-menu,.nav-industries-menu { width: 100%; translate: none; grid-template-columns:1fr; }
}
@media (max-width: 560px) { .nav-product-grid { grid-template-columns: 1fr; } .nav-product-grid .nav-product-dtw { grid-column: auto; } .nav-product-overview { align-items: flex-start; flex-direction: column; } }

/* ---------- Hero & sections ---------- */
.hero { padding: 96px 0 64px; border-bottom: 1px solid var(--border); }
.hero-sub { padding: 64px 0 48px; }
.hero-inner h1 { max-width: 22em; }
.hero-actions { display: flex; gap: 12px; margin-top: 24px; flex-wrap: wrap; }

.section { padding: 64px 0; }
.section-alt { background: var(--surface-alt); }
.section-title { margin-bottom: 16px; }
.subsection-title { margin-top: 32px; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.split-form { grid-template-columns: 3fr 2fr; }
@media (max-width: 768px) { .split, .split-form { grid-template-columns: 1fr; gap: 32px; } }

.grid { display: grid; gap: 24px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1024px) { .grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } }

/* ---------- Cards ---------- */
.card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    padding: 24px;
    box-shadow: var(--shadow);
}
.card p { color: var(--text-secondary); margin-bottom: 0; }
.card h2, .card h3 { margin-top: 8px; }
.card-outline { box-shadow: none; }
.card-link { display: block; color: inherit; text-decoration: none; }
.card-link:hover { border-color: var(--action); color: inherit; }
.card-link h2, .card-link h3 { color: var(--text); }
.card-feature { border-left: 4px solid var(--action); }

/* ---------- Industries ---------- */
.industry-index-hero,.industry-hero{padding:clamp(72px,9vw,132px) 0;border-bottom:1px solid var(--border);background:radial-gradient(circle at 86% 22%,color-mix(in srgb,var(--action) 15%,transparent),transparent 30%),var(--surface)}
.industry-index-copy{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);gap:clamp(24px,6vw,96px);align-items:start}.industry-index-copy .kicker{grid-column:1}.industry-index-copy h1{grid-column:2;grid-row:1/span 2;max-width:16ch;font-size:clamp(2.4rem,5.4vw,5rem);line-height:1.04}.industry-index-copy p{grid-column:1;max-width:33rem;color:var(--text-secondary);font-size:1.08rem;line-height:1.8}
.industry-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.industry-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:22px;min-height:230px;padding:32px;color:var(--text);text-decoration:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .2s ease,transform .2s ease}.industry-card:hover{background:var(--surface-alt);color:var(--text)}.industry-card-number{color:var(--action);font:700 .76rem var(--font-mono)}.industry-card h2{margin:0 0 12px;font-size:clamp(1.55rem,2.4vw,2.3rem)}.industry-card p{margin:0;color:var(--text-secondary);line-height:1.75}.industry-card-arrow{align-self:end;color:var(--action);font-size:1.7rem}
.industry-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:clamp(44px,7vw,110px);align-items:center}.industry-hero-copy h1{margin:.45rem 0 1.1rem;font-size:clamp(3.1rem,6vw,6.5rem);line-height:.98}.industry-hero-copy>p{max-width:42rem;color:var(--text-secondary);font-size:1.15rem;line-height:1.85}.industry-visual{display:grid;place-items:center;min-height:430px}.industry-visual img{width:100%;max-height:510px;object-fit:contain;mix-blend-mode:multiply}.industry-visual-placeholder{position:relative;display:grid;place-items:center;width:min(100%,470px);aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--action) 16%,var(--surface)),color-mix(in srgb,var(--action) 5%,var(--surface)));box-shadow:inset 0 0 0 1px var(--border)}.industry-visual-placeholder:before,.industry-visual-placeholder:after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--action) 45%,transparent);border-radius:50%}.industry-visual-placeholder:before{inset:13%}.industry-visual-placeholder:after{inset:28%}.industry-visual-placeholder span{z-index:1;max-width:9ch;text-align:center;font-size:1.5rem;font-weight:800}
.industry-two-column{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,8vw,120px);align-items:start}.industry-two-column h2{max-width:14ch;font-size:clamp(2rem,4vw,4rem);line-height:1.08}.industry-list{list-style:none;counter-reset:industry;margin:0;padding:0;border-top:1px solid var(--border)}.industry-list li{counter-increment:industry;display:grid;grid-template-columns:48px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--border);font-size:1.05rem;line-height:1.65}.industry-list li:before{content:counter(industry,decimal-leading-zero);color:var(--action);font:700 .76rem var(--font-mono);padding-top:.35rem}.industry-list-outcome li:before{content:"✓"}.industry-source-note{padding-block:24px}.industry-source-note p{margin:0;color:var(--muted);font-size:.78rem}.industry-source-note a{color:inherit}
@media(max-width:900px){.industry-index-copy,.industry-hero-grid,.industry-two-column{grid-template-columns:1fr}.industry-index-copy .kicker,.industry-index-copy h1,.industry-index-copy p{grid-column:auto;grid-row:auto}.industry-hero-grid{gap:30px}.industry-visual{min-height:300px}.industry-visual img{max-height:380px}}
@media(max-width:640px){.industry-card-grid{grid-template-columns:1fr}.industry-card{min-height:190px;padding:24px}.industry-index-hero,.industry-hero{padding:60px 0}.industry-hero-copy h1{font-size:clamp(2.8rem,15vw,4.4rem)}}
.industry-photo-hero{padding-block:clamp(64px,8vw,112px)}.industry-photo-frame{position:relative;overflow:hidden;margin:0;background:var(--surface-alt)}.industry-photo-frame img{display:block;width:100%;height:100%;object-fit:cover}.industry-photo-hero-frame{height:clamp(420px,54vw,650px);border-radius:3px 80px 3px 3px}.industry-photo-hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(3,18,28,.2))}.industry-editorial-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(44px,8vw,120px);align-items:center}.industry-photo-secondary{height:clamp(460px,55vw,680px);border-radius:3px}.industry-editorial-copy h2,.industry-section-head h2{max-width:18ch;font-size:clamp(2.15rem,4vw,4.2rem);line-height:1.08}.industry-editorial-copy>p{font-size:1.08rem;line-height:1.9;color:var(--text-secondary)}.industry-editorial-copy blockquote{margin:32px 0 0;padding:20px 0 0;border-top:1px solid var(--border);color:var(--text);font-size:1.15rem;font-weight:700;line-height:1.65}.industry-section-head{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:32px;align-items:start;margin-bottom:48px}.industry-section-head h2{margin:0}.industry-scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.industry-scene-card{min-height:330px;padding:32px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.industry-scene-card>span,.industry-delivery-grid>li>span{color:var(--action);font:700 .76rem var(--font-mono)}.industry-scene-card h3{margin:72px 0 18px;font-size:1.55rem}.industry-scene-card p{color:var(--text-secondary);line-height:1.75}.industry-flow-section{background:var(--band-bg);color:var(--band-text)}.industry-flow-section h2{color:inherit}.industry-data-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid color-mix(in srgb,var(--band-text) 28%,transparent)}.industry-data-flow li{position:relative;min-height:170px;padding:25px 20px;border-right:1px solid color-mix(in srgb,var(--band-text) 28%,transparent)}.industry-data-flow li:last-child{border-right:0}.industry-data-flow li:not(:last-child):after{content:"→";position:absolute;right:-10px;top:52%;z-index:1;color:var(--action);font-size:1.3rem}.industry-data-flow span{display:block;margin-bottom:55px;color:color-mix(in srgb,var(--band-text) 65%,transparent);font:700 .72rem var(--font-mono)}.industry-data-flow strong{display:block;font-size:1.05rem;line-height:1.45}.industry-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.industry-product-grid a{display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:center;min-height:116px;padding:24px 26px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none}.industry-product-grid a:hover{border-color:var(--action)}.industry-product-grid span{color:var(--action);font:800 1.15rem var(--font-mono)}.industry-product-grid p{margin:0;color:var(--text-secondary)}.industry-product-grid b{color:var(--action);font-size:1.4rem}.industry-outcomes .industry-two-column>div:first-child>p{max-width:33rem;color:var(--text-secondary);line-height:1.75}.industry-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.industry-metric-grid>div{min-height:150px;padding:24px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.industry-metric-grid span{display:block;margin-bottom:35px;color:var(--action);font-size:1.25rem}.industry-metric-grid strong{line-height:1.5}.industry-delivery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}.industry-delivery-grid li{padding:28px;border-top:1px solid var(--border);border-right:1px solid var(--border)}.industry-delivery-grid li:last-child{border-right:0}.industry-delivery-grid h3{margin:46px 0 12px}.industry-delivery-grid p{color:var(--text-secondary);line-height:1.65}.industry-products-section,.industry-delivery{border-block:1px solid var(--border)}
@media(max-width:900px){.industry-editorial-grid,.industry-section-head{grid-template-columns:1fr}.industry-photo-secondary{height:480px}.industry-scene-grid{grid-template-columns:1fr}.industry-scene-card{min-height:0}.industry-scene-card h3{margin-top:35px}.industry-data-flow{grid-template-columns:1fr}.industry-data-flow li{display:grid;grid-template-columns:50px 1fr;align-items:center;min-height:0;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--band-text) 28%,transparent)}.industry-data-flow li:not(:last-child):after{content:"↓";top:auto;right:22px;bottom:-13px}.industry-data-flow span{margin:0}.industry-product-grid,.industry-delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.industry-photo-hero-frame{height:400px;border-radius:2px 44px 2px 2px}.industry-photo-secondary{height:400px}.industry-product-grid,.industry-metric-grid,.industry-delivery-grid{grid-template-columns:1fr}.industry-product-grid a{grid-template-columns:64px 1fr auto}.industry-delivery-grid li{border-right:0;border-bottom:1px solid var(--border)}}
/* Industry detail typography: intentionally 50% smaller than the original scale. */
.industry-photo-hero .industry-hero-copy h1{font-size:clamp(1.55rem,3vw,3.25rem)}
.industry-editorial-copy h2,.industry-section-head h2{font-size:clamp(1.075rem,2vw,2.1rem)}
.industry-two-column h2{font-size:clamp(1rem,2vw,2rem)}
.industry-scene-card h3{font-size:.775rem}
.industry-delivery-grid h3{font-size:.75em}
@media(max-width:640px){.industry-photo-hero .industry-hero-copy h1{font-size:clamp(1.4rem,7.5vw,2.2rem)}}
.dtw-deep-dive{border-block:1px solid var(--border)}.dtw-deep-dive .industry-section-head>div>p{max-width:54rem;color:var(--text-secondary);line-height:1.8}.dtw-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.dtw-capability-grid article{min-height:300px;padding:30px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.dtw-capability-grid article>span{color:var(--action);font:700 .7rem var(--font-mono);letter-spacing:.07em}.dtw-capability-grid h3{margin:64px 0 14px;font-size:1.05rem}.dtw-capability-grid p,.dtw-scenario-grid p{margin:0;color:var(--text-secondary);line-height:1.75}.dtw-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dtw-scenario-grid article{padding:30px;border:1px solid var(--border);border-radius:14px}.dtw-scenario-grid b{color:var(--action);font:800 .75rem var(--font-mono);letter-spacing:.08em}.dtw-scenario-grid h3{margin:42px 0 14px;font-size:1.05rem}.dtw-chain-section{border-block:1px solid var(--border)}.dtw-chain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--border);border-left:1px solid var(--border)}.dtw-chain li{position:relative;min-height:170px;padding:24px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.dtw-chain li:not(:last-child):after{content:"→";position:absolute;right:-10px;top:26px;z-index:2;color:var(--action)}.dtw-chain strong{display:block;margin-bottom:46px;color:var(--action);font:800 .82rem var(--font-mono)}.dtw-chain span{display:block;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.dtw-boundary-note{margin:24px 0 0;padding:20px 22px;border-left:3px solid var(--action);background:var(--surface);color:var(--text-secondary);font-size:.9rem;line-height:1.75}.dtw-boundary-note strong{color:var(--text)}
@media(max-width:900px){.dtw-capability-grid,.dtw-scenario-grid{grid-template-columns:1fr}.dtw-capability-grid article{min-height:0}.dtw-capability-grid h3{margin-top:34px}.dtw-chain{grid-template-columns:1fr}.dtw-chain li{min-height:0}.dtw-chain li:not(:last-child):after{content:"↓";top:auto;right:24px;bottom:-12px}.dtw-chain strong{margin-bottom:16px}}
.dtw-product-showcase{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:16px;margin-bottom:16px}.dtw-product-figure{position:relative;overflow:hidden;min-height:480px;margin:0;background:#e8eaed}.dtw-product-figure img{display:block;width:100%;height:100%;object-fit:cover}.dtw-product-figure figcaption{position:absolute;left:22px;right:22px;bottom:22px;display:grid;gap:7px;padding:18px 20px;background:color-mix(in srgb,#071a28 88%,transparent);color:#fff;backdrop-filter:blur(10px)}.dtw-product-figure figcaption span{color:#54dec7;font:700 .68rem var(--font-mono);letter-spacing:.08em}.dtw-product-figure figcaption strong{max-width:42rem;font-size:.95rem;line-height:1.55}.dtw-model-visual{display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:var(--band-bg);color:var(--band-text)}.dtw-model-room{position:relative;min-height:270px;border:1px solid color-mix(in srgb,var(--band-text) 25%,transparent);background:linear-gradient(145deg,rgba(60,135,255,.09),rgba(30,220,190,.05));perspective:600px}.dtw-model-room>span{position:absolute;left:14px;top:12px;color:#54dec7;font:700 .65rem var(--font-mono)}.dtw-model-room i{position:absolute;bottom:38px;width:46px;height:135px;border:1px solid rgba(255,255,255,.35);background:repeating-linear-gradient(to bottom,#253c4c 0 7px,#0c1d28 7px 11px);transform:skewY(-8deg);box-shadow:8px 8px 18px rgba(0,0,0,.25)}.dtw-model-room .rack-a{left:18%}.dtw-model-room .rack-b{left:39%;height:155px}.dtw-model-room .rack-c{left:60%;height:122px}.dtw-model-room .cooling{right:7%;width:34px;height:90px;background:linear-gradient(#18b9d6,#0c566b)}.dtw-model-room em{position:absolute;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle,rgba(255,98,55,.72),rgba(255,98,55,0) 70%);animation:dtwPulse 2.4s ease-in-out infinite}.dtw-model-room .hotspot-one{left:35%;top:32%}.dtw-model-room .hotspot-two{left:58%;top:48%;animation-delay:.7s}.dtw-model-visual ul{display:grid;gap:0;list-style:none;margin:20px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.18)}.dtw-model-visual li{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:.78rem}.dtw-model-visual b{color:#54dec7;font:700 .66rem var(--font-mono)}
@keyframes dtwPulse{50%{transform:scale(1.18);opacity:.65}}
.dtw-scenario-graphic{position:relative;height:150px;margin:-30px -30px 28px;background:var(--surface-alt);border-bottom:1px solid var(--border);overflow:hidden}.dtw-scenario-graphic.baseline{display:flex;align-items:flex-end;justify-content:center;gap:12px;padding-bottom:28px}.dtw-scenario-graphic.baseline i{display:block;width:46px;border-radius:5px 5px 0 0;background:linear-gradient(#3edcc3,#2378cf)}.dtw-scenario-graphic.baseline i:nth-child(1){height:54px}.dtw-scenario-graphic.baseline i:nth-child(2){height:86px}.dtw-scenario-graphic.baseline i:nth-child(3){height:68px}.dtw-scenario-graphic.baseline span{position:absolute;right:14px;top:12px;color:var(--action);font:700 .62rem var(--font-mono)}.dtw-scenario-graphic.whatif{display:flex;align-items:center;justify-content:center;gap:16px}.dtw-scenario-graphic.whatif span{display:grid;place-items:center;width:55px;height:55px;border:1px solid var(--action);border-radius:50%;color:var(--action);font-weight:800}.dtw-scenario-graphic.whatif i{color:var(--muted);font-style:normal}.dtw-scenario-graphic.whatif em{position:absolute;right:14px;top:12px;color:#f97316;font:800 .9rem var(--font-mono)}.dtw-scenario-graphic.forecast{display:flex;align-items:flex-end;gap:8px;padding:34px 22px}.dtw-scenario-graphic.forecast i{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(#51dbc5,#236ed0)}.dtw-scenario-graphic.forecast i:nth-child(1){height:28%}.dtw-scenario-graphic.forecast i:nth-child(2){height:45%}.dtw-scenario-graphic.forecast i:nth-child(3){height:68%}.dtw-scenario-graphic.forecast i:nth-child(4){height:92%;background:linear-gradient(#ffb34c,#ef5d43)}.dtw-scenario-graphic.forecast span{position:absolute;right:14px;bottom:10px;color:var(--muted);font:700 .6rem var(--font-mono)}
@media(max-width:900px){.dtw-product-showcase{grid-template-columns:1fr}.dtw-product-figure{min-height:390px}.dtw-model-visual{min-height:440px}}@media(max-width:600px){.dtw-product-figure{min-height:340px}.dtw-product-figure figcaption{left:12px;right:12px;bottom:12px}.dtw-model-visual{padding:20px}}
.dtw-room-diagram{border:1px solid color-mix(in srgb,var(--band-text) 25%,transparent);background:linear-gradient(145deg,#102838,#081722)}.dtw-room-diagram svg{display:block;width:100%;height:auto}.dtw-room-diagram .svg-label{fill:#d8e8ef;font:700 12px var(--font-sans)}.dtw-room-diagram .cooling-label{fill:#72e9fa}.dtw-room-diagram .cold-label{fill:#57d9f8}.dtw-room-diagram .hot-label{fill:#ff8c70}.dtw-room-diagram .sensor-label{fill:#54dec7;font-size:10px}.dtw-room-diagram .aisle-label{font-size:10px}.dtw-room-diagram .sensor circle{fill:#54dec7;stroke:#d9fff9;stroke-width:2}.dtw-room-diagram .hot-glow{animation:dtwPulse 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.dtw-room-diagram .hot-glow.delay{animation-delay:.75s}.dtw-room-legend{display:flex;gap:13px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid rgba(255,255,255,.14);font-size:.65rem;color:#d5e4eb}.dtw-room-legend span{display:inline-flex;align-items:center;gap:5px}.dtw-room-legend i{display:inline-block;width:13px;height:3px}.dtw-room-legend .cold{background:#34c8f2}.dtw-room-legend .hot{background:#ff714d}.dtw-room-legend .point{width:8px;height:8px;border-radius:50%;background:#54dec7}.dtw-room-legend .risk{width:10px;height:10px;border-radius:50%;background:#ff5538;box-shadow:0 0 8px #ff5538}

/* ---------- Loop steps (workflow list with text alternative built in) ---------- */
.loop-steps { list-style: none; margin: 0; padding: 0; }
.loop-step {
    display: flex; gap: 16px; align-items: flex-start;
    padding: 16px 0;
    border-bottom: 1px solid var(--border);
}
.loop-step:last-child { border-bottom: 0; }
.loop-step-number {
    flex: 0 0 auto;
    width: 32px; height: 32px; line-height: 32px;
    border-radius: 50%;
    background: var(--action); color: var(--action-contrast);
    text-align: center; font-weight: 700;
}
.loop-step h3 { margin-bottom: 4px; }
.loop-step p { margin: 0; color: var(--text-secondary); max-width: 42em; }

.gate-list, .def-list { margin: 16px 0 0; padding-left: 1.4em; max-width: 42em; }
.gate-list li, .def-list li { margin-bottom: 8px; }
.def-list { list-style: none; padding-left: 0; }
.def-list li { padding: 8px 0; border-bottom: 1px solid var(--border); }
.def-list li:last-child { border-bottom: 0; }

.scenario-note { margin-top: 24px; max-width: 42em; }

/* ---------- CTA band ---------- */
.cta-band {
    background: var(--band-bg);
    color: var(--band-text);
    padding: 64px 0;
}
.cta-band h2 { color: var(--band-text); }
.cta-band p { color: var(--band-text); opacity: 0.85; max-width: 42em; margin-bottom: 24px; }

/* ---------- Forms ---------- */
label { display: block; font-weight: 600; margin: 16px 0 4px; }
input[type="text"], input[type="email"], input[type="password"], input[type="file"], select, textarea {
    width: 100%;
    background: var(--surface); color: var(--text);
    border: 1px solid var(--border-strong); border-radius: var(--radius-control);
    padding: 10px 12px; font-size: 1rem; font-family: inherit;
}
input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--focus); outline-offset: 0;
    border-color: var(--focus);
}
.checkbox-label { display: flex; align-items: flex-start; gap: 8px; margin: 20px 0 16px; font-weight: 500; }
.checkbox-label input { width: auto; margin-top: 4px; }
.contact-form { max-width: 42em; }
.contact-form .btn { margin-top: 8px; }
.form-error {
    background: var(--danger-bg); color: var(--danger);
    border: 1px solid var(--danger); border-radius: var(--radius-control);
    padding: 12px 16px; margin-bottom: 16px; font-size: 0.95rem;
}
.form-success {
    background: var(--neutral-badge-bg); color: var(--verified);
    border: 1px solid var(--verified); border-radius: var(--radius-control);
    padding: 12px 16px; margin-bottom: 16px; font-size: 0.95rem;
}
.field-error { color: var(--danger); font-size: 0.85rem; }

.contact-aside h2 { font-size: 1.1rem; }
.contact-list { display: grid; grid-template-columns: auto 1fr; gap: 8px 20px; margin: 16px 0 0; }
.contact-list dt { font-weight: 700; color: var(--text-secondary); }
.contact-list dd { margin: 0; }

/* ---------- Article pages ---------- */
.article-page .article-header { margin-bottom: 24px; }
.article-page h1 { margin: 12px 0 8px; }
.article-page time { color: var(--text-secondary); font-size: 0.9rem; }
.article-cover { border-radius: var(--radius-card); margin: 16px 0; }
.article-content { font-size: 1.05rem; }
.article-content pre {
    background: var(--surface-alt); border: 1px solid var(--border);
    padding: 16px; border-radius: var(--radius-control); overflow-x: auto;
}
.article-content code { background: var(--surface-alt); border-radius: 4px; padding: 0.1em 0.35em; }
.article-content pre code { background: none; padding: 0; }
.article-content blockquote, .prose blockquote {
    border-left: 4px solid var(--action);
    margin: 24px 0; padding: 4px 0 4px 20px;
    color: var(--text-secondary);
}

.article-card { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.article-card-media img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.article-card-body { padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.article-card time { font-size: 0.82rem; color: var(--text-secondary); }
.article-card h3 a { color: var(--text); text-decoration: none; }
.article-card h3 a:hover { color: var(--action); text-decoration: underline; }

.pager { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 40px; }

/* ---------- Footer ---------- */
.preferences-hero .hero-inner{max-width:920px}.preferences-layout{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,7vw,7rem);align-items:start}.preferences-control{position:sticky;top:100px;padding:clamp(1.5rem,3vw,2.5rem)}.preferences-control h2{margin:.35rem 0 .75rem}.preferences-control>p:not(.kicker):not(.preferences-state){color:var(--muted);line-height:1.7}.preferences-state{display:inline-flex;margin:.25rem 0 1rem;padding:.55rem .8rem;border-radius:999px;background:var(--surface-alt);color:var(--text);font-weight:700}.preferences-state.is-analytics{background:color-mix(in srgb,var(--action) 12%,var(--surface));color:var(--action)}.preferences-actions{display:grid;gap:.65rem;margin-top:1.5rem}.preferences-actions .btn{width:100%;justify-content:center}.preferences-summary .display-heading{margin-bottom:2rem}.preferences-option-list{display:grid;gap:1px;background:var(--border);border:1px solid var(--border)}.preferences-option{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:2rem;padding:1.5rem;background:var(--surface)}.preferences-option h3{margin:.65rem 0 0}.preferences-option p{margin:0;color:var(--muted);line-height:1.75}.preferences-badge{display:inline-block;padding:.32rem .55rem;border-radius:4px;font:700 .7rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.preferences-badge.is-required{background:var(--surface-alt);color:var(--muted)}.preferences-badge.is-optional{background:color-mix(in srgb,var(--action) 12%,var(--surface));color:var(--action)}.preferences-table-wrap{overflow-x:auto;border:1px solid var(--border);background:var(--surface)}.preferences-table{width:100%;min-width:780px;border-collapse:collapse}.preferences-table th,.preferences-table td{padding:1rem 1.15rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.65}.preferences-table th{color:var(--muted);font:700 .72rem var(--font-mono);letter-spacing:.07em;text-transform:uppercase;background:var(--surface-alt)}.preferences-table tbody tr:last-child td{border-bottom:0}.preferences-table code{white-space:nowrap}.preferences-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.preferences-detail-card{padding:clamp(1.5rem,3vw,2.5rem);background:var(--surface)}.preferences-detail-card h2{margin:.5rem 0 1.25rem}.preferences-detail-card ul{display:grid;gap:.8rem;margin:0;padding-left:1.2rem;color:var(--muted);line-height:1.7}.preferences-third-party,.preferences-change-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:start}.preferences-third-party .display-heading,.preferences-change-grid .display-heading{margin-bottom:0}
.preferences-doc-header{padding:clamp(48px,7vw,88px) 0 42px;border-bottom:1px solid var(--border);background:var(--surface)}.preferences-doc-header-inner{max-width:1160px}.preferences-breadcrumb{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-bottom:2rem;color:var(--muted);font-size:.84rem}.preferences-breadcrumb a{color:var(--action);text-decoration:none}.preferences-breadcrumb a:hover{text-decoration:underline}.preferences-doc-header h1{max-width:900px;margin:0 0 1rem;font-size:clamp(2.35rem,5vw,4.6rem);line-height:1.04;letter-spacing:-.045em}.preferences-doc-header>div>p{max-width:830px;margin:0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.22rem);line-height:1.75}.preferences-doc-meta{display:flex;flex-wrap:wrap;gap:.65rem 1.5rem;margin-top:1.5rem;color:var(--muted);font-size:.8rem}.preferences-doc-layout{display:grid;grid-template-columns:230px minmax(0,820px);gap:clamp(3rem,7vw,7rem);justify-content:center;padding-top:48px;padding-bottom:96px}.preferences-doc-sidebar{position:sticky;top:92px;align-self:start}.preferences-toc{display:grid;border-left:2px solid var(--border)}.preferences-toc h2{margin:0;padding:0 0 12px 16px;color:var(--text);font-size:.82rem}.preferences-toc a{padding:7px 0 7px 16px;color:var(--muted);font-size:.84rem;line-height:1.4;text-decoration:none}.preferences-toc a:hover,.preferences-toc a:focus-visible{margin-left:-2px;border-left:2px solid var(--action);color:var(--action)}.preferences-sidebar-state{display:grid;gap:.35rem;margin-top:28px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-alt);font-size:.78rem}.preferences-sidebar-state span{color:var(--muted)}.preferences-sidebar-state strong{color:var(--text)}.preferences-doc-content{min-width:0}.preferences-doc-section{padding:0 0 52px;scroll-margin-top:100px}.preferences-doc-section+.preferences-doc-section{padding-top:4px;border-top:1px solid var(--border)}.preferences-doc-section h2{margin:42px 0 18px;font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.025em}.preferences-doc-section:first-child h2{margin-top:0}.preferences-doc-section h3{margin:30px 0 12px;font-size:1.15rem}.preferences-doc-section>p,.preferences-doc-section>ul{color:var(--muted);font-size:1rem;line-height:1.85}.preferences-doc-section>ul{display:grid;gap:.65rem;padding-left:1.4rem}.preferences-note{display:flex;gap:.55rem;margin:24px 0;padding:16px 18px;border-left:4px solid var(--action);border-radius:0 8px 8px 0;background:var(--surface-alt);color:var(--text);line-height:1.7}.preferences-note strong{flex:0 0 auto}.preferences-note-success{border-left-color:#15966f;background:color-mix(in srgb,#15966f 8%,var(--surface))}.preferences-note-warning{border-left-color:#d08a00;background:color-mix(in srgb,#d08a00 9%,var(--surface))}.preferences-definition-list{border-top:1px solid var(--border)}.preferences-definition-list>div{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--border)}.preferences-definition-list code{align-self:start;color:var(--action);font-weight:700}.preferences-definition-list p{margin:0;color:var(--muted);line-height:1.75}.preferences-manage-panel{display:grid;gap:20px;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface-alt)}.preferences-manage-panel>div{display:flex;align-items:center;justify-content:space-between;gap:20px}.preferences-manage-panel>div>span{color:var(--muted)}.preferences-actions-inline{display:flex;flex-wrap:wrap;gap:.75rem}.preferences-caption{font-size:.85rem!important}.preferences-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:32px;border:1px solid var(--border);background:var(--border)}.preferences-related h3{grid-column:1/-1;margin:0;padding:14px 18px;background:var(--surface-alt);font-size:.85rem}.preferences-related a{display:flex;justify-content:space-between;gap:20px;padding:18px;background:var(--surface);color:var(--text);text-decoration:none}.preferences-related a:hover{color:var(--action);background:var(--surface-alt)}
.site-footer { border-top: 1px solid var(--border); background: var(--surface); padding: 48px 0 24px; }
.footer-statement {
    font-weight: 600; max-width: 42em;
    padding-bottom: 24px; margin: 0 0 24px;
    border-bottom: 1px solid var(--border);
}
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3,minmax(0,1fr)); gap: clamp(24px,3vw,48px); align-items: start; }
.footer-column { min-width: 0; }
.footer-link-group+.footer-link-group{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.footer-link-group h3:not(.footer-heading){margin:0 0 10px;color:var(--muted);font:700 .72rem var(--font-mono);letter-spacing:.09em;text-transform:uppercase}
.footer-contact-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:clamp(32px,5vw,72px); margin-top:40px; padding-top:28px; border-top:1px solid var(--border); }
.footer-contact-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,72px)}
.footer-contact-location+.footer-contact-location{padding-left:clamp(28px,5vw,72px);border-left:1px solid var(--border)}
.footer-location-label{display:block;margin-bottom:8px;color:var(--action);font:700 .76rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.footer-contact-location .footer-heading{margin-bottom:8px;color:var(--text)}
.footer-contact-action{text-align:right}
.footer-contact-row .btn { flex:0 0 auto; }
.footer-heading {
    font-size: 0.85rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.08em; color: var(--text-secondary); margin-bottom: 12px;
}
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin-bottom: 8px; }
.site-footer ul a { color: var(--text); text-decoration: none; }
.site-footer ul a:hover { color: var(--action); text-decoration: underline; }
.site-footer address { font-style: normal; color: var(--text-secondary); line-height: 1.9; }
.footer-bottom {
    display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    border-top: 1px solid var(--border);
    margin-top: 32px; padding-top: 20px;
    font-size: 0.85rem; color: var(--text-secondary);
}
@media (max-width: 1100px) { .footer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 768px) { .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.footer-contact-row{grid-template-columns:1fr;align-items:start}.footer-contact-action{text-align:left} }
@media (max-width: 520px) { .footer-grid,.footer-contact-locations { grid-template-columns: 1fr; }.footer-contact-location+.footer-contact-location{padding-left:0;padding-top:24px;border-left:0;border-top:1px solid var(--border)} }
@media (max-width: 900px) { .preferences-layout,.preferences-third-party,.preferences-change-grid{grid-template-columns:1fr}.preferences-control{position:static}.preferences-detail-grid{grid-template-columns:1fr} }
@media (max-width: 640px) { .preferences-option{grid-template-columns:1fr;gap:1rem}.preferences-control-section{padding-top:36px} }
@media (max-width: 900px) { .preferences-doc-layout{grid-template-columns:1fr;padding-top:32px}.preferences-doc-sidebar{position:static}.preferences-toc{grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);padding:12px}.preferences-toc h2{grid-column:1/-1;padding:4px 8px 10px}.preferences-toc a{padding:8px}.preferences-toc a:hover,.preferences-toc a:focus-visible{margin-left:0;border-left:0;background:var(--surface-alt)}.preferences-sidebar-state{margin-top:12px}.preferences-doc-section:first-child h2{margin-top:18px} }
@media (max-width: 640px) { .preferences-doc-header{padding:36px 0 30px}.preferences-doc-header h1{font-size:2.35rem}.preferences-doc-meta{display:grid}.preferences-toc{grid-template-columns:1fr}.preferences-definition-list>div{grid-template-columns:1fr;gap:8px}.preferences-manage-panel>div{align-items:flex-start;flex-direction:column}.preferences-actions-inline{display:grid;width:100%}.preferences-actions-inline .btn{width:100%;justify-content:center}.preferences-note{display:block}.preferences-note strong{display:block;margin-bottom:4px}.preferences-related{grid-template-columns:1fr}.preferences-related h3{grid-column:auto} }
.preferences-doc-header h1{font-size:clamp(1.645rem,3.5vw,3.22rem)}

/* ---------- Consent banner ---------- */
.consent-banner {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 100;
    background: var(--surface);
    border-top: 1px solid var(--border-strong);
    padding: 16px 24px;
    display: flex; align-items: center; justify-content: center;
    gap: 24px; flex-wrap: wrap;
    box-shadow: 0 -2px 12px rgba(19, 32, 43, 0.08);
}
.consent-banner p { margin: 0; max-width: 42em; font-size: 0.9rem; }
.consent-actions { display: flex; gap: 8px; flex-wrap: wrap; }
/* Reserve space so the fixed banner cannot obscure focused elements at page end. */
body.has-consent-banner { padding-bottom: 120px; }
body.has-consent-banner { scroll-padding-bottom: 120px; }

/* ---------- Error page ---------- */
.error-page { padding: 96px 0; }
.error-code { font-size: 4rem; font-weight: 800; color: var(--text-secondary); margin: 0; line-height: 1; }
.center { text-align: center; }
.narrow { max-width: 42em; margin-left: auto; margin-right: auto; }

/* ============================================================
   Admin
   ============================================================ */
/* The flex container is an inner element, not <body>: the editor widget appends
   its own containers to <body>, and as flex items they would distort the page. */
.admin-body { margin: 0; background: var(--bg); }
.admin-shell { display: flex; min-height: 100vh; }
.admin-sidebar {
    width: 240px; flex-shrink: 0;
    background: var(--surface); border-right: 1px solid var(--border);
    display: flex; flex-direction: column; padding: 20px;
    position: sticky; top: 0; height: 100vh;
}
.admin-brand img { height: 18px; width: auto; }
.admin-nav { display: flex; flex-direction: column; gap: 4px; margin-top: 28px; flex: 1; }
.admin-nav a {
    color: var(--text); padding: 10px 14px; border-radius: var(--radius-control);
    font-weight: 500; text-decoration: none;
}
.admin-nav a:hover { background: var(--surface-alt); }
.admin-nav a.active { background: var(--neutral-badge-bg); color: var(--action); }
.admin-sidebar-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.admin-main { flex: 1; padding: 32px; min-width: 0; }
.admin-main-full { display: flex; align-items: center; justify-content: center; }
.admin-page h1 { font-size: 1.5rem; }
.page-head-row, .card-head-row {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    margin-bottom: 20px; flex-wrap: wrap;
}
.card-head-row { margin-bottom: 8px; }
.admin-grid { margin-top: 24px; }

.stat-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.stat-card { text-align: center; }
.stat-card .stat-value { display: block; color: var(--action); font-size: 1.6rem; font-weight: 800; }
.stat-card .stat-label { display: block; color: var(--text-secondary); font-size: 0.85rem; }
@media (max-width: 768px) { .stat-cards { grid-template-columns: repeat(2, 1fr); } }

.admin-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.admin-table th {
    text-align: left; color: var(--text-secondary); font-weight: 600;
    border-bottom: 1px solid var(--border); padding: 8px 10px;
}
.admin-table td { padding: 9px 10px; border-bottom: 1px solid var(--border); vertical-align: top; }
.admin-table tr:last-child td { border-bottom: 0; }
.actions-cell { display: flex; gap: 8px; align-items: center; }
.inline-form { display: inline; }
.status-form { display: flex; gap: 6px; align-items: center; }
.status-form select { width: auto; padding: 4px 8px; font-size: 0.85rem; }
.cell-wrap { max-width: 320px; white-space: pre-wrap; }
.btn-danger { background: transparent; color: var(--danger); border-color: var(--danger); }
.btn-block { width: 100%; }

/* ============================================================
   X·Neurons product experience
   ============================================================ */
.home-hero {
    position: relative;
    min-height: 680px;
    display: grid;
    align-items: center;
    overflow: hidden;
    color: #F5FAFF;
    background:
        radial-gradient(circle at 72% 42%, rgba(35,124,255,.22), transparent 25%),
        linear-gradient(118deg, #050A12 0%, #091827 68%, #07111C 100%);
}
.home-hero::after { content: ""; position: absolute; inset: 0; opacity: .16; background-image: radial-gradient(circle, #70B9FF 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(90deg, transparent 10%, black 60%); }
.home-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; gap: 52px; align-items: center; width: 100%; }
.home-hero-copy { padding: 90px 0; }
.home-hero h1 { max-width: 10em; font-size: clamp(3rem, 6.4vw, 6rem); line-height: 1; letter-spacing: -.05em; }
.home-hero .lead { max-width: 42em; color: #B8C7D6; }
.decision-visual { position: relative; min-height: 500px; }
.decision-core { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 3; width: 205px; height: 205px; display: grid; place-content: center; text-align: center; border-radius: 50%; background: radial-gradient(circle at 38% 25%, rgba(72,148,255,.3), #0A1826 68%); border: 1px solid rgba(101,215,255,.55); box-shadow: 0 0 0 18px rgba(50,128,255,.04), 0 0 80px rgba(39,133,255,.22); }
.decision-core strong { font-size: 1.12rem; }
.decision-core span { color: #8EA6BA; font-size: .73rem; letter-spacing: .08em; }
.decision-ring { position: absolute; inset: 42px 28px; border: 1px solid rgba(101,215,255,.25); border-radius: 50%; animation: edge-spin 28s linear infinite; }
.decision-ring::before, .decision-ring::after { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #29D3C2; box-shadow: 0 0 18px #29D3C2; }
.decision-ring::before { left: 12%; top: 15%; }
.decision-ring::after { right: 10%; bottom: 18%; background: #65D7FF; }
.decision-chip { position: absolute; z-index: 4; width: 145px; padding: 13px 15px; border-radius: 13px; border: 1px solid rgba(137,191,242,.26); background: rgba(8,23,37,.88); backdrop-filter: blur(10px); }
.decision-chip span { color: #65D7FF; font: 700 .68rem/1 monospace; }
.decision-chip strong, .decision-chip small { display: block; }
.decision-chip strong { margin-top: 8px; font-size: .9rem; }
.decision-chip small { color: #8298AB; font-size: .7rem; }
.chip-signal { left: 0; top: 15%; }
.chip-context { right: 0; top: 17%; }
.chip-action { right: 1%; bottom: 12%; }
.chip-learn { left: 2%; bottom: 10%; }

.product-hero {
    position: relative;
    overflow: hidden;
    min-height: 720px;
    display: grid;
    align-items: center;
    color: #F5FAFF;
    background:
        radial-gradient(circle at 76% 40%, rgba(28, 123, 255, 0.28), transparent 28%),
        radial-gradient(circle at 58% 78%, rgba(17, 210, 198, 0.14), transparent 26%),
        linear-gradient(135deg, #050A12 0%, #091827 52%, #07111C 100%);
}
.product-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(99, 158, 225, .22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(99, 158, 225, .22) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to right, transparent, black 45%, black);
}
.product-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; width: 100%; }
.product-hero-copy { padding: 88px 0; }
.product-hero h1 { max-width: 10em; font-size: clamp(3rem, 6vw, 5.8rem); line-height: .98; letter-spacing: -.045em; margin-bottom: 24px; }
.product-hero-xneurons h1 { max-width: 12em; font-size: clamp(2.1rem, 4.2vw, 4.06rem); line-height: 1.04; letter-spacing: -.04em; }
.product-hero .lead { color: #B8C7D6; max-width: 42em; font-size: clamp(1.08rem, 1.6vw, 1.3rem); }
.product-kicker { color: #65D7FF; letter-spacing: .13em; }
.btn-on-dark { border-color: rgba(255,255,255,.28); color: #F5FAFF; }
.btn-on-dark:hover { border-color: #65D7FF; color: #65D7FF; }
.product-proof-list { display: flex; flex-wrap: wrap; gap: 10px 24px; list-style: none; padding: 0; margin: 32px 0 0; color: #AFC0D1; font-size: .88rem; }
.product-proof-list li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 9px 2px 0; border-radius: 50%; background: #29D3C2; box-shadow: 0 0 12px rgba(41,211,194,.8); }

.edge-map { position: relative; min-height: 520px; isolation: isolate; }
.edge-orbit { position: absolute; border: 1px solid rgba(101,215,255,.22); border-radius: 50%; animation: edge-spin 24s linear infinite; }
.edge-orbit::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #65D7FF; box-shadow: 0 0 20px #65D7FF; top: 12%; left: 12%; }
.edge-orbit-one { inset: 48px 20px 52px 28px; }
.edge-orbit-two { inset: 104px 76px 108px 82px; animation-direction: reverse; animation-duration: 17s; }
.edge-node { position: absolute; z-index: 2; min-width: 130px; padding: 13px 16px; border: 1px solid rgba(137,191,242,.28); border-radius: 14px; background: rgba(7,20,33,.86); backdrop-filter: blur(12px); box-shadow: 0 20px 50px rgba(0,0,0,.28); }
.edge-node span { display: block; color: #8298AB; font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.edge-node strong { display: block; color: #F5FAFF; font-size: .9rem; margin-top: 3px; }
.edge-node-source { left: 0; top: 62%; }
.edge-node-system { right: 0; top: 16%; }
.edge-node-human { right: 1%; bottom: 5%; }
.edge-node-core { left: 50%; top: 50%; transform: translate(-50%,-50%); width: 190px; height: 190px; display: grid; place-content: center; text-align: center; border-radius: 50%; border-color: rgba(101,215,255,.55); background: radial-gradient(circle at 38% 28%, rgba(80,148,255,.28), rgba(7,20,33,.94) 65%); box-shadow: 0 0 0 12px rgba(77,145,255,.05), 0 0 70px rgba(32,131,255,.25); }
.edge-node-core img { width: 118px; margin: 0 auto 8px; }
.edge-node-core .xneurons-core-logo { width: 148px; max-width: 82%; margin: 0 auto; }
.edge-node-core strong { font-size: 1rem; }
.edge-node-core span { letter-spacing: .08em; }
.data-pulse { position: absolute; z-index: 1; width: 8px; height: 8px; border-radius: 50%; background: #29D3C2; box-shadow: 0 0 15px #29D3C2; offset-path: path("M 70 350 C 190 340, 210 260, 310 260 S 460 150, 540 120"); animation: data-travel 4.5s linear infinite; }
.pulse-b { animation-delay: -1.5s; background: #65D7FF; }
.pulse-c { animation-delay: -3s; }
@keyframes edge-spin { to { transform: rotate(360deg); } }
@keyframes data-travel { to { offset-distance: 100%; } }

.eyebrow { margin: 0 0 10px; color: var(--action); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.display-heading { font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.08; letter-spacing: -.035em; max-width: 15em; }
.product-intro { padding: 104px 0; }
.product-intro-grid { align-items: center; }
.section-heading-row { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: end; margin-bottom: 42px; }
.section-heading-row > p { color: var(--text-secondary); max-width: 36em; margin: 0; }

.section-dark { color: #F4F8FC; background: #07111C; }
.section-dark .eyebrow { color: #65D7FF; }
.section-dark .section-heading-row > p { color: #AFC0D1; }
.module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.11); }
.module-card { position: relative; min-height: 245px; padding: 30px; overflow: hidden; background: #0B1825; }
.module-card::before { content: ""; position: absolute; inset: 0; opacity: 0; background: radial-gradient(circle at 20% 10%, rgba(44,143,255,.2), transparent 54%); transition: opacity var(--motion-emph) ease; }
.module-card:hover::before { opacity: 1; }
.module-code { position: relative; display: inline-flex; align-items: center; color: #65D7FF; font: 700 .75rem/1 "IBM Plex Mono", Consolas, monospace; letter-spacing: .12em; }
.module-card h3 { position: relative; margin-top: 54px; font-size: 1.25rem; }
.module-card h3 a,
.module-card h3 a:visited {
    color: #FFFFFF;
    text-decoration-line: underline;
    text-decoration-color: rgba(255,255,255,.7);
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
    transition: color .2s ease, text-decoration-color .2s ease;
}
.module-card h3 a:hover {
    color: #65D7FF;
    text-decoration-color: currentColor;
}
.module-card h3 a:focus-visible {
    color: #FFFFFF;
    outline: 2px solid #65D7FF;
    outline-offset: 5px;
    border-radius: 2px;
}
.module-card p { position: relative; color: #AFC0D1; font-size: .94rem; }
.module-line { position: absolute; left: 30px; right: 30px; bottom: 24px; height: 1px; background: linear-gradient(90deg, #2B8CFF, transparent); transform-origin: left; transform: scaleX(.25); transition: transform var(--motion-emph) ease; }
.module-card:hover .module-line { transform: scaleX(1); }

.workflow-section { padding: 104px 0; overflow: hidden; }
.capability-rail { display: grid; grid-template-columns: repeat(8, minmax(128px, 1fr)); list-style: none; margin: 0; padding: 8px 0 0; overflow-x: auto; scroll-snap-type: x proximity; }
.capability-rail li { position: relative; min-height: 168px; padding: 20px 18px; border-top: 1px solid var(--border-strong); border-bottom: 1px solid var(--border-strong); scroll-snap-align: start; }
.capability-rail li::before { content: ""; position: absolute; width: 9px; height: 9px; border-radius: 50%; top: -5px; left: 18px; background: var(--action); box-shadow: 0 0 0 6px color-mix(in srgb, var(--action) 15%, transparent); }
.capability-rail span { display: block; color: var(--text-secondary); font: 600 .72rem/1 monospace; }
.capability-rail strong { display: block; margin-top: 34px; font-size: 1rem; }
.capability-rail small { display: block; color: var(--text-secondary); margin-top: 6px; }

.product-visual-section { padding: 104px 0; }
.product-visual-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 64px; align-items: center; }
.visual-copy p { color: var(--text-secondary); }
.product-screen { margin: 0; padding: 12px; border: 1px solid var(--border); border-radius: 20px; background: var(--surface); box-shadow: 0 30px 80px rgba(9,25,42,.14); transform: perspective(1200px) rotateY(-3deg); }
.product-screen img { display: block; width: 100%; border-radius: 12px; background: #141927; }
.product-screen figcaption { padding: 12px 8px 2px; color: var(--text-secondary); font-size: .78rem; }

.deployment-section { padding: 104px 0; }
.deployment-section .section-heading-row { align-items: center; }
.deployment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.deployment-card { display: grid; grid-template-rows: auto 1fr; min-height: 560px; overflow: hidden; border: 1px solid var(--border); border-radius: 20px; background: #07111C; color: #F4F8FC; }
.deployment-card img { display: block; width: 100%; height: auto; aspect-ratio: 720 / 520; object-fit: cover; padding: 0; border-bottom: 1px solid rgba(255,255,255,.1); background: #07111C; }
.deployment-card > div { padding: 28px 34px 34px; align-self: start; }
.deployment-card h3 { margin: 18px 0 10px; font-size: 1.35rem; }
.deployment-card p { color: #AFC0D1; }

.safety-section { padding: 104px 0; border-top: 1px solid var(--border); }
.safety-principles { border-top: 1px solid var(--border); }
.safety-principles > div { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--border); }
.safety-principles span { color: var(--action); font: 700 .75rem/1.8 monospace; }
.safety-principles p { margin: 0; }
.product-cta { position: relative; overflow: hidden; padding: 96px 0; }
.product-cta::after { content: "X"; position: absolute; right: 4vw; top: 50%; transform: translateY(-50%); font-size: 18rem; font-weight: 900; line-height: 1; color: rgba(255,255,255,.035); }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity 700ms ease, transform 700ms cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 960px) {
    .home-hero-grid { grid-template-columns: 1fr; }
    .home-hero-copy { padding: 72px 0 0; }
    .decision-visual { min-height: 430px; }
    .product-hero-grid { grid-template-columns: 1fr; }
    .product-hero-copy { padding: 72px 0 12px; }
    .edge-map { min-height: 440px; }
    .module-grid { grid-template-columns: repeat(2, 1fr); }
    .section-heading-row, .product-visual-grid { grid-template-columns: 1fr; gap: 24px; }
    .product-screen { transform: none; }
    .deployment-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .home-hero h1 { font-size: clamp(2.8rem, 15vw, 4rem); }
    .decision-visual { min-height: 390px; transform: scale(.88); margin: -12px -30px 0; }
    .decision-core { width: 160px; height: 160px; }
    .product-hero { min-height: auto; }
    .product-hero h1 { font-size: clamp(2.7rem, 15vw, 4rem); }
    .product-hero-xneurons h1 { font-size: clamp(2.15rem, 10.5vw, 3rem); }
    .edge-map { min-height: 390px; transform: scale(.88); margin: -20px -30px 0; }
    .edge-node-core { width: 150px; height: 150px; }
    .edge-node-core img { width: 95px; }
    .edge-node-core .xneurons-core-logo { width: 118px; max-width: 82%; }
    .module-grid { grid-template-columns: 1fr; }
    .module-card { min-height: 210px; }
    .deployment-card { grid-template-columns: 1fr; min-height: auto; }
    .deployment-card img { height: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .edge-orbit, .data-pulse { animation: none !important; }
    .reveal { opacity: 1; transform: none; }
}

/* ============================================================
   Homepage editorial experience
   ============================================================ */
.home-hero-editorial { min-height: 640px; }
.home-hero-editorial::after { opacity: .1; }
.home-hero-editorial .home-hero-grid { grid-template-columns: .82fr 1.18fr; gap: clamp(38px, 5vw, 72px); }
.home-hero-editorial .home-hero-copy { padding: 88px 0; }
.home-hero-editorial h1 { max-width: 13em; font-size: clamp(2.1rem, 2.75vw, 2.7rem); line-height: 1.12; letter-spacing: -.035em; }
.home-hero-editorial .lead { font-size: 1.03rem; line-height: 1.75; }
.home-hero-media { position: relative; align-self: center; min-height: 540px; margin: 54px 0; overflow: hidden; }
.home-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #081522 0%, transparent 28%), linear-gradient(0deg, rgba(5,12,20,.75), transparent 45%); pointer-events: none; }
.home-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; filter: saturate(.82) contrast(1.04); }
.home-hero-media figcaption { position: absolute; z-index: 2; left: 34px; right: 34px; bottom: 34px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.35); }
.home-hero-media figcaption span,.home-hero-media figcaption strong { display: block; }
.home-hero-media figcaption span { color: #65D7FF; font: 700 .7rem/1.2 var(--font-mono); letter-spacing: .14em; }
.home-hero-media figcaption strong { margin-top: 8px; color: #fff; font-size: 1.08rem; }
.home-hero-graphic { display: grid; grid-template-rows: 42px minmax(0,1fr) auto; min-height: 520px; border: 1px solid rgba(125,189,240,.28); border-radius: 20px 5px 20px 5px; background: #EAF5FC; box-shadow: 0 35px 90px rgba(0,0,0,.3); }
.home-hero-graphic::after { display: none; }
.home-hero-graphic > img { grid-row: 2; width: 100%; height: 100%; min-height: 360px; object-fit: cover; object-position: center; filter: saturate(.82) hue-rotate(-5deg); }
.home-graphic-toolbar { display: flex; align-items: center; gap: 6px; padding: 0 15px; color: #B7C9D9; background: #0B1A28; border-bottom: 1px solid rgba(255,255,255,.09); }
.home-graphic-toolbar span { margin-right: auto; color: #65D7FF; font: 700 .68rem/1 var(--font-mono); letter-spacing: .14em; }
.home-graphic-toolbar i { width: 6px; height: 6px; border-radius: 50%; background: #446176; }
.home-hero-graphic figcaption { position: static; z-index: 2; padding: 18px 20px 20px; border-top: 1px solid rgba(255,255,255,.1); background: #0B1A28; }
.home-hero-graphic figcaption strong { font-size: .92rem; }
.home-graphic-label { position: absolute; z-index: 3; min-width: 130px; padding: 10px 13px; border: 1px solid rgba(101,215,255,.38); border-radius: 10px; background: rgba(7,20,33,.9); box-shadow: 0 12px 30px rgba(0,0,0,.18); backdrop-filter: blur(8px); }
.home-graphic-label small,.home-graphic-label strong { display: block; }
.home-graphic-label small { color: #65D7FF; font: 700 .62rem/1 var(--font-mono); letter-spacing: .12em; }
.home-graphic-label strong { margin-top: 5px; color: #F7FBFF; font-size: .78rem; }
.label-edge { left: 20px; top: 88px; }
.label-context { right: 20px; top: 48%; }
.label-decision { left: 36%; bottom: 104px; }
.home-hero-proof { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 34px 0 0; padding: 0; list-style: none; color: #AFC0D1; font-size: .85rem; }
.home-hero-proof li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 9px 2px 0; border-radius: 50%; background: #29D3C2; }

.home-problem-section { padding: 112px 0; }
.home-editorial-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: clamp(48px, 7vw, 96px); align-items: center; }
.home-editorial-art { margin: 0; overflow: visible; background: transparent; }
.home-editorial-art img { display: block; width: 100%; height: auto; object-fit: contain; object-position: center; }
.home-editorial-copy .display-heading { margin-bottom: 26px; }
.home-editorial-copy .lead { color: var(--text-secondary); font-size: 1.08rem; line-height: 1.8; }
.home-check-list { margin: 32px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--border); }
.home-check-list li { display: grid; grid-template-columns: 90px 1fr; gap: 22px; padding: 17px 0; border-bottom: 1px solid var(--border); }
.home-check-list strong { color: var(--action); }
.home-check-list span { color: var(--text-secondary); }

.home-capability-section { padding: 112px 0; }
.home-capability-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.home-capability-grid article { min-height: 290px; padding: 30px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface); }
.home-capability-grid article > span { color: var(--action); font: 700 .75rem/1 var(--font-mono); }
.home-capability-grid h3 { margin-top: 70px; font-size: 1.45rem; }
.home-capability-grid p { color: var(--text-secondary); line-height: 1.75; }

.home-loop-section { padding: 112px 0; overflow: hidden; }
.home-loop-section .display-heading { margin-bottom: 46px; }
.home-loop-rail { display: grid; grid-template-columns: repeat(5,1fr); margin: 0; padding: 0; list-style: none; counter-reset: home-loop; }
.home-loop-rail li { position: relative; min-height: 190px; padding: 26px 24px; border-top: 1px solid var(--border-strong); border-bottom: 1px solid var(--border-strong); }
.home-loop-rail li:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: -15px; right: -9px; width: 28px; height: 28px; display: grid; place-items: center; color: var(--action); background: var(--surface); }
.home-loop-rail span,.home-loop-rail strong,.home-loop-rail small { display: block; }
.home-loop-rail span { color: var(--action); font: 700 .74rem/1 var(--font-mono); }
.home-loop-rail strong { margin-top: 44px; font-size: 1.12rem; }
.home-loop-rail small { margin-top: 8px; color: var(--text-secondary); line-height: 1.55; }
.home-loop-note { max-width: 52em; margin: 26px 0 0; color: var(--text-secondary); }

.home-industries-section { padding: 112px 0; }
.home-industry-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.home-industry-grid > a { position: relative; min-height: 430px; overflow: hidden; color: #fff; text-decoration: none; border-radius: 22px 5px 22px 5px; background: #07111c; }
.home-industry-grid > a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,12,20,.92) 0%, rgba(4,12,20,.08) 68%); transition: background .3s ease; }
.home-industry-grid > a:hover::after { background: linear-gradient(0deg, rgba(4,12,20,.95) 0%, rgba(4,12,20,.18) 72%); }
.home-industry-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.home-industry-grid > a:hover img { transform: scale(1.025); }
.home-industry-grid a > div { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 26px; }
.home-industry-grid span { color: #65D7FF; font: 700 .72rem/1 var(--font-mono); }
.home-industry-grid h3 { margin: 8px 0 6px; color: #fff; font-size: 1.65rem; }
.home-industry-grid p { margin: 0; color: #C5D2DE; }
.home-section-link { margin: 26px 0 0; }

.home-assurance-section { padding: 112px 0; }
.home-assurance-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--border); }
.home-assurance-grid article { min-height: 360px; padding: 42px 8vw 42px 0; }
.home-assurance-grid article + article { padding-right: 0; padding-left: 8vw; border-left: 1px solid var(--border); }
.home-assurance-grid h2 { max-width: 12em; margin-top: 50px; font-size: clamp(2rem,3.4vw,3.2rem); }
.home-assurance-grid p:not(.eyebrow) { max-width: 37em; color: var(--text-secondary); line-height: 1.75; }
.home-final-cta { padding: 104px 0; }
.home-final-cta .eyebrow { color: #9DE7FF; }
.home-final-cta h2 { max-width: 13em; font-size: clamp(2.4rem,5vw,4.8rem); }
.home-final-cta p:not(.eyebrow) { max-width: 45em; }

@media (max-width: 960px) {
    .home-hero-editorial .home-hero-grid { grid-template-columns: 1fr; }
    .home-hero-editorial .home-hero-copy { padding: 78px 0 20px; }
    .home-hero-media { min-height: 500px; margin-top: 0; }
    .home-editorial-grid { grid-template-columns: 1fr; }
    .home-capability-grid { grid-template-columns: 1fr; }
    .home-capability-grid article { min-height: 230px; }
    .home-capability-grid h3 { margin-top: 44px; }
    .home-loop-rail { grid-template-columns: repeat(5,minmax(160px,1fr)); overflow-x: auto; }
    .home-industry-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .home-hero-editorial .home-hero-copy { padding-top: 62px; }
    .home-hero-editorial h1 { font-size: clamp(2rem, 9vw, 2.7rem); }
    .home-hero-media { min-height: 430px; margin: 0 -10px 36px; }
    .home-hero-graphic > img { min-height: 300px; }
    .home-graphic-label { min-width: 108px; padding: 8px 10px; }
    .label-edge { left: 12px; top: 72px; }
    .label-context { right: 12px; }
    .label-decision { left: 24%; bottom: 98px; }
    .home-hero-media figcaption { left: 22px; right: 22px; bottom: 22px; }
    .home-problem-section,.home-capability-section,.home-loop-section,.home-industries-section,.home-assurance-section { padding: 76px 0; }
    .home-check-list li { grid-template-columns: 70px 1fr; gap: 14px; }
    .home-industry-grid > a { min-height: 350px; }
    .home-assurance-grid { grid-template-columns: 1fr; }
    .home-assurance-grid article,.home-assurance-grid article + article { min-height: auto; padding: 38px 0; border-left: 0; }
    .home-assurance-grid article + article { border-top: 1px solid var(--border); }
    .home-assurance-grid h2 { margin-top: 30px; }
}

/* Admin forms */
.form-section { margin-bottom: 20px; }
.form-section label:first-child { margin-top: 0; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 768px) { .form-row { grid-template-columns: 1fr; } }
.form-actions { margin-top: 8px; }
.cover-preview { max-height: 90px; border-radius: var(--radius-control); margin-top: 8px; display: block; }

.lang-tabs { display: flex; gap: 4px; margin-bottom: 12px; }
.lang-tab {
    background: var(--surface); color: var(--text-secondary);
    border: 1px solid var(--border); border-radius: var(--radius-control) var(--radius-control) 0 0;
    padding: 10px 20px; font-weight: 600; cursor: pointer; font-family: inherit; font-size: 0.95rem;
}
.lang-tab.active { color: var(--action); border-bottom-color: var(--surface); }
.lang-pane.hidden { display: none; }

/* Settings screen: current-key status line. */
.settings-status { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.settings-status .muted { font-size: 0.875rem; }

/* Draft-translation bar at the top of a language pane. */
.translate-bar {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--border);
}
.translate-bar .hint { margin: 0; }
.translate-bar button[disabled] { opacity: 0.6; cursor: progress; }

/* Login */
.login-wrap { width: 100%; max-width: 400px; padding: 24px; }
.login-card { text-align: center; }
.login-logo { height: 20px; width: auto; margin-bottom: 16px; }
.login-card h1 { font-size: 1.25rem; }
.login-card form { text-align: left; }

/* SEO dashboard chart */
.chart-scroll { overflow-x: auto; }
.traffic-chart { width: 100%; min-width: 560px; height: auto; }
.chart-grid { stroke: var(--border); stroke-width: 1; }
.chart-label { fill: var(--text-secondary); font-size: 10px; }
.chart-area { fill: rgba(75, 141, 255, 0.14); }
.chart-line { stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.chart-line-views { stroke: var(--action); }
.chart-line-visitors { stroke: var(--verified); }
.chart-legend {
    display: flex; align-items: center; gap: 8px; margin-top: 12px;
    color: var(--text-secondary); font-size: 0.85rem;
}
.legend-swatch { display: inline-block; width: 14px; height: 4px; border-radius: 2px; margin-left: 12px; }
.legend-swatch:first-child { margin-left: 0; }
.swatch-views { background: var(--action); }
.swatch-visitors { background: var(--verified); }

.bar-table .bar-name { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bar-cell { width: 45%; }
.bar { height: 10px; border-radius: 5px; background: var(--action); min-width: 2px; opacity: 0.75; }
.bar-count { text-align: right; color: var(--text-secondary); }
.range-switch { display: flex; gap: 6px; }

/* Admin responsive */
@media (max-width: 900px) {
    .admin-shell { flex-direction: column; }
    .admin-sidebar {
        width: 100%; height: auto; position: static;
        flex-direction: row; align-items: center; gap: 16px;
        border-right: 0; border-bottom: 1px solid var(--border);
        padding: 10px 16px;
    }
    .admin-nav { flex-direction: row; margin-top: 0; gap: 2px; flex-wrap: wrap; }
    .admin-nav a { padding: 6px 10px; font-size: 0.9rem; }
    .admin-main { padding: 20px; }
    .admin-table { display: block; overflow-x: auto; white-space: nowrap; }
    .cell-wrap { white-space: nowrap; max-width: 240px; overflow: hidden; text-overflow: ellipsis; }
}

/* ---------- Taxonomy chips (public) ---------- */
.term-filter {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin-bottom: 32px;
}
.term-filter-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.term-filter-label {
    font-size: 0.8rem; font-weight: 700; color: var(--text-secondary);
    margin-left: 8px;
}
.term-chip {
    display: inline-block;
    padding: 4px 14px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text);
    font-size: 0.85rem;
    text-decoration: none;
}
.term-chip:hover { border-color: var(--action); color: var(--action); text-decoration: none; }
.term-chip.active {
    background: var(--action); border-color: var(--action); color: var(--action-contrast);
}
.term-list {
    list-style: none; display: flex; flex-wrap: wrap; gap: 8px;
    margin: 12px 0 0; padding: 0;
}

/* ---------- Admin: media library ---------- */
.media-upload-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.media-upload-form input[type="file"] { width: auto; }
.media-grid {
    display: grid; gap: 16px;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.media-card {
    margin: 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    overflow: hidden;
    display: flex; flex-direction: column;
}
.media-thumb {
    display: block; aspect-ratio: 4 / 3;
    background: var(--surface-alt);
    overflow: hidden;
}
.media-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.media-card figcaption { padding: 12px; display: flex; flex-direction: column; gap: 4px; }
.media-name {
    font-size: 0.85rem; font-weight: 600;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.media-meta { font-size: 0.78rem; color: var(--text-secondary); }
.media-actions { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }

/* ---------- Admin: forms, taxonomy picker ---------- */
.narrow-form { max-width: 34em; }
.form-section-title { font-size: 1rem; margin-bottom: 12px; }
.cover-picker { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cover-picker input[type="file"] { width: auto; flex: 0 1 auto; }
.cover-picker input[type="text"] { flex: 1 1 240px; }
.taxonomy-groups {
    display: grid; gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.taxonomy-group {
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    padding: 12px 16px;
    margin: 0;
}
.taxonomy-group legend {
    font-size: 0.8rem; font-weight: 700; color: var(--text-secondary);
    padding: 0 6px;
}
.taxonomy-group .checkbox-label { margin: 6px 0; font-weight: 400; font-size: 0.9rem; }

/* ---------- Map notice, disclosure table & preference toggles ---------- */
/* .map-status referenced an undefined --muted token; pin it to the text token. */
.map-status { color: var(--text-secondary); font-size: 0.875rem; }
.map-placeholder {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 12px; padding: 32px 24px; text-align: center;
    background: var(--surface-alt);
    border-style: dashed;
}
.map-placeholder .map-status { margin: 0; max-width: 42em; }

/* Disclosure table in the trust centre — scrolls on narrow screens instead of
   forcing the page to scroll sideways. */
.table-scroll { overflow-x: auto; margin: 16px 0; }
.doc-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 640px; }
.doc-table th, .doc-table td {
    text-align: left; vertical-align: top;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
}
.doc-table th { color: var(--text-secondary); font-weight: 700; white-space: nowrap; }
.doc-table tr:last-child td { border-bottom: 0; }

.prefs-form { max-width: 46em; }
.prefs-group { border: 0; margin: 0 0 20px; padding: 0; }
.prefs-group .checkbox-label {
    align-items: flex-start;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
    margin: 0;
    font-weight: 400;
}
.prefs-group .checkbox-label:last-child { border-bottom: 0; }
.prefs-group .hint { display: block; margin-top: 2px; }

/* Article body editor (DevExtreme HtmlEditor). The widget brings its own theme;
   only the frame is aligned with the rest of the admin forms. */
.html-editor { margin-bottom: 4px; }
.html-editor.dx-htmleditor { border-radius: var(--radius-control); border-color: var(--border); }
.html-editor .dx-htmleditor-content img { max-width: 100%; height: auto; }
.html-editor .dx-htmleditor-content table { border-collapse: collapse; }
.html-editor .dx-htmleditor-content table td,
.html-editor .dx-htmleditor-content table th { border: 1px solid var(--border); padding: 6px 10px; }

/* X·Neurons individual product pages */
.xp-page{--xp-accent:#62e7d4;background:var(--surface);color:var(--text)}
.xp-hero{position:relative;overflow:hidden;display:grid;align-items:center;min-height:clamp(650px,78vh,820px);padding:clamp(4.5rem,7vw,7rem) 0;background:radial-gradient(circle at 78% 40%,color-mix(in srgb,var(--xp-accent) 20%,transparent),transparent 34%),linear-gradient(135deg,#07151d 0%,#102537 52%,#071017 100%);color:#f6fbff}
.xp-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent,#000)}
.xp-hero-grid{position:relative;display:grid;grid-template-columns:minmax(380px,.86fr) minmax(480px,1.14fr);align-items:center;gap:clamp(3rem,6vw,6.5rem)}
.xp-hero-copy{min-width:0}
.xp-code{margin:0 0 1rem;color:var(--xp-accent);font:700 .85rem/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.xp-code span{color:#6d8797}
.xp-brand-logo{width:min(245px,68%);margin:0 0 1.35rem}.xp-brand-logo img{display:block;width:100%;height:auto}
.xp-hero h1{max-width:none;margin:0 0 1.35rem;font-size:clamp(2.65rem,3.55vw,3.5rem);line-height:1.1;letter-spacing:-.045em;white-space:nowrap}.xp-hero .lead{max-width:38rem;margin-bottom:0;color:#d5e1e9;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.75}.xp-hero .hero-actions{margin-top:1.75rem}
.xp-hero-art{position:relative;margin:0;aspect-ratio:16/10;overflow:visible;background:transparent;isolation:isolate}
.xp-hero-art:after{content:"";position:absolute;z-index:-1;left:12%;right:12%;bottom:3%;height:18%;border-radius:50%;background:color-mix(in srgb,var(--xp-accent) 20%,transparent);filter:blur(42px);opacity:.72;pointer-events:none}
.xp-hero-art img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;transform:scale(1.015);transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .5s ease;filter:drop-shadow(0 28px 30px rgba(0,0,0,.28)) saturate(.98) contrast(1.03)}
.xp-hero-art:hover img{transform:scale(1.04);filter:drop-shadow(0 32px 34px rgba(0,0,0,.32)) saturate(1.06) contrast(1.04)}
.xp-signal{position:relative;aspect-ratio:1;max-width:470px;margin:auto;border:1px solid color-mix(in srgb,var(--xp-accent) 35%,transparent);border-radius:50%;box-shadow:inset 0 0 70px color-mix(in srgb,var(--xp-accent) 10%,transparent)}
.xp-signal:before,.xp-signal:after{content:"";position:absolute;inset:12%;border:1px dashed color-mix(in srgb,var(--xp-accent) 44%,transparent);border-radius:50%;animation:xp-spin 28s linear infinite}.xp-signal:after{inset:27%;animation-direction:reverse;animation-duration:18s}
.xp-signal-core{position:absolute;z-index:2;inset:35%;display:grid;place-content:center;text-align:center;border:1px solid var(--xp-accent);border-radius:50%;background:#0b1821;box-shadow:0 0 42px color-mix(in srgb,var(--xp-accent) 28%,transparent)}
.xp-signal-core span{color:var(--xp-accent);font:700 2rem var(--font-display)}.xp-signal-core small{color:#afc1cd}
.xp-signal>i{--angle:calc(var(--i)*90deg);position:absolute;z-index:3;left:calc(50% + cos(var(--angle))*43%);top:calc(50% + sin(var(--angle))*43%);width:2.6rem;height:2.6rem;translate:-50% -50%;display:grid;place-items:center;border-radius:50%;background:var(--xp-accent);color:#081118;font-style:normal;box-shadow:0 0 24px color-mix(in srgb,var(--xp-accent) 55%,transparent)}
@keyframes xp-spin{to{transform:rotate(360deg)}}
.xp-thesis{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,7vw,7rem);align-items:start}.xp-thesis h2{font-size:clamp(1.8rem,3.7vw,3.4rem);line-height:1.12}.xp-thesis>div:last-child{padding-left:2rem;border-left:3px solid var(--xp-accent)}
.xp-thesis-visual{grid-template-columns:1.08fr .92fr;align-items:center}.xp-thesis-visual .xp-thesis-outcome{display:flex;flex-direction:column;gap:1rem}.xp-thesis-art{position:relative;margin:1.25rem 0 0;overflow:hidden;min-height:300px;border:1px solid #25394a;border-radius:18px;background:#0c1118;box-shadow:0 24px 55px rgba(6,17,27,.2)}.xp-thesis-art img{display:block;width:100%;height:100%;min-height:300px;object-fit:contain;object-position:center;background:#0c1118;padding:1rem}.xp-thesis-art figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;display:grid;gap:.25rem;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(7,22,32,.86);color:#f4f9fc;backdrop-filter:blur(10px)}.xp-thesis-art figcaption strong{font-size:.95rem}.xp-thesis-art figcaption span{color:#c8d6df;font-size:.82rem;line-height:1.5}
.xp-visual-story{padding:clamp(5rem,8vw,8rem) 0;overflow:hidden}.xp-visual-story-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(3rem,7vw,7rem);align-items:center}.xp-visual-story-reverse .xp-story-art{order:2}.xp-visual-story-reverse .xp-story-copy{order:1}.xp-story-art{margin:0;overflow:visible;background:transparent}.xp-story-art img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;overflow:hidden;border-radius:18px;background:transparent;padding:0;filter:drop-shadow(0 24px 34px rgba(8,24,37,.12))}.xp-story-copy .display-heading{margin-bottom:1.35rem}.xp-story-copy>.lead{color:var(--muted);font-size:1.05rem;line-height:1.8}.xp-story-points{margin:2rem 0 0;padding:0;list-style:none;border-top:1px solid var(--border)}.xp-story-points li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.xp-story-points span{color:var(--xp-accent);font:700 .72rem/1.7 var(--font-mono)}.xp-story-points strong,.xp-story-points small{display:block}.xp-story-points strong{font-size:.95rem}.xp-story-points small{margin-top:.35rem;color:var(--muted);line-height:1.55}
.xp-story-art-dtw{overflow:hidden;padding:1rem;border:1px solid #d8dee4;border-radius:18px;background:#f7f7f7;box-shadow:0 24px 55px rgba(6,17,27,.16)}.xp-story-art-dtw img{display:block;width:100%;max-width:none;margin:0;clip-path:none;border-radius:13px;background:#f7f7f7;object-fit:contain;filter:none}
.xp-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem}.xp-feature{min-height:230px;padding:2rem;border:1px solid var(--border);background:var(--surface);transition:transform .25s,border-color .25s}.xp-feature:hover{transform:translateY(-4px);border-color:var(--xp-accent)}.xp-feature>span{color:var(--xp-accent);font:700 1rem var(--font-mono)}.xp-feature h3{margin:2.3rem 0 .7rem;font-size:1.35rem}.xp-feature p{color:var(--muted);margin:0}
.xp-flow-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem)}.xp-flow{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.15)}.xp-flow li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid rgba(255,255,255,.15)}.xp-flow span{color:var(--xp-accent);font-family:var(--font-mono)}.xp-flow strong{font-size:1.08rem}
.xp-application-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);align-items:center}.xp-scenarios{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;list-style:none;padding:0}.xp-scenarios li{padding:1rem;border-left:2px solid var(--xp-accent);background:var(--surface-alt)}.xp-facts{border-top:1px solid var(--border)}.xp-facts div{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--border)}.xp-facts span{color:var(--muted);font-size:.85rem}.xp-facts strong{font-weight:600}
.xp-boundary{background:color-mix(in srgb,var(--xp-accent) 8%,var(--surface))}.xp-boundary .container{max-width:960px}.xp-boundary h2{font-size:clamp(1.7rem,3.1vw,2.7rem);line-height:1.2}.xp-status{margin-top:2rem;padding-top:2rem;border-top:1px solid color-mix(in srgb,var(--xp-accent) 42%,var(--border));color:var(--muted)}
.xp-product-nav{position:sticky;bottom:0;z-index:8;padding:.8rem 0;background:rgba(7,16,23,.94);backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.12)}.xp-product-nav .container{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap}.xp-product-nav a{padding:.55rem .85rem;border-radius:999px;color:#b9c9d3;text-decoration:none;font:700 .78rem var(--font-mono);letter-spacing:.08em}.xp-product-nav a:hover,.xp-product-nav a.active{background:var(--xp-accent);color:#071017}
@media(max-width:1050px){.xp-hero{min-height:auto}.xp-hero-grid{grid-template-columns:1fr}.xp-hero-copy{max-width:720px}.xp-hero h1{max-width:14ch;white-space:normal;text-wrap:balance}.xp-hero-art{width:100%;max-width:820px}}
@media(max-width:800px){.xp-thesis,.xp-flow-wrap,.xp-application-grid,.xp-visual-story-grid{grid-template-columns:1fr}.xp-visual-story-reverse .xp-story-art,.xp-visual-story-reverse .xp-story-copy{order:initial}.xp-hero{padding:3.5rem 0 4.5rem}.xp-hero-grid{gap:2.5rem}.xp-hero h1{font-size:clamp(2.35rem,11vw,3.4rem)}.xp-hero-art{aspect-ratio:4/3}.xp-hero-art img{object-position:center}.xp-feature-grid{grid-template-columns:1fr}.xp-thesis>div:last-child{padding-left:1.2rem}.xp-thesis-art,.xp-thesis-art img{min-height:250px}.xp-scenarios{grid-template-columns:1fr}.xp-facts div{grid-template-columns:1fr;gap:.35rem}}
@media(prefers-reduced-motion:reduce){.xp-signal:before,.xp-signal:after{animation:none}}

/* English layout tuning
   English headings need more horizontal measure and a calmer scale than CJK copy. */
html[lang="en"] h1,
html[lang="en"] h2,
html[lang="en"] .display-heading {
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
}

html[lang="en"] .site-nav {
    gap: 16px;
}

html[lang="en"] .site-nav .nav-cta,
html[lang="en"] .hero-actions .btn {
    white-space: nowrap;
}

html[lang="en"] .home-hero-editorial h1 {
    max-width: 14ch;
    line-height: 1.14;
    letter-spacing: -.03em;
}

html[lang="en"] .home-hero-editorial .lead,
html[lang="en"] .industry-hero-copy > p,
html[lang="en"] .xp-hero .lead {
    max-width: 62ch;
}

html[lang="en"] .display-heading {
    max-width: 18ch;
    line-height: 1.12;
    letter-spacing: -.03em;
}

html[lang="en"] .about-hero-grid .hero-inner h1 {
    max-width: 18ch;
    font-size: clamp(2.25rem, 4.2vw, 4.35rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

html[lang="en"] .about-story-grid .display-heading,
html[lang="en"] .about-direction-head .display-heading,
html[lang="en"] .about-culture-teaser .display-heading,
html[lang="en"] .operations-heading .display-heading {
    max-width: 20ch;
}

html[lang="en"] .industry-photo-hero .industry-hero-copy h1 {
    max-width: 16ch;
    line-height: 1.08;
    letter-spacing: -.035em;
}

html[lang="en"] .xp-hero h1 {
    max-width: 17ch;
    white-space: normal;
    line-height: 1.08;
    letter-spacing: -.035em;
}

html[lang="en"] .xp-thesis h2,
html[lang="en"] .xp-boundary h2 {
    max-width: 20ch;
    text-wrap: balance;
}

html[lang="en"] .preferences-doc-header h1 {
    max-width: 22ch;
    letter-spacing: -.035em;
}

html[lang="en"] .preferences-doc-section > p,
html[lang="en"] .preferences-doc-section > ul {
    max-width: 72ch;
}

@media (max-width: 640px) {
    html[lang="en"] .home-hero-editorial h1 {
        max-width: 13ch;
        font-size: clamp(2rem, 9.2vw, 2.55rem);
        line-height: 1.12;
    }

    html[lang="en"] .about-hero-grid .hero-inner h1 {
        max-width: 22ch;
        font-size: clamp(1.75rem, 7.4vw, 2.15rem);
        line-height: 1.12;
    }

    html[lang="en"] .xp-hero h1 {
        max-width: 16ch;
        font-size: clamp(2.15rem, 10.5vw, 2.8rem);
        line-height: 1.08;
    }

    html[lang="en"] .industry-photo-hero .industry-hero-copy h1,
    html[lang="en"] .preferences-doc-header h1 {
        line-height: 1.12;
    }

    html[lang="en"] .hero-actions {
        align-items: stretch;
    }

    html[lang="en"] .hero-actions .btn {
        justify-content: center;
        text-align: center;
    }
}
