/* Iglesia Altar de Salvación — premium responsive theme */
:root{
  --navy:#07162b; --navy2:#0b2444; --navy3:#102d52;
  --gold:#d4a448; --gold2:#f0cd79; --cream:#f7f2e8;
  --white:#fff; --ink:#152033; --muted:#677184; --line:rgba(212,164,72,.25);
  --serif:"Cormorant Garamond", Georgia, serif; --sans:"Inter", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{background:#04101f;color:#d8dfeb;font-size:12px;letter-spacing:.05em}
.topbar-inner{height:34px;display:flex;align-items:center;justify-content:space-between}
.topbar a:hover{color:var(--gold2)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,22,43,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:1px solid rgba(212,164,72,.55);box-shadow:0 0 22px rgba(212,164,72,.18)}
.brand strong{display:block;font-family:var(--serif);font-size:22px;line-height:1}
.brand small{display:block;color:var(--gold2);font-size:10px;letter-spacing:.24em;text-transform:uppercase;margin-top:5px}
.main-nav{display:flex;align-items:center;gap:29px;color:#f7f8fb;font-size:14px}
.main-nav>a:not(.nav-cta){position:relative}
.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:.25s}
.main-nav>a:hover:after{right:0}
.nav-cta{border:1px solid var(--gold);color:var(--gold2);padding:11px 17px;border-radius:2px}
.menu-btn{display:none;background:none;border:0;padding:8px}
.menu-btn span{display:block;width:25px;height:2px;background:#fff;margin:5px}

.hero{height:min(790px,calc(100vh - 120px));min-height:650px;position:relative;display:flex;align-items:center;color:#fff;isolation:isolate}
.hero-image{position:absolute;inset:0;background:url("assets/hero-church.jpg") center 47%/cover no-repeat;z-index:-4;transform:scale(1.015)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,25,.96) 0%,rgba(5,17,34,.87) 40%,rgba(5,17,34,.45) 70%,rgba(3,12,25,.64) 100%),linear-gradient(0deg,rgba(3,12,25,.85),transparent 45%);z-index:-3}
.hero-glow{position:absolute;width:700px;height:700px;left:-250px;top:-200px;background:radial-gradient(circle,rgba(212,164,72,.20),transparent 66%);z-index:-2}
.hero-content{padding-top:35px}
.eyebrow,.section-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.28em;font-weight:700;color:var(--gold2)}
.hero h1{font-family:var(--serif);font-size:clamp(56px,7vw,92px);line-height:.91;margin:22px 0 23px;max-width:940px;font-weight:600;letter-spacing:-.025em}
.hero h1 em{font-style:italic;color:var(--gold2);font-weight:500}
.hero> .container p,.hero-content>p{font-size:18px;color:#dce3ed;max-width:700px;margin:0 0 33px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 23px;border-radius:2px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:12px;transition:.25s;border:1px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#061326;box-shadow:0 10px 30px rgba(212,164,72,.18)}
.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.05)}
.btn-outline{border-color:var(--gold);color:var(--gold2)}
.btn-light{background:#fff;color:var(--navy)}
.play{margin-right:9px}
.hero-meta{display:flex;gap:42px;margin-top:70px;border-top:1px solid rgba(255,255,255,.17);padding-top:24px;max-width:760px}
.hero-meta div{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:9px}
.hero-meta .meta-icon{grid-row:1/3;color:var(--gold);padding-top:2px}
.hero-meta strong{font-size:13px}
.hero-meta small{color:#adb8c8;font-size:11px;margin-top:2px}
.scroll-cue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:31px;color:var(--gold2);animation:bob 2s infinite}
@keyframes bob{50%{transform:translate(-50%,7px)}}

.section{padding:105px 0}
.welcome{background:linear-gradient(180deg,#fff,#fbfaf7)}
.welcome-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}
.section h2,.welcome h2{font-family:var(--serif);font-size:clamp(43px,5vw,64px);line-height:.98;margin:14px 0 20px;color:var(--navy);font-weight:600}
.gold-rule{width:72px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);margin:28px 0}
.lead{font-size:18px;color:#35425a}
.welcome p:not(.lead){color:var(--muted)}
.text-link{display:inline-block;margin-top:19px;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.text-link span{color:var(--gold);margin-left:9px}
.verse-card{position:relative;background:var(--navy);color:#fff;padding:70px 64px;border:1px solid rgba(212,164,72,.35);box-shadow:0 25px 60px rgba(6,20,39,.18)}
.verse-card:before,.verse-card:after{content:"";position:absolute;width:45px;height:45px;border-color:var(--gold);opacity:.7}
.verse-card:before{left:15px;top:15px;border-left:1px solid;border-top:1px solid}
.verse-card:after{right:15px;bottom:15px;border-right:1px solid;border-bottom:1px solid}
.verse-cross{color:var(--gold2);font-size:28px;margin-bottom:20px}
.verse-card blockquote{font-family:var(--serif);font-size:34px;line-height:1.2;margin:0 0 24px;font-style:italic}
.verse-card cite{color:var(--gold2);font-style:normal;font-size:12px;letter-spacing:.18em;text-transform:uppercase}

.services-band{background:var(--navy);color:#fff;padding:62px 0;border-top:1px solid #173252;border-bottom:1px solid #173252}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.service-item{padding:7px 42px;position:relative}
.service-item+ .service-item{border-left:1px solid rgba(212,164,72,.22)}
.service-item .number{color:var(--gold);font-family:var(--serif);font-size:16px;letter-spacing:.16em}
.service-item h3{font-family:var(--serif);font-size:29px;margin:5px 0 9px}
.service-item p{margin:0;color:#aeb9c8;font-size:14px}

.ministries{background:#f6f2e9;position:relative}
.ministries:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 5%,rgba(212,164,72,.13),transparent 30%)}
.centered{text-align:center;max-width:680px;margin:0 auto 47px;position:relative}
.centered p{color:var(--muted)}
.ministry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;position:relative}
.ministry-card{background:#fff;padding:38px 32px;border:1px solid #e8e0d1;min-height:220px;transition:.3s}
.ministry-card:hover{transform:translateY(-5px);border-color:#d9b96f;box-shadow:0 20px 40px rgba(11,36,68,.08)}
.ministry-card .icon{font-size:27px;color:var(--gold);margin-bottom:14px}
.ministry-card h3{font-family:var(--serif);font-size:29px;margin:0 0 8px;color:var(--navy)}
.ministry-card p{margin:0;color:var(--muted);font-size:14px}

.live{background:#061426;color:#fff}
.live-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.live h2{color:#fff}
.live p{color:#b8c3d0}
.live-badge{display:inline-flex;align-items:center;gap:8px;color:var(--gold2);letter-spacing:.2em;font-size:11px;font-weight:700}
.live-badge i{width:8px;height:8px;background:#e54e4e;border-radius:50%;box-shadow:0 0 0 5px rgba(229,78,78,.14)}
.live-buttons{display:flex;gap:11px;margin-top:28px;flex-wrap:wrap}
.placeholder-note{display:block;color:#74849a;margin-top:14px}
.live-visual{position:relative;border:1px solid rgba(212,164,72,.42);padding:9px;background:#0b213b}
.live-visual img{aspect-ratio:16/9;object-fit:cover;filter:brightness(.78)}
.live-play{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(212,164,72,.92);color:#07162b;padding-left:4px;font-size:20px;box-shadow:0 0 0 12px rgba(212,164,72,.12)}
.live-caption{position:absolute;left:25px;bottom:22px;background:rgba(4,16,31,.88);border-left:2px solid var(--gold);padding:12px 16px}
.live-caption span{display:block;color:#9caabc;font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.live-caption strong{font-family:var(--serif);font-size:22px;color:#fff}

.pastors{background:#fff;text-align:center}
.pastors-inner{max-width:800px}
.pastors-label{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.25em;font-weight:700}
.pastors h2{font-family:var(--serif);font-size:64px;margin:12px 0 10px;color:var(--navy)}
.pastors p{color:var(--muted);max-width:600px;margin:auto}
.signature-rule{display:flex;align-items:center;gap:15px;justify-content:center;color:var(--gold);margin-top:28px}
.signature-rule:before,.signature-rule:after{content:"";width:70px;height:1px;background:#d8c28e}

.visit{background:#f7f3eb}
.visit-grid{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:center}
.visit-copy>p{color:var(--muted);max-width:650px}
.visit-info{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;margin:35px 0}
.visit-info>div{display:flex;gap:14px}
.visit-info span{color:var(--gold);font-size:21px}
.visit-info p{margin:0;color:#566175;font-size:14px}
.visit-info strong{display:block;color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:3px}
.visit-info a:hover{color:#a9781c}
.visit-actions{display:flex;gap:10px;flex-wrap:wrap}
.visit .btn-outline{color:var(--navy)}
.visit-card{background:var(--navy);padding:24px;color:#fff;box-shadow:0 25px 60px rgba(7,22,43,.16)}
.visit-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.visit-card>div{padding:22px 10px 9px;text-align:center}
.visit-card span{color:var(--gold2);font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.visit-card h3{font-family:var(--serif);font-size:29px;margin:7px 0}
.visit-card p{margin:0;color:#aeb8c6;font-style:italic}

.cta-strip{padding:90px 0;background:linear-gradient(135deg,#b98526,#e1bd68);color:#061426;text-align:center;position:relative;overflow:hidden}
.cta-strip:before{content:"✦";position:absolute;left:5%;top:-100px;font-size:300px;color:rgba(255,255,255,.07)}
.cta-strip span{text-transform:uppercase;font-size:11px;letter-spacing:.22em;font-weight:700}
.cta-strip h2{font-family:var(--serif);font-size:50px;margin:8px 0 25px}

footer{background:#030d1a;color:#aeb9c8;padding:70px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr 1fr;gap:50px;padding-bottom:50px}
.footer-brand{display:flex;gap:14px;align-items:center;color:#fff}
.footer-brand img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:1px solid #7e672f}
.footer-brand strong{font-family:var(--serif);font-size:23px;display:block}
.footer-brand small{color:var(--gold);letter-spacing:.17em;text-transform:uppercase;font-size:9px}
footer h4{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.15em;margin:4px 0 15px}
footer a,footer p{display:block;font-size:13px;margin:7px 0}
footer a:hover{color:var(--gold2)}
.copyright{border-top:1px solid #162539;padding-top:18px;display:flex;justify-content:space-between;font-size:11px;color:#6f7c8c}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .topbar{display:none}
  .nav-wrap{height:74px}
  .brand img{width:49px;height:49px}.brand strong{font-size:19px}
  .menu-btn{display:block;z-index:60}
  .main-nav{position:absolute;left:0;right:0;top:74px;background:#07162b;display:none;flex-direction:column;align-items:stretch;padding:22px 25px 30px;border-top:1px solid #1d3452;gap:0}
  .main-nav.open{display:flex}
  .main-nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07)}
  .nav-cta{margin-top:10px;text-align:center}
  .hero{min-height:720px;height:calc(100vh - 74px)}
  .hero h1{font-size:clamp(49px,12vw,70px)}
  .hero-meta{gap:20px;flex-wrap:wrap;margin-top:50px}
  .welcome-grid,.live-grid,.visit-grid{grid-template-columns:1fr;gap:50px}
  .services-grid{grid-template-columns:1fr}
  .service-item{padding:26px 10px}.service-item+.service-item{border-left:0;border-top:1px solid rgba(212,164,72,.2)}
  .ministry-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .container{width:min(100% - 30px,1180px)}
  .section{padding:78px 0}
  .brand span{display:none}
  .hero{min-height:680px}
  .hero-image{background-position:57% center}
  .hero-content{padding-top:0}
  .hero h1{font-size:49px}
  .hero-content>p{font-size:15px}
  .hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .hero-meta div:last-child{grid-column:1/-1}
  .verse-card{padding:50px 34px}.verse-card blockquote{font-size:29px}
  .ministry-grid{grid-template-columns:1fr}
  .pastors h2{font-size:46px}
  .visit-info{grid-template-columns:1fr}
  .cta-strip h2{font-size:39px;line-height:1}
  .footer-grid{grid-template-columns:1fr}
  .copyright{flex-direction:column;gap:8px}
}
