@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Work+Sans:wght@400;500;600;700&display=swap');

:root{
  --ink:#1c1b17;
  --paper:#faf8f3;
  --paper-card:#ffffff;
  --indigo:#2b3a55;
  --indigo-deep:#12192a;
  --gold:#c08a28;
  --brick:#a24e36;
  --line: rgba(28,27,23,0.12);
  --muted:#6b6656;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Manrope', Arial, sans-serif;
  line-height:1.55;
  padding-bottom:64px;
}
h1,h2,h3{font-family:'Newsreader', Georgia, serif; font-weight:500; letter-spacing:-0.015em; line-height:1.08;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1120px; margin:0 auto; padding:0 28px;}
@media (max-width:640px){.wrap{padding:0 20px;}}
ul{list-style:none;}

/* NAV */
header.site-nav{position:fixed; top:0; left:0; right:0; z-index:80; transition:background .3s, border-color .3s;}
header.site-nav.solid{background:rgba(250,248,243,0.95); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
header.site-nav.transparent{background:linear-gradient(to bottom, rgba(18,25,42,0.55), transparent); border-bottom:1px solid transparent;}
.nav-inner{max-width:1120px; margin:0 auto; padding:18px 28px; display:flex; align-items:center; justify-content:space-between;}
.brand{font-family:'Newsreader', Georgia, serif; font-size:1.2rem; font-weight:600; display:flex; align-items:center; gap:10px;}
.solid .brand, .solid nav.links a{color:var(--ink);}
.transparent .brand, .transparent nav.links a{color:#fdfbf6;}
.brand-mark{width:32px; height:32px; border-radius:50%; background:conic-gradient(from 200deg, var(--gold), var(--indigo)); flex-shrink:0;}
nav.links{display:flex; gap:28px; font-size:0.94rem;}
nav.links a{padding:4px 0; border-bottom:2px solid transparent; transition:border-color .15s, opacity .15s; opacity:0.92;}
nav.links a:hover{border-color:var(--gold); opacity:1;}
nav.links a.active{border-color:var(--gold); opacity:1;}
.nav-toggle{display:none; background:none; border:none; font-size:1.6rem; cursor:pointer;}
.solid .nav-toggle{color:var(--ink);}
.transparent .nav-toggle{color:#fdfbf6;}
@media (max-width:900px){
  nav.links{position:fixed; inset:64px 0 0 0; background:var(--paper); flex-direction:column; padding:24px 28px; gap:2px; transform:translateY(-110%); transition:transform .25s ease; border-top:1px solid var(--line);}
  nav.links.open{transform:translateY(0);}
  nav.links a{color:var(--ink) !important; font-size:1.2rem; padding:14px 4px; border-bottom:1px solid var(--line); opacity:1;}
  .nav-toggle{display:block;}
}

/* SLIDER HERO */
.slider-hero{position:relative; height:92vh; min-height:560px; overflow:hidden; color:#fdfbf6;}
.slide{position:absolute; inset:0; opacity:0; transition:opacity 1.4s ease; background-size:cover; background-position:center;}
.slide.active{opacity:1;}
.slide::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,25,42,0.35) 0%, rgba(18,25,42,0.25) 45%, rgba(18,25,42,0.82) 100%);}
.slide .ken{position:absolute; inset:0; background-size:cover; background-position:center; animation:kenburns 9s ease-in-out infinite alternate;}
@keyframes kenburns{from{transform:scale(1);} to{transform:scale(1.08);}}
.hero-content{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding:0 0 72px;}
.hero-verse{font-family:'Newsreader', Georgia, serif; font-style:italic; font-size:1.05rem; max-width:460px; border-left:3px solid var(--gold); padding-left:16px; margin-bottom:22px; opacity:.95;}
.hero-content h1{font-size:clamp(2.4rem,5.5vw,4.1rem); max-width:760px;}
.hero-cta{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.dots{position:absolute; bottom:28px; right:28px; z-index:3; display:flex; gap:8px;}
.dots .d{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.4); cursor:pointer; transition:background .2s, width .2s;}
.dots .d.active{background:#fdfbf6; width:22px; border-radius:5px;}

/* Inner page hero (no slider) */
.page-hero{padding:170px 0 60px; background:var(--indigo-deep); color:#f3efe4;}
.page-hero .page-url{color:rgba(243,239,228,0.6);}
.page-hero h1{font-size:clamp(2rem,4vw,3rem); max-width:680px;}
.page-hero p.lead{margin-top:16px; max-width:560px; font-size:1.05rem; color:rgba(243,239,228,0.82);}

.btn{display:inline-block; padding:14px 28px; border-radius:2px; font-size:0.94rem; font-weight:600; cursor:pointer; border:1px solid transparent;}
.btn-primary{background:var(--gold); color:var(--indigo-deep);}
.btn-primary:hover{background:#d59b34;}
.btn-outline{border-color:rgba(255,255,255,0.7); color:#fdfbf6;}
.btn-outline:hover{background:rgba(255,255,255,0.12);}
.btn-dark{background:var(--indigo); color:#fdfbf6;}
.btn-dark:hover{background:var(--indigo-deep);}

.page-url{display:inline-flex; align-items:center; gap:8px; font-size:0.78rem; color:var(--muted); margin-bottom:16px;}
.page-url .dot{width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0;}

section{padding:88px 0;}
section h2{font-size:clamp(1.7rem,3.2vw,2.3rem); margin-bottom:10px;}
.section-lead{color:var(--muted); max-width:600px; margin-bottom:44px; font-size:1.02rem;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:44px;}
.link-more{font-size:0.9rem; font-weight:600; color:var(--indigo); border-bottom:1px solid var(--indigo); white-space:nowrap;}
.alt{background:var(--paper-card); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}

/* strip */
.strip{background:var(--indigo); color:#f4efe2; padding:18px 0;}
.strip .wrap{display:flex; flex-wrap:wrap; gap:16px 32px; align-items:center; justify-content:space-between; font-size:0.92rem;}
.strip .item{display:flex; align-items:center; gap:10px;}
.strip .item b{font-family:'Newsreader', Georgia, serif; font-weight:500; font-size:1rem;}

/* teaser cards */
.teaser-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media (max-width:900px){.teaser-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.teaser-grid{grid-template-columns:1fr;}}
.teaser-card{background:var(--indigo-deep); color:#f0ead9; padding:26px 22px; min-height:170px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden;}
.teaser-card::after{content:""; position:absolute; inset:0; background:repeating-linear-gradient(125deg, rgba(255,255,255,0.05) 0 2px, transparent 2px 24px);}
.teaser-card h4{position:relative; font-family:'Newsreader', Georgia, serif; font-weight:500; font-size:1.12rem; margin-bottom:6px;}
.teaser-card p{position:relative; font-size:0.85rem; opacity:.82; line-height:1.45;}
.teaser-card:nth-child(2){background:var(--brick);}
.teaser-card:nth-child(3){background:var(--indigo);}
.teaser-card:nth-child(4){background:#5c4a2e;}

/* value / truth cards */
.vm-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:56px;}
@media (max-width:720px){.vm-grid{grid-template-columns:1fr;}}
.vm-card{background:var(--paper-card); border:1px solid var(--line); padding:34px;}
.vm-card .tag{font-size:0.78rem; color:var(--brick); font-weight:600; margin-bottom:10px;}
.vm-card p{font-family:'Newsreader', Georgia, serif; font-size:1.2rem; font-style:italic; line-height:1.5;}
.vm-card small{display:block; margin-top:14px; color:var(--muted); font-size:0.82rem; font-family:'Manrope', Arial, sans-serif; font-style:normal;}

.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:900px){.values-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.values-grid{grid-template-columns:1fr;}}
.value-card{background:var(--paper-card); border:1px solid var(--line); padding:22px;}
.value-card h4{font-size:1.02rem; font-weight:600; margin-bottom:6px;}
.value-card p{font-size:0.88rem; color:var(--muted); margin-bottom:10px;}
.value-card .ref{font-size:0.76rem; color:var(--gold); font-weight:600;}

/* truths accordion */
.truth{border-bottom:1px solid var(--line);}
.truth summary{padding:20px 0; cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-family:'Newsreader', Georgia, serif; font-size:1.05rem; list-style:none;}
.truth summary::-webkit-details-marker{display:none;}
.truth summary::after{content:"+"; font-size:1.4rem; color:var(--gold); transition:transform .2s;}
.truth[open] summary::after{transform:rotate(45deg);}
.truth .body{padding:0 0 22px; color:var(--muted); font-size:0.92rem; max-width:680px;}
.truth .ref{color:var(--gold); font-weight:600; font-size:0.8rem; display:block; margin-top:8px;}

/* timeline */
.timeline{display:flex; flex-direction:column; border-left:2px solid var(--line); margin-left:6px;}
.t-item{padding:0 0 38px 28px; position:relative;}
.t-item::before{content:""; position:absolute; left:-7px; top:2px; width:12px; height:12px; border-radius:50%; background:var(--gold); border:2px solid var(--paper);}
.t-item .yr{font-family:'Newsreader', Georgia, serif; font-weight:600; color:var(--indigo); font-size:1.1rem;}
.t-item p{color:var(--muted); font-size:0.94rem; max-width:560px; margin-top:4px;}
.mm33{background:var(--indigo); color:#f4efe2; padding:30px; margin-top:16px;}
.mm33 b{font-family:'Newsreader', Georgia, serif; font-size:1.1rem; display:block; margin-bottom:8px;}

/* ministry cards */
.min-filter{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px;}
.min-filter button{font-family:inherit; font-size:0.85rem; padding:9px 16px; background:var(--paper-card); border:1px solid var(--line); cursor:pointer; color:var(--ink);}
.min-filter button.active{background:var(--indigo); color:#fff; border-color:var(--indigo);}
.min-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
@media (max-width:760px){.min-grid{grid-template-columns:1fr;}}
.min-card{background:var(--paper-card); border:1px solid var(--line); display:flex; flex-direction:column;}
.min-card[hidden]{display:none !important;}
.min-card .ph{height:150px; background:linear-gradient(150deg,var(--indigo),var(--indigo-deep)); flex-shrink:0;}
.min-card .body{padding:24px;}
.min-card .cat{font-size:0.72rem; color:var(--brick); font-weight:700; margin-bottom:8px;}
.min-card h3{font-size:1.12rem; font-family:'Manrope', Arial, sans-serif; font-weight:600; margin-bottom:4px;}
.min-card .resp{font-size:0.82rem; color:var(--muted); margin-bottom:12px;}
.min-card p{font-size:0.9rem; color:var(--muted); margin-bottom:14px;}
.min-card .vv{font-size:0.82rem; border-top:1px solid var(--line); padding-top:12px;}
.min-card .vv b{color:var(--ink);}
.min-card .valores{font-size:0.76rem; color:var(--gold); font-weight:600; margin-top:10px;}

/* sermons */
.filter-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; padding:18px; background:var(--paper-card); border:1px solid var(--line);}
.filter-row select, .filter-row input{font-family:inherit; font-size:0.88rem; padding:10px 14px; border:1px solid var(--line); background:#fff; color:var(--ink);}
.sermon-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:900px){.sermon-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.sermon-grid{grid-template-columns:1fr;}}
.sermon-card{background:var(--paper-card); border:1px solid var(--line);}
.thumb{aspect-ratio:16/10; background:var(--indigo-deep); position:relative; display:flex; align-items:center; justify-content:center; background-size:cover; background-position:center;}
.thumb::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,25,42,0.1), rgba(18,25,42,0.55));}
.thumb .play{position:relative; z-index:1; width:44px; height:44px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center;}
.thumb .play::after{content:""; border-left:14px solid var(--indigo-deep); border-top:9px solid transparent; border-bottom:9px solid transparent; margin-left:4px;}
.sermon-body{padding:18px 20px;}
.sermon-body h4{font-size:1rem; font-weight:600; margin-bottom:6px;}
.sermon-body .meta{font-size:0.78rem; color:var(--muted);}
.sermon-body .tag{display:inline-block; margin-top:10px; font-size:0.72rem; color:var(--brick); font-weight:700;}

/* medios */
.medios-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px;}
@media (max-width:820px){.medios-grid{grid-template-columns:1fr;}}
.media-card{background:var(--paper-card); border:1px solid var(--line); padding:32px;}
.media-card h3{font-size:1.25rem; margin-bottom:10px;}
.media-card p.desc{font-size:0.92rem; color:var(--muted); margin-bottom:20px;}
.grid-row{display:flex; justify-content:space-between; padding:12px 0; border-top:1px solid var(--line); font-size:0.9rem;}
.grid-row:first-of-type{border-top:none;}
.radio-embed{background:var(--indigo); color:#f4efe2; padding:24px; display:flex; align-items:center; gap:16px; margin-top:8px;}
.radio-embed .rbtn{width:48px; height:48px; border-radius:50%; background:var(--gold); flex-shrink:0; cursor:pointer; border:none; display:flex; align-items:center; justify-content:center;}
.radio-embed .rbtn .bar{display:flex; gap:3px;}
.radio-embed .rbtn .bar span{width:3px; background:var(--indigo-deep); animation:eq 0.9s infinite ease-in-out;}
.radio-embed .rbtn .bar span:nth-child(1){height:8px;}
.radio-embed .rbtn .bar span:nth-child(2){height:15px; animation-delay:.15s;}
.radio-embed .rbtn .bar span:nth-child(3){height:6px; animation-delay:.3s;}
@keyframes eq{0%,100%{transform:scaleY(1);}50%{transform:scaleY(0.4);}}
.radio-embed .txt small{opacity:.75; display:block; font-size:0.72rem; letter-spacing:.03em;}
.radio-embed .txt b{font-family:'Newsreader', Georgia, serif; font-weight:500; font-size:1.05rem;}

/* schedule */
.schedule{border:1px solid var(--line); background:var(--paper-card);}
.s-row{display:grid; grid-template-columns:1.3fr 1fr 1fr; padding:17px 24px; border-top:1px solid var(--line); font-size:0.92rem; align-items:center;}
.s-row:first-child{border-top:none; background:var(--indigo); color:#f4efe2; font-weight:600; font-size:0.8rem;}
@media (max-width:600px){.s-row{grid-template-columns:1fr; gap:2px; padding:16px 20px;} .s-row span.lbl{font-size:0.72rem; opacity:.6;}}

/* contact */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}
.map-block{background:var(--indigo-deep); aspect-ratio:4/3; position:relative; overflow:hidden;}
.map-block::after{content:""; position:absolute; inset:0; background:repeating-linear-gradient(60deg, rgba(255,255,255,.05) 0 2px, transparent 2px 30px);}
.map-block span{position:absolute; bottom:18px; left:18px; color:#f0ead9; font-size:0.82rem;}
.info-line{display:flex; gap:16px; padding:16px 0; border-top:1px solid var(--line); font-size:0.94rem;}
.info-line:first-of-type{border-top:none;}
.info-line .k{width:36px; height:36px; border-radius:50%; background:var(--indigo); flex-shrink:0;}
.invite-box{margin-top:28px; background:var(--gold); color:var(--indigo-deep); padding:26px; font-family:'Newsreader', Georgia, serif; font-size:1.08rem; font-style:italic;}

footer{background:var(--indigo-deep); color:#cfc9b5; padding:50px 0 110px;}
.foot-grid{display:flex; justify-content:space-between; flex-wrap:wrap; gap:30px; font-size:0.85rem;}
.foot-brand{font-family:'Newsreader', Georgia, serif; color:#f4efe2; font-size:1.15rem; margin-bottom:10px;}
.foot-col h5{color:#f4efe2; font-size:0.8rem; letter-spacing:.02em; margin-bottom:10px; font-weight:600;}
.foot-col a, .foot-col p{display:block; opacity:.85; margin-bottom:6px;}

/* PERSISTENT RADIO BAR */
.radio-bar{position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--indigo-deep); color:#f4efe2; border-top:1px solid rgba(244,239,226,0.15); display:flex; align-items:center; gap:14px; padding:11px 24px;}
.radio-bar .rb-btn{width:40px; height:40px; border-radius:50%; background:var(--gold); border:none; flex-shrink:0; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.radio-bar .rb-btn .play-ico{border-left:11px solid var(--indigo-deep); border-top:7px solid transparent; border-bottom:7px solid transparent; margin-left:3px;}
.radio-bar .rb-btn .pause-ico{display:flex; gap:3px;}
.radio-bar .rb-btn .pause-ico span{width:3px; height:13px; background:var(--indigo-deep);}
.radio-bar .rb-text{font-size:0.82rem; flex:1; min-width:0;}
.radio-bar .rb-text small{display:block; opacity:.7; font-size:0.68rem; letter-spacing:.03em;}
.radio-bar .rb-text b{font-family:'Newsreader', Georgia, serif; font-weight:500;}
.radio-bar .rb-live{background:var(--brick); font-size:0.65rem; font-weight:700; padding:4px 8px; flex-shrink:0;}
.radio-bar .rb-vol{display:none;}
@media (min-width:600px){.radio-bar .rb-vol{display:block; width:80px; accent-color:var(--gold);}}

/* ============================================================
   2026 MODERN RESPONSIVE REFRESH
   ============================================================ */
:root{
  --paper:#f7f6f1;
  --paper-card:#ffffff;
  --ink:#171814;
  --muted:#6d7067;
  --indigo:#273754;
  --indigo-deep:#0d1728;
  --gold:#d3a145;
  --brick:#a94f3b;
  --line:rgba(23,24,20,.10);
  --radius-sm:12px;
  --radius:20px;
  --radius-lg:30px;
  --shadow-sm:0 10px 35px rgba(13,23,40,.07);
  --shadow-lg:0 24px 70px rgba(13,23,40,.14);
}

body{
  min-height:100vh;
  padding-bottom:84px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open{overflow:hidden;}
#pageContent{outline:none; min-height:50vh;}
body.page-loading #pageContent{opacity:.72; transition:opacity .18s ease;}
.wrap{max-width:1180px; padding-inline:32px;}

/* Navigation */
header.site-nav{z-index:100;}
header.site-nav.solid{
  background:rgba(247,246,241,.86);
  border-bottom:1px solid rgba(23,24,20,.08);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
  box-shadow:0 4px 26px rgba(13,23,40,.035);
}
header.site-nav.transparent{background:linear-gradient(180deg,rgba(7,14,26,.62),rgba(7,14,26,0));}
.nav-inner{max-width:1180px; min-height:76px; padding:12px 32px;}
.brand{font-size:1.16rem; letter-spacing:-.02em;}
.brand-mark{
  width:38px; height:38px; border-radius:13px;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.45), transparent 24%),
    linear-gradient(145deg,var(--gold),#a97826 45%,var(--indigo) 46%);
  box-shadow:0 8px 20px rgba(13,23,40,.18);
}
nav.links{gap:6px; font-size:.88rem; font-weight:600;}
nav.links a{border:0; padding:9px 12px; border-radius:999px; transition:background .2s,color .2s,transform .2s;}
.solid nav.links a:hover,.solid nav.links a.active{background:rgba(39,55,84,.08); color:var(--indigo);}
.transparent nav.links a:hover,.transparent nav.links a.active{background:rgba(255,255,255,.12); color:#fff;}
.nav-toggle{width:44px;height:44px;border-radius:14px;align-items:center;justify-content:center;line-height:1;}
.solid .nav-toggle{background:#fff;box-shadow:var(--shadow-sm);}
.transparent .nav-toggle{background:rgba(255,255,255,.12);}

/* Heroes */
.slider-hero{height:min(880px,92svh); min-height:650px; border-radius:0;}
.slide::after{background:linear-gradient(180deg,rgba(9,18,32,.35) 0%,rgba(9,18,32,.22) 42%,rgba(9,18,32,.90) 100%);}
.hero-content{padding-bottom:92px;}
.hero-content h1{font-size:clamp(3rem,6.5vw,5.2rem);max-width:920px;text-wrap:balance;}
.hero-verse{font-size:1rem;max-width:560px;border-left:0;padding:11px 16px;margin-bottom:24px;border-radius:999px;background:rgba(255,255,255,.10);backdrop-filter:blur(10px);}
.hero-cta{gap:12px;margin-top:34px;}
.dots{bottom:34px;right:max(32px,calc((100vw - 1180px)/2 + 32px));}
.page-hero{
  position:relative; overflow:hidden;
  padding:158px 0 72px;
  background:
    radial-gradient(circle at 88% 22%,rgba(211,161,69,.20),transparent 24%),
    radial-gradient(circle at 12% 120%,rgba(81,105,146,.32),transparent 32%),
    linear-gradient(135deg,#0c172a,#172742 60%,#111f34);
}
.page-hero::after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-120px;top:50px;box-shadow:0 0 0 56px rgba(255,255,255,.018),0 0 0 112px rgba(255,255,255,.012);pointer-events:none;}
.page-hero h1{font-size:clamp(2.6rem,5vw,4.4rem);text-wrap:balance;}
.page-hero p.lead{font-size:1.08rem;max-width:650px;}
.page-url{font-weight:700;letter-spacing:.04em;text-transform:uppercase;}

/* Buttons and general sections */
.btn{border-radius:999px;padding:14px 24px;transition:transform .2s,box-shadow .2s,background .2s;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{box-shadow:0 10px 25px rgba(211,161,69,.22);}
.btn-outline{background:rgba(255,255,255,.06);backdrop-filter:blur(8px);}
section{padding:96px 0;}
section h2{font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.03em;text-wrap:balance;}
.section-lead{font-size:1rem;line-height:1.75;}
.alt{background:linear-gradient(180deg,#fff,rgba(255,255,255,.72));}
.section-head{margin-bottom:42px;}
.link-more{border:0;background:rgba(39,55,84,.07);padding:10px 14px;border-radius:999px;}
.strip{margin-top:-1px;padding:16px 0;background:#182840;}
.strip .wrap{gap:12px 28px;}

/* Cards */
.teaser-grid{gap:20px;}
.teaser-card{border-radius:var(--radius);min-height:190px;padding:28px;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s;}
.teaser-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.teaser-card::after{opacity:.45;}
.vm-grid{gap:22px;}
.vm-card,.value-card,.min-card,.sermon-card,.media-card,.schedule{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border-color:rgba(23,24,20,.075);}
.vm-card{padding:38px;}
.value-card{padding:24px;transition:transform .2s,box-shadow .2s;}
.value-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.truth{background:#fff;border:1px solid var(--line);border-bottom:0;padding:0 22px;}
.truth:first-of-type{border-radius:var(--radius) var(--radius) 0 0;}
.truth:last-of-type{border-bottom:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);}
.truth summary{padding:22px 4px;}
.mm33{border-radius:var(--radius);background:linear-gradient(135deg,var(--indigo),#16243a);box-shadow:var(--shadow-sm);}
.min-filter{gap:8px;}
.min-filter button{border-radius:999px;padding:10px 17px;background:rgba(255,255,255,.8);font-weight:600;}
.min-card .ph{height:170px;background:linear-gradient(145deg,#304568,#111e33);}
.min-card .body{padding:26px;}
.filter-row{border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-sm);}
.filter-row select,.filter-row input{border-radius:12px;min-height:44px;outline:none;}
.sermon-card{transition:transform .2s,box-shadow .2s;}
.sermon-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.thumb .play{width:52px;height:52px;box-shadow:0 10px 25px rgba(0,0,0,.18);}
.media-card{padding:34px;}
.radio-embed{border-radius:16px;}
.schedule{overflow:hidden;}
.contact-grid{align-items:start;}
.map-block{border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.invite-box{border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.info-line .k{background:linear-gradient(145deg,var(--indigo),#4f6587);}

/* Footer */
footer{padding:64px 0 128px;background:linear-gradient(145deg,#0c1524,#101d31);}
.foot-grid{gap:44px;}
.foot-col a{padding:2px 0;transition:opacity .2s,transform .2s;}
.foot-col a:hover{opacity:1;transform:translateX(2px);}

/* Persistent player: remains outside #pageContent so SPA navigation never kills it */
.radio-bar{
  left:50%;right:auto;bottom:16px;transform:translateX(-50%);
  width:min(720px,calc(100% - 32px));
  min-height:66px;padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);border-radius:22px;
  background:rgba(9,17,30,.94);
  -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 18px 55px rgba(7,13,24,.32);
}
.radio-bar .rb-btn{width:46px;height:46px;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 22px rgba(211,161,69,.18);}
.radio-bar .rb-btn:hover{transform:scale(1.04);}
.radio-bar.is-playing .rb-live{box-shadow:0 0 0 6px rgba(169,79,59,.12);}
.radio-bar .rb-text small{font-weight:700;letter-spacing:.08em;}
.radio-bar .rb-text b{font-family:'Manrope', Arial, sans-serif;font-size:.88rem;font-weight:600;}
.radio-bar .rb-live{border-radius:999px;padding:5px 9px;}
.radio-bar .rb-vol{width:90px;}

/* Tablet/mobile */
@media (max-width:900px){
  .wrap{padding-inline:24px;}
  .nav-inner{padding-inline:20px;min-height:70px;}
  .nav-toggle{display:flex;position:relative;z-index:2;}
  nav.links{
    inset:78px 14px auto 14px;
    max-height:calc(100dvh - 108px);overflow:auto;
    padding:10px;background:rgba(250,249,245,.98);border:1px solid var(--line);
    border-radius:22px;box-shadow:0 26px 80px rgba(13,23,40,.20);
    gap:2px;transform:translateY(-14px) scale(.98);opacity:0;pointer-events:none;
    transition:transform .22s ease,opacity .22s ease;
  }
  nav.links.open{transform:none;opacity:1;pointer-events:auto;}
  nav.links a{font-size:1rem;padding:13px 14px;border:0!important;border-radius:14px;color:var(--ink)!important;}
  nav.links a.active{background:rgba(39,55,84,.09);color:var(--indigo)!important;}
  .slider-hero{height:82svh;min-height:620px;border-radius:0;}
  .hero-content{padding-bottom:76px;}
  .page-hero{padding:136px 0 62px;}
  section{padding:76px 0;}
  .values-grid{grid-template-columns:repeat(2,1fr);}
  .sermon-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:640px){
  body{padding-bottom:92px;}
  .wrap{padding-inline:18px;}
  .brand{font-size:1.05rem;gap:9px;}
  .brand-mark{width:34px;height:34px;border-radius:11px;}
  .slider-hero{height:86svh;min-height:600px;}
  .hero-content{padding-bottom:74px;}
  .hero-content h1{font-size:clamp(2.55rem,12vw,4rem);line-height:1.01;}
  .hero-verse{font-size:.88rem;line-height:1.45;border-radius:16px;}
  .hero-cta{display:grid;grid-template-columns:1fr;width:100%;}
  .hero-cta .btn{text-align:center;width:100%;}
  .dots{bottom:24px;right:18px;}
  .page-hero{padding:122px 0 52px;}
  .page-hero::after{width:220px;height:220px;right:-100px;top:60px;}
  .page-hero h1{font-size:clamp(2.45rem,12vw,3.45rem);}
  .page-hero p.lead{font-size:.98rem;line-height:1.65;}
  section{padding:62px 0;}
  section h2{font-size:clamp(2rem,10vw,2.65rem);}
  .section-head{margin-bottom:28px;align-items:flex-start;}
  .section-lead{margin-bottom:30px;}
  .strip .wrap{display:grid;grid-template-columns:1fr;gap:10px;}
  .strip .item{font-size:.84rem;}
  .teaser-grid,.vm-grid,.values-grid,.min-grid,.sermon-grid,.medios-grid,.contact-grid{grid-template-columns:1fr;}
  .teaser-card{min-height:154px;padding:23px;}
  .vm-card{padding:26px;}
  .value-card{padding:20px;}
  .min-filter{flex-wrap:nowrap;overflow:auto;margin-inline:-18px;padding:0 18px 10px;scrollbar-width:none;}
  .min-filter::-webkit-scrollbar{display:none;}
  .min-filter button{flex:0 0 auto;}
  .filter-row{display:grid;grid-template-columns:1fr;padding:12px;}
  .filter-row select,.filter-row input{width:100%;}
  .media-card{padding:24px;}
  .radio-embed{padding:18px;}
  .s-row{grid-template-columns:1fr;gap:4px;padding:17px 18px;}
  .truth{padding-inline:16px;}
  .truth summary{font-size:1rem;gap:16px;}
  .timeline{margin-left:4px;}
  footer{padding:54px 0 126px;}
  .foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 22px;}
  .foot-grid>div:first-child{grid-column:1/-1;}
  .radio-bar{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 20px);min-height:64px;border-radius:19px;padding:8px 10px;gap:10px;}
  .radio-bar .rb-btn{width:44px;height:44px;}
  .radio-bar .rb-text small{font-size:.59rem;}
  .radio-bar .rb-text b{font-size:.80rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
  .radio-bar .rb-live{font-size:.58rem;padding:4px 7px;}
  .radio-bar .rb-vol{display:none;}
}

@media (max-width:390px){
  .brand{font-size:.98rem;}
  .foot-grid{grid-template-columns:1fr;}
  .foot-grid>div:first-child{grid-column:auto;}
  .radio-bar .rb-live{display:none;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

/* ===== CMS / PHP dynamic additions ===== */
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.content-card{background:#fff;border:1px solid rgba(23,24,20,.08);border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(22,34,50,.07)}.content-card>img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.content-card-body{padding:22px}.content-card-body small{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:8px}.content-card-body h3{font-family:var(--serif);font-size:1.35rem;margin:0 0 10px}.content-card-body p{color:var(--muted);line-height:1.6}.min-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.min-card{background:#fff}.min-card .card-cover{width:100%;aspect-ratio:16/9;object-fit:cover}.min-card .min-body{padding:22px}.min-card .min-body>small{color:var(--gold);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:700}.min-card h3{margin:7px 0 10px;font-family:var(--serif)}.article-layout{max-width:900px}.article-cover{width:100%;max-height:520px;object-fit:cover;border-radius:20px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.article-meta{color:var(--muted);font-size:.88rem;margin:0 0 22px}.rich-content{font-size:1rem;line-height:1.75}.rich-content h2,.rich-content h3,.rich-content h4{font-family:var(--serif);line-height:1.2;margin-top:1.6em}.rich-content a{color:#284d77;text-decoration:underline;text-underline-offset:3px}.rich-content img{max-width:100%;height:auto}.rich-content table{width:100%;border-collapse:collapse}.rich-content th,.rich-content td{border:1px solid var(--line);padding:9px}.video-frame{position:relative;aspect-ratio:16/9;background:#0e1724;border-radius:18px;overflow:hidden;margin:22px 0}.video-frame iframe{width:100%;height:100%;border:0}.media-player{display:block;width:100%;max-height:560px;background:#111;border-radius:18px;margin:22px 0}.audio-player{width:100%;margin:18px 0}.event-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 26px}.event-facts>div{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.event-facts small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.article-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.dark-outline{color:var(--ink)!important;border-color:var(--line)!important;background:#fff}.empty-state{grid-column:1/-1;padding:35px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:#fff}.slider-hero,.slider-hero .slide,.slider-hero .ken{border-radius:0!important}
@media(max-width:900px){.content-grid,.min-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-facts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.content-grid,.min-grid,.event-facts{grid-template-columns:1fr}.content-card-body{padding:18px}.article-cover{border-radius:14px}}

/* ===== Contacto: ubicacion, WhatsApp y redes ===== */
.contact-section-head{margin-bottom:24px}
.contact-section-head .section-lead{margin:8px 0 0;max-width:760px}
.contact-intro{max-width:900px;margin:0 0 32px}
.contact-grid-modern{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:52px;align-items:start}
.contact-details{display:grid;gap:0}
.contact-card{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;padding:19px 0;border-bottom:1px solid var(--line)}
.contact-card:first-child{padding-top:0}
.contact-card-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--indigo),#4f6587);color:#fff;font-size:1rem;box-shadow:0 8px 20px rgba(29,48,77,.13)}
.contact-label{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:6px}
.contact-card strong,.contact-main-link{display:block;color:var(--ink);font-size:1rem;font-weight:700;line-height:1.45;text-decoration:none}
.contact-card p{margin:4px 0 0;color:var(--muted);font-size:.9rem;line-height:1.55}
.contact-main-link:hover{text-decoration:underline;text-underline-offset:3px}
.contact-social-block{padding:22px 0 4px}
.contact-socials{display:flex;flex-wrap:wrap;gap:9px}
.contact-social-link{display:inline-flex;align-items:center;min-height:40px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.82rem;font-weight:700;text-decoration:none;transition:.2s ease}
.contact-social-link:hover{transform:translateY(-1px);border-color:rgba(29,48,77,.35);box-shadow:0 8px 20px rgba(29,48,77,.08)}
.contact-whatsapp-btn{display:inline-flex;margin-top:16px;color:var(--indigo-deep);font-family:var(--sans);font-size:.84rem;font-style:normal;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.contact-map-wrap{min-width:0}
.map-block.map-google{aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:#e9ecef;box-shadow:var(--shadow-sm);border:1px solid rgba(23,24,20,.07)}
.map-block.map-google::after{display:none}
.map-block.map-google iframe{display:block;width:100%;height:100%;border:0}
.map-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 2px 0}
.map-caption strong{display:block;max-width:390px;font-size:.9rem;line-height:1.5}
.map-caption .btn{flex:0 0 auto;white-space:nowrap}

@media(max-width:900px){
  .contact-grid-modern{grid-template-columns:1fr;gap:34px}
  .contact-map-wrap{order:-1}
  .map-block.map-google{aspect-ratio:16/10}
}
@media(max-width:620px){
  .map-block.map-google{aspect-ratio:1/1;border-radius:18px}
  .map-caption{align-items:flex-start;flex-direction:column}
  .map-caption .btn{width:100%;justify-content:center;text-align:center}
  .contact-card{grid-template-columns:40px 1fr;gap:13px;padding:16px 0}
  .contact-card-icon{width:38px;height:38px}
  .contact-socials{gap:7px}
  .contact-social-link{font-size:.78rem;padding:8px 12px}
  .invite-box{padding:22px}
}

/* ===== Contacto v2: layout ordenado ===== */
.contact-section{padding-top:72px;background:var(--paper)}
.contact-section .wrap{max-width:1180px}
.contact-section-head{margin-bottom:38px}
.contact-section-head h2{margin:0 0 10px}
.contact-section-head .section-lead{max-width:820px;margin:0;color:var(--muted)}
.contact-intro{display:none}

.contact-grid.contact-grid-modern{
  display:grid!important;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)!important;
  gap:44px!important;
  align-items:start!important;
}
.contact-details{
  display:flex!important;
  flex-direction:column;
  gap:0!important;
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 18px 48px rgba(20,31,48,.07);
}
.contact-card{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:15px!important;
  align-items:center!important;
  padding:18px 0!important;
  border-bottom:1px solid var(--line)!important;
  background:transparent!important;
}
.contact-card:first-child{padding-top:0!important}
.contact-card-icon{
  width:42px!important;height:42px!important;
  display:grid!important;place-items:center!important;
  border-radius:13px!important;
  background:rgba(39,55,84,.08)!important;
  color:var(--indigo)!important;
  font-size:1.05rem!important;
  box-shadow:none!important;
}
.contact-label{
  display:block!important;
  margin:0 0 5px!important;
  color:var(--muted)!important;
  font-size:.70rem!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.contact-card strong,.contact-main-link{
  display:block!important;
  color:var(--ink)!important;
  font-size:1rem!important;
  font-weight:750!important;
  line-height:1.4!important;
  text-decoration:none!important;
}
.contact-card p{margin:3px 0 0!important;color:var(--muted)!important;line-height:1.5!important}
.contact-social-block{padding:22px 0 2px!important}
.contact-socials{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.contact-social-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:8px 13px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:#f8f8f6!important;
  color:var(--indigo)!important;
  font-size:.79rem!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.contact-social-link:hover{background:#fff!important;border-color:rgba(39,55,84,.28)!important}
.contact-details .invite-box{
  margin:24px 0 0!important;
  padding:22px!important;
  border-radius:18px!important;
  background:var(--gold)!important;
  color:var(--indigo-deep)!important;
  box-shadow:none!important;
  font-size:1rem!important;
  line-height:1.55!important;
}
.contact-whatsapp-btn{
  display:flex!important;
  width:max-content;
  margin-top:12px!important;
  border:0!important;
  padding:0!important;
  color:var(--indigo-deep)!important;
  font-size:.83rem!important;
  font-weight:900!important;
  text-decoration:underline!important;
  text-underline-offset:4px;
}
.contact-map-wrap{
  min-width:0!important;
  padding:0!important;
}
.map-block.map-google{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
  border-radius:24px!important;
  border:1px solid var(--line)!important;
  background:#e9ecef!important;
  box-shadow:0 18px 48px rgba(20,31,48,.09)!important;
}
.map-block.map-google::before,.map-block.map-google::after{display:none!important;content:none!important}
.map-block.map-google iframe{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
}
.map-caption{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  padding:18px 4px 0!important;
}
.map-caption strong{display:block!important;max-width:520px!important;font-size:.93rem!important;line-height:1.45!important}
.map-caption .btn{white-space:nowrap!important}

@media(max-width:900px){
  .contact-grid.contact-grid-modern{grid-template-columns:1fr!important;gap:28px!important}
  .contact-map-wrap{order:0!important}
  .contact-details{order:1!important}
  .map-block.map-google{aspect-ratio:16/9!important}
}
@media(max-width:620px){
  .contact-section{padding-top:54px}
  .contact-section-head{margin-bottom:26px}
  .contact-details{padding:20px;border-radius:20px}
  .contact-card{grid-template-columns:40px minmax(0,1fr)!important;gap:12px!important;padding:15px 0!important}
  .contact-card-icon{width:38px!important;height:38px!important;border-radius:11px!important}
  .map-block.map-google{aspect-ratio:4/3!important;border-radius:18px!important}
  .map-caption{grid-template-columns:1fr!important;gap:14px!important;padding-top:14px!important}
  .map-caption .btn{width:100%!important;text-align:center!important;justify-content:center!important}
  .contact-details .invite-box{padding:19px!important;border-radius:16px!important}
}

/* ===== Footer: social links as icons only ===== */
.footer-social-icons{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.foot-col .footer-social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin:0;
  padding:0;
  border:1px solid rgba(244,239,226,.16);
  border-radius:50%;
  color:#f4efe2;
  background:rgba(255,255,255,.045);
  opacity:1;
  transform:none;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.foot-col .footer-social-icon svg{
  width:19px;
  height:19px;
  display:block;
  fill:currentColor;
}
.foot-col .footer-social-icon:hover{
  opacity:1;
  transform:translateY(-3px);
  color:var(--indigo-deep);
  background:var(--gold);
  border-color:var(--gold);
}
.foot-col .footer-social-icon:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
@media(max-width:640px){
  .footer-social-icons{gap:9px}
  .foot-col .footer-social-icon{width:40px;height:40px}
  .foot-col .footer-social-icon svg{width:18px;height:18px}
}

/* ===== Footer compacto + elimina espacio blanco inferior ===== */
body{
  padding-bottom:0!important;
}
footer{
  min-height:0!important;
  padding:42px 0 94px!important;
}
.foot-grid{
  gap:30px!important;
  align-items:start!important;
}
.foot-brand{
  margin-bottom:6px!important;
}
.foot-col h5{
  margin-bottom:8px!important;
}
.foot-col a,
.foot-col p{
  margin-bottom:4px!important;
}
footer p:last-child{
  margin-bottom:0!important;
}
.footer-social-icons{
  margin-top:8px!important;
}

@media(max-width:640px){
  body{padding-bottom:0!important;}
  footer{padding:38px 0 88px!important;}
  .foot-grid{gap:24px 18px!important;}
}


/* ============================================================
   FAMILIAS DEL REY — CONTEMPORARY EDITORIAL REFRESH
   Solo CSS. No requiere cambios en PHP, HTML, Admin ni BD.
   ============================================================ */
:root{
  --paper:#f3f0e9;
  --paper-card:#fbfaf7;
  --ink:#17191d;
  --muted:#6f716d;
  --indigo:#29364b;
  --indigo-deep:#0d1624;
  --gold:#c79b4a;
  --brick:#98594d;
  --line:rgba(23,25,29,.105);
  --serif:'Newsreader',Georgia,serif;
  --sans:'Manrope',Arial,sans-serif;
  --radius-sm:14px;
  --radius:22px;
  --radius-lg:32px;
  --shadow-sm:0 8px 26px rgba(17,26,40,.055);
  --shadow-lg:0 22px 62px rgba(17,26,40,.11);
}

html{background:var(--paper);}
body{
  font-family:var(--sans);
  background:
    radial-gradient(circle at 7% 2%,rgba(199,155,74,.055),transparent 22rem),
    var(--paper);
  color:var(--ink);
  font-size:15.5px;
  line-height:1.68;
  letter-spacing:-.006em;
}
h1,h2,h3,.brand,.foot-brand,.radio-bar .rb-text b,
.strip .item b,.vm-card p,.truth summary,.t-item .yr,.mm33 b,
.radio-embed .txt b,.content-card-body h3,.min-card h3,
.rich-content h2,.rich-content h3,.rich-content h4{
  font-family:var(--serif);
}
h1,h2,h3{font-weight:500;letter-spacing:-.035em;}
p{letter-spacing:-.008em;}

/* Navegación: más liviana, precisa y editorial */
header.site-nav.solid{
  background:rgba(243,240,233,.86);
  border-bottom-color:rgba(23,25,29,.075);
  box-shadow:none;
  -webkit-backdrop-filter:blur(20px) saturate(135%);
  backdrop-filter:blur(20px) saturate(135%);
}
.nav-inner{min-height:74px;}
.brand{font-size:1.32rem;font-weight:600;letter-spacing:-.035em;}
.brand-mark{border-radius:12px;box-shadow:0 6px 18px rgba(13,22,36,.13);}
nav.links{font-size:.84rem;font-weight:700;letter-spacing:-.01em;}
nav.links a{padding:9px 13px;}
.solid nav.links a:hover{background:rgba(41,54,75,.055);}
.solid nav.links a.active{
  background:var(--indigo);
  color:#fff;
  box-shadow:0 6px 18px rgba(41,54,75,.12);
}

/* Hero: menos genérico, más editorial */
.slider-hero{background:var(--indigo-deep);}
.slide::after{
  background:linear-gradient(180deg,rgba(8,15,26,.24) 0%,rgba(8,15,26,.24) 42%,rgba(8,15,26,.87) 100%);
}
.hero-content h1{
  font-size:clamp(3rem,6.2vw,5.35rem);
  font-weight:500;
  letter-spacing:-.05em;
  line-height:.96;
}
.hero-verse{
  font-family:var(--sans);
  font-style:normal;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.01em;
  background:rgba(249,247,241,.10);
  border:1px solid rgba(255,255,255,.14);
  padding:10px 15px;
}
.page-hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(199,155,74,.16),transparent 25%),
    linear-gradient(128deg,#0b1422 0%,#162238 58%,#202c3f 100%);
}
.page-hero::after{opacity:.55;}
.page-hero h1{font-weight:500;letter-spacing:-.045em;line-height:1;}
.page-hero p.lead{font-family:var(--sans);line-height:1.7;}
.page-url{font-size:.68rem;letter-spacing:.12em;}

/* Secciones y ritmo visual */
section{padding:84px 0;}
section h2{font-weight:500;letter-spacing:-.045em;line-height:1.02;}
.section-lead{color:#777973;line-height:1.75;}
.section-head{margin-bottom:36px;}
.alt{
  background:rgba(251,250,247,.68);
  border-color:rgba(23,25,29,.07);
}

/* Botones: menos pesados */
.btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:-.01em;
  border-radius:999px;
  box-shadow:none;
}
.btn-primary{background:var(--gold);color:#17140d;box-shadow:none;}
.btn-primary:hover{background:#d0a557;box-shadow:0 8px 24px rgba(139,101,37,.16);}
.btn-dark{background:var(--indigo);}
.btn-dark:hover{background:#1f2b3e;}
.link-more{font-size:.82rem;text-underline-offset:5px;border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;}

/* Cards: superficie mate, bordes finos, sombras suaves */
.vm-card,.value-card,.min-card,.sermon-card,.media-card,.schedule,.content-card,
.contact-details,.event-facts>div{
  background:rgba(251,250,247,.94)!important;
  border-color:rgba(23,25,29,.085)!important;
  box-shadow:var(--shadow-sm)!important;
}
.vm-card,.value-card,.min-card,.sermon-card,.media-card,.content-card,.contact-details{
  border-radius:22px!important;
}
.content-card,.min-card,.sermon-card,.value-card{
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.content-card:hover,.min-card:hover,.sermon-card:hover,.value-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 46px rgba(17,26,40,.095)!important;
  border-color:rgba(41,54,75,.16)!important;
}
.content-card-body,.min-card .min-body{padding:24px;}
.content-card-body small,.min-card .min-body>small,.min-card .cat{
  color:#9c712c;
  font-size:.66rem;
  letter-spacing:.11em;
}
.content-card-body h3,.min-card h3{font-size:1.48rem;line-height:1.08;}
.content-card-body p,.min-card p{font-size:.88rem;line-height:1.7;}

/* Filtros */
.min-filter,.filter-row{
  background:rgba(251,250,247,.70);
  border:1px solid rgba(23,25,29,.075);
  border-radius:18px;
  padding:10px;
  box-shadow:none;
}
.min-filter button{
  border-radius:999px;
  border-color:transparent;
  background:transparent;
  font-size:.78rem;
  font-weight:700;
  padding:9px 14px;
}
.min-filter button:hover{background:rgba(41,54,75,.06);}
.min-filter button.active{
  background:var(--indigo);
  color:#fff;
  box-shadow:0 5px 15px rgba(41,54,75,.12);
}
.filter-row select,.filter-row input{
  background:rgba(255,255,255,.72);
  border-color:rgba(23,25,29,.09);
}
.filter-row select:focus,.filter-row input:focus{
  border-color:rgba(41,54,75,.35);
  box-shadow:0 0 0 3px rgba(41,54,75,.07);
}

/* Tarjetas gráficas */
.teaser-card{
  border-radius:22px;
  box-shadow:none;
  border:1px solid rgba(255,255,255,.08);
}
.teaser-card:nth-child(1){background:#121c2d;}
.teaser-card:nth-child(2){background:#765149;}
.teaser-card:nth-child(3){background:#2d3c54;}
.teaser-card:nth-child(4){background:#66543a;}
.teaser-card::after{opacity:.22;}
.teaser-card h4{font-family:var(--serif);font-size:1.32rem;}

/* Artículos, noticias y prédicas */
.article-layout{max-width:880px;}
.article-cover{border-radius:24px;box-shadow:var(--shadow-sm);}
.rich-content{font-size:.98rem;line-height:1.82;color:#292b2e;}
.rich-content h2,.rich-content h3,.rich-content h4{letter-spacing:-.025em;}
.rich-content a{color:#344f73;text-decoration-color:rgba(52,79,115,.38);}
.rich-content blockquote{
  margin:28px 0;
  padding:4px 0 4px 24px;
  border-left:2px solid var(--gold);
  font-family:var(--serif);
  font-size:1.25rem;
  line-height:1.5;
}
.video-frame,.media-player{border-radius:22px;}
.event-facts>div{border-radius:16px;}

/* Contacto */
.contact-section{background:transparent;}
.contact-details{box-shadow:var(--shadow-sm)!important;}
.contact-card-icon{
  background:rgba(41,54,75,.07)!important;
  color:var(--indigo)!important;
  border:1px solid rgba(41,54,75,.07);
}
.contact-social-link{
  background:transparent!important;
  border-color:rgba(23,25,29,.10)!important;
}
.contact-details .invite-box{
  background:#d3aa5d!important;
  border:1px solid rgba(126,91,31,.08);
}
.map-block.map-google{border-radius:22px!important;box-shadow:var(--shadow-sm)!important;}

/* Footer: compacto y más sofisticado */
footer{
  background:#0d1726;
  color:#b9bdc3;
  padding:38px 0 88px!important;
  border-top:1px solid rgba(255,255,255,.04);
}
.foot-grid{gap:26px!important;}
.foot-brand{font-size:1.35rem;font-weight:500;letter-spacing:-.03em;}
.foot-col h5{
  color:#e8e5dd;
  font-size:.68rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.foot-col a,.foot-col p{font-size:.79rem;line-height:1.55;}
.foot-col a{transition:color .18s ease,transform .18s ease;}
.foot-col a:hover{color:#fff;transform:translateX(2px);}
.foot-col .footer-social-icon{
  width:39px;height:39px;
  background:rgba(255,255,255,.035);
  border-color:rgba(255,255,255,.11);
}
.foot-col .footer-social-icon:hover{transform:translateY(-2px);background:var(--gold);color:#111821;}

/* Radio: aspecto de mini player premium */
.radio-bar{
  left:50%;right:auto;
  width:min(840px,calc(100% - 32px));
  transform:translateX(-50%);
  bottom:14px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(13,22,36,.94);
  -webkit-backdrop-filter:blur(16px) saturate(130%);
  backdrop-filter:blur(16px) saturate(130%);
  box-shadow:0 18px 50px rgba(8,14,23,.22);
}
.radio-bar .rb-btn{width:42px;height:42px;box-shadow:none;}
.radio-bar .rb-text small{font-size:.61rem;letter-spacing:.1em;text-transform:uppercase;}
.radio-bar .rb-text b{font-family:var(--sans);font-size:.82rem;font-weight:700;}
.radio-bar .rb-live{border-radius:999px;padding:5px 9px;font-size:.59rem;letter-spacing:.04em;}
.radio-bar .rb-vol{accent-color:var(--gold);}

/* Tablas */
.rich-content table,.schedule{border-radius:16px;overflow:hidden;}
.rich-content th,.rich-content td{border-color:rgba(23,25,29,.09);padding:12px 14px;}
.rich-content th{background:rgba(41,54,75,.045);font-size:.78rem;}

/* Mobile */
@media(max-width:900px){
  nav.links{
    border-radius:0 0 22px 22px;
    box-shadow:0 22px 60px rgba(17,26,40,.12);
  }
  section{padding:70px 0;}
}
@media(max-width:640px){
  body{font-size:15px;}
  .wrap{padding-inline:20px;}
  .nav-inner{min-height:68px;padding-inline:20px;}
  .brand{font-size:1.18rem;}
  .page-hero{padding-top:132px;padding-bottom:54px;}
  .page-hero h1{font-size:clamp(2.45rem,12vw,3.6rem);}
  section{padding:58px 0;}
  section h2{font-size:clamp(2rem,10vw,2.75rem);}
  .hero-content h1{font-size:clamp(2.75rem,13vw,4.1rem);}
  .content-card-body,.min-card .min-body{padding:20px;}
  footer{padding:34px 0 84px!important;}
  .radio-bar{width:calc(100% - 20px);bottom:10px;border-radius:17px;padding:9px 11px;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}

/* ============================================================
   FAMILIAS DEL REY — MODERN PROFESSIONAL V3
   Mantiene tamaños tipográficos clásicos y moderniza la interfaz.
   Solo CSS: no requiere cambios en PHP, Admin ni base de datos.
   ============================================================ */
:root{
  --paper:#f7f4ed;
  --paper-card:#fffefa;
  --ink:#171913;
  --muted:#6f706b;
  --indigo:#2b3d57;
  --indigo-deep:#0e1a2b;
  --gold:#d2a13e;
  --brick:#a85f49;
  --line:rgba(14,26,43,.11);
  --serif:'Fraunces', Georgia, serif;
  --sans:'Work Sans', Arial, sans-serif;
  --radius-sm:12px;
  --radius:20px;
  --radius-lg:28px;
  --shadow-sm:0 10px 30px rgba(16,24,36,.065);
  --shadow-lg:0 22px 58px rgba(16,24,36,.12);
}

html{background:var(--paper);}
body{
  font-family:var(--sans);
  background:
    radial-gradient(circle at 8% 0%,rgba(210,161,62,.055),transparent 24rem),
    radial-gradient(circle at 96% 12%,rgba(43,61,87,.035),transparent 28rem),
    var(--paper);
  color:var(--ink);
  font-size:16px;
  line-height:1.58;
  letter-spacing:0;
}
h1,h2,h3,.brand,.foot-brand,.strip .item b,.vm-card p,.truth summary,
.t-item .yr,.mm33 b,.radio-embed .txt b,.content-card-body h3,
.min-card h3,.rich-content h2,.rich-content h3,.rich-content h4{
  font-family:var(--serif);
}
h1,h2,h3{font-weight:500;letter-spacing:-.015em;line-height:1.08;}
p{letter-spacing:0;}

/* NAV — limpio, elegante y con profundidad sutil */
header.site-nav{transition:background .32s ease,border-color .32s ease,box-shadow .32s ease;}
header.site-nav.solid{
  background:rgba(247,244,237,.91);
  border-bottom:1px solid rgba(14,26,43,.075);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  backdrop-filter:blur(18px) saturate(145%);
  box-shadow:0 8px 30px rgba(14,26,43,.045);
}
header.site-nav.transparent{
  background:linear-gradient(180deg,rgba(5,12,21,.58),rgba(5,12,21,.16),transparent);
}
.nav-inner{min-height:74px;}
.brand{font-size:1.2rem;font-weight:600;letter-spacing:-.02em;}
.brand-mark{border-radius:12px;box-shadow:0 7px 18px rgba(13,22,36,.15);}
nav.links{font-size:.9rem;font-weight:600;gap:6px;}
nav.links a{
  padding:9px 12px;
  border:0;
  border-radius:999px;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
nav.links a:hover{transform:translateY(-1px);}
.solid nav.links a:hover{background:rgba(43,61,87,.065);color:var(--indigo);}
.solid nav.links a.active{background:var(--indigo);color:#fff;box-shadow:0 7px 20px rgba(43,61,87,.13);}
.transparent nav.links a:hover,.transparent nav.links a.active{background:rgba(255,255,255,.12);}
.nav-toggle{border-radius:12px;transition:transform .2s ease,background .2s ease;}
.nav-toggle:hover{transform:translateY(-1px);}

/* HERO — tamaños originales, tratamiento visual más actual */
.slider-hero{
  height:92vh;
  min-height:560px;
  background:var(--indigo-deep);
}
.slide{transition:opacity 1.15s ease;}
.slide::after{
  background:
    linear-gradient(90deg,rgba(5,12,21,.28),rgba(5,12,21,.04) 58%),
    linear-gradient(180deg,rgba(7,15,25,.20) 0%,rgba(7,15,25,.18) 44%,rgba(7,15,25,.84) 100%);
}
.slide .ken{animation:kenburnsPro 13s ease-in-out infinite alternate;}
@keyframes kenburnsPro{from{transform:scale(1)}to{transform:scale(1.045)}}
.hero-content{padding-bottom:74px;}
.hero-content h1{
  font-size:clamp(2.4rem,5.5vw,4.1rem);
  max-width:760px;
  font-weight:500;
  letter-spacing:-.018em;
  line-height:1.04;
  text-wrap:balance;
  text-shadow:0 6px 30px rgba(0,0,0,.12);
}
.hero-verse{
  font-family:var(--serif);
  font-style:italic;
  font-size:1.02rem;
  font-weight:400;
  max-width:500px;
  padding-left:15px;
  border-left:2px solid var(--gold);
  background:transparent;
  border-radius:0;
  letter-spacing:0;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.hero-cta{gap:12px;margin-top:28px;}
.dots .d{transition:width .28s ease,background .28s ease,transform .28s ease;}
.dots .d:hover{transform:scale(1.15);}
.dots .d.active{background:var(--gold);}

/* HERO INTERNO — vuelve a su escala original */
.page-hero{
  padding:170px 0 60px;
  background:
    radial-gradient(circle at 86% 20%,rgba(210,161,62,.15),transparent 24%),
    radial-gradient(circle at 14% 112%,rgba(67,91,126,.25),transparent 30%),
    linear-gradient(132deg,#0b1626 0%,#172943 62%,#101d31 100%);
}
.page-hero::after{opacity:.45;}
.page-hero h1{
  font-size:clamp(2rem,4vw,3rem);
  max-width:680px;
  font-weight:500;
  letter-spacing:-.018em;
  line-height:1.08;
}
.page-hero p.lead{font-size:1.05rem;max-width:580px;line-height:1.65;}
.page-url{font-size:.74rem;letter-spacing:.06em;}

/* SECCIONES — escala anterior, mejor ritmo y acabado */
section{padding:88px 0;}
section h2{
  font-size:clamp(1.7rem,3.2vw,2.3rem);
  margin-bottom:10px;
  font-weight:500;
  letter-spacing:-.018em;
  line-height:1.08;
}
.section-head{margin-bottom:40px;}
.section-lead{font-size:1rem;line-height:1.72;color:var(--muted);}
.alt{
  background:linear-gradient(180deg,rgba(255,254,250,.78),rgba(243,239,231,.78));
  border-color:rgba(14,26,43,.075);
}

/* BOTONES — modernos sin verse pesados */
.btn{
  border-radius:14px;
  min-height:46px;
  padding:12px 23px;
  font-size:.88rem;
  font-weight:700;
  position:relative;
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--gold);color:var(--indigo-deep);box-shadow:0 10px 26px rgba(210,161,62,.16);}
.btn-primary::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.28),transparent 65%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}
.btn-primary:hover::after{transform:translateX(120%);}
.btn-primary:hover{background:#d8aa4b;box-shadow:0 14px 32px rgba(210,161,62,.22);}
.btn-outline{background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);}
.btn-dark{background:var(--indigo);}
.link-more{font-size:.88rem;border-bottom:0;text-decoration:none;display:inline-flex;align-items:center;gap:7px;}
.link-more::after{content:"→";transition:transform .2s ease;}
.link-more:hover::after{transform:translateX(4px);}

/* CARDS — profundidad, hover y microinteracción */
.vm-card,.value-card,.min-card,.sermon-card,.media-card,.schedule,.content-card,
.contact-details,.event-facts>div{
  background:rgba(255,254,250,.96)!important;
  border-color:rgba(14,26,43,.085)!important;
  box-shadow:0 5px 18px rgba(14,26,43,.035)!important;
}
.vm-card,.value-card,.min-card,.sermon-card,.media-card,.content-card,.contact-details{
  border-radius:20px!important;
}
.content-card,.min-card,.sermon-card,.value-card,.vm-card,.media-card{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.content-card:hover,.min-card:hover,.sermon-card:hover,.value-card:hover,.vm-card:hover,.media-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-lg)!important;
  border-color:rgba(210,161,62,.26)!important;
}
.content-card>img,.min-card .card-cover,.sermon-card .thumb{
  transition:transform .5s ease,filter .5s ease;
}
.content-card:hover>img,.min-card:hover .card-cover{transform:scale(1.025);filter:saturate(1.04);}
.content-card-body,.min-card .min-body{padding:22px;}
.content-card-body small,.min-card .min-body>small,.min-card .cat{color:#a8782d;font-size:.7rem;letter-spacing:.09em;}
.content-card-body h3,.min-card h3{font-size:1.25rem;line-height:1.14;}
.content-card-body p,.min-card p{font-size:.9rem;line-height:1.62;}

/* TEASERS DEL HOME — paleta más sofisticada */
.teaser-card{
  min-height:174px;
  padding:25px 22px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow-sm);
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
}
.teaser-card:nth-child(1){background:linear-gradient(145deg,#0f1d30,#1c3550);}
.teaser-card:nth-child(2){background:linear-gradient(145deg,#815247,#a96b58);}
.teaser-card:nth-child(3){background:linear-gradient(145deg,#293b54,#405676);}
.teaser-card:nth-child(4){background:linear-gradient(145deg,#52452f,#74613f);}
.teaser-card::after{opacity:.30;}
.teaser-card::before{
  content:"";
  position:absolute;
  width:150px;height:150px;
  border-radius:50%;
  right:-74px;top:-74px;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 0 0 30px rgba(255,255,255,.018);
  pointer-events:none;
}
.teaser-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);filter:saturate(1.05);}
.teaser-card h4{font-family:var(--serif);font-size:1.12rem;}

/* FILTROS */
.min-filter,.filter-row{
  background:rgba(255,254,250,.72);
  border:1px solid rgba(14,26,43,.075);
  border-radius:17px;
  padding:9px;
  box-shadow:0 7px 24px rgba(14,26,43,.035);
}
.min-filter button{
  border-radius:999px;
  border-color:transparent;
  background:transparent;
  font-size:.82rem;
  font-weight:600;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.min-filter button:hover{background:rgba(43,61,87,.065);transform:translateY(-1px);}
.min-filter button.active{background:var(--indigo);color:#fff;box-shadow:0 7px 18px rgba(43,61,87,.13);}

/* MEDIA / PREDICAS */
.thumb{overflow:hidden;}
.thumb .play{transition:transform .24s ease,background .24s ease,box-shadow .24s ease;}
.sermon-card:hover .thumb .play{transform:scale(1.08);box-shadow:0 10px 28px rgba(0,0,0,.18);}
.video-frame,.media-player{border-radius:20px;box-shadow:var(--shadow-sm);}
.article-cover{border-radius:20px;box-shadow:var(--shadow-sm);}
.rich-content{font-size:1rem;line-height:1.75;color:#272923;}
.rich-content h2,.rich-content h3,.rich-content h4{letter-spacing:-.012em;}
.rich-content a{text-underline-offset:3px;}

/* CONTACTO */
.contact-card-icon{transition:transform .2s ease,background .2s ease;}
.info-line:hover .contact-card-icon{transform:translateY(-2px);background:rgba(43,61,87,.10)!important;}
.contact-social-link{transition:transform .2s ease,border-color .2s ease,background .2s ease;}
.contact-social-link:hover{transform:translateY(-2px);border-color:rgba(210,161,62,.34)!important;background:rgba(210,161,62,.06)!important;}
.contact-details .invite-box{background:linear-gradient(135deg,#d6a94b,#c89435)!important;}
.map-block.map-google{border-radius:20px!important;box-shadow:var(--shadow-sm)!important;}

/* FOOTER */
footer{
  background:linear-gradient(145deg,#0b1728,#101f34);
  color:#bfc4c6;
  padding:36px 0 84px!important;
  border-top:1px solid rgba(255,255,255,.05);
}
.foot-grid{gap:26px!important;}
.foot-brand{font-size:1.18rem;font-weight:600;letter-spacing:-.02em;}
.foot-col h5{font-size:.74rem;letter-spacing:.06em;text-transform:none;}
.foot-col a,.foot-col p{font-size:.82rem;line-height:1.55;}
.foot-col a{transition:color .18s ease,transform .18s ease;}
.foot-col a:hover{color:#fff;transform:translateX(2px);}
.footer-social-icon{
  transition:transform .22s ease,background .22s ease,border-color .22s ease,color .22s ease!important;
}
.footer-social-icon:hover{transform:translateY(-3px)!important;background:var(--gold)!important;color:var(--indigo-deep)!important;border-color:var(--gold)!important;}

/* RADIO FLOTANTE */
.radio-bar{
  width:min(820px,calc(100% - 32px));
  border-radius:20px;
  background:rgba(12,23,39,.95);
  border:1px solid rgba(255,255,255,.10);
  -webkit-backdrop-filter:blur(17px) saturate(135%);
  backdrop-filter:blur(17px) saturate(135%);
  box-shadow:0 18px 50px rgba(3,9,18,.22);
}
.radio-bar .rb-btn{transition:transform .22s ease,box-shadow .22s ease;}
.radio-bar .rb-btn:hover{transform:scale(1.05);box-shadow:0 8px 22px rgba(210,161,62,.20);}
.radio-bar .rb-text b{font-family:var(--sans);font-size:.86rem;font-weight:600;}
.radio-bar .rb-live{border-radius:999px;}
.radio-bar.is-playing .rb-live{animation:livePulse 1.8s ease-out infinite;}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(168,95,73,.35)}70%{box-shadow:0 0 0 8px rgba(168,95,73,0)}100%{box-shadow:0 0 0 0 rgba(168,95,73,0)}}

/* TABLAS */
.rich-content table,.schedule{border-radius:14px;overflow:hidden;}
.rich-content th,.rich-content td{border-color:rgba(14,26,43,.09);padding:11px 13px;}
.rich-content th{background:rgba(43,61,87,.045);}

/* Animación de entrada progresiva: ligera y sin JS */
@keyframes softReveal{from{opacity:.01;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@supports (animation-timeline:view()){
  section .section-head,
  .teaser-card,
  .content-card,
  .min-card,
  .sermon-card,
  .vm-card,
  .value-card,
  .media-card{
    animation:softReveal both;
    animation-timeline:view();
    animation-range:entry 5% cover 24%;
  }
}

/* MOBILE — títulos y proporciones como antes */
@media(max-width:900px){
  section{padding:70px 0;}
  nav.links{border-radius:0 0 20px 20px;box-shadow:0 22px 55px rgba(14,26,43,.11);}
}
@media(max-width:640px){
  body{font-size:15px;}
  .nav-inner{min-height:68px;}
  .brand{font-size:1.16rem;}
  .slider-hero{height:86svh;min-height:600px;}
  .hero-content h1{font-size:clamp(2.35rem,11vw,3.25rem);line-height:1.04;}
  .hero-verse{font-size:.95rem;}
  .page-hero{padding:122px 0 52px;}
  .page-hero h1{font-size:clamp(2rem,9vw,2.8rem);line-height:1.08;}
  .page-hero p.lead{font-size:.98rem;}
  section{padding:58px 0;}
  section h2{font-size:clamp(1.7rem,8vw,2.25rem);}
  .teaser-card{min-height:154px;padding:22px;}
  .content-card-body,.min-card .min-body{padding:20px;}
  footer{padding:32px 0 80px!important;}
  .radio-bar{width:calc(100% - 20px);bottom:10px;border-radius:18px;padding:9px 11px;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}

/* =========================================================
   HOME V3 — compact, contemporary and professional
   Scoped to .home-v3 so inner pages remain unchanged.
   ========================================================= */
.home-v3{--home-navy:#0b1b2d;--home-navy-2:#142d48;--home-gold:#d1a03f;--home-paper:#f7f4ed;--home-paper-2:#f0ece3;--home-muted:#73756f;--home-line:rgba(11,27,45,.09);background:var(--home-paper);}
.home-v3 .wrap{max-width:1180px;}
.home-v3 .home-hero{height:min(720px,78svh);min-height:570px;background:var(--home-navy);}
.home-v3 .home-hero .slide{overflow:hidden;}
.home-v3 .home-hero .slide::after{background:linear-gradient(90deg,rgba(5,13,23,.76) 0%,rgba(5,13,23,.48) 42%,rgba(5,13,23,.18) 72%,rgba(5,13,23,.34) 100%);}
.home-v3 .home-hero .ken{inset:-2.5%;background-size:cover;background-position:center 50%;animation:homeHeroZoom 7.2s ease-out both;will-change:transform,background-position;}
.home-v3 .home-hero .slide:not(.active) .ken{animation:none;transform:scale(1.035);}
@keyframes homeHeroZoom{from{transform:scale(1.035)}to{transform:scale(1.085)}}
.home-v3 .hero-content{justify-content:center;padding:86px 0 20px;}
.home-v3 .home-hero-copy{width:min(650px,88%);}
.home-v3 .home-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--home-gold);font-family:var(--sans,'Work Sans',Arial,sans-serif);font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:13px;}
.home-v3 .home-kicker::before{content:"";width:20px;height:1px;background:currentColor;opacity:.8;}
.home-v3 .hero-verse{font-family:var(--sans,'Work Sans',Arial,sans-serif);font-style:normal;font-size:.9rem;line-height:1.55;max-width:560px;margin:0 0 12px;padding:0;border:0;color:rgba(255,255,255,.72);}
.home-v3 .hero-content h1{font-family:var(--serif,'Fraunces',Georgia,serif);font-size:clamp(2.25rem,4.7vw,4rem);font-weight:500;line-height:1.02;letter-spacing:-.025em;max-width:720px;text-wrap:balance;}
.home-v3 .hero-cta{margin-top:24px;gap:10px;}
.home-v3 .hero-cta .btn{min-height:44px;padding:11px 20px;border-radius:12px;font-size:.82rem;}
.home-v3 .dots{bottom:22px;right:max(24px,calc((100vw - 1180px)/2 + 28px));}
.home-v3 .dots .d{width:7px;height:7px;background:rgba(255,255,255,.42);}
.home-v3 .dots .d.active{width:25px;background:var(--home-gold);}

.home-info-bar{background:var(--home-navy);color:#fff;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);}
.home-info-inner{height:62px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;}
.home-info-label{font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.42);white-space:nowrap;}
.home-ticker-window{height:36px;overflow:hidden;position:relative;min-width:0;}
.home-ticker-track{display:flex;flex-direction:column;animation:homeTicker 9s cubic-bezier(.77,0,.18,1) infinite;}
.home-ticker-item{height:36px;display:flex;align-items:center;gap:11px;font-size:.82rem;white-space:nowrap;overflow:hidden;}
.home-ticker-item svg{width:18px;height:18px;stroke:var(--home-gold);stroke-width:1.7;fill:none;flex:0 0 auto;stroke-linecap:round;stroke-linejoin:round;}
.home-ticker-item div{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.home-ticker-item b{font-weight:700;margin-right:7px;}
.home-ticker-item span{color:rgba(255,255,255,.64);}
@keyframes homeTicker{0%,27%{transform:translateY(0)}33%,60%{transform:translateY(-36px)}66%,93%{transform:translateY(-72px)}100%{transform:translateY(-108px)}}
.home-info-link,.home-more{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans,'Work Sans',Arial,sans-serif);font-size:.77rem;font-weight:700;white-space:nowrap;}
.home-info-link{color:#fff;}
.home-info-link span{transition:transform .2s ease;}
.home-info-link:hover span{transform:translateX(4px);}
.home-more{color:var(--home-navy-2);}
.home-more::after{content:"→";transition:transform .2s ease;}
.home-more:hover::after{transform:translateX(4px);}

.home-v3 .home-section{padding:48px 0;}
.home-v3 .home-alt{background:linear-gradient(180deg,rgba(255,255,255,.54),rgba(240,236,227,.60));border-block:1px solid var(--home-line);}
.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px;}
.home-section-head h2,.home-about-copy h2{font-family:var(--serif,'Fraunces',Georgia,serif);font-size:clamp(1.75rem,2.8vw,2.35rem);line-height:1.05;letter-spacing:-.025em;margin:0 0 6px;font-weight:500;}
.home-section-head p{color:var(--home-muted);font-size:.9rem;line-height:1.55;margin:0;}

.home-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;}
.home-feature{min-height:148px;border-radius:18px;padding:19px 20px;position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 28px rgba(11,27,45,.07);transition:transform .28s ease,box-shadow .28s ease;isolation:isolate;}
.home-feature::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 35%,rgba(255,255,255,.06));z-index:-1;}
.home-feature:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(11,27,45,.13);}
.home-feature:nth-child(1){background:linear-gradient(145deg,#0d1d31,#1a3553);}
.home-feature:nth-child(2){background:linear-gradient(145deg,#69513b,#917045);}
.home-feature:nth-child(3){background:linear-gradient(145deg,#223b56,#415e7b);}
.home-feature:nth-child(4){background:linear-gradient(145deg,#173030,#36534c);}
.home-feature-index{position:absolute;left:20px;top:16px;font-size:.62rem;letter-spacing:.12em;color:rgba(255,255,255,.46);font-weight:700;}
.home-feature-arrow{position:absolute;right:18px;top:14px;font-size:.92rem;color:rgba(255,255,255,.5);transition:transform .25s ease,color .25s ease;}
.home-feature:hover .home-feature-arrow{transform:translate(2px,-2px);color:var(--home-gold);}
.home-feature h3{font-family:var(--serif,'Fraunces',Georgia,serif);font-size:1.12rem;line-height:1.08;margin:0 0 5px;font-weight:500;}
.home-feature p{font-size:.78rem;line-height:1.45;color:rgba(255,255,255,.70);margin:0;max-width:210px;}

.home-v3 .home-content-grid,.home-v3 .home-sermon-grid{gap:16px;}
.home-v3 .home-content-grid.count-1,.home-v3 .home-sermon-grid.count-1{grid-template-columns:minmax(0,1fr);max-width:780px;}
.home-v3 .home-content-grid.count-2,.home-v3 .home-sermon-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.home-v3 .home-content-grid.count-3,.home-v3 .home-sermon-grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.home-v3 .home-card,.home-v3 .home-sermon{border-radius:18px!important;overflow:hidden;box-shadow:0 8px 26px rgba(11,27,45,.055)!important;border-color:var(--home-line)!important;background:#fff!important;transition:transform .25s ease,box-shadow .25s ease!important;}
.home-v3 .home-card:hover,.home-v3 .home-sermon:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(11,27,45,.11)!important;}
.home-v3 .home-card>img{aspect-ratio:16/8.5;object-fit:cover;}
.home-card-placeholder{aspect-ratio:16/8.5;background:linear-gradient(135deg,#1b334e,#8c7046);}
.home-v3 .home-card .content-card-body{padding:18px 19px 19px;}
.home-v3 .home-card .content-card-body h3{font-size:1.08rem;margin:5px 0 7px;}
.home-v3 .home-card .content-card-body p{font-size:.79rem;line-height:1.5;margin-bottom:10px;}
.home-v3 .home-sermon .thumb{height:166px;}
.home-v3 .home-sermon .sermon-body{padding:15px 18px 17px;}
.home-v3 .home-sermon .sermon-body h4{font-family:var(--sans,'Work Sans',Arial,sans-serif);font-size:.96rem;margin:5px 0 3px;line-height:1.25;}
.home-v3 .home-sermon-grid.count-1 .home-sermon{display:grid;grid-template-columns:minmax(260px,.9fr) 1.1fr;max-width:780px;}
.home-v3 .home-sermon-grid.count-1 .home-sermon .thumb{height:100%;min-height:210px;}
.home-v3 .home-sermon-grid.count-1 .home-sermon .sermon-body{display:flex;flex-direction:column;justify-content:center;padding:28px;}
.home-v3 .home-sermon-grid.count-1 .home-sermon .sermon-body h4{font-family:var(--serif,'Fraunces',Georgia,serif);font-size:1.5rem;}

.home-about-section{padding-top:44px!important;padding-bottom:50px!important;}
.home-about-shell{display:grid;grid-template-columns:1.04fr .96fr;min-height:340px;border-radius:22px;overflow:hidden;background:var(--home-navy);box-shadow:0 18px 52px rgba(8,20,35,.13);}
.home-about-visual{position:relative;min-height:340px;background:linear-gradient(160deg,#233c58,#0b1b2d);background-size:cover;background-position:center;}
.home-about-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,35,.02),rgba(8,20,35,.22));}
.home-about-visual>span{position:absolute;left:22px;bottom:20px;z-index:1;color:#fff;font-size:.61rem;letter-spacing:.13em;font-weight:700;background:rgba(7,17,29,.54);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.13);padding:8px 11px;border-radius:999px;}
.home-about-copy{padding:32px 36px;color:#fff;display:flex;flex-direction:column;justify-content:center;}
.home-about-copy h2{color:#fff;}
.home-about-copy>p{color:rgba(255,255,255,.68);font-size:.85rem;line-height:1.55;max-width:500px;margin:0;}
.home-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px;}
.home-pillar{display:flex;gap:9px;align-items:flex-start;padding:12px;border-radius:13px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);}
.home-pillar svg{width:18px;height:18px;stroke:var(--home-gold);fill:none;stroke-width:1.7;flex:0 0 auto;stroke-linecap:round;stroke-linejoin:round;}
.home-pillar b{display:block;font-size:.72rem;margin-bottom:2px;}
.home-pillar span{display:block;font-size:.62rem;line-height:1.35;color:rgba(255,255,255,.50);}
.home-about-link{color:#f2d18d;margin-top:17px;align-self:flex-start;}

.js .home-reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease;}
.js .home-reveal.is-visible{opacity:1;transform:none;}

@media(max-width:900px){
  .home-v3 .home-hero{height:72svh;min-height:540px;}
  .home-info-inner{grid-template-columns:minmax(0,1fr) auto;gap:14px;}
  .home-info-label{display:none;}
  .home-feature-grid{grid-template-columns:repeat(2,1fr);}
  .home-v3 .home-content-grid.count-3,.home-v3 .home-sermon-grid.count-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-about-shell{grid-template-columns:1fr;}
  .home-about-visual{min-height:250px;}
}
@media(max-width:640px){
  .home-v3 .home-hero{height:70svh;min-height:500px;}
  .home-v3 .hero-content{padding:80px 0 18px;justify-content:center;}
  .home-v3 .home-hero-copy{width:100%;}
  .home-v3 .hero-content h1{font-size:clamp(2.15rem,10vw,3rem);}
  .home-v3 .hero-verse{font-size:.82rem;line-height:1.45;}
  .home-v3 .hero-cta{width:100%;display:grid;grid-template-columns:1fr;}
  .home-v3 .hero-cta .btn{width:100%;text-align:center;}
  .home-info-inner{height:56px;grid-template-columns:1fr;}
  .home-info-link{display:none;}
  .home-ticker-window{height:34px;}
  .home-ticker-item{height:34px;font-size:.75rem;}
  .home-ticker-track{animation-name:homeTickerMobile;}
  @keyframes homeTickerMobile{0%,27%{transform:translateY(0)}33%,60%{transform:translateY(-34px)}66%,93%{transform:translateY(-68px)}100%{transform:translateY(-102px)}}
  .home-v3 .home-section{padding:38px 0;}
  .home-section-head{align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:18px;}
  .home-section-head h2,.home-about-copy h2{font-size:clamp(1.65rem,8vw,2.15rem);}
  .home-feature-grid,.home-v3 .home-content-grid.count-2,.home-v3 .home-content-grid.count-3,.home-v3 .home-sermon-grid.count-2,.home-v3 .home-sermon-grid.count-3{grid-template-columns:1fr;}
  .home-feature{min-height:132px;}
  .home-v3 .home-sermon-grid.count-1 .home-sermon{grid-template-columns:1fr;}
  .home-v3 .home-sermon-grid.count-1 .home-sermon .thumb{min-height:180px;}
  .home-v3 .home-sermon-grid.count-1 .home-sermon .sermon-body{padding:19px;}
  .home-about-copy{padding:25px 22px;}
  .home-pillars{grid-template-columns:1fr;gap:7px;}
  .home-about-section{padding-top:34px!important;padding-bottom:38px!important;}
}
@media(prefers-reduced-motion:reduce){
  .home-v3 .home-hero .ken,.home-ticker-track{animation:none!important;}
  .js .home-reveal{opacity:1;transform:none;}
}
