
:root {
  --bg:#0B1220;
  --bg-2:#111B2E;
  --bg-3:#15233B;
  --bg-card:#0F1928;
  --text:#EDEFF3;
  --text-dim:#8B96A8;
  --text-faint:#4A5568;
  --red:#E4002B;
  --red-dark:#A3001E;
  --gold:#C5A572;
  --blue:#3BA5D8;
  --green:#5FC88D;
  --rule:rgba(237,239,243,0.08);
  --rule-strong:rgba(237,239,243,0.16);
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg);
  color:var(--text);
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a { color:inherit; }
.site-head {
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(11,18,32,.98);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
.update-bar {
  background:#09111d;
  border-bottom:1px solid rgba(237,239,243,.08);
  padding:.48rem 2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  font-size:.62rem;
}
.update-left,
.update-right {
  display:flex;
  align-items:center;
  gap:.65rem;
  min-width:0;
}
.ub-dot {
  width:8px;
  height:8px;
  background:var(--red);
  border-radius:50%;
  box-shadow:0 0 0 4px rgba(228,0,43,.12);
  flex-shrink:0;
}
.ub-track {
  color:rgba(237,239,243,.76);
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ub-local-time {
  color:var(--text-dim);
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
  border-left:1px solid rgba(237,239,243,.12);
  padding-left:.75rem;
}
.nav {
  max-width:1280px;
  margin:0 auto;
  padding:.86rem 2rem;
  display:flex;
  align-items:center;
  gap:2rem;
}
.nav-brand {
  margin-right:auto;
  display:flex;
  flex-direction:column;
  line-height:1.1;
  color:var(--text);
  text-decoration:none;
}
.nav-brand strong {
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.nav-brand span {
  color:var(--red);
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.nav-links {
  display:flex;
  align-items:center;
  gap:1.2rem;
}
.nav-link {
  color:var(--text-dim);
  text-decoration:none;
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.nav-link:hover { color:var(--text); }
.nav-cta {
  background:var(--red);
  color:#fff;
  padding:.58rem 1rem;
  text-decoration:none;
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.nav-cta:hover { background:var(--red-dark); }

.wrap {
  max-width:1280px;
  margin:0 auto;
  padding:3.2rem 2rem;
}
.label {
  color:var(--text-dim);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:.7rem;
}
h1,h2,h3 {
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  text-transform:uppercase;
}
.hero {
  background:
    radial-gradient(circle at 78% 15%, rgba(228,0,43,.10), transparent 28%),
    linear-gradient(135deg,#0B1220 0%, #111B2E 100%);
  border-bottom:1px solid var(--rule);
}
.hero-grid {
  max-width:1280px;
  margin:0 auto;
  padding:4.6rem 2rem 3.4rem;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2rem;
  align-items:end;
}
.hero-title {
  font-size:clamp(2.7rem,7.5vw,5.8rem);
  line-height:.96;
  font-weight:800;
  letter-spacing:-.04em;
  margin-bottom:1rem;
}
.hero-title span {
  display:inline-block;
  border-bottom:5px solid var(--red);
  padding-bottom:.15rem;
}
.hero-text {
  color:rgba(237,239,243,.82);
  max-width:760px;
  font-size:1rem;
}
.hero-note {
  background:rgba(255,255,255,.035);
  border:1px solid var(--rule);
  padding:1.1rem 1.2rem;
}
.hero-note strong {
  color:var(--gold);
  display:block;
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:.35rem;
}
.hero-note p {
  color:var(--text-dim);
  font-size:.86rem;
  line-height:1.55;
}
.markers {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--rule);
  background:var(--bg-2);
}
.marker {
  padding:1rem 1.1rem;
  border-right:1px solid var(--rule);
}
.marker:last-child { border-right:none; }
.marker-num {
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:1.35rem;
  font-weight:800;
  line-height:1.05;
}
.marker-label {
  color:var(--text-dim);
  margin-top:.35rem;
  font-size:.64rem;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.branch-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.4rem;
}
.branch-card {
  display:block;
  text-decoration:none;
  background:var(--bg-card);
  border:1px solid var(--rule);
  padding:1rem;
  transition:border-color .2s, transform .2s;
}
.branch-card:hover {
  border-color:rgba(228,0,43,.35);
  transform:translateY(-2px);
}
.branch-card .branch-tag {
  color:var(--red);
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:.6rem;
}
.branch-card h3 {
  font-size:1rem;
  line-height:1.2;
  margin-bottom:.45rem;
}
.branch-card p {
  color:var(--text-dim);
  font-size:.8rem;
  line-height:1.5;
}
.section-rule {
  height:1px;
  background:var(--rule);
}
.key-points {
  background:var(--bg-2);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.points-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.75rem;
  margin-top:1.25rem;
}
.point {
  background:var(--bg);
  border:1px solid var(--rule);
  padding:.9rem;
}
.point-num {
  color:rgba(228,0,43,.36);
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:1.55rem;
  font-weight:800;
  line-height:1;
  margin-bottom:.55rem;
}
.point h3 {
  font-size:.82rem;
  line-height:1.25;
  margin-bottom:.35rem;
}
.point p {
  color:var(--text-dim);
  font-size:.72rem;
  line-height:1.4;
}
.tree {
  display:grid;
  gap:1rem;
}
.track {
  background:var(--bg-card);
  border:1px solid var(--rule);
  overflow:hidden;
}
.track[open] {
  border-color:rgba(237,239,243,.16);
}
.track summary {
  list-style:none;
  cursor:pointer;
  padding:1.05rem 1.2rem;
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:center;
  border-bottom:1px solid transparent;
}
.track[open] summary {
  border-bottom-color:var(--rule);
}
.track summary::-webkit-details-marker { display:none; }
.summary-left {
  display:flex;
  align-items:center;
  gap:.9rem;
  min-width:0;
}
.track-icon {
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(228,0,43,.34);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--red);
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.74rem;
  font-weight:900;
  flex-shrink:0;
}
.summary-text h2 {
  font-size:1.05rem;
  line-height:1.15;
  margin-bottom:.18rem;
}
.summary-text p {
  color:var(--text-dim);
  font-size:.78rem;
  line-height:1.42;
}
.chev {
  color:var(--red);
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}
.track[open] .chev::after { content:" −"; }
.track:not([open]) .chev::after { content:" +"; }
.track-body {
  padding:1.2rem;
}
.years {
  display:grid;
  gap:1rem;
}
.year-block {
  display:grid;
  grid-template-columns:120px 1fr;
  gap:1rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--rule);
}
.year-block:last-child {
  border-bottom:none;
  padding-bottom:0;
}
.year-label {
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  color:var(--gold);
  font-size:1.35rem;
  font-weight:800;
  line-height:1;
}
.year-sub {
  color:var(--text-faint);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-top:.38rem;
}
.events {
  display:grid;
  gap:.7rem;
}
.event {
  position:relative;
  border-left:2px solid rgba(228,0,43,.45);
  background:rgba(255,255,255,.018);
  padding:.8rem .9rem .85rem;
}
.event.critical { border-left-color:var(--red); }
.event.legal { border-left-color:var(--gold); }
.event.media { border-left-color:var(--blue); }
.event.medical { border-left-color:var(--green); }
.event-date {
  color:var(--text-faint);
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:.28rem;
}
.event h3 {
  font-size:.88rem;
  line-height:1.25;
  margin-bottom:.3rem;
  text-transform:none;
}
.event p {
  color:var(--text-dim);
  font-size:.78rem;
  line-height:1.5;
}
.source-links {
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
  margin-top:.55rem;
}
.source-link {
  display:inline-block;
  color:var(--red);
  border:1px solid rgba(228,0,43,.22);
  text-decoration:none;
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.18rem .42rem;
}
.source-link:hover {
  background:var(--red);
  color:#fff;
}

.event[data-url] {
  cursor:pointer;
  transition:border-color .2s, background .2s, transform .2s;
}
.event[data-url]:hover {
  background:rgba(255,255,255,.035);
  border-left-color:var(--red);
  transform:translateX(2px);
}
.event[data-url]::after {
  content:"Open source →";
  display:inline-block;
  margin-top:.55rem;
  color:var(--red);
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.event[data-url]:focus {
  outline:2px solid rgba(228,0,43,.55);
  outline-offset:2px;
}

.badge {
  display:inline-block;
  color:#fff;
  background:rgba(228,0,43,.85);
  padding:.1rem .38rem;
  margin-left:.3rem;
  font-size:.5rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  vertical-align:middle;
}
.note-box {
  background:rgba(197,165,114,.06);
  border:1px solid rgba(197,165,114,.14);
  padding:1rem;
  color:var(--text-dim);
  font-size:.84rem;
  line-height:1.6;
  margin-top:1rem;
}

.source-library {
  background:var(--bg);
  border-top:1px solid var(--rule);
}
.source-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.2rem;
}
.source-card {
  background:var(--bg-card);
  border:1px solid var(--rule);
  padding:1rem;
}
.source-card h3 {
  color:var(--text);
  font-size:.9rem;
  line-height:1.25;
  margin-bottom:.65rem;
}
.source-list {
  list-style:none;
  display:grid;
  gap:.45rem;
}
.source-list a {
  color:var(--text-dim);
  text-decoration:none;
  font-size:.78rem;
  line-height:1.35;
  border-bottom:1px solid transparent;
}
.source-list a:hover {
  color:var(--red);
  border-bottom-color:rgba(228,0,43,.35);
}
@media (max-width:1000px) {
  .source-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .source-grid { grid-template-columns:1fr; }
}

.cta-strip {
  background:var(--bg-2);
  border-top:1px solid var(--rule);
}
.cta-grid {
  max-width:1280px;
  margin:0 auto;
  padding:2.2rem 2rem;
  display:grid;
  grid-template-columns:1.2fr auto;
  gap:1.2rem;
  align-items:center;
}
.cta-grid h2 {
  font-size:1.5rem;
  margin-bottom:.35rem;
}
.cta-grid p {
  color:var(--text-dim);
  font-size:.88rem;
  max-width:720px;
}
.btn-row {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}
.btn {
  display:inline-block;
  text-decoration:none;
  font-family: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:.72rem .95rem;
  border:1px solid rgba(237,239,243,.22);
}
.btn.primary {
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}
.btn.secondary {
  color:var(--text);
}
.footer {
  background:#060C17;
  border-top:1px solid var(--rule);
  padding:2.2rem 2rem;
}
.footer-inner {
  max-width:1280px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  color:var(--text-faint);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer a {
  color:var(--text-dim);
  text-decoration:none;
}
.footer a:hover { color:var(--text); }

@media (max-width:1000px) {
  .hero-grid { grid-template-columns:1fr; padding-top:3.4rem; }
  .branch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .points-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .markers { grid-template-columns:repeat(2,1fr); }
  .marker:nth-child(2) { border-right:none; }
  .marker:nth-child(-n+2) { border-bottom:1px solid var(--rule); }
  .cta-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .nav-links { display:none; }
  .wrap { padding:2.2rem 1.1rem; }
  .hero-grid { padding:3rem 1.1rem 2.2rem; }
  .update-bar { padding:.46rem .9rem; }
  .ub-track {
    font-size:.53rem;
    letter-spacing:.12em;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:56vw;
  }
  .ub-local-time {
    font-size:.49rem;
    padding-left:.55rem;
  }
  .nav { padding:.78rem 1rem; }
  .nav-brand strong { font-size:1rem; }
  .branch-grid,
  .points-grid {
    grid-template-columns:1fr;
  }
  .markers { grid-template-columns:1fr; }
  .marker { border-right:none; border-bottom:1px solid var(--rule); }
  .marker:last-child { border-bottom:none; }
  .track summary {
    padding:.95rem;
  }
  .summary-left {
    align-items:flex-start;
  }
  .track-icon {
    width:36px;
    height:36px;
    font-size:.66rem;
  }
  .summary-text h2 { font-size:.92rem; }
  .summary-text p { font-size:.72rem; }
  .chev { display:none; }
  .track-body { padding:.95rem; }
  .year-block {
    grid-template-columns:1fr;
    gap:.6rem;
  }
  .year-label { font-size:1.15rem; }
  .event h3 { font-size:.82rem; }
  .event p { font-size:.72rem; }
  .btn-row { flex-direction:column; }
  .btn { text-align:center; width:100%; }
}

/* === MOBILE NAV — v12 hamburger === */
.nav-toggle{display:none;background:transparent;border:0;padding:.4rem;cursor:pointer;width:36px;height:36px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-left:auto}
.nav-toggle-bar{display:block;width:22px;height:2px;background:var(--text);transition:transform .2s,opacity .2s}
.nav.nav-open .nav-toggle-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.nav-open .nav-toggle-bar:nth-child(2){opacity:0}
.nav.nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:768px){
  .nav-toggle{display:flex}
  .nav{flex-wrap:wrap;position:relative}
  .nav .nav-links{display:none !important;flex-direction:column;width:100%;gap:0;padding:.6rem 0 .2rem;border-top:1px solid var(--rule);margin-top:.6rem}
  .nav.nav-open .nav-links{display:flex !important}
  .nav.nav-open .nav-link,.nav.nav-open .nav-cta{padding:.78rem .2rem;border-bottom:1px solid var(--rule);width:100%;font-size:.78rem;letter-spacing:.08em}
  .nav.nav-open .nav-cta{background:var(--red);color:#fff;text-align:center;margin-top:.4rem;border-radius:2px}
}
/* === /MOBILE NAV === */
