/* Rede Marazul — shared foundation. Official colours; local system fallback
   until licensed LT Wave Alt webfont files are supplied by the owner. */
:root {
  --mz-brand: #0647ac;
  --mz-accent: #00c8f5;
  --mz-accent-soft: #a9eaff;
  --mz-canvas: #031638;
  --mz-surface: #08234c;
  --mz-surface-raised: #0b2b59;
  --mz-paper: #f2f6fb;
  --mz-ink: #102e64;
  --mz-text: #f5f9ff;
  --mz-muted: #b5c8e2;
  --mz-line: #23436c;
  --mz-font: 'LT Wave Alt', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --mz-width: 1200px;
  --mz-gutter: clamp(20px, 3.8vw, 48px);
  --mz-space-section: clamp(48px, 6vw, 80px);
  --mz-space-1: 8px;
  --mz-space-2: 16px;
  --mz-space-3: 24px;
  --mz-space-4: 32px;
  --mz-radius-sm: 12px;
  --mz-radius: 16px;
  --mz-radius-lg: 16px;
  --mz-shadow: 0 18px 45px #04142c26;
  --mz-ease: cubic-bezier(.22, 1, .36, 1);
  --mz-duration: 180ms;
  --mz-title: clamp(38px, 4.8vw, 64px);
  --mz-heading: clamp(30px, 3.1vw, 42px);
}
button, input, select, textarea { font-family: inherit; }
:focus-visible { outline: 3px solid var(--mz-accent-soft); outline-offset: 5px; }
button, a { -webkit-tap-highlight-color: transparent; }
button:disabled { cursor: default; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Padrão aprovado em 27/10/2026; ver design.md. */
:root{--mz-identity-base:#031638;--mz-identity-surface:#08234c;--mz-identity-raised:#0b2b59;--mz-identity-highlight:#00c8f5;--mz-identity-text:#f5f9ff;--mz-identity-muted:#b5c8e2;--mz-identity-glass:rgba(13,36,56,.46);--mz-identity-glass-blur:24px;--mz-identity-dock-width:240px}

/* Components shared by home, directories, programs, tools and legal pages. */
body { font-family: var(--mz-font); }
body:not(.inner-page) { background: var(--mz-brand); }
body.inner-page { background: radial-gradient(ellipse at 100% 0, #24499380, transparent 45%), var(--mz-canvas); }
.site-header.inner-header { width: calc(100% - var(--mz-gutter)*2); max-width: var(--mz-width); min-height: 104px; margin: auto; padding: 16px 0; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 32px; border-bottom: 1px solid var(--mz-line); }
.site-header .logo { width: 160px; height: 64px; object-fit: contain; flex: none; }
.site-header #main-nav { display: flex; width: auto; margin-left: auto; align-items: center; justify-content: flex-end; flex-wrap: nowrap; gap: 18px; font-size: 12px; font-weight: 700; }
.site-header #main-nav a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; position: relative; }
.site-header #main-nav a[aria-current=page] { color: var(--mz-accent-soft); }
.site-header #main-nav a:not(.nav-cta)::after { content: ''; position: absolute; left: 0; right: 0; height: 2px; bottom: 1px; background: var(--mz-accent); transform: scaleX(0); transform-origin: left; transition: transform var(--mz-duration); }
.site-header #main-nav a[aria-current=page]::after, .site-header #main-nav a:hover::after { transform: scaleX(1); }
.site-header .nav-cta { border: 1px solid #b1dbf35c; border-radius: 999px; gap: 10px; padding: 9px 17px; }
.site-header .site-menu { display: none; }
.site-header .nav-more { position: relative; }
.site-header .nav-more>summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 0; border-radius: 4px; background: transparent; cursor: pointer; list-style: none; font-size: 12px; font-weight: 700; transition: background .18s,border-color .18s; }
.site-header .nav-more>summary::-webkit-details-marker { display: none; }
.site-header .nav-more-icon { font-size: 18px; color: var(--mz-accent-soft); }
.site-header .nav-more-chevron { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: -3px 2px 0 3px; transition: transform .18s; }
.site-header .nav-more[open]>summary { background: transparent; color:#a9eaff; }
.site-header .nav-more[open] .nav-more-chevron { transform: translateY(3px) rotate(225deg); }
.site-header .nav-more>summary:hover { background: transparent; color:#a9eaff; }
.site-header .nav-more:has(a[aria-current=page])>summary { color: var(--mz-accent-soft); }
.site-header .nav-more-list { position: absolute; top: calc(100% + 14px); right: 0; width: min(600px,85vw); display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 26px; z-index: 50; border: 1px solid #8dd3f35c; border-radius: 18px; background: #0d284d; box-shadow: 0 24px 64px #04142c80; }
.site-header .nav-more-group>p { margin: 0 10px 14px; font-size: 9px; letter-spacing: .12em; color: var(--mz-accent-soft); }
.site-header #main-nav .nav-more-list a { display: flex; justify-content: space-between; gap: 14px; padding: 11px 10px; min-height: 60px; border-radius: 8px; white-space: normal; font-size: 13px; }
.site-header .nav-more-list strong { font-size: 13px; display: block; }
.site-header .nav-more-list small { display: block; margin-top: 5px; color: #bbd1e9; font-size: 11px; font-weight: 400; }
.site-header .nav-more-list b { font-size: 17px; color: #8be7ff; }
.site-header #main-nav .nav-more-list a::after { display: none; }
.site-header #main-nav .nav-more-list a:hover,.site-header #main-nav .nav-more-list a:focus-visible { background: #21446c; opacity: 1; }
.site-header .nav-more[open] .nav-more-list { animation: explore-reveal .18s ease-out; }
@keyframes explore-reveal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@media(prefers-reduced-motion:reduce) { .site-header .nav-more[open] .nav-more-list { animation: none; } }
body .button, .inner-page .button, .inner-page .managed-card a.button { min-height: 48px; border: 0; border-radius: 999px; background: var(--mz-accent); color: #08254b; box-shadow: none; font-size: 13px; font-weight: 800; line-height: 1.4; padding: 14px 23px; gap: 10px; cursor: pointer; transition: background var(--mz-duration), transform var(--mz-duration); }
.button svg { width: 18px; height: 18px; flex: none; }
body .eyebrow { color: var(--mz-accent-soft); font-size: 10px; font-weight: 800; letter-spacing: .15em; line-height: 1.7; }
body h1 { font-weight: 800; letter-spacing: -.048em; line-height: 1.06; text-wrap: balance; }
body h2 { letter-spacing: -.035em; line-height: 1.16; text-wrap: balance; }
body .inner-page-intro h1, .inner-page .directory-intro h1, .inner-page .group-hero h1, .inner-page .commercial-hero h1, .inner-page .ooh-hero h1 { font-size: var(--mz-title); }
.inner-page .managed-section, .news-page { width: calc(100% - var(--mz-gutter)*2); max-width: var(--mz-width); padding: 0 0 64px; margin: auto; }
.inner-page .inner-lead, .news-page-heading>p:not(.eyebrow) { font-size: clamp(16px, 1.4vw, 18px); line-height: 1.8; color: var(--mz-muted); }
.inner-page .page-back { margin-bottom: 28px; font-size: 12px; }
.inner-page .inner-page-intro, .inner-page .directory-intro { padding: 48px 0; margin-bottom: 36px; }
.inner-page .inner-feature { margin: var(--mz-space-section) 0; }
.inner-page .managed-card, .inner-page .program-card, .inner-page .person-card { border: 1px solid var(--mz-line); border-radius: var(--mz-radius); background: var(--mz-surface); box-shadow: none; }
.inner-page .managed-card::before { display: none; }
.inner-page .program-card-copy, .inner-page .person-copy { padding: 26px; }
.inner-page .person-copy .eyebrow { font-size: 10px; line-height: 1.6; letter-spacing: .08em; }
.inner-page .person-copy h2 { margin: 0 0 14px; }
.inner-page .person-photo { aspect-ratio: 4/4.4; }
.inner-page .person-photo-caption { padding: 32px 26px 18px; }
.inner-page .person-links a { font-size: 13px; min-height: 44px; }
.inner-page .program-card h2 { font-size: clamp(25px,2.2vw,30px); }
.inner-page .program-card-copy>p:not(.eyebrow), .inner-page .person-copy p { font-size: 14px; line-height: 1.75; }
.inner-page .program-card-link { padding-top: 16px; border-top: 1px solid var(--mz-line); font-size: 13px; }
.inner-page .inner-callout { border-radius: var(--mz-radius); padding: clamp(26px,4vw,48px); background: var(--mz-surface); box-shadow: none; }
.inner-page :is(input:not([type=checkbox]):not([type=color]),textarea,select), .news-search :is(input,select) { background: #0d294f; border-color: #91bbdc70; border-radius: var(--mz-radius-sm); font-size: 15px; color: white; min-height: 48px; }
.inner-page :is(input,textarea)::placeholder { color: #a9bfd7; }
.inner-page .inner-page-intro+.legal-copy, .inner-page .privacy-content, .inner-page .terms-content { max-width: 780px; }
.inner-page .privacy-content h2, .inner-page .terms-content h2 { margin-top: 48px; font-size: 28px; }
.inner-page .program-profile { gap: clamp(28px,5vw,72px); align-items: center; margin: 56px 0 72px; }
.program-profile-copy h1 { font-size: var(--mz-title); margin: 0 0 25px; }
.inner-page .program-description { font-size: 18px; line-height: 1.8; }
.inner-page .program-profile-art { border-radius: var(--mz-radius); box-shadow: none; }
.inner-page .presenter-feature { border-top: 1px solid var(--mz-line); padding-top: 48px; }
.inner-page .group-hero, .inner-page .commercial-hero, .inner-page .ooh-hero { padding: 48px 0 64px; gap: clamp(30px,5vw,72px); }
.inner-page .group-dial, .inner-page .commercial-network, .inner-page .ooh-hero-visual { border-radius: var(--mz-radius-lg); box-shadow: none; background: var(--mz-surface); }
.inner-page .commercial-network { padding: 32px; }
.inner-page .commercial-brand { padding-bottom: 24px; }
.inner-page .commercial-brand>span { border-radius: 12px; background: var(--mz-accent); box-shadow: none; }
.inner-page .commercial-format { border-radius: var(--mz-radius); box-shadow: none; }
.inner-page .commercial-format-grid { gap: 20px; }
.inner-page .commercial-results { border-radius: var(--mz-radius); background: var(--mz-surface); color: var(--mz-text); padding: clamp(26px,4vw,48px); }
.inner-page .commercial-results :is(h2,p,.metric-reference,.commercial-metrics span) { color: var(--mz-text); }
.inner-page .commercial-results .eyebrow, .inner-page .commercial-results .commercial-metrics strong { color: var(--mz-accent-soft); }
.inner-page .commercial-results .metric-context { display: block; margin-top: 14px; color: var(--mz-muted); font-size: 12px; line-height: 1.7; }
.inner-page .commercial-results .metric-context b { display: block; color: var(--mz-text); }
.inner-page .commercial-results .metric-context span { display: block; margin-top: 5px; color: var(--mz-muted); }
.inner-page .commercial-metrics { gap: 28px; }
.inner-page .metric-reference { grid-column: 1/-1; border-top: 1px solid var(--mz-line); margin-top: 0; padding-top: 18px; }
.inner-page .metric-reference li { margin: 12px 0; font-size: 13px; }
.inner-page .inquiry-form { gap: 20px; }
.news-page { padding-top: 32px; }
.news-page-heading { max-width: 900px; }
.inner-page .news-page-heading { border-bottom: 0; }
.inner-page .schedule-intro { border-bottom: 0; }
.news-page h1 { font-size: var(--mz-title); }
.news-search { background: var(--mz-surface); border-radius: var(--mz-radius); }
.now-panel { padding: clamp(24px,4vw,40px); margin: 28px 0 40px; background: var(--mz-surface); border: 1px solid var(--mz-line); border-radius: var(--mz-radius); }
.now-panel-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; border-bottom: 1px solid var(--mz-line); padding-bottom: 18px; margin-bottom: 28px; }
.now-panel-heading .eyebrow { margin: 0; }
.now-panel-heading>span { font-size: 12px; color: var(--mz-muted); }
.now-panel-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; }
.now-kicker { color: var(--mz-accent-soft); font-size: 10px; letter-spacing: .12em; font-weight: 800; }
.now-panel h2 { font-size: clamp(26px,3vw,40px); margin: 12px 0; }
.now-panel p { margin: 8px 0 20px; color: var(--mz-muted); font-size: 14px; }
.now-panel-next { padding-left: 36px; border-left: 1px solid var(--mz-line); }
.now-panel-next>strong { display: block; font-size: 20px; margin-top: 12px; }
.now-panel>small { display: block; margin-top: 28px; font-size: 11px; color: var(--mz-muted); }
.now-hosts { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 12px; }
.now-hosts img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; object-position: 50% 22%; }
.radio-intro .onair-card { align-items: flex-start; gap: 20px; }
.onair-card>div { flex: 1; }
.onair-card #onair-description { margin-top: 8px; }
.onair-card #onair-next { display: block; margin-top: 14px; line-height: 1.6; }
.onair-card .now-hosts { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--mz-line); gap: 12px; }
.onair-card .now-hosts img { width: 36px; height: 36px; aspect-ratio: 1; padding: 0; border-radius: 50%; object-fit: cover; }
.onair-card .now-hosts a { min-height: 44px; display: inline-flex; align-items: center; }
#dock-next { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; font-size: 10px; }
.is-compact #dock-next { display: none; }
.content-shelf { margin: var(--mz-space-section) 0; }
.content-shelf-header { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 28px; }
.content-shelf-header h2 { margin: 10px 0 0; }
.content-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.content-card { min-width: 0; border-bottom: 1px solid var(--mz-line); padding-bottom: 24px; }
.content-card img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 14px; margin-bottom: 18px; }
.content-card h3 { font-size: 21px; line-height: 1.4; margin: 12px 0; }
.content-card p { color: var(--mz-muted); font-size: 14px; line-height: 1.7; }
.content-card .content-meta { font-size: 11px; color: var(--mz-accent-soft); }
.content-card .text-link { min-height: 44px; display: inline-flex; align-items: center; }
.share-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 24px 0; border-block: 1px solid var(--mz-line); margin: 36px 0; }
.share-row button { color: white; background: transparent; border: 1px solid #a4d3f15c; padding: 10px 18px; min-height: 44px; border-radius: 999px; font: 700 12px var(--mz-font); cursor: pointer; }
.share-row [role=status] { font-size: 12px; color: var(--mz-muted); }
.editorial-card { background: var(--mz-surface); border-radius: var(--mz-radius); border-color: var(--mz-line); }
.site-footer.inner-footer { width: 100%; max-width: none; padding: 56px max(var(--mz-gutter),calc((100vw - var(--mz-width))/2)) 36px; background: #0a2042; border-top: 1px solid var(--mz-line); display: grid; grid-template-columns: 1.2fr 1fr 1fr; align-items: start; gap: 36px 64px; margin: 0; }
.site-footer .footer-brand { display: grid; gap: 18px; }
.site-footer .footer-brand .logo { width: 160px; height: 64px; }
.site-footer .footer-brand>div { font-size: 13px; line-height: 1.8; color: white; }
.site-footer .footer-brand small { display: block; font-size: 13px; color: var(--mz-muted); max-width: 280px; margin-top: 8px; }
.site-footer .footer-links, .site-footer .footer-contact { display: grid; align-content: start; gap: 14px; margin: 0; font-size: 13px; }
.site-footer a { min-height: 30px; display: inline-flex; align-items: center; }
.site-footer .footer-title { font-size: 10px; letter-spacing: .14em; color: var(--mz-accent-soft); margin: 10px 0 5px; }
.site-footer .legal-footer { grid-column: 1/-1; width: 100%; padding-top: 28px; border-top: 1px solid var(--mz-line); margin-top: 8px; }
/* Homepage composition: original artwork, copy rotation and section order retained. */
body:not(.inner-page) .hero { width: calc(100% - var(--mz-gutter)*2); max-width: var(--mz-width); padding: 64px 0 72px; gap: clamp(30px,6vw,84px); grid-template-columns: 1.15fr 1fr; }
.hero h1 { font-size: clamp(44px,5.6vw,80px); margin-bottom: 26px; }
.hero .intro { font-size: clamp(15px,1.4vw,18px); line-height: 1.75; }
.hero .actions { gap: 24px; margin-top: 28px; }
.hero .frequencies { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; max-width: 490px; border-top: 0; padding-top: 25px; margin-top: 34px; gap: 20px; }
.hero .frequencies>span { min-width: 0; }
.hero .frequencies strong { font-size: 30px; }
.hero .frequencies>span+span { padding-left: 20px; border-left: 1px solid var(--mz-line); }
.hero-visual { margin: 0; padding: 10px; border: 1px solid #9edaf049; border-radius: 30px; background: #0d2852; }
.hero-visual>img { border-radius: 21px; max-height: 580px; object-fit: contain; }
.hero-visual .visual-note { border-radius: 14px; padding: 14px; bottom: 24px; font-size: 9px; background: #0b2854ed; }
.section { padding-top: var(--mz-space-section); padding-bottom: var(--mz-space-section); }
.section .section-top { align-items: start; margin-bottom: 30px; }
.section .eyebrow { margin-bottom: 18px; }
.on-air { background: #0c274f; border-block: 1px solid var(--mz-line); }
.radio-panel { background: #102f60; }
.radio-controls { border-radius: var(--mz-radius); box-shadow: none; background: #0e294f; }
.about { background: var(--mz-brand); }
.schedule { background: var(--mz-paper); }
.news { background: #0e2a54; }
.advertise { background: var(--mz-brand); }
.home-programs { background: #12315c; }
.home-program-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.home-program-card { min-width: 0; border: 1px solid var(--mz-line); border-radius: 14px; overflow: hidden; background: #0d284f; }
.home-program-card>img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: contain; }
.home-program-card>div { position: relative; padding: 20px 38px 20px 20px; }
.home-program-card h3 { font-size: 17px; line-height: 1.35; letter-spacing: -.02em; margin: 0; }
.home-program-card p { font-size: 12px; color: var(--mz-muted); margin: 8px 0 0; line-height: 1.6; }
.home-program-card>div>span { position: absolute; right: 16px; top: 20px; color: var(--mz-accent-soft); }
.home-team { background: #0d2449; border-top: 1px solid var(--mz-line); }
.home-team-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 20px; }
.home-team-card { min-width: 0; }
.home-team-card>img, .home-team-placeholder { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 20%; border-radius: 12px; background: #f9fbff; }
.home-team-placeholder { display: grid; place-items: center; font-size: 48px; color: var(--mz-brand); }
.home-team-card h3 { font-size: 16px; line-height: 1.35; margin: 16px 0 8px; }
.home-team-card p { color: var(--mz-muted); font-size: 11px; line-height: 1.7; margin: 0; }
@media(max-width:1000px) { .home-program-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .home-team-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:620px) { .home-program-grid,.home-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 14px; } .home-program-card>div { padding: 16px 12px; } .home-program-card>div>span { display: none; } .home-program-card h3 { font-size: 14px; } .home-program-card p { font-size: 11px; } }
.filter-disclosure { margin: 24px 0; border-block: 1px solid var(--mz-line); }
.filter-disclosure>summary { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 0; cursor: pointer; list-style: none; color: var(--mz-muted); font-size: 13px; font-weight: 700; }
.filter-disclosure>summary::-webkit-details-marker { display: none; }
.filter-disclosure>summary::after { content: '+'; margin-left: auto; font-size: 22px; font-weight: 400; color: var(--mz-accent-soft); }
.filter-disclosure[open]>summary::after { content: '−'; }
.filter-disclosure>summary>span { color: var(--mz-accent-soft); font-size: 10px; font-weight: 400; }
.filter-disclosure-body { padding-bottom: 16px; }
.filter-disclosure .news-category-find { margin-bottom: 0; }
.inner-page .filter-disclosure .schedule-controls { margin-top: 12px; margin-bottom: 24px; }
.ooh-view-options { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.ooh-view-options button { flex: 1; min-height: 44px; padding: 10px 14px; border: 1px solid var(--mz-line); border-radius: 999px; background: transparent; color: white; font: 700 12px var(--mz-font); cursor: pointer; }
.ooh-view-options button[aria-pressed=true] { background: var(--mz-accent); border-color: var(--mz-accent); color: #08254b; }
.inner-page .billboard-photo[data-view=front] { background: radial-gradient(ellipse at 50% 40%,#21446d,#081d39); }
.inner-page .billboard-photo[data-view=front] .billboard-location-stage { background: none; }
.inner-page .billboard-photo[data-view=front] .billboard-surface { left: 170px; top: 35px; width: 260px; height: 520px; transform: none; border: 8px solid #061426; border-radius: 6px; box-shadow: 0 16px 30px #0005,0 0 0 1px #83c5eb66; padding: 28px 22px; }
.ooh-expansion { border-block: 1px solid var(--mz-line); padding-block: 48px; }
.ooh-expansion>p:not(.eyebrow) { color: var(--mz-muted); max-width: 760px; font-size: 15px; line-height: 1.8; }
.ooh-expansion-cities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 30px 0; }
.ooh-expansion-cities article { padding: 26px; border: 1px solid var(--mz-line); border-radius: var(--mz-radius); background: var(--mz-surface); }
.ooh-expansion-cities article>span { color: var(--mz-accent-soft); font-size: 9px; letter-spacing: .12em; font-weight: 700; }
.ooh-expansion-cities h3 { font-size: 25px; line-height: 1.2; margin: 18px 0 12px; letter-spacing: -.03em; }
.ooh-expansion-cities p { font-size: 13px; color: var(--mz-muted); line-height: 1.8; margin: 0; }
.ooh-expansion .ooh-expansion-note { font-size: 12px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body .button:hover, .inner-page .button:hover { transform: translateY(-2px); box-shadow: none; background: #6bdaf8; }
  .program-card:hover, .person-card:hover, .editorial-card:hover { border-color: #80dffb99; transform: translateY(-3px); }
}
@media (max-width:1100px) {
  .site-header.inner-header { min-height: 88px; position: relative; flex-wrap: wrap; gap: 0; }
  .site-header .site-menu { display: inline-flex; align-items: center; justify-content: center; gap: 12px; margin-left: auto; width: auto; height: 44px; padding: 0 16px; border: 1px solid #acd5f155; border-radius: 999px; background: transparent; color: white; font: 700 13px var(--mz-font); cursor: pointer; }
  .site-header #main-nav { display: none; width: 100%; flex-basis: 100%; padding: 24px 0; gap: 12px 24px; flex-wrap: wrap; justify-content: flex-start; }
  .site-header #main-nav.is-open { display: flex; }
  .site-header #main-nav a { font-size: 14px; min-height: 44px; }
  .site-header .nav-more { width: 100%; }
  .site-header .nav-more>summary { font-size: 14px; }
  .site-header .nav-more-list { position: static; width: 100%; box-shadow: none; margin-top: 12px; padding: 20px 12px; gap: 12px; }
}
@media(max-width:768px) {
  .ooh-expansion-cities { grid-template-columns: 1fr; }
  .now-panel-grid { grid-template-columns: 1fr; gap: 24px; }
  .now-panel-next { border-left: 0; border-top: 1px solid var(--mz-line); padding: 24px 0 0; }
  .content-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer.inner-footer { grid-template-columns: 1fr 1fr; gap: 28px; }
  .site-footer .footer-brand { grid-column: 1/-1; }
  .inner-page .program-profile { grid-template-columns: 1fr; }
  body:not(.inner-page) .hero { grid-template-columns: 1fr; padding-top: 40px; gap: 34px; }
  .hero h1 { max-width: 660px; }
  .hero-visual { width: 100%; max-width: 520px; justify-self: center; }
  .hero .frequencies { max-width: none; }
}
@media(max-width:520px) {
  .site-header .nav-more-list { grid-template-columns: 1fr; gap: 24px; }
  .content-grid { grid-template-columns: 1fr; }
  .now-panel-heading, .content-shelf-header { flex-direction: column; align-items: start; }
  #dock-next { display: none; }
  .site-header .logo { width: 140px; height: 56px; }
  .site-header #main-nav.is-open { display: grid; grid-template-columns: 1fr 1fr; }
  .site-header #main-nav .nav-cta { grid-column: 1/-1; justify-content: center; }
  .site-header #main-nav .nav-more { grid-column: 1/-1; }
  .hero h1 { font-size: clamp(38px,10.8vw,56px); letter-spacing: -.05em; }
  .hero .actions { flex-direction: column; align-items: center; justify-content: center; width: 100%; gap: 18px; }
  .hero .actions .button { width: auto; min-width: 190px; }
  .hero .frequencies { gap: 12px; }
  .hero .frequencies strong { font-size: 25px; }
  .hero .frequencies>span+span { padding-left: 12px; }
  .hero-visual>img { max-height: none; }
  .inner-page .group-hero, .inner-page .commercial-hero, .inner-page .ooh-hero { padding: 32px 0 48px; }
  .inner-page .managed-card { padding: 24px; }
  .site-footer.inner-footer { gap: 28px 20px; }
  .site-footer .legal-footer { gap: 24px; align-items: flex-start; }
  .site-footer .creator-credit { text-align: left; }
}

/* Secondary navigation and compact footer share the established pill controls. */
.site-header .nav-more-icon { width:15px; height:15px; flex:none; }.site-header .nav-more>summary { min-height:46px; }.site-header .nav-more-list { max-height:calc(100dvh - 150px); overflow-y:auto; overscroll-behavior:contain; }
.site-footer.inner-footer.compact-footer { grid-template-columns:1.15fr 1.5fr .85fr 1fr; gap:28px 32px; padding-top:40px; padding-bottom:28px; }
.site-footer.compact-footer .footer-pages,.site-footer.compact-footer .footer-social,.site-footer.compact-footer .footer-contact { display:grid; gap:2px; align-content:start; }
.site-footer.compact-footer .footer-pages>div { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }.site-footer.compact-footer .footer-title { display:block; margin:12px 0 14px; font-size:9px; }
.site-footer.compact-footer .footer-pages a,.site-footer.compact-footer .footer-social a,.site-footer.compact-footer .footer-contact a { display:flex; align-items:center; min-height:44px; font-size:11px; line-height:1.5; padding:6px 0; width:auto; color:#d4e3f6; }
.site-footer.compact-footer .footer-pages a:hover,.site-footer.compact-footer .footer-social a:hover { color:#8be7ff; }
.home-access { background:#102a51; }.home-access-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }.home-access-grid>a { display:flex; align-items:start; gap:16px; border-top:1px solid var(--mz-line); padding:24px 0; }.home-access-grid svg { width:32px; height:32px; flex:none; color:#8be7ff; }.home-access-grid h3 { font-size:19px; line-height:1.25; margin:0 0 10px; }.home-access-grid p { color:var(--mz-muted); font-size:12px; line-height:1.7; margin:0; }.home-access-grid>a>span { margin-left:auto; color:#8be7ff; }
@media(max-width:1100px) { .site-header .nav-more-list { max-height:none; overflow:visible; }.site-footer.inner-footer.compact-footer { grid-template-columns:1fr 1.3fr; }.site-footer.compact-footer .footer-brand { grid-column:auto; }.home-access-grid { grid-template-columns:1fr 1fr; } }
/* The full navigation must remain reachable on short and narrow screens. */
@media(max-width:1100px){
 .site-header #main-nav.is-open{max-height:calc(100vh - 125px);max-height:calc(100dvh - 125px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;align-content:start}
 .site-header #main-nav>*{min-width:0;max-width:100%}
 .site-header .nav-more-list{min-width:0;max-width:100%}
 .site-header .nav-more-list a>span{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:620px){
 .site-header #main-nav.is-open{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .site-header #main-nav>a:not(.nav-cta){white-space:normal;overflow-wrap:anywhere;padding-inline:8px}
 .site-header .nav-more-list{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px) { .site-footer.inner-footer.compact-footer { grid-template-columns:1fr 1fr; gap:20px; }.site-footer.compact-footer .footer-brand,.site-footer.compact-footer .footer-pages { grid-column:1/-1; }.site-footer.compact-footer .footer-title { margin-bottom:10px; }.site-footer.compact-footer .footer-social a,.site-footer.compact-footer .footer-contact a,.site-footer.compact-footer .footer-pages a { font-size:12px; }.home-access-grid { gap:8px 20px; }.home-access-grid>a { flex-wrap:wrap; position:relative; padding-top:20px; gap:12px; }.home-access-grid>a>div { width:100%; }.home-access-grid h3 { font-size:18px; }.home-access-grid>a>span { position:absolute; top:26px; right:0; } }

.site-header .nav-more>summary { background:transparent; border:0; color:#fff; padding-inline:8px; box-shadow:none; }.site-header .nav-more-icon { color:currentColor; }.site-header .nav-more>summary:hover { background:transparent; color:#a9eaff; }.site-header .nav-more[open]>summary { background:transparent; color:#a9eaff; }.site-header .header-whatsapp-icon { width:18px; height:18px; flex:none; }
.hero .frequencies.frequency-choices { padding-top:20px; gap:10px; max-width:520px; }.frequency-choices>button { position:relative; min-width:0; text-align:left; border:1px solid #8bd6f33d; border-radius:14px; padding:16px 12px; background:#173e7d4d; color:#fff; font:inherit; cursor:pointer; transition:background .18s,border-color .18s; }.frequency-choices>button:hover { background:#143b72; border-color:#8be7ff; }.frequency-name { display:block; color:#a7e4ff; font-size:9px; letter-spacing:.04em; margin-bottom:10px; }.hero .frequency-choices strong { display:block; font-size:30px; line-height:1; letter-spacing:-1px; }.frequency-choices strong small { font-size:10px; letter-spacing:0; }.frequency-city { display:block; margin-top:10px; color:#dce8fa; font-size:10px; line-height:1.5; }.frequency-play { position:absolute; right:10px; top:14px; font-size:9px; color:#8be7ff; }.frequency-choices>button:focus-visible { outline:3px solid #8be7ff; outline-offset:3px; }
#schedule-list .show.show-no-program { display:grid; grid-template-columns:120px 1fr; min-height:0; padding:22px 24px; background:#eaf1f9; border-color:#cdddee; box-shadow:none; color:#315176; }.show-no-program .show-info h3 { font-size:17px; color:#234791; }.show-no-program .show-info p { font-size:12px; }.show-no-program .host { display:none; }
@media(max-width:600px) { .hero .frequencies.frequency-choices { gap:8px; }.frequency-choices>button { padding:14px 9px; border-radius:12px; }.hero .frequency-choices strong { font-size:25px; }.frequency-name { font-size:8px; max-width:70%; line-height:1.5; min-height:24px; margin-bottom:6px; }.frequency-city { font-size:9px; }.frequency-play { right:9px; }.frequency-choices strong small { font-size:8px; }#schedule-list .show.show-no-program { grid-template-columns:1fr; gap:12px; padding:20px; }.show-no-program time { font-size:12px; } }

.section.home-access { padding-block:48px; }.home-access .section-top { align-items:center; margin-bottom:24px; gap:24px; }.home-access .section-top .eyebrow { margin-bottom:12px; }.home-access .section-top h2 { font-size:clamp(28px,3.2vw,38px); margin:0; line-height:1.15; }.home-access .section-top>.text-link { font-size:12px; min-height:44px; display:inline-flex; align-items:center; }.home-access-grid { gap:24px; }.home-access-grid>a { display:grid; grid-template-columns:28px minmax(0,1fr) 14px; gap:12px; padding:20px 0 8px; align-items:start; }.home-access-grid svg { width:28px; height:28px; }.home-access-grid h3 { font-size:18px; margin:0 0 8px; }.home-access-grid p { font-size:12px; }.home-access-grid>a>span { font-size:14px; margin:0; }.section.home-programs,.section.home-team { padding-top:64px; padding-bottom:64px; }
@media(max-width:800px) { .home-access .section-top { display:block; }.home-access .section-top>.text-link { margin-top:12px; }.home-access-grid { grid-template-columns:1fr 1fr; gap:16px 24px; } }
@media(max-width:520px) { .section.home-access { padding-block:36px; }.home-access .section-top { margin-bottom:16px; }.home-access-grid>a { grid-template-columns:1fr 20px; gap:12px; padding-block:18px 8px; }.home-access-grid>a>div { grid-column:1/-1; }.home-access-grid>a>span { position:static; grid-column:2; grid-row:1; align-self:center; }.home-access-grid h3 { font-size:17px; }.home-access-grid p { font-size:11px; }.section.home-programs,.section.home-team { padding-block:48px; } }

.group-about-copy { display:grid; grid-template-columns:1fr 1.15fr; gap:20px 64px; padding-block:40px; }.group-about-copy>.eyebrow { grid-column:1/-1; margin:0; }.group-about-copy h2 { font-size:clamp(30px,3.8vw,44px); line-height:1.15; margin:0; }.group-about-copy>div>p { color:var(--mz-muted); font-size:15px; line-height:1.9; margin:0 0 20px; }.group-about-copy a { font-size:12px; }.group-story { display:grid; grid-template-columns:1fr 1.35fr; gap:64px; padding-block:40px; }.group-story>div h2 { font-size:clamp(32px,4vw,46px); line-height:1.1; }.group-story>div p:not(.eyebrow) { color:var(--mz-muted); font-size:14px; line-height:1.9; max-width:38ch; }.group-story>div>a { display:inline-flex; min-height:44px; align-items:center; margin-top:12px; font-size:12px; }.group-story ol { list-style:none; margin:0; padding:0; }.group-story li { display:grid; grid-template-columns:80px 1fr; gap:28px; border-top:1px solid var(--mz-line); padding:28px 0; }.group-story li>span { color:#8be7ff; font-size:32px; line-height:1; letter-spacing:-.04em; }.group-story h3 { font-size:24px; line-height:1.25; margin:0 0 16px; letter-spacing:-.02em; }.group-story li p { font-size:14px; line-height:1.8; color:var(--mz-muted); margin:0 0 14px; }.group-story li a { display:inline-flex; align-items:center; min-height:44px; font-size:11px; color:#8be7ff; line-height:1.7; }
@media(max-width:800px) { .group-about-copy,.group-story { grid-template-columns:1fr; gap:24px; }.group-story>div p:not(.eyebrow) { max-width:none; } }
@media(max-width:520px) { .group-about-copy,.group-story { padding-block:28px; }.group-story li { grid-template-columns:1fr; gap:16px; }.group-story li>span { font-size:28px; }.group-story h3 { font-size:22px; } }

/* Search stays one tap away without adding another text item to the menu. */
.site-header.inner-header>.site-search-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#f5f9ff;order:3;border-radius:50%;text-decoration:none}
.site-header.inner-header>.site-search-icon svg{display:block;width:23px;height:23px}
@media(min-width:1101px) and (max-width:1250px){.site-header.inner-header .logo{width:150px;height:auto}.site-header #main-nav{gap:10px;font-size:11px}.site-header #main-nav .nav-more>summary{font-size:11px;padding-inline:5px}.site-header #main-nav .nav-cta{padding-inline:12px}}
.site-header.inner-header>.site-search-icon:hover{color:#00c8f5;background:#00c8f50d}
.site-header.inner-header>.site-search-icon:focus-visible{outline:2px solid #00c8f5;outline-offset:3px}
.site-header.inner-header>nav{order:2}
.site-header.inner-header>.menu-toggle{order:4}
@media(max-width:1300px){.site-header.inner-header>.site-search-icon{margin-left:auto}.site-header.inner-header>.menu-toggle{margin-left:12px}}
@media(max-width:1100px){.site-header.inner-header>nav{order:5}}

/* Final public-site rhythm and reading layer. Page compositions remain independent. */
:root {
  --mz-reading-size: 15px;
  --mz-support-size: 12px;
  --mz-section-gap: clamp(48px, 5.4vw, 72px);
}

/* One scale for institutional openings, section headings and action controls. */
.inner-page :is(.directory-intro,.group-hero,.commercial-hero,.ooh-hero,.media-kit-hero,.program-profile-copy,.program-edition-copy) h1,
.news-page h1 { font-size: var(--mz-title); line-height: 1.08; }
.inner-page :is(.network-mast,.agenda-heading,.sports-masthead,.tv-heading,.podcast-library-heading,.actions-opening) h1 {
  font-size: clamp(36px, 4.5vw, 58px); line-height: 1.1; letter-spacing: -.045em;
}
.inner-page .inner-feature { margin-block: var(--mz-section-gap); }
.inner-page :is(.group-hero,.commercial-hero,.ooh-hero) { padding-bottom: 48px; }
.inner-page :is(.inner-page-intro,.directory-intro) { margin-bottom: 24px; }
.inner-page .group-story.inner-feature { padding-block: 0; }
.inner-page .group-about-copy { padding-bottom: 16px; }
.inner-page :is(.group-section-heading,.kit-section-title,.content-shelf-header) h2 { font-size: var(--mz-heading); }
.inner-page .button { font-size: 14px; min-height: 48px; }
.inner-page .inner-action-row { gap: 16px 24px; }
.inner-page .page-back { min-height: 32px; display: inline-flex; align-items: center; }

/* Supporting text remains readable; eyebrows and captions retain a lighter hierarchy. */
body .eyebrow { font-size: 11px; letter-spacing: .12em; }
.inner-page :is(.camera-locations,.tv-caption,.project-feature,.project-collection,.agenda-archive,.agenda-entry,
  .actions-current,.actions-memory,.actions-partner,.jp-newsroom,.mzl-editorial,.brand-section-intro,.brand-care-grid,
  .media-kit-channels,.media-kit-download,.program-destination) p:not(.eyebrow) {
  font-size: var(--mz-reading-size); line-height: 1.8;
}
.inner-page :is(.camera-locations,.project-collection,.archive-row,.jp-newsroom,.brand-care-grid,.media-kit-channels,.media-kit-stations) a.text-link {
  min-height: 44px; display: inline-flex; align-items: center; line-height: 1.6; font-size: 13px;
}
.inner-page :is(.sport-meta,.podcast-catalogue-list p,.podcast-duration,.editorial-meta,.program-edition-art figcaption,
  .program-edition-hours small,.media-kit-file-note,.media-kit-cover figcaption,.brand-page figcaption,.project-feature figcaption,
  .brand-footnote,.podcast-archive-note) { font-size: var(--mz-support-size); line-height: 1.7; }
.inner-page :is(.project-feature small,.project-collection small,.archive-row small,.camera-sound,.tv-display>span,
  .podcast-featured small,.jp-station-art figcaption) { font-size: 11px; line-height: 1.7; }
.inner-page :is(.mzl-index,.channel-digital,.podcast-collections) a { min-width: 0; }
.inner-page :is(.mzl-index,.channel-digital,.podcast-collections) p { overflow-wrap: break-word; }

/* Cards share aligned action areas while preserving artwork and personal identity. */
.inner-page .program-card { display: flex; flex-direction: column; }
.inner-page .program-card-copy { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.inner-page .program-card-link { margin-top: auto; }
.inner-page .program-hours { margin-bottom: 20px; font-size: 13px; }
.inner-page .person-card { display: flex; flex-direction: column; }
.inner-page .person-copy { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.inner-page .person-copy h2 { font-size: 27px; line-height: 1.2; margin: 0 0 12px; }
.inner-page .person-copy .person-role { font-size: 14px; line-height: 1.6; color: var(--mz-accent-soft); margin: 0 0 18px; }
.inner-page .person-copy .person-programs { margin: 0 0 22px; }
.inner-page .person-links { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--mz-line); }
.inner-page .person-links a { font-size: 13px; min-height: 44px; }
.inner-page :is(.media-kit-channels,.commercial-format-grid,.programs-grid,.people-grid) { gap: 24px; }
.inner-page .program-profile { margin-block: 40px 48px; }
.inner-page .program-airtimes { margin-block: 40px; }
.inner-page .related-programs { margin-top: 56px; }
.inner-page .presenter-feature { margin-block: 48px; padding-top: 32px; }
.inner-page .featured-program .program-airtimes { padding-block: 24px; margin-bottom: 40px; }
.inner-page .share-row { margin-block: 24px; padding-block: 20px; }

/* Clear, equal controls rather than a different visual language on each page. */
.inner-page :is(.filter-disclosure,.podcast-find,.kit-metric-reference,.metric-reference) summary {
  min-height: 52px; font-size: 13px; line-height: 1.6;
}
.inner-page :is(.schedule-days,.podcast-kind,.platform-tabs) :is(a,button) { min-height: 44px; font-size: 13px; }
.inner-page :is(input[type=search],input[type=text],input[type=email],textarea,select):focus-visible {
  outline: 2px solid var(--mz-accent-soft); outline-offset: 3px;
}
.inner-page .podcast-catalogue-list h3 { font-size: 19px; }
.inner-page .podcast-row-link { font-size: 13px; }
.inner-page .podcast-pagination { font-size: 13px; }
.inner-page .podcast-library-section-heading h2 { font-size: var(--mz-heading); }
.inner-page .podcast-featured h2 { font-size: clamp(24px, 2.5vw, 32px); }
.inner-page .podcast-featured>div { padding-block: 32px; }
.inner-page .tv-caption { padding: 32px; }
.inner-page .tv-caption h2 { font-size: clamp(26px, 2.8vw, 36px); }
.inner-page .tv-programs h2 { font-size: 25px; }
.inner-page .tv-programs img { aspect-ratio: 3/2; object-fit: contain; background: #0d284f; }
.inner-page .sports-side h3 { font-size: 21px; }

/* Keep pale editorial panels in their own accessible ink palette. */
.inner-page :is(.jp-day,.channel-news,.mzl-intro) { color: var(--mz-ink); }
.inner-page .jp-day p:not(.eyebrow) { color: #425e7b; }
.inner-page .channel-news p:not(.eyebrow) { color: #31567e; }
.inner-page .mzl-intro .eyebrow { color: #244993; }
.inner-page .mzl-index p:not(.eyebrow) { font-size: 14px; }

/* Consistent closing and navigation proportions without another large callout. */
.site-header .nav-more:has(a[aria-current=page])>summary { color: #fff; }
.site-header .nav-more-group>p { font-size: 10px; letter-spacing: .1em; }
.site-header .nav-more-list small { font-size: 12px; line-height: 1.5; }
.site-header #main-nav .nav-more-list a { padding-block: 10px; min-height: 64px; }
.site-footer.compact-footer .footer-title { font-size: 10px; }
.site-footer.compact-footer :is(.footer-pages,.footer-social,.footer-contact) a { font-size: 12px; line-height: 1.6; }
.site-footer.compact-footer .footer-brand small { font-size: 13px; line-height: 1.8; }
.home-program-card h3,.home-team-card h3 { line-height: 1.4; }
.home-team-card p { line-height: 1.7; }
.error-page { background: radial-gradient(ellipse at 100% 0,#24499370,transparent 60%),var(--mz-canvas); }
.error-page :is(.error-kicker,.error-footer small) { font-size: 12px; }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .inner-page :is(.podcast-collections,.channel-digital) a { transition: border-color .18s,background .18s; }
  .inner-page :is(.podcast-collections,.channel-digital) a:hover { border-color: #8be7ff88; }
}
@media(max-width:900px) {
  .inner-page .inner-feature { margin-block: 56px; }
  .inner-page .media-kit-download { grid-template-columns: 1fr; }
  .inner-page .media-kit-next { border-left: 0; border-top: 1px solid var(--mz-line); padding: 24px 0 0; }
  .inner-page .media-kit-stations { grid-template-columns: 1fr; }
}
@media(max-width:620px) {
  :root { --mz-reading-size: 14px; --mz-section-gap: 44px; }
  .inner-page .inner-feature { margin-block: 44px; }
  .inner-page :is(.group-hero,.commercial-hero,.ooh-hero) { padding-bottom: 32px; }
  .inner-page .program-profile { margin-block: 28px 40px; }
  .inner-page :is(.program-card-copy,.person-copy) { padding: 22px; }
  .inner-page .person-copy h2 { font-size: 25px; }
  .inner-page .podcast-catalogue-list h3 { font-size: 17px; }
  .inner-page .podcast-row-link { min-height: 44px; }
  .inner-page .podcast-featured>div { padding: 24px; }
  .inner-page .tv-caption { padding: 24px; }
  .inner-page .sports-side h3 { font-size: 19px; }
  .inner-page .media-kit-metric-grid strong { font-size: 26px; }
  .inner-page .inner-action-row .button { max-width: 100%; }
  .site-header .nav-more-list { padding-inline: 12px; }
  .site-footer.compact-footer .footer-title { letter-spacing: .08em; }
}

/* Opening alignment and a compact viewing composition. */
.inner-page :is(.group-hero,.commercial-hero,.ooh-hero) { align-items:start; }
.inner-page :is(.group-hero-copy,.commercial-hero>div,.directory-intro,.ooh-hero-copy,.media-kit-hero>div,.inner-page-intro)>.page-back { display:none; }
.inner-page .commercial-channel-list a { min-height:52px; padding-block:14px; }
.inner-page .tv-theatre { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; }
.inner-page .tv-display { aspect-ratio:16/10; border:0; }
.inner-page .tv-display>img { object-fit:contain; }
.inner-page .tv-display>span { left:16px; bottom:16px; padding:8px 12px; background:#07172dde; border-radius:999px; }
.inner-page .tv-caption { display:block; }
.inner-page .tv-caption .eyebrow { margin-bottom:16px; }
.inner-page .tv-caption h2 { font-size:clamp(24px,2.5vw,32px); }
.inner-page .tv-caption p:not(.eyebrow) { margin:16px 0; }
.inner-page .tv-caption>.button { margin-top:12px; }
@media(max-width:900px) { .inner-page .tv-theatre { grid-template-columns:1fr; }.inner-page .tv-display { aspect-ratio:16/9; } }
/* Commercial review: concise actions, contained artwork and lighter sections. */
body.commercial-page .commercial-hero-rich{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:32px;align-items:center}
body.commercial-page .commercial-composition{width:100%;max-width:540px;justify-self:center;margin:0;box-sizing:border-box}
body.commercial-page .commercial-media-frame{max-width:100%}
body.commercial-page .commercial-frame-radio{left:22%;width:51%}
body.commercial-page .commercial-frame-digital{left:6%;width:34%}
body.commercial-page .commercial-frame-ooh{right:8%;width:34%}
body.commercial-page .commercial-composition-signature{right:8%}
body.commercial-page .commercial-hero-rich::before{inset:-24px 0 0 30%}
body.commercial-page .commercial-hero-rich .commercial-attendance{padding:15px 20px;gap:12px;min-height:54px;border-radius:14px}
body.commercial-page .commercial-hero-rich .commercial-attendance strong{font-size:16px}
body.commercial-page .commercial-attendance svg{width:24px;height:24px}
body.commercial-page .commercial-brand-ribbon{border:0;border-radius:18px;background:linear-gradient(110deg,#0e3459aa,#08234c66);padding:22px 26px;gap:20px;margin-top:12px}
body.commercial-page .commercial-brand-ribbon>span{font-size:10px;letter-spacing:.1em;color:#7ddded}
body.commercial-page .commercial-brand-ribbon>strong{font-size:15px}
body.commercial-page .commercial-brand-ribbon>i{font-size:10px;opacity:.55}
body.commercial-page .commercial-channel-choices{border-top:0}
body.commercial-page .commercial-channel-choice{border-bottom:1px solid #23436c66;border-radius:14px;padding-inline:16px}
body.commercial-page .commercial-channel-choice[open]{border-color:transparent;background:#0d315366}
body.commercial-page .commercial-channel-choice>summary{border-radius:12px;padding-block:20px}
body.commercial-page .commercial-channel-choice>summary:focus:not(:focus-visible){outline:none;box-shadow:none}
body.commercial-page :is(.commercial-channel-choice,.commercial-faq details,#commercial-planner-details)>summary:focus-visible{outline:2px solid #7ddded;outline-offset:4px;border-radius:12px}
body.commercial-page #campaign-planner{border:0;padding:0;margin-block:40px}
body.commercial-page #commercial-planner-details{border:0;padding:0}
body.commercial-page #commercial-planner-details>summary{padding:20px 24px;border-radius:16px;background:#0d315366;gap:20px}
body.commercial-page #commercial-planner-details>summary>span{font-size:10px;letter-spacing:.1em}
body.commercial-page #commercial-planner-details>summary>strong{font-size:16px}
body.commercial-page .commercial-contact{gap:40px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border:0;padding-top:0;background:none;margin-block:48px;align-items:start}
body.commercial-page .commercial-contact-copy{position:sticky;top:120px;padding-top:0}
body.commercial-page .commercial-contact-note{border:0;padding:22px 24px;margin-top:28px;border-radius:18px;background:#0d315366}
body.commercial-page .commercial-contact-note a{display:inline-flex;align-items:center;min-height:46px;font-size:16px;font-weight:650;color:#7de4f5;text-decoration:none}
body.commercial-page .commercial-contact-note p{font-size:14px;line-height:1.6;margin:8px 0}
body.commercial-page .commercial-contact .inquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:26px}
body.commercial-page .inquiry-form>h2,body.commercial-page .inquiry-form>p,body.commercial-page .inquiry-form>small,body.commercial-page .inquiry-form>button,body.commercial-page .inquiry-form>label:has(textarea){grid-column:1/-1}
body.commercial-page .inquiry-form [name=message]{min-height:100px}
body.commercial-page .commercial-faq{padding-top:16px;border:0}
body.commercial-page .commercial-faq details{border:0;border-radius:14px;background:transparent;padding:0;margin:0}
body.commercial-page .commercial-faq details+details{border-top:1px solid #23436c66}
body.commercial-page .commercial-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 16px;font-size:16px;border-radius:12px}
body.commercial-page .commercial-faq summary::-webkit-details-marker{display:none}
body.commercial-page .commercial-faq summary::after{content:'+';font-size:25px;color:#7ddded;font-weight:400}
body.commercial-page .commercial-faq details[open] summary::after{content:'−'}
body.commercial-page .commercial-faq details[open]{background:#0d315344}
body.commercial-page .commercial-faq details p{padding:0 16px 20px;margin:0;max-width:760px;font-size:14px;line-height:1.8}
@media(max-width:760px){
 body.commercial-page .commercial-hero-rich,body.commercial-page .commercial-contact{grid-template-columns:1fr;gap:28px}
 body.commercial-page .commercial-composition{max-width:480px;height:460px}
 body.commercial-page .commercial-contact-copy{position:static}
 body.commercial-page .commercial-brand-ribbon{gap:16px;padding:20px}
 body.commercial-page .commercial-brand-ribbon>strong{font-size:13px}
 body.commercial-page .commercial-brand-ribbon>span{width:100%;max-width:none}
 body.commercial-page .commercial-channel-choice{padding-inline:12px}
 body.commercial-page .commercial-contact .inquiry-form{padding:22px}
}
@media(max-width:440px){
 body.commercial-page .commercial-composition{height:370px}
 body.commercial-page .commercial-contact .inquiry-form{grid-template-columns:1fr}
 body.commercial-page #commercial-planner-details>summary{display:flex;flex-wrap:wrap;gap:8px;padding:18px}
 body.commercial-page #commercial-planner-details>summary>span{width:100%}
 body.commercial-page .commercial-brand-ribbon>i{display:none}
 body.commercial-page .commercial-brand-ribbon{justify-content:space-around}
}
/* Align the OOH frame with the artwork and expose the existing halo behind it. */
body.ooh-page .ooh-hero-art{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;border-radius:24px}
body.ooh-page .ooh-hero-art .ooh-hero-image{position:relative;width:100%;border-radius:24px;box-shadow:0 18px 40px #02162740}
body.ooh-page .ooh-hero-art figcaption{position:relative;padding:14px 4px 0;background:transparent}
/* Give programme artwork a clean edge and keep the full composition centred. */
body.programs-page #program-grid>.program-card{padding:0}
body.programs-page .program-card-art{margin:0;border-radius:18px 18px 0 0;aspect-ratio:3/2}
body.programs-page .program-card-art img{object-fit:contain;object-position:50% 50%;transform:none}
body.programs-page .program-card:hover .program-card-art img{transform:none}
body.commercial-page .inquiry-form label>span{display:block}
body.commercial-page .inquiry-form label>span small{font-size:10px;color:#9fc4dc;margin-left:5px}
body.inner-page.programs-page .program-card-art{padding:0;border-radius:22px 22px 0 0}
body.inner-page.programs-page .program-card-art img{border-radius:0;object-fit:contain;object-position:center}
/* Review: a larger group statement and a quieter transition into the history. */
body.group-page .group-about-copy h2{font-size:clamp(44px,5.5vw,76px);line-height:1.02;letter-spacing:-.055em;max-width:100%;text-wrap:balance;overflow-wrap:normal;margin-top:0}
body.group-page .group-story{border:0}
body.group-page .group-story li:first-child>span,body.group-page .group-story li:first-child>div{border-top:0;padding-top:0}
/* A compact catalogue with correctly fitted artwork. */
body.inner-page.programs-page #program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.inner-page.programs-page #program-grid .program-card-art{padding:0;aspect-ratio:3/2;display:block;line-height:0}
body.inner-page.programs-page #program-grid .program-card-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;transform:none;scale:1}
body.inner-page.programs-page #program-grid .program-card-copy{padding:20px}
body.inner-page.programs-page #program-grid .program-card h2{font-size:25px;line-height:1.15;margin:14px 0}
body.inner-page.programs-page #program-grid .program-card-copy>p:not(.eyebrow){font-size:13px;line-height:1.7}
body.inner-page.programs-page #program-grid .program-card-arrow{width:34px;height:34px;right:14px;bottom:14px}
body.programs-page .programs-composition{isolation:isolate}
body.programs-page .programs-composition::before{content:'';position:absolute;inset:-9% -3%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 48% 38%,#00c8f54d,transparent 62%),radial-gradient(ellipse at 75% 70%,#164fff40,transparent 62%);border-radius:50%}
@media(max-width:1000px) and (min-width:621px){body.inner-page.programs-page #program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.group-page .group-about-copy h2{font-size:clamp(40px,8.8vw,62px);max-width:600px;margin-bottom:28px}}
@media(max-width:620px){body.inner-page.programs-page #program-grid{grid-template-columns:1fr;max-width:430px;margin-inline:auto}body.inner-page.programs-page #program-grid .program-card h2{font-size:25px}}
