@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--forest:#10251b;--deep:#08160f;--green:#17633f;--red:#b52a32;--gold:#e7b84e;--cream:#fff8ea;--ink:#17281d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink)}a{color:inherit;text-decoration:none}.header{min-height:100px;background:var(--deep);color:white;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 5.5%;border-bottom:2px solid var(--gold)}.brand{display:flex;align-items:center;gap:12px;min-width:235px}.brand img{width:70px;height:70px;object-fit:contain;border-radius:50%;background:#fff}.brand span{font-family:'Playfair Display',serif;font-weight:700;font-size:1.15rem;line-height:1.1}.brand b{color:var(--gold)}.brand small{display:block;font:700 .55rem 'DM Sans',sans-serif;letter-spacing:.14em;color:#c4d2c6;margin-top:6px}.header nav{display:flex;gap:25px;font-size:.83rem;font-weight:700}.header nav a:hover{color:var(--gold)}.listen-nav{padding:13px 17px;background:var(--gold);color:#172719;border-radius:3px;font-size:.78rem;font-weight:800;white-space:nowrap}.hero{position:relative;overflow:hidden;min-height:560px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:28px;padding:72px 8% 70px;background:radial-gradient(ellipse at 78% 40%,#24583a 0%,#102b1e 45%,#08170f 100%);color:white}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:38px 38px;opacity:.12;pointer-events:none}.hero-copy{position:relative;z-index:1;max-width:650px}.eyebrow{font-size:.68rem;letter-spacing:.2em;font-weight:800;color:var(--gold);margin:0 0 18px}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,5.3vw,5.4rem);line-height:1.04;letter-spacing:-.04em;margin:0 0 22px}.hero h1 em{color:var(--gold)}.intro{color:#d0ded3;line-height:1.8;max-width:550px;font-size:.96rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;font-size:.81rem;font-weight:800;border-radius:3px;transition:transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--gold);color:#14251a}.secondary{border:1px solid #a8c2ae;color:white}.live-note{display:flex;align-items:center;gap:12px;margin-top:23px}.live-note>span{width:10px;height:10px;border-radius:50%;background:#f04c52;box-shadow:0 0 0 5px #f04c5225}.live-note strong,.live-note small{display:block}.live-note strong{font-size:.68rem;letter-spacing:.13em}.live-note small{color:#b8c9bc;font-size:.75rem;margin-top:5px}.hero-art{position:relative;min-height:390px;display:flex;align-items:center;justify-content:center}.disc{width:min(34vw,330px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#111 0 2px,#292b29 3px 4px,#0b0d0c 5px 7px);border:8px solid #20231f;box-shadow:0 24px 45px #0008;position:relative;animation:none}.disc:after{content:"";position:absolute;inset:12%;border:1px solid #ffffff22;border-radius:50%}.disc-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e7c76c,#a51f2b 70%);border:4px solid #f2d58b;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;text-align:center}.disc-label span{font-family:'Playfair Display',serif;font-weight:800;font-size:2rem}.disc-label small{font-size:.45rem;letter-spacing:.1em}.mic{position:absolute;right:2%;top:8%;font-size:5rem;color:#e8c15d;text-shadow:0 7px 0 #6f411e,0 12px 22px #0008;transform:rotate(13deg)}.equalizer{position:absolute;bottom:22px;display:flex;gap:7px;align-items:center;height:55px}.equalizer i{display:block;width:7px;border-radius:4px;background:linear-gradient(#f6d575,#a51f2b);height:30%}.equalizer i:nth-child(2n){height:70%}.equalizer i:nth-child(3n){height:100%}.art-caption{position:absolute;bottom:-3px;color:#e6c76d;font-size:.62rem;letter-spacing:.2em}.listen{padding:80px 7% 75px;text-align:center;background:var(--cream)}.section-title h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.15rem);margin:0 0 12px}.section-title h2 span{color:var(--red)}.section-title>p:last-child{color:#66766a;line-height:1.7}.player{max-width:900px;margin:32px auto 0;padding:25px;display:flex;align-items:center;gap:20px;text-align:left;background:white;border:1px solid #e7dbc1;border-radius:8px;box-shadow:0 15px 40px #142d1d0d}.player-icon{width:62px;height:62px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#f6e6bf;color:#a9232d;font-size:2rem}.player-info{flex:1}.player-info small{font-size:.6rem;color:#a3232d;letter-spacing:.15em;font-weight:800}.player-info h3{font-family:'Playfair Display',serif;font-size:1.35rem;margin:6px 0}.player-info p{font-size:.82rem;color:#6d7b70;margin:0}.player audio{width:270px;max-width:100%}.stream-note{font-size:.75rem;color:#78857a;margin-top:16px}.stream-note a{color:#a5232e;text-decoration:underline}.music{padding:15px 7% 85px;background:var(--cream);text-align:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.music-card{border-radius:8px;padding:30px 23px;color:white;border:2px solid var(--gold);box-shadow:0 12px 25px #172c1b0d}.music-card.red{background:linear-gradient(145deg,#b52a32,#5d121a)}.music-card.gold{background:linear-gradient(145deg,#b77b19,#65410e)}.music-card.green{background:linear-gradient(145deg,#17633f,#09281b)}.music-card .icon{font-size:2.3rem}.music-card h3{font-family:'Playfair Display',serif;font-size:1.3rem;margin:14px 0 8px}.music-card p{color:#f6ead6;font-size:.84rem;line-height:1.7;margin-bottom:0}.contact{text-align:center;background:#102b1d;color:white;padding:70px 20px 78px}.contact h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);margin:0 0 12px}.contact>p:not(.eyebrow){color:#c7d7ca;line-height:1.7}.contact .button{margin-top:15px}.contact .email{font-size:.82rem;color:var(--gold)}footer{text-align:center;padding:34px 20px 28px;background:#06130c;color:#dbe6db;border-top:2px solid var(--gold)}.footer-logo{font-family:'Playfair Display',serif;font-weight:800;font-size:1.2rem;letter-spacing:.07em}.footer-logo b{color:var(--gold)}footer p{font-family:'Playfair Display',serif;font-style:italic;color:#b8c8bb}footer small{font-size:.68rem;color:#8fa393}
@media(max-width:850px){.header{flex-wrap:wrap;padding:12px 4%;gap:14px}.header nav{gap:15px}.brand{min-width:0}.hero{grid-template-columns:1fr;padding:55px 7% 70px}.hero-art{min-height:330px}.disc{width:min(62vw,300px)}.cards{gap:12px}.player{flex-wrap:wrap}.player audio{width:100%}}@media(max-width:560px){.header{justify-content:space-between}.brand img{width:55px;height:55px}.brand span{font-size:.95rem}.brand small{font-size:.45rem}.listen-nav{padding:11px 12px;font-size:.68rem}.header nav{order:3;width:100%;justify-content:space-between;font-size:.72rem;gap:8px}.hero{padding:48px 6% 60px}.hero h1{font-size:2.85rem}.intro{font-size:.9rem}.hero-art{min-height:290px}.mic{font-size:4rem}.art-caption{font-size:.5rem}.listen{padding:60px 5%}.player{padding:19px;gap:14px}.player-icon{width:50px;height:50px}.player-info{min-width:160px}.cards{grid-template-columns:1fr}.music{padding:10px 6% 60px}.music-card{padding:25px 20px}.contact{padding:60px 6%}}

/* Supplied Conejo Oldies Radio logo */
.brand img{width:100px;height:76px;object-fit:contain;background:transparent;border-radius:0}
.brand span{display:none}
.station-logo-hero{position:relative;z-index:2;display:block;width:min(100%,440px);height:auto;object-fit:contain;filter:drop-shadow(0 18px 28px #0008);border-radius:8px}
.hero-art{gap:0}
.hero-art .disc,.hero-art .mic,.hero-art .equalizer,.hero-art .art-caption{display:none}
@media(max-width:850px){.brand img{width:84px;height:64px}.station-logo-hero{width:min(90%,390px)}}
@media(max-width:560px){.brand img{width:72px;height:56px}.station-logo-hero{width:min(100%,340px)}.hero-art{min-height:0;margin-top:12px;padding-bottom:10px}}

/* Thousand Oaks, CA weather widget */
.weather-section{padding:76px 7%;background:#f5eddb;border-top:1px solid #e5d7b9;border-bottom:1px solid #e5d7b9}
.weather-wrap{max-width:1050px;margin:0 auto}
.weather-heading{text-align:center;margin-bottom:28px}
.weather-heading h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.1rem);margin:0 0 12px}
.weather-heading h2 span{color:var(--red)}
.weather-heading>p:last-child{color:#66766a;line-height:1.7}
.weather-frame{width:100%;min-height:150px;overflow:hidden;border:1px solid #e0d3b8;border-radius:10px;background:#fff;box-shadow:0 14px 36px #142d1d12;padding:10px}
.weather-widget-box .weatherwidget-io{display:block;min-height:120px;text-decoration:none}
.weather-widget-box iframe{width:100%;border:0}
.weather-credit{text-align:center;font-size:.72rem;color:#78857a;margin-top:12px}
.weather-credit a{color:#a5232e;text-decoration:underline}
@media(max-width:560px){.weather-section{padding:55px 5%}.weather-frame{min-height:150px}}

/* Native weather panel powered by Open-Meteo (no third-party iframe/widget script) */
.weather-frame.weather-widget-box{padding:clamp(16px,3vw,28px);background:#fffdf7;border-color:#e2d5b9;min-height:230px}
.weather-loading{text-align:center;padding:35px 12px;color:#52675a;font-weight:700}
.weather-current{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:8px 5px 24px;border-bottom:1px solid #e9dfca}
.weather-now-icon{font-size:clamp(2.8rem,6vw,4.5rem);line-height:1}
.weather-place{font-size:.68rem;letter-spacing:.13em;font-weight:800;color:#66766a}
.weather-temperature{font-family:'Playfair Display',serif;font-size:clamp(2.7rem,6vw,4rem);font-weight:700;line-height:1.1;color:#173c29}
.weather-description{font-weight:700;color:#a5232e;margin-top:4px}
.weather-details{display:grid;gap:8px;font-size:.78rem;color:#647267}
.weather-details span{white-space:nowrap}.weather-details strong{color:#193934}
.weather-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding-top:20px}
.weather-day{text-align:center;border-radius:8px;padding:14px 7px;background:#f6f0e3;min-width:0}
.weather-day-name{font-weight:800;font-size:.82rem;color:#193934}
.weather-day-icon{font-size:1.8rem;margin:10px 0 5px}
.weather-day-description{font-size:.69rem;color:#66766a;min-height:2em}
.weather-day-temps{display:flex;justify-content:center;gap:9px;margin-top:10px;font-size:.9rem}.weather-day-temps span{color:#7b877e}
.weather-rain{font-size:.64rem;color:#66766a;margin-top:8px}
.weather-error{text-align:center;padding:22px 10px;color:#52675a}.weather-error p{font-weight:700}.weather-error a{display:block;margin-top:15px;color:#a5232e;text-decoration:underline;font-weight:700}.weather-error button{border:0;border-radius:4px;padding:11px 18px;background:var(--green);color:white;font-weight:800;cursor:pointer}
@media(max-width:650px){.weather-current{grid-template-columns:auto 1fr;gap:12px}.weather-details{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:8px;border-top:1px solid #e9dfca}.weather-details span{white-space:normal;font-size:.72rem}.weather-days{gap:6px}.weather-day{padding:12px 3px}.weather-day-name{font-size:.73rem}.weather-day-icon{font-size:1.45rem}.weather-day-description{font-size:.61rem}.weather-day-temps{gap:4px;font-size:.77rem}.weather-rain{font-size:.58rem}}
@media(max-width:390px){.weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-day:last-child{grid-column:1/-1}}

/* Live now-playing and recent-track history */
.track-history{max-width:900px;margin:48px auto 0;text-align:left}.track-history-heading{text-align:center;margin-bottom:24px}.track-history-heading h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.7rem);margin:0 0 10px}.track-history-heading h2 span{color:var(--red)}.track-history-heading>p:last-child{color:#66766a;line-height:1.6}.now-playing-card{background:linear-gradient(135deg,#102b1d,#1c4b31);color:#fff;border:1px solid #d4b45e;border-radius:8px;padding:22px 24px;box-shadow:0 12px 30px #142d1d12}.now-playing-note{display:flex;align-items:center;gap:9px;color:var(--gold);font-size:1.2rem}.now-playing-note span{font-size:.65rem;font-weight:800;letter-spacing:.15em}.now-playing-title{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;margin-top:12px;overflow-wrap:anywhere}.now-playing-artist{font-size:.86rem;color:#d0ded3;margin-top:5px;overflow-wrap:anywhere}.recent-list-wrap{margin-top:24px;background:#fffdf7;border:1px solid #e7dbc1;border-radius:8px;padding:22px 24px}.recent-list-wrap h3{font-family:'Playfair Display',serif;font-size:1.35rem;margin:0 0 8px}.recent-help,.metadata-note{font-size:.75rem;color:#718075;line-height:1.5}.recent-list{list-style:none;margin:16px 0 0;padding:0}.recent-track{display:flex;align-items:center;gap:15px;padding:13px 0;border-top:1px solid #eee4d0}.recent-number{font-size:.78rem;font-weight:800;color:#a5232e;min-width:26px}.recent-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.recent-copy strong{font-size:.9rem;color:#193323;overflow-wrap:anywhere}.recent-copy small{font-size:.78rem;color:#728075;overflow-wrap:anywhere}.recent-empty{padding:13px 0;color:#718075;font-size:.85rem}.metadata-note{text-align:center;margin-top:13px}@media(max-width:560px){.track-history{margin-top:38px}.now-playing-card,.recent-list-wrap{padding:18px}.now-playing-title{font-size:1.2rem}}

/* Responsive Zeno.FM embedded player */
.player{flex-wrap:wrap}
.zeno-player-embed{flex:1 1 500px;min-width:0;width:100%;max-width:500px;margin-left:auto}
.zeno-player-embed iframe{display:block;width:100%;max-width:500px;height:300px;border:0;border-radius:6px;background:transparent}
.call-to-listen{margin:14px auto 0;color:var(--ink,#173021);font-size:.95rem}
.call-to-listen span{color:#a5232e;margin-right:6px}
.call-to-listen a{color:#a5232e;font-weight:800;text-decoration:underline}
@media(max-width:680px){.player{align-items:flex-start}.zeno-player-embed{flex-basis:100%;max-width:100%}.zeno-player-embed iframe{width:100%;height:300px}}

/* Halloween programming promotion */
.halloween-promo{display:grid;grid-template-columns:1fr minmax(280px,.9fr);align-items:center;gap:clamp(28px,5vw,64px);padding:76px 7%;background:linear-gradient(135deg,#102b1d,#071b16 75%);color:#fff;border-top:3px solid var(--gold);border-bottom:3px solid var(--gold)}
.halloween-copy{max-width:650px}.halloween-copy h2{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.08;margin:0 0 15px}.halloween-copy h2 span{color:var(--gold)}.halloween-date{font-weight:800;color:#ffd26a;font-size:1rem;letter-spacing:.04em}.halloween-copy>p:not(.eyebrow){color:#d4e0d6;line-height:1.75}.halloween-schedule{list-style:none;padding:0;margin:24px 0;border-top:1px solid #ffffff30}.halloween-schedule li{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #ffffff30;line-height:1.5}.halloween-schedule li strong{color:#ffd26a}.halloween-schedule li span{color:#f6f2e9}.halloween-art-link{display:block;max-width:600px;margin:auto;border:5px solid #e5bd4b;border-radius:8px;overflow:hidden;box-shadow:0 20px 48px #0006;transition:transform .2s}.halloween-art-link:hover{transform:translateY(-3px)}.halloween-art-link img{display:block;width:100%;height:auto}
@media(max-width:760px){.halloween-promo{grid-template-columns:1fr;padding:58px 6%;gap:28px}.halloween-art-link{max-width:540px}.halloween-schedule li{grid-template-columns:82px 1fr;gap:9px}}
