/*
Theme Name: Radio Harrow 2026
Author: Matt Blank
Version: 2.0
*/

/* =====================================================
   VARIABLES
   ===================================================== */
@font-face {
  font-family: 'Nexa';
  src: url('fonts/NexaHeavy.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
  /* Colors */
  --red:           #D1241B;
  --red-rgb:       214, 43, 34;
  --red-dark:      #BF271F;
  --blue:          #0099cc;
  --blue-a11y:    #0067B0;
  --dark:          #111111;
  --dark-rgb:      17, 17, 17;
  --muted:         #707070;
  --border:        #e2e2e2;
  --white:         #ffffff;
  --light-gray:    #f7f7f7;
  --accent:        #e8a020;

  /* Typography */
  --font-body:     'Poppins', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-display:  'Nexa', 'Arial Black', sans-serif; 
  
  --lh-none:       1;
  --lh-tight:      1.2;
  --lh-base:       1.5;
  --lh-loose:      1.8;

  --fs-xs:         12px;
  --fs-sm:         15px;
  --fs-base:       18px;
  --fs-lg:         22px;
  --fs-xl:         28px;
  --fs-2xl:        42px;
  --fs-3xl:        64px;
  --fs-4xl:        100px;
  --fs-5xl:        125px;

  /* Layout & Sizing */
  --max-width:     1460px;
  --gap:           32px;
  --gap-lg:        64px;

  /* Borders & Shadows */
  --radius-sm:     4px;
  --radius-md:     12px;
  --radius-lg:     24px;
  --radius-pill:   100px;

  --shadow-sm:     0 2px 8px rgba(0,0,0,.04);
  --shadow-md:     0 12px 32px rgba(0, 0, 0, 0.08);
  --shadow-lg:     0 16px 48px rgba(0,0,0,.12);

  /* Animation */
  --transition:    0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* =====================================================
   GENERAL
   ===================================================== */
/* CORE */
*, *::before, *::after {box-sizing: border-box; margin: 0; padding: 0;}
html {scroll-behavior: smooth; background-color: var(--dark) !important}
body {font-family: var(--font-body); font-size: var(--fs-base); line-height: var(--lh-loose); color: var(--dark); background: var(--light-gray); -webkit-font-smoothing: antialiased; overflow-x: hidden; background-color: var(--dark) !important; display: flex; flex-direction: column; min-height: 100vh;}
a {color: var(--blue-a11y); text-decoration: none; transition: color var(--transition); font-weight: 500;}
a:hover {color: var(--red);}
h1, h2, h3, h4, h5, h6 {font-weight: 700; line-height: var(--lh-tight); color: var(--dark);}
h1 {font-family: var(--font-display); font-weight: normal; font-size: var(--fs-3xl); line-height: var(--lh-none); margin-bottom: 20px;}
h2 {font-size: var(--fs-2xl); margin-bottom: 16px; letter-spacing: -0.02em;}
h3 {font-size: var(--fs-xl); margin-bottom: 12px;}
p {margin-bottom: 1.25em;}
p:last-child {margin-bottom: 0;}
img {max-width: 100%; height: auto; display: block;}
main {padding-top: 60px; padding-bottom: 60px}
.listen-text-mobile {display: none;}
.site-content {background-color: var(--light-gray); flex-grow: 1;}

/* LAYOUT */
section {padding: 80px 0;}
.container {max-width: var(--max-width); margin: 0 auto; padding: 0 80px;}
.section--no-top-pad {padding-top: 0;}
.section--alt-pad {padding: 0 0 var(--gap-lg) 0;}
.bg-blue {background-color: var(--blue-a11y); color: var(--white);}
.bg-dark {background-color: var(--dark); color: var(--white);}
.bg-white {background: var(--white);}
.bg-red {background: var(--red);}
.bg-blue h3, .bg-dark h3 {color: var(--white);}

/* BUTTONS */
.btn {display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: var(--fs-sm); line-height: var(--lh-none); letter-spacing: .06em; text-transform: uppercase; padding: 14px 28px; border-radius: var(--radius-md); border: 2px solid transparent; cursor: pointer; transition: all var(--transition);}
.btn svg {width: 18px; height: 18px;}
.btn--primary {background: var(--red); color: var(--white); border-color: var(--red);}
.btn--primary:hover {background: var(--red-dark); border-color: var(--red-dark); color: var(--white); transform: translateY(-2px);}
.btn--secondary {background: transparent; color: var(--red); border-color: var(--red);}
.btn--secondary:hover {background: var(--red); color: var(--white); transform: translateY(-2px);}
.btn--ghost {background: transparent; color: var(--white); border-color: rgba(255,255,255,.5);}
.btn--ghost:hover {border-color: var(--white); background: rgba(255,255,255,.1); color: var(--white);}
.btn--accent {background: var(--accent); color: var(--white); border-color: var(--accent);}
.btn--accent:hover {filter: brightness(1.1); color: var(--white); transform: translateY(-2px);}
.link-arrow {font-size: var(--fs-sm); line-height: var(--lh-none); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--red); display: inline-flex; align-items: center;}
.link-arrow:hover {color: var(--red-dark); gap: 4px;}
@keyframes pulse-dot {0% {box-shadow: 0 0 0 0 rgba(var(--red-rgb), 0.7);} 70% {box-shadow: 0 0 0 8px rgba(var(--red-rgb), 0);} 100% {box-shadow: 0 0 0 0 rgba(var(--red-rgb), 0);}}
.pulse-dot {display: inline-block; width: 8px; height: 8px; background: var(--white); border-radius: 50%; margin-right: 8px; vertical-align: middle; animation: pulse-dot 2s infinite;}



/* =====================================================
   HEADER
   ===================================================== */
.header {position: sticky; top: 0; z-index: 1000; min-height: 100px;}
.header::before {content: ''; position: absolute; inset: 0; z-index: -1; background-color: rgba(var(--dark-rgb), 1); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255, 255, 255, 0.05); box-shadow: var(--shadow-md);}
.header__inner {display: flex; align-items: center; height: 96px; padding-right: 8px; box-sizing: border-box;}
.logo {color: var(--white); transition: background var(--transition), color 0s; display: flex; align-items: center; padding: 8px; border-radius: var(--radius-sm); margin-left: 0px;}
.logo:hover {background: var(--red); color: var(--white);}
.logo svg {height: 55px; width: auto;}
.logo h1 {font-size: 0; width: 0; overflow: hidden; position: absolute;}
.nav {display: flex; align-items: center; flex-grow: 1; justify-content: right; gap: 4px; padding-right: 12px;}
.nav ul {list-style: none; padding: 0; margin: 0; display: flex; align-items: center; gap: 8px;}
.nav li {position: relative; display: block;}
.menu-item-5800, .menu-item-5844 {display: none !important;} /* Hides Home and Listen Again */
.nav .dropdown-toggle {display: none !important;}
.nav a {color: rgba(255,255,255,.85); font-size: var(--fs-base); line-height: var(--lh-tight); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: 8px 14px; display: block; border-radius: var(--radius-sm); transition: color var(--transition), background var(--transition), color 0s;}
.nav a:hover, .nav .current-menu-item > a, .nav .current-menu-ancestor > a, .nav .current-menu-parent > a, .nav .current-post-parent > a, .nav .current-post-ancestor > a {color: var(--white); background: rgba(255,255,255,.1);}
.nav .sub-menu {position: absolute; top: 100%; left: 0; margin-top: 8px; background: rgba(var(--dark-rgb), 1); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: var(--radius-md); min-width: 220px; padding: 8px; box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: all var(--transition); z-index: 100; display: flex; flex-direction: column; gap: 2px;}
.nav .sub-menu::before {content: ''; position: absolute; top: -15px; left: 0; width: 100%; height: 15px; background: transparent;}
.nav li:hover .sub-menu, .nav li:focus-within .sub-menu {opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); box-shadow: var(--shadow-md);}
.nav .sub-menu li {width: 100%; display: block;}
.nav .sub-menu a {font-size: var(--fs-sm); line-height: var(--lh-base); border-radius: var(--radius-sm); padding: 10px 14px; white-space: nowrap; width: 100%; box-sizing: border-box; text-transform: none;}
.nav .sub-menu a:hover {background: rgba(255,255,255,.08);}
.header__ctas {display: flex; align-items: center; gap: 8px;}
.btn-listen {display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 18px; background: var(--red); color: var(--white) !important; font-weight: 600; font-size: var(--fs-sm); line-height: var(--lh-none); letter-spacing: .06em; text-transform: uppercase; border-radius: var(--radius-sm); transition: background var(--transition); white-space: nowrap;}
.btn-listen:hover {background: var(--red-dark) !important;}
.btn-listen svg {width: 16px; height: 16px;}
.btn-listen--secondary {background: rgba(255,255,255,.12);}
.btn-listen--secondary:hover {background: rgba(255,255,255,.2) !important;}
.header__social {display: flex; align-items: center; gap: 6px;}
.header__social a {display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--radius-sm); background: rgba(255,255,255,.1); color: var(--white); transition: background var(--transition);}
.header__social a:hover {background: var(--red); color: var(--white);}
.header__social svg {width: 18px; height: 18px;}
.hamburger {display: none;}
.mobile-nav {display: none;}
.btn--primary .pulse-dot, .btn-listen .pulse-dot {background: var(--white); animation: pulse-btn-white 2s infinite cubic-bezier(0.2, 0.8, 0.2, 1);}
@keyframes pulse-btn-white {0% {box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);} 70% {box-shadow: 0 0 0 8px rgba(255, 255, 255, 0);} 100% {box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);}}
.header-search-trigger {background: rgba(255,255,255,0.1); border: none; color: var(--white); width: 40px; height: 40px; border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background var(--transition), transform var(--transition); margin-right: 4px;}
.header-search-trigger:hover {background: rgba(255,255,255,.2);}
.search-overlay {position: fixed; inset: 0; background: rgba(17, 17, 17, 0.95); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s;}
.search-overlay.is-active {opacity: 1; visibility: visible;}
.search-overlay__close {position: absolute; top: 32px; right: 40px; background: none; border: none; color: var(--white); cursor: pointer; transition: color var(--transition), transform var(--transition);}
.search-overlay__close:hover {color: var(--red); transform: scale(1.1);}
.search-overlay__content {width: 100%; max-width: 800px; padding: 0 24px; transform: translateY(20px); transition: transform 0.4s ease, opacity 0.4s ease; opacity: 0;}
.search-overlay.is-active .search-overlay__content {transform: translateY(0); opacity: 1;}
.search-overlay__form {display: flex; gap: 12px; align-items: stretch; border-bottom: 2px solid rgba(255,255,255,0.2); padding-bottom: 16px;}
.search-overlay__input {flex-grow: 1; min-width: 0; background: transparent; border: none; color: var(--white); font-size: var(--fs-2xl); outline: none; font-weight: 600;}
.search-overlay__input::placeholder {color: rgba(255,255,255,0.3);}
.search-overlay__btn {display: flex; align-items: center; justify-content: center; padding: 10px 32px; flex-shrink: 0;}
.search-overlay__btn svg {width: 40px; height: 40px; transition: transform var(--transition);}
.search-overlay__btn:hover svg {transform: translateX(6px);}
.search-overlay__btn:hover {transform: none;}
.screen-reader-text {border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;}
.skip-link:focus {background-color: #ffffff; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; clip-path: none; color: #111111; display: block; font-size: 1rem; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000;}



/* =====================================================
   HOME
   ===================================================== */
/* HERO */
.page-home main {padding-top: 0; padding-bottom: 0}
.hero-cover {position: relative; min-height: 80vh; display: flex; padding-top: 140px; padding-bottom: 200px; align-items: center; background-size: cover; background-position: center; background-repeat: no-repeat; margin-top: -96px}
.hero-cover__overlay {position: absolute; inset: 0; background: linear-gradient(to right, rgba(var(--dark-rgb), 0.98) 0%, rgba(var(--dark-rgb), 0.85) 45%, rgba(var(--dark-rgb), 0.2) 80%, transparent 100%); z-index: 1;}
.hero-cover__container {position: relative; z-index: 2; width: 100%;}
.hero-cover__content {max-width: 720px;}
.hero-cover__badge {display: inline-flex; align-items: center; background: var(--red); color: var(--white); font-size: var(--fs-xs); line-height: var(--lh-none); letter-spacing: .12em; text-transform: uppercase; padding: 8px 20px; border-radius: var(--radius-pill); margin-bottom: 32px; box-shadow: var(--shadow-sm);}
.hero-cover__badge .pulse-dot {background: var(--white);}
.hero-cover__badge .pulse-dot::after {background: rgba(255, 255, 255, 0.4);}
.hero-cover__title {margin-bottom: 24px; display: flex; flex-direction: column;}
.hero-cover__title .hero-cover__title-large {font-family: var(--font-display); font-size: var(--fs-4xl); font-weight: normal; line-height: var(--lh-none); letter-spacing: -0.02em; color: var(--white);}
.hero-cover__lead {font-size: var(--fs-lg); color: rgba(255, 255, 255, 0.85); line-height: var(--lh-base); max-width: 600px; margin-bottom: 40px;}
.hero-cover__actions {display: flex; gap: 16px; flex-wrap: wrap;}
@keyframes heroFadeUp {0% {opacity: 0; transform: translateY(30px);} 100% {opacity: 1; transform: translateY(0);}}
.hero-cover__content > * {opacity: 0; animation: heroFadeUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;}
.hero-cover__content .hero-cover__badge {animation-delay: 0.1s;}
.hero-cover__content .hero-cover__title {animation-delay: 0.2s;}
.hero-cover__content .hero-cover__lead {animation-delay: 0.3s;}
.hero-cover__content .hero-cover__actions {animation-delay: 0.4s;}

/* ON AIR / COMING UP */
.now-next {display: grid; grid-template-columns: 1fr 1fr; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden; margin-top: -140px; position: relative; z-index: 10;}
.now-next__current {padding: 40px; background: var(--white);}
.now-next__upcoming {padding: 40px; background: #fcfcfc; border-left: 1px solid var(--border);}
.status-label {display: inline-flex; align-items: center; gap: 12px; font-size: var(--fs-sm); line-height: var(--lh-none); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 20px; background: rgba(var(--red-rgb), 0.1); padding: 12px 16px; border-radius: var(--radius-pill); color: var(--red);}
.status-label--muted {background: none; padding: 12px 0;}
.now-next__current .status-label {color: var(--red);}
.now-next__upcoming .status-label {color: var(--muted);}
.radio-station-upcoming .rh-show-desc {display: none !important;}
.live-eq {display: flex; gap: 3px; align-items: flex-end; height: 14px;}
.live-eq span {width: 3px; height: 100%; background: var(--red); border-radius: 2px; transform-origin: bottom; will-change: transform;}
.live-eq span:nth-child(1) {animation: eq-random 1.5s infinite ease-in-out; animation-delay: -0.2s;}
.live-eq span:nth-child(2) {animation: eq-random 1.2s infinite ease-in-out; animation-delay: -0.8s;}
.live-eq span:nth-child(3) {animation: eq-random 1.7s infinite ease-in-out; animation-delay: -0.5s;}
.live-eq span:nth-child(4) {animation: eq-random 1.1s infinite ease-in-out; animation-delay: -0.1s;}
@keyframes eq-random {0% {transform: scaleY(0.3);} 25% {transform: scaleY(0.9);} 50% {transform: scaleY(0.4);} 75% {transform: scaleY(1.0);} 100% {transform: scaleY(0.3);}}
.radio-station-current .rs-schedule-list {display: block;}
.radio-station-current .rh-show-row {display: flex; flex-direction: column; padding: 0; border: none; gap: 0;}
.radio-station-current .rh-show-info {margin: 0; padding: 0;}
.radio-station-current .rh-show-title {font-size: var(--fs-2xl); line-height: var(--lh-tight); margin: 0; display: block; margin-bottom: 4px;}
.radio-station-current .rh-show-time {font-size: var(--fs-sm); line-height: var(--lh-base); font-weight: 600; color: var(--red); display: block; margin: 0; padding: 0; margin-bottom: 5px;}
.radio-station-current .rh-time-start {display: inline-block;}
.radio-station-current .rh-time-length {display: none;}
.radio-station-current p {color: var(--muted);}
.radio-station-upcoming .rs-schedule-list {position: relative; padding-left: 28px; display: block;}
.radio-station-upcoming .rs-schedule-list::before {content: ''; position: absolute; top: 24px; bottom: 30px; left: 5px; width: 2px; background: var(--border);}
.radio-station-upcoming .rh-show-row {display: grid; grid-template-columns: 64px 1fr; gap: 2px 16px; align-items: center; position: relative; padding: 0 0 20px 0; margin: 0 0 20px 0; border-bottom: 1px solid var(--border); background: transparent; box-shadow: none; transform: none; border-radius: 0;}
.radio-station-upcoming .rh-show-row:last-child {border-bottom: none; padding-bottom: 0; margin-bottom: 0;}
.radio-station-upcoming .rh-show-row::before {content: ''; position: absolute; left: -28px; top: 24px; width: 12px; height: 12px; border-radius: 50%; background: var(--white); border: 3px solid var(--border); box-shadow: 0 0 0 6px #fcfcfc; z-index: 2; transition: all var(--transition);}
.radio-station-upcoming .rh-show-row:hover::before {border-color: var(--red); background: var(--red); transform: scale(1.2);}
.radio-station-upcoming .rh-show-image {grid-column: 1; grid-row: 1 / span 2; display: block; margin: 0; width: 64px; height: 64px; overflow: hidden; border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); transition: transform var(--transition);}
.radio-station-upcoming .rh-show-image img {width: 100%; height: 100%; aspect-ratio: 1/1; object-fit: cover; display: block;}
.radio-station-upcoming .rh-show-row:hover .rh-show-image {transform: scale(1.05);}
.radio-station-upcoming .rh-show-info {grid-column: 2; grid-row: 1; margin: 0; transition: transform var(--transition); align-self: end;}
.radio-station-upcoming .rh-show-title {font-size: var(--fs-lg); font-weight: 500; display: block; line-height: var(--lh-tight); margin: 0; transition: color var(--transition);}
.radio-station-upcoming .rh-show-row:hover .rh-show-title {color: var(--red);}
.radio-station-upcoming .rh-show-time {grid-column: 2; grid-row: 2; font-size: var(--fs-sm); line-height: var(--lh-base); font-weight: 500; color: var(--muted); display: block; margin: 0; padding: 0; transition: transform var(--transition); align-self: start;}
.radio-station-upcoming .rh-time-start {display: inline-block;}
.radio-station-upcoming .rh-time-length {display: none;}
.radio-station-upcoming .rh-show-row:hover .rh-show-info, 
.radio-station-upcoming .rh-show-row:hover .rh-show-time {transform: translateX(6px);}
.radio-station-upcoming .rh-show-dj {display: none}
.upcoming-schedule-link {margin-top: 32px;}
.radio-station-upcoming .rh-show-row { cursor: default; }
.radio-station-current .rh-show-image {margin: 0 0 24px 0; width: 100%; max-width: 100%; display: block; cursor: pointer; position: relative; border-radius: var(--radius-lg); overflow: hidden;}
.on-air-now-card .rh-show-image {position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 400px; margin: 0; cursor: pointer; border-radius: var(--radius-lg); overflow: hidden;}
.radio-station-current .rh-show-image img, .on-air-now-card .rh-show-image img {width: 100%; max-width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; display: block; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); transition: transform var(--transition), filter var(--transition);}
.radio-station-current .rh-show-image:hover img, .on-air-now-card .rh-show-image:hover img {transform: scale(1.03); filter: blur(4px); cursor: pointer}
.radio-station-current .rh-show-image::after, .on-air-now-card .rh-show-image::after {content: 'LISTEN LIVE'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; background-color: var(--red); color: var(--white); font-size: var(--fs-sm); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 8px 24px 8px 41px; border-radius: var(--radius-md); background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 18px center; background-size: 20px 20px; box-shadow: 0 8px 24px rgba(var(--red-rgb), 0.4); z-index: 3; opacity: 0; pointer-events: none; transition: opacity var(--transition), transform var(--transition), background-color var(--transition); white-space: nowrap; border: 2px solid rgb(255,255,255,0.7)}
.radio-station-current .rh-show-image:hover::after, .on-air-now-card .rh-show-image:hover::after {opacity: 1; transform: translate(-50%, -50%) scale(1.05); background-color: var(--red-dark);}

/* CARDS */
.color-cards__grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;}
.color-card {border-radius: var(--radius-lg); padding: 40px; display: flex; flex-direction: column; align-items: flex-start; text-decoration: none; position: relative; overflow: hidden; opacity: 0; transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease;}
.color-card::before {content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(0, 0, 0, 0.1) 100%); z-index: 1; pointer-events: none;}
.color-card::after {content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); opacity: 0.8; z-index: 2; pointer-events: none; mix-blend-mode: color-burn;}
.color-card > * {position: relative; z-index: 3;}
.color-card--red {background: var(--red); color: var(--white);}
.color-card--blue {background: var(--blue-a11y); color: var(--white);}
.color-card--gold {background: var(--accent); color: var(--white);}
.color-card--red:hover, .color-card--blue:hover, .color-card--gold:hover {color: var(--white);}
.color-card__icon {width: 48px; height: 48px; margin-bottom: 32px;}
.color-card__title {font-size: var(--fs-xl); line-height: var(--lh-tight); margin-bottom: 8px; color: inherit !important;}
.color-card__sub {font-size: var(--fs-base); opacity: 0.9; margin: 0; line-height: var(--lh-base);}
.color-card.is-visible {opacity: 1; transform: translateY(0) scale(1); animation: cardFadeUp 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;}
.color-card.is-visible:hover {transform: translateY(-8px) scale(1); box-shadow: var(--shadow-lg);}
@keyframes cardFadeUp {0% {opacity: 0; transform: translateY(40px) scale(0.95);}}
.color-card:nth-child(1).is-visible {animation-delay: 0s;}
.color-card:nth-child(2).is-visible {animation-delay: 0.15s;}
.color-card:nth-child(3).is-visible {animation-delay: 0.3s;}

/* BEFRIENDING SERVICE */
.befriending-section {overflow-x: clip;}
.befriending-service {display: grid; grid-template-columns: 5fr 4fr; align-items: center; gap: 0;}
.befriending-service__photo img {border-radius: var(--radius-lg); box-shadow: var(--shadow-md); width: 93%; aspect-ratio: 4/3; object-fit: cover;}
.befriending-service__text {background: var(--white); padding: 64px; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); margin-left: -80px; position: relative; z-index: 2; transform: translateY(60px) rotate(-10deg) !important; transition: transform 1s cubic-bezier(0.34, 1.56, 0.64, 1);}
.befriending-service__text.is-visible {opacity: 1; transform: translateY(0) rotate(3deg) !important;}
.befriending-service__text h2 {font-family: var(--font-display); font-size: var(--fs-3xl); line-height: var(--lh-tight); letter-spacing: -0.02em; margin-bottom: 24px; font-weight: normal}
.tag-category {display: inline-block; background: rgba(var(--red-rgb), 0.1); color: var(--red); font-size: var(--fs-xs); line-height: var(--lh-none); letter-spacing: .1em; text-transform: uppercase; padding: 6px 12px; border-radius: var(--radius-sm); margin-bottom: 16px; font-weight: 600}
.befriending-service__quote {border: none; padding: 0; margin: 0 0 24px; background: none;}
.befriending-service__quote p {font-size: var(--fs-lg); line-height: var(--lh-base); color: var(--red); margin-bottom: 12px;}
.befriending-service__quote cite {font-size: var(--fs-xs); line-height: var(--lh-tight); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-style: normal;}
.befriending-service__note {font-size: var(--fs-sm); line-height: var(--lh-base); color: var(--muted); margin-bottom: 32px;}

/* COMMUNITY OUTREACH */
.community-outreach {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;}
.community-outreach .tag-category {background: #FFE9EA}
.community-outreach__visual {position: relative; padding: 40px 40px 40px 80px;}
.community-outreach__shape {position: absolute; top: -12px; right: -8px; width: 80%; height: 95%; background: var(--red); border-radius: var(--radius-lg); transform: rotate(6deg); transform-origin: center; z-index: 1; box-shadow: var(--shadow-lg);}
.community-outreach__img-main {position: relative; z-index: 2; width: 90%; aspect-ratio: 4/5; object-fit: cover; transform: rotate(-3deg); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); display: block; border: 6px solid var(--light-gray);}
.community-outreach__img-overlap {position: absolute; bottom: -24px; left: -24px; width: 60%; aspect-ratio: 1/1; object-fit: cover; border-radius: var(--radius-md); transform: rotate(2deg); z-index: 3; box-shadow: var(--shadow-lg); border: 6px solid var(--light-gray);}
.community-outreach__content {text-align: left;}
.mission-lockup__title {font-family: var(--font-display); font-size: var(--fs-3xl); line-height: var(--lh-none); letter-spacing: -0.02em; margin-bottom: 24px; font-weight: normal}
.community-outreach__lead {font-size: var(--fs-lg); line-height: var(--lh-base); font-weight: 500; color: var(--red); margin-bottom: 16px;}
.community-outreach__content p {line-height: var(--lh-loose); margin-bottom: 24px;}
.community-outreach__content p:last-of-type {margin-bottom: 32px;}
.community-outreach__shape, .community-outreach__img-main, .community-outreach__img-overlap {opacity: 1; transition: opacity 0.4s ease-out, transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);}
.community-outreach__shape {transform: translateY(100px) rotate(-8deg);}
.community-outreach__img-main {transform: translateY(140px) rotate(8deg); transition-delay: 0.08s;}
.community-outreach__img-overlap {transform: translateY(180px) rotate(-6deg); transition-delay: 0.16s;}
.community-outreach__visual.is-visible .community-outreach__shape {opacity: 1; transform: translateY(0) rotate(6deg);}
.community-outreach__visual.is-visible .community-outreach__img-main {opacity: 1; transform: translateY(0) rotate(-3deg);}
.community-outreach__visual.is-visible .community-outreach__img-overlap {opacity: 1; transform: translateY(0) rotate(2deg);}

/* HISTORY */
.history {padding: 50px 0}
.history__grid {display: grid; grid-template-columns: 1fr 1.25fr; gap: 60px; align-items: center;}
.history__text {padding: 20px 0;}
.history__text .tag-category {margin-bottom: 24px;}
.history__title {font-family: var(--font-display); font-size: var(--fs-4xl); font-weight: normal; line-height: var(--lh-none); color: var(--dark); margin-bottom: 24px; letter-spacing: -0.02em;}
.history__lead {font-size: var(--fs-xl); color: var(--red); font-weight: 600; line-height: var(--lh-tight); margin-bottom: 24px;}
.history__visuals {display: flex; flex-direction: column; justify-content: center; margin-top: 40px}
.history__photo {position: relative; width: 50%; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); border: 6px solid var(--light-gray); filter: grayscale(100%) contrast(1.05); transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), z-index 0s; background: var(--white);}
.history__photo img {width: 100%; height: auto; display: block; border-radius: calc(var(--radius-lg) - 6px);}
.history__img-1 {align-self: flex-start; margin-top: 10%; margin-left: 2%; z-index: 1; transform: rotate(-4deg);}
.history__img-2 {align-self: flex-end; margin-top: -40%; margin-right: 5%; z-index: 2; transform: rotate(5deg);}
.history__img-3 {align-self: flex-start; margin-top: -30%; margin-left: 0%; z-index: 3; transform: rotate(-3deg);}
.history__img-4 {align-self: flex-end; margin-top: -45%; margin-right: 2%; z-index: 4; transform: rotate(4deg);}
.history__img-5 {align-self: flex-start; width: 55%; margin-top: -5%; margin-left: 15%; z-index: 5; transform: rotate(-2deg);}
.history__photo:hover {transform: translateY(-8px) scale(1.2) rotate(0deg); z-index: 10; box-shadow: var(--shadow-lg);}
.history p:last-child {margin-bottom: 20px}

/* STATS */
.impact-stats .container {display: flex; justify-content: space-evenly; align-items: center; flex-wrap: wrap; gap: 30px; text-align: center; border-top: 1px solid var(--border); padding-top: 80px; max-width: 1300px; margin: auto}
.impact-stats {font-size: var(--fs-4xl); font-family: var(--font-display); line-height: var(--lh-none); padding-bottom: 80px; font-weight: normal}
.stat {display: flex; flex-direction: column; gap: 8px;}
.stat__label {font-size: var(--fs-base); line-height: var(--lh-tight); font-weight: 700; color: var(--dark); text-transform: uppercase; letter-spacing: 0.05em; font-family: var(--font-body)}
.stat__number {font-size: var(--fs-5xl); line-height: var(--lh-none); font-weight: 700; color: var(--red); display: inline-block; transform-origin: center; transform: scale(0.7); transition: transform 0.4s ease-out;}

/* VIDEO */
.video-facade {position: relative; width: 100%; aspect-ratio: 16/9; border-radius: var(--radius-lg); overflow: hidden; cursor: pointer; box-shadow: var(--shadow-lg); transition: transform var(--transition), box-shadow var(--transition); text-align: center; transition: transform var(--transition), box-shadow var(--transition), border-radius var(--transition); border-radius: var(--radius-lg)}
.video-facade:hover {transform: translateY(-4px); box-shadow: 0 24px 48px rgba(0,0,0,0.15);}
.video-facade.is-playing {cursor: default; transform: none;}
.video-facade__thumb {width: 100%; height: 100%; object-fit: cover; transition: opacity var(--transition), transform 0.5s ease;}
.video-facade:hover .video-facade__thumb {opacity: 0.85; transform: scale(1.03);}
.video-facade__overlay {position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 40%); z-index: 1; pointer-events: none;}
.video-facade__title {position: absolute; bottom: 32px; left: 40px; right: 40px; margin: 0; color: var(--white); font-size: var(--fs-2xl); line-height: var(--lh-tight); z-index: 2; pointer-events: none; transition: transform var(--transition);}
.video-facade:hover .video-facade__title {transform: translateY(-4px);}
.video-facade__play {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80px; height: 80px; background: var(--red); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); box-shadow: 0 8px 24px rgba(var(--red-rgb), 0.4); transition: transform var(--transition), background var(--transition); z-index: 3;}
.video-facade__play svg {width: 36px; height: 36px;}
.video-facade:hover .video-facade__play {transform: translate(-50%, -50%) scale(1.1); background: var(--red-dark);}
.video-facade__iframe {position: absolute; inset: 0; width: 100%; height: 100%; border: none;}
.intro-video {transition: padding-top var(--transition); background: var(--dark); padding: 40px 0}

/* VOLUNTEER */
.volunteer-section {padding: 120px 0; overflow-x: clip; padding-bottom: 50px}
.volunteer {position: relative; min-height: 650px; display: flex; align-items: center; justify-content: center; z-index: 1;}
.volunteer__content {text-align: center; position: relative; z-index: 10; max-width: 500px;}
.volunteer__content h2 {font-size: var(--fs-4xl); line-height: var(--lh-none); font-family: var(--font-display); margin-bottom: 32px;}
.volunteer__actions {display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;}
.volunteer__node {position: absolute; top: 50%; left: 50%; z-index: 5; opacity: 0; transform: translate(-50%, -50%) translate(0px, 0px) scale(0) rotate(-90deg); transition: transform 1.2s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.6s ease-out;}
.volunteer.is-visible .volunteer__node {opacity: 1; transform: translate(-50%, -50%) translate(var(--x), var(--y)) scale(1) rotate(0deg);}
.volunteer__node-float {width: 100%; height: 100%; border-radius: 50%; overflow: hidden; box-shadow: var(--shadow-lg);}
.volunteer__node-float img {width: 100%; height: 100%; object-fit: cover; display: block;}
.volunteer.is-visible .volunteer__node-float {animation: volunteer-hover 6s ease-in-out infinite alternate; animation-fill-mode: both;}
.volunteer__node:nth-child(2) {--x: -480px; --y: -220px; width: 180px; height: 180px; transition-delay: 0.1s;}
.volunteer__node:nth-child(2) .volunteer__node-float {animation-delay: 1.1s; animation-direction: alternate;}
.volunteer__node:nth-child(3) {--x: -540px; --y: 160px; width: 220px; height: 220px; transition-delay: 0.2s;}
.volunteer__node:nth-child(3) .volunteer__node-float {animation-delay: 1.4s; animation-direction: alternate-reverse;}
.volunteer__node:nth-child(4) {--x: 280px; --y: -320px; width: 140px; height: 140px; transition-delay: 0.3s;}
.volunteer__node:nth-child(4) .volunteer__node-float {animation-delay: 1.2s; animation-direction: alternate;}
.volunteer__node:nth-child(5) {--x: 460px; --y: 150px; width: 260px; height: 260px; transition-delay: 0.4s;}
.volunteer__node:nth-child(5) .volunteer__node-float {animation-delay: 1.5s; animation-direction: alternate-reverse;}
.volunteer__node:nth-child(6) {--x: -140px; --y: 310px; width: 120px; height: 120px; transition-delay: 0.5s;}
.volunteer__node:nth-child(6) .volunteer__node-float {animation-delay: 1.3s; animation-direction: alternate;}
.volunteer__node:nth-child(7) {--x: 520px; --y: -100px; width: 140px; height: 140px; transition-delay: 0.6s;}
.volunteer__node:nth-child(7) .volunteer__node-float {animation-delay: 1.6s; animation-direction: alternate;}
@keyframes volunteer-hover {0% {transform: translateY(0px) rotate(0deg);} 100% {transform: translateY(-15px) rotate(4deg);}}

/* HIGHLIGHTS */
.section-header {display: flex; align-items: baseline; justify-content: space-between;}
.latest-news-block h2 {font-family: var(--font-display); font-size: var(--fs-3xl); font-weight: normal}
.latest-news {display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: stretch;}
.latest-news h4 {font-weight: 500}
.latest-news__hero {display: flex; flex-direction: column; background: var(--white); border-radius: var(--radius-lg); overflow: hidden; text-decoration: none; box-shadow: var(--shadow-sm); transition: transform var(--transition), box-shadow var(--transition); color: var(--dark)}
.latest-news__hero:hover {transform: translateY(-4px); box-shadow: var(--shadow-lg); color: var(--dark)}
.latest-news__hero-visual {position: relative; aspect-ratio: 16/9; overflow: hidden;}
.latest-news__hero-visual img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease; will-change: transform;}
.latest-news__hero:hover .latest-news__hero-visual img {transform: scale(1.05);}
.latest-news__hero-content {display: flex; flex-direction: column; padding: 25px; justify-content: center; flex-grow: 1;}
.latest-news__meta {font-size: var(--fs-sm); line-height: var(--lh-none); color: var(--muted); margin-bottom: 6px; font-weight: 600;}
.latest-news__hero-content h3 {font-size: var(--fs-2xl); line-height: var(--lh-tight); transition: color var(--transition); font-weight: 700; margin-bottom: 0}
.latest-news__hero:hover .latest-news__hero-content h3 {color: var(--red);}
.latest-news__hero-content p {margin: 0; line-height: var(--lh-base); margin-top: 10px; color: var(--muted); font-weight: normal}
.latest-news__sidebar {display: flex; flex-direction: column;}
.latest-news__sidebar-title {font-size: var(--fs-sm); line-height: var(--lh-tight); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); margin-bottom: 24px}
.latest-news__feed {display: flex; flex-direction: column; flex-grow: 1;}
.latest-news__item {display: flex; flex-direction: row; gap: 20px; align-items: center; transition: transform var(--transition); margin-bottom: 25px; border-bottom: 1px solid var(--border); padding-bottom: 25px;}
.latest-news__item:last-child {margin-bottom: 0; border-bottom: none;}
.latest-news__item:hover {transform: translateX(8px);}
.latest-news__item-thumb {width: 160px; height: 90px; object-fit: cover; border-radius: var(--radius-md); flex-shrink: 0; box-shadow: var(--shadow-sm);}
.latest-news__item-text {display: flex; flex-direction: column; flex-grow: 1;}
.latest-news__item-meta {font-size: var(--fs-xs); line-height: var(--lh-none); color: var(--muted); font-weight: 600; margin-bottom: 5px}
.latest-news__item h4 {font-size: var(--fs-base); margin: 0; transition: color var(--transition); line-height: var(--lh-tight);}
.latest-news__item:hover h4 {color: var(--red);}
.tags {margin-top: 40px;}
.tags__label {display: block; font-size: var(--fs-sm); line-height: var(--lh-tight); color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 12px; font-weight: 600;}
.tags__grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;}
.tags__card {display: flex; align-items: center; justify-content: center; gap: 12px; background: var(--white); border: 2px solid var(--light-gray); border-radius: var(--radius-md); padding: 18px 24px; color: var(--dark); font-size: var(--fs-sm); line-height: var(--lh-none); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; transition: all var(--transition); box-shadow: var(--shadow-sm);}
.tags__card svg {width: 20px; height: 20px; color: var(--red); transition: color var(--transition); flex-shrink: 0}
.tags__card:hover {border-color: var(--red); transform: translateY(-4px); box-shadow: var(--shadow-md);}

/* DONATE */
.support {display: block;}
.support__panel {border-radius: var(--radius-lg); overflow: hidden; display: grid; grid-template-columns: 45% 1fr; align-items: stretch; box-shadow: var(--shadow-lg);}
.support__img {width: 100%; height: 100%; object-fit: cover; display: block; border-right: 4px solid rgba(0,0,0,0.15);}
.support__content {padding: 80px 64px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; text-align: left;}
.support__content h3 {margin-bottom: 16px;}
.support__content p {margin-bottom: 32px; line-height: var(--lh-base); opacity: 0.9; max-width: 480px;}



/* -----------------------------------------
   SINGLE & PAGE (singular.php)
----------------------------------------- */
.single-article-layout {display: grid; grid-template-columns: 1fr 350px; gap: 64px; align-items: start;}
.article-title {font-size: var(--fs-3xl); line-height: var(--lh-tight); margin: 0 0 20px 0;}
.article-meta-row {display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 16px 0; margin-bottom: 30px;}
.article-date {font-size: var(--fs-sm); font-weight: 600; color: var(--muted); text-transform: uppercase}
.share-btn {display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 1px solid var(--border); padding: 8px 16px; border-radius: var(--radius-pill); font-size: var(--fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--dark); cursor: pointer; transition: all var(--transition);}
.share-btn:hover {background: var(--light-gray); border-color: var(--dark);}
.article-featured-image {margin-bottom: 30px;}
.article-featured-image img {width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--radius-lg); display: block;}
.article-content-body {line-height: var(--lh-loose); margin-bottom: 20px}
.article-content-body p {margin-bottom: 24px;}
.article-content-body h2, .article-content-body h3 {margin: 0px 0 20px 0;}
.article-content-body h2 {font-size: var(--fs-lg); margin-bottom: 10px; margin-top: 40px; font-weight: 600}
.article-content-body img {min-width: 100%; border-radius: var(--radius-lg);}
.article-tags {margin-bottom: 30px; padding-bottom: 10px; border-bottom: 1px solid var(--border); font-size: var(--fs-sm); font-weight: 600; border-top: 1px solid var(--border); padding-top: 20px;}
.article-tags a {display: inline-block; background: var(--white); border: 1px solid var(--border); color: var(--dark); padding: 6px 16px; border-radius: var(--radius-pill); margin: 0 8px 0px 0; text-decoration: none; transition: all var(--transition); will-change: transform; margin-bottom: 10px;}
.article-tags a:hover {background: var(--white); color: var(--red); border-color: var(--red); transform: translateY(-3px); box-shadow: 0 4px 12px rgba(var(--red-rgb), 0.15);}
.related-posts-section h2 {font-size: var(--fs-xl); margin-bottom: 24px;}
.related-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;}
.related-card {display: block; text-decoration: none;}
.related-img {border-radius: var(--radius-md); overflow: hidden; margin-bottom: 12px; box-shadow: var(--shadow-sm);}
.related-img img {width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; transition: transform var(--transition);}
.related-card:hover .related-img img {transform: scale(1.05);}
.related-title {font-size: var(--fs-base); font-weight: 700; line-height: var(--lh-tight); margin: 0; transition: color var(--transition);}
.related-card:hover .related-title {color: var(--red);}
.article-content-body .wp-block-embed-youtube {margin: 40px 0;}
.article-content-body iframe {border: none}
.article-content-body .wp-block-embed__wrapper {position: relative; width: 100%; aspect-ratio: 16/9; border-radius: var(--radius-md);}
.article-content-body .wp-block-embed__wrapper iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; margin: 0;}
.article-content-body iframe[src*="youtube.com"], .article-content-body iframe[src*="youtu.be"] {width: 100%; aspect-ratio: 16/9; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); border: none; margin: 40px 0; display: block;}
.dynamic-yt-facade {position: relative; width: 100%; aspect-ratio: 16/9; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); background: var(--dark); cursor: pointer; margin: 40px 0;}
.dynamic-yt-facade .video-facade__thumb {width: 100%; height: 100%; object-fit: cover;}
.dynamic-yt-facade .video-facade__iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100% !important; border: none; margin: 0 !important;}
.article-content-body ul, .article-content-body ol {margin: 0 0 24px 0; padding-left: 48px;}
.article-content-body ul {list-style-type: disc;}
.article-content-body ol {list-style-type: decimal;}
.article-content-body li {margin-bottom: 8px;}
.article-content-body li > ul, .article-content-body li > ol {margin-top: 8px; margin-bottom: 0;}
.article-left {min-width: 0;}
.tiled-gallery, .tiled-gallery .gallery-row {max-width: 100% !important;}
.page .article-meta-row {justify-content: flex-start !important;}
.gwolle-gb .gb-entry {padding: 24px 0 !important; border-top: 1px solid var(--border) !important;}
hr, hr.wp-block-separator {border: none; border-top: 1px solid var(--border); background: transparent; height: 1px; margin: 40px 0;}
.share-btn.is-copied {color: var(--red); border-color: var(--red);}
.article-content-body .dynamic-yt-facade iframe, .video-facade iframe {position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border-radius: inherit !important;}
.page-contact iframe {width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: var(--radius-md); margin-top: 1rem;}
.volunteer-special-quote {display: flex; align-items: center; gap: 30px; margin-bottom: 40px; background: var(--white); box-shadow: var(--shadow-md); border-radius: var(--radius-lg); padding: 24px;}
.volunteer-special-quote .quote-image img {border-radius: 50%; width: 180px; height: 180px; object-fit: cover;}
.volunteer-special-quote .quote-text {flex: 1;}
.volunteer-special-quote .main-quote {font-weight: normal; font-size: var(--fs-lg); margin-top: 0; margin-bottom: 10px; line-height: var(--lh-base); position: relative; padding-right: 20px;}
.volunteer-special-quote .main-quote::before {content: "“"; font-size: var(--fs-3xl); font-family: var(--font-display); position: absolute; left: -41px; top: -20px; color: var(--red);}
.volunteer-special-quote .main-quote::after {content: "”"; font-size: var(--fs-3xl); font-family: var(--font-display); position: absolute; right: 30px; bottom: -55px; color: var(--red);}
.volunteer-special-quote .attribution {font-size: var(--fs-sm); color: var(--muted);}
.volunteer-special-quote .attribution p {margin: 0; line-height: var(--lh-base);}
.volunteer-special-quote .name {font-weight: bold;}
.wp-caption-text {font-size: var(--fs-xs); color: var(--muted); margin-top: 5px}
figure {margin-bottom: 20px; max-width: 100%}
figure img {max-width: 100%}
blockquote {margin: 64px 0; padding: 0 0 0 64px; position: relative; background: transparent; border: none;}
blockquote::before {content: "“"; font-family: var(--font-display); font-size: var(--fs-4xl); line-height: 1; color: var(--red); position: absolute; left: -10px; top: -20px;}
blockquote p {font-size: var(--fs-2xl); font-weight: 700; line-height: var(--lh-tight); color: var(--dark); letter-spacing: -0.02em; margin-bottom: 16px;}
blockquote p:last-of-type {margin-bottom: 0;}
blockquote cite {display: flex; align-items: center; gap: 12px; font-size: var(--fs-base); font-weight: 600; color: var(--muted); font-style: normal; margin-top: 24px;}
blockquote cite::before {content: ""; display: inline-block; width: 32px; height: 2px; background-color: var(--red);}
.page-volunteering blockquote {margin: -10px 0px 60px 0; padding: 0 0 0 20px; position: relative; background: transparent; border: none; border-left: 3px solid var(--red)}
.page-volunteering blockquote p {font-size: var(--fs-base); font-weight: 500; line-height: var(--lh-loose); font-style: italic; color: var(--muted)}
.page-volunteering blockquote:before, .page-volunteering blockquote:after {display: none}
.page-volunteering article h3 {font-size: var(--fs-lg); margin: 0; margin-top: 30px}
.page-volunteering .article-content-body h2 {font-size: var(--fs-3xl); font-family: var(--font-display); margin-bottom: 40px}
.page-volunteering .article-content-body img {height: 100px; width: 100px; border-radius: 50%; min-width: auto}
.page-volunteering .article-content-body ul {list-style: none; padding: 0; margin: 0}
.page-volunteering .article-content-body ul li {position: relative; padding-left: 130px; margin-bottom: 50px; min-height: 100px;}
.page-volunteering .article-content-body ul li img {position: absolute; left: 0; top: 0; margin: 0;}
.page-volunteering .article-featured-image {display: none}



/* -----------------------------------------
   SIDEBAR
----------------------------------------- */
.sidebar-widget {margin-bottom: 32px;}
.sidebar-widget:first-of-type {background: var(--white); border: none; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: 24px;}
.sidebar-widget .sidebar-title {text-transform: uppercase; color: var(--muted); font-size: var(--fs-sm); font-weight: 600; margin-bottom: 30px; margin-top: 40px;}
.sidebar-current .rh-show-image {margin-bottom: 16px;}
.sidebar-current .rh-show-image img {border-radius: var(--radius-md) !important;}
.sidebar-current .rh-show-title {font-size: var(--fs-xl);}
.sidebar-current .rh-show-desc {font-size: var(--fs-sm)}
.sidebar-upcoming .rs-schedule-list {padding-left: 16px;}
.sidebar-upcoming .rs-schedule-list::before {left: 4px;}
.sidebar-upcoming .rh-show-row {grid-template-columns: 48px 1fr; padding: 0 0 16px 0; margin: 0 0 16px 0;}
.sidebar-upcoming .rh-show-row::before {left: -16px; top: 20px; width: 8px; height: 8px; box-shadow: 0 0 0 4px var(--light-gray);} 
.sidebar-upcoming .rh-show-image {width: 48px !important; height: 48px !important;}
.sidebar-upcoming .rh-show-title {font-size: var(--fs-base);}
.sidebar-upcoming .rh-show-time {font-size: var(--fs-xs) !important; text-transform: none !important; letter-spacing: normal !important;}
.sidebar-upcoming .rh-show-row::before {background: var(--light-gray); border: 3px solid var(--border); box-shadow: 0 0 0 6px var(--light-gray) !important;}
.sidebar-upcoming .rh-show-dj {display: none}



/* -----------------------------------------
   CATEGORY / TAG / SEARCH (archive.php / search.php)
----------------------------------------- */
.news-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;}
.news-card {background: var(--white); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform var(--transition), box-shadow var(--transition); display: flex; flex-direction: column;}
.news-card:hover {transform: scale(1.05); box-shadow: var(--shadow-lg);}
.news-card__link {text-decoration: none; display: flex; flex-direction: column; height: 100%; color: inherit;}
.news-card__image {width: 100%; aspect-ratio: 16/9; overflow: hidden; background: var(--border);}
.news-card__image img {width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; margin: 0;}
.news-card__content {padding: 12px 20px 20px 20px; display: flex; flex-direction: column; flex-grow: 1;}
.news-card__meta {font-size: var(--fs-xs); color: var(--muted); display: flex; font-weight: 600; margin-bottom: 5px;}
.news-card__title {font-weight: 500; line-height: var(--lh-base); margin: 0; font-size: var(--fs-base);}
.category-title {text-transform: capitalize;}
.category-header {margin-bottom: 40px;}
.category-description {color: var(--muted); margin-top: 12px; font-size: var(--fs-lg);}
.news-card__fallback {width: 100%; height: 100%; display: block;}
.news-card__fallback img {width: 100%; height: 100%; object-fit: cover; opacity: 1; border-radius: 0; margin: 0; display: block;}
.no-results {text-align: center; padding: 60px 0; max-width: 700px; margin: auto; padding: 40px 0}
.no-results h3 {font-size: var(--fs-xl); margin-bottom: 16px;}
.no-results p {color: var(--muted); font-size: var(--fs-lg);}
.archive-pagination-container {text-align: center; margin-top: 64px; margin-bottom: 40px;}
.archive-pagination .nav-links {display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap;}
.archive-pagination .page-numbers, .pagination-mobile .page-numbers {display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 48px; padding: 0 16px; background: var(--white); color: var(--dark); font-size: var(--fs-base); font-weight: 500; text-decoration: none; border-radius: var(--radius-pill); border: 1px solid var(--border); transition: all var(--transition);}
.archive-pagination a.page-numbers:hover, .pagination-mobile a.page-numbers:hover {border-color: var(--dark); color: var(--dark); transform: translateY(-2px); box-shadow: var(--shadow-sm); font-weight: 600}
.archive-pagination span.page-numbers.current {background: var(--red); color: var(--white); border-color: var(--red);}
.archive-pagination span.page-numbers.dots {background: transparent; border-color: transparent; color: var(--muted); min-width: auto; padding: 0; font-weight: 400;}
.pagination-mobile {display: none;}
.search-header {margin-bottom: 40px;}
.search-results-prefix {display: block; font-size: var(--fs-sm); font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 5px;}
.search-title {word-break: break-word;}
.compact-search-form {max-width: 500px; margin: 0 auto;}
.compact-search-wrapper {position: relative; display: flex; align-items: center;}
.compact-search-input {width: 100%; padding: 16px 64px 16px 24px; border: 2px solid var(--border); border-radius: var(--radius-pill); font-family: inherit; font-size: var(--fs-base); outline: none; transition: border-color var(--transition); background: var(--white); color: var(--dark);}
.compact-search-input:focus {border-color: var(--dark);}
.compact-search-btn {position: absolute; right: 8px; width: 44px; height: 44px; border-radius: 50%; background: var(--red); color: var(--white); border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background var(--transition), transform var(--transition);}
.compact-search-btn:hover {background: var(--red-dark); transform: scale(1.05);}



/* =====================================================
 SCHEDULE
 ===================================================== */
.page-schedule h1 {margin-bottom: 40px;}
.schedule-tabs {display: flex; gap: 8px; border-bottom: 2px solid var(--border); margin-bottom: 16px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; width: 100%; position: -webkit-sticky; position: sticky; z-index: 99; background: var(--light-gray); padding-top: 10px;}
.schedule-tabs::-webkit-scrollbar {display: none;}
.page-schedule .section, .page-schedule .container {overflow: visible !important; overflow-x: visible !important;}
.tab-btn {flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; background: transparent; border: none; color: var(--muted); font-family: inherit; font-size: var(--fs-base); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 0px 8px 12px 8px; cursor: pointer; transition: all var(--transition); position: relative; white-space: nowrap; min-height: 64px;}
.tab-btn:hover {color: var(--dark);}
.tab-btn.is-active {color: var(--red);}
.tab-btn.is-active::after {content: ''; position: absolute; bottom: -2px; left: 0; width: 100%; height: 4px; background: var(--red); border-radius: 3px 3px 0 0;}
.tab-today-label {position: absolute; bottom: 6px; font-size: var(--fs-xs); font-weight: 700; color: var(--red); letter-spacing: 0.1em;}
.custom-day-panel {padding: 0 100px; margin: auto;}
.page-schedule .rh-cat-title {font-size: var(--fs-lg); text-transform: uppercase; letter-spacing: 0.05em; margin: 40px 0 16px 0; color: var(--red);}
.page-schedule .rh-show-row {display: grid; grid-template-columns: 110px 200px 1fr; gap: 32px; padding: 25px 0; align-items: center;}
.page-schedule .rh-show-time {display: flex; flex-direction: column; align-self: start;}
.page-schedule .rh-time-start {font-weight: 500; line-height: var(--lh-none); white-space: nowrap; padding-top: 10px}
.page-schedule .rh-time-length {font-size: var(--fs-sm); color: var(--red); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; font-style: italic;}
.page-schedule .rh-show-image img {width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--radius-md);}
.page-schedule .rh-show-info h3 {font-size: var(--fs-lg); font-weight: 600; line-height: var(--lh-tight); margin: 0 0 12px 0;}
.page-schedule .rh-show-desc {line-height: var(--lh-base); margin: 0;}
.on-air-now-card {background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); padding: 30px; margin-bottom: 40px; position: relative; overflow: hidden;}
.on-air-now-card .rs-onair-row {display: flex; flex-direction: column; justify-content: center; position: relative; min-height: 225px; padding-left: 440px; gap: 8px;}
.on-air-now-card .rh-show-image {position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 400px; margin: 0; cursor: pointer}
.on-air-now-card .rh-show-time, .on-air-now-card .rh-show-info {align-self: flex-start; margin: 0;}
.on-air-now-card .rh-show-image img {width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; transition: transform var(--transition); border-radius: var(--radius-lg);}
.on-air-now-card .rh-show-image:hover img {transform: scale(1.03)}
.on-air-now-card .rh-time-start {font-size: var(--fs-sm); font-weight: 600; color: var(--red); line-height: var(--lh-none);}
.on-air-now-card .rh-time-length {font-size: var(--fs-base); color: var(--red); font-weight: 700; font-style: italic; text-transform: uppercase; letter-spacing: 0.05em; display: none;}
.on-air-now-card .rh-show-info {grid-column: 2; grid-row: 2; align-self: start}
.page-schedule .on-air-now-card .rh-show-title {font-size: var(--fs-2xl); font-weight: 700; line-height: var(--lh-tight); margin: 0 0 10px 0;}
.on-air-now-card .rh-show-desc {line-height: var(--lh-base); color: var(--muted); margin: 0; font-size: var(--fs-lg)}
.schedule-day-title {margin-top: 30px}
@keyframes scheduleTabFadeIn {0% {opacity: 0; transform: translateY(15px);} 100% {opacity: 1; transform: translateY(0);}}
.custom-day-panel.is-animating {animation: scheduleTabFadeIn 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;}
.hide-on-desktop, .mobile-bottom-sheet, .title-chevron-wrapper {display: none !important;}
.schedule-tabs { top: 100px; }
.rh-show-dj {font-size: var(--fs-xs); color: var(--muted); margin-top: -10px; margin-bottom: 5px; text-transform: uppercase; font-weight: 500}



/* =====================================================
 DONATE
 ===================================================== */
.page-donate main {padding-top: 0; padding-bottom: 0}
.page-donate-wrap {overflow-x: hidden;}
.donate-hero {padding: 60px 0; background-color: var(--light-gray);}
.donate-hero__card {margin: 0 auto; background: var(--white); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-wrap: wrap; box-shadow: var(--shadow-lg); max-width: 1100px}
.donate-hero__text {flex: 1 1 450px; padding: 64px 56px; display: flex; flex-direction: column; justify-content: center; z-index: 2; position: relative;}
.donate-eyebrow {display: inline-block; font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 20px;}
.donate-eyebrow--red {color: var(--red);}
.donate-hero__title {line-height: 1; margin-bottom: 24px;}
.donate-hero__lead {color: var(--muted); margin-bottom: 36px; max-width: 400px;}
.donate-hero__image-wrap {flex: 1 1 600px; position: relative; min-height: 350px;}
.donate-hero__image-wrap img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.donate-hero__gradient {position: absolute; inset: 0; background: linear-gradient(to right, var(--white) 0%, transparent 50%);}
.donate-editorial {padding: 120px 0; background-color: var(--white); text-align: center;}
.donate-editorial__inner {max-width: 900px; margin: 0 auto;}
.donate-editorial__title {margin-bottom: 24px; font-size: var(--fs-3xl)}
.donate-editorial__text {font-size: var(--fs-lg); color: var(--muted); max-width: 600px; margin: 0 auto;}
.donate-impact {padding: 80px 0;}
.donate-impact__grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; align-items: start;}
.donate-tier {padding: 48px; border-radius: var(--radius-lg); box-shadow: var(--shadow-md);}
.donate-tier--light {background: var(--white);}
.donate-tier--dark {background: var(--dark); color: var(--white); box-shadow: var(--shadow-lg);}
.donate-tier--blue {border-top: 6px solid var(--blue);}
.donate-tier--accent {border-top: 6px solid var(--accent); transform: translateY(40px);}
.donate-tier--red {border-top: 6px solid var(--red);}
.donate-tier__price {font-family: var(--font-display); font-size: var(--fs-4xl); line-height: 1;}
.donate-tier--light .donate-tier__price {color: var(--dark);}
.donate-tier--dark .donate-tier__price {color: var(--white);}
.donate-tier__title {font-size: var(--fs-lg); margin: 24px 0 16px; font-weight: 700; line-height: var(--lh-base)}
.donate-tier__desc {line-height: var(--lh-base); margin: 0;}
.donate-tier--light .donate-tier__desc {color: var(--muted);}
.donate-tier--dark .donate-tier__desc {color: rgba(255,255,255,0.7);}
.donate-terminal-section {margin-top: 40px;}
.donate-terminal {max-width: 800px; margin: 0 auto; background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden;}
.donate-terminal__header {background: var(--red); padding: 40px; text-align: center; color: var(--white);}
.donate-terminal__title {font-size: var(--fs-2xl); margin-bottom: 8px; color: var(--white);}
.donate-terminal__reg {margin: 0;}
.donate-terminal__body {padding: 40px; text-align: center;}
.donate-terminal__intro {font-size: var(--fs-lg); font-weight: 600; margin-bottom: 40px;}
.donate-methods {display: flex; flex-wrap: wrap; gap: 24px; justify-content: center;}
.donate-method {display: flex; flex-direction: column; align-items: center; justify-content: center; width: 220px; height: 140px; border: 2px solid var(--border); border-radius: var(--radius-md); color: var(--dark); transition: all var(--transition);}
.donate-method:hover {border-color: var(--dark); transform: translateY(-4px); box-shadow: var(--shadow-md);}
.donate-method__name {font-size: var(--fs-xl); font-weight: 700; margin-bottom: 12px;}
.donate-method__name--paypal {font-style: italic; color: #003087;}
.donate-method__cta {font-size: var(--fs-sm); color: var(--blue-a11y); font-weight: 600;}
.donate-terminal__footer {font-size: var(--fs-sm); color: var(--muted);}
.donate-alt .container {border-top: 1px solid var(--border); padding-top: 80px; text-align: center; max-width: 1300px} 
.donate-alt__title {font-size: var(--fs-xl); margin-bottom: 16px;}
.donate-alt__text {color: var(--muted); margin-bottom: 24px;}
.donate-tier--dark h4 {color: var(--white)}
.donate-intro {text-align: center; margin-bottom: 40px; max-width: 650px; margin-left: auto; margin-right: auto; font-weight: 500;}
.caf-tag {font-size: var(--fs-xs); color: var(--muted); margin-top: -10px}
.smalltext {font-size: var(--fs-sm); margin-top: 30px; color: var(--muted)}
.gift-aid-toggle-btn {background: none; border: none; padding: 0; color: var(--blue-a11y); cursor: pointer; font-family: inherit; font-weight: 600; font-size: var(--fs-sm); transition: color var(--transition);}
.gift-aid-toggle-btn:hover {color: var(--red);}
.gift-aid-wrapper {display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.6s ease-out;}
.gift-aid-inner {overflow: hidden;}
.gift-aid-box {margin-top: 24px; padding: 32px; background: var(--light-gray); border: 1px solid var(--border); border-radius: var(--radius-md); text-align: left;}
.gift-aid-box svg {height: 75px; width: auto; margin: auto; display: flex; margin-bottom: 30px;}
.gift-aid-box h3 {margin-bottom: 24px; font-size: var(--fs-xl);}
.gift-aid-boost {border: 2px solid var(--dark); padding: 16px; margin-bottom: 24px; text-align: center; border-radius: var(--radius-md); background: var(--white);}
.gift-aid-boost span {font-size: var(--fs-sm); color: var(--muted); display: block; margin-top: 8px;}
.gift-aid-legal {margin-top: 32px; font-size: var(--fs-sm); color: var(--muted); line-height: var(--lh-base);}
.gift-aid-legal strong {color: var(--dark);}
.gift-aid-legal ul {padding-left: 24px; margin-bottom: 16px; list-style-type: disc;}
.gift-aid-legal li {margin-bottom: 8px;}
.wpcf7-form .input-short {max-width: 180px;}
.charity-name {font-size: var(--fs-lg); font-weight: 500;}


/* -----------------------------------------
   TEAM
----------------------------------------- */
.team-type-trustee {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 40px;}
.team-type-trustee .team-member {background: var(--white); border-radius: var(--radius-md); padding: 20px; text-align: center; box-shadow: var(--shadow-sm); transition: transform var(--transition), box-shadow var(--transition);}
.team-type-trustee .team-member-image {width: 120px; height: 120px; margin: 0 auto 10px auto; border-radius: 50%; overflow: hidden; border: 4px solid var(--light-gray);}
.team-type-trustee .team-member-image img {width: 100%; height: 100%; object-fit: cover;}
.team-type-trustee .team-member-name {font-size: var(--fs-xl); line-height: var(--lh-tight); margin: 0;}
.team-type-trustee .team-member-title {font-size: var(--fs-sm); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin: 0;}
.team-type-trustee .team-member-email {font-weight: 600; margin-bottom: 0;}
.team-type-management {display: flex; flex-direction: column; overflow: hidden;}
.team-type-management .team-member {display: grid; grid-template-columns: 1fr auto; gap: 4px 24px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--border);}
.team-type-management .team-member:last-child {border-bottom: none;}
.team-type-management .team-member-name {grid-column: 1; font-size: var(--fs-lg); margin: 0; line-height: var(--lh-base);}
.team-type-management .team-member-title {grid-column: 1; color: var(--muted); margin-bottom: 3px;}
.team-type-management .team-member-email {grid-column: 2; grid-row: 1 / span 2; font-weight: 600; text-align: right; margin-bottom: 0;}



/* -----------------------------------------
   CONTACT FORM 7
----------------------------------------- */
.wpcf7-form {margin-top: 24px;}
.wpcf7-form label {display: block; margin-bottom: 8px; font-weight: 600}
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="date"], .wpcf7-form textarea, .wpcf7-form select {width: 100%; padding: 14px 16px; border: 2px solid var(--border); border-radius: var(--radius-md); background: var(--white); color: var(--dark); font-family: inherit; font-size: var(--fs-base); transition: border-color var(--transition), box-shadow var(--transition); box-sizing: border-box;}
.wpcf7-form textarea {resize: vertical; min-height: 140px;}
.wpcf7-form input[type="text"]:focus, .wpcf7-form input[type="email"]:focus, .wpcf7-form input[type="tel"]:focus, .wpcf7-form input[type="date"]:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus {border-color: var(--dark); outline: none; box-shadow: 0 0 0 4px rgba(17, 17, 17, 0.08);}
.wpcf7-form select {-webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 16px; padding-right: 48px; cursor: pointer;}
.wpcf7-checkbox {display: flex; flex-direction: column; gap: 12px; margin-top: 16px;}
.wpcf7-list-item {display: flex !important; flex-direction: row-reverse; justify-content: flex-end; align-items: center; margin: 0 !important; gap: 12px;}
.wpcf7-list-item input[type="checkbox"] {width: 20px; height: 20px; cursor: pointer; accent-color: var(--red); flex-shrink: 0; margin: 0; margin-right: 15px}
.wpcf7-list-item-label {cursor: pointer; font-weight: 500; font-size: var(--fs-base); line-height: var(--lh-tight);}
.wpcf7-submit {background: var(--dark); color: var(--white); border: none; padding: 14px 40px; font-size: var(--fs-base); font-weight: 700; border-radius: var(--radius-pill); cursor: pointer; transition: all var(--transition); display: inline-block; margin-top: 16px;}
.wpcf7-submit:hover {background: var(--red); transform: translateY(-2px); box-shadow: var(--shadow-sm);}
.wpcf7 form .wpcf7-response-output {border-radius: var(--radius-md); font-weight: 600; margin: 0; padding: 0; border: none;}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {border: 2px solid var(--red); color: var(--red); background: rgba(var(--red-rgb), 0.05); padding: 16px; margin-top: 24px;}
.wpcf7 form.sent .wpcf7-response-output {border: 2px solid #46b450; color: #46b450; background: rgba(70, 180, 80, 0.05); padding: 16px; margin-top: 24px;}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {border: 2px solid var(--accent); color: var(--dark); background: rgba(232, 160, 32, 0.1); padding: 16px; margin-top: 24px;}
.wpcf7-not-valid-tip {font-size: var(--fs-sm); color: var(--red); margin-top: 6px; font-weight: 600; display: block;}
fieldset.hidden-fields-container {border: none !important; margin: 0 !important; padding: 0 !important; min-width: 0;}
.screen-reader-response {border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;}


/* =====================================================
 GALLERIES
 ===================================================== */
.gallery {display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin: 0 0 1.5em 0;}
.gallery .gallery-item {margin: 0 !important; width: 100% !important; aspect-ratio: 1 / 1;}
.gallery .gallery-icon, .gallery .gallery-icon a {display: block; width: 100%; height: 100%; margin: 0; overflow: hidden; border-radius: var(--radius-md)}
.gallery .gallery-icon img {width: 100% !important; height: 100% !important; object-fit: cover !important; border: none !important; border-radius: var(--radius-md); padding: 0 !important; transition: transform 0.3s ease-in-out !important;}
.gallery .gallery-icon a:hover img {transform: scale(1.08)}
.gallery .wp-caption-text.gallery-caption {display: none;}
#ltg-lightbox {display: none; position: fixed; z-index: 99999; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.9); align-items: center; justify-content: center; flex-direction: column;}
#ltg-lightbox img {max-width: 90%; max-height: 85vh; object-fit: contain; box-shadow: 0 4px 20px rgba(0,0,0,0.5);}
.ltg-nav {position: absolute; top: 50%; transform: translateY(-50%); color: white; font-size: 40px; cursor: pointer; user-select: none; padding: 20px; transition: 0.2s;}
.ltg-nav:hover {color: #ccc;}
#ltg-prev {left: 5%;}
#ltg-next {right: 5%;}
#ltg-close {position: absolute; top: 20px; right: 30px; color: white; font-size: 40px; cursor: pointer;}


/* =====================================================
   FOOTER
   ===================================================== */
.footer {background: var(--dark); color: rgba(255,255,255,0.6); padding: 60px 0; border-top: 4px solid var(--red)}
.page-home .footer {margin-top: 0;}
.footer__grid {display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: var(--gap-lg); padding-bottom: var(--gap-lg); border-bottom: 1px solid rgba(255,255,255,0.08);}
.footer__logo a {margin-bottom: 24px; color: var(--white);}
.footer__logo svg {height: 50px; width: auto;}
.footer__tagline {font-size: var(--fs-sm); line-height: var(--lh-loose); margin-bottom: 32px; max-width: 340px;}
.footer__brand .btn {margin-bottom: 32px;}
.footer__social {display: flex; gap: 12px;}
.footer__social a {display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,0.05); color: var(--white) !important; transition: background var(--transition), transform var(--transition);}
.footer__social a:hover {background: var(--red); transform: translateY(-4px);}
.footer__social svg {width: 18px; height: 18px;}
.footer__heading {font-size: var(--fs-base); line-height: var(--lh-tight); font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--white); margin-bottom: 24px;}
.footer__nav {list-style: none; padding: 0; margin: 0;}
.footer__nav li {margin-bottom: 14px;}
.footer__nav a {color: rgba(255,255,255,0.6); font-size: var(--fs-sm); line-height: var(--lh-base); display: inline-block; transition: color var(--transition), transform var(--transition);}
.footer__nav a:hover {color: var(--white); transform: translateX(4px);}
.footer__latest {list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 24px;}
.footer__latest li {display: flex; gap: 16px; align-items: center;}
.footer__latest-img-wrap {display: block; flex-shrink: 0; width: 72px; height: 72px;}
.footer__latest-img-wrap img {width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-sm);}
.footer__latest-text {display: flex; flex-direction: column; gap: 4px;}
.footer__latest h4 {font-size: var(--fs-sm); font-weight: 700; line-height: var(--lh-base); margin: 0;}
.footer__latest h4 a {color: var(--white) !important; transition: color var(--transition);}
.footer__latest h4 a:hover {color: var(--red) !important;}
.footer__latest-date {font-size: var(--fs-xs); line-height: var(--lh-tight); color: var(--blue); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600;}
.footer__bottom {padding-top: 32px; display: flex; flex-direction: column; gap: 24px; font-size: var(--fs-sm); line-height: var(--lh-loose);}
.footer__address {font-style: normal; margin-bottom: 4px;}
.footer__phone {font-weight: 600; color: var(--white); margin: 0;}
.footer__bottom p {margin: 0 0 4px 0;}
.footer a {color: #fff}



/* =========================================
   POPOUT PLAYER
   ========================================= */
.popout-player {background: var(--white) !important; color: var(--dark); min-height: 100vh; display: block !important; overflow-x: hidden !important; overflow-y: auto !important; margin: 0; padding: 0;}
.popout-player main {padding-bottom: 0}
.player-container {display: flex; flex-direction: column; padding: 32px 24px; height: auto !important; min-height: 100vh; box-sizing: border-box; overflow: visible !important;}
.player-header {display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px;}
.player-logo {color: var(--red); display: flex; align-items: center;}
.player-logo img, .player-logo svg {width: 100%; max-width: 110px; height: auto;} 
.status-badge {display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-xs); line-height: var(--lh-none); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--red); background: rgba(var(--red-rgb), 0.1); padding: 6px 12px; border-radius: var(--radius-pill);}
.popout-player .live-eq {display: flex; gap: 3px; align-items: flex-end; height: 10px;}
.popout-player .live-eq span {width: 2px; height: 100%; background: var(--red); border-radius: 2px; transform-origin: bottom; will-change: transform; animation: none; transform: scaleY(0.1); transition: transform 0.4s ease;}
.popout-player .is-playing .live-eq span:nth-child(1) {animation: eq-random 1.5s infinite ease-in-out; animation-delay: -0.2s;}
.popout-player .is-playing .live-eq span:nth-child(2) {animation: eq-random 1.2s infinite ease-in-out; animation-delay: -0.8s;}
.popout-player .is-playing .live-eq span:nth-child(3) {animation: eq-random 1.7s infinite ease-in-out; animation-delay: -0.5s;}
.popout-player .is-playing .live-eq span:nth-child(4) {animation: eq-random 1.1s infinite ease-in-out; animation-delay: -0.1s;}
.player-dynamic-show {text-align: center; margin: 0 !important; flex-grow: 0 !important; transition: opacity 0.3s ease;}
.popout-player .rs-onair-row {display: flex; flex-direction: column; align-items: center; gap: 0; padding: 0; margin: 0 auto !important; border: none;}
.player-footer {display: flex; flex-direction: column; gap: 10px; text-align: center; padding: 16px 12px; border-top: 1px solid var(--border); font-size: var(--fs-sm); line-height: var(--lh-tight); text-transform: uppercase; font-weight: 600; padding-top: 25px;}
.popout-player .rh-show-image {position: relative; width: 100%; aspect-ratio: 16/9; max-width: 500px; margin: 0 auto 16px; border-radius: var(--radius-md); overflow: hidden}
.popout-player .rh-show-image img {width: 100% !important; height: 100% !important; margin: 0 !important; object-fit: cover; display: block !important; border-radius: var(--radius-md)}
.popout-player .rh-show-info {margin: 0; padding: 0;}
.popout-player .rh-show-title {font-size: var(--fs-xl); line-height: var(--lh-tight); margin: 0 0 8px 0; display: block; font-weight: 700;}
.popout-player .rh-show-time {font-size: var(--fs-sm); line-height: var(--lh-base); color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; display: block; margin: 0; padding: 0; border: none;}
.popout-player .rh-time-start {display: inline-block;}
.popout-player .rh-time-length {display: none;} 
.player-controls {display: flex; flex-direction: column; gap: 24px; align-items: center; width: 100%; max-width: 360px; margin: 30px auto;}
.btn-play {width: 72px; height: 72px; border-radius: 50%; background: var(--red); color: var(--white); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all var(--transition); box-shadow: 0 8px 24px rgba(var(--red-rgb), 0.3);}
.btn-play:hover {transform: scale(1.05); background: var(--red-dark);}
.btn-play svg {width: 32px; height: 32px; fill: currentColor;}
.btn-play .icon-stop, .btn-play .icon-loading {display: none;}
.is-playing .btn-play .icon-play {display: none;}
.is-playing .btn-play .icon-stop {display: block;}
.is-loading .btn-play .icon-play {display: none;}
.is-loading .btn-play .icon-stop {display: none;}
.is-loading .btn-play .icon-loading {display: block; width: 28px; height: 28px; border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: var(--white); border-radius: 50%; animation: player-spin 1s linear infinite;}
@keyframes player-spin { 100% { transform: rotate(360deg); } }
.volume-control {display: flex; align-items: center; gap: 12px; width: 100%;}
.volume-control svg {width: 18px; height: 18px; color: var(--muted);}
.volume-slider {flex-grow: 1; -webkit-appearance: none; appearance: none; height: 4px; background: var(--border); border-radius: 2px; outline: none;}
.volume-slider::-webkit-slider-thumb {-webkit-appearance: none; appearance: none; width: 16px; height: 16px; border-radius: 50%; background: var(--white); cursor: pointer; transition: transform var(--transition);}
.volume-slider::-webkit-slider-thumb:hover {transform: scale(1.2);}
.player-contact-links {display: flex; justify-content: center; flex-wrap: wrap; gap: 40px; margin-top: 10px}
.contact-item {display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none;}
.contact-icon {display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: rgba(var(--dark-rgb), 0.1); color: var(--dark); transition: background var(--transition), transform var(--transition);}
.contact-icon svg {width: 24px; height: 24px}
.contact-label {font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--dark); font-weight: 600; transition: color var(--transition);}
.contact-item:hover .contact-icon {background: rgba(var(--dark-rgb), 0.2)}



/* =========================================
   LISTEN AGAIN
   ========================================= */
.autopod-catchup-feed {display: flex; flex-direction: column; gap: 24px;}
.rh-podcast-card {background: var(--white); border-radius: var(--radius-lg); padding: 32px; box-shadow: var(--shadow-sm); transition: box-shadow var(--transition); display: flex; align-items: center; gap: 32px;}
.rh-podcast-card:hover {box-shadow: var(--shadow-md);}
.rh-podcast-image {flex-shrink: 0; width: 160px; height: 160px; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm);}
.rh-podcast-image img {width: 100%; height: 100%; object-fit: cover; display: block;}
.rh-podcast-content {flex-grow: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center;}
.rh-podcast-info {margin-bottom: 24px;}
.rh-podcast-badge {display: inline-block; background: var(--dark); color: var(--white); font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 4px 10px; border-radius: var(--radius-sm); margin-bottom: 12px; letter-spacing: 0.05em;}
.rh-podcast-title {font-size: var(--fs-xl); line-height: var(--lh-tight); margin: 0 0 4px 0;}
.rh-podcast-date {font-size: var(--fs-sm); color: var(--muted); font-weight: 500;}
.rh-podcast-controls {display: flex; align-items: center; gap: 20px; background: var(--light-gray); padding: 12px; padding-right: 20px; border-radius: 100px;}
.rh-play-pause-btn {width: 52px; height: 52px; border-radius: 50%; background: var(--red); color: var(--white); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform 0.2s ease;}
.rh-play-pause-btn:hover {transform: scale(1.05);}
.rh-play-pause-btn svg {width: 24px; height: 24px;}
.rh-progress-wrapper {flex: 1; display: flex; align-items: center; gap: 16px;}
.rh-time-current, .rh-time-duration {font-size: var(--fs-sm); font-variant-numeric: tabular-nums; color: var(--dark); font-weight: 600; min-width: 40px;}
.rh-time-duration {color: var(--muted); text-align: right;}
.rh-progress-bar {flex: 1; -webkit-appearance: none; width: 100%; height: 6px; border-radius: 3px; background: linear-gradient(to right, var(--red) var(--progress, 0%), var(--border) var(--progress, 0%)); outline: none; cursor: pointer;}
.rh-progress-bar::-webkit-slider-thumb {-webkit-appearance: none; appearance: none; width: 16px; height: 16px; border-radius: 50%; background: var(--red); cursor: pointer; transition: transform 0.1s;}
.rh-progress-bar::-webkit-slider-thumb:hover {transform: scale(1.2);}
.rh-progress-bar::-moz-range-thumb {width: 16px; height: 16px; border-radius: 50%; background: var(--red); cursor: pointer; border: none;}
.rh-form-control {width: 100%; padding: 14px 16px; font-family: inherit; font-size: var(--fs-base); color: var(--dark); background-color: var(--light-gray); border: none; border-radius: var(--radius-md); transition: all 0.2s ease; box-shadow: inset 0 1px 2px rgba(0,0,0,0.02);}
.rh-form-control:focus {outline: none; background-color: var(--white); border-color: var(--red); box-shadow: 0 0 0 4px rgba(211, 47, 47, 0.1);}
.rh-select-wrapper {position: relative;}
.rh-select-wrapper::after {content: ""; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; pointer-events: none;}
.rh-select-wrapper select {-webkit-appearance: none; appearance: none; padding-right: 40px; cursor: pointer;}
.rh-form-control::-webkit-calendar-picker-indicator {cursor: pointer; opacity: 0.6; transition: opacity 0.2s;}
.rh-form-control::-webkit-calendar-picker-indicator:hover {opacity: 1;}
.flatpickr-calendar {border-radius: var(--radius-md) !important; box-shadow: var(--shadow-md) !important; border: 1px solid var(--border) !important;}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {background: var(--red) !important; border-color: var(--red) !important;}
.archive-controls {display: flex; gap: 16px; margin-bottom: 40px; background: var(--white); padding: 24px; border-radius: var(--radius-md); box-shadow: var(--shadow-sm); flex-wrap: wrap; margin-top: 20px;}
.rh-control-group-show {flex: 1; min-width: 250px;}
.rh-control-group-date {width: 240px; position: relative;}
.rh-control-group-submit {display: flex; align-items: flex-end;}
.rh-control-label {display: block; font-size: var(--fs-sm); font-weight: 600; margin-bottom: 8px;}
.rh-date-input-wrapper {position: relative; width: 100%;}
.rh-date-input {padding-right: 40px;}
.rh-clear-date-btn {position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: rgba(0, 0, 0, 0.1); border: none; font-size: var(--fs-base); line-height: var(--lh-none); font-family: Arial, sans-serif; color: var(--muted); cursor: pointer; width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0; padding-top: 2px; transition: all 0.2s ease; font-weight: 500;}
.rh-clear-date-btn:hover {background: var(--red); color: var(--white);}
.rh-submit-btn {height: 54px; padding: 0 32px; box-sizing: border-box;}
.rh-date-divider { margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--border); font-size: var(--fs-xl); color: var(--red); }
.rh-date-divider:first-child { margin-top: 0; border-top: none; padding-top: 0; }
.rh-hidden { display: none !important; }
.rh-empty-feed-msg { text-align: center; padding: 40px; color: var(--muted); }
.rh-load-more-wrapper { text-align: center; margin-top: 40px; }
.rh-icon-pause { display: none; }
.single-post .rh-podcast-card {margin-bottom: 30px}


/* -----------------------------------------
   BRAND GUIDELINES
----------------------------------------- */
.brand-guidelines {background: var(--light-gray); min-height: 100vh;}
.page-brand main {padding-bottom: 0}
.hero-cover-brand {min-height: 40vh; padding-top: 160px; background: url('/wp-content/uploads/branding-hero.webp') center/cover no-repeat;}
.badge-red {background: var(--red);}
.bg-white-border {background: var(--white); border-bottom: 1px solid var(--border);}
.text-white {color: var(--white);}
.text-white-85 {color: rgba(255, 255, 255, 0.85);}
.font-display {font-family: var(--font-display);}
.font-poppins-bold {font-family: 'Poppins', sans-serif; font-weight: 700;}
.text-xl-bold {font-weight: 700; font-size: var(--fs-xl);}
.text-lg-medium {font-weight: 500; font-size: var(--fs-lg);}
.text-base-regular {font-weight: 400; font-size: var(--fs-base);}
.tag-reverse {background: rgba(255,255,255,0.1); color: var(--white);}
.tag-mono {background: var(--light-gray); color: var(--dark);}
.mt-60 {margin-top: 60px;}
.mt-80 {margin-top: 80px;}
.display-impact {font-family: var(--font-display); font-size: var(--fs-4xl); line-height: var(--lh-none); margin: 24px 0 40px 0; color: var(--dark);}
.type-example-block {margin-top: 64px;}
.type-preview-massive {font-family: var(--font-display); font-size: var(--fs-4xl); line-height: var(--lh-none); color: var(--red); margin: 20px 0; word-wrap: break-word;}
.type-preview-list {display: flex; flex-direction: column; gap: 16px; line-height: 1.2;}
.poppins-preview {color: var(--dark);}
.logo-usage-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin: 48px 0;}
.logo-card {border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md);}
.logo-display-area {height: 280px; display: flex; align-items: center; justify-content: center; padding: 40px;}
.logo-display-area img {max-height: 100px; width: auto;}
.logo-card-footer {padding: 24px; border-top: 1px solid var(--border)}
.framing-section {margin-top: 100px; padding-top: 40px;}
.framing-grid {display: flex; gap: 100px; margin-top: 48px; flex-wrap: wrap; align-items: center;}
.framing-item {text-align: center;}
.frame {width: 220px; height: 220px; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: var(--shadow-sm); background: var(--white); border-radius: var(--radius-md); margin: 0 auto 24px;}
.frame.blank {box-shadow: none; background: transparent;}
.frame.circle {border-radius: 50% !important;}
.frame img {width: 75%;}
.framing-label {font-size: var(--fs-xs); font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--dark); margin: 0;}
.download-cta-item {flex-grow: 1; min-width: 320px; text-align: center;}
.download-box-alt {background: var(--white); padding: 48px; border-radius: var(--radius-md); border: 1px solid var(--border);}
.color-cards-brand-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;}
.color-swatch-card {background: var(--white); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); cursor: pointer; transition: var(--transition);}
.color-swatch-card:hover {transform: translateY(-4px); box-shadow: var(--shadow-lg);}
.swatch {height: 180px; width: 100%;}
.swatch-info {padding: 24px; text-align: center;}
.alt-blue {background: #0099CC; color: #000; border-radius: var(--radius-pill); font-size: var(--fs-sm); margin-top: 10px; font-weight: 600;}
.type-specimen-box {position: relative; z-index: 2; background: var(--dark); color: var(--white); padding: 100px 60px; border-radius: var(--radius-lg); transform: rotate(-3deg); text-align: center; box-shadow: var(--shadow-lg); border: 3px solid var(--white);}
.specimen-letter {display: block; font-family: var(--font-display); font-size: 180px; line-height: 1;}
.specimen-name {font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.2em; font-size: var(--fs-sm); color: var(--blue);}
.text-muted {color: var(--muted); font-size: var(--fs-base); font-weight: normal; line-height: var(--lh-loose)}
.page-brand .bg-red a {color: var(--white)}
.framing-section, .mt-80 {border-top: 1px solid var(--border); padding-top: 60px}
.pb-140 {background: var(--white)}
.colors {padding-top: 0}
.colors .section-header {margin-top: 0}



/* -----------------------------------------
   404 PAGE
----------------------------------------- */
.error404 .footer {display: none;}
.btn--dark {background: var(--dark); color: var(--white); border-color: var(--dark);}
.btn--dark:hover {background: var(--red); border-color: var(--red); color: var(--white); transform: translateY(-2px);}
.error-main {padding-top: 80px; padding-bottom: 80px; text-align: center; background: var(--light-gray); min-height: 70vh; display: flex; align-items: center;}
.error-container {max-width: 700px; margin: 0 auto; width: 100%;}
.error-title {font-family: var(--font-display); font-size: var(--fs-5xl); color: var(--red); margin-bottom: 8px; line-height: var(--lh-none);}
.error-subtitle {font-size: var(--fs-2xl); margin-bottom: 24px;}
.error-text {font-size: var(--fs-lg); color: var(--muted); margin-bottom: 40px; line-height: var(--lh-base);}
.error-search-form {display: flex; gap: 8px; margin-bottom: 48px; max-width: 500px; margin-left: auto; margin-right: auto; flex-wrap: nowrap;}
.error-search-input {flex-grow: 1; min-width: 0; padding: 16px 24px; border: 2px solid var(--border); border-radius: var(--radius-pill); font-family: inherit; font-size: var(--fs-base); outline: none; transition: border-color var(--transition);}
.error-search-input:focus {border-color: var(--dark);}
.error-search-btn {border-radius: var(--radius-pill); padding: 16px 32px; flex-shrink: 0;}
.error-actions {display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;}
.page-ronnie .container img {mix-blend-mode: multiply;}
.page-ronnie .footer {display: none}



/* =====================================================
   DESKTOP CURSOR TOOLTIP
   ===================================================== */
.desktop-show-tooltip {position: fixed; z-index: 999999; width: 320px; background: var(--white); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); pointer-events: none; opacity: 0; visibility: hidden; overflow: hidden; transition: opacity 0.2s ease, visibility 0.2s ease;}
.desktop-show-tooltip.is-visible {opacity: 1; visibility: visible;}
.desktop-show-tooltip .tooltip-image img {width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; display: block;}
.desktop-show-tooltip .tooltip-content {padding: 20px;}
.desktop-show-tooltip .tooltip-time {font-size: var(--fs-xs); color: var(--red); font-weight: 600; margin-bottom: 6px;}
.desktop-show-tooltip .tooltip-title {font-size: var(--fs-lg); margin: 0 0 8px 0; line-height: var(--lh-tight); font-weight: 700}
.desktop-show-tooltip .tooltip-desc {font-size: var(--fs-sm); line-height: var(--lh-base); display: block;}
.desktop-show-tooltip .tooltip-dj {font-size: var(--fs-sm); color: var(--muted); font-weight: 500 !important; margin-top: -10px; margin-bottom: 10px !important}



/* =====================================================
   LANDSCAPE TABLET & SMALL LAPTOP HEADER FIXES
   ===================================================== */
@media screen and (max-width: 1300px) {
  .container {padding: 0 40px;}
  .logo svg {height: 45px;}
  .nav a {padding: 8px 10px; font-size: 16px}
  .header__ctas {gap: 6px;}
  .btn-listen {padding: 0 12px; font-size: var(--fs-sm);}
}