/*
 * Airwaves Watch V2 — Round 1.1 visual refinement
 * Dedicated compact header and lighter Plus Jakarta Sans typography.
 * Layout variants remain in the base theme.css. Shared content remains server-rendered
 * for mobile-first indexing; CSS changes only presentation, never article metadata.
 */
:root {
  --aw-header-height: 76px;
  --aw-font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
html { scroll-padding-top: calc(var(--aw-header-height) + 14px); }
body {
  padding-top: var(--aw-header-height);
  font-family: var(--aw-font);
  font-size: 14px;
  line-height: 1.58;
  font-weight: 400;
  letter-spacing: -.012em;
}
button, input, textarea, select { font-family: var(--aw-font); }
:target { scroll-margin-top: calc(var(--aw-header-height) + 14px); }

/* Positioning: one fixed, compact, fully opaque header; no content jumps on scroll. */
.aw-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 300;
  background: var(--surface);
  box-shadow: 0 1px 0 var(--line), 0 5px 16px rgba(12,24,44,.035);
}
.admin-bar .aw-header { top: 32px; }
.aw-header-top { height: 54px; min-height: 54px; gap: 18px; }
.aw-brand { gap: 8px; }
.aw-brand-upload { max-height: 30px; height: 30px; max-width: 165px; object-fit: contain; }
.aw-brand-mark { height: 30px; width: 30px; border-radius: 9px; }
.aw-brand-mark > span { font-size: 11px; font-weight: 600; letter-spacing: -1px; }
.aw-brand-mark i { width: 6px; height: 6px; }
.aw-brand-name { letter-spacing: -.04em; }
.aw-brand-name strong { font-size: 14px; font-weight: 600; }
.aw-brand-name small { font-size: 8px; font-weight: 500; letter-spacing: 2px; margin-top: 5px; }
.aw-desktop-nav { gap: 20px; font-size: 11.5px; font-weight: 500; }
.aw-header-actions { gap: 8px; }
.aw-icon-button { width: 34px; height: 34px; padding: 8px; }
.aw-icon-button svg { width: 17px; height: 17px; }
.aw-header-discover { padding: 8px 13px; font-weight: 600; font-size: 11px; }
.aw-ticker { height: 22px; overflow: hidden; }
.aw-ticker-inner { height: 21px; gap: 9px; font-size: 9.5px; }
.aw-ticker-inner strong { font-size: 8px; font-weight: 600; letter-spacing: .95px; }
.aw-live-dot { width: 5px; height: 5px; }

/* Editorial typography: restrained headline scale and consistent medium weights. */
.aw-home { padding-top: 20px; }
.aw-top-intro { gap: 18px; padding: 0 0 23px; }
.aw-top-intro h1 {
  font-size: clamp(27px, 2.7vw, 38px);
  line-height: 1.19;
  font-weight: 600;
  letter-spacing: -.045em;
  margin: 8px 0 7px;
}
.aw-top-intro p { font-size: 12.5px; line-height: 1.65; }
.aw-eyebrow { font-size: 9px; font-weight: 600; letter-spacing: 1.05px; }
.aw-edition span { font-size: 9px; font-weight: 600; }
.aw-edition strong { font-size: 13px; font-weight: 600; }
.aw-section-top { margin: 28px 0 15px; }
.aw-section-top h2 { font-size: clamp(19px, 1.65vw, 22px); line-height: 1.26; font-weight: 600; letter-spacing: -.035em; }
.aw-text-link { font-size: 11.5px; font-weight: 600; }
.aw-hero-overlay h3 { font-size: 19px; line-height: 1.24; font-weight: 600; letter-spacing: -.045em; }
.aw-hero-lead .aw-hero-overlay h3 { font-size: clamp(25px, 2.35vw, 33px); line-height: 1.18; font-weight: 600; letter-spacing: -.05em; }
.aw-story-card h3 { font-size: 13px; font-weight: 600; letter-spacing: -.02em; line-height: 1.42; }
.aw-card-summary { font-size: 11.5px; }
.aw-story-meta, .aw-hero-meta { font-weight: 450; }
.aw-category-pill { font-weight: 600; }
.aw-topic-chips a { font-size: 10.5px; font-weight: 550; }
.aw-newsite-placeholder { min-height: 310px; padding: 34px; }
.aw-newsite-placeholder h3 { font-size: clamp(29px, 3vw, 40px); font-weight: 600; letter-spacing: -.05em; line-height: 1.16; }
.aw-empty-state h2, .aw-empty-state h3 { font-size: 18px; font-weight: 600; }
.aw-sidebar-title h3, .aw-sidebar-panel > h3 { font-size: 13px; font-weight: 600; }
.aw-side-note h3 { font-size: 18px; line-height: 1.28; letter-spacing: -.035em; font-weight: 600; }
.aw-music-feature { margin-top: 40px; margin-bottom: 45px; }
.aw-music-feature h2 { font-size: clamp(27px, 2.8vw, 34px); font-weight: 600; letter-spacing: -.045em; line-height: 1.18; }
.aw-footer-heading, .aw-footer-columns strong { font-weight: 600; }
.aw-site-footer { padding-top: 32px; }

/* Lists, articles, pages and music use the same balanced type scale. */
.aw-listing { padding-top: 28px; }
.aw-listing-head h1, .aw-static-page h1 { font-size: clamp(27px, 3vw, 39px); font-weight: 600; line-height: 1.2; letter-spacing: -.047em; }
.aw-static-page { padding-top: 34px; }
.aw-article-page { padding-top: 22px; }
.aw-article-pre { margin-bottom: 17px; }
.aw-article-header h1 { font-size: clamp(29px, 3.1vw, 41px); font-weight: 600; letter-spacing: -.045em; line-height: 1.21; margin: 11px 0; }
.aw-article-deck { font-size: 15px; line-height: 1.68; }
.aw-article-byline { font-size: 11px; padding: 12px 0 20px; }
.aw-article-byline a { font-weight: 600; }
.aw-prose { font-size: 15.5px; line-height: 1.8; }
.aw-prose h2 { font-size: 21px; font-weight: 600; line-height: 1.33; letter-spacing: -.035em; }
.aw-prose h3 { font-size: 17.5px; font-weight: 600; line-height: 1.35; letter-spacing: -.02em; }
.aw-article-sidebar { top: calc(var(--aw-header-height) + 22px); }
.aw-article-end strong { font-size: 15px; font-weight: 600; }
.aw-music-page { padding-top: 25px; }
.aw-music-head { min-height: 265px; padding: 35px 39px; }
.aw-music-head h1 { font-size: clamp(30px, 3.15vw, 44px); font-weight: 600; line-height: 1.2; letter-spacing: -.05em; }
.aw-release-info h3 { font-size: 14px; font-weight: 600; }
.aw-artist-callout h2 { font-size: 21px; font-weight: 600; letter-spacing: -.035em; }
.aw-track-content h1 { font-size: clamp(29px, 3.1vw, 41px); font-weight: 600; line-height: 1.22; letter-spacing: -.045em; }
.aw-track-artist { font-size: 14px; }

@media (max-width: 820px) {
  :root { --aw-header-height: 73px; }
  .aw-header-top { height: 53px; min-height: 53px; }
  .aw-ticker { height: 20px; }
  .aw-ticker-inner { height: 19px; }
  .aw-home { padding-top: 18px; }
  .aw-section-top { margin: 25px 0 14px; }
  .aw-top-intro h1 { font-size: 31px; }
  .aw-story-card h3 { font-size: 13px; }
  .aw-hero-lead .aw-hero-overlay h3 { font-size: 25px; }
}

@media (max-width: 620px) {
  :root { --aw-header-height: 70px; }
  body { font-size: 13px; padding-top: var(--aw-header-height); padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
  .aw-header-top { height: 50px; min-height: 50px; }
  .aw-brand { gap: 7px; }
  .aw-brand-upload { height: 27px; max-height: 27px; max-width: 136px; }
  .aw-brand-mark { height: 27px; width: 27px; border-radius: 8px; }
  .aw-brand-mark > span { font-size: 10px; }
  .aw-brand-name strong { font-size: 12.5px; font-weight: 600; }
  .aw-brand-name small { font-size: 7px; letter-spacing: 1.6px; margin-top: 3px; }
  .aw-header-actions { gap: 2px; }
  .aw-icon-button { height: 38px; width: 38px; padding: 10px; }
  .aw-ticker { height: 20px; }
  .aw-ticker-inner { height: 19px; font-size: 8.6px; }
  .aw-ticker-inner strong { font-size: 7.8px; }
  .aw-home { padding-top: 14px; }
  .aw-top-intro { padding-bottom: 15px; }
  .aw-top-intro .aw-eyebrow { font-size: 8px; letter-spacing: .85px; }
  .aw-top-intro h1 { font-size: clamp(23px, 6.3vw, 28px); line-height: 1.22; font-weight: 600; letter-spacing: -.043em; margin: 6px 0; }
  .aw-top-intro p { font-size: 11px; line-height: 1.58; }
  .aw-section-top { margin: 23px 0 12px; }
  .aw-section-top h2 { font-size: 18px; font-weight: 600; letter-spacing: -.028em; }
  .aw-feature-hint { font-size: 9px; }
  .aw-hero-card, .aw-hero-lead, .aw-hero-side { height: 310px; }
  .aw-hero-overlay h3, .aw-hero-lead .aw-hero-overlay h3 { font-size: clamp(19px, 5vw, 22px); line-height: 1.25; letter-spacing: -.035em; font-weight: 600; }
  .aw-hero-overlay, .aw-hero-lead .aw-hero-overlay { padding: 18px; }
  .aw-story-card h3 { font-size: 12.5px; line-height: 1.37; font-weight: 600; margin: 6px 0; }
  .aw-story-meta { font-size: 9px; }
  .aw-card-body { padding: 9px 11px; }
  .aw-category-pill { font-size: 8.5px; }
  .aw-newsite-placeholder { min-height: 270px; padding: 24px; }
  .aw-newsite-placeholder h3 { font-size: 27px; line-height: 1.18; }
  .aw-empty-state h2, .aw-empty-state h3 { font-size: 16px; }
  .aw-music-feature { margin: 36px 0 38px; padding: 27px 24px; min-height: 240px; }
  .aw-music-feature h2 { font-size: 25px; line-height: 1.2; }
  .aw-sidebar-title h3, .aw-sidebar-panel > h3 { font-size: 12px; }
  .aw-side-note h3 { font-size: 17px; }
  .aw-listing { padding-top: 22px; }
  .aw-listing-head h1, .aw-static-page h1 { font-size: 27px; line-height: 1.22; }
  .aw-static-page { padding-top: 26px; }
  .aw-article-page { padding-top: 0; }
  .aw-article-header { padding-top: 18px; }
  .aw-article-header h1 { font-size: clamp(25px, 6.5vw, 29px); line-height: 1.26; font-weight: 600; letter-spacing: -.04em; margin: 10px 0; }
  .aw-article-deck { font-size: 13px; line-height: 1.65; }
  .aw-article-byline { font-size: 10px; padding: 12px 0 18px; }
  .aw-prose { font-size: 15px; line-height: 1.83; }
  .aw-prose h2 { font-size: 19px; line-height: 1.3; }
  .aw-prose h3 { font-size: 16.5px; line-height: 1.35; }
  .aw-music-page { padding-top: 15px; }
  .aw-music-head { min-height: 245px; padding: 25px 23px; }
  .aw-music-head h1 { font-size: 30px; line-height: 1.22; }
  .aw-artist-callout h2 { font-size: 19px; }
  .aw-release-info h3 { font-size: 13px; }
  .aw-track-content h1 { font-size: 29px; }
  .aw-mobile-dock a { font-size: 9px; font-weight: 500; }
  .aw-mobile-dock .is-active { font-weight: 600; }
  .aw-site-footer { padding-top: 24px; }
  /* Keep form inputs at 16px to avoid unexpected iOS focus zoom. */
  input, select, textarea { font-size: 16px; }
}

@media (max-width: 600px) { .admin-bar .aw-header { top: 46px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
