:root { --bg:#222128; --ink:#e5e5ff; --muted:rgba(209,210,255,.58); --quiet:rgba(209,210,255,.35); --line:rgba(209,210,255,.16); --measure:760px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bg); max-width:100%; overflow-x:hidden; }
body { margin:0; max-width:100%; overflow-x:hidden; color:var(--ink); background:var(--bg); font-family:Syne,sans-serif; line-height:1.7; }
a { color:inherit; }
.site-header { height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5vw,76px); border-bottom:1px solid var(--line); }
.brand img { display:block; width:38px; height:38px; object-fit:contain; }
.header-actions,.languages,.release-meta,footer { display:flex; align-items:center; }
.header-actions { gap:clamp(24px,4vw,56px); }
.archive-link,.languages a,.release-meta,footer { font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.archive-link { color:var(--muted); text-decoration:none; }
.languages { gap:12px; }
.languages a { color:var(--quiet); text-decoration:none; padding:4px 0; border-bottom:1px solid transparent; }
.languages a[aria-current="true"] { color:var(--ink); border-color:var(--ink); }
main { width:min(100% - 48px,1080px); margin:0 auto; }
.release-header { max-width:860px; padding:clamp(56px,7vw,88px) 0 clamp(48px,6vw,66px); }
.release-meta { justify-content:space-between; color:var(--muted); border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:clamp(42px,6vw,68px); }
h1 { margin:0; max-width:22ch; font-size:clamp(32px,3.5vw,46px); font-weight:500; line-height:1.08; letter-spacing:-.03em; }
.subtitle { max-width:720px; margin:22px 0 0; overflow-wrap:anywhere; font-size:clamp(18px,1.8vw,23px); line-height:1.4; letter-spacing:-.01em; color:#d1d2ff; }
.abstract { max-width:680px; margin:20px 0 0; color:var(--muted); font-family:Arial,sans-serif; font-size:16px; line-height:1.65; }
.rule { border-top:1px solid var(--line); }
.release-content { max-width:var(--measure); margin:0 auto; padding:clamp(58px,8vw,92px) 0; }
.release-content p { margin:0 0 20px; font-family:Arial,sans-serif; font-size:17px; line-height:1.72; color:rgba(229,229,255,.76); }
.release-content .lead { margin-bottom:20px; font:17px/1.72 Arial,sans-serif; color:rgba(229,229,255,.86); }
.release-content h2 { display:grid; grid-template-columns:36px 1fr; gap:14px; margin:64px 0 26px; padding-top:18px; border-top:1px solid var(--line); font-size:20px; font-weight:500; line-height:1.35; letter-spacing:-.01em; color:var(--ink); }
.release-content h2 span { padding-top:5px; font-size:9px; font-weight:600; letter-spacing:.14em; color:var(--quiet); }
.release-content blockquote { margin:28px 0; padding:0 0 0 18px; border-left:1px solid rgba(209,210,255,.3); font:17px/1.72 Arial,sans-serif; color:rgba(229,229,255,.8); }
.release-content .math { margin:20px 0; padding:10px 0; overflow:auto; color:rgba(229,229,255,.82); font-size:.88em; }
.release-content .inline-list { margin:26px 0; border-top:1px solid var(--line); }
.release-content .inline-list div { display:grid; grid-template-columns:150px 1fr; gap:24px; padding:12px 0; border-bottom:1px solid var(--line); font:15px/1.55 Arial,sans-serif; color:var(--muted); }
.release-content .inline-list strong { color:var(--ink); font-family:Arial,sans-serif; font-weight:600; }
.release-content .callout { margin:26px 0; padding:0; font:16px/1.7 Arial,sans-serif; color:rgba(229,229,255,.76); }
.release-content .callout strong { color:var(--ink); font-family:Arial,sans-serif; font-weight:600; }
.release-content .small { color:var(--quiet); font-size:14px; }
.release-content .research-figure { margin:38px 0 44px; }
.release-content .research-figure img { display:block; width:100%; height:auto; background:#f5f5f3; }
.release-content .research-figure figcaption { margin-top:12px; font:13px/1.55 Arial,sans-serif; color:var(--quiet); }
.release-content .research-figure.wide { width:min(1040px,calc(100vw - 48px)); margin-left:50%; transform:translateX(-50%); }
.release-content .research-figure.interactive { position:relative; margin-top:46px; padding:22px 0 0; border-top:1px solid var(--line); }
.release-content .research-figure.photo img { border-radius:16px; background:none; }
.release-content .research-figure.photo > img { border-radius:28px; }
.release-content .research-figure.video video { display:block; width:100%; height:auto; aspect-ratio:16 / 9; border-radius:28px; background:var(--bg); }
/* Two images side by side at equal height: each panel grows by its aspect ratio (--ratio = width / height). */
.release-content .photo-pair { display:flex; gap:14px; }
.release-content .photo-pair > div { flex:var(--ratio) 1 0; min-width:0; }
.release-content .photo-pair span { display:block; margin-top:10px; font:600 9px/1.4 Syne,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--quiet); }

/* Row of event logos, each with its place and year; --logo-h balances the logos' optical size. */
.release-content .event-logos { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:40px 0 8px; padding:28px 0 0; border-top:1px solid var(--line); }
.release-content .event-logos > div { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:16px; text-align:center; }
.release-content .event-logos img { display:block; width:auto; max-width:100%; height:var(--logo-h); }
.release-content .event-logos span { font:600 9px/1.5 Syne,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--quiet); }
.release-content .event-logos i { font:600 10px/1 Arial,sans-serif; font-style:normal; }

/* Row of headline figures (event releases): value over label, hairline dividers; 2 × 2 on phones. */
.release-content .stat-row { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.release-content .stat-row > div { padding:22px 16px 22px 0; }
.release-content .stat-row > div + div { padding-left:20px; border-left:1px solid var(--line); }
.release-content .stat-row strong { display:block; margin-bottom:8px; font:500 36px/1.1 Syne,sans-serif; letter-spacing:-.04em; color:var(--ink); }
.release-content .stat-row span { display:block; font:600 9px/1.5 Syne,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--quiet); }

/* Event theme: plain background on the left half, fading into the event artwork on the right. */
:root { --event-cover:linear-gradient(to right, var(--bg) 0%, var(--bg) 50%, rgba(34,33,40,.85) 65%, rgba(34,33,40,.45) 82%, rgba(34,33,40,.2) 100%); }
body.theme-one6g, body.theme-vds { background:transparent; }
body.theme-one6g::before, body.theme-vds::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:var(--event-cover), var(--event-art) center / cover no-repeat; }
body.theme-one6g { --event-art:url("../resources/events/one6g-summit-2026/one6g-summit-2026-background.jpg"); }
body.theme-vds { --event-art:url("../resources/events/vds-2026/vds-2026-background.jpg"); }

/* Multi-event releases: event backgrounds crossfade as the reader scrolls (releases/event-backgrounds.js),
   always under the same dark cover as the single-event theme. */
body.theme-events { background:transparent; }
.event-bg { position:fixed; inset:0; z-index:-1; pointer-events:none; background:var(--bg); }
/* Denser cover than the single-event theme: plain background to 62 %, 45 % at the right edge. */
.event-bg::after { content:""; position:absolute; inset:0;
  background:linear-gradient(to right, var(--bg) 0%, var(--bg) 62%, rgba(34,33,40,.88) 74%, rgba(34,33,40,.66) 87%, rgba(34,33,40,.45) 100%); }
.event-bg-layer { position:absolute; inset:0; background:center / cover no-repeat; opacity:0; transition:opacity 1.2s ease; }
.event-bg-layer.active { opacity:1; }
@media (prefers-reduced-motion:reduce) { .event-bg-layer { transition:none; } }
/* Essay elements: footnote markers, stat pair, bar figure, closing line, evidence notes, sources. */
.release-content sup.cite { margin-left:2px; font:600 10px/0 Arial,sans-serif; white-space:nowrap; }
.release-content sup.cite a, .release-content .stat-pair a, .release-content .bar-figure figcaption a { color:#d1d1ff; text-decoration:none; }
.release-content sup.cite a:hover { text-decoration:underline; }
.release-content .stat-pair { display:grid; grid-template-columns:1fr 1fr; margin:30px 0 34px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.release-content .stat-pair > div { padding:22px 24px 24px 0; }
.release-content .stat-pair > div + div { padding-left:24px; border-left:1px solid var(--line); }
.release-content .stat-pair span { color:var(--quiet); font-size:9px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.release-content .stat-pair strong { display:block; margin:6px 0 8px; font:500 44px/1.1 Syne,sans-serif; letter-spacing:-.04em; color:var(--ink); }
.release-content .stat-pair p { margin:0; font-size:13px; line-height:1.55; color:var(--muted); }
.release-content .bar-figure { margin:38px 0 40px; padding-top:22px; border-top:1px solid var(--line); }
.bars { display:grid; gap:14px; }
.bar-row { display:grid; grid-template-columns:120px minmax(0,1fr) 36px; align-items:center; gap:14px; font:13px/1.3 Arial,sans-serif; color:var(--muted); }
.bar-row b { font-weight:600; text-align:right; color:var(--ink); }
.bar-track { height:22px; border-left:1px solid rgba(209,210,255,.35);
  background:repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), rgba(209,210,255,.08) calc(25% - 1px), rgba(209,210,255,.08) 25%); }
.bar-track i { display:block; height:100%; background:rgba(209,210,255,.3); }
.bar-row.new .bar-track i { background:#d1d1ff; }
.bar-axis { display:flex; justify-content:space-between; margin:-6px 0 0 134px; margin-right:50px; font:10px/1 Arial,sans-serif; color:var(--quiet); }
.release-content blockquote.closing { margin:34px 0 24px; padding-left:20px; border-left:2px solid #d1d1ff; font:500 21px/1.45 Syne,sans-serif; letter-spacing:-.015em; color:var(--ink); }
.release-content .evidence-notes { margin:18px 0 28px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.release-content .evidence-notes summary { padding:15px 0; cursor:pointer; font:600 10px/1.4 Syne,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.release-content .evidence-notes summary:hover { color:var(--ink); }
.release-content .evidence-notes p { font-size:14px; line-height:1.65; }
.release-content .evidence-notes a, .release-content .sources a { color:var(--ink); text-underline-offset:3px; text-decoration-color:rgba(209,210,255,.35); }
.release-content .sources { margin:0; padding:0; list-style:none; counter-reset:src; }
.release-content .sources li { counter-increment:src; position:relative; padding:14px 0 15px 34px; border-bottom:1px solid var(--line); font:13px/1.55 Arial,sans-serif; overflow-wrap:anywhere; scroll-margin-top:24px; }
.release-content .sources li::before { content:counter(src, decimal-leading-zero); position:absolute; left:0; top:16px; font:600 10px/1 Arial,sans-serif; color:#d1d1ff; }
.release-content .sources li > span { display:block; margin-top:4px; font-size:11px; color:var(--quiet); }
.release-content .sources li p { margin:4px 0 0; font-size:13px; line-height:1.55; color:var(--muted); }
.release-content .sources li:target { background:rgba(209,209,255,.06); outline:10px solid rgba(209,209,255,.06); }

.chart-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:18px; }
.chart-heading span { color:var(--quiet); font-size:9px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.chart-heading strong { color:var(--ink); font-size:14px; font-weight:500; text-align:right; }
.research-chart { position:relative; min-height:446px; border-bottom:1px solid var(--line); }
.chart-controls { display:flex; gap:20px; min-height:34px; }
.chart-controls button { padding:0 0 7px; border:0; border-bottom:1px solid transparent; color:var(--quiet); background:none; font:600 9px/1 Syne,sans-serif; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }
.chart-controls button[aria-pressed="true"] { color:var(--ink); border-color:var(--ink); }
.chart-controls button:focus-visible,.chart-point:focus-visible { outline:1px solid #d1d2ff; outline-offset:4px; }
.chart-legend { display:flex; flex-wrap:wrap; gap:7px 18px; min-height:38px; padding:8px 0 4px; color:var(--muted); font:11px/1.4 Arial,sans-serif; }
.chart-legend span::before { display:inline-block; width:14px; height:1px; margin:0 7px 3px 0; background:var(--series-color); content:""; }
.chart-stage { width:100%; }
.chart-stage svg { display:block; width:100%; height:auto; overflow:visible; }
.chart-grid { stroke:rgba(209,210,255,.08); stroke-width:1; }
.chart-axis { stroke:rgba(209,210,255,.24); stroke-width:1; }
.chart-line { fill:none; stroke-width:1.7; vector-effect:non-scaling-stroke; }
.chart-point { stroke:var(--bg); stroke-width:1.5; cursor:crosshair; vector-effect:non-scaling-stroke; }
.chart-point:hover,.chart-point:focus { r:6; }
.chart-tick,.chart-label { fill:rgba(209,210,255,.48); font-family:Arial,sans-serif; font-size:10px; }
.chart-label { font-size:11px; }
.chart-band { fill:rgba(209,210,255,.035); }
.chart-band.protected,.chart-band.useful { fill:rgba(117,214,198,.08); }
.chart-band.negative { fill:rgba(239,131,152,.07); }
.chart-band.excess { fill:rgba(240,182,111,.05); }
.chart-tooltip { position:absolute; z-index:2; width:max-content; max-width:210px; padding:9px 11px; transform:translate(-50%,-100%); border:1px solid rgba(209,210,255,.22); color:var(--muted); background:#292830; pointer-events:none; font:11px/1.45 Arial,sans-serif; }
.chart-tooltip strong,.chart-tooltip span { display:block; }
.chart-tooltip strong { margin-bottom:3px; color:var(--ink); font-weight:600; }
.chart-error { padding:40px 0; }
/* markers, reference lines and hover crosshair (releases/vital-signs-charts.js) */
.chart-marker { stroke-width:1.2; vector-effect:non-scaling-stroke; }
.chart-marker.dashed,.chart-ref.dashed { stroke-dasharray:4 4; }
.chart-ref { stroke-width:1; vector-effect:non-scaling-stroke; }
.chart-note { fill:rgba(209,210,255,.62); font:10px Arial,sans-serif; }
.chart-cross { stroke:rgba(209,210,255,.3); stroke-width:1; pointer-events:none; }
.chart-cross-dot { stroke:var(--bg); stroke-width:1.5; pointer-events:none; }
.chart-point.hollow { stroke-width:1.5; }
.chart-band.window { fill:rgba(240,182,111,.07); }
.chart-legend span.dot::before { width:8px; height:8px; margin-bottom:0; border-radius:50%; vertical-align:-1px; }
.chart-legend span.dot.hollow::before { background:none; border:1.5px solid var(--series-color); width:6px; height:6px; }
.chart-tooltip i { display:inline-block; width:8px; height:8px; margin-right:6px; border-radius:50%; }
.release-content .metric-line { display:grid; grid-template-columns:1fr auto; gap:24px; padding:12px 0; border-bottom:1px solid var(--line); font:15px/1.55 Arial,sans-serif; color:var(--muted); }
.release-content .metric-line:first-of-type,.release-content :not(.metric-line) + .metric-line { border-top:1px solid var(--line); }
.release-content .metric-line strong { color:var(--ink); font-weight:600; text-align:right; }
.release-contact { margin-top:88px; padding-top:22px; border-top:1px solid var(--line); }
.release-contact .contact-kicker { margin:0 0 10px; font:600 9px/1.4 Syne,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--quiet); }
.release-content .release-contact h2 { display:block; margin:0 0 18px; padding:0; border:0; font-size:clamp(22px,2.4vw,28px); line-height:1.2; letter-spacing:-.02em; }
.contact-form { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; margin-top:34px; }
.contact-form[hidden] { display:none; }
.contact-form label { display:flex; flex-direction:column; gap:8px; }
.contact-form .wide { grid-column:1 / -1; }
.contact-form label > span { font:600 9px/1.4 Syne,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:10px 0; border:0; border-bottom:1px solid rgba(209,210,255,.28); border-radius:0; color:var(--ink); background:transparent; font:16px/1.5 Arial,sans-serif; }
.contact-form textarea { resize:vertical; min-height:132px; }
.contact-form select option { color:var(--ink); background:#292830; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline:none; border-bottom-color:#d1d2ff; }
.contact-form .contact-consent { flex-direction:row; align-items:flex-start; gap:12px; }
.contact-form .contact-consent input { width:auto; margin:4px 0 0; accent-color:#d1d2ff; }
.contact-form .contact-consent span { font:14px/1.55 Arial,sans-serif; letter-spacing:0; text-transform:none; color:var(--muted); }
.contact-form .contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.contact-actions button { padding:14px 26px; border:1px solid var(--ink); border-radius:16px; color:var(--bg); background:var(--ink); font:600 10px/1 Syne,sans-serif; letter-spacing:.18em; text-transform:uppercase; cursor:pointer; }
.contact-actions button:hover { background:#d1d2ff; }
.contact-actions button:disabled { opacity:.5; cursor:progress; }
.contact-actions button:focus-visible { outline:1px solid #d1d2ff; outline-offset:4px; }
.release-content .contact-status { margin:0; font:14px/1.55 Arial,sans-serif; color:var(--muted); }
.release-content .contact-status[data-state="error"] { color:#ef8398; }
.release-contact .contact-confirmation { margin-top:34px; padding-top:18px; border-top:1px solid var(--line); }
.release-contact .contact-confirmation[hidden] { display:none; }
.release-contact .contact-confirmation:focus { outline:none; }
.release-contact .contact-confirmation span { display:block; margin-bottom:14px; font:600 9px/1.4 Syne,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--quiet); }
.release-content .release-contact .contact-confirmation p { margin:0 0 26px; color:var(--ink); }
.contact-again { padding:0 0 5px; border:0; border-bottom:1px solid var(--line); color:var(--muted); background:none; font:600 10px/1 Syne,sans-serif; letter-spacing:.18em; text-transform:uppercase; cursor:pointer; }
.contact-again:hover { color:var(--ink); border-color:var(--ink); }
.contact-again:focus-visible { outline:1px solid #d1d2ff; outline-offset:4px; }
footer { justify-content:space-between; margin:0 clamp(24px,5vw,76px); padding:34px 0 46px; border-top:1px solid var(--line); color:var(--quiet); }
footer a { text-decoration:none; }
.site-footer { flex-wrap:wrap; gap:14px 24px; }
.site-footer p { margin:0; font:400 13px/1.5 Arial,sans-serif; letter-spacing:0; text-transform:none; color:var(--quiet); }
.site-footer nav { display:flex; flex-wrap:wrap; gap:22px; }
.site-footer nav a { color:var(--muted); }
.site-footer nav a:hover, .site-footer nav a:focus-visible { color:var(--ink); }
.site-footer nav { align-items:center; }
.footer-social { display:inline-flex; }
.footer-social svg { width:15px; height:15px; fill:currentColor; }
@media (max-width:640px) {
  .site-footer { flex-direction:column; align-items:flex-start; gap:26px; }
  .site-footer nav { order:1; flex-direction:column; align-items:flex-start; gap:18px; }
  .site-footer p { order:2; }
}
.load-error { color:var(--muted); }
@media (max-width:640px) {
  .site-header { height:76px; padding-inline:20px; }
  .archive-link { display:none; }
  main { width:calc(100% - 40px); }
  .release-header { padding:46px 0 44px; }
  .release-meta { gap:18px; margin-bottom:34px; font-size:8px; }
  .release-meta span:last-child { text-align:right; }
  h1 { max-width:none; font-size:clamp(27px,8.2vw,34px); line-height:1.12; letter-spacing:-.025em; }
  .subtitle { margin-top:18px; font-size:17px; line-height:1.45; }
  .abstract { margin-top:16px; font-size:15px; }
  .release-content { padding:48px 0 68px; }
  .release-content p,.release-content .lead,.release-content blockquote { font-size:16px; }
  .release-content h2 { grid-template-columns:30px 1fr; margin-top:52px; font-size:18px; }
  .release-content .inline-list div { grid-template-columns:1fr; gap:4px; }
  .release-content .research-figure.wide { width:100%; margin-left:0; transform:none; }
  .release-content .photo-pair { flex-direction:column; gap:22px; }
  .release-content .photo-pair.portrait { flex-direction:row; gap:10px; }
  .release-content .stat-row { grid-template-columns:1fr 1fr; }
  .release-content .stat-row > div:nth-child(3) { padding-left:0; border-left:0; }
  .release-content .stat-row > div:nth-child(n+3) { border-top:1px solid var(--line); }
  .release-content .stat-row strong { font-size:30px; }
  .release-content .event-logos { grid-template-columns:1fr; gap:30px; }
  .chart-heading { display:block; }
  .chart-heading strong { display:block; margin-top:5px; text-align:left; }
  .research-chart { min-height:410px; }
  .chart-controls { gap:16px; overflow-x:auto; }
  .chart-legend { gap:5px 12px; font-size:10px; }
  .release-content .metric-line { grid-template-columns:1fr; gap:2px; }
  .release-content .stat-pair strong { font-size:36px; }
  .bar-row { grid-template-columns:96px minmax(0,1fr) 30px; gap:10px; font-size:12px; }
  .bar-axis { margin-left:106px; margin-right:40px; }
  .release-content blockquote.closing { font-size:19px; }
  .release-content .metric-line strong { text-align:left; }
  .release-contact { margin-top:64px; }
  .contact-form { grid-template-columns:1fr; }
}
@media print { .site-header,.languages,footer,.release-contact { display:none; } body { background:#fff; color:#111; } .release-content p,.release-content blockquote { color:#222; } }
