/* ==========================================================================
   Deeper Life Bible Church — Jonesboro, USA
   Design tokens: deep scripture-navy + cathedral gold on warm parchment.
   Display: Fraunces (serif, weighty, devotional) / Body: Inter / Utility: Inter
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,500;1,600&display=swap');

:root{
  --navy-950:#072B45;
  --navy-900:#0E4D7A;
  --navy-800:#1465A0;
  --navy-700:#2C8FD1;
  --gold-500:#FF8A1E;
  --gold-400:#FFA94D;
  --gold-100:#FFE3C2;
  --sky-300:#A7E0FF;
  --sky-100:#EAF8FF;
  --parchment:#F3FAFF;
  --parchment-dim:#E3F3FD;
  --ink:#152434;
  --ink-soft:#5B6776;
  --white:#FFFFFF;
  --line:rgba(14,77,122,0.12);

  --font-display:'Montserrat', sans-serif;
  --font-body:'Montserrat', sans-serif;

  --radius-sm:8px;
  --radius-md:18px;
  --container:1180px;

  --shadow-md:0 18px 40px -16px rgba(14,77,122,0.30);
  --shadow-sm:0 8px 20px -8px rgba(14,77,122,0.18);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--parchment);
  -webkit-font-smoothing:antialiased;
  padding-bottom:78px; /* space for sticky player */
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
li{list-style:none;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.01em;
  margin:0 0 .5em;
  color:var(--navy-900);
}
.eyebrow{
  font-family:var(--font-body);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.68rem;
  color:var(--navy-900);
  display:inline-block;
  background:linear-gradient(120deg, var(--gold-100), var(--sky-100));
  padding:5px 14px;
  border-radius:30px;
}
p{line-height:1.75;color:var(--ink-soft);margin:0 0 1.1em;}

/* ---------- Skip link / focus ---------- */
.skip-link{position:absolute;left:-999px;top:auto;background:var(--gold-400);color:var(--navy-950);padding:10px 16px;z-index:999;}
.skip-link:focus{left:12px;top:12px;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid var(--gold-400);outline-offset:2px;
}

/* ---------- Verse ribbon (signature element) ---------- */
.verse-ribbon{
  background:var(--navy-950);
  color:var(--parchment);
  overflow:hidden;
  white-space:nowrap;
  position:relative;
  border-bottom:1px solid var(--gold-500);
}
.verse-ribbon__track{
  display:inline-flex;
  align-items:center;
  gap:64px;
  padding:9px 0;
  animation:marquee 38s linear infinite;
}
.verse-ribbon__track span{
  font-family:var(--font-display);
  font-style:italic;
  font-size:.92rem;
  color:var(--gold-100);
}
.verse-ribbon__track span b{
  font-style:normal;
  background:var(--gold-400);
  color:var(--navy-950);
  padding:2px 8px;
  border-radius:3px;
  margin-right:8px;
}
@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion: reduce){
  .verse-ribbon__track{animation:none;}
}

.icon-svg{display:inline-block;vertical-align:middle;flex-shrink:0;}
a .icon-svg, button .icon-svg{color:inherit;}

/* ---------- Top info bar ---------- */
.top-bar{
  background:var(--navy-950);
  color:rgba(244,250,255,.82);
  font-size:.78rem;
  padding:7px 0;
}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.top-bar a{color:inherit;}
.top-bar .top-bar-info{display:flex;gap:22px;flex-wrap:wrap;}
.top-bar .top-bar-info span{display:inline-flex;align-items:center;gap:6px;}
.top-bar .top-bar-social{display:flex;gap:10px;}
.top-bar .top-bar-social a{width:26px;height:26px;border-radius:50%;background:rgba(244,250,255,.1);display:flex;align-items:center;justify-content:center;font-size:.74rem;}
.top-bar .top-bar-social a:hover{background:var(--gold-500);color:var(--navy-950);}

/* ---------- Header / Nav (single line) ---------- */
.site-header{
  position:sticky;top:0;z-index:80;
  background:var(--navy-900);
  border-bottom:1px solid rgba(244,250,255,0.1);
}
.nav-wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;
  position:relative;
  gap:18px;
}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:64px;width:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.12;}
.brand-text strong{font-family:var(--font-display);font-weight:800;color:var(--white);font-size:1rem;white-space:nowrap;}
.brand-text small{color:var(--gold-400);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;}

.main-nav{display:flex;align-items:center;min-width:0;flex:1;}
.main-nav > ul{display:flex;align-items:center;gap:0;flex-wrap:nowrap;width:100%;justify-content:flex-end;}
.main-nav > ul > li{position:relative;flex-shrink:0;}
.main-nav a.top-link{
  display:flex;align-items:center;gap:4px;
  color:var(--parchment);
  font-size:.76rem;font-weight:600;
  letter-spacing:.01em;white-space:nowrap;
  padding:10px 11px;
  border-radius:var(--radius-sm);
  transition:background .15s, color .15s;
}
.main-nav a.top-link:hover, .main-nav li:hover > a.top-link{background:rgba(244,250,255,0.08);color:var(--gold-400);}
.caret{font-size:.85rem;font-weight:800;opacity:.75;line-height:1;}

.submenu{
  position:absolute;top:100%;left:0;
  background:var(--white);
  min-width:230px;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
  padding:8px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .15s, transform .15s, visibility .15s;
  z-index:90;
}
.main-nav li:hover > .submenu, .main-nav li:focus-within > .submenu{
  opacity:1;visibility:visible;transform:translateY(0);
}
.submenu li{position:relative;}
.submenu a{
  display:block;padding:10px 12px;border-radius:var(--radius-sm);
  font-size:.86rem;font-weight:600;color:var(--navy-800);white-space:nowrap;
}
.submenu a:hover{background:var(--parchment-dim);color:var(--navy-900);}
.submenu .submenu{left:100%;top:-8px;}

.cta-visit{
  background:var(--gold-500);color:var(--navy-950)!important;
  font-weight:700;padding:9px 16px!important;border-radius:30px;
  margin-left:4px;
}
.cta-visit:hover{background:var(--gold-400)!important;}

.nav-toggle{display:none;background:none;border:0;color:var(--white);font-size:1.5rem;cursor:pointer;flex-shrink:0;}

@media (max-width:1180px){
  .main-nav a.top-link{padding:10px 8px;font-size:.72rem;}
}
@media (max-width:1100px){
  .top-bar .top-bar-info span:nth-child(3){display:none;}
  .nav-toggle{display:block;}
  .main-nav{
    position:fixed;inset:0 0 0 auto;width:84%;max-width:340px;
    background:var(--navy-950);flex-direction:column;align-items:stretch;
    padding:80px 18px 24px;transform:translateX(100%);transition:transform .25s;
    overflow-y:auto;flex:none;
  }
  .main-nav.open{transform:translateX(0);}
  .main-nav > ul{flex-direction:column;width:100%;justify-content:flex-start;}
  .main-nav a.top-link{font-size:.92rem;padding:13px 10px;}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(244,250,255,0.04);display:none;margin:4px 0 4px 10px;}
  .submenu a{color:var(--parchment);}
  li.submenu-open > .submenu{display:block;}
  .submenu .submenu{margin-left:14px;}
  .cta-visit{margin:14px 0 0;text-align:center;justify-content:center;}
}

/* ---------- Page header (image banner, every page) ---------- */
.page-banner{
  position:relative;min-height:300px;display:flex;align-items:flex-end;
  background-size:cover;background-position:center;
  color:var(--white);
}
.page-banner::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(6,34,53,.35) 0%, rgba(6,34,53,.88) 100%);
}
.page-banner__inner{position:relative;z-index:1;padding:46px 0;width:100%;}
.page-banner h1{color:var(--white);font-size:clamp(1.9rem,3.4vw,3rem);margin:0;}
.breadcrumb{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-400);margin-bottom:10px;display:block;}

/* ---------- Home hero (2-slide crossfade) ---------- */
.hero{
  position:relative;min-height:88vh;display:flex;align-items:center;
  background:var(--navy-950);
  overflow:hidden;
}
.hero__slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;animation:heroFade 16s infinite;
}
.hero__slide:nth-child(1){animation-delay:0s;}
.hero__slide:nth-child(2){animation-delay:-8s;}
@keyframes heroFade{
  0%{opacity:0;}
  4%{opacity:1;}
  46%{opacity:1;}
  50%{opacity:0;}
  100%{opacity:0;}
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg, rgba(6,34,53,.92) 8%, rgba(11,61,99,.62) 50%, rgba(11,61,99,.2) 100%);
}
.hero__content{position:relative;z-index:2;max-width:640px;padding:60px 0;}
.hero__content .eyebrow-line{font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--sky-300);display:block;margin-bottom:4px;}
.hero__content h1{
  color:var(--white);font-size:clamp(2.1rem,5vw,3.6rem);
  text-transform:uppercase;letter-spacing:.01em;margin-bottom:6px;
}
.hero__content .place{font-size:1.2rem;color:var(--parchment);font-weight:500;}
.hero__actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}
@media (prefers-reduced-motion: reduce){
  .hero__slide{animation:none;opacity:1;}
  .hero__slide:nth-child(2){opacity:0;}
}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:700;font-size:.86rem;padding:13px 24px;border-radius:30px;
  border:2px solid transparent;cursor:pointer;letter-spacing:.02em;
  transition:transform .15s, background .15s, color .15s;
}
.btn:hover{transform:translateY(-2px);}
.btn-gold{background:linear-gradient(135deg, var(--gold-500), var(--gold-400));color:var(--navy-950);box-shadow:0 10px 24px -8px rgba(255,138,30,.55);}
.btn-gold:hover{background:var(--gold-400);}
.btn-outline{border-color:rgba(255,255,255,.6);color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-navy{background:var(--navy-900);color:var(--white);}
.btn-navy:hover{background:var(--navy-700);}

/* ---------- Scroll reveal (fade + rise) ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- Sections ---------- */
section{padding:84px 0;}
.section-tight{padding:56px 0;}
.section-alt{background:var(--white);}
.section-navy{background:var(--navy-900);color:var(--parchment);}
.section-navy > .container > .section-head h2,
.section-navy > .container > .section-head h3,
.section-navy > .container > h2,
.section-navy > .container > h3{color:var(--white);}
.section-navy > .container > .section-head p{color:rgba(244,250,255,.82);}
.section-navy .card p{color:var(--ink-soft);}

.section-head{max-width:680px;margin:0 auto 46px;text-align:center;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.3rem);}
.divider{width:64px;height:4px;background:linear-gradient(90deg, var(--gold-500), var(--sky-300));margin:14px auto 0;border-radius:3px;}
.divider.left{margin:14px 0 0;}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media(max-width:860px){.two-col{grid-template-columns:1fr;gap:30px;}}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
@media(max-width:860px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}}

.card{
  background:var(--white);border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);overflow:hidden;
  transition:transform .2s, box-shadow .2s;
}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%;}
.card .card-body{padding:20px;}
.card h3{font-size:1.05rem;margin-bottom:6px;}
.card .card-time{display:inline-block;background:var(--gold-100);color:var(--navy-800);font-weight:700;font-size:.74rem;padding:4px 10px;border-radius:20px;margin-bottom:10px;}
.card .card-body p{color:#6B7684;font-size:.92rem;}

.pastor-portrait{
  position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);
}
.pastor-portrait::after{content:"";position:absolute;inset:0;border:6px solid var(--white);border-radius:var(--radius-md);pointer-events:none;}

blockquote.pull{
  font-family:var(--font-display);font-style:italic;font-weight:600;font-size:1.25rem;
  color:var(--navy-900);border-left:4px solid var(--gold-500);
  padding-left:20px;margin:24px 0;
}

.signature-block{margin-top:18px;}
.signature-block strong{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--navy-900);}

/* ---------- Image grid / gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media(max-width:860px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
.gallery-grid figure{margin:0;border-radius:var(--radius-sm);overflow:hidden;cursor:zoom-in;position:relative;}
.gallery-grid img{aspect-ratio:1/1;object-fit:cover;width:100%;transition:transform .35s;}
.gallery-grid figure:hover img{transform:scale(1.06);}

.gallery-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:40px;flex-wrap:wrap;}
.gallery-pagination button{
  border:0;background:var(--white);color:var(--navy-800);font-weight:700;
  width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:.88rem;
  box-shadow:var(--shadow-sm);transition:background .15s,color .15s,transform .15s;
}
.gallery-pagination button:hover{transform:translateY(-2px);}
.gallery-pagination .page-num.active{background:var(--gold-500);color:var(--white);}
.gallery-pagination .page-arrow{background:var(--navy-900);color:var(--white);font-size:1.1rem;}

.lightbox{
  position:fixed;inset:0;background:rgba(6,34,53,.92);
  display:none;align-items:center;justify-content:center;z-index:200;padding:24px;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lightbox-close{position:absolute;top:24px;right:30px;color:var(--white);font-size:2rem;cursor:pointer;background:none;border:0;}

/* ---------- Ministry modal trigger cards ---------- */
.ministry-card{cursor:pointer;position:relative;}
.ministry-card .card-body{position:relative;}
.ministry-card .tap-hint{font-size:.72rem;color:var(--gold-500);font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.modal-overlay{
  position:fixed;inset:0;background:rgba(6,34,53,.78);display:none;
  align-items:center;justify-content:center;z-index:210;padding:20px;
}
.modal-overlay.open{display:flex;}
.modal-box{
  background:var(--white);max-width:680px;max-height:84vh;overflow-y:auto;
  border-radius:var(--radius-md);padding:34px;position:relative;box-shadow:var(--shadow-md);
}
.modal-box .modal-close{position:absolute;top:14px;right:16px;font-size:1.6rem;background:none;border:0;cursor:pointer;color:var(--navy-800);}

/* ---------- Accordion (Our Belief) ---------- */
.accordion-item{border-bottom:1px solid var(--line);}
.accordion-trigger{
  width:100%;text-align:left;background:none;border:0;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:20px 4px;font-family:var(--font-display);font-size:1.08rem;color:var(--navy-900);font-weight:600;
}
.accordion-trigger .plus{font-size:1.3rem;color:var(--gold-500);transition:transform .2s;flex-shrink:0;}
.accordion-trigger[aria-expanded="true"] .plus{transform:rotate(45deg);}
.accordion-panel{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.accordion-panel .inner{padding:0 4px 22px;}
.accordion-panel .inner p{font-size:.96rem;}
.accordion-panel .inner .ref{font-size:.78rem;color:var(--gold-500);font-weight:700;}

/* ---------- Schedule (timeline) ---------- */
.schedule-month{margin-bottom:34px;}
.schedule-month h3{
  display:inline-block;background:var(--navy-900);color:var(--white);
  padding:8px 18px;border-radius:30px;font-size:1rem;
}
.schedule-list{margin-top:14px;border-left:3px solid var(--gold-100);padding-left:22px;}
.schedule-list li{list-style:none;margin-bottom:12px;font-size:.95rem;color:var(--ink-soft);position:relative;}
.schedule-list li::before{content:"";position:absolute;left:-28px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--gold-500);}
.schedule-list li b{color:var(--navy-900);}

/* ---------- Plan a Visit: info chips + image cards ---------- */
.visit-meta{display:flex;flex-direction:column;gap:12px;margin-top:20px;}
.visit-meta__item{
  display:flex;align-items:center;gap:12px;
  background:var(--sky-100);color:var(--navy-900);
  padding:12px 16px;border-radius:30px;font-weight:600;font-size:.9rem;
}
.visit-meta__item .icon-svg{color:var(--gold-500);}
.visit-card{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s, box-shadow .2s;}
.visit-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.visit-card img{aspect-ratio:16/9;object-fit:cover;width:100%;}
.visit-card__body{padding:24px;}

/* ---------- Forms ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:640px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--navy-800);}
.field input, .field textarea, .field select{
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;
  font-family:var(--font-body);font-size:.95rem;background:var(--white);color:var(--ink);
}
.field input:focus, .field textarea:focus{border-color:var(--gold-500);outline:none;}
.form-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:34px;}
.form-note{font-size:.82rem;color:var(--ink-soft);margin-top:10px;}
.form-status{font-size:.88rem;font-weight:600;margin-top:12px;}

/* ---------- Contact info strip ---------- */
.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:760px){.info-strip{grid-template-columns:1fr;}}
.info-card{background:var(--white);border-radius:var(--radius-md);padding:30px 26px;box-shadow:var(--shadow-sm);text-align:center;transition:transform .2s,box-shadow .2s;}
.info-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.info-card .icon{
  width:54px;height:54px;border-radius:50%;
  background:linear-gradient(135deg, var(--sky-100), var(--gold-100));
  color:var(--gold-500);display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
}

/* ---------- Under construction ---------- */
.uc-wrap{text-align:center;padding:90px 0;}
.uc-wrap img{max-width:340px;margin:0 auto 30px;}

/* ---------- Subscribe band (YouTube CTA) ---------- */
.subscribe-band{
  background:linear-gradient(120deg, var(--navy-950) 0%, var(--navy-800) 60%, var(--navy-700) 100%);
  padding:54px 0;
  position:relative;
  overflow:hidden;
}
.subscribe-band::before{
  content:"";position:absolute;inset:-40% -10% auto auto;width:380px;height:380px;
  background:radial-gradient(circle, rgba(143,211,255,.18), transparent 70%);
}
.subscribe-band__inner{
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  position:relative;z-index:1;
}
.subscribe-band__text h2{color:var(--white);margin-bottom:6px;font-size:1.7rem;}
.subscribe-band__text p{color:rgba(244,250,255,.75);margin:0;max-width:420px;}
.subscribe-btn{
  display:flex;align-items:center;gap:14px;
  background:var(--gold-500);color:var(--navy-950);
  padding:14px 26px;border-radius:50px;flex-shrink:0;
  box-shadow:0 14px 30px -10px rgba(240,138,36,.55);
  transition:transform .2s, box-shadow .2s;
}
.subscribe-btn:hover{transform:translateY(-3px);box-shadow:0 18px 36px -10px rgba(240,138,36,.65);}
.subscribe-btn__icon{
  width:38px;height:38px;border-radius:50%;background:var(--navy-950);color:var(--gold-400);
  display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;
}
.subscribe-btn__text{display:flex;flex-direction:column;line-height:1.2;}
.subscribe-btn__text strong{font-size:1rem;}
.subscribe-btn__text small{font-size:.74rem;opacity:.8;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-950);color:rgba(244,250,255,.82);padding:60px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.08);}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:var(--gold-400);font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-body);font-weight:700;margin-bottom:16px;}
.footer-grid ul{display:flex;flex-direction:column;gap:9px;}
.footer-grid a{font-size:.9rem;color:rgba(244,250,255,.78);}
.footer-grid a:hover{color:var(--gold-400);}
.footer-brand img{height:48px;margin-bottom:14px;}
.footer-brand p{font-size:.88rem;color:rgba(244,250,255,.65);}
.social-row{display:flex;gap:10px;margin-top:14px;}
.social-row a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:.95rem;}
.social-row a:hover{background:var(--gold-500);color:var(--navy-950);}
.newsletter-row{display:flex;gap:8px;margin-top:12px;}
.newsletter-row input{flex:1;padding:11px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--white);}
.newsletter-row button{padding:11px 18px;border-radius:6px;border:0;background:var(--gold-500);color:var(--navy-950);font-weight:700;cursor:pointer;}
.copyright{text-align:center;font-size:.8rem;color:rgba(244,250,255,.5);padding:20px 0;}

/* ---------- Sticky music player ---------- */
.player-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:150;
  background:var(--navy-950);color:var(--white);
  display:flex;align-items:center;gap:16px;padding:9px 18px;
  border-top:1px solid var(--gold-500);
}
.player-art{width:46px;height:46px;border-radius:6px;object-fit:cover;background:var(--navy-800);flex-shrink:0;}
.player-meta{min-width:130px;max-width:180px;}
.player-meta .t-name{font-weight:700;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.player-meta .t-artist{font-size:.74rem;color:rgba(244,250,255,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.player-controls{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.player-controls button{background:none;border:0;color:var(--white);font-size:1.05rem;cursor:pointer;}
.player-controls button.play-btn{
  width:36px;height:36px;border-radius:50%;background:var(--gold-500);color:var(--navy-950);
  display:flex;align-items:center;justify-content:center;
}
.player-time{font-size:.74rem;color:rgba(244,250,255,.7);width:38px;text-align:center;flex-shrink:0;}
.player-seek{flex:1;display:flex;align-items:center;}
.player-seek input[type=range]{width:100%;accent-color:var(--gold-500);}
.player-vol{display:flex;align-items:center;gap:6px;width:90px;flex-shrink:0;}
.player-vol input[type=range]{width:70px;accent-color:var(--gold-400);}
.player-list-btn{flex-shrink:0;}
.playlist-drawer{
  position:fixed;right:0;bottom:64px;width:300px;max-height:60vh;overflow-y:auto;
  background:var(--navy-900);border-radius:10px 0 0 0;box-shadow:var(--shadow-md);
  display:none;z-index:149;padding:10px;
}
.playlist-drawer.open{display:block;}
.playlist-drawer li{list-style:none;padding:10px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--parchment);}
.playlist-drawer li:hover, .playlist-drawer li.active{background:rgba(255,255,255,.08);color:var(--gold-400);}
@media(max-width:760px){
  .player-meta{display:none;}
  .player-vol{display:none;}
}

/* ---------- Utility ---------- */
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.iframe-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);}
.iframe-wrap iframe{width:100%;height:100%;border:0;}

/* ===========================================================
   Mobile experience refinements
   =========================================================== */
@media (max-width:760px){
  body{padding-bottom:64px;}
  .container{padding:0 22px;}
  section{padding:54px 0;}
  .section-tight{padding:38px 0;}
  .hero{min-height:78vh;}
  .hero__content{padding:40px 0;}
  .hero__actions .btn{flex:1;justify-content:center;}
  .page-banner{min-height:200px;}
  .top-bar{font-size:.68rem;padding:6px 0;}
  .top-bar .top-bar-info{gap:10px;}
  .top-bar .top-bar-info span:nth-child(2),
  .top-bar .top-bar-info span:nth-child(3){display:none;}
  .brand img{height:48px;}
  .brand-text strong{font-size:.82rem;}
  .subscribe-band__inner{text-align:center;justify-content:center;}
  .subscribe-band__text p{margin:0 auto;}
  .visit-meta__item{font-size:.84rem;}
  .form-card{padding:22px;}
  .modal-box{padding:24px;max-height:80vh;}
  .player-bar{padding:8px 10px;gap:8px;}
  .player-controls{gap:8px;}
  .player-time{display:none;}
  .gallery-grid{gap:8px;}
  .gallery-pagination button{width:34px;height:34px;font-size:.8rem;}
  .info-strip{gap:14px;}
  .footer-grid{text-align:left;}
}
@media (max-width:420px){
  .container{padding:0 20px;}
  .hero__content h1{font-size:1.65rem;line-height:1.22;}
  .hero__content .eyebrow-line{font-size:1.05rem;}
  .hero__content .place{font-size:1rem;}
  .page-banner h1{font-size:1.5rem;line-height:1.25;}
  .breadcrumb{font-size:.66rem;}
  .page-banner__inner{padding:34px 0;}
  .player-art{display:none;}
}

/* ===========================================================
   Splash / loading screen (shows once per browser session)
   =========================================================== */
.splash-screen{
  position:fixed;inset:0;z-index:999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  background:radial-gradient(circle at 50% 32%, var(--navy-800) 0%, var(--navy-950) 72%);
  color:var(--white);text-align:center;padding:24px;
  transition:opacity .6s ease;
}
.splash-screen img{
  width:92px;height:92px;border-radius:50%;background:var(--white);
  padding:10px;object-fit:contain;
  box-shadow:0 0 50px rgba(255,138,30,.45);
  animation:splashPulse 1.7s ease-in-out infinite;
}
.splash-text .splash-line1{
  font-family:var(--font-display);font-style:italic;font-weight:500;
  color:var(--sky-300);font-size:1.05rem;margin-bottom:2px;
}
.splash-text .splash-line2{
  font-family:var(--font-display);font-weight:800;font-size:1.6rem;
  text-transform:uppercase;letter-spacing:.01em;line-height:1.2;
}
.splash-text .splash-line3{
  color:var(--gold-400);font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;font-size:.8rem;margin-top:4px;
}
.splash-bar{width:170px;height:5px;border-radius:4px;background:rgba(244,250,255,.16);overflow:hidden;margin-top:6px;}
.splash-bar::after{
  content:"";display:block;height:100%;width:0%;
  background:linear-gradient(90deg, var(--gold-500), var(--sky-300));
  animation:splashLoad 3s ease forwards;
}
.splash-screen.splash-hide{opacity:0;pointer-events:none;}
@keyframes splashPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.07);}}
@keyframes splashLoad{from{width:0%;}to{width:100%;}}
@media (prefers-reduced-motion: reduce){
  .splash-screen img{animation:none;}
  .splash-bar::after{animation:none;width:100%;}
}
@media (max-width:420px){
  .splash-text .splash-line2{font-size:1.3rem;}
}
