/* 3-minute jury path on the home page (PC1) */
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.kpi{padding:26px 22px;border-right:1px solid var(--line)}
.kpi:last-child{border-right:0}
.kpi-num{font:800 2.3rem/1.05 var(--font);color:var(--acc);letter-spacing:-.02em}
.kpi-num small{font-size:.5em;font-weight:700;color:var(--mut)}
.kpi-lbl{margin-top:8px;font:600 .95rem/1.35 var(--font);color:var(--text)}
.kpi-det{margin-top:4px;font:.82rem/1.4 var(--font);color:var(--dim)}
.jband{padding:72px 6vw;border-top:1px solid var(--line);background:var(--bg)}
.jband.alt{background:var(--bg2)}
.jband h2{font:800 clamp(1.6rem,2.6vw,2.3rem)/1.15 var(--font);margin:0 0 .5em;letter-spacing:-.01em}
.jgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.jlede{font-size:1.08rem;line-height:1.6;color:var(--text);max-width:40em}
.jlede.small2{font-size:.98rem;color:var(--mut)}
.jnote{font-size:.85rem;color:var(--dim);margin:.4em 0 1.2em}
.btn.solid{display:inline-block;background:var(--acc);color:#fff;border:1px solid var(--acc);padding:11px 18px;border-radius:4px;font-weight:700;text-decoration:none}
.btn.solid:hover,.btn.solid:focus-visible{background:#082c6b}
.btn.ghost-d{display:inline-block;color:var(--acc);border:1px solid var(--acc);padding:10px 16px;border-radius:4px;font-weight:700;text-decoration:none}
.top5{list-style:none;padding:0;margin:18px 0 6px;counter-reset:t}
.top5 li{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.top5 .rk{font:800 1.1rem var(--font);color:var(--acc)}
.top5 .nm b{display:block;font-weight:700}
.top5 .nm span{font-size:.82rem;color:var(--dim)}
.top5 .rt{font:700 1.05rem var(--mono);color:var(--hot);white-space:nowrap}
.top5 .bar{grid-column:2/4;height:5px;background:var(--bg2);border-radius:3px;overflow:hidden}
.top5 .bar i{display:block;height:100%;background:var(--hot)}
.jfig{display:block;position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#0b1220}
.jfig img{display:block;width:100%;height:auto}
.jfig span{position:absolute;left:12px;bottom:10px;background:rgba(11,18,32,.82);color:#fff;font:600 .8rem var(--font);padding:5px 9px;border-radius:3px}
.jfig2{margin:0}
.jfig2 img{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff}
.jfig2 figcaption,.jchart figcaption{font-size:.82rem;color:var(--dim);margin-top:6px}
.jchart{margin:0;background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px}
.jchart svg{width:100%;height:auto;display:block}
.proof{list-style:none;padding:0;margin:0 0 16px}
.proof li{padding:10px 0 10px 28px;border-bottom:1px solid var(--line);position:relative;line-height:1.5}
.proof li::before{content:"";position:absolute;left:4px;top:16px;width:12px;height:7px;border-left:3px solid var(--ok);border-bottom:3px solid var(--ok);transform:rotate(-45deg)}
.calib{font-size:.85rem;color:var(--mut);border-left:3px solid var(--warn);padding-left:10px}
.impact{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:18px}
.icard{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px}
.icard.hl{border-color:var(--acc);box-shadow:0 0 0 2px rgba(11,61,145,.12)}
.inum{font:800 1.6rem/1.1 var(--font);color:var(--acc)}
.icard p{font-size:.92rem;line-height:1.45;margin:.6em 0}
.icard a{font-weight:700;color:var(--acc);text-decoration:none;font-size:.9rem}
.orig{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.orig>div{border-top:3px solid var(--acc);padding-top:12px}
.orig b{font-size:1.02rem}
.orig p{font-size:.92rem;line-height:1.5;color:var(--mut);margin:.5em 0 0}
.team{margin-top:28px;font-size:.85rem;color:var(--dim)}
.deepdive{padding:56px 6vw 20px;background:var(--bg2);border-top:4px solid var(--acc)}
.deepdive h2{margin:.2em 0 .3em}
.deepdive p{color:var(--mut)}
@media (max-width:1000px){
  .kpis{grid-template-columns:repeat(2,1fr)}.kpi{border-bottom:1px solid var(--line)}
  .jgrid{grid-template-columns:1fr;gap:28px}
  .impact{grid-template-columns:1fr 1fr}.orig{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .kpis{grid-template-columns:1fr}.kpi{border-right:0}.kpi-num{font-size:2rem}
  .jband{padding:48px 16px}.impact,.orig{grid-template-columns:1fr}
}
.hero h1{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.08}
.hero .lede{max-width:38em}
/* v4: atlas-first layout */
.hero-atlas{background:#0b1220;color:#e8eef7;padding:calc(var(--hdr) + 22px) 6vw 26px}
.ha-text{max-width:1180px;margin:0 auto 18px}
.hero-atlas .kicker{color:#8fb4ff}
.hero-atlas h1{font:800 clamp(1.9rem,3.6vw,3.2rem)/1.08 var(--font);margin:.2em 0 .35em;color:#fff;letter-spacing:-.01em;max-width:24em}
.ha-lede{font-size:1.1rem;line-height:1.55;color:#c9d4e6;max-width:52em;margin:0}
.ha-lede b{color:#fff}
.ha-map{display:block;max-width:1180px;margin:0 auto;border-radius:8px;overflow:hidden;border:1px solid #233250}
.ha-map img{display:block;width:100%;height:auto}
.ha-bottom{max-width:1180px;margin:14px auto 0;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.ha-top5{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.ha-top5 li{background:#13203a;border:1px solid #233250;border-radius:6px;padding:9px 11px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"rk nm" "rt rt" "bar bar";gap:2px 8px}
.ha-top5 .rk{grid-area:rk;font:800 1rem var(--font);color:#8fb4ff}
.ha-top5 .nm{grid-area:nm;min-width:0}
.ha-top5 .nm b{display:block;color:#fff;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ha-top5 .nm span{display:block;font-size:.72rem;color:#93a3bd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ha-top5 .rt{grid-area:rt;font:700 1.15rem var(--mono);color:#ff8a65}
.ha-top5 .bar{grid-area:bar;height:4px;background:#233250;border-radius:2px;overflow:hidden}
.ha-top5 .bar i{display:block;height:100%;background:#ff8a65}
.ha-cta{display:flex;gap:10px;flex-wrap:wrap}
.btn.line{display:inline-block;color:#fff;border:1px solid #8fb4ff;padding:10px 16px;border-radius:4px;font-weight:700;text-decoration:none}
.jband .btn.line{color:var(--acc);border-color:var(--acc)}
.ha-note{max-width:1180px;margin:12px auto 0;font-size:.8rem;color:#93a3bd}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0 26px}
.st{background:var(--bg2);border-radius:8px;padding:20px;position:relative}
.stn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--acc);color:#fff;font-weight:800}
.st h3{font:700 1.1rem/1.3 var(--font);margin:.6em 0 .4em}
.st p{font-size:.95rem;line-height:1.55;color:var(--mut);margin:0}
.ihead{font:700 .72rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.links-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
@media (max-width:1000px){.ha-bottom{grid-template-columns:1fr}.ha-top5{grid-template-columns:repeat(3,1fr)}.steps3{grid-template-columns:1fr}}
@media (max-width:520px){.hero-atlas{padding:calc(var(--hdr) + 14px) 16px 22px}.ha-top5{grid-template-columns:1fr 1fr}}
.ha-top5 .nm b{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}
.ha-top5 .rt{font-size:1.05rem}
@media (max-width:1240px){.ha-bottom{grid-template-columns:1fr}.ha-cta{justify-content:flex-start}}
/* v5: numbered "what we built" sections */
.built-intro{padding:46px 6vw 6px;background:var(--bg)}
.built-intro h2{font:800 clamp(1.6rem,2.6vw,2.2rem)/1.15 var(--font);margin:.2em 0 0}
.work{padding:54px 6vw;background:var(--bg)}
.work.alt{background:var(--bg2)}
.wgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.wgrid.rev .wtext{order:2}
.wnum{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:14px;background:var(--acc);color:#fff;font:800 1.9rem var(--font);margin-bottom:12px}
.work h2{font:800 clamp(1.5rem,2.4vw,2.1rem)/1.15 var(--font);margin:0 0 .5em}
.work .what,.work .why{font-size:1.02rem;line-height:1.55;margin:.4em 0;color:var(--text)}
.work .why{color:var(--mut)}
.wbig{margin:16px 0 18px;padding:12px 14px;border-left:5px solid var(--hot);background:rgba(200,50,31,.06);font-weight:600;line-height:1.35}
.wbig span{display:block;font:800 1.9rem/1.1 var(--font);color:var(--hot)}
.small2{font-size:.88rem;color:var(--dim);line-height:1.5}
.wfig{margin:0;display:block}
.wfig img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
.wfig figcaption{font-size:.82rem;color:var(--dim);margin-top:6px}
.chartbox{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}
.chartbox svg{width:100%;height:auto;display:block}
.statpanel{display:grid;grid-template-columns:1fr;gap:12px}
.sp{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px}
.sp b{display:block;font:800 2.2rem/1.05 var(--font);color:var(--acc)}
.sp span{color:var(--mut);font-size:.95rem}
.bulletin{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 6px 18px rgba(15,23,42,.08)}
.bl-head{background:#0b3d91;color:#fff;padding:12px 16px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bl-head span{font:500 .8rem var(--mono);opacity:.85}
.bl-row{display:flex;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line)}
.bl-row span{color:var(--dim)}
.bl-row b.hot{color:var(--hot)}
.bl-foot{padding:10px 16px;font-size:.76rem;color:var(--dim);background:var(--bg2)}
.code{background:#0b1220;color:#d6e2ff;border-radius:8px;padding:18px;font:500 .9rem/1.6 var(--mono);overflow-x:auto;margin:0}
.code .c{color:#7d8fb3}
@media (max-width:1000px){.wgrid{grid-template-columns:1fr;gap:24px}.wgrid.rev .wtext{order:0}}
@media (max-width:520px){.work{padding:40px 16px}.wnum{width:48px;height:48px;font-size:1.5rem}.wbig span{font-size:1.5rem}}

/* Zoomable figures & Lightbox Modal */
.work .wfig { position: relative; }
.work .wfig img {
  cursor: zoom-in;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.work .wfig:hover img {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(11,61,145,.14);
}
.zoom-hint {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(11, 18, 32, 0.85);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 5px 9px;
  border-radius: 6px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .2s ease, transform .2s ease;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  z-index: 2;
}
.work .wfig:hover .zoom-hint {
  opacity: 1;
  transform: translateY(0);
}

body.lightbox-open { overflow: hidden; }
.lightbox-modal[hidden] { display: none !important; }
.lightbox-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: lbFadeIn .2s ease-out;
}
@keyframes lbFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 10, 20, 0.94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.lightbox-container {
  position: relative;
  z-index: 2;
  max-width: 95vw;
  max-height: 94vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  outline: none;
}
.lightbox-close {
  position: fixed;
  top: 20px;
  right: 24px;
  z-index: 10;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 30px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease, border-color .15s ease;
  backdrop-filter: blur(6px);
}
.lightbox-close:hover, .lightbox-close:focus-visible {
  background: rgba(200, 50, 31, 0.9);
  border-color: rgba(200, 50, 31, 1);
  transform: scale(1.08);
  outline: none;
}
.lightbox-figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 100%;
}
.lightbox-figure img {
  display: block;
  max-width: 92vw;
  max-height: calc(84vh - 70px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: #0b1220;
  cursor: zoom-out;
  animation: lbZoomIn .22s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes lbZoomIn {
  from { transform: scale(0.96); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
.lightbox-caption {
  margin-top: 14px;
  color: #e2eaf6;
  font-size: 0.94rem;
  line-height: 1.5;
  text-align: center;
  max-width: 900px;
  padding: 6px 14px;
  background: rgba(11, 18, 32, 0.75);
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.lightbox-caption .lb-link {
  display: inline-block;
  margin-left: 10px;
  color: #8fb4ff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.lightbox-caption .lb-link:hover {
  color: #fff;
}
@media (max-width: 600px) {
  .lightbox-modal { padding: 12px; }
  .lightbox-close { top: 12px; right: 12px; width: 38px; height: 38px; font-size: 24px; }
  .lightbox-figure img { max-width: 95vw; max-height: calc(80vh - 90px); }
  .lightbox-caption { font-size: 0.82rem; padding: 6px 10px; }
  .zoom-hint { display: none; }
}
