.breadcrumb{ padding:100px 0 0; }
.breadcrumb .wrap{ display:flex; align-items:center; gap:8px; font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--text-faint); }
.breadcrumb a:hover{ color:var(--c); }
.breadcrumb span.sep{ opacity:.5; }
.breadcrumb span.cur{ color:var(--text-muted); }

.p-hero{ padding:40px 0 60px; }
.p-hero h1{ font-size:clamp(36px,5.4vw,68px); line-height:1.05; letter-spacing:-.02em; font-weight:600; margin-top:14px; }
.p-hero p.sum{ margin-top:22px; font-size:19px; line-height:1.65; color:var(--text-muted); }

/* Values range from "2026" to a full sentence. Stacking label over value in
   six equal columns stranded the short ones beside a four-line one, so read
   each fact as a row instead: fixed label gutter, value fills the rest. */
.hero-meta{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:56px; margin-top:44px; border-top:1px solid var(--border); }
.hm-item{ display:grid; grid-template-columns:104px minmax(0,1fr); gap:18px; align-items:baseline; padding:15px 0; border-bottom:1px solid var(--border); }
.hm-item .k{ font-size:10.5px; text-transform:uppercase; letter-spacing:.09em; color:var(--text-faint); }
.hm-item .v{ font-size:14.5px; font-weight:600; color:var(--text); line-height:1.5; }
@media (max-width:880px){
  .hero-meta{ grid-template-columns:1fr; column-gap:0; }
}
@media (max-width:420px){
  .hm-item{ grid-template-columns:1fr; gap:5px; }
}

.hero-actions{ margin-top:32px; }

.main-visual{ padding:0 0 80px; }
.mv-frame{ aspect-ratio:16/9; border-radius:var(--radius-lg); border:1px solid var(--border); background:var(--bg-elev); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.mv-frame img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.mv-bars{ display:flex; align-items:flex-end; gap:16px; height:60%; width:70%; }
.mv-bars .bar{ flex:1; background:var(--c); border-radius:6px 6px 0 0; opacity:.85; transition:opacity .3s ease; }
.mv-bars .bar:nth-child(even){ background:color-mix(in srgb, var(--c) 55%, var(--text-faint)); }
.cap{ margin-top:14px; font-size:13px; color:var(--text-faint); text-align:center; }

.overview{ padding:0 0 90px; }
.ov-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:48px; align-items:start; }
.ov-grid h2{ font-size:clamp(24px,3vw,34px); font-weight:600; line-height:1.25; }
.ov-body p{ font-size:16px; line-height:1.75; color:var(--text-muted); margin-top:16px; }
.ov-body p:first-child{ margin-top:0; }
@media (max-width:820px){ .ov-grid{ grid-template-columns:1fr; gap:20px; } }

.summary-panel{ padding:0 0 90px; }
.sp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; }
.sp-item{ background:var(--bg-elev); padding:22px 24px; }
.sp-item .k{ font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--text-faint); }
.sp-item .v{ font-size:14.5px; font-weight:600; color:var(--text); margin-top:6px; }
@media (max-width:760px){ .sp-grid{ grid-template-columns:repeat(2,1fr); } }

.challenge{ padding:90px 0; border-top:1px solid var(--border); }
.challenge-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:48px; }
.challenge h2{ font-size:clamp(24px,3vw,34px); font-weight:600; }
.challenge-body p{ font-size:16px; line-height:1.75; color:var(--text-muted); margin-top:16px; }
.challenge-body p:first-child{ margin-top:0; }
