/* Content-first refinement. Loaded after the established SBS stylesheet. */
:root { --paper:#e9eef5; }

/* Give headlines a clear hierarchy without losing the SBS display style. */
.inner-hero { min-height:0; padding:124px 6vw 45px; grid-template-columns:minmax(0,1fr) minmax(210px,.32fr); gap:4vw; align-items:center; }
.inner-hero h1 { margin:16px 0 14px; font-size:clamp(48px,5.8vw,82px); line-height:.88; }
.inner-hero h1 em,.team-page-intro h1 em { color:#d7e5ff; -webkit-text-stroke:0; }
.inner-hero-copy>p:last-child,.inner-hero>div:not(.inner-hero-grid)>p:last-child { max-width:720px; font-size:clamp(15px,1.2vw,18px); line-height:1.48; }
.inner-hero-panel { padding:18px 20px; }
.inner-hero-panel strong { margin:10px 0 5px; font-size:clamp(25px,2.5vw,36px); }
.inner-hero-panel a { margin-top:12px; }
.inner-content,.events-content,.media-content { padding-top:48px; }
.content-heading,.compact-section-head { margin-bottom:28px; }
.content-heading h2,.compact-section-head h2 { margin-top:14px; font-size:clamp(40px,4.8vw,70px); }
.content-heading>p,.compact-section-head>p { font-size:15px; }
.section-index.light { color:rgba(255,255,255,.72); }
.aurebesh-label.light { color:rgba(215,229,255,.62); }

/* Team: get to the people, while retaining the HRI signal. */
.team-page-hero { min-height:0; padding:127px 6vw 48px; grid-template-columns:minmax(0,1fr) minmax(320px,.48fr); gap:5vw; }
.team-page-intro h1 { margin:17px 0; font-size:clamp(52px,5.6vw,82px); }
.team-page-intro>p:not(.section-index,.aurebesh-label) { font-size:clamp(15px,1.25vw,18px); line-height:1.5; }
.team-back-link { margin-top:19px; }
.team-page-console { min-height:0; padding:18px; }
.team-console-mark { display:none; }
.team-console-stats { margin-top:15px; border-top:1px solid var(--line); }
.team-console-stats article { padding:15px 10px; }
.team-console-stats span { font-size:clamp(22px,2.1vw,32px); }
.team-directory { padding-top:58px; background:linear-gradient(145deg,#263247,#121927); }
.team-directory-heading { margin-bottom:28px; }
.team-directory-heading h2 { color:#fff; font-size:clamp(43px,5vw,70px); }
.team-directory-heading>div:last-child>p { margin-top:12px; color:#d5deee; font-size:15px; }
.team-directory .aurebesh-label { color:#a8c0f4; }
.team-directory-grid { box-shadow:0 18px 55px rgba(13,23,38,.12); }

/* Home: the latest event, result and upload now follow the introduction. */
.hero { min-height:0; padding-top:122px; padding-bottom:45px; }
.hero-console { min-height:0; }
.home-signals { padding-top:65px; padding-bottom:75px; }
.home-overview { background:linear-gradient(180deg,#263247,#1a2332); color:#fff; }
.home-overview-copy { color:#d5deee; }
.home-overview-copy .line-link { color:#fff; border-color:#8399c2; }
.home-overview-heading h2 span { -webkit-text-stroke:0; color:#d7e5ff; }
.home-stat-grid { color:var(--ink); }
.home-overview .aurebesh-label { color:#9eb7f0; }
.signal-grid { box-shadow:0 22px 60px rgba(0,0,0,.23); }
.media-signal .signal-thumbnail img { object-fit:cover; }

/* Media: the actual upload is the lead, with one compact subscribe strip. */
.media-page .inner-hero { grid-template-columns:1fr; }
.media-page .inner-hero-panel { display:none; }
.media-page .inner-hero h1 { max-width:820px; }
.media-content .content-heading { margin-bottom:19px; }
.media-content .content-heading h2 { font-size:clamp(34px,4vw,54px); }
.media-content .content-heading>p { max-width:380px; }
.upcoming-transmission { margin:16px 0; }
.video-layout { grid-template-columns:1fr; min-height:0; }
.featured-video { min-height:0; aspect-ratio:16/9; }
.featured-video>img { object-fit:cover; }
.channel-panel { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:17px 22px; border-top:2px solid var(--blue); border-right:1px solid var(--line); border-bottom:2px solid var(--red); }
.channel-panel>svg,.channel-panel h3,.channel-panel>p:not(.label),.channel-link { display:none; }
.channel-panel .label { margin:0; color:#d7e5ff; }
.channel-panel .subscribe-row { flex-direction:row; align-items:center; gap:10px; margin:0; }
.channel-panel .subscribe-button { min-height:46px; margin:0; padding:12px 15px; }
.channel-panel .subscriber-count { min-height:46px; align-items:center; }
.media-more-head { margin-top:36px; padding-top:25px; }
.media-content .video-grid { gap:14px; }

/* Results and Events: surface the useful lists sooner and group dates. */
.results-page .inner-content { display:flex; flex-direction:column; }
.results-page .inner-content>.content-heading { order:0; }
.results-page .performance-board { order:1; margin-top:0; }
.results-page .latest-results { order:2; }
.results-page .field-report { order:3; }
.results-page .performance-grid>a:first-child { background:linear-gradient(120deg,rgba(240,32,54,.13),rgba(47,91,208,.12)); }
.event-summary-grid { margin-bottom:22px; }
.event-filters { margin:0 0 18px; }
.events-board .board-head { min-height:60px; }
.deployment-row { min-height:112px; }
.deployment-month { padding:13px 22px; border-top:1px solid rgba(119,153,255,.28); border-bottom:1px solid var(--line); background:#182235; color:#d7e5ff; text-transform:uppercase; letter-spacing:.11em; font:900 11px/1 var(--terminal); }
.field-report { background:#e9eef5; }

@media (max-width:820px) {
  .inner-hero { padding:118px 22px 30px; display:block; }
  .inner-hero h1 { font-size:clamp(44px,8.8vw,72px); }
  .inner-hero-panel { margin-top:20px; }
  .inner-content,.events-content,.media-content { padding-top:32px; }
  .team-page-hero { padding:118px 22px 30px; display:block; }
  .team-page-intro h1 { font-size:clamp(44px,9vw,66px); }
  .team-page-console { margin-top:22px; }
  .team-directory { padding-top:32px; }
  .team-directory-heading { gap:12px; }
  .hero { padding:118px 22px 36px; }
  .hero-console { margin-top:30px; }
  .home-signals { padding-top:43px; padding-bottom:54px; }
  .featured-video { aspect-ratio:16/9; }
  .channel-panel { gap:14px; }
}

@media (max-width:560px) {
  .site-header { height:76px; }
  .brand-lockup { gap:5px; }
  .mini-mark { width:28px; height:28px; }
  .header-wordmark { display:block; width:122px; height:24px; }
  .header-actions { gap:9px; }
  .discord-link { font-size:9px; white-space:nowrap; }
  .mobile-menu summary { font-size:9px; }
  .hero { padding-top:112px; }
  .hero h1 { margin:18px 0 15px; font-size:clamp(34px,9.8vw,50px); line-height:.91; }
  .hero-intro { font-size:15px; line-height:1.47; }
  .hero-actions { margin-top:23px; gap:16px; }
  .hero-console { padding:13px 15px; margin-top:22px; }
  .hero-console .console-glyph,.hero-console .console-wordmark,.hero-console .console-base,.hero-console .rank-meta,.hero-console .rank-context { display:none; }
  .hero-console .console-top { font-size:9px; }
  .hero-console .rank-card { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 0 0; }
  .hero-console .rank-card-top { font-size:10px; }
  .hero-console .rank-number { margin:0; font-size:39px; white-space:nowrap; }
  .hero-console .rank-number small { font-size:16px; }
  .inner-hero { padding-top:108px; }
  .inner-hero h1 { font-size:clamp(43px,11vw,55px); line-height:.9; }
  .inner-hero-panel { margin-top:18px; }
  .results-page .inner-hero-panel,.events-page .inner-hero-panel { display:none; }
  .results-page .content-heading>p { display:none; }
  .events-page .event-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .events-page .event-summary-grid article { padding:14px; border-bottom:0; }
  .events-page .event-summary-grid article:nth-child(2) { border-right:0; }
  .events-page .event-summary-grid>a { display:none; }
  .events-page .event-summary-grid strong { font-size:25px; margin-top:6px; }
  .events-page .event-summary-grid span { font-size:9px; }
  .content-heading h2,.compact-section-head h2 { font-size:clamp(36px,9vw,50px); }
  .team-page-hero { padding-top:108px; padding-bottom:20px; }
  .team-page-intro h1 { font-size:clamp(42px,11vw,54px); }
  .team-page-intro>p:not(.section-index,.aurebesh-label) { font-size:15px; }
  .team-back-link { margin-top:15px; }
  .team-page-console { padding:14px; }
  .team-console-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .team-console-stats article { display:block; padding:12px 5px; border-right:1px solid var(--line); border-bottom:0; }
  .team-console-stats article:last-child { border-right:0; }
  .team-console-stats span { font-size:23px; }
  .team-console-stats p { margin-top:6px; font-size:8px; }
  .team-page-console .console-base { display:none; }
  .team-directory-heading h2 { font-size:clamp(38px,9vw,52px); }
  .team-directory-heading>div:last-child>p { font-size:13px; line-height:1.45; }
  .team-directory-heading { margin-bottom:22px; }
  .featured-video { min-height:0; aspect-ratio:16/9; }
  .video-caption { left:15px; right:15px; bottom:12px; }
  .video-caption strong { font-size:16px; }
  .video-caption small { font-size:9px; }
  .play-orb { width:50px; height:50px; }
  .channel-panel { padding:14px; }
  .channel-panel .label { width:100%; font-size:10px; }
  .channel-panel .subscribe-row { width:100%; justify-content:space-between; }
  .channel-panel .subscribe-button { font-size:10px; padding:10px; }
  .channel-panel .subscriber-count { padding:9px; }
  .channel-panel .subscriber-count small { display:none; }
  .media-content .content-heading>p { display:none; }
  .performance-grid>a { min-height:90px; }
  .deployment-month { padding:12px 16px; }
}

@media (max-width:360px) {
  .header-wordmark { width:92px; }
  .header-actions { gap:6px; }
  .media-page .inner-hero { padding-bottom:20px; }
  .media-page .inner-hero h1 { font-size:35px; line-height:.94; }
  .media-page .media-content { padding-top:23px; }
}

/* Keep every numbered English/Aurebesh marker in the SBS red-and-blue treatment. */
body .section-index.section-index { color:var(--red); }
body .aurebesh-label.aurebesh-label { color:var(--blue); }

/* Attendance is managed privately; the public calendar keeps dates and event details. */
.events-page .deployment-attendance { display:none; }

@media (min-width:901px) {
  .events-page .deployment-row { grid-template-columns:74px minmax(0,1fr); }

  /* A half-width featured video with the channel description alongside it. */
  .media-page .video-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; }
  .media-page .featured-video { min-height:0; aspect-ratio:16/9; align-self:start; }
  .media-page .featured-video>img { position:absolute; inset:0; width:100%; height:100%; }
  .media-page .channel-panel { flex-direction:column; align-items:flex-start; justify-content:center; padding:22px clamp(22px,2.4vw,36px); }
  .media-page .channel-panel .label { margin:0; }
  .media-page .channel-panel h3 { display:block; margin:10px 0; font-size:clamp(26px,2.5vw,37px); line-height:.95; }
  .media-page .channel-panel>p:not(.label) { display:block; margin:0; font-size:14px; line-height:1.48; }
  .media-page .channel-panel .subscribe-row { width:100%; margin-top:18px; }
  .media-page .channel-panel .channel-link { display:inline-block; margin-top:12px; }
}

/* The public schedule defaults to three calendar months and stays compact. */
.events-page .deployment-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:12px;
  border-top:1px solid var(--line);
}
.events-page .deployment-month {
  grid-column:1/-1;
  padding:9px 12px;
  border:0;
  border-left:2px solid var(--blue);
}
.events-page .deployment-row {
  min-height:0;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
  padding:12px;
  border:1px solid var(--line);
  align-items:start;
}
.events-page .deployment-row:before { inset:0 auto 0 0; width:2px; }
.events-page .deployment-calendar { width:48px; min-height:62px; padding:8px 5px 6px; }
.events-page .deployment-calendar b { font-size:24px; }
.events-page .deployment-tags { gap:5px; margin-bottom:6px; }
.events-page .deployment-tags span { padding:3px 5px; font-size:8px; }
.events-page .deployment-details h3 { margin-bottom:5px; font-size:15px; }
.events-page .deployment-details p { font-size:11px; }
.events-page .future-travel { margin-top:18px; border:1px solid var(--line); background:rgba(5,7,11,.64); }
.events-page .future-travel summary {
  min-height:58px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 20px;
  cursor:pointer;
  color:#e9eef8;
  text-transform:uppercase;
  letter-spacing:.08em;
  font:900 12px/1.2 var(--terminal);
}
.events-page .future-travel summary::marker { content:""; }
.events-page .future-travel summary span { margin-left:auto; color:var(--red); }
.events-page .future-travel summary svg { color:var(--blue); }
@media (max-width:700px) {
  .events-page .deployment-list { grid-template-columns:1fr; gap:7px; padding:10px; }
  .events-page .deployment-row { padding:11px; }
}
