/* =====================================================
MOBILE & PORTRAIT TABLET
===================================================== */
:root {--fs-4xl: 56px; --fs-3xl: 42px; --fs-2xl: 32px; --fs-xl: 24px; --fs-lg: 20px;}
h1 {font-size: var(--fs-3xl); margin-bottom: 0px;}
h2 {font-size: var(--fs-xl);}
h3 {font-size: var(--fs-lg);}
main {padding-top: 30px;}
.category-header {margin-bottom: 20px;}
.btn {text-align: center;}
.hide-on-mobile {display: none !important;}
.listen-text-desktop {display: none;}
.listen-text-mobile {display: inline;}
.header {background: var(--dark)}
.header__ctas {margin-left: auto; display: flex; align-items: center; gap: 12px;}
.container {padding: 0 24px;}
section {padding: 30px 0;}
.header {min-height: 80px;}
.header__inner {height: 80px; padding-right: 0;}
.logo img, .logo svg {height: 48px;}
.nav, .header__social {display: none;}
.mobile-nav .menu-item-5800, .mobile-nav .menu-item-5844 {display: block !important;}
.hamburger {position: relative; display: block; width: 44px; height: 44px; background: transparent; border: none; cursor: pointer; padding: 0; z-index: 1002;}
.hamburger span {position: absolute; left: 10px; width: 24px; height: 2px; background: var(--white); border-radius: 2px; transition: top 0.3s ease, transform 0.3s ease, opacity 0.3s ease;}
.hamburger span:nth-child(1) {top: 14px; transform: rotate(0deg);}
.hamburger span:nth-child(2) {top: 21px; opacity: 1;}
.hamburger span:nth-child(3) {top: 28px; transform: rotate(0deg);}
.hamburger.is-active span:nth-child(1) {top: 21px !important; transform: rotate(45deg) !important;}
.hamburger.is-active span:nth-child(2) {opacity: 0 !important;}
.hamburger.is-active span:nth-child(3) {top: 21px !important; transform: rotate(-45deg) !important;}
.mobile-nav {display: block; position: fixed; top: 80px; left: 0; right: 0; bottom: 0; z-index: 999; overflow-y: auto; padding: 12px 24px 40px; background: rgba(var(--dark-rgb), 0.95); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-20px); transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;}
.mobile-nav.is-open {opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s;}
.mobile-nav ul {list-style: none; padding: 0; margin: 0;}
.mobile-nav li:last-child a {border-bottom: none;}
.mobile-nav a {display: block; color: var(--white); font-weight: 600; font-size: var(--fs-lg); padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); text-transform: uppercase; letter-spacing: .04em;}
.mobile-nav a:hover {color: var(--red);}
.mobile-nav__search {margin-top: 16px; border-top: none; padding-top: 0;}
.mobile-nav__search form {display: block; border: 2px solid rgba(255,255,255,0.2); border-radius: var(--radius-pill); overflow: hidden; transition: border-color var(--transition);}
.mobile-nav__search form:focus-within {border-color: var(--white);}
.mobile-nav__search input {display: block; width: 100%; box-sizing: border-box; background: transparent; border: none; padding: 12px 20px; color: var(--white); font-size: var(--fs-base); outline: none;}
.mobile-nav__search input::placeholder {color: rgba(255,255,255,0.4); font-weight: normal;}
.mobile-nav__search button {display: none !important;}
.mobile-nav__search input[type="search"]::-webkit-search-cancel-button {-webkit-appearance: searchfield-cancel-button !important; appearance: searchfield-cancel-button !important; cursor: pointer; filter: invert(1); opacity: 0.6; transition: opacity var(--transition);}
.mobile-nav__search input[type="search"]::-webkit-search-cancel-button:hover {opacity: 1;}
.mobile-nav__search input[type="search"]::-webkit-search-decoration, .mobile-nav__search input[type="search"]::-webkit-search-results-button, .mobile-nav__search input[type="search"]::-webkit-search-results-decoration {-webkit-appearance: none; appearance: none;}
.mobile-nav .menu-item-has-children > a {display: flex; justify-content: space-between; align-items: center;}
.mobile-nav .menu-item-has-children > a::after {content: '+'; font-weight: 300; font-size: 28px; transition: transform 0.3s ease; line-height: 0;}
.mobile-nav .menu-item-has-children.is-expanded > a {border-bottom: none;}
.mobile-nav .menu-item-has-children.is-expanded > a::after {transform: rotate(45deg); color: var(--red);}
.mobile-nav .sub-menu {position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; pointer-events: auto; display: none; padding: 0 0 8px 0; margin: 0; border-bottom: 1px solid rgba(255,255,255,.1);}
.mobile-nav .sub-menu::before {display: none;}
.mobile-nav .menu-item-has-children.is-expanded .sub-menu {display: block;}
.mobile-nav .sub-menu a {border-bottom: none; padding: 12px 0 12px 16px; font-size: var(--fs-base); text-transform: none; color: rgba(255,255,255,0.7);}
.mobile-nav .sub-menu a:hover {background: transparent; color: var(--white);}
.hero-cover {padding-top: 140px; padding-bottom: 120px;}
.hero-cover__overlay {background: rgba(var(--dark-rgb), 0.75);}
.hero-cover__content {font-weight: 500;}
.hero-cover__title .hero-cover__title-large {font-size: var(--fs-4xl);}
.hero-cover__lead {font-size: var(--fs-base);}
.hero-cover__actions {flex-direction: column; width: max-content;}
.hero-cover__actions .btn {justify-content: center; width: 100%;}
.now-next {grid-template-columns: 1fr; margin-top: -64px;}
.now-next__current, .now-next__upcoming {padding: 20px;}
.now-next__current {padding-bottom: 10px;}
.now-next__upcoming {border-left: none; border-top: 1px solid var(--border); padding-top: 10px}
.radio-station-current .rh-show-title {font-size: var(--fs-xl) !important;}
.radio-station-current .rh-show-image img {border-radius: var(--radius-md);}
.radio-station-current p {display: none;}
.section--alt-pad {padding-bottom: 30px;}
.radio-station-upcoming .rh-show-image {display: none;}
.radio-station-upcoming .rs-schedule-list {padding-left: 20px;}
.radio-station-upcoming .rs-schedule-list::before {left: 0;}
.radio-station-upcoming .rh-show-row {display: block; padding-bottom: 16px; margin-bottom: 16px;}
.radio-station-upcoming .rh-show-row::before {left: -24px; top: 6px; width: 8px; height: 8px; box-shadow: 0 0 0 4px #fcfcfc;}
.radio-station-upcoming .rh-show-title {font-size: var(--fs-base);}
.radio-station-upcoming .rh-show-time {font-size: var(--fs-xs);}
.color-cards__grid {grid-template-columns: 1fr; gap: 16px;}
.color-card {display: grid; grid-template-columns: 48px 1fr; gap: 4px 8px; padding: 16px; align-items: center; border-radius: var(--radius-md);}
.color-card__icon {grid-column: 1; grid-row: 1 / span 2; margin-bottom: 0; width: 36px; height: 36px;}
.color-card__title {grid-column: 2; grid-row: 1; margin-bottom: 0; font-size: var(--fs-lg);}
.color-card__sub {grid-column: 2; grid-row: 2; font-size: var(--fs-sm); font-weight: 600;}
.befriending-service {grid-template-columns: 1fr; gap: 24px;}
.befriending-service__photo img {width: 100%;}
.befriending-service__text {margin-left: 0; margin-top: -75px; padding: 20px; transform: none;}
.latest-news-block .section-header {flex-direction: column; align-items: flex-start; margin-bottom: 20px}
.latest-news-block h2 {margin-bottom: 5px}
.latest-news {grid-template-columns: 1fr; gap: 40px;}
.latest-news__hero-content h3 {font-size: var(--fs-xl);}
.latest-news__feed {display: grid; grid-template-columns: 1fr 1fr; gap: 24px 16px;}
.latest-news__item {flex-direction: column; align-items: flex-start; margin-bottom: 0; padding-bottom: 0; border-bottom: none; gap: 12px;}
.latest-news__item-thumb {width: 100%; height: auto; aspect-ratio: 16/9;}
.tags__grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;}
.community-outreach {grid-template-columns: 1fr; gap: 10px;}
.community-outreach__visual {order: -1; padding: 0px 0 50px 0; position: relative; display: block;}
.community-outreach__shape {display: none !important;}
.community-outreach__img-main {width: 70%; margin: 0 0 0 25%; transform: rotate(-5deg) !important; border: 3px solid var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); position: relative; z-index: 1; display: block;}
.community-outreach__img-overlap {display: block !important; width: 55%; position: absolute; bottom: 20px; left: 2%; transform: rotate(7deg) !important; border: 3px solid var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); z-index: 2;}
.mission-lockup__title {font-size: var(--fs-2xl);}
.community-outreach__content .btn {display: flex; margin: 0 auto; width: fit-content;}
.impact-stats .container {flex-direction: column; gap: 40px; padding-top: 60px;}
.impact-stats {padding-bottom: 60px}
.stat__number {font-size: 80px;}
.video-facade {border-radius: 0;}
.video-facade__play {width: 64px; height: 64px;}
.video-facade__play svg {width: 28px; height: 28px;}
.video-facade__title {bottom: 24px; left: 24px; right: 24px; font-size: var(--fs-lg);}
.volunteer {min-height: 400px; padding: 0;}
.volunteer-section {padding: 60px 0; padding-top: 100px}
.volunteer__content h2 {font-size: var(--fs-3xl);}
.volunteer.is-visible .volunteer__node-float {animation: volunteer-hover 6s ease-in-out infinite alternate !important;}
.volunteer__node:nth-child(2) {--x: -160px !important; --y: -180px !important; width: 100px !important; height: 100px !important;}
.volunteer__node:nth-child(3) {--x: -160px !important; --y: 180px !important; width: 140px !important; height: 140px !important;}
.volunteer__node:nth-child(4) {display: none !important;}
.volunteer__node:nth-child(5) {--x: 180px !important; --y: 140px !important; width: 160px !important; height: 160px !important;}
.volunteer__node:nth-child(6) {--x: 70px !important; --y: -220px !important; width: 100px !important; height: 100px !important;}
.volunteer__node:nth-child(7) {--x: 180px !important; --y: -120px !important; width: 100px !important; height: 100px !important;}
.support__panel {grid-template-columns: 1fr;}
.support__img {aspect-ratio: 16/9; border-right: none; border-bottom: 4px solid rgba(0,0,0,0.15);}
.support__content {padding: 40px 24px; align-items: center; text-align: center;}
.single-article-layout {grid-template-columns: 1fr; gap: 0px;}
.article-title {font-size: var(--fs-3xl);}
.related-grid {grid-template-columns: 1fr;}
.related-card {display: grid; grid-template-columns: 120px 1fr; gap: 16px; align-items: center;}
.related-img {margin-bottom: 0;}
.news-grid {grid-template-columns: 1fr 1fr; gap: 16px;}
.news-card__title, .latest-news__item h4 {font-size: var(--fs-sm); line-height: var(--lh-base);}
.news-card__image {aspect-ratio: 3/2;}
.rh-show-row {grid-template-columns: 80px 1fr; gap: 16px; padding: 24px 0;}
.rh-show-time {grid-column: 1;}
.rh-show-image {grid-column: 2; width: 100%; max-width: 240px; margin-bottom: 8px;}
.rh-show-info {grid-column: 2;}
.rh-time-start {font-size: var(--fs-sm);}
.on-air-now-card .rs-onair-row {grid-template-columns: 1fr;}
.on-air-now-card .rh-show-image {grid-row: auto;}
.on-air-now-card .rh-show-time {grid-column: 1; grid-row: auto; border-top: 1px solid var(--border); padding-top: 16px; margin-top: 16px;}
.on-air-now-card .rh-show-info {grid-column: 1; grid-row: auto;}
.footer {padding: 24px 0; padding-top: 30px}
.footer .container {display: flex; flex-direction: column;}
.footer__grid > div:not(.footer__brand), .footer__tagline, .footer__brand .btn, .footer__logo {display: none !important;}
.footer__bottom {order: 1; padding-top: 0;}
.footer__grid {order: 2; grid-template-columns: 1fr; padding-bottom: 0; border-bottom: none; margin-top: 32px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.08); gap: 0;}
.custom-day-panel {padding: 0;}
.page-schedule h1 {margin-bottom: 0}
.page-schedule .rh-show-row {display: grid; grid-template-columns: 50px 1fr; gap: 12px 16px; padding: 16px 0;}
.page-schedule .rh-show-time {grid-column: 1; grid-row: 1 / span 2;}
.page-schedule .rh-show-image {grid-column: 2; grid-row: 1; width: 100%; max-width: 70%; margin-bottom: 0}
.page-schedule .rh-show-info {grid-column: 2; grid-row: 2;}
.page-schedule .rh-cat-title {margin: 20px 0 0 0px;}
.page-schedule .on-air-now-card {display: none;}
.page-schedule .rh-show-info h3 {margin-bottom: 0; font-size: var(--fs-base);}
.page-schedule .rh-time-start {font-size: var(--fs-base)}
.page-schedule .rh-show-desc {display: none;}
.page-schedule .rh-time-length-mobile {display: none}
.related-posts-section {margin-bottom: 40px}
.hero-cover__content > *, .color-card, .color-card.is-visible, .befriending-service__text, .befriending-service__text.is-visible {animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important;}
.community-outreach__shape, .community-outreach__img-main, .community-outreach__img-overlap {animation: none !important; transition: none !important; opacity: 1 !important;}
a:hover, button:hover, .color-card:hover, .latest-news__hero:hover, .latest-news__item:hover, .tags__card:hover, .video-facade:hover, .news-card:hover, .related-card:hover, .rh-show-row:hover, .rh-show-image:hover, .wpcf7-submit:hover {transform: none !important;}
a:hover img, a:hover svg, .latest-news__hero:hover img, .video-facade:hover img, .video-facade:hover .video-facade__play, .news-card:hover img, .related-card:hover img, .rh-show-image:hover img, .rh-show-row:hover::before, .rh-show-row:hover .rh-show-info, .rh-show-row:hover .rh-show-time {transform: none !important;}
.video-facade:hover .video-facade__play {transform: translate(-50%, -50%) !important;}
.article-featured-image img {border-radius: var(--radius-md)}
.team-type-trustee {grid-template-columns: 1fr 1fr; gap: 12px}
.team-type-management .team-member {grid-template-columns: 1fr; gap: 4px; align-items: flex-start; padding: 16px 0; font-size: var(--fs-sm); line-height: var(--lh-tight)}
.team-type-management .team-member-email {grid-column: 1; grid-row: auto; text-align: left}
.rh-podcast-card {padding: 20px}
.intro-video {padding: 0}
.intro-video .container {width: 100%; padding: 0}
.pagination-desktop {display: none;}
.pagination-mobile {display: flex; align-items: center; justify-content: center; gap: 6px}
.pagination-mobile .disabled {opacity: 0.4; pointer-events: none;}
.mobile-page-select-wrapper {position: relative; height: 48px; display: flex; align-items: center;}
.mobile-page-select-wrapper::after {content: "▼"; position: absolute; right: 14px; font-size: 10px; color: var(--dark); pointer-events: none;}
.mobile-page-select {height: 100%; padding: 0 32px 0 16px; border-radius: var(--radius-pill); border: 2px solid var(--border); background: var(--white); font-size: var(--fs-sm); font-weight: 600; color: var(--dark); -webkit-appearance: none; appearance: none; font-family: inherit; cursor: pointer; outline: none;}
.mobile-page-select:focus {border-color: var(--dark);}
.archive-pagination-container {margin-top: 40px}
.archive-pagination .page-numbers, .pagination-mobile .page-numbers {font-size: var(--fs-sm)}
.schedule-tabs {gap: 12px; top: 80px !important;}
.schedule-tabs .hide-on-mobile {display: none !important;}
.schedule-tabs .hide-on-desktop {display: inline-block !important;}
.title-chevron-wrapper {display: inline-flex !important; align-items: center; justify-content: center; color: var(--dark); border-radius: 50%; vertical-align: middle; transition: all var(--transition);}
.title-chevron-wrapper svg {width: 18px; height: 18px; margin-left: -2px;}
.sheet-trigger {cursor: pointer; -webkit-tap-highlight-color: transparent;}
.mobile-bottom-sheet {display: flex !important; position: fixed; inset: 0; z-index: 99999; flex-direction: column; justify-content: flex-end; pointer-events: none; visibility: hidden; transition: visibility 0.4s;}
.mobile-bottom-sheet.is-active {pointer-events: auto; visibility: visible;}
.mobile-bottom-sheet__overlay {position: absolute; inset: 0; background: rgba(17, 17, 17, 0.7); opacity: 0; transition: opacity 0.3s ease; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);}
.mobile-bottom-sheet.is-active .mobile-bottom-sheet__overlay {opacity: 1;}
.mobile-bottom-sheet__content {position: relative; background: var(--white); width: 100%; max-height: 90vh; overflow-y: auto; border-radius: var(--radius-lg) var(--radius-lg) 0 0; padding: 24px; box-shadow: var(--shadow-lg); transform: translateY(100%); transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);}
.mobile-bottom-sheet.is-active .mobile-bottom-sheet__content {transform: translateY(0);}
.mobile-bottom-sheet__top-bar {display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px;}
.mobile-bottom-sheet__time {font-size: var(--fs-base); font-weight: 600; color: var(--red) !important; display: flex; gap: 8px; align-items: center; margin: 0;}
.mobile-bottom-sheet__time .rh-time-length-mobile {color: var(--dark) !important; font-weight: 700; font-style: normal !important; display: inline;}
.mobile-bottom-sheet__close {background: rgba(17, 17, 17, 0.05); border: none; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--dark); cursor: pointer; flex-shrink: 0; transition: all var(--transition);}
.mobile-bottom-sheet__close:hover {background: rgba(17, 17, 17, 0.2)}
.mobile-bottom-sheet__image {width: 100%; margin: 0 auto 24px auto;}
.mobile-bottom-sheet__image img {width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--radius-md); box-shadow: var(--shadow-sm); display: block;}
.mobile-bottom-sheet__title {font-size: var(--fs-xl); line-height: var(--lh-tight); margin: 0 0 12px 0; font-family: var(--font-body); font-weight: 700; color: var(--dark)}
.mobile-bottom-sheet .title-chevron-wrapper {display: none !important;}
.rh-show-image:hover img {filter: none !important;}
.radio-station-current .rh-show-image::after {display: none;}
.volunteer-special-quote {flex-direction: column; align-items: center; text-align: center; gap: 20px; padding: 24px 20px;}
.volunteer-special-quote .main-quote {font-size: var(--fs-sm); font-weight: 600; padding-left: 20px; padding-right: 20px;}
.volunteer-special-quote .attribution {font-size: var(--fs-xs);}
.volunteer-special-quote .quote-image img {width: 100px; height: 100px;}
.volunteer-special-quote .main-quote::before {left: -5px; top: -22px; font-size: var(--fs-4xl)}
.volunteer-special-quote .main-quote::after {right: -5px; bottom: -48px; font-size: var(--fs-4xl)}
.gallery {display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0 0 1.5em 0;}
.gallery .gallery-icon img {border-radius: var(--radius-sm)}
.gallery .gallery-icon, .gallery .gallery-icon a {border-radius: var(--radius-md)}
.donate-hero__text {padding: 40px 20px;; padding-top: 20px}
.donate-impact__grid {gap: 24px;}
.donate-tier--accent {transform: translateY(0);}
.donate-terminal__body {padding: 40px 24px;}
.donate-method {width: 100%; height: 120px;}
.donate-hero__gradient {background: none}
.donate-editorial {padding: 50px 0}
.donate-hero, .donate-hero .container {padding: 0}
.donate-hero__card {border-radius: 0}
.donate-editorial__title {font-size: var(--fs-2xl)}
.donate-editorial__text {font-size: var(--fs-base)}
.donate-impact {padding: 0; padding-top: 60px}
.donate-terminal-section {padding: 0}
.donate-alt {padding: 20px}
.donate-alt .container {padding-top: 40px; margin-top: 30px}
.donate-tier {padding: 20px}
.donate-tier__price {font-size: var(--fs-3xl)}
.donate-tier__title {margin: 10px 0}
blockquote {margin: 40px 0;padding: 0 0 0 28px}
blockquote p {font-size: var(--fs-lg)}
blockquote::before {top: -5px;}
.history__grid {grid-template-columns: 1fr; gap: 0;}
.history {padding: 30px 0; padding-bottom: 60px}
.history__visuals {width: 100%; margin: 0 auto;}
.history__photo {width: 50%; border-radius: var(--radius-md);}
.history__photo img {border-radius: var(--radius-md);}
.history__img-5 {width: 55%;}
.history__grid {grid-template-columns: 1fr}
.history__text {order: 1}
.history__visuals {order: 2; margin-top: 0}
.mobile-bottom-sheet__image {width: 100%; aspect-ratio: 16/9; border-radius: var(--radius-md); background-color: var(--border); background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%); background-size: 200% 100%; animation: sheet-shimmer 1.5s infinite linear; overflow: hidden; margin-bottom: 24px;}
.mobile-bottom-sheet__image img {width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.3s ease-in-out;}
.mobile-bottom-sheet__image img.is-loaded {opacity: 1;}
@keyframes sheet-shimmer {0% {background-position: -200% 0;} 100% {background-position: 200% 0;}}
.logo-usage-grid, .color-cards-brand-grid {grid-template-columns: 1fr 1fr;}
.framing-grid {gap: 32px; justify-content: center;}
.rh-podcast-card {display: grid; grid-template-columns: 90px 1fr; gap: 8px; padding: 20px;}
.rh-podcast-image {width: 80px; height: 80px; grid-column: 1; grid-row: 1;}
.rh-podcast-content {display: contents;}
.rh-podcast-info {grid-column: 2; grid-row: 1; align-self: center; margin-bottom: 0;}
.rh-podcast-title {font-size: var(--fs-base); margin-bottom: 4px; font-weight: 500; line-height: var(--lh-base)}
.rh-podcast-controls {grid-column: 1 / span 2; grid-row: 2; margin-top: 8px; width: 100%; box-sizing: border-box;}
.rh-podcast-date {line-height: var(--lh-base)}
.rh-show-dj {margin-top: 0}
.mobile-bottom-sheet__dj {margin-top: -10px; color: var(--muted); font-weight: 500 !important; font-size: var(--fs-sm)}
.gift-aid-wrapper {margin-left: -12px; margin-right: -12px}
.gift-aid-box {padding: 20px}
.gift-aid-box .wpcf7-submit {font-size: var(--fs-sm)}
.page-volunteering .article-content-body h2 {font-size: var(--fs-2xl);}
.page-volunteering .article-content-body img {height: 70px; width: 70px;}
.page-volunteering .article-content-body ul li {padding-left: 90px; margin-bottom: 35px; min-height: 70px;}
.page-volunteering article h3 {margin-top: 10px;}