*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#18253b;background:#f6f1e8;font-family:Inter,Arial,sans-serif}.nav{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#f8f4ec;position:sticky;top:0;z-index:5;border-bottom:1px solid #ddd4c5}.brand{display:grid;text-decoration:none;color:#15253e;line-height:.8}.brand span{font:700 25px 'Cormorant Garamond',serif;letter-spacing:3px}.brand em{font:600 23px 'Cormorant Garamond',serif;color:#b68b45}.brand small{font-size:8px;letter-spacing:4px;margin-top:7px}.nav nav{display:flex;gap:25px}.nav nav a{color:#25324a;text-decoration:none;font-size:13px;font-weight:600}.menu{display:none;background:none;border:0;font-size:26px}.hero{min-height:680px;display:flex;align-items:center;padding:8vw;background:linear-gradient(90deg,rgba(12,29,50,.92),rgba(12,29,50,.63),rgba(12,29,50,.2)),url('https://images.unsplash.com/photo-1438232992991-995b7058bbb3?auto=format&fit=crop&w=1800&q=80') center/cover;color:white}.hero-content{max-width:760px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;color:#a78750}.hero h1{font:700 clamp(54px,7vw,94px)/.9 'Cormorant Garamond',serif;margin:18px 0}.hero h1 span{color:#d9bd85}.hero-content>p:not(.eyebrow){font-size:19px;line-height:1.7;max-width:650px}.actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-block;padding:15px 22px;text-decoration:none;font-weight:700;font-size:13px;border-radius:2px}.primary{background:#b18a4c;color:white}.ghost{border:1px solid #fff;color:#fff}.welcome,.prayer{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:90px 8vw;align-items:center}.welcome h2,.services h2,.ministries h2,.events h2,.visit h2,.prayer h2{font:700 48px 'Cormorant Garamond',serif;margin:10px 0}.welcome p{line-height:1.8}.verse{border-left:3px solid #b18a4c;padding-left:20px;margin-top:25px;font-family:'Cormorant Garamond';font-size:21px}.services{background:#fff;padding:90px 8vw;text-align:center}.cards,.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.cards article,.grid article{padding:35px;text-align:left;border:1px solid #e3ded5;background:#faf8f3}.cards span{font-size:11px;letter-spacing:2px;color:#a78750;font-weight:700}.cards h3,.grid h3,.event-card h3{font:700 25px 'Cormorant Garamond';margin:15px 0 7px}.time{font-weight:700}.ministries{padding:90px 8vw}.ministries .grid{grid-template-columns:repeat(4,1fr)}.ministries article{min-height:210px;background:#e7e2d5}.events{padding:90px 8vw;background:#e5e0d5;display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.events>div:first-child{grid-row:span 3;padding-right:7vw}.event-card{background:#f8f4ec;padding:20px;display:flex;gap:20px;align-items:center}.date{width:60px;text-align:center;border-right:1px solid #cfc6b5;padding-right:15px}.date b{font-size:10px;letter-spacing:2px;color:#a78750}.date strong{display:block;font:700 32px 'Cormorant Garamond'}.event-card h3{margin:0}.event-card p{font-size:13px}.visit{padding:100px 8vw;text-align:center;background:#172940;color:white}.visit .eyebrow{color:#d4b97f}.visit p{line-height:1.8}.light{background:#f4eee2;color:#172940}.outline-light{border:1px solid #d9d4ca;color:white}.visit .actions{justify-content:center}.prayer{background:#f8f4ec}.prayer .btn{justify-self:end}footer{text-align:center;padding:55px 6vw;background:#0e1d31;color:#c9cfda;font-size:12px}.footer-brand{display:inline-grid;color:white;margin-bottom:20px}.copyright{opacity:.6;margin-top:25px}@media(max-width:800px){.nav nav{display:none;position:absolute;top:90px;left:0;right:0;background:#f8f4ec;padding:25px;flex-direction:column}.nav nav.open{display:flex}.menu{display:block}.hero{min-height:610px}.welcome,.prayer,.events{grid-template-columns:1fr}.cards,.ministries .grid{grid-template-columns:1fr}.events>div:first-child{grid-row:auto}.prayer .btn{justify-self:start}.welcome h2,.services h2,.ministries h2,.events h2,.visit h2,.prayer h2{font-size:40px}}
.gallery{padding:90px 8vw;background:#f8f4ec;text-align:center}.gallery h2,.live h2,.giving h2,.form-card h2{font:700 48px 'Cormorant Garamond',serif;margin:10px 0}.section-intro{max-width:650px;margin:0 auto 35px}.photo-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:15px}.photo-grid figure{margin:0;position:relative;overflow:hidden;min-height:330px}.photo-grid img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;text-align:left;font:700 25px 'Cormorant Garamond'}.photo-note{font-size:12px;opacity:.65;margin-top:18px}.live{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding:95px 8vw;background:#f8f4ec}.live-screen{aspect-ratio:16/9;background:linear-gradient(135deg,#0e1d31,#243b5b);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 20px 45px rgba(14,29,49,.18)}.live-screen span{font-size:11px;letter-spacing:2px;color:#e2c183}.live-screen h3{font:700 40px 'Cormorant Garamond';margin:12px 0 0}.giving{text-align:center;padding:90px 8vw;background:#b18a4c;color:#fff}.giving .eyebrow{color:#172940}.giving p{max-width:620px;margin:0 auto 25px}.giving .fineprint{font-size:11px;margin-top:18px;opacity:.8}.forms-wrap{padding:90px 8vw;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-card{padding:40px;background:#f8f4ec;border:1px solid #e3ded5}.form-card form{display:grid;gap:16px;margin-top:25px}.form-card label{display:grid;gap:7px;font-size:12px;font-weight:700}.form-card input,.form-card textarea,.form-card select{width:100%;padding:13px;border:1px solid #cbc4b7;background:#fff;font:inherit}.form-card textarea{resize:vertical}.form-card .check{display:flex;grid-template-columns:auto 1fr;align-items:center;font-weight:500}.form-card .check input{width:auto}.form-card button{border:0;cursor:pointer;justify-self:start}@media(max-width:800px){.photo-grid,.live,.forms-wrap{grid-template-columns:1fr}.photo-grid figure{min-height:280px}.gallery h2,.live h2,.giving h2,.form-card h2{font-size:40px}}
.social-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0}.social-button{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;border-radius:999px;font-weight:600}.social-button:hover{background:rgba(255,255,255,.08)}.social-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#0e1d31;font-size:17px;font-weight:800}.tiktok-icon{font-size:16px}
.events-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:90px 8vw;background:#e5e0d5}.events-gallery .events-heading{grid-column:1/-1;text-align:center;padding:0 0 25px}.event-flyer{background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(14,29,49,.08)}.event-flyer img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.event-flyer div{padding:18px 20px}.event-flyer h3{margin:0 0 5px;font:700 25px 'Cormorant Garamond',serif}.event-flyer p{margin:0;font-size:13px;line-height:1.5}.event-flyer.recurring{background:#f8f4ec}@media(max-width:800px){.events-gallery{grid-template-columns:1fr;padding:70px 5vw}}

.real-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:12px;margin-top:35px}.real-photo-grid figure{position:relative;margin:0;overflow:hidden;background:#ddd}.real-photo-grid figure.wide{grid-column:span 2}.real-photo-grid figure.tall{grid-row:span 2}.real-photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.real-photo-grid figure:hover img{transform:scale(1.025)}.real-photo-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:white;text-align:left;font:700 23px 'Cormorant Garamond',serif}@media(max-width:800px){.real-photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}.real-photo-grid figure.wide{grid-column:span 2}.real-photo-grid figure.tall{grid-row:span 1}}

.form-status{margin:4px 0 0;font-size:13px;font-weight:600;line-height:1.5}.form-status.success{color:#2f6b43}.form-status.error{color:#9b2f2f}.email-form button:disabled{opacity:.65;cursor:wait}

.giving button.btn{border:0;cursor:pointer;font-family:inherit}.zelle-modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:20px}.zelle-modal.open{display:flex}.zelle-backdrop{position:absolute;inset:0;background:rgba(8,18,32,.72)}.zelle-dialog{position:relative;z-index:1;width:min(440px,100%);background:#f8f4ec;color:#172940;padding:38px;text-align:center;box-shadow:0 25px 70px rgba(0,0,0,.3)}.zelle-dialog h2{font:700 38px 'Cormorant Garamond',serif;margin:8px 0 12px}.zelle-dialog img{display:block;width:min(250px,75%);height:auto;margin:22px auto 14px;background:#fff;padding:10px}.zelle-email{display:block;font-size:17px;margin:8px 0 16px;word-break:break-word}.zelle-note{font-size:12px;line-height:1.5;opacity:.75}.zelle-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:30px;cursor:pointer;color:#172940}.zelle-dialog .btn{border:0;cursor:pointer;margin-top:8px}@media(max-width:500px){.zelle-dialog{padding:30px 20px}.zelle-dialog h2{font-size:32px}}

.contact-trigger{background:transparent;cursor:pointer;font-family:inherit}.contact-modal{display:none;position:fixed;inset:0;z-index:1100;align-items:center;justify-content:center;padding:20px}.contact-modal.open{display:flex}.contact-backdrop{position:absolute;inset:0;background:rgba(8,18,32,.74)}.contact-dialog{position:relative;z-index:1;width:min(480px,100%);background:#f8f4ec;color:#172940;padding:38px;box-shadow:0 25px 70px rgba(0,0,0,.3)}.contact-dialog h2{font:700 38px 'Cormorant Garamond',serif;margin:8px 0 24px}.contact-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:30px;cursor:pointer;color:#172940}.contact-options{display:grid;gap:12px}.contact-option{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #ddd4c5;background:#fff;color:#172940;text-decoration:none}.contact-option>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#172940;color:#fff;font-weight:800;font-size:18px}.contact-option div{display:grid;text-align:left}.contact-option strong{font-size:14px}.contact-option small{margin-top:3px;color:#677084;font-size:12px}@media(max-width:500px){.contact-dialog{padding:30px 20px}.contact-dialog h2{font-size:32px}}

.ministry-social-link{color:inherit;text-decoration:none}.ministry-social-link:hover{text-decoration:underline}.ministry-social-link span{font-size:.72em}
.youth-gallery-wrap{max-width:1180px;margin:44px auto 0;padding:0 20px}.youth-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.youth-gallery-head h3{margin:4px 0 0;font:700 38px 'Cormorant Garamond',serif}.youth-instagram-btn{text-decoration:none;white-space:nowrap}.youth-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:12px}.youth-gallery img{width:100%;height:100%;object-fit:cover;display:block}.youth-gallery img:nth-child(2),.youth-gallery img:nth-child(5){grid-row:span 2}.youth-gallery img:nth-child(2),.youth-gallery img:nth-child(5){height:100%}@media(max-width:800px){.youth-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.youth-gallery-head{align-items:flex-start;flex-direction:column}}@media(max-width:500px){.youth-gallery{grid-template-columns:1fr;grid-auto-rows:300px}.youth-gallery img:nth-child(2),.youth-gallery img:nth-child(5){grid-row:span 1}.youth-gallery-head h3{font-size:32px}}

.youth-page-hero{min-height:560px;display:flex;align-items:center;padding:9vw 8vw;background:linear-gradient(90deg,rgba(12,29,50,.94),rgba(12,29,50,.55)),url("assets/youth_service_4.jpeg") center/cover;color:#fff}.youth-page-hero>div{max-width:720px}.youth-page-hero h1{font:700 clamp(58px,8vw,100px)/.9 "Cormorant Garamond",serif;margin:15px 0}.youth-page-hero h1 span{color:#d9bd85}.youth-page-hero p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:600px;margin-bottom:28px}

.back-header{padding:18px 24px;background:#fff}
.back-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:32px;line-height:1;color:#111;text-decoration:none;border-radius:50%}
.back-arrow:hover{background:rgba(0,0,0,.06)}

.live-platforms{grid-template-columns:.9fr 1.1fr}.live-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.live-platform-card{min-height:240px;padding:28px;background:linear-gradient(135deg,#0e1d31,#243b5b);color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 15px 35px rgba(14,29,49,.14);transition:transform .2s ease}.live-platform-card:hover{transform:translateY(-3px)}.live-platform-card strong{font:700 30px 'Cormorant Garamond',serif;margin:10px 0 6px}.live-platform-card small{font-size:12px;opacity:.85}.live-badge{font-size:10px;letter-spacing:2px;color:#e2c183;margin-bottom:auto}@media(max-width:800px){.live-platforms,.live-options{grid-template-columns:1fr}.live-platform-card{min-height:190px}}

/* V18: Fill gallery gaps */
.gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
}
.gallery-grid img{
  width:100% !important;
  height:260px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  grid-column:auto !important;
  grid-row:auto !important;
}
@media(max-width:900px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .gallery-grid img{height:220px !important;}
}
@media(max-width:560px){
  .gallery-grid{grid-template-columns:1fr !important;}
  .gallery-grid img{height:250px !important;}
}

/* V20 full-screen photo gallery */
.gallery-clickable{cursor:zoom-in}
.gallery-lightbox{
  position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);
  display:none;align-items:center;justify-content:center;padding:24px 72px;
}
.gallery-lightbox.open{display:flex}
.lightbox-image{
  max-width:95vw;max-height:92vh;width:auto;height:auto;object-fit:contain;
  box-shadow:0 18px 60px rgba(0,0,0,.45);
}
.lightbox-close,.lightbox-nav{
  position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;
  cursor:pointer;display:grid;place-items:center;z-index:2;
}
.lightbox-close{top:18px;right:22px;width:48px;height:48px;border-radius:50%;font-size:38px;line-height:1}
.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:72px;border-radius:8px;font-size:34px}
.lightbox-prev{left:16px}.lightbox-next{right:16px}
.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.22)}
body.lightbox-open{overflow:hidden}
@media(max-width:650px){
  .gallery-lightbox{padding:60px 12px 30px}
  .lightbox-nav{width:42px;height:58px;font-size:28px;background:rgba(0,0,0,.35)}
  .lightbox-prev{left:6px}.lightbox-next{right:6px}
  .lightbox-close{top:12px;right:12px}
  .lightbox-image{max-width:96vw;max-height:86vh}
}

/* V21: Church logo beside church name on Inicio */
.nav .brand-with-logo{
  display:flex;
  align-items:center;
  gap:12px;
  line-height:.8;
}
.nav .brand-with-logo .church-logo{
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:50%;
  flex:0 0 auto;
}
.nav .brand-with-logo .brand-name{
  display:grid;
}
@media(max-width:520px){
  .nav .brand-with-logo{gap:8px}
  .nav .brand-with-logo .church-logo{width:52px;height:52px}
  .nav .brand-with-logo .brand-name>span{font-size:19px;letter-spacing:2px}
  .nav .brand-with-logo .brand-name>em{font-size:18px}
  .nav .brand-with-logo .brand-name>small{font-size:7px;letter-spacing:2.5px}
}

/* V22 gallery additions */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.gallery-item{
  border:0;padding:0;background:none;cursor:pointer;overflow:hidden;
  border-radius:14px;min-height:220px;
}
.gallery-item img{
  width:100%;height:100%;min-height:220px;max-height:360px;
  object-fit:cover;display:block;transition:transform .25s ease;
}
.gallery-item:hover img{transform:scale(1.025)}
.gallery-lightbox{
  position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;
  display:none;align-items:center;justify-content:center;padding:28px;
}
.gallery-lightbox.open{display:flex}
.gallery-lightbox img{
  max-width:95vw;max-height:92vh;object-fit:contain;border-radius:8px;
}
.lightbox-close{
  position:absolute;top:14px;right:22px;border:0;background:transparent;
  color:white;font-size:44px;line-height:1;cursor:pointer;
}
@media(max-width:600px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .gallery-item,.gallery-item img{min-height:160px}
}

/* V23 Scripture card in gallery */
.gallery-verse-card{
  grid-column: span 2;
  min-height: 300px;
  border-radius: 18px;
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
  background:linear-gradient(135deg,#0d3044,#315d6c);
  box-sizing:border-box;
}
.gallery-verse-inner{
  max-width:620px;
  text-align:center;
  color:#fff;
}
.gallery-verse-inner .verse-mark{
  display:block;
  font-family:Georgia,serif;
  font-size:72px;
  line-height:.65;
  opacity:.45;
  margin-bottom:18px;
}
.gallery-verse-inner p{
  margin:0 auto 18px;
  font-family:Georgia,serif;
  font-size:clamp(22px,2.6vw,34px);
  line-height:1.35;
  font-style:italic;
}
.gallery-verse-inner strong{
  display:block;
  font-size:15px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#e8d6a7;
}
@media(max-width:700px){
  .gallery-verse-card{grid-column:1 / -1;min-height:250px;padding:26px 20px}
}

/* V24 — Nuestra Iglesia album cover + full gallery page */
.gallery-album-cover{padding-bottom:100px}
.album-cover-link{display:block;max-width:980px;margin:35px auto 0;text-decoration:none;color:inherit}
.album-collage{position:relative;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:240px 240px;gap:8px;overflow:hidden;border-radius:18px;background:#172940}
.album-collage img{width:100%;height:100%;object-fit:cover;display:block}
.album-collage img:first-child{grid-row:1/3}
.album-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(transparent 35%,rgba(8,20,34,.72));color:#fff;opacity:0;transition:opacity .25s ease}
.album-overlay strong{font:700 34px 'Cormorant Garamond',serif}.album-overlay span{font-size:13px;margin-top:4px}
.album-cover-link:hover .album-overlay,.album-cover-link:focus .album-overlay{opacity:1}

.album-page{background:#f8f4ec}
.album-hero{text-align:center;padding:65px 8vw 35px}
.album-hero h1{font:700 clamp(48px,7vw,76px) 'Cormorant Garamond',serif;margin:8px 0 10px;color:#172940}
.album-hero p:not(.eyebrow){margin:0;color:#667085}
.album-full-gallery{padding:20px 5vw 90px}
.album-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;gap:12px}
.album-photo{border:0;padding:0;background:#ddd;overflow:hidden;cursor:pointer;border-radius:10px}
.album-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.album-photo:hover img{transform:scale(1.025)}
.album-verse{grid-column:span 2;min-height:260px}
.album-page .gallery-lightbox{display:none}
.album-page .gallery-lightbox.open{display:flex}
.album-page .lightbox-prev{left:20px}.album-page .lightbox-next{right:20px}

@media(max-width:800px){
  .album-collage{grid-template-columns:1fr 1fr;grid-template-rows:190px 190px}
  .album-collage img:first-child{grid-row:auto}
  .album-overlay{opacity:1;justify-content:flex-end;align-items:flex-start;padding:24px}
  .album-overlay strong{font-size:26px}
  .album-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:8px}
  .album-verse{grid-column:1/-1}
}

/* V25 five-photo album cover */
.album-collage{grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:240px 240px}
.album-collage img:first-child{grid-row:1/3}
.album-collage img:nth-child(2){grid-column:2;grid-row:1}
.album-collage img:nth-child(3){grid-column:3;grid-row:1}
.album-collage img:nth-child(4){grid-column:2;grid-row:2}
.album-collage img:nth-child(5){grid-column:3;grid-row:2}
@media(max-width:800px){
.album-collage{grid-template-columns:1fr 1fr;grid-template-rows:170px 170px 170px}
.album-collage img:first-child{grid-column:1/3;grid-row:1}
.album-collage img:nth-child(2){grid-column:1;grid-row:2}
.album-collage img:nth-child(3){grid-column:2;grid-row:2}
.album-collage img:nth-child(4){grid-column:1;grid-row:3}
.album-collage img:nth-child(5){grid-column:2;grid-row:3}}
