
:root{
  --bg:#05070c;
  --bg-elev:#09101a;
  --bg-soft:#0d1523;
  --panel:rgba(10,16,26,.88);
  --panel-strong:rgba(8,13,22,.96);
  --line:rgba(201,181,138,.14);
  --line-strong:rgba(201,181,138,.3);
  --text:#f2f3f5;
  --muted:#a8afbc;
  --muted-2:#7d8696;
  --gold:#c9b58a;
  --gold-soft:#8d7a58;
  --blue:#27579f;
  --blue-soft:#173766;
  --white-soft:rgba(255,255,255,.08);
  --shadow:0 24px 64px rgba(0,0,0,.38);
  --radius:26px;
  --radius-lg:34px;
  --container:1320px;
  --section:88px;
  --size-display:clamp(2.7rem,4.6vw,4.7rem);
  --size-h1:clamp(2.15rem,3.6vw,3.85rem);
  --size-h2:clamp(1.72rem,2.45vw,2.7rem);
  --size-h3:clamp(1.04rem,1.18vw,1.26rem);
  --size-body:.99rem;
  --size-lead:clamp(1rem,1.08vw,1.1rem);
  --size-card:clamp(1.02rem,1.08vw,1.18rem);
  --size-small:.9rem;
  --size-overline:.72rem;
  --size-metric:1.3rem;
  --size-kpi:1.46rem;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  --sans:Inter,system-ui,-apple-system,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:
    radial-gradient(1200px 640px at -5% -10%, rgba(41,67,110,.44) 0%, transparent 52%),
    radial-gradient(900px 520px at 105% 0%, rgba(113,91,54,.18) 0%, transparent 45%),
    radial-gradient(680px 340px at 70% 6%, rgba(16,42,82,.24) 0%, transparent 58%),
    linear-gradient(180deg,#05070c 0%,#07101a 34%,#05080f 100%);
  line-height:1.68;
  letter-spacing:-0.012em;
}
body.is-archive{
  background:
    radial-gradient(900px 520px at 0% 0%, rgba(36,54,94,.34) 0%, transparent 55%),
    radial-gradient(1000px 620px at 100% -10%, rgba(130,102,58,.12) 0%, transparent 45%),
    linear-gradient(180deg,#04070c 0%,#050b14 60%,#04070c 100%);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
svg{display:block}
p{margin:0 0 1rem;font-size:var(--size-body)}
h1,h2,h3,h4,h5,h6{margin:0 0 .85rem;line-height:1.1;letter-spacing:-0.035em}
h1{font-size:var(--size-h1);font-weight:780}
h2{font-size:var(--size-h2);font-weight:760}
h3{font-size:var(--size-h3);font-weight:720}
small,.small{font-size:var(--size-small)}
.container{width:min(var(--container), calc(100% - 48px)); margin-inline:auto}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:var(--size-overline); font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold);
}
.eyebrow::before{
  content:""; width:34px; height:1px; background:linear-gradient(90deg,var(--gold),transparent);
}
.section{padding:var(--section) 0}
.section.compact{padding:68px 0}
.section-head{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:36px; align-items:end; margin-bottom:30px;
}
.section-head p{color:var(--muted); max-width:60ch}
.section-title h2{max-width:18ch}
.site-header{
  position:sticky; top:0; z-index:60;
  backdrop-filter:blur(22px);
  background:linear-gradient(180deg, rgba(5,7,12,.92), rgba(5,7,12,.72));
  border-bottom:1px solid rgba(255,255,255,.05);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  min-height:78px; gap:22px;
}
.brand{
  display:flex; align-items:center; gap:16px; min-width:0;
}
.brand-badge{
  width:40px; height:40px; display:grid; place-items:center;
  border-radius:14px; background:rgba(14,21,33,.92); border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.brand-badge img{width:24px; height:24px; object-fit:contain}
.brand-lockup{display:flex; align-items:center; gap:14px; min-width:0}
.brand-text-logo{height:32px; width:auto; object-fit:contain}
.brand-sub{
  display:flex; flex-direction:column; gap:2px;
  min-width:0;
}
.brand-sub strong{font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:#d8ddea}
.brand-sub span{font-size:.72rem; color:var(--muted-2)}
.nav{
  display:flex; align-items:center; gap:12px;
}
.nav-links{
  display:flex; align-items:center; gap:6px;
  padding:5px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.05);
  border-radius:999px;
}
.nav-links a{
  padding:.66rem .9rem;
  border-radius:999px;
  font-size:.92rem; color:var(--muted);
  white-space:nowrap;
}
.nav-links a.active{
  background:rgba(39,87,159,.25);
  color:#ecf0f7;
}
.nav-actions{display:flex; align-items:center; gap:12px}
.nav-toggle{
  display:none; width:44px; height:44px; border-radius:14px; border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03); color:#fff;
}
.nav-toggle span{
  display:block; width:18px; height:2px; background:#fff; margin:4px auto;
}
.site-nav-panel{display:flex; align-items:center; gap:12px}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:48px; padding:0 18px; border-radius:999px; font-weight:640; font-size:.94rem;
  border:1px solid transparent; transition:.25s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(180deg, rgba(39,87,159,.92), rgba(22,53,99,.96));
  color:#f7f9ff; border-color:rgba(77,132,217,.45);
  box-shadow:0 16px 34px rgba(16,40,80,.35);
}
.btn-secondary{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.1);
  color:#edf1f7;
}
.btn-gold{
  background:linear-gradient(180deg, rgba(201,181,138,.16), rgba(201,181,138,.08));
  border-color:var(--line-strong); color:#f5ecd9;
}
.btn-text{
  padding-inline:0; min-height:auto; border-radius:0; background:transparent; color:var(--gold);
}
.progress-track{
  position:fixed; top:0; left:0; right:0; height:2px; z-index:80; background:transparent;
}
.progress-track span{
  display:block; width:0; height:100%;
  background:linear-gradient(90deg, var(--gold), #7696cf 80%);
}
.hero{
  padding:72px 0 58px;
}
.hero-grid{
  display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); gap:42px;
  align-items:stretch;
}
.hero-copy{
  display:flex; flex-direction:column; gap:22px; min-width:0;
}
.hero-copy h1{
  font-size:var(--size-display);
  max-width:11.5ch;
}
.lead{
  font-size:var(--size-lead); color:var(--muted);
  max-width:60ch; line-height:1.72;
}
.hero-actions{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:8px;
}
.hero-meta{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; margin-top:12px;
}
.stat-card,.glass-card,.panel,.metric{
  background:linear-gradient(180deg, rgba(9,15,24,.9), rgba(8,13,22,.72));
  border:1px solid rgba(255,255,255,.06);
  border-radius:22px;
  box-shadow:var(--shadow);
}
.stat-card{
  padding:18px 18px 16px;
}
.stat-card strong{
  display:block; font-size:var(--size-metric); color:#f5f6f8; margin-bottom:6px; letter-spacing:-0.04em; line-height:1.08;
}
.stat-card span{display:block; color:var(--muted); font-size:.9rem; line-height:1.58}
.hero-stage{
  display:grid; grid-template-rows:auto auto; gap:16px; min-width:0;
}
.glass-card{
  padding:24px; position:relative; overflow:hidden;
  background:
    radial-gradient(520px 220px at 100% -20%, rgba(39,87,159,.18), transparent 54%),
    linear-gradient(180deg, rgba(8,13,22,.95), rgba(7,11,19,.86));
}
.glass-card::before{
  content:""; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.05), transparent 28%);
  pointer-events:none;
}
.hero-stage-head{
  display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px;
}
.hero-stage-head p{color:var(--muted); max-width:38ch}
.seal{
  flex:0 0 auto; width:74px; height:74px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(11,18,30,.95), rgba(11,18,30,.68));
}
.seal img{width:56px; height:56px; object-fit:contain}
.mosaic{
  display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:14px;
}
.mosaic-main,.mosaic-side{
  position:relative; overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.05);
}
.mosaic-main{
  aspect-ratio:1.28/1;
}
.mosaic-side{
  display:grid; grid-template-rows:1fr 1fr; gap:14px;
  background:transparent; border:none;
}
.mosaic-side > article{
  position:relative; overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.05);
  min-height:0;
}
.media-frame{
  position:absolute; inset:0;
}
.media-frame img{width:100%; height:100%; object-fit:cover}
.media-overlay{
  position:absolute; inset:auto 0 0 0; padding:18px 18px 16px;
  background:linear-gradient(180deg, transparent, rgba(4,7,12,.92) 42%, rgba(4,7,12,.98));
}
.media-overlay strong{display:block; font-size:var(--size-card); margin:.2rem 0 .35rem}
.media-overlay p{color:var(--muted); font-size:.9rem; line-height:1.58; margin:0}
.tag{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 11px; border-radius:999px; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.08); color:#d7deea; background:rgba(6,10,16,.62);
}
.note-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px;
}
.note-card{
  padding:18px 18px 16px;
}
.note-card strong{display:block; font-size:1rem; margin-bottom:8px}
.note-card p{margin:0; color:var(--muted); font-size:.92rem; line-height:1.58}
.panel{
  padding:26px;
}
.panel > h3, .glass-card > h3{margin-bottom:12px}
.mini-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px;
}
.mini-grid .metric{
  padding:18px;
}
.metric strong{
  display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.18em;
  color:var(--gold); margin-bottom:10px;
}
.metric p{margin:0; color:var(--muted); font-size:.94rem; line-height:1.58}
.archive-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px;
}
.archive-card{
  display:flex; flex-direction:column; min-width:0;
  background:
    radial-gradient(360px 180px at 100% 0%, rgba(33,69,127,.12), transparent 58%),
    linear-gradient(180deg, rgba(9,15,24,.95), rgba(8,13,22,.82));
  border:1px solid rgba(255,255,255,.06);
  border-radius:30px;
  padding:22px;
  box-shadow:var(--shadow);
}
.archive-card h3{margin:.4rem 0 .5rem; font-size:1.34rem}
.archive-card > p{color:var(--muted); max-width:58ch}
.archive-media{
  margin:18px 0;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  background:#04070d;
  aspect-ratio:16/9;
  position:relative;
}
.archive-media img{width:100%; height:100%; object-fit:cover}
.archive-tint{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,8,12,.08), rgba(6,8,12,.24));
}
.archive-proof{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin-top:2px;
}
.archive-proof > div{
  padding:14px 16px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.05);
}
.archive-proof strong{
  display:block; color:#eef1f8; font-size:.9rem; margin-bottom:6px;
}
.archive-proof span{display:block; color:var(--muted); font-size:.88rem; line-height:1.56}
.archive-actions{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;
}
.kpi-strip{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px;
}
.kpi{
  padding:22px 22px 18px; border-radius:24px;
  background:linear-gradient(180deg, rgba(8,13,22,.92), rgba(8,13,22,.72));
  border:1px solid rgba(255,255,255,.06);
}
.kpi .label{font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold)}
.kpi strong{display:block; font-size:var(--size-kpi); margin-top:12px; margin-bottom:6px; line-height:1.18}
.kpi p{color:var(--muted); margin:0}
.capability-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px;
}
.capability-card{
  padding:24px; border-radius:28px;
  background:linear-gradient(180deg, rgba(9,15,24,.94), rgba(8,13,22,.78));
  border:1px solid rgba(255,255,255,.06);
}
.capability-card h3{margin-top:10px}
.capability-card p{color:var(--muted); margin-bottom:14px}
.capability-card ul{
  list-style:none; padding:0; margin:0; display:grid; gap:10px;
}
.capability-card li{
  color:#d9dde6; font-size:.92rem; line-height:1.56;
  padding-left:16px; position:relative;
}
.capability-card li::before{
  content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); position:absolute; left:0; top:.58em;
}
.split{
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:22px; align-items:start;
}
.figure{
  border-radius:28px; overflow:hidden; border:1px solid rgba(255,255,255,.06); background:#06090f;
}
.figure img{width:100%; height:auto}
.figure figcaption{
  padding:15px 18px 18px; color:var(--muted); font-size:.9rem; line-height:1.58; border-top:1px solid rgba(255,255,255,.05)
}
.card-grid-2{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px}
.card-grid-3{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
.info-card{
  padding:22px; border-radius:24px;
  background:linear-gradient(180deg, rgba(9,15,24,.92), rgba(8,13,22,.76));
  border:1px solid rgba(255,255,255,.06);
}
.info-card h3{margin-bottom:8px}
.info-card p{color:var(--muted); margin-bottom:0}
.info-card ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.info-card li{color:#d7dbe3;position:relative;padding-left:16px;font-size:.92rem;line-height:1.56}
.info-card li::before{content:"";position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.timeline{
  display:grid; gap:16px;
}
.timeline-item{
  display:grid; grid-template-columns:110px minmax(0,1fr); gap:20px;
  padding:18px 0; border-top:1px solid rgba(255,255,255,.06);
}
.timeline-item:first-child{border-top:none; padding-top:0}
.timeline-year{
  font-family:var(--mono); font-size:.8rem; letter-spacing:.18em; color:var(--gold);
}
.timeline-item h3{font-size:1.08rem; margin-bottom:6px}
.timeline-item p{color:var(--muted); margin:0}
.client-cloud{
  display:flex; flex-wrap:wrap; gap:10px;
}
.client-cloud span{
  padding:.7rem .95rem; border-radius:999px; font-size:.88rem;
  background:rgba(255,255,255,.035); color:#d8dde8; border:1px solid rgba(255,255,255,.06);
}
.banner{
  padding:30px; border-radius:30px; display:grid; grid-template-columns:minmax(0,1.05fr) auto; gap:18px; align-items:center;
  background:
    radial-gradient(420px 160px at 100% 0%, rgba(201,181,138,.08), transparent 58%),
    linear-gradient(180deg, rgba(11,18,30,.95), rgba(8,13,22,.9));
  border:1px solid var(--line);
}
.banner p{color:var(--muted); margin:0}
.footer{
  padding:36px 0 48px; border-top:1px solid rgba(255,255,255,.06); margin-top:30px;
  background:linear-gradient(180deg, rgba(5,7,12,.0), rgba(4,6,10,.44));
}
.footer-grid{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:end;
}
.footer-brand{
  display:flex; gap:18px; align-items:flex-start;
}
.footer-brand .seal{width:72px; height:72px}
.footer-copy p{color:var(--muted); max-width:64ch}
.footer-nav{
  display:flex; flex-wrap:wrap; gap:10px;
}
.footer-nav a{
  padding:.65rem .95rem; border-radius:999px; color:var(--muted);
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.05);
}
.hero-breadcrumb{
  display:flex; align-items:center; gap:10px; font-size:.74rem; text-transform:uppercase; letter-spacing:.18em; color:var(--gold);
}
.hero-breadcrumb span{opacity:.65}
.detail-hero{
  padding:72px 0 50px;
}
.detail-grid{
  display:grid; grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr); gap:34px; align-items:start;
}
.detail-meta{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px;
}
.detail-meta .metric strong{font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold)}
.detail-meta .metric p{margin:0; color:#dde2ee}
.detail-proof{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:22px;
}
.detail-proof .info-card{padding:18px}
.pill-list{
  display:flex; flex-wrap:wrap; gap:9px; margin-top:14px;
}
.pill-list span{
  padding:.62rem .86rem; border-radius:999px; border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.03); color:#dbe1ec; font-size:.88rem;
}
.download-list{display:grid; gap:12px}
.download-item{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:16px 18px; border-radius:20px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06);
}
.download-item small{color:var(--muted); display:block}
.metric-board{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;
}
.metric-board .stat-card strong{font-size:1.56rem}
.archive-live{
  min-height:100vh; padding:36px 0 56px;
}
.archive-frame{
  position:relative; overflow:hidden; border-radius:36px;
  background:
    radial-gradient(680px 320px at 14% 10%, rgba(130,102,58,.12), transparent 55%),
    radial-gradient(540px 280px at 88% 6%, rgba(33,69,127,.24), transparent 52%),
    linear-gradient(180deg, rgba(5,9,16,.98), rgba(4,8,14,.96));
  border:1px solid rgba(201,181,138,.16);
  box-shadow:var(--shadow);
}
.archive-shell{
  padding:34px;
}
.archive-shell h1{
  font-size:clamp(2.35rem,4.2vw,4rem);
  margin-top:10px;
}
.archive-shell .sub{
  color:var(--muted); max-width:58ch; font-size:1rem; line-height:1.7
}
.archive-top{
  display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:28px;
}
.archive-grid-hero{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:20px; align-items:stretch;
}
.archive-image{
  overflow:hidden; border-radius:28px; border:1px solid rgba(255,255,255,.06); background:#05080e;
}
.archive-image img{width:100%; height:100%; object-fit:cover}
.archive-column{
  display:grid; gap:14px
}
.archive-column .info-card{min-height:0}
.live-stages{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:18px;
}
.stage-card{
  padding:20px; border-radius:24px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);
}
.stage-card .label{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold)
}
.stage-card h3{
  font-size:1rem; margin-top:12px; margin-bottom:8px;
}
.stage-card p{color:var(--muted); margin:0}
.stage-card.is-light{
  background:linear-gradient(180deg, rgba(241,236,226,.95), rgba(228,221,207,.92));
  color:#101318; border-color:rgba(201,181,138,.45)
}
.stage-card.is-light .label{color:#75654a}
.stage-card.is-light p{color:#3c4350}
.live-gallery{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:18px;
}
.live-gallery figure{margin:0; border-radius:24px; overflow:hidden; border:1px solid rgba(255,255,255,.06); background:#04070d}
.live-gallery img{width:100%; height:100%; object-fit:cover}
.live-gallery figcaption{padding:14px 16px 16px; border-top:1px solid rgba(255,255,255,.05); color:var(--muted); font-size:.9rem; line-height:1.58}
.contact-grid{
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:22px;
}
.contact-card{
  padding:24px; border-radius:28px; background:linear-gradient(180deg, rgba(9,15,24,.92), rgba(8,13,22,.78)); border:1px solid rgba(255,255,255,.06);
}
.contact-lines{display:grid; gap:14px; margin-top:16px}
.contact-lines a,.contact-lines div{
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
  padding:15px 16px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.05)
}
.contact-lines strong{font-size:.74rem; text-transform:uppercase; letter-spacing:.16em; color:var(--gold)}
.contact-lines span{color:#e7ebf2; text-align:right}
.material-list{display:grid; gap:12px}
.material-item{
  padding:18px 18px 16px; border-radius:22px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.05);
}
.material-item strong{display:block; margin-bottom:6px}
.material-item p{color:var(--muted); margin:0 0 10px}
.material-item .btn{margin-top:4px}
.logo-wall{
  display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:18px;
}
.logo-tile{
  padding:12px 16px; border-radius:20px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.05);
  display:flex; align-items:center; justify-content:center;
}
.logo-tile img{display:block}
.hero-seal-stack{
  display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:center;
  padding:20px 22px; border-radius:26px; background:rgba(255,255,255,.03); border:1px solid var(--line);
}
.hero-seal-stack .seal{width:88px;height:88px}
.hero-seal-stack p{margin:0;color:var(--muted)}
.stacked-logos{
  display:flex; gap:12px; flex-wrap:wrap
}
.stacked-logos .logo-tile{min-height:74px}
.archive-card > p,.kpi p,.capability-card p,.timeline-item p,.banner p,.download-item small,.material-item p,.contact-lines span,.footer-copy p,.panel p,.info-card p{font-size:.94rem;line-height:1.64}
.hero-stage-head p,.section-head p,.figure figcaption,.live-gallery figcaption,.archive-shell .sub,.media-overlay p,.note-card p,.archive-proof span,.metric p,.stat-card span{font-size:.9rem;line-height:1.58}
.panel > h3,.glass-card > h3,.archive-shell h1,.archive-card h3,.timeline-item h3,.media-overlay strong,.hero-stage-head h3,.info-card h3,.capability-card h3,.stage-card h3{letter-spacing:-0.03em}
.hide-mobile{display:block}
.only-mobile{display:none}
@media (max-width: 1120px){
  .hero-grid,.section-head,.split,.detail-grid,.contact-grid,.archive-grid-hero{
    grid-template-columns:1fr;
  }
  .hero-copy h1,.section-title h2{max-width:none}
  .hero-meta,.kpi-strip,.capability-grid,.card-grid-3,.metric-board,.live-stages,.archive-grid,.detail-proof,.note-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .banner,.footer-grid{
    grid-template-columns:1fr;
  }
  .mosaic{
    grid-template-columns:1fr;
  }
  .mosaic-main{aspect-ratio:16/10}
  .mosaic-side{grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none}
  .live-gallery{
    grid-template-columns:1fr;
  }
}
@media (max-width: 860px){
  .container{width:min(var(--container), calc(100% - 28px))}
  .header-inner{min-height:72px}
  .site-nav-panel{
    position:fixed; top:72px; left:14px; right:14px; display:none; flex-direction:column; align-items:stretch;
    padding:16px; border-radius:24px; background:rgba(8,13,22,.98); border:1px solid rgba(255,255,255,.07); box-shadow:var(--shadow);
  }
  .site-nav-panel.is-open{display:flex}
  .nav-links{flex-direction:column; align-items:stretch; border-radius:20px; background:transparent; padding:0; border:none}
  .nav-links a{border-radius:16px}
  .nav-actions{width:100%}
  .nav-actions .btn{flex:1}
  .nav-toggle{display:block}
  .brand-text-logo{height:26px}
  .brand-sub{display:none}
  .hero{padding-top:52px}
  .hero-meta,.kpi-strip,.capability-grid,.card-grid-2,.card-grid-3,.metric-board,.archive-grid,.detail-proof,.note-grid,.archive-proof,.live-stages{
    grid-template-columns:1fr;
  }
  .timeline-item{
    grid-template-columns:1fr;
    gap:8px;
  }
  .hero-stage-head,.archive-top{
    flex-direction:column;
  }
  .mosaic-side{grid-template-columns:1fr}
  .hide-mobile{display:none}
  .only-mobile{display:block}
}


.infodemic-shell{
  padding:30px;
  border-radius:34px;
  border:1px solid rgba(201,181,138,.14);
  background:
    radial-gradient(520px 220px at 82% 0%, rgba(39,87,159,.16), transparent 56%),
    radial-gradient(460px 220px at 10% 10%, rgba(201,181,138,.09), transparent 58%),
    linear-gradient(180deg, rgba(8,13,22,.96), rgba(6,10,18,.9));
  box-shadow:var(--shadow);
}
.infodemic-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:24px;
  align-items:stretch;
}
.infodemic-copy{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
}
.infodemic-copy h2{max-width:14ch}
.ontology-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:6px;
}
.ontology-mini{
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.ontology-mini strong{
  display:block;
  margin-bottom:8px;
  font-size:.92rem;
  color:#eef2f8;
}
.ontology-mini p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.58}
.ontology-board{
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:26px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(360px 200px at 20% 18%, rgba(46,91,166,.16), transparent 60%),
    radial-gradient(240px 180px at 86% 12%, rgba(201,181,138,.1), transparent 64%),
    linear-gradient(180deg, rgba(6,10,18,.98), rgba(5,8,14,.96));
}
.ontology-board::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent 26%);
  pointer-events:none;
}
.ontology-board-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  position:relative;
  z-index:1;
}
.ontology-live{
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8fb0ea;
}
.ontology-title{
  position:relative;
  z-index:1;
  margin-top:22px;
  font-size:clamp(2.45rem,5vw,4.3rem);
  line-height:.93;
  letter-spacing:-0.055em;
  font-weight:820;
}
.ontology-sub{
  position:relative;
  z-index:1;
  margin-top:14px;
  max-width:34ch;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.62;
}
.ontology-map-grid{
  position:relative;
  margin-top:28px;
  padding:24px;
  min-height:248px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.06);
  background:
    radial-gradient(280px 160px at 50% 50%, rgba(39,87,159,.12), transparent 68%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.015));
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-areas:
    'source . fact'
    'risk claim spread'
    '. action .';
  gap:14px;
  align-items:center;
  justify-items:center;
}
.ontology-map-grid::before{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:20px;
  border:1px dashed rgba(143,176,234,.14);
  pointer-events:none;
}
.ontology-chip{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  text-align:center;
  width:min(100%, 148px);
  min-height:48px;
  padding:0 14px;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  color:#edf2fb;
  font-size:.9rem;
  font-weight:640;
  letter-spacing:-.02em;
  backdrop-filter:blur(10px);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
.ontology-chip.is-claim{
  grid-area:claim;
  min-height:56px;
  background:linear-gradient(180deg, rgba(38,80,148,.34), rgba(18,38,74,.44));
  border-color:rgba(122,163,230,.32);
  box-shadow:0 18px 44px rgba(24,52,104,.38);
}
.ontology-chip.is-source{grid-area:source}
.ontology-chip.is-fact{grid-area:fact}
.ontology-chip.is-risk{grid-area:risk}
.ontology-chip.is-spread{grid-area:spread}
.ontology-chip.is-action{grid-area:action}
.ontology-stream{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.ontology-stream span{
  padding:.62rem .84rem;
  border-radius:999px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  color:#dce2ee;
  font-size:.83rem;
}
.ontology-bottom{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.ontology-bottom div{
  flex:1 1 160px;
  padding:15px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
}
.ontology-bottom strong{
  display:block;
  margin-bottom:6px;
  font-size:.88rem;
  color:#f0f3fb;
  white-space:nowrap;
}
.ontology-bottom span{
  display:block;
  color:var(--muted);
  font-size:.85rem;
  line-height:1.54;
}
@media (max-width: 1120px){
  .infodemic-grid{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .infodemic-shell{padding:22px}
  .ontology-summary,.ontology-bottom{grid-template-columns:1fr}
  .ontology-board{min-height:580px;padding:22px}
  .ontology-map-grid{
    min-height:0;
    padding:18px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      'source fact'
      'risk claim'
      'spread action';
  }
}


.panel-stack{display:grid;gap:16px;min-width:0}
.signal-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.signal-strip span{
  display:inline-flex;align-items:center;gap:8px;
  padding:.68rem .92rem;border-radius:999px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);
  color:#e6ebf5;font-size:.84rem;line-height:1.2;
}
.cluster-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.cluster-band .info-card h3{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cluster-no{
  flex:0 0 auto;display:inline-grid;place-items:center;
  width:28px;height:28px;border-radius:999px;
  border:1px solid rgba(201,181,138,.26);background:rgba(201,181,138,.08);
  color:var(--gold);font-size:.78rem;font-family:var(--mono);font-weight:700;
}
.compare-table-wrap{
  overflow:auto;margin-top:22px;border-radius:28px;border:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg, rgba(9,15,24,.94), rgba(8,13,22,.82)); box-shadow:var(--shadow);
}
.compare-table{width:100%;min-width:860px;border-collapse:collapse}
.compare-table thead th{
  padding:16px 18px;text-align:left;font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);background:rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.07)
}
.compare-table tbody th{
  width:170px;padding:18px;text-align:left;vertical-align:top;color:#eef2fb;font-size:.94rem;font-weight:650;
  border-bottom:1px solid rgba(255,255,255,.06)
}
.compare-table td{
  padding:18px;vertical-align:top;color:var(--muted);font-size:.92rem;line-height:1.64;
  border-bottom:1px solid rgba(255,255,255,.06)
}
.compare-table td strong{display:block;color:#eef2fb;margin-bottom:6px;font-size:.92rem}
.framework-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.framework-step{
  padding:22px;border-radius:24px;background:linear-gradient(180deg, rgba(9,15,24,.92), rgba(8,13,22,.76));
  border:1px solid rgba(255,255,255,.06)
}
.framework-step .eyebrow{margin-bottom:10px}
.framework-step h3{margin-bottom:8px}
.framework-step p{color:var(--muted);margin-bottom:12px}
.framework-step ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.framework-step li{color:#d7dbe3;position:relative;padding-left:16px;font-size:.92rem;line-height:1.56}
.framework-step li::before{content:"";position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.ontology-figure img{width:100%;height:auto;display:block}
.ontology-stack-note{
  padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)
}
.ontology-stack-note strong{display:block;margin-bottom:8px;font-size:.92rem;color:#eef2fb}
.ontology-stack-note p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.58}
.compare-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.compare-duo .info-card{height:100%}
@media (max-width:1120px){
  .cluster-band,.framework-grid,.compare-duo{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .cluster-band,.framework-grid,.compare-duo{grid-template-columns:1fr}
}



.card-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.research-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.research-shell{
  padding:30px;
  border-radius:34px;
  border:1px solid rgba(201,181,138,.14);
  background:
    radial-gradient(520px 220px at 82% 0%, rgba(39,87,159,.16), transparent 56%),
    radial-gradient(460px 220px at 10% 10%, rgba(201,181,138,.09), transparent 58%),
    linear-gradient(180deg, rgba(8,13,22,.96), rgba(6,10,18,.9));
  box-shadow:var(--shadow);
}
.research-shell .lead{max-width:58ch}
.research-shell .info-card{height:100%}
.research-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.research-doc{
  padding:18px 18px 16px;
  border-radius:22px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.research-doc strong{display:block;margin-bottom:6px}
.research-doc p{color:var(--muted);margin:0 0 10px}
.research-flow{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.research-flow .stage-card{height:100%}
.research-flow .stage-card h3{font-size:1.06rem}
.research-doc figure{margin:0 0 14px}
.research-note{
  padding:18px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.research-note strong{display:block;margin-bottom:8px;font-size:.92rem;color:#eef2fb}
.research-note p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.58}
.research-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.research-stats .stat-card{height:100%}
.doc-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.doc-gallery .figure{height:100%}
.doc-gallery .figure img{width:100%;height:100%;object-fit:cover}
.research-band{
  padding:28px;
  border-radius:32px;
  background:
    radial-gradient(360px 180px at 100% 0%, rgba(33,69,127,.12), transparent 58%),
    linear-gradient(180deg, rgba(9,15,24,.95), rgba(8,13,22,.82));
  border:1px solid rgba(255,255,255,.06);
  box-shadow:var(--shadow);
}
.research-band .hero-actions{margin-top:18px}
@media (max-width: 1120px){
  .card-grid-4,.research-ledger,.research-flow,.research-stats,.doc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 860px){
  .card-grid-4,.research-ledger,.research-flow,.research-doc-grid,.research-stats,.doc-gallery{grid-template-columns:1fr}
  .research-shell{padding:22px}
}

/* ===== 2026-03-24 premium UI refresh ===== */
:root{
  --bg:#04070d;
  --bg-elev:#09111c;
  --bg-soft:#0d1624;
  --panel:rgba(9,14,23,.88);
  --panel-strong:rgba(7,11,18,.96);
  --line:rgba(214,188,132,.16);
  --line-strong:rgba(214,188,132,.34);
  --gold:#d6bc84;
  --gold-soft:#8f7445;
  --blue:#2f62b3;
  --blue-soft:#183865;
  --shadow:0 26px 90px rgba(0,0,0,.42);
  --shadow-soft:0 18px 50px rgba(0,0,0,.24);
  --radius:28px;
  --radius-lg:38px;
  --section:104px;
  --container:1340px;
  --size-display:clamp(3rem,5.1vw,5.15rem);
  --size-h1:clamp(2.3rem,4vw,4.1rem);
  --size-h2:clamp(1.92rem,2.7vw,3rem);
  --size-body:1rem;
  --size-lead:clamp(1.02rem,1.16vw,1.16rem);
}

html{
  background:#04070d;
}
body{
  position:relative;
  min-height:100vh;
  background:
    radial-gradient(1120px 620px at -2% -8%, rgba(65,96,152,.36) 0%, transparent 54%),
    radial-gradient(860px 460px at 106% 2%, rgba(172,138,78,.18) 0%, transparent 44%),
    radial-gradient(620px 260px at 50% 0%, rgba(16,45,89,.16) 0%, transparent 64%),
    linear-gradient(180deg,#04070d 0%,#09111b 28%,#060a12 70%,#04070d 100%);
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:auto;
  pointer-events:none;
  z-index:-1;
}
body::before{
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:120px 120px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.42), transparent 82%);
  opacity:.22;
}
body::after{
  width:42vw;
  height:42vw;
  right:-12vw;
  top:18vh;
  border-radius:50%;
  background:radial-gradient(circle, rgba(214,188,132,.08) 0%, rgba(214,188,132,0) 70%);
  filter:blur(12px);
}
main{position:relative; z-index:1}

p{color:#ced3dc}
.lead{
  color:#c1c9d7;
  max-width:63ch;
}

.section,
.detail-hero,
.hero{
  position:relative;
}
.section::before,
.detail-hero::before,
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero::before{
  background:
    radial-gradient(420px 220px at 66% 16%, rgba(214,188,132,.08), transparent 70%),
    radial-gradient(520px 300px at 22% 8%, rgba(58,100,175,.14), transparent 72%);
}
.detail-hero::before{
  background:radial-gradient(420px 260px at 92% 18%, rgba(58,100,175,.1), transparent 76%);
}
.section:not(.compact)::before{
  background:linear-gradient(180deg, rgba(255,255,255,.018), transparent 22%, transparent 80%, rgba(255,255,255,.014));
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.03);
}

.site-header{
  background:linear-gradient(180deg, rgba(5,8,14,.84), rgba(5,8,14,.58));
  border-bottom:1px solid rgba(255,255,255,.04);
  box-shadow:0 10px 36px rgba(0,0,0,.16);
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.site-header.is-scrolled{
  background:linear-gradient(180deg, rgba(5,8,14,.94), rgba(5,8,14,.8));
  border-bottom-color:rgba(214,188,132,.12);
  box-shadow:0 16px 40px rgba(0,0,0,.28);
}
.header-inner{
  min-height:86px;
}
.brand-badge{
  width:46px;
  height:46px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(20,28,40,.96), rgba(11,17,28,.88));
  border:1px solid rgba(214,188,132,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 16px 30px rgba(0,0,0,.22);
}
.brand-text-logo{
  height:34px;
}
.brand-sub strong{
  color:#edf1f8;
}
.brand-sub span{
  color:#909cad;
}
.nav-links{
  gap:8px;
  padding:7px;
  background:rgba(255,255,255,.028);
  border:1px solid rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.nav-links a{
  position:relative;
  padding:.72rem 1rem;
  color:#b8c0cf;
  transition:color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease;
}
.nav-links a:hover{
  color:#eff3fb;
  background:rgba(255,255,255,.045);
}
.nav-links a.active{
  background:linear-gradient(180deg, rgba(49,87,149,.46), rgba(26,50,90,.72));
  color:#fff;
  box-shadow:0 12px 24px rgba(18,39,73,.28);
}
.nav-links a.active::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:8px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(214,188,132,.9), transparent);
}
.nav-toggle{
  border:1px solid rgba(214,188,132,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}
.btn{
  min-height:50px;
  padding:0 20px;
  font-weight:680;
  letter-spacing:-.01em;
}
.btn-primary{
  background:linear-gradient(180deg, #3c74c6 0%, #214c95 100%);
  border-color:rgba(121,162,230,.4);
  box-shadow:0 18px 34px rgba(25,60,118,.35), inset 0 1px 0 rgba(255,255,255,.16);
}
.btn-primary:hover{
  box-shadow:0 22px 40px rgba(25,60,118,.45), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn-secondary{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  border-color:rgba(255,255,255,.1);
  color:#eef2f8;
}
.btn-gold{
  background:linear-gradient(180deg, rgba(214,188,132,.22), rgba(132,101,48,.14));
  border-color:rgba(214,188,132,.34);
  color:#fff6e5;
  box-shadow:0 16px 30px rgba(75,55,23,.22);
}
.btn:hover{
  transform:translateY(-2px);
}

.hero{
  padding:92px 0 72px;
}
.hero-copy{
  padding-top:12px;
}
.hero-copy h1{
  max-width:10.8ch;
  line-height:.98;
  text-wrap:balance;
}
.eyebrow{
  gap:12px;
  color:#dcc28f;
  text-shadow:0 0 24px rgba(214,188,132,.08);
}
.eyebrow::before{
  width:42px;
  background:linear-gradient(90deg, rgba(214,188,132,.95), rgba(214,188,132,.18), transparent);
}
.section-head{
  gap:46px;
  margin-bottom:34px;
}
.section-title h2,
.detail-hero h1{
  text-wrap:balance;
}
.section-title h2{
  max-width:16ch;
}
.section-head p{
  color:#aeb7c6;
}
.hero-actions,
.archive-actions,
.footer-nav,
.pill-list{
  row-gap:12px;
}
.hero-meta{
  gap:16px;
  margin-top:18px;
}
.stat-card,.glass-card,.panel,.metric,.info-card,.contact-card,.archive-card,.kpi,.capability-card,.stage-card,.ontology-mini,.material-item,.download-item,.logo-tile,.hero-seal-stack,.figure,.banner{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:var(--shadow-soft);
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease;
}
.stat-card::before,.glass-card::before,.panel::before,.metric::before,.info-card::before,.contact-card::before,.archive-card::before,.kpi::before,.capability-card::before,.stage-card::before,.ontology-mini::before,.material-item::before,.download-item::before,.logo-tile::before,.hero-seal-stack::before,.figure::before,.banner::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 26%);
  pointer-events:none;
}
.stat-card:hover,.glass-card:hover,.panel:hover,.metric:hover,.info-card:hover,.contact-card:hover,.archive-card:hover,.kpi:hover,.capability-card:hover,.stage-card:hover,.ontology-mini:hover,.material-item:hover,.download-item:hover,.logo-tile:hover,.hero-seal-stack:hover,.figure:hover,.banner:hover{
  transform:translateY(-4px);
  border-color:rgba(214,188,132,.18);
  box-shadow:0 28px 64px rgba(0,0,0,.34);
}
.stat-card,
.kpi,
.metric,
.info-card,
.contact-card,
.capability-card,
.stage-card,
.material-item,
.download-item,
.logo-tile,
.hero-seal-stack{
  background:linear-gradient(180deg, rgba(13,19,31,.92), rgba(8,13,22,.78));
}
.glass-card,.panel,.archive-card,.figure,.banner{
  background:
    radial-gradient(440px 200px at 100% 0%, rgba(49,87,149,.14), transparent 60%),
    linear-gradient(180deg, rgba(11,18,30,.95), rgba(7,12,21,.82));
}
.metric{
  padding:20px;
}
.metric strong{
  color:#ddc694;
}
.note-grid{
  gap:16px;
}
.note-card{
  background:linear-gradient(180deg, rgba(14,21,33,.88), rgba(8,13,22,.72));
}
.hero-stage,
.note-grid,
.archive-grid,
.card-grid-2,
.card-grid-3,
.contact-grid,
.split,
.detail-grid,
.kpi-strip,
.capability-grid,
.live-stages,
.live-gallery,
.archive-proof,
.mini-grid,
.metric-board,
.detail-proof,
.ontology-summary{
  align-items:stretch;
}
.archive-card{
  border-radius:32px;
  padding:24px;
}
.archive-card > .eyebrow,
.archive-card .eyebrow{
  margin-bottom:6px;
}
.archive-card > p{
  color:#b9c2d0;
}
.archive-media,
.mosaic-main,
.mosaic-side > article,
.live-gallery figure,
.archive-image{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), 0 18px 34px rgba(0,0,0,.24);
}
.archive-media img,
.media-frame img,
.figure img,
.archive-image img,
.live-gallery img{
  transition:transform .5s ease, filter .4s ease;
}
.archive-card:hover .archive-media img,
.mosaic-main:hover .media-frame img,
.mosaic-side article:hover .media-frame img,
.figure:hover img,
.archive-image:hover img,
.live-gallery figure:hover img{
  transform:scale(1.04);
  filter:saturate(1.04) contrast(1.02);
}
.archive-proof > div,
.contact-lines a,
.contact-lines div,
.material-item,
.download-item,
.pill-list span,
.client-cloud span{
  background:rgba(255,255,255,.032);
  border-color:rgba(255,255,255,.06);
}
.pill-list span{
  color:#e4e9f2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.kpi-strip{
  gap:18px;
}
.kpi strong{
  font-size:1.5rem;
}
.banner{
  border-color:rgba(214,188,132,.14);
}
.footer{
  margin-top:44px;
  background:
    linear-gradient(180deg, rgba(5,7,12,0) 0%, rgba(6,10,17,.68) 65%, rgba(5,7,12,.88) 100%);
  border-top:1px solid rgba(255,255,255,.05);
}
.footer-nav a{
  background:rgba(255,255,255,.04);
  color:#dbe2ec;
}
.footer-nav a:hover{
  border-color:rgba(214,188,132,.16);
}
.progress-track{
  height:3px;
}
.progress-track span{
  background:linear-gradient(90deg, #d6bc84 0%, #5e87c9 52%, #89a6d9 100%);
  box-shadow:0 0 16px rgba(214,188,132,.4);
}

[data-reveal]{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease, transform .7s ease;
}
[data-reveal].is-visible{
  opacity:1;
  transform:none;
}

@media (max-width: 1120px){
  .hero{padding:76px 0 58px}
  .header-inner{min-height:80px}
}
@media (max-width: 860px){
  body::before{background-size:84px 84px; opacity:.18}
  .header-inner{min-height:74px}
  .site-nav-panel{
    top:76px;
    backdrop-filter:blur(22px);
    background:linear-gradient(180deg, rgba(8,13,22,.98), rgba(6,10,18,.96));
    border:1px solid rgba(214,188,132,.12);
  }
  .hero{padding:58px 0 48px}
  .hero-copy h1{max-width:none}
  .brand-badge{width:42px;height:42px}
}


@media (max-width: 1040px){
  .site-nav-panel{
    position:fixed;
    top:76px;
    left:14px;
    right:14px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:16px;
    border-radius:24px;
    background:linear-gradient(180deg, rgba(8,13,22,.98), rgba(6,10,18,.96));
    border:1px solid rgba(214,188,132,.12);
    box-shadow:var(--shadow);
  }
  .site-nav-panel.is-open{display:flex}
  .nav{width:100%}
  .nav-links{
    flex-direction:column;
    align-items:stretch;
    border-radius:20px;
    background:transparent;
    padding:0;
    border:none;
    box-shadow:none;
  }
  .nav-links a{border-radius:16px}
  .nav-actions{width:100%}
  .nav-actions .btn{width:100%}
  .nav-toggle{display:block}
}
