.recap-hero{ padding:56px 0 14px; }
.recap-hero .eyebrow{ margin-bottom:8px; }
.recap-hero h1{
  font-family:var(--font-display); font-size:clamp(42px,7vw,70px); line-height:.96;
  max-width:850px; text-transform:uppercase;
}
.recap-meta{
  display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:20px; color:var(--ink-faint);
  font:700 12px/1.4 var(--font-mono); letter-spacing:.06em; text-transform:uppercase;
}
.recap-intro{ max-width:760px; margin:20px 0 30px; color:var(--ink-soft); font-size:17px; line-height:1.75; }
.recap-hero-photo{ overflow:hidden; border-radius:8px; background:var(--navy-deep); }
.recap-hero-photo img{ display:block; width:100%; max-height:min(66vh,720px); object-fit:cover; }
.recap-body{ max-width:760px; margin:0 auto; padding:18px 0 0; }
.recap-body h2{ margin:42px 0 14px; font:400 clamp(25px,3.4vw,34px)/1.04 var(--font-display); text-transform:uppercase; }
.recap-body p{ margin:0 0 18px; color:var(--ink-soft); font-size:15.5px; line-height:1.8; }
.recap-note{ margin:28px 0; padding:18px 22px; border-left:3px solid var(--pop); border-radius:0 7px 7px 0; background:var(--paper-dim); color:var(--ink-soft); line-height:1.7; }
.recap-note b{ color:var(--ink); }
.recap-gallery{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:30px 0; }
.recap-gallery figure{ margin:0; overflow:hidden; border-radius:7px; background:var(--navy-deep); aspect-ratio:4/3; }
.recap-gallery figure:first-child:last-child{ grid-column:1/-1; aspect-ratio:16/9; }
.recap-gallery img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.recap-gallery video{ width:100%; height:100%; object-fit:cover; display:block; background:var(--navy-deep); }
@media (hover:hover){ .recap-gallery figure:hover img{ transform:scale(1.03); } }
.recap-actions{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; padding:28px 0 8px; }
.recap-share{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px;
  margin:2px auto 34px; padding:18px; border:1px solid var(--line); border-radius:8px;
  background:var(--paper-dim);
}
.recap-share-label{ color:var(--ink-soft); font:700 11px/1.4 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; margin-right:4px; }
.recap-share button, .recap-share a{
  appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:38px;
  border:1px solid var(--line); border-radius:5px; padding:8px 13px; background:var(--paper); color:var(--ink);
  font:700 12px/1 var(--font-mono); letter-spacing:.03em; text-decoration:none; cursor:pointer;
}
.recap-share button:hover, .recap-share a:hover{ border-color:var(--sky-deep); color:var(--sky-deep); }
.recap-share [hidden]{ display:none; }
.recap-share-status{ width:100%; min-height:1.2em; text-align:center; color:var(--sky-deep); font-size:12px; }
.recap-nav-links{ display:flex; }
@media (max-width:560px){
  .recap-hero{ padding-top:40px; }
  .recap-gallery{ grid-template-columns:1fr; }
  .recap-gallery figure, .recap-gallery figure:first-child:last-child{ aspect-ratio:4/3; }
  .site-nav .recap-nav-links{ display:flex; flex:1; min-width:0; overflow-x:auto; gap:15px; padding-left:12px; scrollbar-width:none; }
  .site-nav .recap-nav-links::-webkit-scrollbar{ display:none; }
  .site-nav .recap-nav-links a{ white-space:nowrap; font-size:11px; }
  .site-nav .nav-brand > span:last-child{ display:none; }
}
