:root {
  --ocean: #073b52;
  --ocean-deep: #032b3d;
  --wave: #087e91;
  --sky: #26b8ca;
  --sun: #f5c84c;
  --coral: #e9583f;
  --leaf: #064c61;
  --sand: #fff8e8;
  --white: #ffffff;
  --ink: #092c3b;
  --muted: #56707a;
  --line: rgba(7,59,82,.14);
  --radius: 24px;
  --shadow: 0 24px 70px rgba(3,43,61,.14);
}

* { box-sizing: border-box; }
html { max-width: 100%; scroll-behavior: smooth; overflow-x: hidden; }
body { width: 100%; max-width: 100%; margin: 0; overflow-x: hidden; color: var(--ink); background: var(--sand); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; }
a { color: inherit; }
img { display: block; max-width: 100%; }
iframe { border: 0; display: block; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 100; background: white; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { top: 16px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

.sponsor-bar { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 7px 5vw; background: var(--ocean-deep); color: #d9f7f8; font-size: .78rem; letter-spacing: .04em; }
.sponsor-bar span { text-transform: uppercase; opacity: .7; font-weight: 800; }
.sponsor-bar a { color: white; font-weight: 700; text-decoration: none; }

.site-header { height: 94px; padding: 0 5vw; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 50; background: rgba(3,43,61,.97); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,.12); box-shadow: 0 10px 30px rgba(2,31,44,.12); }
.brand-lockup { display: inline-flex; width: 238px; padding: 7px 10px 8px; align-items: center; flex-direction: column; color: #050505; background: var(--sand); border-radius: 14px; text-decoration: none; box-shadow: 0 8px 24px rgba(0,0,0,.14); }
.brand-mark { display: block; width: 210px; height: 52px; overflow: hidden; }
.brand-mark img { display: block; width: 210px; max-width: none; height: auto; transform: translateY(-8px); }
.brand-domain { display: block; margin-top: -1px; font-size: .78rem; font-weight: 950; letter-spacing: -.025em; line-height: 1; text-transform: lowercase; }
nav { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 38px); }
nav a { text-decoration: none; font-weight: 750; font-size: .92rem; color: #effdfc; }
nav a:not(.nav-button):hover { color: var(--sun); }
.nav-button { padding: 10px 20px; color: var(--ocean-deep); background: var(--sun); border-radius: 999px; }
.menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.menu-toggle span:not(.sr-only) { display: block; width: 25px; height: 2px; margin: 5px; background: white; }

.hero { min-height: 680px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 3vw; overflow: hidden; position: relative; padding: 72px 5vw 66px; background: radial-gradient(circle at 79% 40%, rgba(245,200,76,.2) 0, rgba(245,200,76,0) 28%), linear-gradient(125deg, #032b3d 0%, #064c61 56%, #087e91 100%); }
.hero::before { content: ""; position: absolute; inset: 0 0 auto; height: 13px; opacity: .75; background: repeating-linear-gradient(135deg, var(--sun) 0 14px, var(--coral) 14px 28px, transparent 28px 42px, rgba(255,255,255,.75) 42px 56px); }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 9px; background: linear-gradient(90deg, var(--coral) 0 20%, var(--sun) 20% 52%, #8ee0e3 52% 78%, var(--coral) 78%); }
.hero-copy { max-width: 840px; position: relative; z-index: 2; }
.hero-welcome { display: flex; align-items: baseline; gap: 13px; margin: 0 0 17px; color: white; }
.hero-welcome span { color: var(--sun); font: 700 1.38rem/1 Georgia, "Times New Roman", serif; }
.hero-welcome b { color: #bfe9eb; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow, .mini-eyebrow { margin: 0 0 14px; color: var(--coral); font-size: .8rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; line-height: 1.05; font-family: Georgia, "Times New Roman", serif; }
h1 { margin-bottom: 24px; color: white; font-size: clamp(3.4rem, 5vw, 5.8rem); letter-spacing: -.055em; max-width: 900px; text-wrap: balance; }
h1 span { color: var(--sun); }
h2 { margin-bottom: 20px; color: var(--ocean); font-size: clamp(2.5rem, 4.4vw, 5rem); letter-spacing: -.045em; }
h3 { font-size: 1.55rem; }
.hero .eyebrow { color: #ff826d; }
.hero-lede { max-width: 670px; margin: 0 0 30px; color: #d2edef; font-size: clamp(1.1rem, 1.5vw, 1.3rem); }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 12px 23px; border-radius: 999px; font-weight: 850; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.hero .button-primary { background: var(--sun); color: var(--ocean-deep); box-shadow: 0 12px 28px rgba(0,0,0,.2); }
.hero .button-secondary { background: rgba(255,255,255,.04); color: white; border: 2px solid rgba(255,255,255,.75); }
.button-sun { margin-top: 38px; background: var(--sun); color: var(--ocean-deep); }
.play { font-size: .75rem; }
.on-air { display: flex; align-items: center; gap: 13px; margin-top: 40px; }
.on-air div { display: flex; flex-direction: column; }
.hero .on-air strong { color: white; }
.hero .on-air span:last-child { color: #b9dfe2; font-size: .9rem; }
.signal { width: 13px; height: 13px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 7px rgba(233,88,63,.15); animation: pulse 2s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 13px rgba(233,88,63,0); } }
.hero-visual { min-height: 520px; position: relative; display: grid; place-items: center; }
.hero-visual::before { content: ""; position: absolute; z-index: 0; width: min(670px, 112%); aspect-ratio: 1; border-radius: 50%; background: repeating-conic-gradient(from 0deg, var(--sun) 0 12deg, var(--coral) 12deg 24deg, var(--sand) 24deg 36deg, var(--wave) 36deg 48deg); box-shadow: 0 30px 60px rgba(0,0,0,.24); }
.hero-visual img { position: relative; z-index: 2; width: min(560px, 91%); aspect-ratio: 1; object-fit: cover; object-position: center 30%; border: 9px solid var(--sand); border-radius: 50%; box-shadow: 0 30px 80px rgba(0,0,0,.3); }
.hero-profile { position: absolute; left: 2%; bottom: 8%; z-index: 4; min-width: 245px; margin: 0; padding: 13px 18px; color: var(--ocean-deep); border-left: 4px solid var(--coral); border-radius: 5px 14px 14px 5px; background: rgba(255,248,232,.96); box-shadow: 0 14px 30px rgba(0,0,0,.22); }
.hero-profile strong, .hero-profile span { display: block; }
.hero-profile strong { font: 700 1.22rem/1.15 Georgia, "Times New Roman", serif; }
.hero-profile span { margin-top: 4px; color: var(--wave); font-size: .69rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.sun-disc { position: absolute; z-index: 1; width: min(632px, 106%); aspect-ratio: 1; border-radius: 50%; background: linear-gradient(145deg, #ffe78a, var(--sun)); box-shadow: inset 0 0 0 6px rgba(255,255,255,.5); opacity: .98; }
.hero-stamp { position: absolute; right: 0; bottom: 2%; z-index: 4; width: 150px; height: 150px; margin: 0; padding: 25px 22px; border-radius: 50%; color: white; background: radial-gradient(circle, #f2634b 0 70%, transparent 71%), repeating-conic-gradient(from -5deg, var(--sun) 0 10deg, var(--sand) 10deg 20deg, var(--coral) 20deg 30deg, var(--wave) 30deg 40deg); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 0; text-align: center; transform: rotate(-4deg); box-shadow: 0 0 0 4px rgba(255,248,232,.92), 0 16px 34px rgba(0,0,0,.24); }
.hero-stamp::before { content: ""; position: absolute; inset: 20px; border: 2px solid rgba(255,255,255,.76); border-radius: 50%; box-shadow: inset 0 0 0 3px rgba(255,255,255,.08); }
.hero-stamp strong, .hero-stamp span { position: relative; z-index: 1; display: block; }
.hero-stamp strong { font: 700 3.35rem/.88 Georgia, serif; }
.hero-stamp .stamp-kicker { max-width: 92px; margin-bottom: 3px; font-size: .5rem; font-weight: 900; line-height: 1.15; letter-spacing: .08em; text-transform: uppercase; }
.hero-stamp .stamp-years { max-width: 76px; margin-top: 6px; font-size: .62rem; font-weight: 900; line-height: 1.08; letter-spacing: .04em; text-transform: uppercase; }

.recognition-section { padding: 48px 7vw 50px; border-top: 1px solid rgba(7,59,82,.08); border-bottom: 1px solid var(--line); background: #fffdf7; text-align: center; }
.recognition-inner { max-width: 820px; margin: 0 auto; }
.recognition-section .eyebrow { margin-bottom: 20px; }
.recognition-badges { display: flex; align-items: flex-start; justify-content: center; gap: clamp(28px, 5vw, 58px); }
.recognition-badge { width: min(210px, 28vw); margin: 0; }
.badge-crop { display: block; width: 100%; overflow: hidden; aspect-ratio: 1; border-radius: 50%; filter: drop-shadow(0 12px 18px rgba(3,43,61,.16)); }
.badge-crop img { width: 200%; max-width: none; height: 100%; object-fit: cover; }
.badge-crop-left img { object-position: left center; }
.badge-crop-right img { object-position: right center; transform: translateX(-50%); }
.recognition-badge figcaption { margin-top: 14px; color: var(--ocean); font-size: .82rem; font-weight: 700; line-height: 1.4; }
.recognition-badge figcaption strong { display: block; color: var(--coral); font-size: .75rem; letter-spacing: .07em; text-transform: uppercase; }
.recognition-line { margin: 25px 0 6px; color: var(--ocean); font: 700 clamp(1.3rem, 2.1vw, 1.75rem)/1.2 Georgia, "Times New Roman", serif; }
.recognition-note { max-width: 650px; margin: 0 auto; color: var(--muted); font-size: .96rem; line-height: 1.55; }
.recognition-service { max-width: 650px; margin: 11px auto 0; color: var(--ocean); font-size: .91rem; font-weight: 650; line-height: 1.5; }
.recognition-service strong { color: var(--coral); }
.recognition-section--mission { grid-column: 1 / -1; width: 100%; padding: 34px clamp(22px, 4vw, 52px) 36px; border: 1px solid rgba(255,255,255,.17); border-radius: 26px; background: rgba(2,31,44,.38); box-shadow: 0 20px 55px rgba(2,31,44,.2); }
.recognition-section--mission .recognition-inner { max-width: 900px; }
.recognition-section--mission .recognition-badge { width: min(180px, 24vw); }
.recognition-section--mission .recognition-badge figcaption { color: white; }
.recognition-section--mission .recognition-badge figcaption strong { color: var(--sun); }
.recognition-section--mission .recognition-line { color: white; }
.recognition-section--mission .recognition-note { color: #c8e5e8; }
.recognition-section--mission .recognition-service { color: white; }
.recognition-section--mission .recognition-service strong { color: var(--sun); }

.podcast-player-section { padding-top: 70px; padding-bottom: 70px; color: white; background: var(--ocean-deep); }
.podcast-player-shell { display: grid; grid-template-columns: 1.25fr .75fr; max-width: 1320px; margin: 0 auto; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 28px; background: #06384c; box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.podcast-player-main { display: grid; grid-template-columns: 260px 1fr; gap: 34px; align-items: center; padding: 34px; background: linear-gradient(135deg, rgba(8,126,145,.42), rgba(7,59,82,.3)); }
.podcast-cover { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 20px; box-shadow: 0 18px 45px rgba(0,0,0,.32); }
.podcast-now-playing .eyebrow { margin-bottom: 9px; color: var(--sun); }
.podcast-now-playing h2 { margin-bottom: 7px; color: white; font-size: clamp(2rem, 3.1vw, 3.6rem); }
.show-name { margin: 0 0 20px; color: #a9dce1; font-weight: 700; }
.current-episode { min-height: 93px; }
.current-episode > span { color: var(--sun); font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.current-episode h3 { margin: 5px 0 3px; color: white; font: 750 1.18rem/1.3 ui-sans-serif, system-ui, sans-serif; }
.current-episode p { margin: 0; color: #a9cbd0; font-size: .85rem; }
#podcast-audio { width: 100%; margin-top: 18px; color-scheme: dark; }
.podcast-links { display: flex; gap: 22px; margin-top: 15px; }
.podcast-links a { color: #d9f7f8; font-size: .84rem; font-weight: 800; text-decoration: none; }
.podcast-links a:hover { color: var(--sun); }
.episode-queue { padding: 27px 24px; background: rgba(2,31,44,.72); }
.queue-heading { display: flex; justify-content: space-between; gap: 12px; margin: 0 5px 13px; color: #b9d9dd; font-size: .74rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.queue-heading span:last-child { color: var(--sun); font-size: .65rem; }
#episode-list { max-height: 590px; padding-right: 5px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--sun) rgba(255,255,255,.08); }
#episode-list::-webkit-scrollbar { width: 8px; }
#episode-list::-webkit-scrollbar-track { background: rgba(255,255,255,.08); border-radius: 999px; }
#episode-list::-webkit-scrollbar-thumb { background: var(--sun); border-radius: 999px; }
.episode-choice { width: 100%; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; padding: 15px 11px; border: 0; border-top: 1px solid rgba(255,255,255,.1); color: white; background: transparent; text-align: left; cursor: pointer; border-radius: 12px; }
.episode-choice:hover, .episode-choice:focus-visible { background: rgba(255,255,255,.08); outline: none; }
.episode-choice.active { background: rgba(38,184,202,.15); }
.episode-play { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--ocean-deep); background: var(--sun); font-size: .65rem; }
.episode-choice b, .episode-choice small { display: block; }
.episode-choice b { overflow: hidden; color: white; font-size: .88rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.episode-choice small { margin-top: 4px; color: #94bbc1; font-size: .72rem; }

section { padding: 110px 7vw; }
.section-heading { max-width: 880px; margin-bottom: 48px; }
.section-heading > p:not(.eyebrow) { max-width: 720px; font-size: 1.1rem; color: var(--muted); }
.section-heading.light h2, .section-heading.light p:not(.eyebrow) { color: white; }
.section-heading.light p:not(.eyebrow) { color: #c7e9ed; }
.listen-section { background: var(--ocean); color: white; }
.listen-section .eyebrow, .videos-section .eyebrow { color: var(--sun); }
.listen-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 24px; max-width: 1260px; }
.player-card { min-width: 0; padding: 26px; border-radius: var(--radius); background: #f6fbfa; color: var(--ink); box-shadow: 0 18px 50px rgba(0,0,0,.12); }
.card-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; color: var(--muted); font-size: .9rem; }
.card-label strong { color: var(--ocean); }
.spotify-card iframe { border-radius: 14px; }
.live-card { display: flex; flex-direction: column; justify-content: space-between; background: var(--sun); }
.live-card h3 { margin-bottom: 12px; font-size: 2.4rem; color: var(--ocean); }
.live-card p { color: #40545c; }
.live-time { display: flex; align-items: center; gap: 14px; padding: 18px 0; border-top: 1px solid rgba(7,59,82,.25); border-bottom: 1px solid rgba(7,59,82,.25); }
.live-time strong { font: 700 4rem/1 Georgia, serif; }
.live-time span { font-weight: 800; line-height: 1.35; }
.text-link { font-weight: 850; text-decoration: none; }

.village-section { background: #fffdf7; }
.video-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.podcast-grid { grid-template-columns: 1.15fr .85fr; }
.video-card { overflow: hidden; border-radius: var(--radius); background: white; box-shadow: 0 14px 50px rgba(7,59,82,.1); }
.video-card.featured { grid-row: span 2; }
.video-frame { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #031f2b; }
.video-frame iframe { width: 100%; height: 100%; }
.video-meta { padding: 20px 22px; }
.video-meta span { color: var(--coral); font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.video-meta h3 { margin: 6px 0 2px; color: var(--ocean); }

.story-section { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(45px, 7vw, 110px); background: var(--sand); }
.story-image-wrap { position: relative; }
.story-image-wrap::before { content: ""; position: absolute; inset: -20px 24px 20px -20px; z-index: 0; border: 3px solid var(--sky); border-radius: 34px; }
.story-image-wrap img { position: relative; z-index: 1; width: 100%; border-radius: var(--radius); box-shadow: var(--shadow); }
.image-watermarked { position: relative; }
.image-watermarked img { display: block; }
.image-watermark { position: absolute; right: 18px; bottom: 16px; z-index: 3; padding: 7px 11px; color: white; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; background: rgba(2,39,51,.7); box-shadow: 0 5px 18px rgba(0,0,0,.24); backdrop-filter: blur(7px); font: 800 .72rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .07em; text-transform: lowercase; }
.story-intro { color: var(--ocean); font-size: 1.22rem; font-weight: 700; }
.credentials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 34px 0 0; padding: 24px 0 0; list-style: none; border-top: 1px solid var(--line); }
.credentials li { padding-right: 18px; }
.credentials strong, .credentials span { display: block; }
.credentials strong { color: var(--coral); font: 700 1.5rem/1.2 Georgia, serif; }
.credentials span { margin-top: 5px; color: var(--muted); font-size: .82rem; line-height: 1.4; }

.mission-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 7vw, 100px); align-items: center; color: white; background: linear-gradient(135deg, var(--leaf) 0%, var(--ocean-deep) 76%); border-top: 1px solid rgba(245,200,76,.42); border-bottom: 1px solid rgba(245,200,76,.3); box-shadow: inset 0 18px 60px rgba(38,184,202,.08); }
.mission-section h2 { color: white; }
.mission-section .eyebrow { color: var(--sun); }
.mission-image-wrap { overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); }
.mission-image-wrap > img { width: 100%; aspect-ratio: 4 / 4.25; object-fit: cover; border-radius: var(--radius); }
blockquote { margin: 36px 0 0; padding-left: 24px; border-left: 4px solid var(--sun); font: italic 700 clamp(1.35rem, 2vw, 2rem)/1.4 Georgia, serif; color: #fff7cf; }

.videos-section { text-align: left; background: var(--ocean-deep); }
.video-directory-tools { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.video-search { min-width: min(390px, 100%); display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 16px; color: var(--sun); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.07); }
.video-search input { width: 100%; border: 0; outline: 0; color: white; background: transparent; font: inherit; }
.video-search input::placeholder { color: #9dbdc2; }
.video-filters { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.video-filter { min-height: 42px; padding: 8px 15px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #d9f0f2; background: transparent; font: 800 .78rem/1 ui-sans-serif, system-ui, sans-serif; cursor: pointer; }
.video-filter:hover, .video-filter:focus-visible { border-color: var(--sun); outline: none; }
.video-filter.active { color: var(--ocean-deep); border-color: var(--sun); background: var(--sun); }
.video-directory-meta { display: flex; justify-content: space-between; margin-bottom: 17px; color: #92b9bf; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.video-directory-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.video-directory-card { display: block; width: 100%; overflow: hidden; padding: 0; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; color: white; background: #06384c; text-align: left; cursor: pointer; box-shadow: 0 14px 35px rgba(0,0,0,.16); transition: transform .2s ease, border-color .2s ease; }
.video-directory-card:hover, .video-directory-card:focus-visible { transform: translateY(-4px); border-color: rgba(245,200,76,.7); outline: none; }
.video-thumb { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #000; }
.video-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease; }
.video-thumb-contain img { object-fit: contain; }
.video-directory-card:hover .video-thumb img { transform: scale(1.035); }
.video-thumb-play { position: absolute; left: 14px; bottom: 14px; width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; color: var(--ocean-deep); background: var(--sun); box-shadow: 0 8px 22px rgba(0,0,0,.28); font-size: .85rem; }
.video-card-copy { display: block; min-height: 124px; padding: 17px 18px 19px; }
.video-card-copy span { color: var(--sun); font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.video-card-copy h3 { display: -webkit-box; margin: 7px 0 0; overflow: hidden; color: white; font: 760 1rem/1.4 ui-sans-serif, system-ui, sans-serif; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.video-empty { padding: 40px; color: #c1dce0; border: 1px dashed rgba(255,255,255,.2); border-radius: 18px; text-align: center; }
.video-modal { width: min(1100px, calc(100% - 34px)); max-width: none; padding: 0; border: 0; border-radius: 22px; color: white; background: #042d3f; box-shadow: 0 35px 100px rgba(0,0,0,.62); }
.video-modal::backdrop { background: rgba(0,18,27,.82); backdrop-filter: blur(9px); }
.video-modal-panel { overflow: hidden; border: 1px solid rgba(245,200,76,.35); border-radius: 22px; }
.video-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 22px; }
.video-modal-header span { color: var(--sun); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.video-modal-header h2 { margin: 5px 0 0; color: white; font: 760 clamp(1rem, 2.2vw, 1.4rem)/1.3 ui-sans-serif, system-ui, sans-serif; letter-spacing: 0; }
.video-modal-close { flex: 0 0 auto; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: white; background: rgba(255,255,255,.08); font-size: 1.8rem; line-height: 1; cursor: pointer; }
.video-modal-close:hover, .video-modal-close:focus-visible { color: var(--ocean-deep); background: var(--sun); outline: none; }
.video-modal-frame { aspect-ratio: 16 / 9; background: #000; }
.video-modal-frame iframe { width: 100%; height: 100%; }

@media (max-width: 1180px) {
  .video-directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.directory-section { position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 8% 8%, rgba(38,184,202,.2), transparent 27%), radial-gradient(circle at 92% 22%, rgba(245,200,76,.16), transparent 24%), var(--ocean-deep); }
.directory-section::before { content: ""; position: absolute; inset: 0 0 auto; height: 10px; background: repeating-linear-gradient(135deg, var(--sun) 0 18px, var(--coral) 18px 36px, var(--sand) 36px 54px, var(--wave) 54px 72px); }
.directory-section::after { content: "🌺"; position: absolute; top: 36px; right: 5vw; color: rgba(255,255,255,.08); font-size: clamp(6rem, 12vw, 11rem); line-height: 1; transform: rotate(12deg); pointer-events: none; }
.directory-intro { position: relative; z-index: 1; max-width: 980px; margin: 0 auto 38px; text-align: center; }
.directory-kicker { margin: 0 0 13px; color: var(--sun); font-size: .76rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.directory-intro h2 { margin-bottom: 12px; color: white; font-size: clamp(2.7rem, 5.2vw, 5.3rem); }
.directory-subheadline { margin: 0 0 16px; color: var(--sun); font: 700 clamp(1.35rem, 2.3vw, 2rem)/1.2 Georgia, serif; }
.directory-description { max-width: 820px; margin: 0 auto; color: #c8e6e8; font-size: 1.08rem; }
.directory-categories { position: relative; z-index: 1; inset: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 12px; max-width: 1160px; margin: 0 auto 68px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.directory-categories a { min-width: 0; min-height: 62px; display: flex; align-items: center; justify-content: flex-start; gap: 10px; padding: 13px 16px; color: var(--ocean-deep); border: 1px solid rgba(255,255,255,.42); border-radius: 18px; background: var(--sand); box-shadow: 0 10px 24px rgba(0,0,0,.16); font-size: 1.08rem; font-weight: 850; line-height: 1.2; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.directory-categories a:hover, .directory-categories a:focus-visible { transform: translateY(-3px); background: var(--sun); outline: none; }
.directory-categories span { min-width: 0; }
.directory-featured { position: relative; z-index: 1; }
.directory-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.2); }
.directory-heading .eyebrow { margin: 0; color: #72d8df; }
.directory-heading h3 { margin: 0; color: white; font-size: clamp(2rem, 3.7vw, 3.6rem); }
.directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.business-card { min-width: 0; min-height: 330px; display: flex; flex-direction: column; padding: 25px; color: var(--ink); border: 1px solid rgba(255,255,255,.35); border-top: 5px solid var(--coral); border-radius: 20px; background: #fffdf7; box-shadow: 0 17px 38px rgba(0,0,0,.18); transition: transform .2s ease, box-shadow .2s ease; }
.business-card:nth-child(3n+2) { border-top-color: var(--sun); }
.business-card:nth-child(3n+3) { border-top-color: var(--sky); }
.business-card-shop { background: linear-gradient(145deg, #fffdf7, #fff4cf); }
.business-card-polynesian { background: linear-gradient(145deg, #fffdf7, #e9fbfa); }
.business-card:hover { transform: translateY(-4px); box-shadow: 0 23px 50px rgba(0,0,0,.24); }
.business-category { min-height: 36px; margin-bottom: 12px; color: var(--coral); font-size: .68rem; font-weight: 900; letter-spacing: .1em; line-height: 1.35; text-transform: uppercase; }
.business-card h4 { margin: 0 0 12px; color: var(--ocean); font: 700 1.55rem/1.12 Georgia, "Times New Roman", serif; }
.business-card > p:not(.business-location) { margin: 0 0 17px; color: var(--muted); line-height: 1.5; }
.business-location { display: flex; align-items: flex-start; gap: 8px; margin: auto 0 17px; color: var(--ocean); font-size: .82rem; font-weight: 750; line-height: 1.45; }
.business-location span { color: var(--coral); font-size: 1rem; }
.business-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.business-actions a, .business-link-unavailable { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; border: 2px solid var(--wave); border-radius: 999px; color: var(--wave); font-size: .78rem; font-weight: 900; text-align: center; text-decoration: none; }
.business-actions a:last-child { color: white; background: var(--wave); }
.business-actions a:hover, .business-actions a:focus-visible { border-color: var(--coral); color: white; background: var(--coral); outline: none; }
.business-link-unavailable { cursor: default; color: #73878e; border-color: #ccd6d8; background: #eef2f2; font-size: .7rem; }
.pahrump-callout { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 36px; margin: 42px auto 0; padding: 30px 32px; border: 1px solid rgba(142,224,227,.45); border-radius: 22px; background: linear-gradient(135deg, rgba(38,184,202,.14), rgba(245,200,76,.09)); }
.pahrump-callout .eyebrow { margin: 0 0 8px; color: var(--sun); }
.pahrump-callout h3 { margin: 0 0 8px; color: white; font-size: clamp(1.6rem, 2.6vw, 2.35rem); }
.pahrump-callout p:not(.eyebrow) { max-width: 760px; margin: 0; color: #c8e6e8; }
.pahrump-callout .button { flex: 0 0 auto; min-height: 52px; color: var(--ocean-deep); background: #8ee0e3; white-space: nowrap; }
.directory-cta { position: relative; z-index: 1; max-width: 850px; margin: 66px auto 0; padding: 38px; border: 1px solid rgba(255,255,255,.25); border-radius: 26px; background: rgba(255,255,255,.08); text-align: center; box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.directory-cta p { max-width: 680px; margin: 22px auto; color: #d4ecee; }
.directory-cta .button { min-height: 54px; }
.directory-explore { color: var(--ocean-deep); background: var(--sun); box-shadow: 0 13px 28px rgba(0,0,0,.18); }
.directory-listing { color: white; border: 2px solid #8ee0e3; background: transparent; }
.directory-listing:hover { color: var(--ocean-deep); background: #8ee0e3; }
.directory-note { position: relative; z-index: 1; max-width: 880px; margin: 25px auto 0; color: #8fb9be; font-size: .78rem; text-align: center; }

.connect-section { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 70px; background: var(--sun); }
.connect-section h2 { max-width: 700px; }
.connect-section p:not(.eyebrow) { max-width: 650px; }
.social-links { border-top: 2px solid var(--ocean); }
.social-links a { display: flex; justify-content: space-between; align-items: center; padding: 17px 4px; border-bottom: 1px solid rgba(7,59,82,.4); font: 700 1.45rem/1.2 Georgia, serif; text-decoration: none; }
.social-links a:hover { padding-left: 10px; color: var(--coral); }

.social-feed-section { position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 12% 20%, rgba(38,184,202,.22), transparent 30%), radial-gradient(circle at 92% 82%, rgba(245,200,76,.16), transparent 28%), linear-gradient(145deg, var(--ocean-deep), var(--leaf)); }
.social-feed-section::before { content: ""; position: absolute; inset: 0 0 auto; height: 10px; background: repeating-linear-gradient(135deg, var(--sun) 0 18px, var(--coral) 18px 36px, var(--sand) 36px 54px, var(--wave) 54px 72px); }
.social-feed-section::after { content: ""; position: absolute; width: 340px; height: 340px; right: -180px; top: 80px; border: 42px solid rgba(255,255,255,.035); border-radius: 50%; box-shadow: 0 0 0 42px rgba(245,200,76,.025); pointer-events: none; }
.social-feed-section .section-heading { position: relative; z-index: 1; max-width: 920px; margin-right: auto; margin-left: auto; text-align: center; }
.social-feed-section .section-heading .eyebrow { color: #ff806b; }
.social-feed-section .section-heading h2 { color: white; }
.social-feed-section .section-heading > p:not(.eyebrow) { max-width: 680px; margin-right: auto; margin-left: auto; color: #c7e5e7; }
.social-button-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 1240px; margin: 0 auto; }
.social-button { min-width: 0; min-height: 112px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 5px 14px; padding: 22px 24px; color: var(--ocean-deep); border: 1px solid rgba(255,255,255,.5); border-radius: 20px; background: var(--sun); box-shadow: 0 15px 34px rgba(0,0,0,.2); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.social-button span { grid-column: 1; font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.social-button strong { grid-column: 1; overflow-wrap: anywhere; font: 700 1.1rem/1.2 Georgia, serif; }
.social-button b { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 1.25rem; }
.social-button:hover, .social-button:focus-visible { transform: translateY(-4px); color: white; background: var(--coral); box-shadow: 0 20px 42px rgba(0,0,0,.28); outline: none; }
.social-button-tiktok { background: #8ee0e3; }
.social-button-x { color: white; background: #111820; }

.faq-section { background: #fffdf7; }
.faq-section .section-heading { margin-bottom: 32px; }
.faq-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.faq-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 10px 32px rgba(7,59,82,.06); }
.faq-grid h3 { margin-bottom: 12px; color: var(--ocean); font-size: 1.35rem; line-height: 1.2; }
.faq-grid p { margin: 0; color: var(--muted); }

footer { padding: 60px 7vw 28px; color: #d2e9eb; background: #021f2c; display: grid; grid-template-columns: 1fr auto; gap: 40px; }
.footer-logo { width: 230px; padding: 9px 10px 11px; border-radius: 12px; background: rgba(255,255,255,.96); }
.footer-logo .brand-mark { width: 200px; height: 49px; }
.footer-logo .brand-mark img { width: 200px; }
.footer-logo .brand-domain { font-size: .76rem; }
.footer-brand p { color: #a8c9ce; }
.footer-contact { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.footer-contact span:first-child { color: var(--sun); font-size: .8rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.footer-contact a { color: white; font: 700 1.65rem Georgia, serif; text-decoration: none; }
.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: .82rem; color: #86acb2; }
.footer-bottom a { color: white; }
.design-credit { align-self: center; color: #789da4; font-size: .72rem; font-weight: 650; letter-spacing: .04em; }

@media (max-width: 900px) {
  .site-header { height: 76px; }
  .site-header .brand-lockup { width: 165px; }
  .site-header .brand-mark { width: 155px; height: 39px; }
  .site-header .brand-mark img { width: 155px; transform: translateY(-6px); }
  .site-header .brand-domain { font-size: .64rem; }
  .menu-toggle { display: block; }
  .pahrump-callout { grid-template-columns: 1fr; gap: 22px; }
  .pahrump-callout .button { width: 100%; white-space: normal; }
  nav { display: none; position: absolute; left: 0; right: 0; top: 76px; padding: 24px 5vw; align-items: stretch; flex-direction: column; background: var(--ocean-deep); border-bottom: 1px solid rgba(255,255,255,.14); box-shadow: 0 18px 30px rgba(3,43,61,.22); }
  nav.open { display: flex; }
  .nav-button { text-align: center; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 58px; }
  .hero-visual { min-height: 430px; }
  .hero-visual img { width: min(480px, 90%); }
  .hero-profile { left: 7%; }
  .hero-stamp { right: 8%; }
  section { padding: 82px 6vw; }
  .podcast-player-shell { grid-template-columns: 1fr; }
  .podcast-player-main { grid-template-columns: 220px 1fr; }
  .listen-grid, .story-section, .mission-section, .connect-section { grid-template-columns: 1fr; }
  .social-button-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faq-grid { grid-template-columns: 1fr; }
  .podcast-grid { grid-template-columns: 1fr 1fr; }
  .video-card.featured { grid-column: 1 / -1; grid-row: auto; }
  .video-directory-tools { align-items: stretch; flex-direction: column; }
  .video-filters { justify-content: flex-start; }
  .video-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-copy, .hero-visual, .podcast-player-main, .podcast-now-playing,
  .episode-queue, .player-card, .story-copy, .mission-copy,
  .mission-image-wrap, .connect-section > div { min-width: 0; }
}

@media (max-width: 620px) {
  .sponsor-bar { align-items: center; gap: 3px; flex-direction: column; min-height: 48px; padding: 8px 18px; line-height: 1.3; text-align: center; }
  .site-header { height: 68px; padding: 0 18px; }
  .site-header .brand-lockup { width: 150px; }
  .site-header .brand-mark { width: 142px; height: 36px; }
  .site-header .brand-mark img { width: 142px; transform: translateY(-5px); }
  .site-header .brand-domain { font-size: .59rem; }
  nav { top: 68px; padding: 18px; gap: 8px; }
  nav a { min-height: 44px; display: flex; align-items: center; padding: 8px 10px; font-size: 1rem; }
  .nav-button { justify-content: center; }
  h1 { margin-bottom: 18px; font-size: clamp(2.65rem, 13vw, 4rem); line-height: .98; }
  h2 { margin-bottom: 16px; font-size: clamp(2.15rem, 10vw, 3.15rem); line-height: 1.02; }
  h3 { font-size: 1.35rem; }
  .hero { gap: 28px; padding: 42px 20px 58px; background: radial-gradient(circle at 50% 18%, rgba(245,200,76,.22), transparent 29%), linear-gradient(155deg, #032b3d 0%, #064c61 60%, #087e91 100%); }
  .hero-visual { order: 1; min-height: 285px; }
  .hero-copy { order: 2; }
  .hero-visual::before { width: min(326px, 93vw); }
  .hero-visual img { width: min(278px, 80vw); border-width: 7px; }
  .hero-profile { left: max(0px, calc(50% - 164px)); bottom: 4px; min-width: 196px; padding: 10px 13px; }
  .hero-profile strong { font-size: 1rem; }
  .hero-profile span { font-size: .59rem; }
  .sun-disc { width: min(310px, 89vw); }
  .hero-stamp { width: 108px; height: 108px; right: max(0px, calc(50% - 165px)); bottom: -4px; padding: 18px 15px; }
  .hero-stamp::before { inset: 14px; border-width: 1px; }
  .hero-stamp strong { font-size: 2.35rem; }
  .hero-stamp .stamp-kicker { max-width: 72px; font-size: .4rem; }
  .hero-stamp .stamp-years { max-width: 58px; margin-top: 3px; font-size: .48rem; }
  .hero-lede { margin-bottom: 24px; font-size: 1.05rem; line-height: 1.6; }
  .hero-welcome { margin-bottom: 14px; }
  .hero-welcome span { font-size: 1.2rem; }
  .hero-welcome b { font-size: .65rem; }
  .hero-actions .button { width: 100%; }
  .button { min-height: 50px; }
  .on-air { align-items: flex-start; margin-top: 28px; }
  .on-air span:last-child { font-size: .83rem; line-height: 1.4; }
  .recognition-section { padding: 36px 18px 38px; }
  .recognition-section .eyebrow { margin-bottom: 16px; }
  .recognition-badges { gap: 14px; }
  .recognition-badge { width: min(142px, calc(50vw - 28px)); }
  .recognition-badge figcaption { margin-top: 10px; font-size: .72rem; }
  .recognition-badge figcaption strong { font-size: .67rem; }
  .recognition-line { margin-top: 21px; font-size: 1.28rem; }
  .recognition-note { font-size: .9rem; }
  .recognition-service { font-size: .86rem; }
  .recognition-section--mission { grid-column: auto; padding: 28px 18px 30px; border-radius: 20px; }
  .recognition-section--mission .recognition-badge { width: min(142px, calc(50vw - 44px)); }
  section { padding: 58px 20px; }
  .section-heading { margin-bottom: 32px; }
  .section-heading > p:not(.eyebrow) { font-size: 1rem; }
  .podcast-player-section { padding: 36px 14px; }
  .podcast-player-shell { border-radius: 18px; }
  .podcast-player-main { grid-template-columns: 1fr; gap: 24px; padding: 20px; }
  .podcast-now-playing h2 { font-size: 2.15rem; }
  #episode-list { max-height: 420px; padding-right: 0; }
  .podcast-cover { width: min(220px, 70vw); margin: 0 auto; }
  .podcast-now-playing { text-align: left; }
  .podcast-links { flex-wrap: wrap; justify-content: flex-start; gap: 10px 20px; }
  .current-episode { min-height: 0; }
  #podcast-audio { min-width: 0; }
  .episode-queue { padding: 20px 14px; }
  .queue-heading { align-items: flex-start; flex-direction: column; gap: 2px; }
  .episode-choice { grid-template-columns: 32px minmax(0, 1fr); min-height: 64px; padding: 13px 8px; }
  .episode-choice b { overflow: visible; text-overflow: initial; white-space: normal; }
  .listen-grid { gap: 18px; }
  .player-card { padding: 18px; border-radius: 18px; }
  .spotify-card iframe { height: 352px; }
  .podcast-grid, .archive-grid { grid-template-columns: 1fr; }
  .video-card.featured { grid-column: auto; }
  .video-meta { padding: 17px 18px; }
  .story-section, .mission-section, .connect-section { gap: 34px; }
  .story-image-wrap { margin: 10px 6px 0 12px; }
  .story-image-wrap::before { inset: -12px 12px 12px -12px; border-radius: 24px; }
  .story-image-wrap img, .mission-image-wrap > img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
  .image-watermark { right: 10px; bottom: 10px; padding: 6px 9px; font-size: .64rem; }
  blockquote { margin-top: 26px; padding-left: 17px; font-size: 1.3rem; }
  .video-directory-tools { gap: 14px; }
  .video-search { width: 100%; min-width: 0; }
  .video-filters { gap: 7px; }
  .video-filter { min-height: 44px; padding: 9px 13px; }
  .video-directory-grid { grid-template-columns: 1fr; }
  .directory-section { padding-left: 16px; padding-right: 16px; }
  .directory-section::after { top: 54px; right: -24px; font-size: 7rem; }
  .directory-intro { margin-bottom: 30px; text-align: left; }
  .directory-intro h2 { font-size: clamp(2.45rem, 12vw, 3.35rem); }
  .directory-subheadline { font-size: 1.35rem; }
  .directory-description { font-size: .98rem; }
  .directory-categories { grid-template-columns: 1fr; gap: 9px; margin-bottom: 48px; }
  .directory-categories a { min-height: 54px; padding: 11px 14px; font-size: .96rem; }
  .directory-heading { align-items: flex-start; flex-direction: column; }
  .directory-heading h3 { font-size: 2.35rem; }
  .directory-grid { grid-template-columns: 1fr; }
  .business-card { min-height: 0; padding: 22px; }
  .business-category { min-height: 0; }
  .business-location { margin-top: 8px; }
  .directory-cta { margin-top: 46px; padding: 28px 18px; }
  .directory-cta .button { width: 100%; padding-left: 15px; padding-right: 15px; }
  .video-directory-meta { gap: 10px; flex-direction: column; }
  .video-modal { width: calc(100% - 20px); }
  .video-modal-header { padding: 15px; }
  .video-modal-header h2 { font-size: 1rem; }
  .credentials { grid-template-columns: 1fr; gap: 18px; }
  .credentials li { display: grid; grid-template-columns: 92px 1fr; gap: 8px; }
  .live-time strong { font-size: 3.3rem; }
  .social-links a { min-height: 56px; font-size: 1.25rem; }
  .social-feed-section .section-heading { text-align: left; }
  .social-button-grid { grid-template-columns: 1fr; }
  .social-button { min-height: 92px; padding: 18px 20px; }
  .faq-grid article { padding: 22px; }
  footer { grid-template-columns: 1fr; padding: 48px 20px 24px; }
  .footer-contact { align-items: flex-start; }
  .footer-contact a { max-width: 100%; overflow-wrap: anywhere; font-size: 1.3rem; }
  .footer-bottom { flex-direction: column; gap: 8px; }
}

@media (max-width: 350px) {
  .recognition-badges { align-items: center; flex-direction: column; }
  .recognition-badge { width: 150px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .signal { animation: none; }
  .button { transition: none; }
}
