:root {
    --paper: #f3f2ed;
    --paper-hi: #faf9f6;
    --paper-low: #e8e6df;
    --ink: #0d141a;
    --ink-2: #1a242c;
    --muted: #69747d;
    --muted-2: #8d969d;
    --line: rgba(13, 20, 26, .16);
    --line-strong: rgba(13, 20, 26, .28);
    --dark: #070b0f;
    --dark-2: #0b1116;
    --dark-3: #111920;
    --inverse: #f4f6f5;
    --inverse-muted: #9eabb2;
    --inverse-line: rgba(239, 246, 246, .16);
    --cyan: #55d7de;
    --cyan-soft: rgba(85, 215, 222, .14);
    --spring: #a3ff3d;
    --spring-soft: rgba(163, 255, 61, .14);
    --warm: #e5b875;
    --max: 1420px;
    --gutter: clamp(1.2rem, 4vw, 4rem);
    --section: clamp(5rem, 9vw, 9.5rem);
    --header-h: 76px;
    --news-h: 0px;
    --chrome-h: calc(var(--header-h) + var(--news-h));
    --radius: 1.35rem;
    --radius-sm: .72rem;
    --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    --sans: Manrope, "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
    --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--dark); }
body {
    margin: 0;
    min-width: 320px;
    overflow-x: hidden;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 1rem;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
html.menu-open, body.menu-open { overflow: hidden; overscroll-behavior: none; }
body.has-news-radar { --news-h: 38px; }
main { position: relative; isolation: isolate; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
img, svg, canvas { display: block; max-width: 100%; }
::selection { background: var(--spring); color: var(--dark); }

.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
    position: fixed; z-index: 1000; left: 1rem; top: 1rem; transform: translateY(-180%);
    padding: .78rem 1rem; background: var(--spring); color: var(--dark); text-decoration: none;
    border-radius: var(--radius-sm); font-weight: 800;
}
.skip-link:focus { transform: none; }
.shell { width: min(var(--max), calc(100% - (var(--gutter) * 2))); margin-inline: auto; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; letter-spacing: -.04em; }
h1 {
    max-width: 13ch; margin: 0 0 1.75rem; font-size: clamp(3.1rem, 6.7vw, 6.4rem);
    font-weight: 650; line-height: .96;
}
h1 em, h2 em { font-style: normal; font-weight: 420; color: var(--muted); }
.hero-copy-dark h1 em, .page-hero-dark h1 em, .noetaris-hero h1 em, [data-tone="dark"] h2 em { color: var(--inverse-muted); }
h2 { max-width: 17ch; margin-bottom: 1.4rem; font-size: clamp(2.35rem, 4.8vw, 4.65rem); font-weight: 620; line-height: 1; }
h3 { margin-bottom: .8rem; font-size: clamp(1.45rem, 2.5vw, 2.2rem); font-weight: 650; line-height: 1.05; }
p { color: var(--muted); }
[data-tone="dark"] { background: var(--dark); color: var(--inverse); }
[data-tone="dark"] p { color: var(--inverse-muted); }

.eyebrow {
    margin: 0 0 1.15rem; color: #27566c; font-family: var(--mono); font-size: .69rem; font-weight: 800;
    letter-spacing: .17em; line-height: 1.3; text-transform: uppercase;
}
.eyebrow-inverse { color: #86cfd5; }
.section-kicker {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 0 0 1rem; margin-bottom: clamp(2.2rem, 5vw, 4.6rem); border-bottom: 1px solid var(--line);
    color: var(--muted); font-family: var(--mono); font-size: .68rem; font-weight: 750; letter-spacing: .13em;
    text-transform: uppercase;
}
.section-kicker-dark { border-color: var(--inverse-line); color: var(--inverse-muted); }
.hero-meta-line {
    display: flex; justify-content: space-between; gap: 1rem; margin-bottom: clamp(2.7rem, 6vw, 6rem);
    padding-bottom: .85rem; border-bottom: 1px solid var(--inverse-line); color: var(--inverse-muted);
    font-family: var(--mono); font-size: .62rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
}
.hero-meta-line-light { border-color: var(--line); color: var(--muted); }

/* Header */
.site-header {
    position: fixed; z-index: 100; inset: 0 0 auto; height: var(--header-h); color: var(--inverse);
    background: rgba(7, 11, 15, .76); border-bottom: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%);
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.site-header.is-scrolled { background: rgba(7, 11, 15, .94); border-color: rgba(255,255,255,.13); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
.brand { display: inline-flex; flex-direction: column; gap: .12rem; text-decoration: none; line-height: 1; }
.brand-name { font-size: 1.04rem; font-weight: 900; letter-spacing: .16em; }
.brand-signature { color: var(--inverse-muted); font-family: var(--mono); font-size: .5rem; letter-spacing: .11em; text-transform: uppercase; }
.header-brand { flex: 0 0 auto; display:block; width:15.25rem; }
.header-brand-picture { display:block; width:100%; }
.header-logo { display:block; width:100%; height:auto; }
.desktop-nav { display: flex; align-items: center; gap: clamp(1.15rem, 2.4vw, 2.4rem); }
.desktop-nav a { position: relative; color: #dce2e5; font-size: .8rem; font-weight: 700; text-decoration: none; letter-spacing: .01em; }
.desktop-nav a:not(.nav-cta)::after { content:""; position:absolute; left:0; right:100%; bottom:-.42rem; height:1px; background:var(--spring); transition:right .22s var(--ease); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after, .desktop-nav a.is-active::after { right:0; }
.nav-cta { display:flex; align-items:center; gap:.45rem; padding:.68rem .9rem; border:1px solid rgba(255,255,255,.26); border-radius:999px; }
.nav-cta:hover, .nav-cta:focus-visible, .nav-cta.is-active { background:var(--inverse); color:var(--dark); }
.menu-toggle { display:none; position:relative; flex:0 0 2.75rem; width:2.75rem; height:2.75rem; padding:0; border:1px solid rgba(255,255,255,.23); border-radius:2px; background:rgba(255,255,255,.025); color:inherit; cursor:pointer; }
.menu-toggle span:not(.sr-only) { position:absolute; left:50%; top:50%; display:block; width:1.05rem; height:1px; margin:0; background:currentColor; transform:translate(-50%,-4px); transform-origin:center; transition:transform .2s var(--ease),opacity .2s ease; }
.menu-toggle span:not(.sr-only):last-child { transform:translate(-50%,4px); }
.menu-toggle[aria-expanded="true"] span:not(.sr-only) { transform:translate(-50%,0) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:not(.sr-only):last-child { transform:translate(-50%,0) rotate(-45deg); }
.mobile-nav { position:fixed; z-index:95; inset:var(--header-h) 0 0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; background:linear-gradient(180deg,#070b0f 0%,#091017 100%); color:var(--inverse); }
.mobile-nav-inner { min-height:calc(100dvh - var(--header-h)); display:flex; flex-direction:column; padding-top:clamp(1.25rem,4vh,2.4rem); padding-bottom:max(1.25rem,env(safe-area-inset-bottom)); }
.mobile-nav-head { display:flex; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--inverse-line); color:var(--inverse-muted); font:700 .58rem/1.3 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.mobile-nav-links { display:grid; }
.mobile-nav a { position:relative; display:grid; grid-template-columns:2.65rem minmax(0,1fr); align-items:center; gap:.35rem; min-height:clamp(3.8rem,10vh,5.35rem); padding:.72rem 0; border-bottom:1px solid var(--inverse-line); text-decoration:none; }
.mobile-nav a span { color:var(--inverse-muted); font:700 .6rem/1.4 var(--mono); letter-spacing:.08em; }
.mobile-nav a strong { min-width:0; overflow-wrap:anywhere; color:var(--inverse); font-size:clamp(1.35rem,6.4vw,2.25rem); font-weight:620; line-height:1.03; letter-spacing:-.035em; }
.mobile-nav a::after { content:""; position:absolute; right:0; top:50%; width:.42rem; height:.42rem; border-top:1px solid var(--inverse-muted); border-right:1px solid var(--inverse-muted); transform:translateY(-50%) rotate(45deg); }
.mobile-nav a.is-active strong,.mobile-nav a[aria-current="page"] strong { color:var(--spring); }
.mobile-nav a.is-active::before,.mobile-nav a[aria-current="page"]::before { content:""; position:absolute; left:0; bottom:-1px; width:2.65rem; height:1px; background:var(--spring); }
.mobile-nav-foot { margin-top:auto; display:flex; justify-content:space-between; gap:1rem; padding-top:1.1rem; color:#6f7d84; font:700 .5rem/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.mobile-nav-foot span:first-child { display:flex; align-items:center; gap:.5rem; }
.mobile-nav-foot i { width:.36rem; height:.36rem; border-radius:50%; background:var(--spring); box-shadow:0 0 12px rgba(184,239,106,.42); }

/* Editorial technology radar */
.news-radar {
    position:fixed; z-index:90; top:var(--header-h); left:0; right:0; height:var(--news-h);
    display:grid; grid-template-columns:max-content minmax(0,1fr); overflow:hidden;
    background:rgba(9,14,18,.965); border-bottom:1px solid rgba(255,255,255,.095); color:#e8edef;
    box-shadow:0 8px 24px rgba(0,0,0,.12); backdrop-filter:blur(18px) saturate(135%); -webkit-backdrop-filter:blur(18px) saturate(135%);
}
.news-radar-label {
    position:relative; z-index:2; display:flex; align-items:center; gap:9px; height:100%; padding:0 clamp(15px,2.1vw,30px);
    border-right:1px solid rgba(255,255,255,.11); background:#090e12; white-space:nowrap;
    font:800 9px/1 var(--mono); letter-spacing:.13em; text-transform:uppercase;
}
.news-radar-label i { width:5px; height:5px; flex:0 0 auto; border-radius:50%; background:var(--spring); box-shadow:0 0 12px rgba(163,255,61,.42); }
.news-radar-label small { color:#7f8d94; font:700 8px/1 var(--mono); letter-spacing:.1em; }
.news-radar-viewport { min-width:0; overflow:hidden; mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%); -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%); }
.news-radar-track { display:flex; width:max-content; height:100%; will-change:transform; animation:solytec-news-radar 115s linear infinite; }
.news-radar-segment { display:flex; flex:0 0 auto; align-items:stretch; padding-right:38px; }
.news-radar-item {
    display:flex; align-items:center; gap:9px; min-width:max-content; height:100%; padding:0 19px;
    border-right:1px solid rgba(255,255,255,.075); color:#c9d2d6; text-decoration:none; white-space:nowrap;
    font-size:11px; line-height:1; transition:background-color .18s ease,color .18s ease;
}
.news-radar-item strong { color:#f2f5f5; font:850 8px/1 var(--mono); letter-spacing:.14em; }
.news-radar-item span { max-width:64ch; overflow:hidden; text-overflow:ellipsis; }
.news-radar-item time { color:#718087; font:700 8px/1 var(--mono); letter-spacing:.06em; }
.news-radar-item b { color:var(--cyan); font-size:11px; font-weight:500; }
.news-radar-item:hover,.news-radar-item:focus-visible { background:rgba(255,255,255,.045); color:#fff; outline:0; }
.news-radar-item:focus-visible { box-shadow:inset 0 -2px 0 var(--spring); }
.news-radar:hover .news-radar-track,.news-radar:focus-within .news-radar-track { animation-play-state:paused; }
@keyframes solytec-news-radar { to { transform:translateX(-50%); } }

/* Interaction primitives */
.button {
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:3.25rem; padding:.82rem 1.05rem;
    border:1px solid transparent; border-radius:999px; font-size:.83rem; font-weight:800; text-decoration:none;
    transition:transform .2s var(--ease), background-color .2s ease, border-color .2s ease, color .2s ease;
}
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--ink); color:white; }
.button-primary:hover { background:#202b33; }
.button-light { background:var(--inverse); color:var(--dark); }
.button-light:hover { background:var(--spring); }
.button-ghost-light { border-color:rgba(255,255,255,.25); color:var(--inverse); background:transparent; }
.button-ghost-light:hover { border-color:var(--spring); color:var(--spring); }
.text-link { display:inline-flex; align-items:center; gap:.45rem; color:var(--ink); font-weight:780; text-decoration:none; }
.text-link span { transition:transform .18s ease; }
.text-link:hover span { transform:translateX(.3rem); }
.text-link-light { color:var(--inverse); }
.button:focus-visible, .desktop-nav a:focus-visible, .mobile-nav a:focus-visible, .text-link:focus-visible,
.map-node:focus-visible, .solution-entry:focus-visible, .service-link-grid a:focus-visible {
    outline:3px solid rgba(184,239,106,.48); outline-offset:4px;
}

/* Home hero */
.hero-home, .noetaris-hero, .service-hero, .contact-hero {
    position:relative; overflow:hidden; min-height:100svh; padding-top:calc(var(--chrome-h) + clamp(2.8rem, 6vw, 6rem));
    padding-bottom:clamp(4rem,7vw,7rem); display:flex; align-items:center;
}
.hero-grid-bg { position:absolute; inset:0; pointer-events:none; opacity:.42; 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:72px 72px; mask-image:linear-gradient(to bottom,black,transparent 88%); }
.hero-home::after, .noetaris-hero::after, .service-hero::after, .contact-hero::after { content:""; position:absolute; width:46vw; height:46vw; right:-14vw; top:8%; border-radius:50%; background:radial-gradient(circle,rgba(85,215,222,.07),transparent 68%); pointer-events:none; }
.hero-home-grid, .noetaris-hero-grid, .service-hero-grid, .contact-grid { position:relative; z-index:1; width:100%; display:grid; grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr); gap:clamp(3rem,7vw,7.5rem); align-items:center; }
.hero-copy { min-width:0; }
.hero-copy-dark { color:var(--inverse); }
.hero-lead { max-width:44rem; margin-bottom:2.1rem; font-size:clamp(1.08rem,1.65vw,1.38rem); line-height:1.62; }
.hero-lead-inverse { color:#aeb9bf; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.hero-status { display:flex; flex-wrap:wrap; gap:1.3rem; margin-top:clamp(3rem,7vw,6.5rem); color:var(--inverse-muted); font:700 .61rem/1.3 var(--mono); letter-spacing:.1em; }
.hero-status span:first-child { color:#cfdbde; }
.hero-status i, .system-status i, .status-dot { display:inline-block; width:.45rem; height:.45rem; margin-right:.5rem; border-radius:50%; background:var(--spring); box-shadow:0 0 16px rgba(184,239,106,.55); }
.hero-scroll { position:absolute; z-index:2; left:var(--gutter); bottom:1.4rem; display:flex; align-items:center; gap:.75rem; color:var(--inverse-muted); font:700 .55rem/1 var(--mono); letter-spacing:.12em; }
.hero-scroll i { display:block; width:4rem; height:1px; background:linear-gradient(to right,var(--inverse-muted),transparent); }

/* Computational bloom */
.computational-stage { position:relative; width:min(100%,39rem); aspect-ratio:1; margin-inline:auto; isolation:isolate; }
.computational-stage canvas { position:absolute; inset:0; width:100%; height:100%; }
.stage-reticle { position:absolute; inset:11%; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.stage-reticle::before, .stage-reticle::after { content:""; position:absolute; inset:14%; border:1px dashed rgba(255,255,255,.11); border-radius:50%; }
.stage-reticle::after { inset:32%; border-style:solid; }
.stage-core { position:absolute; z-index:3; inset:41%; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(7,11,15,.84); box-shadow:0 0 0 12px rgba(7,11,15,.34), 0 0 70px rgba(85,215,222,.12); text-align:center; }
.stage-core strong { font-size:.72rem; letter-spacing:.18em; }
.stage-core span { margin-top:.25rem; color:var(--inverse-muted); font:700 .42rem/1.2 var(--mono); letter-spacing:.09em; }
.stage-label { position:absolute; z-index:3; padding:.34rem .5rem; border:1px solid rgba(255,255,255,.16); background:rgba(7,11,15,.78); color:#bec9ce; font:700 .5rem/1 var(--mono); letter-spacing:.1em; backdrop-filter:blur(10px); }
.stage-label-a { top:17%; left:9%; }.stage-label-b { top:23%; right:3%; }.stage-label-c { bottom:13%; right:10%; }.stage-label-d { bottom:20%; left:4%; }
.stage-telemetry { position:absolute; z-index:3; right:0; bottom:1%; width:9.5rem; display:grid; grid-template-columns:1fr auto; gap:.25rem .8rem; padding:.7rem; border-top:1px solid rgba(255,255,255,.16); color:var(--inverse-muted); font:700 .5rem/1.2 var(--mono); letter-spacing:.08em; }
.stage-telemetry span:nth-child(2){grid-column:1}.stage-telemetry b{grid-column:2;grid-row:1/3;align-self:center;color:var(--spring);font-size:1.6rem;font-weight:500}
.stage-noetaris .stage-core strong { font-size:2rem; }

/* Home system manifest */
.system-manifest { padding-block:var(--section); }
.manifest-grid { display:grid; grid-template-columns:1.15fr .65fr; gap:clamp(3rem,8vw,9rem); align-items:end; }
.manifest-grid h2 { max-width:16ch; margin:0; }
.manifest-grid p { max-width:37rem; margin:0; font-size:1.08rem; }
.system-map { position:relative; margin-top:clamp(4rem,7vw,7rem); min-height:36rem; border:1px solid var(--line); overflow:hidden; background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.06)); }
.system-map::before { content:""; position:absolute; inset:0; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:80px 80px; opacity:.23; }
.map-lines { position:absolute; inset:0; width:100%; height:100%; }
.map-lines path { fill:none; stroke:rgba(13,20,26,.18); stroke-width:1; vector-effect:non-scaling-stroke; }
.map-core { position:absolute; z-index:3; left:50%; top:50%; width:10rem; aspect-ratio:1; transform:translate(-50%,-50%); display:grid; place-content:center; text-align:center; border:1px solid var(--line-strong); border-radius:50%; background:var(--paper-hi); box-shadow:0 18px 60px rgba(13,20,26,.1); }
.map-core strong { font-size:.75rem; letter-spacing:.16em; }.map-core small{color:var(--muted);font:700 .48rem/1.2 var(--mono);letter-spacing:.08em}
.map-node { position:absolute; z-index:3; width:13rem; min-height:5.4rem; display:grid; grid-template-columns:2.2rem 1fr; align-content:center; padding:.8rem; border:1px solid var(--line); background:rgba(250,249,246,.88); text-decoration:none; backdrop-filter:blur(12px); transition:transform .2s var(--ease),border-color .2s ease,box-shadow .2s ease; }
.map-node:hover { transform:translateY(-3px); border-color:var(--line-strong); box-shadow:0 16px 45px rgba(13,20,26,.09); }
.map-node span { grid-row:1/3; color:var(--muted); font:700 .55rem/1 var(--mono); }.map-node strong{font-size:.73rem;letter-spacing:.08em}.map-node small{color:var(--muted);font-size:.72rem}
.map-node.node-1{left:4%;top:10%}.map-node.node-2{left:50%;top:5%;transform:translateX(-50%)}.map-node.node-2:hover{transform:translate(-50%,-3px)}.map-node.node-3{right:4%;top:12%}.map-node.node-4{right:4%;bottom:12%}.map-node.node-5{left:50%;bottom:5%;transform:translateX(-50%)}.map-node.node-5:hover{transform:translate(-50%,-3px)}.map-node.node-6{left:4%;bottom:11%}

/* Capability rows */
.capability-band { padding-bottom:var(--section); }
.capability-row { display:grid; grid-template-columns:3.2rem minmax(0,1fr) minmax(18rem,.65fr) 3rem; gap:clamp(1rem,3vw,3rem); align-items:center; min-height:15rem; padding:2.2rem 0; border-top:1px solid var(--line); }
.capability-row:last-child { border-bottom:1px solid var(--line); }
.capability-index { color:var(--muted); font:700 .6rem/1 var(--mono); }
.capability-row .eyebrow { margin-bottom:.6rem; }.capability-row h2{max-width:18ch;margin:0;font-size:clamp(2rem,3.6vw,3.5rem)}.capability-row p{margin:0}.capability-row>a{justify-self:end;width:2.8rem;height:2.8rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;text-decoration:none;transition:.2s var(--ease)}.capability-row>a:hover{background:var(--ink);color:white;transform:translate(2px,-2px)}

/* NOETARIS gateway */
.noetaris-gateway { position:relative; padding-block:var(--section); overflow:hidden; }
.noetaris-gateway::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 75% 50%,rgba(85,215,222,.09),transparent 33%); pointer-events:none; }
.noetaris-gateway-grid { position:relative; display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(4rem,8vw,9rem); align-items:center; }
.gateway-copy h2 { max-width:none; margin:.15rem 0 0; font-size:clamp(4rem,9vw,9rem); line-height:.88; letter-spacing:-.065em; }
.powered-label { margin:0; color:#7f8d95!important; font:700 .58rem/1 var(--mono); letter-spacing:.13em; }
.gateway-deck { color:#d0d7da!important; font:700 .72rem/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.gateway-copy>p:not(.powered-label):not(.gateway-deck) { max-width:38rem; margin:2rem 0; font-size:1.06rem; }
.gateway-visual { position:relative; min-height:35rem; border-left:1px solid var(--inverse-line); }
.gateway-axis { position:absolute; left:3rem; top:2rem; bottom:2rem; width:1px; background:linear-gradient(var(--cyan),rgba(255,255,255,.08)); }
.gateway-layer { position:absolute; left:3rem; right:0; height:4.7rem; display:grid; grid-template-columns:3.2rem 1fr auto; align-items:center; gap:1rem; padding:0 1rem; border-top:1px solid var(--inverse-line); border-bottom:1px solid var(--inverse-line); background:linear-gradient(90deg,rgba(255,255,255,.025),transparent); }
.gateway-layer span{color:var(--inverse-muted);font:700 .55rem/1 var(--mono)}.gateway-layer strong{font-size:.78rem;letter-spacing:.11em}.gateway-layer i{width:5.5rem;height:1px;background:linear-gradient(90deg,var(--cyan),transparent)}
.gateway-layer.layer-1{top:5%}.gateway-layer.layer-2{top:23%}.gateway-layer.layer-3{top:41%}.gateway-layer.layer-4{top:59%}.gateway-layer.layer-5{top:77%}
.gateway-core { position:absolute; z-index:3; left:3rem; top:50%; width:4rem; height:4rem; transform:translate(-50%,-50%); display:grid; place-items:center; border:1px solid var(--cyan); border-radius:50%; background:var(--dark); color:var(--cyan); font-size:1.15rem; box-shadow:0 0 45px rgba(85,215,222,.18); }

/* Method */
.method-section { padding-block:var(--section); }
.method-heading { display:grid; grid-template-columns:1fr .62fr; gap:clamp(3rem,8vw,8rem); align-items:end; margin-bottom:clamp(3rem,6vw,6rem); }
.method-heading h2{margin:0}.method-heading p{margin:0;font-size:1.06rem}.method-track,.process-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.method-track li,.process-track li{min-height:12rem;display:flex;flex-direction:column;padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.method-track span,.process-track span{color:var(--muted);font:700 .56rem/1 var(--mono)}.method-track strong,.process-track strong{margin-top:auto;font-size:.78rem;letter-spacing:.08em}.method-track small,.process-track small{margin-top:.55rem;color:var(--muted);font-size:.72rem}

/* Real work */
.work-section { padding-block:var(--section); }
.work-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:3rem; }.work-heading h2{margin:0;max-width:16ch}
.work-list { border-top:1px solid var(--inverse-line); }
.work-item { display:grid; grid-template-columns:12rem minmax(0,1fr) minmax(19rem,.75fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding:clamp(2.5rem,5vw,5rem) 0; border-bottom:1px solid var(--inverse-line); }
.work-meta { align-self:start; display:grid; gap:.45rem; color:var(--inverse-muted); font-family:var(--mono); }.work-meta span{color:var(--spring);font-size:.58rem}.work-meta small{font-size:.54rem;letter-spacing:.08em}.work-item h3{margin:0 0 1rem;font-size:clamp(2.6rem,5vw,5rem)}.work-item p{max-width:41rem;margin:0}
.work-schematic { position:relative; min-height:13rem; border:1px solid var(--inverse-line); overflow:hidden; background:rgba(255,255,255,.02); }
.aura-schematic { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; place-items:center; }.aura-schematic b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:5rem;height:5rem;display:grid;place-items:center;border:1px solid var(--cyan);border-radius:50%;font-size:.62rem;letter-spacing:.1em;background:var(--dark)}.aura-schematic span{color:var(--inverse-muted);font:700 .5rem/1 var(--mono);letter-spacing:.08em}.aura-schematic span:last-child{position:absolute;bottom:.7rem;left:50%;transform:translateX(-50%)}
.notary-schematic{display:grid;place-items:center}.notary-schematic>div{display:flex;align-items:center;gap:.7rem}.notary-schematic span{font:700 .54rem/1 var(--mono);letter-spacing:.08em}.notary-schematic i{width:2.4rem;height:1px;background:var(--inverse-line)}.notary-schematic b{padding:.7rem;border:1px solid var(--cyan);font-size:.6rem}.web-schematic{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--inverse-line)}.web-schematic span,.web-schematic strong{display:block}.web-schematic>span,.web-schematic>div{background:var(--dark);padding:1rem}.web-schematic span{color:var(--inverse-muted);font:700 .5rem/1 var(--mono)}.web-schematic strong{margin-top:.5rem;font-size:.72rem}

/* Origin */
.origin-section { padding-block:var(--section); }
.origin-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(4rem,9vw,10rem); align-items:center; }
.origin-years { display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; padding:1.5rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.origin-years strong{font:500 clamp(1.8rem,4vw,4rem)/1 var(--mono)}.origin-years i{height:1px;background:linear-gradient(90deg,var(--ink),var(--cyan),var(--spring))}.origin-grid h2{max-width:17ch}.origin-grid>div:last-child>p{max-width:42rem;font-size:1.06rem}

/* Generic page hero */
.page-hero { padding-top:calc(var(--chrome-h) + clamp(5rem,9vw,9rem)); padding-bottom:clamp(5rem,8vw,8rem); }
.page-hero-dark { background:var(--dark); color:var(--inverse); }
.page-hero-grid { display:grid; grid-template-columns:1.1fr .7fr; gap:clamp(4rem,9vw,10rem); align-items:end; }
.page-hero-grid>* { min-width:0; }
.page-hero h1 { max-width:min(13ch,100%); font-size:clamp(3.3rem,6.4vw,6.1rem); overflow-wrap:break-word; }
.page-hero-lead { max-width:38rem; margin:0 0 .5rem; font-size:clamp(1.08rem,1.6vw,1.36rem); line-height:1.6; }
.page-hero-lead-dark { color:var(--inverse-muted); }

/* NOETARIS detail */
.noetaris-hero h1 { max-width:none; margin:.2rem 0; font-size:clamp(4rem,9vw,9rem); line-height:.85; letter-spacing:-.065em; }
.noetaris-deck { margin:.9rem 0 2rem; color:#d0d8db!important; font:700 .72rem/1.4 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.noetaris-principle,.architecture-section { padding-block:var(--section); }
.dark-statement-grid { display:grid; grid-template-columns:1.1fr .7fr; gap:clamp(4rem,9vw,10rem); align-items:end; }.dark-statement-grid h2{max-width:17ch;margin:0}.dark-statement-grid p{max-width:38rem;margin:0;font-size:1.06rem}.dark-statement-grid>div p{margin-bottom:1.6rem}
.architecture-board { display:grid; grid-template-columns:1.15fr 2fr; border:1px solid var(--inverse-line); min-height:34rem; background:linear-gradient(135deg,rgba(85,215,222,.04),transparent 45%); }
.arch-spine { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,5rem); border-right:1px solid var(--inverse-line); background:rgba(255,255,255,.015); }.arch-spine span{color:var(--cyan);font:700 .58rem/1 var(--mono);letter-spacing:.12em}.arch-spine strong{margin:.8rem 0;font-size:clamp(3rem,5vw,5rem);letter-spacing:-.06em}.arch-spine small{color:var(--inverse-muted);font:700 .55rem/1.3 var(--mono);letter-spacing:.08em}
.architecture-board>.arch-row { display:grid; grid-column:2; grid-template-columns:3rem 1fr minmax(11rem,.8fr) 5rem; align-items:center; gap:1rem; padding:1rem 1.4rem; border-bottom:1px solid var(--inverse-line); }.arch-row:last-child{border-bottom:0}.arch-row span{color:var(--inverse-muted);font:700 .55rem/1 var(--mono)}.arch-row strong{font-size:.76rem;letter-spacing:.1em}.arch-row small{color:var(--inverse-muted)}.arch-row i{height:1px;background:linear-gradient(90deg,var(--cyan),transparent)}
.engine-section,.identity-section { padding-block:var(--section); }
.engine-list { border-top:1px solid var(--line); }.engine-list article{display:grid;grid-template-columns:8rem minmax(18rem,.8fr) minmax(20rem,1fr) 5rem;gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--line)}.engine-list article>span{color:var(--muted);font:700 .55rem/1 var(--mono)}.engine-list h2{max-width:none;margin:0;font-size:clamp(1.8rem,3vw,3rem)}.engine-list p{margin:0}.engine-list i{height:1px;background:linear-gradient(90deg,var(--cyan),transparent)}
.identity-grid { display:grid; grid-template-columns:1fr .8fr; gap:clamp(4rem,9vw,10rem); align-items:center; }.identity-grid h2{max-width:18ch}.identity-grid>div:first-child p{max-width:44rem}.identity-chain{display:grid;grid-template-columns:1fr 2.5rem 1fr 2.5rem 1fr;align-items:center}.identity-chain>div{min-height:8rem;padding:1rem;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.identity-chain>div:nth-of-type(2){background:var(--dark);color:var(--inverse);border-color:var(--dark)}.identity-chain>i{height:1px;background:var(--line)}.identity-chain span{color:var(--muted);font:700 .5rem/1 var(--mono)}.identity-chain strong{font-size:.72rem;letter-spacing:.08em}.identity-chain small{color:var(--muted)}


/* Solution / commercial directory */
.solution-directory { padding-block:var(--section); overflow:hidden; }
.solution-directory-grid { border-top:1px solid var(--line); }
.solution-entry {
    position:relative;
    display:grid;
    grid-template-columns:4.25rem minmax(0,1fr) 3rem;
    gap:clamp(1.2rem,3vw,3rem);
    align-items:center;
    min-height:9.75rem;
    padding:clamp(1.55rem,2.5vw,2.4rem) 0;
    border-bottom:1px solid var(--line);
    color:var(--ink);
    text-decoration:none;
    transition:padding .22s var(--ease),background-color .22s ease;
}
.solution-entry::before {
    content:"";
    position:absolute;
    inset:0 calc(var(--gutter) * -0.35);
    z-index:-1;
    background:rgba(255,255,255,.34);
    opacity:0;
    transition:opacity .22s ease;
}
.solution-entry:hover::before,.solution-entry:focus-visible::before { opacity:1; }
.solution-entry:hover,.solution-entry:focus-visible { padding-inline:.7rem; outline:0; }
.solution-entry>span {
    align-self:start;
    padding-top:.3rem;
    color:var(--muted);
    font:750 .58rem/1.2 var(--mono);
    letter-spacing:.09em;
}
.solution-entry>div {
    min-width:0;
    display:grid;
    grid-template-columns:minmax(16rem,.82fr) minmax(18rem,1fr);
    column-gap:clamp(2rem,6vw,6rem);
    row-gap:.6rem;
    align-items:end;
}
.solution-entry small {
    grid-column:1 / -1;
    color:#2c6770;
    font:780 .58rem/1.2 var(--mono);
    letter-spacing:.12em;
    text-transform:uppercase;
}
.solution-entry h2 {
    min-width:0;
    max-width:18ch;
    margin:0;
    font-size:clamp(2rem,3.25vw,3.45rem);
    line-height:.98;
    letter-spacing:-.045em;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
}
.solution-entry p {
    max-width:42rem;
    margin:0;
    color:var(--muted);
    font-size:clamp(.9rem,1.05vw,1rem);
    line-height:1.65;
}
.solution-entry>b {
    justify-self:end;
    color:var(--muted);
    font-size:1.4rem;
    font-weight:400;
    transition:transform .22s var(--ease),color .22s ease;
}
.solution-entry:hover>b,.solution-entry:focus-visible>b { color:var(--ink); transform:translate(3px,-3px); }
.page-services .solution-directory { background:linear-gradient(180deg,var(--paper) 0%,var(--paper-hi) 100%); }
.page-services .solution-directory-grid { counter-reset:service; }


/* Solution principles + service capability pages */
.solution-principle { padding-block:var(--section); }
.service-story,.process-section,.continuity-section,.security-principles,.service-index,.noetaris-bridge { padding-block:var(--section); }
.two-column-story { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(4rem,9vw,10rem); align-items:start; }
.story-stack { min-width:0; max-width:46rem; }
.story-stack>p { font-size:1.08rem; }
.feature-list { margin-top:2rem; border-top:1px solid var(--line); }
.feature-list>div { display:grid; grid-template-columns:.8fr 1.2fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.feature-list strong,.feature-list span { min-width:0; }
.feature-list span { color:var(--muted); }

.service-visual { position:relative; min-width:0; min-height:30rem; border:1px solid var(--inverse-line); background:rgba(255,255,255,.018); overflow:hidden; }
.visual-software { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4rem); }
.visual-software>div { display:grid; grid-template-columns:6rem minmax(0,1fr); align-items:center; gap:.6rem; padding:.9rem 1rem; border:1px solid var(--inverse-line); background:rgba(255,255,255,.02); }
.visual-software span { color:var(--cyan); font:700 .52rem/1 var(--mono); }
.visual-software strong { min-width:0; font-size:.72rem; letter-spacing:.07em; overflow-wrap:anywhere; }
.visual-software>i { width:1px; height:1.7rem; margin-left:3rem; background:var(--inverse-line); }

.visual-intelligence { min-height:32rem; }
.visual-intelligence svg { position:absolute; z-index:1; inset:0; width:100%; height:100%; }
.visual-intelligence .intel-flow-path { fill:none; stroke:rgba(85,215,222,.35); stroke-width:1; }
.intel-flow-packet { position:absolute; z-index:1; width:.42rem; height:.42rem; border-radius:50%; background:var(--spring); box-shadow:0 0 10px rgba(184,239,106,.62); transform:translate(-50%,-50%); pointer-events:none; will-change:left,top; }
.intel-node,.intel-core { position:absolute; z-index:2; top:50%; transform:translateY(-50%); display:grid; place-content:center; text-align:center; border:1px solid var(--inverse-line); border-radius:50%; background:var(--dark-2); }
.intel-node { left:7%; width:6.5rem; height:6.5rem; }
.intel-node-end { left:auto; right:7%; }
.intel-core { left:50%; width:8.5rem; height:8.5rem; transform:translate(-50%,-50%); border-color:var(--cyan); box-shadow:0 0 50px rgba(85,215,222,.1); }
.intel-node span,.intel-core span { color:var(--inverse-muted); font:700 .5rem/1 var(--mono); }
.intel-node strong,.intel-core strong { font-size:.65rem; letter-spacing:.08em; }
.intel-orbit { position:absolute; z-index:3; left:50%; top:50%; width:8.5rem; height:8.5rem; transform:translate(-50%,-50%); border-radius:50%; pointer-events:none; }
.intel-orbit i { position:absolute; inset:0; border-radius:50%; animation:intel-orbit 7.2s linear infinite; }
.intel-orbit i::after { content:""; position:absolute; right:calc(-.21rem + .5px); top:50%; width:.42rem; height:.42rem; transform:translateY(-50%); border-radius:50%; background:var(--spring); box-shadow:0 0 12px rgba(184,239,106,.58); }
@keyframes intel-orbit { to { transform:rotate(360deg); } }

.visual-stack { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4rem); }
.visual-stack>div { display:grid; grid-template-columns:3rem minmax(0,1fr) 5rem; align-items:center; gap:.6rem; padding:1rem; border-top:1px solid var(--inverse-line); }
.visual-stack>div:last-child { border-bottom:1px solid var(--inverse-line); }
.visual-stack span { color:var(--inverse-muted); font:700 .5rem/1 var(--mono); }
.visual-stack strong { min-width:0; font-size:.72rem; letter-spacing:.08em; overflow-wrap:anywhere; }
.visual-stack i { height:1px; background:linear-gradient(90deg,var(--cyan),transparent); }

.visual-network svg { position:absolute; inset:0; width:100%; height:100%; }
.visual-network path { fill:none; stroke:rgba(85,215,222,.36); stroke-width:1; }
.net-node { position:absolute; z-index:2; width:6.5rem; height:6.5rem; display:grid; place-items:center; border:1px solid var(--inverse-line); border-radius:50%; background:var(--dark-2); font:700 .55rem/1 var(--mono); letter-spacing:.08em; }
.net-a { left:6%; top:43%; }.net-b { left:50%; top:10%; transform:translateX(-50%); border-color:var(--cyan); }.net-c { right:6%; top:39%; }.net-d { left:50%; bottom:6%; transform:translateX(-50%); }
.network-packet { position:absolute; z-index:1; width:.36rem; height:.36rem; margin:-.18rem 0 0 -.18rem; border-radius:50%; background:var(--spring); box-shadow:0 0 .32rem rgba(184,239,106,.92),0 0 1rem rgba(184,239,106,.52); opacity:0; pointer-events:none; will-change:left,top,opacity,transform; animation-timing-function:linear; animation-iteration-count:infinite; }
.net-flow-core-edge { animation-name:net-flow-core-edge; animation-duration:3.9s; animation-delay:-1.1s; }
.net-flow-edge-services { animation-name:net-flow-edge-services; animation-duration:4.7s; animation-delay:-3.2s; }
.net-flow-core-lan { animation-name:net-flow-core-lan; animation-duration:4.2s; animation-delay:-2.4s; }
.net-flow-lan-services { animation-name:net-flow-lan-services; animation-duration:5.1s; animation-delay:-.7s; }
.net-flow-services-core { width:.31rem; height:.31rem; margin:-.155rem 0 0 -.155rem; animation-name:net-flow-services-core; animation-duration:6.3s; animation-delay:-4.8s; }
@keyframes net-flow-core-edge {
    0% { left:50%; top:24.444%; opacity:0; transform:scale(.72); }
    10% { opacity:.95; }
    88% { opacity:.95; }
    100% { left:17.593%; top:52.778%; opacity:0; transform:scale(1); }
}
@keyframes net-flow-edge-services {
    0% { left:17.593%; top:52.778%; opacity:0; transform:scale(.72); }
    12% { opacity:.9; }
    88% { opacity:.9; }
    100% { left:51.852%; top:82.778%; opacity:0; transform:scale(1); }
}
@keyframes net-flow-core-lan {
    0% { left:50%; top:24.444%; opacity:0; transform:scale(.7); }
    10% { opacity:1; }
    90% { opacity:1; }
    100% { left:82.963%; top:48.889%; opacity:0; transform:scale(1); }
}
@keyframes net-flow-lan-services {
    0% { left:82.963%; top:48.889%; opacity:0; transform:scale(.72); }
    12% { opacity:.88; }
    88% { opacity:.88; }
    100% { left:51.852%; top:82.778%; opacity:0; transform:scale(1); }
}
@keyframes net-flow-services-core {
    0% { left:51.852%; top:82.778%; opacity:0; transform:scale(.68); }
    12% { opacity:.75; }
    88% { opacity:.75; }
    100% { left:50%; top:24.444%; opacity:0; transform:scale(.92); }
}

.visual-security { min-height:32rem; }
.security-ring { position:absolute; border:1px solid var(--inverse-line); border-radius:50%; }
.ring-a { inset:9%; }.ring-b { inset:23%; }.ring-c { inset:36%; border-color:rgba(85,215,222,.38); }
.security-core { position:absolute; inset:43%; display:grid; place-content:center; text-align:center; border-radius:50%; background:var(--inverse); color:var(--dark); }
.security-core strong { font-size:.55rem; letter-spacing:.1em; }.security-core span { font:700 .42rem/1 var(--mono); }
.security-label { position:absolute; padding:.35rem .45rem; border:1px solid var(--inverse-line); background:var(--dark); color:var(--inverse-muted); font:700 .48rem/1 var(--mono); }
.sec-a { left:11%; top:24%; }.sec-b { right:8%; top:33%; }.sec-c { right:16%; bottom:17%; }.sec-d { left:8%; bottom:27%; }

.visual-roadmap { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4rem); }
.visual-roadmap>div { display:grid; grid-template-columns:3rem minmax(0,1fr); align-items:center; gap:.5rem; padding:.8rem 1rem; border:1px solid var(--inverse-line); }
.visual-roadmap span { color:var(--cyan); font:700 .5rem/1 var(--mono); }.visual-roadmap strong { min-width:0; font-size:.72rem; letter-spacing:.08em; overflow-wrap:anywhere; }
.visual-roadmap>i { width:1px; height:2.3rem; margin-left:2.5rem; background:linear-gradient(var(--cyan),var(--inverse-line)); }

.process-track li { min-height:11rem; }
.continuity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.continuity-grid article { min-width:0; min-height:15rem; padding:1.3rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; }
.continuity-grid article>span { color:var(--muted); font:700 .55rem/1 var(--mono); }
.continuity-grid h3 { margin-top:auto; font-size:1.55rem; }.continuity-grid p { margin:0; }
.security-principles .continuity-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.noetaris-bridge .dark-statement-grid { align-items:start; }

/* Capability index shared by detail pages */
.service-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-link-grid a { min-width:0; min-height:9rem; display:grid; grid-template-columns:2rem minmax(0,1fr); grid-template-rows:auto 1fr auto; gap:.3rem; padding:1rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; transition:background .2s ease,color .2s ease; }
.service-link-grid a:hover,.service-link-grid a:focus-visible { background:var(--ink); color:var(--inverse); }
.service-link-grid span { grid-row:1/4; color:var(--muted); font:700 .5rem/1 var(--mono); }.service-link-grid strong { min-width:0; align-self:end; font-size:1rem; overflow-wrap:anywhere; }.service-link-grid small { min-width:0; color:var(--muted); font-size:.7rem; overflow-wrap:anywhere; }

/* Global closing CTA */
.closing-cta { position:relative; overflow:hidden; padding-block:clamp(5rem,9vw,9rem); background:var(--dark); color:var(--inverse); }
.closing-cta::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 15% 120%,rgba(184,239,106,.09),transparent 28%),radial-gradient(circle at 80% 0,rgba(85,215,222,.07),transparent 30%); }
.closing-cta-grid { position:relative; z-index:2; display:grid; grid-template-columns:1fr .75fr; gap:clamp(4rem,9vw,10rem); align-items:end; }
.closing-cta h2 { max-width:12ch; margin:0; }.closing-cta p { max-width:35rem; font-size:1.06rem; }
.closing-cta-visual { position:absolute; right:-8rem; top:50%; width:26rem; height:26rem; transform:translateY(-50%); opacity:.18; }
.closing-cta-visual span { position:absolute; border:1px solid var(--cyan); border-radius:50%; }.closing-cta-visual span:nth-child(1){inset:0}.closing-cta-visual span:nth-child(2){inset:20%}.closing-cta-visual span:nth-child(3){inset:40%;border-color:var(--spring)}

/* Projects */
.projects-stage { padding-block:var(--section); }
.project-system { min-width:0; margin-bottom:2rem; border:1px solid var(--line); background:var(--paper-hi); }
.project-system-dark { background:var(--dark); color:var(--inverse); border-color:var(--dark); }
.project-system-head { display:grid; grid-template-columns:4rem 1fr auto; gap:1rem; padding:.8rem 1rem; border-bottom:1px solid var(--line); color:var(--muted); font:700 .55rem/1.2 var(--mono); letter-spacing:.08em; }.project-system-dark .project-system-head{border-color:var(--inverse-line);color:var(--inverse-muted)}.project-system-head strong{color:var(--ink);font-weight:700}.project-system-dark .project-system-head strong{color:var(--spring)}
.project-system-body { min-width:0; display:grid; grid-template-columns:.9fr 1.1fr; min-height:30rem; }.project-system-body>div:first-child{padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.project-system-body h2{margin:0 0 1.2rem;font-size:clamp(3rem,6vw,6rem)}.project-system-body p{max-width:39rem}.project-system-dark p{color:var(--inverse-muted)}
.project-visual { position:relative; min-width:0; min-height:30rem; border-left:1px solid var(--line); overflow:hidden; }.project-system-dark .project-visual{border-color:var(--inverse-line)}
.project-visual-aura { display:grid;place-items:center;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:60px 60px}.project-visual-aura svg{position:absolute;inset:0;width:100%;height:100%}.project-visual-aura path{fill:none;stroke:rgba(13,20,26,.22);stroke-width:1}.project-visual-aura b{z-index:3;width:7rem;height:7rem;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper-hi);font-size:.78rem;letter-spacing:.12em}.project-visual-aura span{position:absolute;padding:.5rem;border:1px solid var(--line);background:var(--paper-hi);font:700 .52rem/1 var(--mono)}.pv-a{top:8%;left:50%;transform:translateX(-50%)}.pv-b{left:8%;top:50%}.pv-c{right:6%;top:50%}.pv-d{left:20%;bottom:8%}.pv-e{right:18%;bottom:8%}
.project-visual-notary{display:grid;place-items:center;background:radial-gradient(circle at center,rgba(85,215,222,.07),transparent 46%)}.project-visual-notary>div{display:flex;align-items:center;gap:1rem}.project-visual-notary span{padding:.8rem;border:1px solid var(--inverse-line);font:700 .54rem/1 var(--mono)}.project-visual-notary i{width:3rem;height:1px;background:var(--cyan)}.project-visual-notary small{position:absolute;bottom:1rem;left:1rem;color:var(--inverse-muted);font:700 .5rem/1 var(--mono);letter-spacing:.08em}
.project-visual-web{display:grid;align-content:center;padding:clamp(2rem,5vw,5rem);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:54px 54px}.project-visual-web>div{display:grid;grid-template-columns:7rem 1fr;padding:1rem;border:1px solid var(--line);border-bottom:0;background:rgba(250,249,246,.88)}.project-visual-web>div:last-child{border-bottom:1px solid var(--line)}.project-visual-web span{color:var(--muted);font:700 .5rem/1 var(--mono)}.project-visual-web strong{font-size:.76rem;letter-spacing:.05em}
.project-criterion { padding-block:var(--section); }
.tag-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.6rem}.tag-row span{padding:.38rem .58rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:700 .58rem/1 var(--mono)}.tag-row-dark span{border-color:var(--inverse-line);color:var(--inverse-muted)}

/* About */
.timeline-section,.principles-section,.philosophy-section { padding-block:var(--section); }
.timeline-statement { display:grid;grid-template-columns:1.1fr .7fr;gap:clamp(4rem,9vw,10rem);align-items:end;margin-bottom:clamp(4rem,8vw,8rem)}.timeline-statement h2{margin:0;max-width:17ch}.timeline-statement p{margin:0;max-width:40rem}
.timeline-track{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--inverse-line);border-left:1px solid var(--inverse-line)}.timeline-track>div{min-height:13rem;display:flex;flex-direction:column;padding:1rem;border-right:1px solid var(--inverse-line);border-bottom:1px solid var(--inverse-line)}.timeline-track span{color:var(--spring);font:700 .55rem/1 var(--mono)}.timeline-track strong{margin-top:auto;font-size:.76rem;letter-spacing:.08em}.timeline-track small{margin-top:.5rem;color:var(--inverse-muted);font-size:.7rem}
.principle-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.principle-grid article{min-height:20rem;padding:clamp(1.5rem,4vw,3rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.principle-grid span{color:var(--muted);font:700 .55rem/1 var(--mono)}.principle-grid h2{max-width:14ch;margin-top:auto;font-size:clamp(2rem,3.8vw,3.7rem)}.principle-grid p{max-width:31rem;margin:0}
.philosophy-grid{display:grid;grid-template-columns:1fr .75fr;gap:clamp(4rem,9vw,10rem);align-items:start}.philosophy-grid p{font-size:1.08rem}.philosophy-grid .text-link{margin-top:1rem}

/* Contact */
.contact-intro { min-width:0; }
.contact-signal-line { display:flex; flex-wrap:wrap; gap:.75rem 1.4rem; margin-top:2.2rem; color:var(--inverse-muted); font:700 .58rem/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.contact-signal-line span { display:inline-flex; align-items:center; gap:.48rem; }
.contact-signal-line i { width:.42rem; height:.42rem; border-radius:50%; background:var(--spring); box-shadow:0 0 16px rgba(184,239,106,.45); }

.contact-intake { align-self:center; min-width:0; border:1px solid var(--inverse-line); background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); box-shadow:0 30px 90px rgba(0,0,0,.2); }
.contact-intake-brand { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem; min-height:6rem; padding:1.15rem 1.25rem; border-bottom:1px solid var(--inverse-line); }
.contact-intake-system { display:flex; flex-direction:column; gap:.38rem; min-width:0; }
.contact-intake-system span { color:var(--inverse-muted); font:700 .48rem/1.35 var(--mono); letter-spacing:.11em; }
.contact-intake-system strong { color:var(--inverse); font-size:.83rem; font-weight:720; }
.contact-live-dot { width:.46rem; height:.46rem; border-radius:50%; background:var(--spring); box-shadow:0 0 16px rgba(184,239,106,.6); }

.brief-progress { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:.55rem; padding:1.05rem 1.1rem 0; color:#64727a; font:700 .5rem/1 var(--mono); }
.brief-progress i { height:1px; background:rgba(255,255,255,.1); }
.brief-progress span { transition:color .2s ease; }
.brief-progress span.is-current { color:var(--spring); }
.brief-progress span.is-complete { color:var(--cyan); }

.brief-form { padding:1rem 1.1rem 1.15rem; }
.brief-step { min-width:0; margin:0; padding:0; border:0; }
.has-js .brief-step:not(.is-active) { display:none; }
.brief-step legend { width:100%; padding:1.25rem 0 .75rem; color:var(--inverse); font-size:clamp(1.45rem,2.4vw,2.15rem); font-weight:620; letter-spacing:-.035em; line-height:1.07; }
.brief-step legend span { display:block; margin-bottom:.6rem; color:#7f8e95; font:800 .52rem/1 var(--mono); letter-spacing:.13em; }
.brief-step>p { max-width:42rem; margin-bottom:1rem; font-size:.83rem; line-height:1.55; }
.brief-control { display:block; }
.brief-control textarea { width:100%; min-height:9rem; resize:vertical; padding:1rem 1.05rem; border:1px solid rgba(255,255,255,.17); border-radius:0; outline:0; background:rgba(0,0,0,.18); color:var(--inverse); font:500 .94rem/1.6 var(--sans); transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease; }
.brief-control textarea::placeholder { color:#6e7b82; }
.brief-control textarea:focus { border-color:rgba(85,215,222,.7); background:rgba(0,0,0,.28); box-shadow:0 0 0 3px rgba(85,215,222,.08); }
.brief-control textarea:invalid:not(:placeholder-shown) { border-color:rgba(229,184,117,.7); }
.brief-suggestions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.75rem; }
.brief-suggestions button { padding:.45rem .62rem; border:1px solid rgba(255,255,255,.13); background:transparent; color:#aab6bb; font:700 .52rem/1.2 var(--mono); letter-spacing:.04em; cursor:pointer; }
.brief-suggestions button:hover,.brief-suggestions button:focus-visible { border-color:var(--cyan); color:var(--cyan); outline:0; }
.brief-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.15rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.1); }
.brief-actions-js { display:none; }
.has-js .brief-actions-js { display:flex; }
.brief-actions button { min-height:2.7rem; padding:.65rem .85rem; border:0; background:transparent; color:#aab6bb; font:780 .62rem/1 var(--mono); letter-spacing:.05em; cursor:pointer; }
.brief-actions button:hover,.brief-actions button:focus-visible { color:var(--inverse); outline:2px solid rgba(184,239,106,.35); outline-offset:3px; }
.brief-actions .brief-next,.brief-actions .brief-submit { border:1px solid rgba(255,255,255,.22); background:var(--inverse); color:var(--dark); }
.brief-actions .brief-next:hover,.brief-actions .brief-submit:hover { border-color:var(--spring); background:var(--spring); color:var(--dark); }
.brief-honeypot { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.framed-question { margin:.35rem 0 1.15rem; padding:1rem; border:1px solid rgba(85,215,222,.28); background:rgba(85,215,222,.05); }
.framed-question span { display:block; margin-bottom:.65rem; color:var(--cyan); font:800 .49rem/1 var(--mono); letter-spacing:.13em; }
.framed-question strong { display:block; color:var(--inverse); font-size:clamp(1rem,1.7vw,1.28rem); font-weight:560; line-height:1.45; letter-spacing:-.015em; }
.brief-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.brief-field { display:grid; gap:.36rem; }
.brief-field span { color:#8c9aa1; font:700 .51rem/1.2 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.brief-field input { width:100%; min-width:0; height:2.85rem; padding:0 .8rem; border:1px solid rgba(255,255,255,.16); border-radius:0; outline:0; background:rgba(0,0,0,.18); color:var(--inverse); }
.brief-field input:focus { border-color:rgba(85,215,222,.7); box-shadow:0 0 0 3px rgba(85,215,222,.08); }
.brief-consent { display:flex; align-items:flex-start; gap:.7rem; margin-top:1rem; color:#8d9aa0; font-size:.67rem; line-height:1.45; }
.brief-consent input { width:1rem; height:1rem; margin:.1rem 0 0; accent-color:var(--spring); }
.brief-human-check { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem; margin-top:1rem; padding:.78rem .85rem; border:1px solid rgba(255,255,255,.13); background:rgba(0,0,0,.14); }
.brief-human-check>div { display:grid; gap:.24rem; min-width:0; }
.brief-human-check>div>span { color:var(--cyan); font:800 .5rem/1.2 var(--mono); letter-spacing:.1em; }
.brief-human-check>div>small { color:#7f8e95; font-size:.64rem; line-height:1.35; }
.brief-human-answer { display:flex; align-items:center; gap:.55rem; }
.brief-human-answer strong { color:var(--inverse); font:750 .8rem/1 var(--mono); white-space:nowrap; }
.brief-human-answer input { width:4.2rem; height:2.55rem; padding:0 .65rem; border:1px solid rgba(255,255,255,.2); border-radius:0; outline:0; background:rgba(0,0,0,.24); color:var(--inverse); font:750 .85rem/1 var(--mono); text-align:center; }
.brief-human-answer input:focus { border-color:rgba(85,215,222,.7); box-shadow:0 0 0 3px rgba(85,215,222,.08); }
.brief-human-error { margin:0; color:var(--warm)!important; font-size:.68rem!important; }
.brief-submit:disabled { cursor:not-allowed!important; opacity:.52; }
.brief-submit-status { min-height:1.3rem; margin:.75rem 0 0; color:var(--warm)!important; font-size:.7rem; }
.brief-success { padding:clamp(2rem,4vw,3.5rem) 1.3rem; }
.brief-success .status-dot { display:block; width:.55rem; height:.55rem; margin-bottom:1.4rem; border-radius:50%; background:var(--spring); box-shadow:0 0 18px rgba(184,239,106,.5); }
.brief-success h2 { max-width:12ch; margin-bottom:1rem; color:var(--inverse); font-size:clamp(2rem,3.2vw,3rem); }
.brief-success p:not(.eyebrow) { max-width:32rem; }

.contact-framing { padding-block:var(--section); }
.contact-framing-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(3.5rem,8vw,9rem); align-items:start; }
.contact-framing-grid>div>p:last-child { max-width:33rem; }
.framing-flow { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.framing-flow li { display:grid; grid-template-columns:3rem minmax(0,1fr) minmax(8rem,.7fr); align-items:center; gap:1rem; min-height:5.25rem; border-bottom:1px solid var(--line); }
.framing-flow li>span { color:var(--muted); font:800 .54rem/1 var(--mono); }
.framing-flow strong { font-size:1rem; }
.framing-flow small { color:var(--muted); font-size:.75rem; }
.framing-flow .framing-output { margin-top:1rem; padding-inline:1rem; border:1px solid rgba(39,86,108,.32); background:rgba(85,215,222,.06); }
.framing-flow .framing-output>span { color:#27566c; font-size:1rem; }

.contact-after { padding-block:clamp(5rem,8vw,8rem); }
.contact-after-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--inverse-line); border-bottom:1px solid var(--inverse-line); }
.contact-after-grid>div { min-height:13rem; padding:1.4rem; border-right:1px solid var(--inverse-line); }
.contact-after-grid>div:first-child { border-left:1px solid var(--inverse-line); }
.contact-after-grid span { color:#66777e; font:800 .52rem/1 var(--mono); }
.contact-after-grid strong { display:block; margin:4rem 0 .55rem; color:var(--inverse); font-size:1rem; }
.contact-after-grid p { margin:0; font-size:.78rem; }
.contact-system-strip { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; margin-top:1.2rem; color:#728187; font:700 .49rem/1.3 var(--mono); letter-spacing:.09em; }
.contact-system-strip span { display:flex; align-items:center; gap:.45rem; }
.contact-system-strip span:nth-child(2) { justify-content:center; }
.contact-system-strip span:nth-child(3) { justify-content:flex-end; }
.contact-system-strip i { width:.4rem; height:.4rem; border-radius:50%; background:var(--spring); box-shadow:0 0 14px rgba(184,239,106,.5); }


/* Explicit semantic hooks used by views; intentionally neutral. */
.brief-step-final,.sx-capabilities,.sx-evidence { position:relative; }

/* Footer */
.site-footer{padding-top:clamp(4rem,7vw,7rem);background:#05080b;color:var(--inverse);border-top:1px solid var(--inverse-line)}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-bottom:4rem}.brand-footer{margin-bottom:1.5rem;width:min(100%,16rem)}.footer-logo{display:block;width:100%;height:auto}.footer-brand p{max-width:27rem}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.footer-nav>div{display:flex;flex-direction:column;gap:.5rem}.footer-nav>div>span{margin-bottom:.8rem;color:var(--inverse-muted);font:700 .55rem/1 var(--mono);letter-spacing:.1em}.footer-nav a{color:#d5dde0;text-decoration:none;font-size:.85rem}.footer-nav a:hover{color:var(--spring)}.footer-system{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:1rem;padding:1rem 0;border-top:1px solid var(--inverse-line);border-bottom:1px solid var(--inverse-line);color:var(--inverse-muted);font:700 .52rem/1.2 var(--mono);letter-spacing:.08em}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding:1.2rem 0;color:#718087;font:700 .49rem/1.2 var(--mono);letter-spacing:.08em}

/* Error */
.error-hero{min-height:72svh;display:grid;align-items:center;padding-top:var(--chrome-h);background:var(--dark);color:var(--inverse)}.error-hero h1{max-width:12ch}.error-hero .hero-lead{color:var(--inverse-muted)}

/* Reveal */
.reveal { opacity:1; transform:none; }
.has-js .reveal.is-pending { opacity:0; transform:translateY(18px); }
.has-js .reveal.is-visible { opacity:1; transform:none; transition:opacity .65s var(--ease),transform .65s var(--ease); }

@media (max-width: 1180px) {
    .solution-entry>div{grid-template-columns:1fr;gap:.55rem}
    .solution-entry h2{max-width:22ch}
    .solution-entry p{max-width:50rem}
}

@media (max-width: 1080px) {
    .hero-home-grid,.noetaris-hero-grid,.service-hero-grid,.contact-grid{grid-template-columns:1fr;gap:4rem}
    .hero-home,.noetaris-hero,.service-hero,.contact-hero{min-height:auto;padding-top:calc(var(--chrome-h) + 5rem)}
    .computational-stage{width:min(100%,34rem)}
    .manifest-grid,.method-heading,.origin-grid,.page-hero-grid,.dark-statement-grid,.timeline-statement,.philosophy-grid,.brief-grid,.identity-grid,.closing-cta-grid{grid-template-columns:1fr;gap:2.4rem}
    .system-map{min-height:42rem}.map-node.node-1{left:3%;top:8%}.map-node.node-2{top:8%;left:auto;right:3%;transform:none}.map-node.node-2:hover{transform:translateY(-3px)}.map-node.node-3{right:3%;top:32%}.map-node.node-4{right:3%;bottom:8%}.map-node.node-5{left:3%;bottom:8%;transform:none}.map-node.node-5:hover{transform:translateY(-3px)}.map-node.node-6{left:3%;bottom:auto;top:32%}
    .noetaris-gateway-grid{grid-template-columns:1fr;gap:4rem}.gateway-visual{min-height:31rem}
    .work-item{grid-template-columns:8rem 1fr}.work-schematic{grid-column:2}
    .architecture-board{grid-template-columns:1fr}.arch-spine{grid-column:1;border-right:0;border-bottom:1px solid var(--inverse-line)}.architecture-board>.arch-row{grid-column:1}
    .engine-list article{grid-template-columns:7rem 1fr}.engine-list article p{grid-column:2}.engine-list article i{display:none}
    .project-system-body{grid-template-columns:1fr}.project-visual{border-left:0;border-top:1px solid var(--line)}.project-system-dark .project-visual{border-color:var(--inverse-line)}
    .two-column-story{grid-template-columns:1fr;gap:2.5rem}
}

@media (max-width: 920px) {
    .desktop-nav { display:none; }
    .menu-toggle { display:block; }
    .no-js .site-header { position:relative; height:auto; }
    .no-js .header-inner { min-height:var(--header-h); height:auto; flex-wrap:wrap; padding-block:.55rem; }
    .no-js .desktop-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:0 1rem; padding-bottom:.65rem; }
    .no-js .desktop-nav a { padding:.7rem 0; border-top:1px solid var(--inverse-line); }
    .no-js .desktop-nav .nav-cta { justify-content:center; border-radius:2px; }
    .no-js .menu-toggle { display:none; }
    .mobile-nav[hidden] { display:none; }
    .mobile-nav:not([hidden]) { display:block; }
    .header-brand { width:12.75rem; }
}

@media (max-width: 820px) {
    :root{--header-h:72px;--gutter:1.15rem}
    .header-brand{width:11.9rem}
    h1{font-size:clamp(2.75rem,12vw,4.7rem)}h2{font-size:clamp(2.1rem,9vw,3.5rem)}
    .hero-meta-line{margin-bottom:2rem}.hero-meta-line span:last-child{display:none}
    .hero-scroll{display:none}
    .computational-stage{width:100%;max-width:30rem}.stage-label{font-size:.43rem}.stage-telemetry{display:none}
    .section-kicker{align-items:flex-start;flex-direction:column;gap:.35rem}
    .system-map{min-height:auto;padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.system-map::before,.map-lines{display:none}.map-core{position:relative;left:auto;top:auto;transform:none;width:auto;aspect-ratio:auto;min-height:6rem;grid-column:1/3;border-radius:0}.map-node{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto;min-height:5rem;transform:none!important}.map-node:hover{transform:translateY(-2px)!important}
    .capability-row{grid-template-columns:2.5rem 1fr 2.7rem;gap:1rem;min-height:0;padding:2rem 0}.capability-row>p{grid-column:2/4}.capability-row>a{grid-column:3;grid-row:1/2}.capability-row h2{font-size:2rem}
    .gateway-copy h2,.noetaris-hero h1{font-size:clamp(3.5rem,18vw,6.4rem)}
    .gateway-visual{min-height:27rem}.gateway-layer{left:1.5rem;grid-template-columns:2.4rem 1fr}.gateway-layer i{display:none}.gateway-core{left:1.5rem}
    .method-track,.process-track{grid-template-columns:1fr}.method-track li,.process-track li{min-height:7.5rem}.work-item{grid-template-columns:1fr;gap:1.3rem}.work-schematic{grid-column:1;min-height:12rem}.work-meta{display:flex;justify-content:space-between}.work-heading{align-items:flex-start;flex-direction:column}
    .origin-years{margin-bottom:1rem}
    .architecture-board>.arch-row{grid-template-columns:2.5rem 1fr}.arch-row small{grid-column:2}.arch-row i{display:none}
    .engine-list article{grid-template-columns:1fr;gap:.7rem}.engine-list article p{grid-column:1}.identity-chain{grid-template-columns:1fr}.identity-chain>i{width:1px;height:2rem;margin-inline:auto}
    .project-system-head{grid-template-columns:3rem 1fr}.project-system-head strong{grid-column:2}.project-visual{min-height:22rem}.project-system-body h2{font-size:3.4rem}
    .timeline-track{grid-template-columns:1fr}.timeline-track>div{min-height:8rem}.principle-grid{grid-template-columns:1fr}.principle-grid article{min-height:16rem}
    .contact-direct-grid{align-items:flex-start;flex-direction:column}.contact-console dl>div{grid-template-columns:6rem 1fr}
    .solution-entry{grid-template-columns:2.5rem minmax(0,1fr) 2.2rem;gap:.9rem;min-height:0;padding:1.65rem 0}.solution-entry>div{grid-template-columns:1fr;gap:.5rem}.solution-entry h2{font-size:clamp(1.8rem,7vw,2.5rem);max-width:22ch}.solution-entry p{font-size:.9rem}.solution-entry:hover,.solution-entry:focus-visible{padding-inline:.35rem}
    .service-visual{min-height:24rem}.continuity-grid,.security-principles .continuity-grid{grid-template-columns:1fr}.continuity-grid article{min-height:10rem}
    .service-link-grid{grid-template-columns:1fr 1fr}.service-link-grid a{min-height:8rem}
    .footer-top{grid-template-columns:1fr;gap:3rem}.footer-system{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:.45rem}
}

@media (max-width: 820px) {
    body.has-news-radar { --news-h: 36px; }
    .news-radar { grid-template-columns:auto minmax(0,1fr); }
    .news-radar-label { padding-inline:14px; }
    .news-radar-label small { display:none; }
    .news-radar-item { gap:7px; padding-inline:14px; font-size:10px; }
    .news-radar-item span { max-width:48ch; }
}

@media (max-width: 520px) {
    .page-hero h1{max-width:100%;font-size:clamp(2.5rem,12vw,3.05rem);line-height:.98}
    .solution-entry{grid-template-columns:2rem minmax(0,1fr) 1.4rem;gap:.7rem;padding:1.45rem 0}
    .solution-entry>span{font-size:.52rem}
    .solution-entry small{font-size:.52rem}
    .solution-entry h2{font-size:clamp(1.65rem,8vw,2.15rem);line-height:1}
    .solution-entry p{font-size:.84rem;line-height:1.55}
    .solution-entry>b{font-size:1rem}
    .solution-entry::before{inset:0}
    .header-inner{gap:1rem}
    .header-brand{width:10.7rem}
    .mobile-nav-head span:last-child{display:none}
    .mobile-nav a{grid-template-columns:2.35rem minmax(0,1fr)}
    .mobile-nav a.is-active::before,.mobile-nav a[aria-current="page"]::before{width:2.35rem}
    .hero-home,.noetaris-hero,.service-hero,.contact-hero{padding-top:calc(var(--chrome-h) + 3rem)}
    .hero-actions{align-items:flex-start;flex-direction:column}.hero-status{flex-direction:column;gap:.55rem}
    .computational-stage{aspect-ratio:1;transform:scale(1.06)}.stage-label-c,.stage-label-d{display:none}
    .system-map{grid-template-columns:1fr}.map-core{grid-column:1}.map-node{grid-column:1}
    .work-item h3{font-size:2.8rem}.work-schematic{min-height:10rem}
    .gateway-layer strong{font-size:.67rem}.gateway-layer{right:-.5rem}
    .project-system-body>*{min-width:0}.project-system-body>div:first-child{padding:1.5rem}.project-system-body h2{max-width:100%;font-size:clamp(2.2rem,11vw,2.8rem);overflow-wrap:break-word}.project-visual{min-height:19rem}.project-visual-notary>div{max-width:100%;flex-wrap:wrap;justify-content:center;padding:1rem}.project-visual-notary i{width:2rem}.project-visual-web{padding:1rem}.project-visual-web>div{grid-template-columns:1fr;gap:.38rem}.project-visual-web strong{overflow-wrap:anywhere}.project-visual-aura span{font-size:.43rem}.pv-b{left:2%}.pv-c{right:2%}.pv-d{left:5%}.pv-e{right:4%}
    .service-link-grid{grid-template-columns:1fr}.service-link-grid a{min-height:7rem}
    .feature-list>div{grid-template-columns:1fr;gap:.28rem}
    .service-visual,.visual-intelligence,.visual-security{min-height:20rem}
    .visual-software{padding:1rem}.visual-software>div{grid-template-columns:4rem minmax(0,1fr)}.visual-software>i{margin-left:2rem}
    .visual-stack{padding:1rem}.visual-stack>div{grid-template-columns:2rem minmax(0,1fr);padding:.85rem}.visual-stack i{display:none}
    .visual-roadmap{padding:1rem}.visual-roadmap>div{grid-template-columns:2.5rem minmax(0,1fr)}.visual-roadmap>i{margin-left:2rem;height:1.55rem}
    .net-node{width:4.65rem;height:4.65rem;font-size:.45rem}.intel-node{width:4.55rem;height:4.55rem}.intel-core,.intel-orbit{width:6rem;height:6rem}.intel-node strong,.intel-core strong{font-size:.55rem}
    .security-label{padding:.3rem .38rem;font-size:.42rem}.security-core{inset:39%}
    .closing-cta-visual{right:-12rem;opacity:.12}.closing-cta h2{max-width:10ch}
    .footer-system{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr}
}

@media (max-width: 920px) and (max-height: 560px) {
    .mobile-nav-inner { padding-top:.65rem; padding-bottom:max(.7rem,env(safe-area-inset-bottom)); }
    .mobile-nav-head { padding-bottom:.55rem; }
    .mobile-nav a { min-height:2.85rem; padding:.35rem 0; }
    .mobile-nav a strong { font-size:clamp(1.05rem,4.8vw,1.45rem); }
    .mobile-nav-foot { padding-top:.65rem; }
}

@media (prefers-reduced-motion: reduce) {
    .news-radar-viewport { overflow-x:auto; mask-image:none; -webkit-mask-image:none; scrollbar-width:thin; }
    .news-radar-track { animation:none; }
    .news-radar-segment[aria-hidden="true"] { display:none; }
    html { scroll-behavior:auto; }
    *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
    .has-js .reveal.is-pending { opacity:1; transform:none; }
}

@media (forced-colors: active) {
    .stage-core,.map-core,.gateway-core,.intel-core,.security-core { border:1px solid CanvasText; }
}

@media (max-width: 980px) {
    .contact-intake-brand { grid-template-columns:minmax(0,1fr) auto; }
    .contact-framing-grid { grid-template-columns:1fr; gap:2.8rem; }
    .contact-after-grid { grid-template-columns:1fr; }
    .contact-after-grid>div,.contact-after-grid>div:first-child { min-height:auto; border-left:1px solid var(--inverse-line); border-right:1px solid var(--inverse-line); border-bottom:1px solid var(--inverse-line); }
    .contact-after-grid>div:last-child { border-bottom:0; }
    .contact-after-grid strong { margin:2.2rem 0 .5rem; }
}

@media (max-width: 620px) {
    .contact-signal-line { display:grid; gap:.55rem; }
    .contact-intake { margin-inline:calc(var(--gutter) * -.25); }
    .contact-intake-brand { grid-template-columns:1fr auto; min-height:5.25rem; padding:.95rem 1rem; }
    .brief-progress { gap:.38rem; }
    .brief-contact-grid { grid-template-columns:1fr; }
    .brief-human-check { grid-template-columns:1fr; align-items:start; }
    .brief-human-answer { justify-content:space-between; }
    .brief-actions { align-items:stretch; }
    .brief-actions .brief-submit { flex:1; }
    .framing-flow li { grid-template-columns:2.3rem 1fr; padding:.9rem 0; }
    .framing-flow small { grid-column:2; }
    .framing-flow .framing-output { padding:.9rem; }
    .contact-system-strip { grid-template-columns:1fr; }
    .contact-system-strip span:nth-child(2),.contact-system-strip span:nth-child(3) { justify-content:flex-start; }
}
