@charset "UTF-8";

:root {
    --bg: #07090d;
    --bg-2: #0b0f15;
    --panel: #10151d;
    --line: rgba(255,255,255,.12);
    --line-strong: rgba(255,255,255,.24);
    --text: #f5f7fb;
    --muted: #9aa5b3;
    --accent: #8ad9ff;
    --accent-2: #a6ffcf;
    --paper: #f0f2ef;
    --ink: #101318;
    --max: 1480px;
    --ease: cubic-bezier(.22,.61,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: Inter, Pretendard, "Noto Sans KR", "Noto Sans JP", "Noto Sans SC", Arial, sans-serif;
    letter-spacing: -.02em;
    overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: rgba(138,217,255,.28); color: #fff; }

.page-noise {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 90;
    opacity: .06;
    mix-blend-mode: soft-light;
    background-image:
        repeating-radial-gradient(circle at 20% 30%, rgba(255,255,255,.35) 0 1px, transparent 1px 4px);
    background-size: 7px 7px;
}
.cursor-orb {
    position: fixed;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(96,182,255,.11), rgba(96,182,255,0) 68%);
    filter: blur(10px);
    transition: opacity .3s ease;
}

.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 100;
    height: 86px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 30px;
    padding: 0 clamp(24px,4vw,72px);
    border-bottom: 1px solid transparent;
    transition: background .45s var(--ease), border-color .45s var(--ease), height .45s var(--ease);
}
.site-header.scrolled {
    height: 70px;
    background: rgba(7,9,13,.78);
    backdrop-filter: blur(18px) saturate(140%);
    border-color: var(--line);
}
.brand {
    justify-self: start;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.brand strong {
    font-size: 21px;
    letter-spacing: .12em;
}
.brand strong span { color: var(--accent); }
.brand small {
    color: var(--muted);
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.top-nav {
    display: flex;
    align-items: center;
    gap: clamp(18px,2.5vw,38px);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.top-nav a {
    position: relative;
    color: rgba(255,255,255,.72);
}
.top-nav a::after {
    content: "";
    position: absolute;
    left: 0; right: 100%; bottom: -8px;
    height: 1px;
    background: var(--accent);
    transition: right .3s var(--ease);
}
.top-nav a:hover { color: #fff; }
.top-nav a:hover::after { right: 0; }
.header-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 22px;
}
.lang-switch {
    display: flex;
    gap: 10px;
    font-size: 10px;
    letter-spacing: .12em;
}
.lang-switch a { color: rgba(255,255,255,.42); }
.lang-switch a.active, .lang-switch a:hover { color: #fff; }
.menu-button {
    display: none;
    width: 42px; height: 42px;
    border: 1px solid var(--line);
    background: transparent;
    color: white;
    padding: 0 10px;
}
.menu-button span {
    display: block;
    height: 1px;
    background: currentColor;
    margin: 7px 0;
}

.hero {
    position: relative;
    min-height: 940px;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 72% 44%, rgba(36,86,122,.24), transparent 30%),
        linear-gradient(180deg,#07090d 0%,#090c12 60%,#07090d 100%);
}
.global-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.hero::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg, rgba(7,9,13,.94) 0%, rgba(7,9,13,.68) 40%, rgba(7,9,13,.04) 68%, rgba(7,9,13,.25) 100%),
        linear-gradient(180deg, transparent 72%, #07090d 100%);
}
.hero-grid {
    position: relative;
    z-index: 2;
    width: min(var(--max), calc(100% - 8vw));
    min-height: 940px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.04fr .96fr;
    align-items: center;
}
.hero-copy {
    padding-top: 70px;
    max-width: 780px;
}
.eyebrow {
    margin: 0 0 26px;
    color: #9fb0c2;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.hero h1 {
    margin: 0;
    display: grid;
    gap: 0;
    font-size: clamp(58px,6.3vw,106px);
    line-height: .98;
    font-weight: 500;
    letter-spacing: -.065em;
}
.hero h1 span { display:block; }
.accent-line {
    background: linear-gradient(90deg,#fff 0%,#bce8ff 60%,#8ad9ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.hero-lead {
    max-width: 720px;
    margin: 34px 0 0;
    color: #a9b4c1;
    font-size: clamp(16px,1.25vw,20px);
    line-height: 1.8;
    font-weight: 350;
}
.hero-actions {
    margin-top: 38px;
    display: flex;
    align-items: center;
    gap: 26px;
}
.button-primary {
    display: inline-flex;
    align-items: center;
    gap: 22px;
    padding: 15px 18px 15px 20px;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
    font-size: 12px;
    letter-spacing: .04em;
    transition: background .3s ease, transform .3s ease;
}
.button-primary:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); }
.button-text {
    font-size: 12px;
    color: #b8c4cf;
}
.button-text span { margin-left: 12px; color: var(--accent); }
.hero-index {
    display: grid;
    grid-template-columns: repeat(4, minmax(90px, 1fr));
    gap: 0;
    margin-top: 68px;
    max-width: 660px;
    border-top: 1px solid var(--line);
}
.hero-index div {
    padding: 16px 18px 0 0;
    display: grid;
    gap: 5px;
}
.hero-index b {
    font-size: 10px;
    color: var(--accent);
    letter-spacing: .12em;
}
.hero-index span { font-size: 11px; color: var(--muted); }

.globe-caption {
    position: absolute;
    right: 0;
    bottom: 120px;
    width: 320px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 0 0;
    border-top: 1px solid var(--line);
}
.globe-caption strong {
    display:block;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.globe-caption p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.7;
}
.pulse-dot {
    width: 8px; height: 8px;
    margin-top: 2px;
    border-radius: 50%;
    background: var(--accent-2);
    box-shadow: 0 0 0 0 rgba(166,255,207,.5);
    animation: pulse 2.2s infinite;
}
@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(166,255,207,.4); }
    70% { box-shadow: 0 0 0 12px rgba(166,255,207,0); }
    100% { box-shadow: 0 0 0 0 rgba(166,255,207,0); }
}
.country-label {
    position:absolute;
    right: var(--x);
    top: var(--y);
    display:grid;
    gap:2px;
    min-width:70px;
    padding-left: 16px;
    font-size:10px;
    letter-spacing:.12em;
    opacity:.9;
}
.country-label::before {
    content:"";
    position:absolute;
    left:0; top:4px;
    width:7px; height:7px;
    border-radius:50%;
    background: var(--accent);
    box-shadow: 0 0 14px var(--accent);
}
.country-label b { color:#fff; }
.country-label span { color:#8290a0; font-size:8px; }
.country-kr { --x: 21%; --y: 39%; }
.country-jp { --x: 13%; --y: 43%; }
.country-cn { --x: 30%; --y: 47%; }
.country-en { --x: 10%; --y: 26%; }
.scroll-cue {
    position:absolute;
    left:0; bottom:48px;
    display:flex;
    gap:12px;
    align-items:center;
    color:#697686;
    font-size:9px;
    letter-spacing:.22em;
}
.scroll-cue i {
    width:68px;height:1px;
    background:linear-gradient(90deg,#697686,transparent);
}

.marquee {
    overflow:hidden;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:#080b10;
}
.marquee-track {
    width:max-content;
    display:flex;
    align-items:center;
    gap:30px;
    padding:18px 0;
    animation: marquee 28s linear infinite;
}
.marquee span {
    color:#7f8d9e;
    font-size:10px;
    letter-spacing:.17em;
    white-space:nowrap;
}
.marquee i {
    width:4px;height:4px;border-radius:50%;
    background:#2e617b;
}
@keyframes marquee { to { transform: translateX(-50%); } }

.section {
    position:relative;
    padding: 120px clamp(24px,5vw,80px);
}
.section-dark { background:#080b10; }
.section-light { background:var(--paper); color:var(--ink); }
.section-head {
    width:min(var(--max),100%);
    margin:0 auto 54px;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:30px;
}
.section-head h2 {
    margin:0;
    font-size:clamp(42px,5vw,78px);
    font-weight:500;
    letter-spacing:-.055em;
}
.section-head > p {
    max-width:480px;
    margin:0 0 8px;
    color:#8996a4;
    font-size:12px;
    letter-spacing:.06em;
    text-align:right;
}
.section-light .section-head > p { color:#6a727b; }

.research-list { width:min(var(--max),100%); margin:auto; }
.research-row {
    display:grid;
    grid-template-columns:70px 150px 1fr 50px;
    align-items:center;
    min-height:124px;
    border-top:1px solid var(--line);
    transition:background .35s ease, padding .35s ease;
}
.research-row:last-child { border-bottom:1px solid var(--line); }
.research-row:hover { background:rgba(255,255,255,.025); padding:0 18px; }
.row-number { color:#5d6874; font-size:11px; }
.row-type { color:var(--accent); font-size:10px; letter-spacing:.15em; }
.row-title h3 {
    margin:0;
    font-size:clamp(24px,2vw,34px);
    font-weight:450;
    letter-spacing:-.035em;
}
.row-title p { margin:8px 0 0; color:#788697; font-size:12px; }
.row-arrow { justify-self:end; font-size:20px; color:#657484; }

.technology-layout { width:min(var(--max),100%); margin:auto; }
.area-cloud {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:50px;
}
.area-pill {
    border:1px solid rgba(16,19,24,.16);
    border-radius:999px;
    background:transparent;
    color:#343a42;
    padding:11px 15px;
    font-size:11px;
    letter-spacing:.035em;
    cursor:pointer;
    transition:all .25s ease;
}
.area-pill:hover, .area-pill.is-active {
    background:#101318;
    color:#fff;
    border-color:#101318;
}
.product-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:#cfd4d2;
    border:1px solid #cfd4d2;
}
.product-card {
    min-height:270px;
    position:relative;
    background:#f4f5f2;
    padding:28px;
    overflow:hidden;
    transition:transform .45s var(--ease), background .45s ease;
    transition-delay:var(--delay,0ms);
}
.product-card:hover { background:#fff; z-index:2; transform:translateY(-8px); }
.product-top {
    display:flex;
    justify-content:space-between;
    color:#777f88;
    font-size:9px;
    letter-spacing:.12em;
}
.product-card h3 {
    margin:72px 0 8px;
    font-size:27px;
    font-weight:560;
    letter-spacing:-.045em;
}
.product-card p { margin:0; color:#4f5963; font-size:12px; }
.product-card small {
    display:block;
    margin-top:10px;
    color:#8a9198;
    font-size:10px;
    line-height:1.5;
}
.card-line {
    position:absolute;
    left:28px;right:28px;bottom:28px;
    height:1px;
    background:#cfd4d2;
}
.card-line::after {
    content:"";
    position:absolute;left:0;top:-1px;
    height:3px;width:24%;
    background:#101318;
    transition:width .4s ease;
}
.product-card:hover .card-line::after { width:100%; }

.magazine-section {
    background:#0b0f15;
    overflow:hidden;
}
.magazine-intro {
    width:min(var(--max),100%);
    margin:0 auto 60px;
    display:grid;
    grid-template-columns:1fr 1.1fr;
    align-items:end;
    gap:80px;
}
.magazine-intro h2 {
    margin:0;
    font-size:clamp(48px,5.5vw,88px);
    font-weight:500;
    letter-spacing:-.06em;
}
.magazine-intro > p:last-child {
    margin:0 0 8px;
    color:#9aa5b3;
    font-size:15px;
    line-height:1.8;
}
.magazine-grid {
    width:min(var(--max),100%);
    margin:auto;
    display:grid;
    grid-template-columns:1.3fr .85fr .85fr;
    gap:18px;
}
.mag-card {
    min-height:540px;
    position:relative;
    overflow:hidden;
    border:1px solid var(--line);
    background:#0f141c;
    display:flex;
    flex-direction:column;
}
.mag-visual {
    flex:1;
    min-height:330px;
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 70% 34%,rgba(93,192,255,.34),transparent 22%),
        linear-gradient(135deg,#152335,#0c1118 62%,#17202a);
}
.mag-card-2 .mag-visual {
    background:
        radial-gradient(circle at 30% 65%,rgba(136,255,190,.20),transparent 28%),
        linear-gradient(145deg,#132018,#0c1110 58%,#151e18);
}
.mag-card-3 .mag-visual {
    background:
        radial-gradient(circle at 56% 48%,rgba(197,165,255,.20),transparent 24%),
        linear-gradient(145deg,#1a1524,#0d0b13 58%,#1b1422);
}
.mag-visual::before {
    content:"";
    position:absolute;
    width:240px;height:240px;
    left:50%;top:50%;
    transform:translate(-50%,-50%) rotate(25deg);
    border:1px solid rgba(255,255,255,.28);
    border-radius:50%;
    box-shadow:
        0 0 0 36px rgba(255,255,255,.025),
        0 0 0 76px rgba(255,255,255,.018);
}
.mag-orbit {
    position:absolute;inset:15% 12%;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    transform:rotate(-18deg);
}
.mag-gridline {
    position:absolute;inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:40px 40px;
    mask-image:linear-gradient(180deg,transparent,black 30%,black 70%,transparent);
}
.mag-visual b {
    position:absolute;right:24px;top:20px;
    font-size:68px;
    font-weight:300;
    color:rgba(255,255,255,.16);
}
.mag-meta { padding:28px; }
.mag-meta > span {
    color:var(--accent);
    font-size:9px;
    letter-spacing:.16em;
}
.mag-meta h3 {
    margin:13px 0 22px;
    font-size:clamp(22px,2vw,32px);
    font-weight:450;
    line-height:1.15;
    letter-spacing:-.04em;
}
.byline { color:#778493; font-size:10px; letter-spacing:.03em; }

.author-section {
    background:#e8ebe6;
    color:#101318;
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:720px;
    padding-top:0;
    padding-bottom:0;
}
.author-visual {
    position:relative;
    min-height:720px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-right:1px solid #ced3ce;
}
.author-monogram {
    font-size:clamp(90px,12vw,190px);
    letter-spacing:-.08em;
    font-weight:700;
    color:#11161b;
    opacity:.92;
}
.orbit-ring {
    position:absolute;
    border:1px solid rgba(20,30,38,.2);
    border-radius:50%;
}
.orbit-a { width:540px;height:540px;transform:rotate(28deg) scaleY(.58); }
.orbit-b { width:680px;height:680px;transform:rotate(-32deg) scaleY(.42); }
.author-signal {
    position:absolute;width:8px;height:8px;border-radius:50%;
    background:#226789;box-shadow:0 0 20px rgba(34,103,137,.4);
}
.signal-a { left:30%; top:27%; }
.signal-b { right:26%; bottom:31%; }
.author-copy {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:80px clamp(36px,7vw,120px);
}
.author-copy h2 {
    margin:0;
    font-size:clamp(54px,6vw,94px);
    font-weight:520;
    letter-spacing:-.06em;
}
.author-copy h3 {
    margin:15px 0 0;
    color:#3b4650;
    font-size:16px;
    font-weight:500;
}
.author-copy > p:last-of-type {
    max-width:640px;
    margin:36px 0 0;
    color:#4f5962;
    font-size:16px;
    line-height:1.9;
}
.author-tags {
    margin-top:34px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.author-tags span {
    padding:9px 11px;
    border:1px solid #c3c9c5;
    font-size:10px;
    letter-spacing:.05em;
}

.archive-section {
    background:#07090d;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:80px;
    align-items:end;
}
.archive-title h2 {
    margin:0;
    font-size:clamp(48px,5.5vw,86px);
    font-weight:460;
    letter-spacing:-.06em;
    line-height:1.02;
}
.archive-columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
}
.archive-columns div {
    min-height:150px;
    background:#0a0e13;
    padding:22px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.archive-columns span { color:#637181; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.archive-columns strong { font-size:14px; font-weight:450; }

.site-footer {
    min-height:110px;
    padding:30px clamp(24px,5vw,80px);
    border-top:1px solid var(--line);
    background:#07090d;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}
.site-footer > div:first-child { display:flex; align-items:center; gap:24px; }
.site-footer strong { letter-spacing:.14em; }
.site-footer span, .site-footer a { color:#677584; font-size:10px; letter-spacing:.05em; }
.footer-right { display:flex; gap:18px; align-items:center; }

.reveal {
    opacity:0;
    transform:translateY(26px);
    transition:opacity .85s var(--ease), transform .85s var(--ease);
}
.reveal.is-visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.14s; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
    .reveal { opacity:1; transform:none; }
    .cursor-orb { display:none; }
}
@media (max-width: 1180px) {
    .top-nav { display:none; }
    .site-header { grid-template-columns:1fr auto; }
    .header-actions { grid-column:2; }
    .menu-button { display:block; }
    .hero-grid { grid-template-columns:1fr; }
    .hero-copy { max-width:760px; }
    .country-label { opacity:.6; }
    .product-grid { grid-template-columns:repeat(2,1fr); }
    .magazine-grid { grid-template-columns:1fr 1fr; }
    .mag-card:first-child { grid-column:1 / -1; }
}
@media (max-width: 760px) {
    .site-header { height:70px; padding:0 18px; }
    .brand small { display:none; }
    .lang-switch { display:none; }
    .hero { min-height:780px; }
    .hero-grid { width:calc(100% - 36px); min-height:780px; }
    .hero-copy { padding-top:50px; }
    .hero h1 { font-size:clamp(46px,13vw,74px); }
    .hero-lead { font-size:15px; line-height:1.7; }
    .hero-index { grid-template-columns:1fr 1fr; max-width:360px; }
    .globe-caption, .country-label { display:none; }
    .section { padding:82px 18px; }
    .section-head { align-items:flex-start; flex-direction:column; }
    .section-head > p { text-align:left; }
    .research-row { grid-template-columns:44px 1fr 28px; padding:20px 0; }
    .row-type { display:none; }
    .product-grid { grid-template-columns:1fr; }
    .product-card { min-height:220px; }
    .magazine-intro { grid-template-columns:1fr; gap:24px; }
    .magazine-grid { grid-template-columns:1fr; }
    .mag-card:first-child { grid-column:auto; }
    .mag-card { min-height:480px; }
    .author-section { grid-template-columns:1fr; padding:0; }
    .author-visual { min-height:430px; border-right:0; border-bottom:1px solid #ced3ce; }
    .author-copy { padding:70px 24px; }
    .archive-section { grid-template-columns:1fr; gap:50px; }
    .archive-columns { grid-template-columns:1fr; }
    .site-footer { flex-direction:column; align-items:flex-start; }
}


/* 1.0.2.0 — Platform & Application Atlas */
.platform-section {
    isolation:isolate;
    overflow:hidden;
    background:
        radial-gradient(circle at 48% 28%, rgba(44,104,139,.18), transparent 30%),
        #080b10;
}
.platform-canvas {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:-1;
    opacity:.72;
}
.platform-shell { width:min(var(--max),100%); margin:auto; }
.platform-intro {
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:end;
    gap:72px;
    margin-bottom:54px;
}
.platform-intro h2 {
    margin:0;
    max-width:960px;
    font-size:clamp(44px,5vw,78px);
    font-weight:500;
    letter-spacing:-.055em;
    line-height:1;
}
.platform-intro > p {
    margin:0 0 6px;
    color:#96a4b3;
    font-size:14px;
    line-height:1.8;
}
.atlas-status {
    display:grid;
    grid-template-columns:1.4fr repeat(3,1fr);
    border:1px solid var(--line);
    background:rgba(9,13,19,.58);
    backdrop-filter:blur(12px);
    margin-bottom:22px;
}
.atlas-core {
    min-height:150px;
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:30px 36px;
    overflow:hidden;
}
.atlas-core strong {
    position:relative;
    z-index:2;
    font-size:24px;
    line-height:.88;
    letter-spacing:.04em;
}
.atlas-core small {
    position:relative;
    z-index:2;
    margin-top:12px;
    color:#718293;
    font-size:9px;
    letter-spacing:.18em;
}
.atlas-core-ring {
    position:absolute;
    width:230px;height:90px;
    right:24px;top:30px;
    border:1px solid rgba(138,217,255,.17);
    border-radius:50%;
    transform:rotate(-14deg);
}
.atlas-core-ring::after {
    content:"";
    position:absolute;
    width:6px;height:6px;border-radius:50%;
    right:21px;top:17px;
    background:var(--accent);
    box-shadow:0 0 18px var(--accent);
}
.atlas-core-ring.ring-b { transform:rotate(21deg) scale(.76); opacity:.52; }
.atlas-stat {
    min-height:150px;
    padding:30px;
    border-left:1px solid var(--line);
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:8px;
}
.atlas-stat b {
    font-size:clamp(20px,2vw,31px);
    font-weight:450;
    letter-spacing:-.04em;
}
.atlas-stat span {
    color:#718293;
    font-size:9px;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.platform-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}
.platform-card {
    position:relative;
    min-height:460px;
    padding:32px;
    border:1px solid var(--line);
    background:
        linear-gradient(160deg, rgba(21,31,43,.96), rgba(10,14,20,.94));
    overflow:hidden;
    transition:transform .45s var(--ease), border-color .45s ease, background .45s ease;
}
.platform-card::before {
    content:"";
    position:absolute;
    width:390px;height:390px;
    right:-140px;top:-170px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:50%;
    box-shadow:0 0 0 45px rgba(255,255,255,.018),0 0 0 95px rgba(255,255,255,.012);
    transition:transform .8s var(--ease);
}
.platform-card:hover {
    transform:translateY(-6px);
    border-color:rgba(138,217,255,.38);
    background:linear-gradient(160deg, rgba(22,38,52,.98), rgba(10,14,20,.98));
}
.platform-card:hover::before { transform:scale(1.07) rotate(8deg); }
.platform-card-2 { background:linear-gradient(160deg,rgba(18,36,30,.96),rgba(9,15,13,.95)); }
.platform-card-3 { background:linear-gradient(160deg,rgba(29,25,47,.96),rgba(12,10,19,.95)); }
.platform-card-4 { background:linear-gradient(160deg,rgba(22,30,44,.96),rgba(8,12,20,.97)); }
.platform-card-head {
    position:relative;z-index:2;
    display:flex;justify-content:space-between;align-items:center;
    color:#718091;font-size:9px;letter-spacing:.14em;
}
.platform-card-head span { color:#dbe7f0; font-size:13px; }
.platform-card-head em { font-style:normal; }
.platform-eyebrow {
    position:relative;z-index:2;
    margin:96px 0 10px;
    color:var(--accent);
    font-size:9px;
    font-weight:600;
    letter-spacing:.17em;
}
.platform-card h3 {
    position:relative;z-index:2;
    margin:0;
    font-size:clamp(36px,4vw,58px);
    font-weight:520;
    letter-spacing:-.055em;
}
.platform-description {
    position:relative;z-index:2;
    max-width:650px;
    margin:22px 0 0;
    color:#9ba8b6;
    font-size:14px;
    line-height:1.75;
}
.platform-tags {
    position:relative;z-index:2;
    margin-top:26px;
    display:flex;flex-wrap:wrap;gap:7px;
}
.platform-tags span {
    padding:7px 9px;
    border:1px solid rgba(255,255,255,.13);
    color:#8191a2;
    font-size:8px;
    letter-spacing:.10em;
}
.platform-link {
    position:absolute;z-index:3;
    left:32px;bottom:30px;
    display:flex;align-items:center;gap:12px;
    color:#dce9f1;
    font-size:11px;
    letter-spacing:.05em;
}
.platform-link span { color:var(--accent); }
.platform-scan {
    position:absolute;
    left:0;right:0;top:-1px;height:1px;
    background:linear-gradient(90deg,transparent,rgba(138,217,255,.9),transparent);
    opacity:0;
}
.platform-card:hover .platform-scan { opacity:.85; animation:platformScan 2.2s linear infinite; }
@keyframes platformScan { from{transform:translateY(0)} to{transform:translateY(460px)} }

.project-horizon {
    background:#e9ece8;
    color:#11151a;
    border-top:1px solid #d5d9d4;
    border-bottom:1px solid #d5d9d4;
    padding:110px clamp(24px,5vw,80px);
}
.project-horizon-inner { width:min(var(--max),100%); margin:auto; }
.project-horizon h2 {
    margin:0;
    font-size:clamp(50px,6vw,94px);
    line-height:.98;
    font-weight:500;
    letter-spacing:-.065em;
}
.project-horizon h2 span { color:#71808b; }
.horizon-grid {
    margin-top:72px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid #c8ceca;
    border-bottom:1px solid #c8ceca;
}
.horizon-grid > div {
    min-height:170px;
    padding:24px 28px 26px 0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    border-right:1px solid #c8ceca;
}
.horizon-grid > div + div { padding-left:28px; }
.horizon-grid > div:last-child { border-right:0; }
.horizon-grid b { margin-bottom:auto; color:#7d8990; font-size:10px; letter-spacing:.14em; }
.horizon-grid strong { font-size:24px; font-weight:520; letter-spacing:-.04em; }
.horizon-grid span { margin-top:8px; color:#69747c; font-size:11px; letter-spacing:.04em; }

@media (max-width: 980px) {
    .platform-intro { grid-template-columns:1fr; gap:24px; }
    .atlas-status { grid-template-columns:1fr 1fr; }
    .atlas-core { grid-column:1 / -1; }
    .atlas-stat:nth-of-type(3) { border-left:0; border-top:1px solid var(--line); }
    .atlas-stat:nth-of-type(4) { border-top:1px solid var(--line); }
    .platform-grid { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
    .atlas-status { grid-template-columns:1fr; }
    .atlas-core { grid-column:auto; }
    .atlas-stat { min-height:100px; border-left:0; border-top:1px solid var(--line); }
    .platform-card { min-height:500px; padding:24px; }
    .platform-eyebrow { margin-top:88px; }
    .platform-link { left:24px; bottom:24px; }
    .horizon-grid { grid-template-columns:1fr; }
    .horizon-grid > div, .horizon-grid > div + div { min-height:125px; padding:20px 0; border-right:0; border-bottom:1px solid #c8ceca; }
    .horizon-grid > div:last-child { border-bottom:0; }
}


/* 1.0.3.0 — Brand identity / page entrance / mobile navigation */
.page-transition {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 28px;
    background:
        radial-gradient(circle at 50% 42%, rgba(52,120,160,.18), transparent 26%),
        #05070b;
    opacity: 1;
    visibility: visible;
    transition: opacity .72s var(--ease), visibility .72s var(--ease);
}
.page-transition::before,
.page-transition::after {
    content: "";
    position: absolute;
    left: 7vw;
    right: 7vw;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(142,216,250,.18), transparent);
}
.page-transition::before { top: 18%; }
.page-transition::after { bottom: 18%; }
body.page-ready .page-transition {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
body.page-leaving .page-transition {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}
.transition-mark {
    position: relative;
    width: 86px;
    height: 86px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 23px;
    background: linear-gradient(145deg, rgba(19,33,47,.96), rgba(6,9,14,.96));
    box-shadow: 0 0 80px rgba(78,166,212,.16);
    overflow: hidden;
}
.transition-mark strong {
    position: relative;
    z-index: 2;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -.08em;
    color: #f6fbff;
}
.transition-mark i {
    position: absolute;
    width: 7px;
    height: 7px;
    right: 16px;
    top: 16px;
    border-radius: 50%;
    background: #a6ffcf;
    box-shadow: 0 0 18px rgba(166,255,207,.7);
}
.transition-orbit {
    position: absolute;
    width: 72px;
    height: 32px;
    border: 1px solid rgba(138,217,255,.52);
    border-radius: 50%;
    transform: rotate(-24deg);
    animation: transitionOrbit 2.8s linear infinite;
}
.transition-wordmark {
    display: grid;
    gap: 6px;
    text-align: center;
}
.transition-wordmark b {
    font-size: 13px;
    letter-spacing: .28em;
    font-weight: 650;
}
.transition-wordmark span {
    color: #6f7c89;
    font-size: 8px;
    letter-spacing: .13em;
    text-transform: uppercase;
}
@keyframes transitionOrbit {
    to { transform: rotate(336deg); }
}

.mobile-nav-panel {
    position: fixed;
    inset: 0;
    z-index: 95;
    background:
        radial-gradient(circle at 80% 20%, rgba(58,136,177,.14), transparent 30%),
        rgba(5,7,11,.985);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-14px);
    transition: opacity .4s var(--ease), visibility .4s var(--ease), transform .4s var(--ease);
}
.mobile-nav-inner {
    min-height: 100%;
    padding: 110px 24px 46px;
    display: flex;
    flex-direction: column;
}
.mobile-nav-meta {
    display: flex;
    justify-content: space-between;
    padding-bottom: 18px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--line);
    color: #607080;
    font-size: 9px;
    letter-spacing: .16em;
}
.mobile-nav-panel > .mobile-nav-inner > a {
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    min-height: 76px;
    border-bottom: 1px solid var(--line);
}
.mobile-nav-panel > .mobile-nav-inner > a span {
    color: var(--accent);
    font-size: 9px;
    letter-spacing: .14em;
}
.mobile-nav-panel > .mobile-nav-inner > a strong {
    font-size: clamp(28px, 8vw, 42px);
    font-weight: 430;
    letter-spacing: -.045em;
}
.mobile-language {
    display: flex;
    gap: 9px;
    margin-top: auto;
    padding-top: 34px;
}
.mobile-language a {
    min-width: 52px;
    padding: 12px 10px;
    border: 1px solid var(--line);
    text-align: center;
    color: #657282;
    font-size: 10px;
    letter-spacing: .1em;
}
.mobile-language a.active {
    border-color: rgba(138,217,255,.48);
    color: #fff;
    background: rgba(138,217,255,.08);
}
body.mobile-nav-open {
    overflow: hidden;
}
body.mobile-nav-open .mobile-nav-panel {
    opacity: 1;
    visibility: visible;
    transform: none;
}
body.mobile-nav-open .site-header {
    background: transparent;
    border-color: transparent;
}
body.mobile-nav-open .menu-button span:first-child {
    transform: translateY(4px) rotate(45deg);
}
body.mobile-nav-open .menu-button span:last-child {
    transform: translateY(-4px) rotate(-45deg);
}
.menu-button span {
    transition: transform .3s var(--ease);
}

.brand strong {
    position: relative;
}
.brand strong::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-left: 9px;
    margin-bottom: 8px;
    border-radius: 50%;
    background: var(--accent-2);
    box-shadow: 0 0 12px rgba(166,255,207,.45);
}

@media (prefers-reduced-motion: reduce) {
    .transition-orbit { animation: none !important; }
    .page-transition { transition: opacity .01ms linear, visibility .01ms linear; }
}


/* ============================================================
   1.0.4.0 — GLOBAL HERO NETWORK
   ============================================================ */

.hero {
    --hero-px: 0;
    --hero-py: 0;
    min-height: 980px;
}
.hero-tech-grid {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .32;
    background-image:
        linear-gradient(rgba(139,207,239,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(139,207,239,.045) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(circle at 75% 46%, #000 0 34%, rgba(0,0,0,.52) 55%, transparent 82%);
    transform: translate(calc(var(--hero-px) * -8px), calc(var(--hero-py) * -6px));
    transition: transform .18s linear;
}
.hero-scanline {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: min(54vw, 850px);
    height: 1px;
    right: 1.5vw;
    top: 21%;
    opacity: .42;
    background: linear-gradient(90deg, transparent, rgba(139,221,255,.05) 12%, rgba(139,221,255,.62) 50%, rgba(139,221,255,.05) 88%, transparent);
    box-shadow: 0 0 20px rgba(94,188,231,.18);
    animation: heroScan 7.8s var(--ease) infinite;
}
@keyframes heroScan {
    0%, 100% { transform: translateY(0); opacity: .12; }
    12% { opacity: .45; }
    55% { transform: translateY(520px); opacity: .28; }
    70% { opacity: .08; }
    100% { transform: translateY(0); opacity: .12; }
}

.global-hud {
    position: absolute;
    z-index: 6;
    top: 116px;
    right: clamp(22px, 3.8vw, 68px);
    width: 288px;
    padding: 18px;
    border: 1px solid rgba(173,225,250,.14);
    background: linear-gradient(145deg, rgba(10,15,22,.72), rgba(7,11,16,.44));
    backdrop-filter: blur(18px) saturate(120%);
    box-shadow: inset 0 1px rgba(255,255,255,.035);
}
.global-hud::before,
.global-hud::after {
    content: "";
    position: absolute;
    pointer-events: none;
}
.global-hud::before {
    left: -1px; top: -1px;
    width: 30px; height: 1px;
    background: rgba(151,225,255,.75);
}
.global-hud::after {
    right: -1px; bottom: -1px;
    width: 1px; height: 34px;
    background: rgba(157,255,207,.46);
}
.global-hud-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.global-hud-head strong {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .16em;
    color: #aab8c6;
}
.hud-live {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #a6ffcf;
    font-size: 8px;
    letter-spacing: .16em;
}
.hud-live i {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 12px currentColor;
    animation: hudPulse 1.8s ease-in-out infinite;
}
@keyframes hudPulse { 50% { opacity: .34; transform: scale(.72); } }

.global-hud-markets {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    padding: 14px 0 12px;
}
.hud-market {
    min-height: 52px;
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    border: 1px solid rgba(255,255,255,.075);
    background: rgba(255,255,255,.018);
    color: #778797;
    text-align: left;
    cursor: pointer;
    transition: border-color .25s ease, background .25s ease, color .25s ease, transform .25s var(--ease);
}
.hud-market b {
    font-size: 13px;
    letter-spacing: .09em;
    color: #d8e4ec;
}
.hud-market span {
    font-size: 8px;
    letter-spacing: .07em;
}
.hud-market:hover,
.hud-market.is-active {
    color: #b7c7d4;
    border-color: rgba(138,217,255,.32);
    background: rgba(138,217,255,.065);
    transform: translateY(-1px);
}
.hud-market.is-active b { color: #aee8ff; }

.global-hud-signal {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 12px 0 10px;
    border-top: 1px solid rgba(255,255,255,.07);
}
.global-hud-signal > span {
    color: #5f7080;
    font-size: 7px;
    letter-spacing: .15em;
}
.signal-bars {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 3px;
    align-items: end;
    height: 13px;
}
.signal-bars i {
    display: block;
    min-height: 2px;
    background: linear-gradient(180deg, #99e1ff, #4f91af);
    opacity: .22;
    animation: signalBar 2.1s ease-in-out infinite;
}
.signal-bars i:nth-child(1) { height: 28%; animation-delay: -.3s; }
.signal-bars i:nth-child(2) { height: 45%; animation-delay: -.8s; }
.signal-bars i:nth-child(3) { height: 72%; animation-delay: -.1s; }
.signal-bars i:nth-child(4) { height: 100%; animation-delay: -.65s; }
.signal-bars i:nth-child(5) { height: 63%; animation-delay: -.45s; }
.signal-bars i:nth-child(6) { height: 86%; animation-delay: -.95s; }
@keyframes signalBar { 50% { opacity: .85; } }
.global-hud > p {
    margin: 0;
    color: #596978;
    font-size: 8px;
    line-height: 1.7;
    letter-spacing: .055em;
}

.globe-market-layer {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
}
.globe-market-marker {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 122px;
    padding: 7px 9px 7px 8px;
    border: 1px solid rgba(150,213,243,.12);
    background: rgba(7,11,16,.48);
    backdrop-filter: blur(8px);
    color: #9aabba;
    pointer-events: auto;
    cursor: pointer;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: border-color .24s ease, background .24s ease, color .24s ease, opacity .18s linear;
    will-change: left, top, opacity, transform;
}
.globe-market-marker::after {
    content: "";
    position: absolute;
    left: -28px;
    top: 50%;
    width: 27px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(138,217,255,.42));
}
.globe-market-marker:hover,
.globe-market-marker.is-active {
    border-color: rgba(138,217,255,.48);
    background: rgba(12,23,32,.78);
    color: #e7f5fb;
}
.market-pulse {
    position: relative;
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #8ad9ff;
    box-shadow: 0 0 14px rgba(138,217,255,.68);
}
.globe-market-marker.is-active .market-pulse {
    background: #a6ffcf;
    box-shadow: 0 0 18px rgba(166,255,207,.82);
}
.market-pulse::after {
    content: "";
    position: absolute;
    inset: -5px;
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: .22;
    animation: marketRing 2s ease-out infinite;
}
@keyframes marketRing {
    0% { transform: scale(.6); opacity: .35; }
    100% { transform: scale(1.65); opacity: 0; }
}
.market-copy {
    display: grid;
    gap: 2px;
    text-align: left;
}
.market-copy b {
    color: #eef8fc;
    font-size: 10px;
    letter-spacing: .15em;
}
.market-copy small {
    color: #6f8292;
    font-size: 7px;
    letter-spacing: .08em;
    white-space: nowrap;
}

.globe-caption {
    width: 350px;
}
.globe-caption-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    color: #6f8394;
    font-size: 8px;
    letter-spacing: .16em;
}
.globe-caption-meta i {
    width: 15px;
    height: 1px;
    background: rgba(138,217,255,.18);
}

.hero-copy {
    transform: translate(calc(var(--hero-px) * -5px), calc(var(--hero-py) * -3px));
}
.hero-copy.is-visible {
    transform: translate(calc(var(--hero-px) * -5px), calc(var(--hero-py) * -3px));
}
.global-canvas {
    filter: saturate(118%);
}

.country-label { display: none !important; }

@media (max-width: 1180px) {
    .global-hud {
        width: 252px;
        top: 105px;
        right: 20px;
    }
    .globe-market-marker {
        min-width: 104px;
    }
}
@media (max-width: 880px) {
    .global-hud {
        top: auto;
        right: 18px;
        left: 18px;
        bottom: 82px;
        width: auto;
    }
    .global-hud-markets {
        grid-template-columns: repeat(4, 1fr);
    }
    .hud-market {
        grid-template-columns: 1fr;
        min-height: 48px;
        text-align: center;
        gap: 2px;
    }
    .globe-caption { display: none; }
}
@media (max-width: 760px) {
    .hero { min-height: 860px; }
    .hero-grid { min-height: 860px; }
    .hero-scanline { display: none; }
    .globe-market-marker { display: none; }
    .global-hud {
        bottom: 76px;
        padding: 12px;
        background: rgba(7,11,16,.68);
    }
    .global-hud-head { padding-bottom: 10px; }
    .global-hud-markets { gap: 5px; padding: 10px 0; }
    .hud-market { padding: 6px 4px; }
    .hud-market span { font-size: 7px; }
    .global-hud-signal,
    .global-hud > p { display: none; }
    .hero-index { margin-top: 42px; }
}


/* ============================================================
   1.0.5.0 — MAGAZINE EDITORIAL VISUAL SYSTEM
   ============================================================ */

.magazine-section {
    padding-top: 132px;
    padding-bottom: 138px;
    background:
        radial-gradient(circle at 78% 24%, rgba(68,128,165,.11), transparent 28%),
        linear-gradient(180deg, #0a0e14, #080b10);
}
.magazine-intro {
    position: relative;
}
.magazine-intro::after {
    content: "EDITORIAL / FACT NETWORKS";
    position: absolute;
    right: 0;
    top: -6px;
    color: rgba(255,255,255,.08);
    font-size: clamp(22px, 3.2vw, 46px);
    font-weight: 700;
    letter-spacing: .02em;
    pointer-events: none;
}

.editorial-magazine-grid {
    grid-template-columns: minmax(0, 1.34fr) minmax(320px, .66fr);
    grid-template-rows: repeat(2, minmax(305px, 1fr));
    gap: 16px;
    background: transparent;
}
.editorial-mag-card {
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
    border: 1px solid rgba(255,255,255,.11);
    background: #0e131a;
    overflow: hidden;
    transform-style: preserve-3d;
    transition: border-color .42s ease, transform .5s var(--ease), background .42s ease;
}
.editorial-mag-card.mag-featured {
    grid-row: 1 / 3;
}
.editorial-mag-card:hover {
    border-color: rgba(148,219,249,.32);
    background: #101720;
    transform: translateY(-5px);
}

.mag-cover {
    position: relative;
    min-height: 250px;
    overflow: hidden;
    transform: perspective(900px) rotateX(var(--mag-rx, 0deg)) rotateY(var(--mag-ry, 0deg));
    transition: transform .24s ease-out;
    will-change: transform;
}
.mag-featured .mag-cover {
    min-height: 465px;
}
.mag-cover img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    transform: scale(1.025) translate3d(var(--mag-x,0), var(--mag-y,0), 0);
    transition: transform .5s var(--ease), filter .5s ease;
    filter: saturate(.92) contrast(1.05);
}
.editorial-mag-card:hover .mag-cover img {
    transform: scale(1.065) translate3d(var(--mag-x,0), var(--mag-y,0), 0);
    filter: saturate(1.12) contrast(1.08);
}
.mag-cover-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(5,8,12,.05), rgba(5,8,12,.02) 44%, rgba(5,8,12,.66)),
        linear-gradient(90deg, rgba(4,7,11,.36), transparent 45%);
}
.mag-cover-ui {
    position: absolute;
    inset: 0;
    padding: 21px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr auto;
    color: #eef9fe;
}
.mag-cover-brand {
    align-self: start;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .23em;
}
.mag-cover-issue {
    justify-self: end;
    color: rgba(225,241,249,.58);
    font-size: 8px;
    letter-spacing: .12em;
}
.mag-cover-ui b {
    grid-column: 1 / -1;
    align-self: end;
    justify-self: end;
    font-size: clamp(54px, 5vw, 82px);
    line-height: .8;
    font-weight: 300;
    color: rgba(255,255,255,.13);
}
.mag-cover-ui i {
    position: absolute;
    left: 21px;
    bottom: 22px;
    width: 64px;
    height: 1px;
    background: linear-gradient(90deg, rgba(166,255,207,.88), rgba(138,217,255,.2));
}

.mag-editorial-meta {
    padding: 23px 24px 22px;
}
.mag-featured .mag-editorial-meta {
    padding: 29px 30px 27px;
}
.mag-editorial-topline {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
}
.mag-editorial-topline > span {
    color: var(--accent);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .17em;
}
.mag-editorial-topline small {
    color: #657483;
    font-size: 8px;
    letter-spacing: .12em;
}
.mag-editorial-meta h3 {
    margin: 13px 0 10px;
    max-width: 760px;
    font-size: clamp(23px, 2.25vw, 39px);
    font-weight: 470;
    letter-spacing: -.045em;
    line-height: 1.08;
}
.mag-featured .mag-editorial-meta h3 {
    font-size: clamp(34px, 3.2vw, 54px);
}
.mag-editorial-meta > p {
    margin: 0;
    max-width: 760px;
    color: #8996a4;
    font-size: 11px;
    line-height: 1.75;
}
.mag-featured .mag-editorial-meta > p {
    max-width: 850px;
    font-size: 13px;
}
.mag-author {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 22px;
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,.075);
}
.mag-author-mark {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    border: 1px solid rgba(138,217,255,.19);
    background: rgba(138,217,255,.045);
    color: #bfeaff;
    font-size: 8px;
    letter-spacing: .08em;
}
.mag-author > div:last-child {
    display: grid;
    gap: 4px;
}
.mag-author strong {
    color: #dae6ec;
    font-size: 10px;
    font-weight: 550;
}
.mag-author span {
    color: #667684;
    font-size: 8px;
    letter-spacing: .025em;
}
.mag-read-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.055);
}
.mag-read-line span {
    color: #536474;
    font-size: 7px;
    letter-spacing: .16em;
}
.mag-read-line b {
    color: #9bdfff;
    font-size: 16px;
    font-weight: 400;
    transform: translate3d(0,0,0);
    transition: transform .3s var(--ease);
}
.editorial-mag-card:hover .mag-read-line b {
    transform: translate3d(4px,-4px,0);
}

/* Retire previous synthetic magazine visuals on this version. */
.editorial-mag-card .mag-visual,
.editorial-mag-card .mag-meta {
    display: none !important;
}

@media (max-width: 1050px) {
    .editorial-magazine-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
    }
    .editorial-mag-card.mag-featured {
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .mag-featured .mag-cover { min-height: 420px; }
}
@media (max-width: 760px) {
    .magazine-section {
        padding-top: 88px;
        padding-bottom: 92px;
    }
    .magazine-intro::after { display: none; }
    .editorial-magazine-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .editorial-mag-card.mag-featured {
        grid-column: auto;
    }
    .mag-featured .mag-cover,
    .mag-cover {
        min-height: 300px;
    }
    .mag-featured .mag-editorial-meta,
    .mag-editorial-meta {
        padding: 22px 20px 21px;
    }
    .mag-featured .mag-editorial-meta h3,
    .mag-editorial-meta h3 {
        font-size: 28px;
    }
    .mag-featured .mag-editorial-meta > p,
    .mag-editorial-meta > p {
        font-size: 11px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .mag-cover,
    .mag-cover img {
        transform: none !important;
    }
}


/* ============================================================
   1.0.6.0 — TECHNOLOGY UNIVERSE
   ============================================================ */

.technology-universe {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .45fr);
    min-height: 690px;
    margin-bottom: 58px;
    border: 1px solid rgba(16,19,24,.18);
    background: #101318;
    color: #f4f7f8;
    overflow: hidden;
}

.universe-stage {
    position: relative;
    min-height: 690px;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 50% 50%, rgba(57,132,169,.14), transparent 28%),
        linear-gradient(135deg, #0b1016 0%, #0e141c 52%, #090d12 100%);
}
.universe-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .28;
    background-image:
        linear-gradient(rgba(126,191,221,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(126,191,221,.045) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(circle at center, #000 0 58%, transparent 94%);
}
.universe-stage::after {
    content: "TECHNOLOGY UNIVERSE";
    position: absolute;
    left: 26px;
    top: 22px;
    color: rgba(255,255,255,.17);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .24em;
}

.technology-canvas {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.universe-core {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    width: 230px;
    height: 230px;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    pointer-events: none;
}
.core-orbit {
    position: absolute;
    border: 1px solid rgba(131,211,247,.19);
    border-radius: 50%;
}
.core-orbit-a {
    width: 215px;
    height: 92px;
    transform: rotate(-20deg);
    animation: coreOrbitA 14s linear infinite;
}
.core-orbit-b {
    width: 190px;
    height: 74px;
    transform: rotate(42deg);
    border-color: rgba(166,255,207,.15);
    animation: coreOrbitB 18s linear infinite reverse;
}
.core-orbit-c {
    width: 118px;
    height: 118px;
    opacity: .3;
}
@keyframes coreOrbitA { to { transform: rotate(340deg); } }
@keyframes coreOrbitB { to { transform: rotate(402deg); } }

.core-mark {
    position: relative;
    width: 116px;
    height: 116px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 1px;
    border: 1px solid rgba(153,222,249,.28);
    background:
        radial-gradient(circle at 38% 28%, rgba(69,156,197,.24), transparent 38%),
        rgba(10,17,24,.88);
    box-shadow:
        0 0 0 10px rgba(138,217,255,.025),
        0 0 46px rgba(77,169,211,.12);
}
.core-mark::before,
.core-mark::after {
    content: "";
    position: absolute;
    background: rgba(138,217,255,.22);
}
.core-mark::before { width: 1px; height: 28px; left: 50%; top: -28px; }
.core-mark::after { height: 1px; width: 28px; top: 50%; right: -28px; }
.core-mark small {
    color: #648092;
    font-size: 6px;
    letter-spacing: .14em;
}
.core-mark strong {
    font-size: 22px;
    letter-spacing: .08em;
    font-weight: 600;
}
.core-mark b {
    color: #a7e7ff;
    font-size: 10px;
    letter-spacing: .18em;
}

.universe-nodes {
    position: absolute;
    inset: 0;
    z-index: 3;
}
.universe-node {
    --node-x: 50%;
    --node-y: 50%;
    position: absolute;
    left: var(--node-x);
    top: var(--node-y);
    width: 128px;
    min-height: 74px;
    padding: 11px 12px;
    transform: translate(-50%, -50%);
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "index code"
        "index label";
    column-gap: 9px;
    align-items: center;
    border: 1px solid rgba(255,255,255,.095);
    background: rgba(9,14,20,.78);
    backdrop-filter: blur(10px);
    color: #80909f;
    text-align: left;
    cursor: pointer;
    transition:
        border-color .28s ease,
        background .28s ease,
        color .28s ease,
        transform .28s var(--ease),
        box-shadow .28s ease;
}
.universe-node::before {
    content: "";
    position: absolute;
    left: -1px;
    top: 12px;
    bottom: 12px;
    width: 1px;
    background: rgba(138,217,255,.22);
}
.universe-node-index {
    grid-area: index;
    align-self: stretch;
    display: grid;
    place-items: center;
    min-width: 28px;
    border-right: 1px solid rgba(255,255,255,.07);
    color: #506171;
    font-size: 8px;
    letter-spacing: .08em;
}
.universe-node b {
    grid-area: code;
    color: #d5e2e9;
    font-size: 10px;
    letter-spacing: .11em;
    font-weight: 600;
}
.universe-node small {
    grid-area: label;
    margin-top: 3px;
    font-size: 8px;
    letter-spacing: .01em;
}
.universe-node:hover,
.universe-node.is-active {
    color: #b9cad4;
    border-color: rgba(138,217,255,.45);
    background: rgba(16,31,42,.9);
    transform: translate(-50%, -50%) scale(1.035);
    box-shadow: 0 0 34px rgba(77,170,211,.11);
}
.universe-node.is-active::before {
    background: #a6ffcf;
    box-shadow: 0 0 13px rgba(166,255,207,.65);
}
.universe-node.is-active b { color: #b9efff; }
.universe-node.is-active .universe-node-index { color: #9be5ff; }

.universe-detail {
    min-width: 0;
    padding: 26px 26px 22px;
    display: flex;
    flex-direction: column;
    border-left: 1px solid rgba(255,255,255,.1);
    background:
        linear-gradient(180deg, rgba(255,255,255,.025), transparent 24%),
        #0b1016;
}
.universe-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.universe-detail-head span {
    color: #637687;
    font-size: 7px;
    letter-spacing: .18em;
}
.universe-detail-head b {
    color: #8ad9ff;
    font-size: 8px;
    letter-spacing: .11em;
    font-weight: 500;
}

.universe-detail-body {
    flex: 1;
    padding-top: 54px;
}
#universeDetailKicker {
    margin: 0 0 12px;
    color: #91defc;
    font-size: 9px;
    letter-spacing: .19em;
}
#universeDetailTitle {
    margin: 0;
    max-width: 360px;
    font-size: clamp(33px, 3.2vw, 50px);
    font-weight: 480;
    letter-spacing: -.055em;
    line-height: 1.02;
}
#universeDetailDesc {
    margin: 23px 0 0;
    color: #8493a1;
    font-size: 12px;
    line-height: 1.8;
}

.universe-detail-group {
    margin-top: 36px;
}
.universe-detail-group > span {
    display: block;
    margin-bottom: 11px;
    color: #526271;
    font-size: 7px;
    letter-spacing: .16em;
}
.universe-product-tags,
.universe-keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.universe-product-tags b {
    padding: 8px 9px;
    border: 1px solid rgba(138,217,255,.18);
    background: rgba(138,217,255,.04);
    color: #b8dbe9;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: .04em;
}
.universe-keywords i {
    padding: 7px 8px;
    border: 1px solid rgba(255,255,255,.065);
    color: #718291;
    font-size: 8px;
    font-style: normal;
}
.universe-detail-foot {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-top: 19px;
    border-top: 1px solid rgba(255,255,255,.07);
}
.universe-detail-foot span {
    color: #435361;
    font-size: 7px;
    letter-spacing: .14em;
}
.universe-detail-foot i {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(138,217,255,.22), transparent);
}

.technology-filter-cloud {
    margin-top: 0;
    margin-bottom: 38px;
}

@media (max-width: 1120px) {
    .technology-universe {
        grid-template-columns: 1fr;
    }
    .universe-detail {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.1);
    }
    .universe-detail-body {
        padding-top: 28px;
        display: grid;
        grid-template-columns: 1.1fr .9fr;
        column-gap: 34px;
    }
    #universeDetailDesc {
        grid-column: 1;
    }
    .universe-detail-group {
        grid-column: 2;
        margin-top: 0;
    }
    .universe-detail-group + .universe-detail-group {
        margin-top: 22px;
    }
}
@media (max-width: 760px) {
    .technology-universe {
        min-height: 0;
    }
    .universe-stage {
        min-height: 620px;
    }
    .universe-core {
        width: 150px;
        height: 150px;
    }
    .core-orbit-a { width: 148px; height: 64px; }
    .core-orbit-b { width: 132px; height: 54px; }
    .core-orbit-c { width: 86px; height: 86px; }
    .core-mark { width: 88px; height: 88px; }
    .core-mark strong { font-size: 17px; }
    .universe-node {
        width: 104px;
        min-height: 60px;
        padding: 8px 9px;
        column-gap: 6px;
    }
    .universe-node-index { min-width: 22px; }
    .universe-node b { font-size: 8px; }
    .universe-node small { font-size: 7px; }
    .universe-detail {
        padding: 21px 18px 20px;
    }
    .universe-detail-body {
        display: block;
        padding-top: 30px;
    }
    .universe-detail-group {
        margin-top: 28px;
    }
    #universeDetailTitle { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
    .core-orbit { animation: none !important; }
    .universe-node { transition: none !important; }
}


/* ============================================================
   1.0.7.0 — FRTC1 CORE ENGINE + PLATFORM VISUAL IDENTITY
   ============================================================ */

/* First-class FRTC1 identity */
.product-card:first-child {
    background:
        radial-gradient(circle at 82% 16%, rgba(80,169,211,.10), transparent 28%),
        #eef2f2;
}
.product-card:first-child .product-top span:last-child::after {
    content: " · CORE ENGINE";
    color: #2b6e8c;
}
.product-card:first-child h3 {
    letter-spacing: -.06em;
}
.product-card:first-child .card-line::after {
    background: linear-gradient(90deg, #246f91, #4fb08e);
}

.universe-node[data-universe-id="frtc1"] {
    border-color: rgba(166,255,207,.22);
}
.universe-node[data-universe-id="frtc1"]::after {
    content: "CORE";
    position: absolute;
    right: 7px;
    top: 6px;
    color: #a6ffcf;
    font-size: 6px;
    letter-spacing: .15em;
}
.universe-node[data-universe-id="frtc1"].is-active {
    border-color: rgba(166,255,207,.62);
    box-shadow: 0 0 42px rgba(93,210,161,.13);
}

/* Platform visual identity */
.platform-grid {
    align-items: stretch;
}
.platform-card {
    display: grid;
    grid-template-rows: 230px 1fr;
    padding: 0;
    overflow: hidden;
    transform-style: preserve-3d;
}
.platform-card-body {
    position: relative;
    z-index: 2;
    padding: 28px 28px 30px;
    display: flex;
    flex-direction: column;
}
.platform-visual {
    position: relative;
    min-height: 230px;
    overflow: hidden;
    border-bottom: 1px solid rgba(255,255,255,.08);
    transform: perspective(900px) rotateX(var(--platform-rx, 0deg)) rotateY(var(--platform-ry, 0deg));
    transform-origin: center;
    transition: transform .22s ease-out;
}
.platform-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.035) translate3d(var(--platform-x, 0), var(--platform-y, 0), 0);
    filter: saturate(.9) contrast(1.04);
    transition: transform .5s var(--ease), filter .5s ease;
}
.platform-card:hover .platform-visual img {
    transform: scale(1.075) translate3d(var(--platform-x, 0), var(--platform-y, 0), 0);
    filter: saturate(1.12) contrast(1.08);
}
.platform-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 20%, rgba(4,7,10,.06) 54%, rgba(4,7,10,.58) 100%),
        linear-gradient(90deg, rgba(5,8,12,.28), transparent 48%);
}
.platform-visual-overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    padding: 18px 19px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr auto;
    color: #f0f8fb;
}
.platform-visual-overlay > span {
    color: rgba(226,241,248,.62);
    font-size: 7px;
    letter-spacing: .15em;
}
.platform-visual-overlay > b {
    grid-column: 1 / -1;
    align-self: end;
    font-size: clamp(24px, 2.6vw, 38px);
    line-height: .95;
    font-weight: 500;
    letter-spacing: -.045em;
}
.platform-visual-overlay > i {
    position: absolute;
    right: 19px;
    bottom: 20px;
    width: 48px;
    height: 1px;
    background: linear-gradient(90deg, rgba(138,217,255,.15), rgba(166,255,207,.8));
}

.platform-card-head {
    margin-bottom: 26px;
}
.platform-eyebrow {
    margin-top: 0;
}
.platform-description {
    flex: 1;
}
.platform-link {
    margin-top: 26px;
}
.platform-card:hover {
    transform: translateY(-6px);
}
.platform-card:nth-child(1) { --platform-accent: #82ddff; }
.platform-card:nth-child(2) { --platform-accent: #a6ffcf; }
.platform-card:nth-child(3) { --platform-accent: #aebeff; }
.platform-card:nth-child(4) { --platform-accent: #c2a6ff; }
.platform-card .platform-link span {
    color: var(--platform-accent);
}
.platform-card .platform-scan {
    opacity: .38;
}

.atlas-status {
    grid-template-columns: minmax(170px, 1.15fr) repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    .atlas-status {
        grid-template-columns: 1fr 1fr;
    }
    .atlas-core {
        grid-column: 1 / -1;
    }
}
@media (max-width: 760px) {
    .platform-card {
        grid-template-rows: 210px 1fr;
    }
    .platform-card-body {
        padding: 24px 20px 26px;
    }
    .platform-visual {
        min-height: 210px;
    }
    .atlas-status {
        grid-template-columns: 1fr 1fr;
    }
}
@media (prefers-reduced-motion: reduce) {
    .platform-visual,
    .platform-visual img {
        transform: none !important;
    }
}


/* ============================================================
   1.0.8.1 — SAFE KINETIC HOTFIX
   No section/canvas/layout selectors are modified.
   ============================================================ */

.safe-page-progress {
    position: fixed;
    z-index: 120;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    pointer-events: none;
    background: rgba(255,255,255,.025);
    transform: translateZ(0);
}
.safe-page-progress > i {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, #75ccef, #9ce7ff 48%, #a6ffcf);
    box-shadow: 0 0 12px rgba(138,217,255,.28);
    will-change: transform;
}

.top-nav a.is-current {
    color: #fff;
}
.mobile-nav-panel a.is-current strong {
    color: #fff;
}
.mobile-nav-panel a.is-current span {
    color: var(--accent);
}

.safe-section-rail {
    position: fixed;
    z-index: 82;
    right: 18px;
    top: 50%;
    width: 106px;
    transform: translateY(-50%);
    pointer-events: none;
    display: grid;
    gap: 7px;
    opacity: .68;
}
.safe-section-rail > b {
    color: #d8f2ff;
    font-size: 11px;
    font-weight: 520;
    letter-spacing: .13em;
}
.safe-section-rail > span {
    color: #5f7180;
    font-size: 7px;
    line-height: 1.45;
    letter-spacing: .13em;
}
.safe-section-rail > div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}
.safe-section-rail > div > i {
    width: 11px;
    height: 1px;
    background: rgba(255,255,255,.12);
    transition: width .22s ease, background .22s ease;
}
.safe-section-rail > div > i.is-active {
    width: 22px;
    background: #8ad9ff;
    box-shadow: 0 0 7px rgba(138,217,255,.34);
}

@media (max-width: 980px) {
    .safe-section-rail {
        display: none;
    }
}
@media (max-width: 760px) {
    .safe-page-progress {
        height: 1px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .safe-section-rail > div > i {
        transition: none;
    }
}


/* ============================================================
   1.0.9.0 — ARCHIVE / FOOTER FINAL POLISH
   Scoped-only rules. No global layout selectors.
   ============================================================ */

.archive-v2 {
    position: relative;
}
.archive-v2 .archive-title {
    align-self: start;
}
.archive-v2 .archive-summary {
    max-width: 620px;
    margin: 28px 0 0;
    color: #748493;
    font-size: 12px;
    line-height: 1.85;
}
.archive-grid-v2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.08);
}
.archive-grid-v2 .archive-card-v2 {
    min-height: 196px;
    padding: 23px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background:
        radial-gradient(circle at 90% 0%, rgba(83,157,192,.055), transparent 33%),
        #0a0e13;
    transition: background .3s ease, border-color .3s ease, transform .3s ease;
}
.archive-grid-v2 .archive-card-v2:hover {
    background:
        radial-gradient(circle at 90% 0%, rgba(83,157,192,.11), transparent 38%),
        #0c1219;
}
.archive-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 34px;
}
.archive-card-head span {
    color: #758695;
    font-size: 8px;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.archive-card-head em {
    padding: 5px 7px;
    border: 1px solid rgba(138,217,255,.13);
    color: #6594a8;
    font-size: 6px;
    font-style: normal;
    letter-spacing: .13em;
}
.archive-grid-v2 .archive-card-v2 > strong {
    color: #d9e5ea;
    font-size: 17px;
    font-weight: 470;
    letter-spacing: -.02em;
}
.archive-grid-v2 .archive-card-v2 > p {
    margin: 12px 0 0;
    color: #687887;
    font-size: 10px;
    line-height: 1.72;
}
.archive-grid-v2 .archive-card-v2 > small {
    margin-top: auto;
    padding-top: 24px;
    color: #4d6170;
    font-size: 7px;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.site-footer-v2 {
    min-height: 154px;
    display: grid;
    grid-template-columns: 1.25fr 1fr auto;
    align-items: center;
    gap: clamp(24px, 4vw, 64px);
}
.site-footer-v2 .footer-brand-v2 {
    display: grid;
    align-items: start;
    gap: 7px;
}
.site-footer-v2 .footer-brand-v2 strong {
    color: #eaf3f7;
    font-size: 13px;
    letter-spacing: .16em;
}
.site-footer-v2 .footer-brand-v2 > span {
    line-height: 1.55;
}
.site-footer-v2 .footer-brand-v2 small {
    color: #425461;
    font-size: 7px;
    letter-spacing: .1em;
}
.footer-meta-v2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}
.footer-meta-v2 > div {
    display: grid;
    gap: 6px;
}
.footer-meta-v2 span {
    color: #40515e;
    font-size: 6px;
    letter-spacing: .16em;
}
.footer-meta-v2 b {
    color: #768693;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: .045em;
}
.site-footer-v2 .footer-right {
    justify-content: flex-end;
    flex-wrap: wrap;
}
.site-footer-v2 .footer-right a {
    color: #9bcfe3;
}

@media (max-width: 1040px) {
    .site-footer-v2 {
        grid-template-columns: 1fr 1fr;
    }
    .site-footer-v2 .footer-right {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}
@media (max-width: 760px) {
    .archive-grid-v2 {
        grid-template-columns: 1fr;
    }
    .archive-grid-v2 .archive-card-v2 {
        min-height: 170px;
    }
    .site-footer-v2 {
        grid-template-columns: 1fr;
        align-items: start;
        padding-top: 28px;
        padding-bottom: 28px;
    }
    .footer-meta-v2 {
        grid-template-columns: 1fr 1fr;
    }
    .site-footer-v2 .footer-right {
        grid-column: auto;
    }
}



/* ============================================================
   1.0.10.0 — RESEARCH EVIDENCE SPOTLIGHT
   Scoped to #research only.
   ============================================================ */

#research .research-showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.52fr) minmax(330px, .48fr);
    gap: 14px;
    margin-top: 52px;
}

#research .research-featured,
#research .research-side-card {
    border: 1px solid rgba(255,255,255,.09);
    background:
        radial-gradient(circle at 88% 12%, rgba(74,156,194,.08), transparent 28%),
        #0b1016;
}

#research .research-featured {
    min-height: 560px;
    padding: 28px;
    display: flex;
    flex-direction: column;
}

#research .research-featured-top,
#research .research-side-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

#research .research-featured-top > span,
#research .research-side-head > span {
    color: #607382;
    font-size: 7px;
    letter-spacing: .16em;
}

#research .research-featured-top > em,
#research .research-side-head > em {
    padding: 5px 7px;
    border: 1px solid rgba(166,255,207,.15);
    color: #8ed9b2;
    font-size: 6px;
    font-style: normal;
    letter-spacing: .14em;
}

#research .research-featured-body {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 40px;
    align-items: center;
    padding: 46px 0 38px;
}

#research .research-kicker {
    margin: 0 0 15px;
    color: #8ad9ff;
    font-size: 8px;
    letter-spacing: .18em;
}

#research .research-featured h3 {
    max-width: 760px;
    margin: 0;
    color: #edf5f8;
    font-size: clamp(38px, 4.2vw, 66px);
    font-weight: 450;
    line-height: .98;
    letter-spacing: -.06em;
}

#research .research-desc {
    max-width: 690px;
    margin: 25px 0 0;
    color: #8595a3;
    font-size: 12px;
    line-height: 1.85;
}

#research .research-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 25px;
}

#research .research-tags span {
    padding: 7px 8px;
    border: 1px solid rgba(138,217,255,.12);
    color: #718696;
    font-size: 7px;
    letter-spacing: .1em;
}

#research .research-scope {
    align-self: stretch;
    padding: 17px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid rgba(255,255,255,.075);
}

#research .research-scope > small {
    margin-bottom: 18px;
    color: #4f6371;
    font-size: 6px;
    letter-spacing: .16em;
}

#research .research-scope > div:not(.research-scope-foot) {
    display: grid;
    gap: 3px;
    padding: 12px 0;
    border-top: 1px solid rgba(255,255,255,.06);
}

#research .research-scope b {
    color: #d8e7ed;
    font-size: 18px;
    font-weight: 470;
    letter-spacing: -.02em;
}

#research .research-scope span {
    color: #536674;
    font-size: 6px;
    letter-spacing: .13em;
}

#research .research-scope-foot {
    display: flex;
    align-items: center;
    gap: 9px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.06);
}

#research .research-scope-foot > span {
    color: #91ddfb;
    white-space: nowrap;
}

#research .research-scope-foot > i {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(138,217,255,.35), transparent);
}

#research .research-featured-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.07);
}

#research .research-featured-foot > span,
#research .research-featured-foot > b {
    color: #4e626f;
    font-size: 7px;
    font-weight: 500;
    letter-spacing: .09em;
}

#research .research-featured-foot > b {
    color: #638696;
}

#research .research-side-stack {
    display: grid;
    gap: 14px;
}

#research .research-side-card {
    min-height: 273px;
    padding: 23px;
    display: flex;
    flex-direction: column;
    transition: border-color .28s ease, background .28s ease, transform .28s ease;
}

#research .research-side-card:hover {
    border-color: rgba(138,217,255,.22);
    background:
        radial-gradient(circle at 88% 12%, rgba(74,156,194,.12), transparent 31%),
        #0d141b;
    transform: translateY(-3px);
}

#research .research-side-card h3 {
    margin: 32px 0 0;
    color: #dce8ed;
    font-size: 22px;
    font-weight: 470;
    line-height: 1.08;
    letter-spacing: -.035em;
}

#research .research-side-card > p {
    margin: 13px 0 0;
    color: #748592;
    font-size: 10px;
    line-height: 1.72;
}

#research .research-side-card > small {
    margin-top: auto;
    padding-top: 18px;
    color: #4c5f6d;
    font-size: 7px;
    letter-spacing: .05em;
}

@media (max-width: 1050px) {
    #research .research-showcase {
        grid-template-columns: 1fr;
    }
    #research .research-side-stack {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    #research .research-showcase {
        margin-top: 34px;
    }
    #research .research-featured {
        min-height: 0;
        padding: 20px;
    }
    #research .research-featured-body {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 34px 0 28px;
    }
    #research .research-featured h3 {
        font-size: 37px;
    }
    #research .research-scope {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.075);
        padding: 18px 0 0;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
    #research .research-scope > small {
        grid-column: 1 / -1;
        margin-bottom: 0;
    }
    #research .research-scope > div:not(.research-scope-foot) {
        border: 1px solid rgba(255,255,255,.06);
        padding: 11px;
    }
    #research .research-scope-foot {
        grid-column: 1 / -1;
    }
    #research .research-featured-foot {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }
    #research .research-side-stack {
        grid-template-columns: 1fr;
    }
}



/* ============================================================
   1.0.11.0 — AUTHOR / TECHNICAL LEADERSHIP SPOTLIGHT
   Scoped to #leadership.author-v2 only.
   ============================================================ */

#leadership.author-v2 {
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    min-height: 780px;
}

#leadership.author-v2 .author-visual-v2 {
    min-height: 780px;
    background:
        radial-gradient(circle at 48% 44%, rgba(46,116,146,.12), transparent 29%),
        linear-gradient(145deg, #e9ece7 0%, #dfe5df 100%);
}

#leadership.author-v2 .author-tech-label {
    position: absolute;
    top: 28px;
    left: 30px;
    color: #6e7972;
    font-size: 7px;
    letter-spacing: .18em;
}

#leadership.author-v2 .author-orbit-system {
    position: relative;
    width: min(78%, 620px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
}

#leadership.author-v2 .author-monogram-v2 {
    position: relative;
    z-index: 3;
    font-size: clamp(88px, 10vw, 168px);
}

#leadership.author-v2 .orbit-a {
    width: 92%;
    height: 92%;
    transform: rotate(28deg) scaleY(.58);
}

#leadership.author-v2 .orbit-b {
    width: 112%;
    height: 112%;
    transform: rotate(-32deg) scaleY(.42);
}

#leadership.author-v2 .orbit-c {
    width: 54%;
    height: 54%;
    transform: rotate(66deg) scaleY(.72);
    border-color: rgba(34,103,137,.16);
}

#leadership.author-v2 .signal-c {
    left: 55%;
    bottom: 18%;
}

#leadership.author-v2 .author-process {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 30px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #66736b;
    font-size: 7px;
    letter-spacing: .15em;
}

#leadership.author-v2 .author-process i {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(34,103,137,.24), rgba(34,103,137,.05));
}

#leadership.author-v2 .author-copy-v2 {
    padding: 74px clamp(34px, 5.5vw, 96px);
}

#leadership.author-v2 .author-identity {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

#leadership.author-v2 .author-copy-v2 h2 {
    font-size: clamp(54px, 5.2vw, 86px);
}

#leadership.author-v2 .author-copy-v2 h3 {
    margin-top: 0;
}

#leadership.author-v2 .author-headline {
    margin: 38px 0 0;
    color: #16202a;
    font-size: clamp(23px, 2vw, 34px);
    font-weight: 500;
    line-height: 1.24;
    letter-spacing: -.035em;
}

#leadership.author-v2 .author-statement {
    max-width: 760px;
    margin: 20px 0 0;
    color: #59636b;
    font-size: 13px;
    line-height: 1.9;
}

#leadership.author-v2 .author-focus-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    margin-top: 36px;
    border: 1px solid #cbd1cc;
    background: #cbd1cc;
}

#leadership.author-v2 .author-focus-grid article {
    min-height: 108px;
    padding: 16px 17px;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "index title"
        "index desc";
    column-gap: 12px;
    align-content: center;
    background: #e8ebe6;
}

#leadership.author-v2 .author-focus-grid article > span {
    grid-area: index;
    align-self: stretch;
    display: flex;
    align-items: center;
    padding-right: 12px;
    border-right: 1px solid #cbd1cc;
    color: #7c8980;
    font-size: 8px;
    letter-spacing: .08em;
}

#leadership.author-v2 .author-focus-grid strong {
    grid-area: title;
    color: #263039;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .02em;
}

#leadership.author-v2 .author-focus-grid small {
    grid-area: desc;
    margin-top: 5px;
    color: #707b74;
    font-size: 8px;
    line-height: 1.55;
}

#leadership.author-v2 .author-tags-v2 {
    margin-top: 26px;
}

@media (max-width: 980px) {
    #leadership.author-v2 {
        grid-template-columns: 1fr;
    }

    #leadership.author-v2 .author-visual-v2 {
        min-height: 520px;
        border-right: 0;
        border-bottom: 1px solid #ced3ce;
    }

    #leadership.author-v2 .author-orbit-system {
        width: min(70%, 470px);
    }
}

@media (max-width: 760px) {
    #leadership.author-v2 .author-visual-v2 {
        min-height: 420px;
    }

    #leadership.author-v2 .author-copy-v2 {
        padding: 56px 22px;
    }

    #leadership.author-v2 .author-copy-v2 h2 {
        font-size: 52px;
    }

    #leadership.author-v2 .author-headline {
        font-size: 24px;
    }

    #leadership.author-v2 .author-focus-grid {
        grid-template-columns: 1fr;
    }

    #leadership.author-v2 .author-process {
        left: 18px;
        right: 18px;
        bottom: 20px;
        gap: 6px;
        font-size: 6px;
    }

    #leadership.author-v2 .author-tech-label {
        top: 20px;
        left: 20px;
    }
}



/* ============================================================
   1.0.12.0 — PRODUCT PORTFOLIO MATRIX
   Scoped to #technology product portfolio only.
   ============================================================ */

#technology .product-portfolio-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
    gap: 42px;
    align-items: end;
    margin: 56px 0 20px;
    padding-top: 28px;
    border-top: 1px solid rgba(20,28,34,.12);
}

#technology .product-portfolio-head > div {
    display: grid;
    gap: 7px;
}

#technology .product-portfolio-head span {
    color: #66757d;
    font-size: 7px;
    letter-spacing: .18em;
}

#technology .product-portfolio-head strong {
    color: #171d21;
    font-size: clamp(27px, 2.6vw, 40px);
    font-weight: 500;
    letter-spacing: -.045em;
}

#technology .product-portfolio-head > p {
    margin: 0;
    color: #657078;
    font-size: 10px;
    line-height: 1.72;
}

#technology .product-grid-v2 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid rgba(21,30,36,.13);
    background: rgba(21,30,36,.13);
}

#technology .product-card-v2 {
    min-height: 300px;
    padding: 21px 20px 20px;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at 85% 10%, rgba(44,117,149,.045), transparent 29%),
        #edf1f1;
    transition: background .3s ease, transform .3s ease;
}

#technology .product-card-v2:hover {
    background:
        radial-gradient(circle at 85% 10%, rgba(44,117,149,.09), transparent 34%),
        #f0f4f4;
    transform: translateY(-3px);
}

#technology .product-card-v2.is-core-engine {
    background:
        radial-gradient(circle at 82% 12%, rgba(40,128,159,.13), transparent 34%),
        linear-gradient(145deg, #e7f0f1, #edf3f1);
}

#technology .product-card-v2.is-core-engine:hover {
    background:
        radial-gradient(circle at 82% 12%, rgba(40,128,159,.19), transparent 38%),
        linear-gradient(145deg, #e9f3f4, #f0f5f3);
}

#technology .product-top-v2 {
    margin-bottom: 22px;
}

#technology .product-top-v2 > em {
    padding: 5px 7px;
    border: 1px solid rgba(30,92,119,.13);
    color: #577380;
    font-size: 6px;
    font-style: normal;
    letter-spacing: .14em;
}

#technology .product-card-v2.is-core-engine .product-top-v2 > em {
    border-color: rgba(46,129,108,.22);
    color: #477c6d;
}

#technology .product-signal {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 28px;
}

#technology .product-signal > span,
#technology .product-signal > b {
    color: #6a7980;
    font-size: 6px;
    font-weight: 500;
    letter-spacing: .13em;
}

#technology .product-signal > b {
    color: #4b6875;
}

#technology .product-signal > i {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(45,110,137,.18), rgba(45,110,137,.04));
}

#technology .product-card-v2 h3 {
    margin: 0;
    color: #172127;
    font-size: clamp(25px, 2.25vw, 35px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.05em;
}

#technology .product-card-v2.is-core-engine h3 {
    color: #12445b;
}

#technology .product-card-v2 > p {
    margin: 11px 0 0;
    color: #596a72;
    font-size: 10px;
    line-height: 1.5;
}

#technology .product-card-v2 > small {
    margin: 18px 0 0;
    color: #7a878d;
    font-size: 8px;
    line-height: 1.58;
}

#technology .product-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    padding-top: 24px;
    border-top: 1px solid rgba(31,44,51,.09);
}

#technology .product-card-foot > span,
#technology .product-card-foot > b {
    color: #7b878c;
    font-size: 6px;
    font-weight: 500;
    letter-spacing: .12em;
}

#technology .product-card-foot > b {
    color: #55717d;
}

#technology .product-card-v2.is-core-engine .product-card-foot > b {
    color: #377864;
}

#technology .product-card-v2 .card-line {
    margin-top: 14px;
}

@media (max-width: 1120px) {
    #technology .product-grid-v2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    #technology .product-portfolio-head {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 42px;
    }

    #technology .product-grid-v2 {
        grid-template-columns: 1fr;
    }

    #technology .product-card-v2 {
        min-height: 250px;
    }
}



/* ============================================================
   1.0.13.0 — NAVIGATION / HERO INDEX ALIGNMENT
   Scoped to header, mobile navigation and hero index only.
   ============================================================ */

.site-header .top-nav-v2 {
    gap: clamp(14px, 1.8vw, 28px);
    font-size: 11px;
}

.site-header .top-nav-v2 a[href="#leadership"] {
    color: rgba(188,232,250,.78);
}

.site-header .top-nav-v2 a[href="#leadership"]:hover {
    color: #fff;
}

.hero .hero-index-v2 {
    grid-template-columns: repeat(5, minmax(92px, 1fr));
    max-width: 790px;
}

.hero .hero-index-v2 .hero-index-core {
    position: relative;
}

.hero .hero-index-v2 .hero-index-core::before {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    width: 42px;
    height: 1px;
    background: linear-gradient(90deg, #8ad9ff, #a6ffcf);
    box-shadow: 0 0 8px rgba(138,217,255,.2);
}

.hero .hero-index-v2 .hero-index-core b {
    color: #a6ffcf;
}

.hero .hero-index-v2 .hero-index-core span {
    color: #9db8c4;
}

.mobile-nav-panel .mobile-nav-inner > a[href="#leadership"] strong {
    color: #c4eafb;
}

@media (max-width: 1180px) {
    .site-header .top-nav-v2 {
        gap: 14px;
        font-size: 10px;
    }
}

@media (max-width: 980px) {
    .mobile-nav-panel > .mobile-nav-inner > a {
        min-height: 64px;
    }

    .mobile-nav-panel > .mobile-nav-inner > a strong {
        font-size: clamp(25px, 7vw, 38px);
    }

    .hero .hero-index-v2 {
        grid-template-columns: repeat(5, minmax(78px, 1fr));
    }
}

@media (max-width: 760px) {
    .mobile-nav-inner {
        padding-top: 92px;
        padding-bottom: 28px;
    }

    .mobile-nav-panel > .mobile-nav-inner > a {
        min-height: 56px;
    }

    .mobile-nav-panel > .mobile-nav-inner > a strong {
        font-size: clamp(22px, 6.8vw, 32px);
    }

    .mobile-language {
        padding-top: 22px;
    }

    .hero .hero-index-v2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 100%;
        margin-top: 48px;
    }

    .hero .hero-index-v2 > div {
        min-height: 62px;
        padding-right: 12px;
    }

    .hero .hero-index-v2 .hero-index-core {
        grid-column: 1 / -1;
    }
}



/* ============================================================
   1.0.14.0 — R&D INTELLIGENCE COMMAND CENTER
   Major expansion. All layout rules scoped to #lab.
   ============================================================ */
#lab.lab-intelligence-section{position:relative;min-height:980px;overflow:hidden;background:radial-gradient(circle at 16% 20%,rgba(42,122,158,.12),transparent 26%),radial-gradient(circle at 82% 68%,rgba(74,147,122,.07),transparent 25%),linear-gradient(180deg,#080d12 0%,#090f15 48%,#070b10 100%);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
#lab .lab-intelligence-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.72}
#lab .lab-intelligence-glow{position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(138,217,255,.025) 50%,transparent 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 96px),repeating-linear-gradient(0deg,rgba(255,255,255,.013) 0 1px,transparent 1px 96px);mask-image:linear-gradient(180deg,transparent,#000 13%,#000 87%,transparent)}
#lab .lab-intelligence-shell{position:relative;z-index:2;width:min(1680px,calc(100% - 80px));margin:0 auto;padding:clamp(86px,8vw,132px) 0 clamp(82px,8vw,126px)}
#lab .lab-intelligence-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(42px,7vw,110px);align-items:end;margin-bottom:48px}
#lab .lab-intelligence-head .eyebrow{color:#7dd4f5}
#lab .lab-intelligence-head h2{max-width:980px;margin:16px 0 0;color:#eef6f9;font-size:clamp(54px,6.8vw,116px);font-weight:420;line-height:.91;letter-spacing:-.065em}
#lab .lab-intelligence-head>p{max-width:520px;margin:0 0 8px;color:#718391;font-size:12px;line-height:1.9}
#lab .lab-command-grid{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(470px,1.18fr) minmax(360px,.82fr);min-height:640px;border:1px solid rgba(255,255,255,.085);background:rgba(6,10,14,.72);box-shadow:0 34px 100px rgba(0,0,0,.26);backdrop-filter:blur(12px)}
#lab .lab-system-nav,#lab .lab-system-stage,#lab .lab-benchmark{min-width:0}
#lab .lab-system-nav{border-right:1px solid rgba(255,255,255,.075);background:rgba(255,255,255,.012)}
#lab .lab-system-stage{position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.075)}
#lab .lab-benchmark{display:flex;flex-direction:column;background:radial-gradient(circle at 100% 0%,rgba(73,160,190,.07),transparent 35%),rgba(255,255,255,.01)}
#lab .lab-panel-label{min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.07)}
#lab .lab-panel-label>span,#lab .lab-panel-label>b{color:#516675;font-size:6px;font-weight:500;letter-spacing:.17em}
#lab .lab-panel-label>b{color:#7793a0}
#lab .lab-system-list{display:grid}
#lab .lab-system-button{appearance:none;width:100%;min-height:92px;padding:16px 18px;display:grid;grid-template-columns:27px 1fr auto;gap:12px;align-items:center;border:0;border-bottom:1px solid rgba(255,255,255,.055);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .24s ease}
#lab .lab-system-button:hover{background:rgba(138,217,255,.035)}
#lab .lab-system-button.is-active{background:linear-gradient(90deg,rgba(71,157,193,.13),transparent 82%),rgba(255,255,255,.018)}
#lab .lab-system-button>span{color:#405360;font-size:7px;letter-spacing:.08em}
#lab .lab-system-button>div{display:grid;gap:5px}
#lab .lab-system-button strong{color:#9eafb9;font-size:11px;font-weight:520;letter-spacing:-.01em}
#lab .lab-system-button small{color:#435765;font-size:6px;letter-spacing:.12em}
#lab .lab-system-button em{padding:5px 6px;border:1px solid rgba(255,255,255,.065);color:#4f6876;font-size:5px;font-style:normal;letter-spacing:.12em}
#lab .lab-system-button.is-active>span,#lab .lab-system-button.is-active strong{color:#d8eef7}
#lab .lab-system-button.is-active em{border-color:rgba(166,255,207,.18);color:#8bd2ae}
#lab .lab-system-panels{position:relative;z-index:2;min-height:392px}
#lab .lab-system-panel{min-height:392px;padding:34px 34px 30px;display:flex;flex-direction:column;animation:labPanelIn .36s cubic-bezier(.2,.75,.25,1) both}
#lab .lab-system-panel[hidden]{display:none}
@keyframes labPanelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
#lab .lab-system-title{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:28px;align-items:start}
#lab .lab-system-title small{color:#577180;font-size:7px;letter-spacing:.15em}
#lab .lab-system-title h3{margin:10px 0 0;color:#e8f3f7;font-size:clamp(36px,3.6vw,58px);font-weight:440;line-height:.96;letter-spacing:-.055em}
#lab .lab-signal-gauge{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:end}
#lab .lab-signal-gauge>span{color:#485c69;font-size:5px;letter-spacing:.14em}
#lab .lab-signal-gauge>b{color:#8bdab9;font-size:17px;font-weight:520}
#lab .lab-signal-gauge>i{grid-column:1/-1;height:2px;overflow:hidden;background:rgba(255,255,255,.055)}
#lab .lab-signal-gauge>i>u{display:block;width:var(--signal);height:100%;text-decoration:none;background:linear-gradient(90deg,#4aa5ca,#8bdab9);box-shadow:0 0 10px rgba(84,189,162,.22)}
#lab .lab-system-panel>p{max-width:670px;margin:31px 0 0;color:#768995;font-size:12px;line-height:1.82}
#lab .lab-system-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px}
#lab .lab-system-links>span{padding:7px 8px;border:1px solid rgba(138,217,255,.1);color:#607987;font-size:6px;letter-spacing:.1em}
#lab .lab-system-foot{margin-top:auto;padding-top:25px;display:flex;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.055)}
#lab .lab-system-foot>span,#lab .lab-system-foot>b{color:#405460;font-size:6px;font-weight:500;letter-spacing:.13em}
#lab .lab-system-foot>b{color:#638f80}
#lab .lab-connection-map{position:relative;min-height:188px;border-top:1px solid rgba(255,255,255,.06);background:radial-gradient(circle at 50% 50%,rgba(61,139,170,.07),transparent 38%)}
#lab .lab-connection-map:before,#lab .lab-connection-map:after{content:"";position:absolute;left:50%;top:50%;width:300px;height:1px;transform-origin:center;background:linear-gradient(90deg,transparent,rgba(138,217,255,.11),transparent)}
#lab .lab-connection-map:before{transform:translate(-50%,-50%) rotate(26deg)}
#lab .lab-connection-map:after{transform:translate(-50%,-50%) rotate(-31deg)}
#lab .lab-map-core{position:absolute;z-index:2;left:50%;top:50%;width:76px;height:76px;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;border:1px solid rgba(138,217,255,.18);border-radius:50%;background:#0a1117;box-shadow:0 0 38px rgba(63,145,180,.09)}
#lab .lab-map-core small{color:#4c6674;font-size:5px;letter-spacing:.12em}
#lab .lab-map-core strong{margin-top:3px;color:#a7d9eb;font-size:13px;font-weight:520;letter-spacing:.06em}
#lab .lab-map-node{position:absolute;z-index:2;width:24px;height:24px;display:grid;place-content:center;border:1px solid rgba(255,255,255,.09);border-radius:50%;background:#0b1117;color:#435865;font-size:6px;transition:border-color .24s ease,color .24s ease,box-shadow .24s ease,transform .24s ease}
#lab .lab-map-node.is-active{border-color:rgba(166,255,207,.42);color:#a6ffcf;box-shadow:0 0 18px rgba(97,210,170,.18);transform:scale(1.14)}
#lab .lab-map-node-1{left:14%;top:29%}#lab .lab-map-node-2{left:29%;bottom:18%}#lab .lab-map-node-3{left:49%;top:12%}#lab .lab-map-node-4{right:27%;bottom:17%}#lab .lab-map-node-5{right:12%;top:28%}#lab .lab-map-node-6{right:44%;bottom:8%}
#lab .lab-benchmark-title{padding:27px 22px 21px;display:grid;gap:8px}
#lab .lab-benchmark-title small{color:#598090;font-size:6px;letter-spacing:.15em}
#lab .lab-benchmark-title strong{color:#dcecf2;font-size:20px;font-weight:480;letter-spacing:-.025em}
#lab .lab-benchmark-head{padding:0 22px 10px;display:grid;grid-template-columns:1fr .9fr .95fr;gap:12px}
#lab .lab-benchmark-head span{color:#3e515e;font-size:5px;letter-spacing:.13em}
#lab .lab-benchmark-rows{display:grid;padding:0 22px}
#lab .lab-benchmark-row{position:relative;min-height:93px;display:grid;grid-template-columns:1fr .9fr .95fr;gap:12px;align-items:center;border-top:1px solid rgba(255,255,255,.055)}
#lab .lab-benchmark-row>div{display:grid;gap:4px}
#lab .lab-benchmark-row>div>b{color:#c9dbe2;font-size:15px;font-weight:500}
#lab .lab-benchmark-row>div>small{color:#47606e;font-size:6px}
#lab .lab-benchmark-row>strong{color:#9cb7c3;font-size:18px;font-weight:450}
#lab .lab-benchmark-row>strong>i{margin-left:3px;color:#45606d;font-size:6px;font-style:normal;letter-spacing:.06em}
#lab .lab-benchmark-bar{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.025)}
#lab .lab-benchmark-bar>i{display:block;width:var(--metric-width);height:100%;background:linear-gradient(90deg,rgba(74,165,202,.55),rgba(139,218,185,.45))}
#lab .lab-benchmark-note{margin:22px 22px 0;color:#526572;font-size:8px;line-height:1.7}
#lab .lab-benchmark-footer{margin-top:auto;padding:19px 22px;display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid rgba(255,255,255,.055)}
#lab .lab-benchmark-footer>span{padding:6px 7px;border:1px solid rgba(255,255,255,.065);color:#4d6572;font-size:5px;letter-spacing:.12em}
#lab .lab-evidence-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;border:1px solid rgba(255,255,255,.075);background:rgba(6,10,14,.62)}
#lab .lab-evidence-strip article{min-height:126px;padding:22px 23px;display:grid;align-content:center;border-right:1px solid rgba(255,255,255,.06)}
#lab .lab-evidence-strip article:last-child{border-right:0}
#lab .lab-evidence-strip strong{color:#d9edf5;font-size:29px;font-weight:440;letter-spacing:-.045em}
#lab .lab-evidence-strip span{margin-top:6px;color:#728894;font-size:7px;letter-spacing:.15em}
#lab .lab-evidence-strip small{margin-top:6px;color:#40535f;font-size:7px}
.site-header .top-nav-v2 a[href="#lab"]{color:rgba(166,255,207,.78)}
.mobile-nav-panel .mobile-nav-inner>a[href="#lab"] strong{color:#b5f1d4}
@media(max-width:1320px){#lab .lab-intelligence-shell{width:min(1500px,calc(100% - 48px))}#lab .lab-command-grid{grid-template-columns:230px minmax(420px,1fr) 340px}}
@media(max-width:1120px){#lab .lab-command-grid{grid-template-columns:220px 1fr}#lab .lab-benchmark{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.075)}}
@media(max-width:900px){#lab .lab-intelligence-head{grid-template-columns:1fr;gap:24px}#lab .lab-command-grid{grid-template-columns:1fr}#lab .lab-system-nav,#lab .lab-system-stage{border-right:0;border-bottom:1px solid rgba(255,255,255,.075)}#lab .lab-system-list{grid-template-columns:repeat(2,1fr)}#lab .lab-evidence-strip{grid-template-columns:repeat(2,1fr)}#lab .lab-evidence-strip article:nth-child(2){border-right:0}#lab .lab-evidence-strip article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.06)}}
@media(max-width:760px){#lab .lab-intelligence-shell{width:calc(100% - 28px);padding-top:76px;padding-bottom:76px}#lab .lab-intelligence-head h2{font-size:clamp(46px,14vw,68px)}#lab .lab-system-list{grid-template-columns:1fr}#lab .lab-system-button{min-height:78px}#lab .lab-system-panel{min-height:390px;padding:28px 20px 24px}#lab .lab-system-title{grid-template-columns:1fr}#lab .lab-signal-gauge{width:130px}#lab .lab-connection-map{min-height:154px}#lab .lab-benchmark-head,#lab .lab-benchmark-row{grid-template-columns:1fr .95fr .95fr}#lab .lab-benchmark-row>strong{font-size:15px}#lab .lab-evidence-strip{grid-template-columns:1fr}#lab .lab-evidence-strip article,#lab .lab-evidence-strip article:nth-child(2){border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}#lab .lab-evidence-strip article:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){#lab .lab-system-panel{animation:none}}



/* ============================================================
   1.0.15.0 — STRATEGIC HORIZON RADAR
   Major Project Horizon expansion. Scoped to #projects.
   ============================================================ */

#projects.project-horizon-v2 {
    position: relative;
    min-height: 1040px;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 18%, rgba(70,132,158,.09), transparent 27%),
        radial-gradient(circle at 79% 72%, rgba(82,148,122,.07), transparent 28%),
        linear-gradient(180deg, #0a0f14 0%, #0b1117 48%, #080d12 100%);
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
}

#projects .horizon-radar-canvas {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .7;
}

#projects .horizon-grid-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.014) 0 1px, transparent 1px 112px),
        repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 112px);
    mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent);
}

#projects .project-horizon-inner-v2 {
    position: relative;
    z-index: 2;
    width: min(1680px, calc(100% - 80px));
    margin: 0 auto;
    padding: clamp(92px, 8vw, 134px) 0 clamp(88px, 8vw, 128px);
}

#projects .horizon-head {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: clamp(46px, 8vw, 130px);
    align-items: end;
    margin-bottom: 50px;
}

#projects .horizon-head .eyebrow {
    color: #91ddfb;
}

#projects .horizon-head h2 {
    max-width: 980px;
    margin: 16px 0 0;
    color: #eef6f9;
    font-size: clamp(54px, 6.5vw, 108px);
    font-weight: 420;
    line-height: .93;
    letter-spacing: -.062em;
}

#projects .horizon-head h2 span {
    color: #7e929d;
}

#projects .horizon-head > p {
    max-width: 540px;
    margin: 0 0 8px;
    color: #71828e;
    font-size: 12px;
    line-height: 1.9;
}

#projects .horizon-command {
    display: grid;
    grid-template-columns: minmax(230px, .58fr) minmax(420px, 1fr) minmax(470px, 1.12fr);
    min-height: 650px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(6,10,14,.72);
    box-shadow: 0 36px 110px rgba(0,0,0,.26);
    backdrop-filter: blur(14px);
}

#projects .horizon-track-nav,
#projects .horizon-radar-stage {
    border-right: 1px solid rgba(255,255,255,.07);
}

#projects .horizon-panel-head {
    min-height: 58px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

#projects .horizon-panel-head > span,
#projects .horizon-panel-head > b {
    color: #526672;
    font-size: 6px;
    font-weight: 500;
    letter-spacing: .17em;
}

#projects .horizon-panel-head > b {
    color: #728d99;
}

#projects .horizon-track-list {
    display: grid;
}

#projects .horizon-track-button {
    appearance: none;
    width: 100%;
    min-height: 116px;
    padding: 18px;
    display: grid;
    grid-template-columns: 28px 1fr auto;
    gap: 12px;
    align-items: center;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.055);
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background .26s ease;
}

#projects .horizon-track-button:hover {
    background: rgba(138,217,255,.03);
}

#projects .horizon-track-button.is-active {
    background:
        linear-gradient(90deg, rgba(68,148,179,.13), transparent 84%),
        rgba(255,255,255,.015);
}

#projects .horizon-track-button > span {
    color: #3f5360;
    font-size: 7px;
    letter-spacing: .08em;
}

#projects .horizon-track-button > div {
    display: grid;
    gap: 6px;
}

#projects .horizon-track-button strong {
    color: #9badb7;
    font-size: 12px;
    font-weight: 520;
    letter-spacing: -.01em;
}

#projects .horizon-track-button small {
    color: #435763;
    font-size: 6px;
    letter-spacing: .12em;
}

#projects .horizon-track-button em {
    padding: 5px 6px;
    border: 1px solid rgba(255,255,255,.07);
    color: #506975;
    font-size: 5px;
    font-style: normal;
    letter-spacing: .13em;
}

#projects .horizon-track-button.is-active > span,
#projects .horizon-track-button.is-active strong {
    color: #d8eef7;
}

#projects .horizon-track-button.is-active em {
    border-color: rgba(166,255,207,.18);
    color: #8dd6b3;
}

#projects .horizon-radar-stage {
    position: relative;
    min-width: 0;
    overflow: hidden;
}

#projects .horizon-radar-visual {
    position: relative;
    height: 500px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at center, rgba(70,154,184,.09), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,.01), transparent);
}

#projects .horizon-ring {
    position: absolute;
    border: 1px solid rgba(121,199,228,.11);
    border-radius: 50%;
}

#projects .horizon-ring.ring-1 { width: 150px; height: 150px; }
#projects .horizon-ring.ring-2 { width: 290px; height: 290px; }
#projects .horizon-ring.ring-3 { width: 430px; height: 430px; }

#projects .horizon-axis {
    position: absolute;
    background: rgba(138,217,255,.06);
}

#projects .horizon-axis.axis-x {
    width: 88%;
    height: 1px;
}

#projects .horizon-axis.axis-y {
    width: 1px;
    height: 88%;
}

#projects .horizon-radar-core {
    position: relative;
    z-index: 3;
    width: 94px;
    height: 94px;
    display: grid;
    place-content: center;
    text-align: center;
    border: 1px solid rgba(138,217,255,.2);
    border-radius: 50%;
    background: #0a1117;
    box-shadow: 0 0 44px rgba(63,145,180,.11);
}

#projects .horizon-radar-core small {
    color: #526a77;
    font-size: 5px;
    letter-spacing: .15em;
}

#projects .horizon-radar-core strong {
    margin-top: 4px;
    color: #afe0ef;
    font-size: 14px;
    font-weight: 520;
    letter-spacing: .055em;
}

#projects .horizon-blip {
    position: absolute;
    z-index: 4;
    width: 28px;
    height: 28px;
    display: grid;
    place-content: center;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    background: #0a1117;
    color: #536a76;
    font-size: 6px;
    transition: border-color .28s ease, color .28s ease, box-shadow .28s ease, transform .28s ease;
}

#projects .horizon-blip.is-active {
    border-color: rgba(166,255,207,.45);
    color: #a6ffcf;
    box-shadow: 0 0 20px rgba(95,210,168,.18);
    transform: scale(1.18);
}

#projects .horizon-blip.blip-1 { left: 24%; top: 31%; }
#projects .horizon-blip.blip-2 { right: 20%; top: 25%; }
#projects .horizon-blip.blip-3 { right: 29%; bottom: 17%; }

#projects .horizon-sweep {
    position: absolute;
    z-index: 2;
    width: 48%;
    height: 1px;
    left: 50%;
    top: 50%;
    transform-origin: left center;
    background: linear-gradient(90deg, rgba(141,218,246,.34), transparent);
    animation: horizonSweep 7s linear infinite;
}

@keyframes horizonSweep {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

#projects .horizon-stage-meta {
    min-height: 92px;
    padding: 18px 22px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    border-top: 1px solid rgba(255,255,255,.06);
}

#projects .horizon-stage-meta span {
    color: #4d626e;
    font-size: 6px;
    letter-spacing: .15em;
}

#projects .horizon-stage-meta strong {
    color: #8bdab9;
    font-size: 28px;
    font-weight: 430;
    letter-spacing: -.04em;
}

#projects .horizon-detail {
    min-width: 0;
}

#projects .horizon-panels {
    min-height: 590px;
}

#projects .horizon-panel {
    min-height: 590px;
    padding: 34px 34px 28px;
    display: flex;
    flex-direction: column;
    animation: horizonPanelIn .36s cubic-bezier(.2,.75,.25,1) both;
}

#projects .horizon-panel[hidden] {
    display: none;
}

@keyframes horizonPanelIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

#projects .horizon-title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 118px;
    gap: 30px;
    align-items: start;
}

#projects .horizon-title-row small {
    color: #56717e;
    font-size: 7px;
    letter-spacing: .15em;
}

#projects .horizon-title-row h3 {
    max-width: 680px;
    margin: 10px 0 0;
    color: #e9f3f6;
    font-size: clamp(38px, 3.2vw, 54px);
    font-weight: 440;
    line-height: .98;
    letter-spacing: -.052em;
}

#projects .horizon-signal-meter {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 10px;
    align-items: end;
}

#projects .horizon-signal-meter > span {
    color: #455b67;
    font-size: 5px;
    letter-spacing: .14em;
}

#projects .horizon-signal-meter > b {
    color: #8bdab9;
    font-size: 17px;
    font-weight: 520;
}

#projects .horizon-signal-meter > i {
    grid-column: 1 / -1;
    height: 2px;
    overflow: hidden;
    background: rgba(255,255,255,.055);
}

#projects .horizon-signal-meter > i > u {
    display: block;
    width: var(--horizon-signal);
    height: 100%;
    text-decoration: none;
    background: linear-gradient(90deg, #4da6c9, #8bdab9);
}

#projects .horizon-panel > p {
    max-width: 760px;
    margin: 28px 0 0;
    color: #758894;
    font-size: 12px;
    line-height: 1.82;
}

#projects .horizon-item-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    margin-top: auto;
    padding-top: 34px;
    background: rgba(255,255,255,.055);
}

#projects .horizon-item-grid > div {
    min-height: 115px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    background: #0a1016;
}

#projects .horizon-item-grid span {
    color: #4f6874;
    font-size: 5px;
    letter-spacing: .13em;
}

#projects .horizon-item-grid strong {
    margin-top: 14px;
    color: #c5d8df;
    font-size: 14px;
    font-weight: 500;
}

#projects .horizon-item-grid small {
    margin-top: 6px;
    color: #495d68;
    font-size: 6px;
    letter-spacing: .08em;
}

#projects .horizon-timeline {
    margin-top: 14px;
    border: 1px solid rgba(255,255,255,.07);
    background: rgba(6,10,14,.64);
}

#projects .horizon-timeline-label {
    min-height: 52px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

#projects .horizon-timeline-label span {
    color: #69818d;
    font-size: 6px;
    letter-spacing: .16em;
}

#projects .horizon-timeline-label i {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(138,217,255,.22), transparent);
}

#projects .horizon-timeline-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

#projects .horizon-timeline-grid article {
    min-height: 142px;
    padding: 23px;
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: 12px;
    border-right: 1px solid rgba(255,255,255,.055);
}

#projects .horizon-timeline-grid article:last-child {
    border-right: 0;
}

#projects .horizon-timeline-grid article > span {
    color: #47606c;
    font-size: 7px;
    letter-spacing: .1em;
}

#projects .horizon-timeline-grid article > div {
    display: grid;
    align-content: start;
}

#projects .horizon-timeline-grid small {
    color: #7ecfe9;
    font-size: 6px;
    letter-spacing: .14em;
}

#projects .horizon-timeline-grid strong {
    margin-top: 8px;
    color: #cfdee4;
    font-size: 17px;
    font-weight: 490;
}

#projects .horizon-timeline-grid p {
    margin: 8px 0 0;
    color: #50636e;
    font-size: 7px;
    letter-spacing: .055em;
}

@media (max-width: 1320px) {
    #projects .project-horizon-inner-v2 {
        width: min(1500px, calc(100% - 48px));
    }

    #projects .horizon-command {
        grid-template-columns: 220px minmax(380px, .9fr) minmax(420px, 1.1fr);
    }
}

@media (max-width: 1080px) {
    #projects .horizon-head {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    #projects .horizon-command {
        grid-template-columns: 220px 1fr;
    }

    #projects .horizon-detail {
        grid-column: 1 / -1;
        border-top: 1px solid rgba(255,255,255,.06);
    }

    #projects .horizon-panels,
    #projects .horizon-panel {
        min-height: 500px;
    }
}

@media (max-width: 820px) {
    #projects .horizon-command {
        grid-template-columns: 1fr;
    }

    #projects .horizon-track-nav,
    #projects .horizon-radar-stage {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.06);
    }

    #projects .horizon-track-list {
        grid-template-columns: repeat(3, 1fr);
    }

    #projects .horizon-track-button {
        grid-template-columns: 24px 1fr;
    }

    #projects .horizon-track-button em {
        grid-column: 2;
        justify-self: start;
    }

    #projects .horizon-radar-visual {
        height: 420px;
    }

    #projects .horizon-timeline-grid {
        grid-template-columns: 1fr;
    }

    #projects .horizon-timeline-grid article {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.055);
    }

    #projects .horizon-timeline-grid article:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 760px) {
    #projects .project-horizon-inner-v2 {
        width: calc(100% - 28px);
        padding-top: 76px;
        padding-bottom: 76px;
    }

    #projects .horizon-head h2 {
        font-size: clamp(46px, 14vw, 68px);
    }

    #projects .horizon-track-list {
        grid-template-columns: 1fr;
    }

    #projects .horizon-track-button {
        min-height: 82px;
        grid-template-columns: 28px 1fr auto;
    }

    #projects .horizon-track-button em {
        grid-column: auto;
    }

    #projects .horizon-radar-visual {
        height: 350px;
    }

    #projects .horizon-ring.ring-3 {
        width: 320px;
        height: 320px;
    }

    #projects .horizon-ring.ring-2 {
        width: 220px;
        height: 220px;
    }

    #projects .horizon-panel {
        min-height: 0;
        padding: 28px 20px 24px;
    }

    #projects .horizon-title-row {
        grid-template-columns: 1fr;
    }

    #projects .horizon-signal-meter {
        width: 130px;
    }

    #projects .horizon-item-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    #projects .horizon-sweep {
        animation: none;
        transform: rotate(42deg);
    }

    #projects .horizon-panel {
        animation: none;
    }
}

