*{margin:0;padding:0;box-sizing:border-box}
:root{
  --cream:#F5EFE6;
  --dark:#1A1A1A;
  --mid:#888;
  --border:rgba(26,26,26,0.15);
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--dark);font-family:'DM Sans',sans-serif;overflow-x:hidden}

/* ── NAV ── */
nav{
  background:var(--cream);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 48px;
  position:sticky;top:0;z-index:100;
}
.nav-brand{display:flex;align-items:center;gap:12px}
.nav-logo{width:36px;height:36px;object-fit:contain}
.nav-name{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:.1em;line-height:1}
.nav-sub{font-size:10px;opacity:.4;letter-spacing:.12em;text-transform:uppercase}
.nav-links{display:flex;gap:28px;font-size:13px;font-weight:500;list-style:none}
.nav-links a{text-decoration:none;color:var(--dark);opacity:.65;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.btn-primary{background:var(--dark);color:var(--cream);border:none;padding:10px 22px;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;transition:opacity .2s}
.btn-primary:hover{opacity:.85}

/* ── HERO ── */
.hero{
  min-height:92vh;background:var(--dark);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:80px 48px;position:relative;overflow:hidden;
}
.hero-swoosh{position:absolute;opacity:.07}
.hero-logo{width:56px;margin-bottom:24px;position:relative;z-index:2}
.hero h1{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,8vw,96px);
  letter-spacing:.04em;color:var(--cream);line-height:1;
  position:relative;z-index:2;margin-bottom:4px;
}
.hero-script{
  font-family:'Dancing Script',cursive;font-size:clamp(28px,4vw,46px);
  color:var(--cream);opacity:.8;position:relative;z-index:2;margin-bottom:8px;
}
.hero-tagline{
  font-size:12px;color:var(--cream);opacity:.5;
  letter-spacing:.14em;text-transform:uppercase;
  position:relative;z-index:2;margin-bottom:40px;
}
.hero-btns{display:flex;gap:14px;position:relative;z-index:2;flex-wrap:wrap;justify-content:center}
.btn-outline-light{
  background:transparent;color:var(--cream);
  border:1px solid rgba(245,239,230,.3);
  padding:12px 30px;font-size:13px;font-weight:500;
  font-family:'DM Sans',sans-serif;cursor:pointer;letter-spacing:.04em;
  transition:border-color .2s;
}
.btn-outline-light:hover{border-color:rgba(245,239,230,.7)}
.btn-cream{
  background:var(--cream);color:var(--dark);border:none;
  padding:12px 30px;font-size:13px;font-weight:700;
  font-family:'DM Sans',sans-serif;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;
  transition:opacity .2s;
}
.btn-cream:hover{opacity:.9}

/* ── SECTIONS ── */
section{padding:80px 48px}
.label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);margin-bottom:10px;font-weight:500}
.title{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,52px);letter-spacing:.03em;margin:0 0 40px;line-height:1}
.divider{height:1px;background:var(--border);margin:0 48px}

/* ── HORARIOS ── */
.horarios-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:680px}
.horario-card{border:1px solid var(--dark);padding:36px 32px}
.horario-card.dark{background:var(--dark);color:var(--cream)}
.horario-meta{font-size:11px;opacity:.4;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}
.horario-day{font-family:'Bebas Neue',sans-serif;font-size:42px;letter-spacing:.05em;line-height:1}
.horario-type{font-size:13px;opacity:.5;text-transform:uppercase;letter-spacing:.1em;margin:8px 0 0}
.horario-time{font-size:32px;font-weight:700;margin:14px 0 0;letter-spacing:-.01em}

/* ── PASTORES ── */
.pastores-section{background:var(--dark);color:var(--cream);padding:0}
.pastor-img-wrap{width:100%;max-height:500px;overflow:hidden;position:relative}
.pastor-img{width:100%;height:500px;object-fit:cover;object-position:center 10%;display:block}
.pastor-img-overlay{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(26,26,26,.9));
  padding:48px;
}
.pastor-big-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,6vw,72px);letter-spacing:.05em;color:var(--cream);line-height:1}
.pastor-content{padding:48px}
.pastor-script{font-family:'Dancing Script',cursive;font-size:24px;opacity:.65;margin-bottom:28px}
.pastor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pastor-card{border:1px solid rgba(245,239,230,.15);padding:24px 28px}
.pastor-card-name{font-weight:700;font-size:15px;margin:0 0 5px}
.pastor-card-role{font-size:12px;opacity:.45;text-transform:uppercase;letter-spacing:.1em}

/* ── ANUNCIOS ── */
.anuncios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.anuncio{background:rgba(26,26,26,.04);overflow:hidden}
.anuncio-img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.anuncio-text{border-left:3px solid var(--dark);padding:20px 24px}
.anuncio-date{font-size:11px;opacity:.4;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px}
.anuncio-title{font-weight:700;font-size:16px;margin:0 0 8px;line-height:1.3}
.anuncio-body{font-size:13px;opacity:.6;line-height:1.6}

/* ── GALERÍA ── */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.gallery-item{
  aspect-ratio:1;background:#C8BFB0;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.gallery-item:nth-child(2){background:#B8B0A0}
.gallery-item:nth-child(3){background:#D0C8B8}
.gallery-item:nth-child(4){background:#C0B8A8}
.gallery-item:nth-child(5){background:#CAC2B0}
.gallery-item:nth-child(6){background:#BEB6A6}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-ph{display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.3}
.gallery-ph svg{width:32px;height:32px}
.gallery-ph span{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.gallery-link{
  text-align:center;margin-top:24px;
  font-size:13px;color:var(--dark);opacity:.55;
  text-decoration:none;border-bottom:1px solid rgba(26,26,26,.25);padding-bottom:2px;
  transition:opacity .2s;
}
.gallery-link:hover{opacity:.9}

/* ── UBICACIÓN ── */
.map-embed{width:100%;height:320px;border:1px solid var(--border);background:#D8D0C0;position:relative;overflow:hidden}
.map-embed iframe{width:100%;height:100%;border:none}
.map-address{margin-top:20px;font-size:14px;opacity:.6;line-height:1.7}
.map-address strong{opacity:1;color:var(--dark)}

/* ── DONACIONES ── */
.donaciones-section{background:var(--dark);color:var(--cream);text-align:center}
.don-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,6vw,64px);letter-spacing:.03em;margin:0 0 16px}
.don-sub{opacity:.5;font-size:15px;line-height:1.7;margin:0 0 36px;max-width:500px;margin-left:auto;margin-right:auto}

/* ── FORMULARIOS ── */
.forms-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.form-block{}
.form-badge{
  display:inline-block;background:var(--dark);color:var(--cream);
  font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  padding:5px 16px;margin-bottom:20px;
}
.form-desc{font-size:14px;opacity:.6;line-height:1.7;margin:0 0 32px}
.form-fields{display:flex;flex-direction:column;gap:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field-wrap{display:flex;flex-direction:column;gap:6px}
.field-label{font-size:12px;font-weight:500;opacity:.6;letter-spacing:.05em;text-transform:uppercase}
.field-input,.field-select,.field-textarea{
  border:1px solid rgba(26,26,26,.2);background:transparent;
  padding:12px 16px;font-size:14px;
  font-family:'DM Sans',sans-serif;color:var(--dark);outline:none;
  transition:border-color .2s;resize:none;
  -webkit-appearance:none;
}
.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--dark)}
.field-textarea{min-height:100px;line-height:1.6}
.field-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A1A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.checkbox-wrap{display:flex;align-items:flex-start;gap:12px;margin-top:4px;cursor:pointer}
.checkbox-wrap input[type="checkbox"]{
  width:16px;height:16px;min-width:16px;margin-top:2px;
  border:1px solid rgba(26,26,26,.3);background:transparent;
  -webkit-appearance:none;cursor:pointer;outline:none;
  display:flex;align-items:center;justify-content:center;
}
.checkbox-wrap input[type="checkbox"]:checked{background:var(--dark);border-color:var(--dark)}
.checkbox-wrap input[type="checkbox"]:checked::after{
  content:'✓';color:var(--cream);font-size:11px;font-weight:700;
  display:block;text-align:center;line-height:14px;
}
.checkbox-label{font-size:12px;opacity:.55;line-height:1.6}

/* ── PETICIÓN DE ORACIÓN (dark background) ── */
.oracion-section{background:var(--dark);color:var(--cream)}
.oracion-section .form-badge{background:var(--cream);color:var(--dark)}
.oracion-section .form-desc{color:var(--cream);opacity:.55}
.oracion-section .field-label{color:var(--cream);opacity:.5}
.oracion-section .field-input,
.oracion-section .field-select,
.oracion-section .field-textarea{border-color:rgba(245,239,230,.2);color:var(--cream)}
.oracion-section .field-input::placeholder,
.oracion-section .field-textarea::placeholder{color:rgba(245,239,230,.3)}
.oracion-section .field-input:focus,
.oracion-section .field-select:focus,
.oracion-section .field-textarea:focus{border-color:rgba(245,239,230,.7)}
.oracion-section .field-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23F5EFE6' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  color:var(--cream);
}
.oracion-section .field-select option{background:var(--dark);color:var(--cream)}
.oracion-section .checkbox-label{color:var(--cream)}
.oracion-section .checkbox-wrap input[type="checkbox"]{border-color:rgba(245,239,230,.3)}
.oracion-section .checkbox-wrap input[type="checkbox"]:checked{background:var(--cream);border-color:var(--cream)}
.oracion-section .checkbox-wrap input[type="checkbox"]:checked::after{color:var(--dark)}
.btn-submit-light{
  background:var(--cream);color:var(--dark);border:none;
  padding:14px;font-size:13px;font-weight:700;width:100%;
  font-family:'DM Sans',sans-serif;cursor:pointer;
  letter-spacing:.1em;text-transform:uppercase;transition:opacity .2s;
}
.btn-submit-light:hover{opacity:.88}
.btn-submit-dark{
  background:var(--dark);color:var(--cream);border:none;
  padding:14px;font-size:13px;font-weight:700;width:100%;
  font-family:'DM Sans',sans-serif;cursor:pointer;
  letter-spacing:.1em;text-transform:uppercase;transition:opacity .2s;margin-top:4px;
}
.btn-submit-dark:hover{opacity:.82}

/* ── FOOTER ── */
footer{
  background:var(--dark);color:var(--cream);
  padding:40px 48px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;
}
.footer-brand{display:flex;align-items:center;gap:10px}
.footer-logo{width:24px;height:24px;object-fit:contain;opacity:.4}
.footer-copy{font-size:12px;opacity:.35}
.footer-social{display:flex;gap:24px}
.footer-social a{font-size:13px;opacity:.45;color:var(--cream);text-decoration:none;transition:opacity .2s}
.footer-social a:hover{opacity:.9}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  nav{padding:14px 20px}
  .nav-links{display:none}
  section{padding:60px 20px}
  .divider{margin:0 20px}
  .horarios-grid,.anuncios-grid,.forms-section,.pastor-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .form-row{grid-template-columns:1fr}
  footer{padding:32px 20px;flex-direction:column;gap:20px}
  .pastor-img{height:360px}
  .pastor-img-overlay,.pastor-content{padding:24px 20px}
}

.hero-title-modern{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(42px,7vw,82px);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cream);
  line-height:1;
  position:relative;
  z-index:2;
  margin-bottom:18px;
}

.hero-tagline{
  font-size:12px;
  color:var(--cream);
  opacity:.72;
  letter-spacing:.16em;
  text-transform:uppercase;
  position:relative;
  z-index:2;
  margin-bottom:12px;
  font-weight:500;
}

.hero-location{
  font-size:14px;
  color:var(--cream);
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  position:relative;
  z-index:2;
  margin-bottom:40px;
}