
/* ── Template v2 — dossier gallery & lightbox (2026-07-08c) ── */
:root{
  --font-sans:"Instrument Sans",Inter,ui-sans-serif,system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}
body{font-family:var(--font-sans)}
.mono,.kicker,.pill,.status-pill{font-family:var(--font-mono)}

.top-bar{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid rgba(120,160,210,.12)}
.status-pill{font:700 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border:1px solid rgba(91,231,255,.35);color:#b8e8ff;background:rgba(11,120,209,.12)}
.status-pill.muted{color:#9fb0c4;border-color:rgba(120,160,210,.25);background:transparent}

.hero-v2{padding:40px 0 28px}
.hero-split{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(480px,1.1fr);gap:32px;align-items:center}
.hero-text{padding:8px 0}
.hero-v2 h1{font-size:clamp(38px,4.5vw,68px);line-height:1.02;margin:16px 0 20px;letter-spacing:-.02em}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 8px}
.btn.ghost{background:transparent;border-color:#486986;color:#dce8f5}
.hero-visual{position:relative}
.hero-frame,.gallery-open,.diagram-frame{
  display:block;width:100%;padding:0;border:1px solid rgba(120,160,210,.35);
  background:linear-gradient(180deg,#0a1420,#060d16);border-radius:14px;overflow:hidden;
  cursor:zoom-in;box-shadow:var(--shadow);position:relative
}
.footer-note{font:500 14px var(--font-sans);color:#8fa3b8;line-height:1.5;margin-top:8px}
.top-bar,.status-pill{display:none!important}
.zoom-hint{position:absolute;right:14px;bottom:14px;font:700 11px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;padding:6px 10px;border-radius:6px;background:rgba(7,16,27,.85);color:#9fdcff;border:1px solid rgba(91,231,255,.3)}
.hero-frame img,.gallery-open img,.diagram-frame img{display:block;width:100%;height:auto;min-height:200px;background:#07101b}

.section-tight{padding-top:20px}
.dossier-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery-card{margin:0;background:linear-gradient(180deg,rgba(17,29,44,.95),rgba(9,17,29,.95));border:1px solid rgba(120,160,210,.28);border-radius:14px;overflow:hidden;transition:border-color .2s,transform .2s}
.gallery-card:hover{border-color:rgba(91,231,255,.45);transform:translateY(-2px)}
.gallery-card figcaption{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}
.gallery-card strong{font-size:18px;color:#fff}
.gallery-card span{font-size:14px;color:#a8b9cc;line-height:1.45}
.gallery-disclaimer{font:500 14px var(--font-mono);color:#8fa3b8;margin-top:20px;padding:14px 16px;border:1px dashed rgba(120,160,210,.35);border-radius:10px}

.split-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.info-card{padding:24px;border-radius:14px;background:linear-gradient(180deg,rgba(17,29,44,.92),rgba(9,17,29,.92));border:1px solid rgba(120,160,210,.26)}
.info-card h3{margin:0 0 10px;font-size:22px}
.info-card p{margin:0;color:#b8c8da;font-size:16px;line-height:1.55}

.dossier-page .simple-hero{padding-bottom:8px}
.dossier-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;padding-bottom:48px;align-items:start}
.dossier-nav{position:sticky;top:100px;border:1px solid rgba(120,160,210,.28);background:rgba(9,17,29,.95);border-radius:12px;padding:14px}
.dossier-nav a{display:block;padding:10px 8px;border-bottom:1px solid rgba(120,160,210,.12);font:600 13px var(--font-mono);color:#b0c0d4}
.dossier-nav a:hover{color:var(--cyan)}
.dossier-section{margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid rgba(120,160,210,.18)}
.dossier-section-head{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}
.sec-id{font:800 22px var(--font-mono);color:var(--orange)}
.dossier-section h2{margin:0;font-size:clamp(26px,2.5vw,34px)}
.dossier-section p{color:#b8c8da;max-width:900px}
.dossier-prose{color:#b8c8da;max-width:920px;line-height:1.65}
.dossier-prose p{margin:0 0 14px}
.dossier-prose ul{margin:8px 0 16px;padding-left:22px}
.spec-list li{margin:6px 0;color:#c5d4e6;font-size:16px}
.dossier-disclaimer{font:500 14px var(--font-mono);color:#8fa3b8;margin-top:14px;padding:12px 14px;border-left:3px solid rgba(255,176,46,.6);background:rgba(255,176,46,.06)}
.diagram-figure{margin:18px 0 0}
.diagram-figure figcaption{font:500 13px var(--font-mono);color:#8fa3b8;margin-top:8px}
.diagram-frame{margin-top:0}

.timeline-wrap{max-width:900px}
.brand.compact{font-size:20px;margin-bottom:12px}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,6,12,.92);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .2s}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox-inner{max-width:min(96vw,1400px);max-height:92vh;display:flex;flex-direction:column;gap:12px}
.lightbox img{max-width:100%;max-height:calc(92vh - 48px);width:auto;height:auto;margin:auto;border-radius:8px;background:#07101b;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.lightbox-cap{font:500 14px var(--font-mono);color:#b8c8da;text-align:center}
.lightbox-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);color:#fff;font-size:28px;line-height:1;cursor:pointer;border-radius:10px}

@media(max-width:1100px){
  .hero-split,.dossier-layout,.dossier-gallery,.split-cards{grid-template-columns:1fr}
  .dossier-nav{position:static}
}
@media(max-width:720px){
  .dossier-gallery{grid-template-columns:1fr}
  .cta-row .btn{width:100%;justify-content:center}
}

/* Deep technical dossier upgrade 2026-07-08g */
.hero-dossier .wide-figure{margin:0}.technical-prose{max-width:980px}.technical-prose h2{font-size:clamp(32px,4vw,54px);line-height:1.04;margin:0 0 18px}.technical-prose p{font-size:18px;line-height:1.75;color:#b8c8da}.dossier-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.image-stack{display:grid;gap:34px}.wide-figure{margin:0 0 28px;background:linear-gradient(180deg,rgba(17,29,44,.96),rgba(7,14,24,.98));border:1px solid rgba(120,160,210,.28);border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.24)}.wide-figure .diagram-frame{border:0;border-radius:0;box-shadow:none}.wide-figure figcaption{display:flex;flex-direction:column;gap:6px;padding:16px 20px 20px;border-top:1px solid rgba(120,160,210,.18);font:500 14px var(--font-mono);color:#91a6bd}.wide-figure figcaption strong{font:700 18px var(--font-sans);color:#fff}.wide-figure figcaption span{line-height:1.45}.evidence-table{width:100%;border-collapse:collapse;background:rgba(8,16,28,.96);border:1px solid rgba(120,160,210,.3);border-radius:14px;overflow:hidden;display:table}.evidence-table th,.evidence-table td{padding:16px 14px;border:1px solid rgba(120,160,210,.18);text-align:left;vertical-align:top}.evidence-table th{font:800 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#dff6ff;background:rgba(91,231,255,.08)}.evidence-table td{color:#bed0e3;line-height:1.55}.research-dossier-hero{padding:74px 0 54px;background:radial-gradient(circle at 20% 0,rgba(91,231,255,.16),transparent 36rem),linear-gradient(180deg,#0a1420,#07101b);border-bottom:1px solid rgba(120,160,210,.24)}.research-dossier-hero h1{font-size:clamp(42px,6vw,76px);line-height:1;margin:12px 0 18px}.research-dossier-hero .lead{max-width:920px}.research-section{padding:64px 0}.research-section--dark{background:linear-gradient(180deg,#08111d,#0c1725)}.research-section__head{max-width:920px;margin-bottom:26px}.research-section__head h2{font-size:clamp(32px,4vw,54px);line-height:1.05;margin:8px 0 12px}.research-section__head p{color:#b8c8da}.research-kicker{font:800 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#5be7ff}.research-cluster-list{display:grid;gap:20px}.research-cluster{display:grid;grid-template-columns:170px minmax(0,1fr);border:1px solid rgba(120,160,210,.26);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,rgba(17,29,44,.96),rgba(8,16,28,.98))}.research-cluster__meta{padding:22px;border-right:1px solid rgba(120,160,210,.18);background:rgba(3,8,14,.25)}.research-cluster__meta span{display:block;font:800 20px var(--font-mono);color:#ffb02e}.research-cluster__meta strong{display:block;margin-top:10px;font:800 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#bdeeff;line-height:1.45}.research-cluster__body{padding:26px}.research-cluster__body h3{font-size:clamp(24px,3vw,36px);margin:0 0 14px}.research-cluster__body p{color:#b8c8da;line-height:1.7;max-width:980px}.validation-note{margin-top:18px;padding:14px 16px;border-left:4px solid #5be7ff;background:rgba(91,231,255,.08);color:#d8ecff}.validation-note strong{font:800 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.validation-note--red{border-color:#ff6b4a;background:rgba(255,107,74,.09)}.validation-note--blue{border-color:#5be7ff;background:rgba(91,231,255,.08)}.validation-note--green{border-color:#4ade80;background:rgba(74,222,128,.08)}.validation-note--yellow{border-color:#ffb02e;background:rgba(255,176,46,.08)}
@media(max-width:900px){.dossier-grid-two,.research-cluster{grid-template-columns:1fr}.research-cluster__meta{border-right:0;border-bottom:1px solid rgba(120,160,210,.18)}.evidence-table{display:block;overflow-x:auto}.technical-prose p{font-size:16px}}

/* Visual repair 2026-07-08: engineering dossier identity */
:root {
  --kb-ink: #07111f;
  --kb-panel: #0a1626;
  --kb-panel-2: #101f31;
  --kb-line: rgba(128, 181, 255, .28);
  --kb-blue: #4ba3ff;
  --kb-red: #ff6b4a;
  --kb-green: #41d19a;
  --kb-yellow: #ffc857;
}
body {
  background:
    linear-gradient(90deg, rgba(75,163,255,.055) 1px, transparent 1px) 0 0 / 44px 44px,
    linear-gradient(0deg, rgba(75,163,255,.045) 1px, transparent 1px) 0 0 / 44px 44px,
    radial-gradient(circle at 16% 0%, rgba(75,163,255,.16), transparent 32rem),
    #08111d;
}
.site-top {
  background: rgba(5, 12, 22, .94) !important;
  border-bottom: 1px solid rgba(128,181,255,.22) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.25);
}
main { background: transparent !important; }
.hero-dossier {
  padding: clamp(34px, 5vw, 72px) 0 28px !important;
  background:
    linear-gradient(135deg, rgba(5,14,26,.95), rgba(8,18,31,.78)),
    repeating-linear-gradient(90deg, rgba(75,163,255,.08) 0 1px, transparent 1px 72px) !important;
  border-bottom: 1px solid rgba(128,181,255,.26);
}
.hero-dossier .hero-split {
  display: grid !important;
  grid-template-columns: minmax(300px, .68fr) minmax(560px, 1.32fr) !important;
  gap: clamp(22px, 3vw, 52px) !important;
  align-items: center !important;
}
.hero-dossier .hero-text {
  border-left: 3px solid var(--kb-blue);
  padding: 12px 0 12px 22px;
}
.hero-dossier .hero-text h1,
.simple-hero .page-title,
.research-dossier-hero h1 {
  color: #f4f8ff !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.hero-dossier .lead,
.simple-hero .lead,
.research-dossier-hero .lead { color: #c9d7ea !important; }
.hero-dossier .hero-visual { min-width: 0; }
.wide-figure {
  margin: 0 0 clamp(22px, 4vw, 44px) !important;
  border: 1px solid rgba(128,181,255,.38) !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(9,20,34,.98), rgba(5,12,22,.98)) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  overflow: hidden !important;
  position: relative;
}
.wide-figure::before {
  content: "TECHNICAL FIGURE";
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 12px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--kb-yellow);
  background: rgba(5,12,22,.78);
  border: 1px solid rgba(255,200,87,.35);
  padding: 5px 8px;
}
.diagram-frame {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: #07111f !important;
  cursor: zoom-in;
}
.wide-figure img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: clamp(390px, 46vw, 760px) !important;
  object-fit: contain !important;
  padding: clamp(12px, 2vw, 26px) !important;
  background:
    linear-gradient(90deg, rgba(75,163,255,.055) 1px, transparent 1px) 0 0 / 36px 36px,
    linear-gradient(0deg, rgba(75,163,255,.045) 1px, transparent 1px) 0 0 / 36px 36px,
    #06101c !important;
}
.wide-figure figcaption {
  display: grid !important;
  grid-template-columns: minmax(180px, .32fr) 1fr;
  gap: 16px;
  align-items: start;
  padding: 16px 18px !important;
  color: #dbe8f7 !important;
  background: rgba(5,12,22,.94) !important;
  border-top: 1px solid rgba(128,181,255,.25);
}
.wide-figure figcaption strong {
  font-family: "IBM Plex Mono", monospace;
  color: #fff !important;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .06em;
}
.wide-figure figcaption span { color: #aebed2 !important; }
.section, .section-tight, .dossier-page, .research-section { background: transparent !important; }
.technical-prose, .tech-block, .dossier-section, .research-cluster, .validation-note, .evidence-table {
  border-radius: 0 !important;
  border-color: rgba(128,181,255,.28) !important;
  background: linear-gradient(180deg, rgba(9,20,34,.93), rgba(6,14,24,.9)) !important;
  color: #d8e4f4 !important;
}
.technical-prose h2, .tech-block h3, .dossier-section h2, .research-cluster h3, .section-head h2 { color: #f6f9ff !important; }
.technical-prose p, .tech-block p, .dossier-prose p, .research-cluster p, .section-head p { color: #b9c8da !important; }
.dossier-layout { align-items: start; }
.dossier-nav {
  background: rgba(5,12,22,.92) !important;
  border: 1px solid rgba(128,181,255,.28) !important;
  border-radius: 0 !important;
  box-shadow: 0 16px 45px rgba(0,0,0,.24);
}
.dossier-nav a {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  border-bottom: 1px solid rgba(128,181,255,.12);
}
.sec-id {
  border-radius: 0 !important;
  background: #09192b !important;
  color: var(--kb-yellow) !important;
  border: 1px solid rgba(255,200,87,.45) !important;
}
.dossier-section-head { border-bottom: 1px solid rgba(128,181,255,.18); padding-bottom: 12px; }
.dossier-section:nth-of-type(3n+1) { border-left: 4px solid var(--kb-blue) !important; }
.dossier-section:nth-of-type(3n+2) { border-left: 4px solid var(--kb-red) !important; }
.dossier-section:nth-of-type(3n) { border-left: 4px solid var(--kb-green) !important; }
.evidence-table th { background: #0d2137 !important; color: #fff !important; }
.evidence-table td { color: #c4d1e2 !important; }
.footer { background: #050b13 !important; border-top: 1px solid rgba(128,181,255,.22) !important; }
@media (max-width: 980px) {
  .hero-dossier .hero-split { grid-template-columns: 1fr !important; }
  .wide-figure img { min-height: 280px !important; }
  .wide-figure figcaption { grid-template-columns: 1fr; }
}
