/* NECM navigation and music experience, October 2026. */
:root{--necm-purple:#421563;--necm-purple-deep:#271137;--necm-gold:#d8a747;--necm-ink:#271b31;--necm-muted:#65566c;--necm-line:#ded3e5;--necm-paper:#fffdf8}
html{scroll-behavior:smooth;scroll-padding-top:130px}
[hidden]{display:none!important}
*:focus-visible{outline:3px solid #7a38a0;outline-offset:4px}
.skip-link{position:fixed;left:12px;top:-80px;padding:12px 18px;background:#fff;color:var(--necm-purple);font-weight:800;z-index:100}
.skip-link:focus{top:8px}
.site-header{background:rgba(255,253,248,.98);border-bottom:1px solid #d7c8df;box-shadow:0 4px 16px #30134412;z-index:50}
.site-header .auth-links{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:6px 26px 0;font-size:12px}
.site-header .auth-link{border:0;background:none;color:#56356b;padding:4px 0;border-radius:0;text-decoration:none}
.site-header .auth-primary{font-weight:750}
.site-header .navbar{max-width:1320px;padding:10px 26px 15px;gap:20px;flex-wrap:nowrap}
.site-header .brand{flex-shrink:0;gap:10px}
.site-header .brand-mark{width:44px;height:44px;border-radius:0;box-shadow:none;border:0;background:none;overflow:hidden}
.site-header .brand-mark img{width:44px;height:44px;object-fit:contain}
.site-header .brand-title{font-size:16px;color:var(--necm-purple);letter-spacing:0}
.site-header .brand-subtitle{font-size:11px;color:#65566c;white-space:normal}
.site-header .necm-nav{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;position:static;margin:0;padding:0;background:none;border:0;box-shadow:none}
.necm-nav>a,.necm-nav summary{display:flex;align-items:center;gap:7px;padding:12px 10px;font-size:14px;font-weight:700;color:var(--necm-ink);text-decoration:none;border:0;border-radius:0;background:none;white-space:nowrap;line-height:1.2}
.necm-nav a:hover,.necm-nav summary:hover{background:#f2eaf7;color:var(--necm-purple)}
.necm-nav summary{list-style:none;cursor:pointer}
.necm-nav summary::-webkit-details-marker{display:none}
.necm-nav summary span{font-size:15px;color:#7e648c}
.necm-nav-group{position:relative;border:0;margin:0;padding:0}
.necm-nav-group[open]>summary{background:#eee3f4}
.necm-submenu{position:absolute;top:100%;left:0;width:280px;padding:9px;background:var(--necm-paper);border:1px solid var(--necm-line);box-shadow:0 16px 35px #2e113425;z-index:60}
.necm-nav-group:nth-last-of-type(-n+2) .necm-submenu{left:auto;right:0}
.necm-nav-group:nth-of-type(3) .necm-submenu{width:440px;display:grid;grid-template-columns:1fr 1fr}
.necm-nav .necm-submenu a{display:flex;align-items:center;min-height:44px;white-space:normal;padding:10px 13px;margin:0;border:0;border-radius:0;background:none;text-decoration:none;font-size:14px;font-weight:500;color:var(--necm-ink);line-height:1.45}
.necm-nav .necm-submenu a:hover{background:#f1e9f7}
.necm-nav .necm-nav-donate{margin-left:9px;color:#fff;background:var(--necm-purple);padding:12px 18px}
.necm-nav .necm-nav-donate:hover{background:#633086;color:#fff}
.necm-nav a[aria-current=page]{color:var(--necm-purple);font-weight:850}
.site-header .nav-toggle{border-radius:0;background:none;border:1px solid #cdb8d9;width:44px;height:44px;flex-shrink:0}
.home-entry{max-width:1280px;margin:0 auto;padding:38px 26px 46px}
.home-intro{max-width:960px;margin:auto;text-align:center}
.home-intro .kicker{color:#603879;margin-bottom:13px;letter-spacing:.14em}
.home-intro h1{font-size:clamp(30px,3.4vw,48px);line-height:1.16;letter-spacing:-.025em;margin:0 0 18px;color:#321644;font-weight:750}
.home-intro h1 span{color:#582276}
.home-lede{font-size:17px;line-height:1.65;max-width:790px;margin:0 auto 26px;color:#473551}
.home-destinations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.destination-card{display:block;background:var(--necm-paper);border:1px solid #dfcce9;text-decoration:none;color:var(--necm-ink);box-shadow:0 14px 34px #43224418;transition:transform .18s ease,box-shadow .18s ease;overflow:hidden}
.destination-card:hover{transform:translateY(-4px);box-shadow:0 22px 38px #43224428}
.destination-card>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.destination-copy{padding:21px 22px 24px}
.eyebrow{display:block;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#78522b}
.destination-card h2{font-size:28px;letter-spacing:-.02em;line-height:1.2;color:var(--necm-purple);margin:7px 0 11px}
.destination-card p{font-size:15px;line-height:1.65;color:#59495f;margin:0 0 19px}
.destination-action{font-size:14px;font-weight:800;color:var(--necm-purple);display:flex;justify-content:space-between;align-items:center}
.featured-strip{display:flex;align-items:center;gap:18px;border:1px solid #d9c5e1;background:#fffdf8;padding:13px 17px;margin:0 0 25px;box-shadow:0 8px 22px #4222400a}
.featured-picture{display:block;flex-shrink:0;width:64px;height:64px}
.featured-picture img{display:block;width:64px;height:64px;object-fit:cover}
.featured-copy{flex:1;min-width:170px}
.featured-copy h2{font-size:19px;color:var(--necm-purple);margin:3px 0;line-height:1.3}
.featured-copy p{font-size:12px;color:var(--necm-muted);margin:0}
.featured-strip audio{width:290px;min-width:180px;height:40px}
.featured-strip .text-link{font-size:13px;white-space:nowrap}
.refresh-button{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:11px 18px;background:var(--necm-purple);color:#fff!important;border:1px solid var(--necm-purple);border-radius:0;font:700 14px/1.4 system-ui,sans-serif;text-decoration:none;cursor:pointer}
.refresh-button:hover{background:#623080;border-color:#623080}
.refresh-button.secondary{background:#fffdf8;color:var(--necm-purple)!important;border-color:#cdbbd8}
.refresh-button.secondary:hover,.refresh-button[aria-pressed=true]{background:#eaddf2;color:var(--necm-purple)!important}
.refresh-button:disabled{cursor:default;opacity:.55}
.text-link{color:var(--necm-purple);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.refresh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}
.refresh-container{max-width:1200px;margin:0 auto;padding:38px 26px 58px;color:var(--necm-ink)}
.refresh-container h1{font-size:clamp(30px,3vw,43px);color:var(--necm-purple);letter-spacing:-.025em;line-height:1.15;margin:8px 0 18px}
.refresh-container h2{font-size:24px;line-height:1.3;color:var(--necm-purple)}
.refresh-lede{font-size:17px;line-height:1.7;max-width:850px;color:#4b3a55}
.refresh-container p{line-height:1.7}
.collection-intro{display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:center}
.collection-intro img{width:220px;height:220px;object-fit:cover;box-shadow:0 14px 28px #42224025}
.release-count{font-size:14px;font-weight:750;color:#60397c}
.collection-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0 18px;border-bottom:1px solid #cdbbd8;padding-bottom:12px}
.collection-tabs a{display:block;color:var(--necm-purple);padding:11px 18px;text-decoration:none;font-weight:700;border:1px solid #cdbbd8;background:#fffdf8}
.collection-tabs a[aria-current=page]{background:var(--necm-purple);color:#fff}
.catalog-tools,.station-tools{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;background:#fffdf8;border:1px solid var(--necm-line);padding:20px;margin:23px 0 12px}
.catalog-tools label,.station-tools label{display:block;font-size:13px;font-weight:750;color:#4b335c;flex:1;min-width:160px}
.catalog-tools label:first-child,.station-tools label:last-child{flex:2;min-width:230px}
.catalog-tools input,.catalog-tools select,.station-tools input,.station-tools select,.tuning-number input{display:block;min-height:46px;width:100%;border:1px solid #bda8ca;background:#fff;color:var(--necm-ink);font:16px/1.4 system-ui,sans-serif;padding:11px 12px;margin-top:7px;border-radius:0}
.result-count{font-size:13px;color:var(--necm-muted);margin:12px 0 20px}
.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:30px}
.refresh-container .book-card{display:flex;gap:15px;background:#fffdf8;border:1px solid #d8c8e1;padding:17px;text-decoration:none;color:var(--necm-ink);min-width:0}
.refresh-container .book-card img{width:72px;height:72px;object-fit:cover;flex-shrink:0}
.refresh-container .book-card h3{font-size:18px;line-height:1.3;color:var(--necm-purple);margin:6px 0}
.refresh-container .book-card .book-code{font-size:11px;letter-spacing:.08em;font-weight:700;color:#7a5b39}
.refresh-container .book-card .book-state{font-size:12px;color:#63556c}
.refresh-container .book-card:hover{border-color:#764298;background:#f8f2fb}
.refresh-container .book-card.upcoming{background:#faf7fc}
.newsletter-invite{border-top:1px solid #cdbbd8;margin-top:35px;padding-top:20px}
.bible-song-layout{display:grid;grid-template-columns:minmax(200px,340px) minmax(0,1fr);gap:38px;margin-top:22px;align-items:start}
.bible-song-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#2d103e}
.bible-song-main audio{display:block;width:100%;margin:17px 0}
.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--necm-muted)}
.breadcrumbs a{color:var(--necm-purple)}
.lyrics-reading{background:var(--necm-paper);border:1px solid #d8c8e1;padding:26px;margin-top:30px}
.lyrics-reading pre,.station-about pre,.song-card pre{white-space:pre-wrap!important;overflow-wrap:anywhere;font:17px/1.75 system-ui,sans-serif;color:#36233f;max-height:none!important;overflow:visible!important}
.book-video-panel{margin-top:25px;padding:18px;background:#fffdf8;border:1px solid #d8c8e1}
.book-video-panel summary,.station-about summary{font-weight:750;color:var(--necm-purple);cursor:pointer;padding:7px 0}
.book-video-panel video{width:100%;display:block;margin-top:15px;max-height:70vh;background:#150d1a}
.book-navigation{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:28px 0;padding:17px 0;border-top:1px solid #cdbbd8;border-bottom:1px solid #cdbbd8}
.book-navigation a{color:var(--necm-purple);font-weight:700;min-height:44px;display:flex;align-items:center}
.music-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px;background:#fffdf8;border:1px solid #dacbe2;margin-bottom:12px}
.music-row img{width:76px;height:76px;object-fit:cover}
.music-row h2{font-size:19px;margin:3px 0 6px}
.music-row h2 a{color:var(--necm-purple);text-decoration:none}
.music-row .track-meta{font-size:12px;color:#76647d}
.music-row p{font-size:14px;line-height:1.6;margin:0;color:#5c4d65}
.music-row .refresh-actions{margin:0;max-width:195px;gap:8px}
.music-row .refresh-button{padding:10px 12px}
.station-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}
.station-heading h1{margin-bottom:7px}
.station-heading p{margin-top:0}
.station-console{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.85fr);gap:26px;padding:28px;background:linear-gradient(125deg,#572f18,#281910);border:4px solid #87592c;box-shadow:0 18px 40px #301e322d}
.station-screen{background:#170b20;border:2px solid #be924a;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative}
.station-screen>img{display:block;width:100%;height:auto;max-height:400px;object-fit:contain;aspect-ratio:1}
.station-screen>video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#100818;max-height:460px}
.station-screen>audio{display:block;width:calc(100% - 28px);margin:15px 14px}
.station-screen .media-status{color:#f4dfaa;font-size:12px;margin:0;padding:10px 16px;text-align:center;min-height:38px}
.station-controls{color:#fff1cb;min-width:0;display:flex;flex-direction:column;justify-content:center}
.station-display{background:#170c18;border:1px solid #bd9654;padding:18px;min-height:122px}
.station-display #stationNumber{font:700 26px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#f1c766;letter-spacing:.12em}
.station-display h2{color:#fff2d0;font-size:22px;margin:8px 0 4px;line-height:1.3}
.station-display p{color:#dccbad;font-size:12px;margin:0}
.tuning-controls{display:flex;align-items:center;gap:23px;margin:21px 0 13px}
.tuning-dial{width:96px;height:96px;flex-shrink:0;border-radius:50%;border:7px solid #a98247;background:radial-gradient(circle at 35% 25%,#ecd39c,#b18a4b 55%,#715224);box-shadow:0 5px 0 #150d10,0 8px 14px #08040b60;cursor:grab;touch-action:none;position:relative;user-select:none;transform:rotate(var(--dial-angle,-135deg))}
.tuning-dial:active{cursor:grabbing}
.dial-pointer{position:absolute;top:9px;left:50%;width:4px;height:27px;background:#321b26;transform:translateX(-50%);border-radius:0}
.tuning-number{max-width:170px}
.tuning-number label{font-size:12px;color:#f3dfb4;font-weight:700}
.tuning-number input{background:#211220;color:#f6d38a;border-color:#947343;font:700 20px/1.2 ui-monospace,monospace;max-width:120px;min-height:42px}
.station-controls .small-note{font-size:11px;color:#dccbad;line-height:1.6}
.station-controls .small-note a{color:#fff0b9}
.transport{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 4px}
.station-controls .refresh-button{background:#dfb462;color:#261330!important;border-color:#dfb462;font-size:13px;padding:10px 13px}
.station-controls .refresh-button.secondary{background:#271626;color:#fff0ca!important;border-color:#9d7a47}
.station-controls .refresh-button[aria-pressed=true]{background:#e3bb70;color:#231525!important}
.station-controls .text-link{color:#ffe1a0}
.station-controls .refresh-actions{gap:9px;margin:13px 0}
.station-about{margin-top:26px;background:#fffdf8;border:1px solid var(--necm-line);padding:25px}
.station-about h2{margin-top:0}
.station-about p{font-size:16px;color:#59495f}
.station-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px}
.search-track{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--necm-line);background:#fffdf8;padding:13px;font:15px system-ui,sans-serif;color:#432654;min-height:54px;cursor:pointer}
.search-track strong{font-size:12px;font-family:ui-monospace,monospace;color:#805b28;min-width:42px}
.search-track:hover{background:#f1e5f7}
.empty-state,.sermon-panel{background:#fffdf8;border:1px solid #d6c4e1;padding:28px}
.resource-grid,.sermon-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.resource-link{display:flex;flex-direction:column;gap:9px;padding:22px;min-height:90px;background:#fffdf8;border:1px solid #cfbcd9;color:var(--necm-purple);text-decoration:none;justify-content:center}
.resource-link:hover{background:#f4eaf9}
.resource-link span{font-size:14px;color:#65536e;line-height:1.6}
.song-meta .song-audio{margin:15px 0 20px}
.song-meta .song-audio audio{width:100%}
.song-card pre{background:#fffdf8!important;padding:20px!important;border-radius:0!important}
.song-desc,.song-album,.song-card p{opacity:1!important;color:#493451!important}
.project-support-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:23px 0}
.project-support-links section{border:1px solid #d4c5df;background:#fffdf8;padding:20px;scroll-margin-top:140px}
.project-support-links h2{font-size:19px;color:var(--necm-purple)}
input[id^=member-]{display:block;width:100%;min-height:46px;padding:11px 13px;margin:7px 0 17px;border:1px solid #baa4c7;border-radius:0;font:16px system-ui,sans-serif;background:#fff;color:#33213f}
@media(min-width:1001px){.site-header .nav-toggle{display:none}.site-header .nav-links{display:flex!important}}
@media(max-width:1100px){.site-header .navbar{gap:10px;padding-left:20px;padding-right:20px}.necm-nav>a,.necm-nav summary{padding:11px 7px;font-size:13px}.site-header .brand-title{font-size:14px}.site-header .brand-subtitle{max-width:185px}.featured-strip{flex-wrap:wrap}.featured-strip audio{flex:1}}
@media(max-width:1000px){html{scroll-padding-top:105px}.site-header .navbar{flex-wrap:wrap;justify-content:space-between}.site-header .nav-toggle{display:flex}.site-header .necm-nav{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0;padding:8px 0;max-height:70vh;overflow:auto}.necm-js .site-header .necm-nav:not(.is-open){display:none}.necm-nav-group{width:100%}.necm-nav>a,.necm-nav summary{justify-content:space-between;padding:15px;font-size:15px}.necm-submenu,.necm-nav-group:nth-of-type(3) .necm-submenu{position:static;width:100%;display:block;box-shadow:none;border:0;background:#f5eef9;padding:4px 8px 9px}.necm-nav .necm-nav-donate{margin:10px 0 0;justify-content:center}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.station-console{gap:20px;padding:20px;grid-template-columns:minmax(0,1fr) 310px}.home-entry{padding-top:30px}.destination-copy{padding:17px}.destination-card h2{font-size:24px}}
@media(max-width:720px){.home-entry,.refresh-container{padding:26px 18px 36px}.home-intro{text-align:left}.home-lede{font-size:16px;line-height:1.7}.home-destinations{grid-template-columns:1fr;gap:20px}.destination-card>img{max-height:none;aspect-ratio:1}.destination-copy{padding:22px}.destination-card h2{font-size:28px}.featured-strip{gap:12px;padding:14px}.featured-copy{min-width:170px}.featured-strip audio{width:100%;flex:auto}.featured-strip .refresh-button{flex:1}.featured-strip .text-link{font-size:13px}.collection-intro{grid-template-columns:1fr}.collection-intro img{display:none}.collection-tabs{gap:6px}.collection-tabs a{padding:10px 12px;font-size:13px}.catalog-tools,.station-tools{padding:15px;gap:13px}.catalog-tools label,.station-tools label,.catalog-tools label:first-child,.station-tools label:last-child{flex:1 1 100%;min-width:0}.book-grid{grid-template-columns:1fr}.refresh-container .book-card img{width:80px;height:80px}.bible-song-layout{grid-template-columns:1fr;gap:20px}.bible-song-cover{max-width:340px}.lyrics-reading{padding:18px}.music-row{grid-template-columns:62px minmax(0,1fr);gap:14px;padding:16px}.music-row img{width:62px;height:62px}.music-row .refresh-actions{grid-column:1/-1;max-width:none}.station-heading{align-items:flex-start;flex-direction:column}.station-console{grid-template-columns:1fr;padding:17px;gap:18px}.station-screen>img{max-height:300px}.station-controls{display:block}.station-display{min-height:100px}.station-search-results{grid-template-columns:1fr}.resource-grid,.sermon-links,.project-support-links{grid-template-columns:1fr}.station-about{padding:19px}.refresh-lede{font-size:16px}.refresh-actions{gap:10px}.book-navigation{font-size:13px}.site-header .auth-links{padding-right:19px}.site-header .brand-subtitle{font-size:10px}.site-header .brand-title{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.destination-card{transition:none}.destination-card:hover{transform:none}}

.song-card .lyrics-text{max-height:none!important;overflow:visible!important;background:#fffdf8!important;border-radius:0!important;color:#36233f}

.home-newsletter{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:0 auto 28px;font-size:14px;color:var(--necm-muted)}
.home-newsletter a{display:inline-flex;min-height:44px;align-items:center;font-size:15px}
.home-newsletter span{font-size:13px}
.destination-card{display:flex;flex-direction:column}
.destination-copy{display:flex;flex-direction:column;flex:1}
.destination-action{margin-top:auto}
.destination-card h2{font-size:26px}
.article-gateway{background:#fffdf8;border:1px solid #d6c3e1;padding:22px;margin:23px 0;color:#47334f}
.article-gateway>p{margin-top:0}
.article-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:17px 0}
.article-links a{display:flex;align-items:center;min-height:48px;padding:10px 12px;background:#f3ebf8;border:1px solid #d6c3e1;text-decoration:none;color:#421563;font-weight:700;font-size:14px;line-height:1.5}
.article-links a:hover{background:#e9d9f2}
@media(min-width:721px) and (max-width:1000px){.home-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.article-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.home-newsletter{gap:0;flex-direction:column}.home-destinations{grid-template-columns:1fr}.destination-card h2{font-size:27px}}

.site-header .auth-links{position:static!important;left:auto;right:auto;top:auto;bottom:auto;transform:none;float:none;width:auto;z-index:auto}
.site-header .brand-mark{width:44px!important;height:44px!important;flex:0 0 44px!important;margin:0!important}
.site-header .brand-mark img{width:44px!important;height:44px!important;max-width:44px!important;object-fit:contain!important}
.site-header .brand-text{min-width:0;max-width:275px}
.site-header .brand-title{line-height:1.3}
.site-header .brand-subtitle{line-height:1.4}
.path-destination>img{background:linear-gradient(135deg,#2c123d,#53305a)}

.site-header .brand{min-width:0;flex-shrink:1}
.site-header .brand-title{font-size:15px;display:block}
.site-header .brand-text{gap:2px}
@media(max-width:720px){.site-header .brand-title{font-size:14px}.site-header .brand-text{min-width:0}.site-header .brand-subtitle{max-width:190px}}

.site-header .brand-text{width:275px;flex:0 0 275px}
@media(max-width:1000px){.site-header .brand-text{width:auto;flex:1 1 auto}}

.necm-nav-group:nth-of-type(3) .necm-submenu{left:50%;transform:translateX(-50%)}
@media(max-width:1000px){.necm-nav-group:nth-of-type(3) .necm-submenu{left:auto;right:auto;transform:none}}

.site-header .brand-mark img{object-fit:cover!important}

/* Portable preview: keep closed menus hidden and desktop dropdowns above content. */
.necm-nav-group:not([open])>.necm-submenu{display:none!important}
@media(min-width:1001px){.site-header,.site-header .navbar,.site-header .necm-nav{overflow:visible}.necm-nav-group[open]>.necm-submenu{position:absolute;top:100%;z-index:60}}
