:root{--n9:#070b24;--n8:#0a0f2e;--n7:#141a3d;--cream:#f4ecd8;--teal:#2dd4bf;--blue:#3b82f6;--violet:#7c3aed;--wd:rgba(244,236,216,.72);--wf:rgba(244,236,216,.4);--line:rgba(244,236,216,.12);--grad:linear-gradient(135deg,#2dd4bf,#3b82f6 50%,#7c3aed);--gs:linear-gradient(135deg,rgba(45,212,191,.15),rgba(59,130,246,.15) 50%,rgba(124,58,237,.15))}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;}body{font-family:'Manrope',sans-serif;background:var(--n8);color:var(--cream);font-weight:400;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:400;line-height:1.08;letter-spacing:-.02em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;height:auto}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.hero-slide,.hero-dot,section,.btn,.cell-card,.blog-card,.gallery-grid img,.social-btn,.vfm{transition:none!important}*{animation:none!important}}.c{max-width:1280px;margin:0 auto;padding:0 32px}@media(max-width:640px){.c{padding:0 20px}}
nav{position:fixed;top:0;left:0;right:0;z-index:10001;padding:12px 0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:rgba(10,15,46,.82);border-bottom:1px solid var(--line)}.ni{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand img{height:68px;width:auto}.nl{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:500;flex:1 1 auto;justify-content:center;min-width:0}.nl a{opacity:.75;transition:.3s;white-space:nowrap}.nl a:hover{opacity:1}.vfm{display:inline-flex;align-items:center;justify-content:center;height:40px;background:rgba(244,236,216,.1);border:1.5px solid rgba(244,236,216,.3);border-radius:100px;padding:6px 14px;transition:.3s;flex-shrink:0;box-shadow:none;line-height:0}.vfm:hover{background:rgba(244,236,216,.18);border-color:rgba(244,236,216,.6)}.vfm img{height:68%;width:auto;object-fit:contain;display:block}.nav-cta{background:var(--grad);color:#fff;padding:10px 20px;border-radius:100px;font-weight:600;font-size:12px;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}@media(max-width:980px){.nl{display:none}}@media(max-width:640px){.brand img{height:54px}}
.hero{position:relative;height:100vh;min-height:600px;overflow:hidden}.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s;background-size:cover;background-position:center center}.hero-slide.active{opacity:1}.hero-slide picture,.hero-slide picture img{display:block;width:100%;height:100%}.hero-slide picture img{object-fit:cover;object-position:center center}.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,11,36,.85),rgba(7,11,36,.72) 40%,rgba(7,11,36,.92))}.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:80px}.hero h1{font-size:clamp(42px,6.5vw,96px);font-weight:400;margin-bottom:28px;max-width:900px}.hero h1 em{font-style:italic;font-weight:300;display:block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-sub{font-size:18px;line-height:1.55;max-width:560px;color:var(--wd);margin-bottom:40px;font-weight:300}.btn{background:var(--grad);color:#fff;padding:16px 32px;border-radius:100px;font-weight:600;font-size:13px;letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;transition:.35s;box-shadow:0 16px 50px -16px rgba(124,58,237,.5)}.btn:hover{transform:translateY(-2px)}.btn-o{background:transparent;border:1px solid var(--wf);box-shadow:none}.hero-dots{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:10px}.hero-dot{width:10px;height:10px;border-radius:50%;background:var(--wf);cursor:pointer;transition:.3s}.hero-dot.active{background:var(--teal);width:30px;border-radius:5px}
section{padding:72px 0;position:relative}section[id]{scroll-margin-top:72px;}.sl{font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:24px;font-weight:600;display:inline-flex;align-items:center;gap:14px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sl::before{content:"";width:40px;height:2px;background:var(--grad)}.st{font-size:clamp(36px,4.8vw,64px);font-weight:400;max-width:800px;margin-bottom:36px}.st em{font-style:italic;font-weight:300;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.vision{background:var(--n7)}.vision::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);opacity:.3}.vis-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.vis-grid p{font-size:18px;line-height:1.7;color:var(--wd);font-weight:300;margin-bottom:18px}.vis-img{border-radius:16px;overflow:hidden}.vis-img img{width:100%}@media(max-width:900px){.vis-grid{grid-template-columns:1fr;gap:40px}}
.team{background:var(--n7)}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:60px}.team-card{text-align:center}.team-card img{width:180px;height:180px;border-radius:50%;margin:0 auto 20px;object-fit:cover;border:3px solid transparent;background-image:var(--grad);background-origin:border-box;background-clip:content-box,border-box}.team-card h4{font-size:20px;font-weight:500}@media(max-width:900px){.team-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.team-grid{grid-template-columns:1fr}}
.cell-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:50px}.cell-card{background:var(--n8);border:1px solid var(--line);padding:40px 36px;transition:.4s;position:relative;overflow:hidden;border-radius:16px}.cell-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:.5s}.cell-card:hover{transform:translateY(-4px);border-color:rgba(59,130,246,.3)}.cell-card:hover::before{transform:scaleX(1)}.cell-tag{display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:6px 14px;border-radius:100px;margin-bottom:22px;background:var(--gs);border:1px solid rgba(59,130,246,.3);color:var(--teal)}.cell-card h3{font-size:30px;margin-bottom:4px}.cell-card .when{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:20px;margin:12px 0 18px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.cell-card .where{font-size:14px;color:var(--wd);line-height:1.55;padding-top:18px;border-top:1px solid var(--line);font-weight:300}@media(max-width:760px){.cell-cards{grid-template-columns:1fr}}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:50px}.gallery-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:16px;transition:.4s;filter:brightness(.85)}.gallery-grid img:hover{filter:brightness(1);transform:scale(1.02)}@media(max-width:760px){.gallery-grid{grid-template-columns:1fr 1fr}}
.tithes{background:var(--n7)}.tithes-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:50px}.tithe-card{background:var(--n8);border:1px solid var(--line);padding:36px;text-align:center;border-radius:16px}.tithe-card h4{font-size:22px;margin-bottom:6px;font-weight:500}.tithe-card .tithe-sub{font-size:14px;color:var(--wd);margin-bottom:12px}.tithe-card img{max-width:260px;margin:0 auto;border-radius:12px}.tithe-card .tithe-info{margin-bottom:18px;font-size:14px;color:var(--cream);line-height:1.6}@media(max-width:760px){.tithes-grid{grid-template-columns:1fr}}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:50px}.blog-card{background:var(--n7);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.4s}.blog-card:hover{transform:translateY(-4px);border-color:rgba(59,130,246,.3)}.blog-card-body{padding:28px 24px}.blog-card .blog-date{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;font-weight:600}.blog-card h4{font-size:20px;margin-bottom:10px;font-weight:500;line-height:1.2}.blog-card p{font-size:14px;color:var(--wd);line-height:1.55;font-weight:300}@media(max-width:760px){.blog-grid{grid-template-columns:1fr}}
.obj-list{border-top:1px solid var(--line);margin-top:50px}.obj-item{padding:32px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:.8fr 2fr;gap:60px}.obj-q{font-family:'Fraunces',serif;font-size:24px;font-style:italic;line-height:1.2}.obj-a{font-size:15px;color:var(--wd);line-height:1.6;font-weight:300}@media(max-width:760px){.obj-item{grid-template-columns:1fr;gap:14px}.obj-q{font-size:20px}}
.cta-sec{background:#0a0f2e!important;padding:120px 0 96px;text-align:center;position:relative;overflow:hidden}.cta-sec::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center top,rgba(124,58,237,.35),transparent 55%),radial-gradient(ellipse at center bottom,rgba(45,212,191,.22),transparent 55%)}.cta-inner{position:relative;z-index:2;max-width:860px;margin:0 auto}.cta-sec h2{font-size:clamp(40px,6vw,84px);margin-bottom:28px}.cta-sec h2 em{font-style:italic;font-weight:300;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.cta-sec p{font-size:18px;color:#f4ecd8!important;max-width:580px;margin:0 auto 44px;line-height:1.6;font-weight:300}.cta-sec .micro{margin-top:28px;font-size:13px;color:var(--wf)}.social-row{display:flex;justify-content:center;gap:16px;margin-top:40px;flex-wrap:wrap}.social-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border:1px solid var(--line);border-radius:100px;font-size:13px;font-weight:500;transition:.3s}.social-btn:hover{border-color:var(--teal);background:rgba(45,212,191,.08)}.social-btn svg{width:18px;height:18px}
.faq-grid{display:grid;grid-template-columns:.9fr 1.6fr;gap:80px;align-items:start}.faq-items{display:grid;gap:1px;background:var(--line)}details{background:var(--n8);padding:24px 0;cursor:pointer}details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:500;font-family:'Fraunces',serif;gap:20px}details summary::-webkit-details-marker{display:none}details summary::after{content:"+";font-size:28px;font-weight:300;transition:.3s;font-family:'Manrope';background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}details[open] summary::after{transform:rotate(45deg)}details p{margin-top:16px;font-size:14px;color:var(--wd);line-height:1.6;font-weight:300}@media(max-width:900px){.faq-grid{grid-template-columns:1fr;gap:40px}}.gallery-cta-note{font-size:16px;line-height:1.6;color:rgba(26,26,46,.68)!important;text-align:center;margin:26px auto 14px;max-width:560px}.gallery-cta{display:flex;justify-content:center}.gallery-cta .btn{padding:15px 30px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.gallery-cta .btn svg{width:18px;height:18px;flex:0 0 18px}
footer{background:var(--n9);padding:80px 0 36px;position:relative}footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);opacity:.4}.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:60px;border-bottom:1px solid var(--line)}.f-brand img{height:72px;margin-bottom:20px}.f-brand p{font-size:14px;color:var(--wd);line-height:1.65;max-width:300px;font-weight:300}.f-col h5{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px;font-weight:600;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.f-col ul{list-style:none;display:grid;gap:10px}.f-col a,.f-col li{font-size:13px;color:var(--wd);font-weight:300}.f-col a:hover{color:var(--teal)}.f-bottom{padding-top:36px;display:flex;justify-content:space-between;font-size:11px;color:var(--wf)}@media(max-width:900px){.f-grid{grid-template-columns:1fr 1fr}.f-bottom{flex-direction:column;gap:12px;text-align:center}}@media(max-width:560px){.f-grid{grid-template-columns:1fr}}
.wa-float{position:fixed;bottom:24px;right:24px;z-index:90;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 24px rgba(37,211,102,.5);transition:.35s;animation:fi 1s .5s both}.wa-float:hover{transform:scale(1.08)}.wa-float svg{width:28px;height:28px;fill:#fff}@keyframes fi{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
section{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}section.vis{opacity:1;transform:none}

/* === LIGHT THEME A - WARM === */
body{background:#ffffff;color:#1a1a2e}
nav{background-color:#0a0f2e!important;background-image:radial-gradient(ellipse at center top,rgba(124,58,237,.35),transparent 55%),radial-gradient(ellipse at center bottom,rgba(45,212,191,.22),transparent 55%)!important;border-bottom:1px solid rgba(244,236,216,.12)!important}
nav .nl a{color:#f4ecd8}
nav .nav-cta{color:#fff}
.hero h1,.hero h1 span{color:#f4ecd8}
.hero-sub{color:#f4ecd8!important;opacity:1!important;text-shadow:0 2px 10px rgba(0,0,0,0.5)}
.btn{color:#fff}
.btn-o{border-color:rgba(244,236,216,.4);color:#f4ecd8}
.hero-dot{background:rgba(244,236,216,.4)}
.hero-dot.active{background:#2dd4bf}
section{color:#1a1a2e}
section p[style*="color:var(--wd)"]{color:rgba(26,26,46,.65)!important}
section p[data-i18n]{color:rgba(26,26,46,.65)!important}
/* --- Alternating Section Colors --- */
body > section,
main > section {
  background: #f8fafc; /* Default fallback is Branco Gelo */
}
body > section:nth-of-type(odd),
main > section:nth-of-type(odd) {
  background: #f8fafc !important; /* Odd: Branco Gelo */
}
body > section:nth-of-type(even),
main > section:nth-of-type(even) {
  background: #f5f1e8 !important; /* Even: Creme */
}

/* Explicitly make .cta-sec stay dark blue */
body > section.cta-sec,
main > section.cta-sec {
  background: #0a0f2e !important;
}

.vis-grid p{color:rgba(26,26,46,.7)!important}
.st,.st span{color:#1a1a2e}
[id="experiencia"] p{color:rgba(26,26,46,.68)!important}
.gallery-grid img{filter:brightness(.95)!important}
.gallery-grid img:hover{filter:brightness(1)!important}
.team-card h4{color:#1a1a2e}
.team-card p{color:rgba(26,26,46,.6)!important}
[id="celulas"] p{color:rgba(26,26,46,.65)!important}
.cell-card{background:#fff;border-color:rgba(26,26,46,.1)}
.cell-card:hover{border-color:rgba(37,99,235,.3)}
.cell-tag{background:linear-gradient(135deg,rgba(13,124,102,.08),rgba(37,99,235,.08) 50%,rgba(109,40,217,.08));border-color:rgba(37,99,235,.2);color:#0d7c66}
.cell-card h3{color:#1a1a2e}
.cell-card .where{color:rgba(26,26,46,.65)!important;border-color:rgba(26,26,46,.1)}
.tithes p{color:rgba(26,26,46,.65)!important}
.tithe-card{background:#fff;border-color:rgba(26,26,46,.1)}
.tithe-card h4{color:#1a1a2e}
.tithe-card .tithe-sub{color:rgba(26,26,46,.6)!important}
.tithe-card .tithe-info{color:#1a1a2e}
.blog-card{background:#f5f1e8;border-color:rgba(26,26,46,.08)}
.blog-card:hover{border-color:rgba(37,99,235,.3)}
.blog-card .blog-date{color:#0d7c66}
.blog-card h4{color:#1a1a2e}
.blog-card p{color:rgba(26,26,46,.65)!important}
[id="objecoes"] p{color:rgba(26,26,46,.65)!important}
.obj-list{border-color:rgba(26,26,46,.1)}
.obj-item{border-color:rgba(26,26,46,.1)}
.obj-q{color:#1a1a2e}
.obj-a{color:rgba(26,26,46,.65)!important}
.cta-sec h2,.cta-sec h2 span{color:#f4ecd8}
.cta-sec p{font-size:18px;color:#f4ecd8!important;max-width:580px;margin:0 auto 44px;line-height:1.6;font-weight:300}
.cta-sec .micro{color:rgba(244,236,216,.4)}
.social-btn{border-color:rgba(244,236,216,.12);color:#f4ecd8}
.social-btn:hover{border-color:#2dd4bf;background:rgba(45,212,191,.08)}
/* FAQ styling */
.faq-items{background:transparent!important;gap:0}
[id="cremos"] details,[id="faq"] details{background:transparent!important;border-bottom:1px solid rgba(26,26,46,.1);padding:22px 0}
details summary{color:#1a1a2e!important}
details summary::after{-webkit-text-fill-color:#1a1a2e!important;background:none!important;color:#1a1a2e!important}
details p{color:rgba(26,26,46,.65)!important}
footer{background-color:#0a0f2e!important;background-image:radial-gradient(ellipse at center top,rgba(124,58,237,.35),transparent 55%),radial-gradient(ellipse at center bottom,rgba(45,212,191,.22),transparent 55%)!important}
footer p{color:rgba(244,236,216,.72)!important}
.f-col a,.f-col li{color:rgba(244,236,216,.72)}
.f-col a:hover{color:#2dd4bf}
.f-bottom{color:rgba(244,236,216,.4)}
/* Language switcher fix for dark nav */
nav button{color:#f4ecd8!important}

/* === RESPONSIVE === */
@media(max-width:768px){
  .hero{min-height:100vh;min-height:100svh}
  .hero h1{font-size:clamp(34px,8vw,52px);margin-bottom:20px}
  .hero-sub{font-size:15px;line-height:1.5;margin-bottom:28px;max-width:100%}
  .hero-content{padding-top:90px;padding-bottom:60px;justify-content:flex-end}
  .hero-dots{bottom:20px}
  .hero-slide::after{background:linear-gradient(180deg,rgba(7,11,36,.88) 0%,rgba(7,11,36,.78) 30%,rgba(7,11,36,.82) 60%,rgba(7,11,36,.95) 85%)!important}
  .btn{padding:14px 24px;font-size:12px}
  section{padding:52px 0}
  .st{font-size:clamp(28px,6.5vw,42px);margin-bottom:24px}
  .sl{font-size:10px;margin-bottom:16px}
  .gallery-grid{gap:8px;margin-top:32px}
  .gallery-grid img{border-radius:12px}
  .vis-grid{gap:28px}
  .vis-grid p{font-size:15px}
  .team-grid{gap:24px;margin-top:36px}
  .team-card img{width:140px;height:140px}
  .team-card h4{font-size:17px}
  .cell-cards{gap:16px;margin-top:32px}
  .cell-card{padding:28px 24px}
  .cell-card h3{font-size:24px}
  .cell-card .when{font-size:17px}
  .tithes-grid{gap:20px;margin-top:32px}
  .tithe-card{padding:28px 20px}
  .tithe-card img{max-width:200px}
  .blog-grid{gap:16px;margin-top:32px}
  .blog-card-body{padding:20px 18px}
  .blog-card h4{font-size:17px}
  .obj-list{margin-top:32px}
  .obj-item{padding:24px 0}
  .obj-q{font-size:18px}
  .obj-a{font-size:14px}
  .cta-sec{padding:76px 0 64px}
  .cta-sec h2{font-size:clamp(32px,7vw,52px);margin-bottom:20px}
  .cta-sec p{font-size:18px;color:#f4ecd8!important;max-width:580px;margin:0 auto 44px;line-height:1.6;font-weight:300}
  .social-row{gap:10px;margin-top:24px}
  .social-btn{padding:10px 16px;font-size:12px}
  .faq-grid{gap:28px}
  details{padding:18px 0!important}
  details summary{font-size:16px}
  details p{font-size:13px;margin-top:12px}
  footer{padding:48px 0 24px}
  .f-grid{gap:28px;padding-bottom:36px}
  .wa-float{width:48px;height:48px;bottom:16px;right:16px}
  .wa-float svg{width:24px;height:24px}
}
@media(max-width:640px){
  nav{padding:8px 0}
  .nav-cta{padding:8px 14px;font-size:11px}
}
@media(min-width:1400px){
  .hero h1{font-size:88px}
  .st{font-size:58px}
  .c{max-width:1360px}
}

.lang-btn.active{background:linear-gradient(135deg,#2dd4bf,#3b82f6 50%,#7c3aed)!important;color:#fff!important;opacity:1!important}
.lang-btn{opacity:.6;transition:.3s}
/* Watermark - professional repeating pattern on all non-dark sections */
body > section, main > section {
  position: relative;
}
body > section:not(.cta-sec)::after,
main > section:not(.cta-sec)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("images/logo-mark.png");
  background-repeat: repeat;
  background-size: 140px;
  opacity: 0.08;
  z-index: 0;
}
@media (max-width:768px){
  body > section::after,
  main > section::after {
    display: none;
  }
}
@media (min-width:981px) and (max-width:1320px){
  .nl{gap:13px}
  .nl a{font-size:13px}
  .vfm{padding:6px 9px}
  .nav-cta{padding:9px 13px;font-size:11px}
}
@media (min-width:981px){
  html[lang^="es"] .nl{gap:14px}
  html[lang^="es"] .nl a{font-size:13px}
  html[lang^="es"] .nav-cta{padding:9px 14px}
  html[lang^="es"] .vfm{padding:6px 10px}
}

.vision>*,.team>*,#experiencia>*,#celulas>*,#cremos>*,#galeria>*,#faq>*,.tithes>*,#objecoes>*{position:relative;z-index:1}
/* Pastor card overlay for readability */
.team-card{position:relative}
.team-card::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.5),transparent);border-radius:50%;z-index:1;width:180px;height:180px;margin:0 auto;pointer-events:none}
.team-card h4{position:relative;z-index:2}
/* Mobile hamburger menu */
.mb-tog{display:none;background:none;border:none;color:#f4ecd8;font-size:26px;cursor:pointer;padding:6px 10px;line-height:1}
.nav-cta-m{display:none}
@media(max-width:768px){
  section{padding:44px 0!important}
  .btn{width:100%;justify-content:center;text-align:center}
  .hero .btn{width:auto}
  .hero-content div[style*="display:flex"] .btn{width:100%}
  body{line-height:1.7}
  p{line-height:1.7}
}

/* Mobile images */
@media(max-width:768px){
  .gallery-grid img,.vis-img img,.team-card img{
    width:100%!important;height:auto!important;object-fit:cover!important;
  }
}

/* === MOBILE HERO IMAGES — backgrounds set via JS (lazy) === */
@media(max-width:768px){
  .hero-slide{background-position:center center!important;background-size:cover!important}
}
/* === MOBILE PASTOR PHOTOS === */
@media(max-width:768px){
  .team-card img{width:120px!important;height:120px!important}
  .team-card::before{width:120px!important;height:120px!important}
}
/* === FINAL MOBILE MENU FIX === */
@media(max-width:980px){
  section[id]{scroll-margin-top:72px!important}
  body.mobile-menu-open{overflow:hidden!important}
  nav{position:fixed!important;z-index:2147483000!important;isolation:isolate}
  .ni{position:relative;z-index:2;gap:10px;justify-content:flex-start;flex-wrap:nowrap;display:flex;align-items:center}
  .brand{display:flex;align-items:center;min-width:0;flex:0 1 auto;margin-right:auto}
  .brand,.lang-switcher,.mb-tog{position:relative;z-index:3}
  .lang-switcher{flex:0 0 auto;margin-left:0}
  .mb-tog{display:grid!important;place-items:center;position:relative!important;z-index:4!important;pointer-events:auto!important;cursor:pointer!important;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-width:48px;min-height:48px;font-size:0!important;color:#f4ecd8!important;overflow:visible;flex:0 0 auto;margin-left:8px}
  .mb-tog::before,.mb-tog::after{content:"";position:absolute;width:22px;height:2px;border-radius:999px;background:currentColor;transition:transform .25s ease,opacity .25s ease,box-shadow .25s ease}
  .mb-tog::before{box-shadow:0 -7px 0 currentColor,0 7px 0 currentColor}
  .mb-tog::after{opacity:0}
  .mb-tog[aria-expanded="true"]::before{transform:rotate(45deg);box-shadow:none}
  .mb-tog[aria-expanded="true"]::after{opacity:1;transform:rotate(-45deg)}
  .nl{display:none!important}
  .nav-cta{display:none!important}
  .mobile-menu-panel{position:fixed!important;inset:0!important;z-index:2147482990!important;background:rgba(10,15,46,.98)!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-12px)!important;transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s!important}
  .mobile-menu-panel.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important;transition-delay:0s!important}
  .mobile-menu-panel__inner{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:18px!important;width:100%!important;height:100%!important;overflow-y:auto!important;padding:calc(var(--mobile-nav-offset,72px) + 24px) 28px calc(28px + env(safe-area-inset-bottom,0px))!important;font-size:16px!important;font-weight:500!important}
  .mobile-menu-panel__inner>a{width:100%!important;opacity:1!important;color:#f4ecd8!important}
  .mobile-menu-panel__inner>a:not(.vfm):not(.nav-cta-m){padding:8px 0!important}
  .mobile-menu-panel .nav-cta-m{display:inline-flex!important;align-self:stretch!important;justify-content:center!important;width:100%!important;padding:12px 24px!important;box-sizing:border-box!important}
  .mobile-menu-panel .vfm{display:inline-flex!important;width:auto!important;max-width:100%!important}
}
@media(min-width:981px){
  .mobile-menu-panel{display:none!important}
}

/* ===== ACESSIBILIDADE (WCAG): skip-link + foco visível ===== */
.skip-link{position:absolute;left:-9999px;top:0;z-index:2147483647;background:#0a0f2e;color:#f4ecd8;padding:12px 20px;border-radius:0 0 10px 0;font-weight:600;font-size:14px}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2dd4bf;outline-offset:2px;border-radius:6px}
.lang-btn:focus-visible{outline-offset:3px}

/* ===== FORMULÁRIOS (Planeje sua visita / Oração) ===== */
.connect-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-top:50px}
.connect-copy p{font-size:18px;line-height:1.7;color:rgba(26,26,46,.7);font-weight:300;margin-bottom:18px}
.connect-points{list-style:none;margin-top:24px;display:grid;gap:14px}
.connect-points li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:rgba(26,26,46,.72);font-weight:400;line-height:1.5}
.connect-points li svg{width:22px;height:22px;flex:0 0 22px;margin-top:1px;stroke:#0d7c66}
.vb-form{background:#f5f1e8;border:1px solid rgba(26,26,46,.1);border-radius:18px;padding:36px}
.vb-form h3{font-size:24px;font-weight:500;margin-bottom:6px;color:#1a1a2e}
.vb-form .form-sub{font-size:14px;color:rgba(26,26,46,.6);margin-bottom:24px}
.vb-field{margin-bottom:18px}
.vb-field label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(26,26,46,.6);margin-bottom:8px}
.vb-field label .req{color:#dc2626}
.vb-input,.vb-select,.vb-textarea{width:100%;background:#fff;border:1px solid rgba(26,26,46,.18);border-radius:12px;padding:14px 16px;font-family:inherit;font-size:15px;color:#1a1a2e;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.vb-input::placeholder,.vb-textarea::placeholder{color:rgba(26,26,46,.4)}
.vb-input:focus,.vb-select:focus,.vb-textarea:focus{outline:none;border-color:#2dd4bf;box-shadow:0 0 0 3px rgba(45,212,191,.18)}
.vb-textarea{min-height:120px;resize:vertical;line-height:1.55}
.vb-select{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a2e' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px;padding-right:46px;cursor:pointer}
.vb-form .btn{width:100%;justify-content:center;border:none;cursor:pointer;font-family:inherit;margin-top:6px}
.vb-form-note{font-size:12px;color:rgba(26,26,46,.5);margin-top:14px;text-align:center;line-height:1.5}
.vb-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:rgba(26,26,46,.7);cursor:pointer;font-weight:400;line-height:1.45}
.vb-checkbox input{width:18px;height:18px;margin-top:2px;flex:0 0 18px;accent-color:#2dd4bf;cursor:pointer}
.vb-status{margin-top:14px;font-size:14px;font-weight:500;text-align:center;min-height:20px}
.vb-status.ok{color:#0d7c66}
.vb-status.err{color:#dc2626}
@media(max-width:900px){.connect-grid{grid-template-columns:1fr;gap:36px}.vb-form{padding:28px 22px}}

/* ===== AGENDA / EVENTOS ===== */
.agenda{background:#f5f1e8}
.events-list{margin-top:50px;display:grid;gap:16px}
.event-card{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:#fff;border:1px solid rgba(26,26,46,.1);border-radius:16px;padding:26px 30px;transition:.35s}
.event-card:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.3);box-shadow:0 18px 40px -24px rgba(26,26,46,.35)}
.event-date{text-align:center;min-width:74px;border-right:1px solid rgba(26,26,46,.1);padding-right:24px}
.event-date .ed-day{font-family:'Fraunces',serif;font-size:38px;font-weight:500;line-height:1;color:#1a1a2e}
.event-date .ed-mon{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-top:6px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.event-info h4{font-size:21px;font-weight:500;color:#1a1a2e;margin-bottom:6px}
.event-info p{font-size:14px;color:rgba(26,26,46,.6);font-weight:300;line-height:1.5}
.event-meta{font-size:13px;color:#0d7c66;font-weight:600;display:flex;align-items:center;gap:7px;white-space:nowrap}
.event-meta svg{width:16px;height:16px;stroke:#0d7c66}
@media(max-width:760px){.event-card{grid-template-columns:auto 1fr;gap:18px;padding:20px 22px}.event-meta{grid-column:1 / -1;border-top:1px solid rgba(26,26,46,.1);padding-top:14px;margin-top:4px}.event-date{min-width:58px;padding-right:18px}.event-date .ed-day{font-size:30px}.event-info h4{font-size:18px}}

/* ===== MENSAGENS / AO VIVO ===== */
.messages{background:#fff}
.msg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.msg-card{background:#f5f1e8;border:1px solid rgba(26,26,46,.1);border-radius:18px;padding:38px 34px;transition:.35s;display:flex;flex-direction:column}
.msg-card:hover{transform:translateY(-4px);border-color:rgba(37,99,235,.3)}
.msg-card .msg-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--gs);border:1px solid rgba(37,99,235,.2);margin-bottom:20px}
.msg-card .msg-ico svg{width:26px;height:26px;stroke:#0d7c66}
.msg-card h3{font-size:24px;font-weight:500;color:#1a1a2e;margin-bottom:10px}
.msg-card p{font-size:15px;color:rgba(26,26,46,.65);font-weight:300;line-height:1.6;margin-bottom:24px;flex:1}
.msg-card .btn{align-self:flex-start}
@media(max-width:900px){.msg-grid{grid-template-columns:1fr;gap:16px}.msg-card{padding:30px 24px}.msg-card .btn{width:100%;justify-content:center}}

/* ===== PÁGINAS INTERNAS (multipágina) ===== */
.page-head{padding:116px 0 36px;background:#f5f1e8;position:relative}
.page-head .crumbs{font-size:13px;color:rgba(26,26,46,.55);margin-bottom:20px;font-weight:500}
.page-head .crumbs a{color:#0d7c66}
.page-head .crumbs a:hover{text-decoration:underline}
.page-head h1{font-size:clamp(38px,5.2vw,68px);font-weight:400;color:#1a1a2e;max-width:900px;line-height:1.06}
.page-head h1 em{font-style:italic;font-weight:300;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.page-head .lead{font-size:19px;line-height:1.65;color:rgba(26,26,46,.7);font-weight:300;max-width:720px;margin-top:22px}
.prose{max-width:760px}
.prose h2{font-size:clamp(28px,3.4vw,40px);font-weight:400;color:#1a1a2e;margin:8px 0 18px}
.prose h2 em{font-style:italic;font-weight:300;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.prose h3{font-size:22px;font-weight:500;color:#1a1a2e;margin:34px 0 10px}
.prose p{font-size:17px;line-height:1.75;color:rgba(26,26,46,.72);font-weight:300;margin-bottom:18px}
.prose ul{margin:0 0 18px 0;padding-left:0;list-style:none;display:grid;gap:12px}
.prose ul li{position:relative;padding-left:30px;font-size:16px;line-height:1.6;color:rgba(26,26,46,.72)}
.prose ul li::before{content:"";position:absolute;left:0;top:9px;width:16px;height:16px;border-radius:50%;background:var(--gs);border:1px solid rgba(37,99,235,.35)}
.related{border-top:1px solid rgba(26,26,46,.08);margin-top:0;padding-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related a{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(26,26,46,.1);border-radius:14px;padding:26px 26px 20px;transition:.35s;position:relative;overflow:hidden;min-height:200px}
.related a::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:.4s}
.related a:hover::before{transform:scaleX(1)}
.related a:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.2);box-shadow:0 20px 48px -24px rgba(26,26,46,.16)}
.related a .r-ico{width:36px;height:36px;border-radius:10px;background:var(--gs);border:1px solid rgba(37,99,235,.15);display:grid;place-items:center;margin-bottom:14px;flex-shrink:0}
.related a .r-ico svg{width:16px;height:16px;stroke:#0d7c66;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.related a .r-k{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px;display:block}
.related a h4{font-size:19px;font-weight:500;color:#1a1a2e;line-height:1.2;margin:0 0 6px 0}
.related a .r-desc{font-size:13px;color:rgba(26,26,46,.6);line-height:1.5;font-weight:300;margin:0 0 14px 0;flex:1;display:block}
.r-arrow{display:block;font-size:17px;color:rgba(26,26,46,.2);transition:.3s;line-height:1}
.related a:hover .r-arrow{color:#2dd4bf;transform:translateX(5px)}
.related-wrap{padding:28px 0 60px!important}
.prose-extra{padding-top:0!important}
@media(max-width:760px){.page-head{padding:96px 0 28px}.related{grid-template-columns:1fr;gap:10px}.related a{min-height:auto;padding:20px 20px 16px}}

/* ===== POLIMENTO DAS PÁGINAS INTERNAS ===== */
.page-head{overflow:hidden}
.page-head>*{position:relative;z-index:1}
.page-head::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 85% -30%,rgba(124,58,237,.12),transparent 58%),radial-gradient(ellipse at 0% 120%,rgba(45,212,191,.10),transparent 55%)}
.page-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;z-index:1;background:var(--grad);opacity:.55}
.page-head .lead{max-width:760px}
.prose h2{position:relative;padding-top:6px}
.prose blockquote.verse{margin:26px 0;padding:18px 26px;border-left:3px solid transparent;border-image:var(--grad) 1;background:var(--gs);border-radius:0 12px 12px 0;font-family:'Fraunces',serif;font-style:italic;font-size:19px;line-height:1.5;color:#1a1a2e}
/* (related ::before and :hover already defined above) */

/* Item de menu da página atual */
.nl a[aria-current="page"]{opacity:1;color:#2dd4bf;font-weight:600}
.mobile-menu-panel a[aria-current="page"]{color:#2dd4bf!important;font-weight:600!important}

/* ===== NAV DROPDOWN (desktop) ===== */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-dd-btn{background:none;border:none;color:rgba(244,236,216,.75);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:0;white-space:nowrap;transition:.3s;letter-spacing:0;line-height:1}
.nav-dropdown:hover .nav-dd-btn,.nav-dd-btn.dd-active{opacity:1;color:#f4ecd8}
.nav-dd-btn.dd-active{color:#2dd4bf}
.nav-dd-arrow{display:inline-flex;align-items:center;transition:transform .22s}
.nav-dropdown:hover .nav-dd-arrow{transform:rotate(180deg)}
.nav-dd-panel{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(-6px);background:rgba(8,12,38,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(244,236,216,.14);border-radius:14px;padding:8px;min-width:196px;display:grid;gap:2px;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s .2s;pointer-events:none;z-index:10002}
.nav-dd-panel::before{content:"";position:absolute;top:-5px;left:50%;transform:translateX(-50%);width:10px;height:5px;background:rgba(8,12,38,.97);clip-path:polygon(50% 0%,0% 100%,100% 100%);border-left:1px solid rgba(244,236,216,.14);border-right:1px solid rgba(244,236,216,.14)}
.nav-dropdown:hover .nav-dd-panel,.nav-dropdown:focus-within .nav-dd-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto;transition-delay:0s}
.nav-dd-panel a{display:flex;align-items:center;padding:9px 13px;border-radius:9px;font-size:13.5px;font-weight:500;color:rgba(244,236,216,.78);transition:.18s;white-space:nowrap;opacity:1}
.nav-dd-panel a:hover{background:rgba(244,236,216,.07);color:#f4ecd8;opacity:1}
.nav-dd-panel a[aria-current="page"]{color:#2dd4bf;background:rgba(45,212,191,.09);font-weight:600}
@media(max-width:980px){.nav-dropdown{display:none!important}}
@media(min-width:981px) and (max-width:1320px){.nav-dd-btn{font-size:13px}}

/* ===== HUB GRID (página Sobre) ===== */
.hub-section{background:#fff}
.hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.hub-card{background:#f5f1e8;border:1px solid rgba(26,26,46,.08);border-radius:16px;padding:24px 20px 20px;transition:.35s;position:relative;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.hub-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:.4s}
.hub-card:hover::before{transform:scaleX(1)}
.hub-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px -20px rgba(26,26,46,.14);border-color:rgba(37,99,235,.18);background:#fff}
.hub-ico{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,rgba(13,124,102,.1),rgba(37,99,235,.1) 50%,rgba(109,40,217,.1));border:1px solid rgba(37,99,235,.16);display:grid;place-items:center;margin-bottom:16px;flex-shrink:0}
.hub-ico svg{width:20px;height:20px;stroke:#0d7c66;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hub-card h3{font-size:16px;font-weight:600;color:#1a1a2e;margin-bottom:7px;line-height:1.25;font-family:'Manrope',sans-serif}
.hub-card p{font-size:13px;color:rgba(26,26,46,.6);line-height:1.55;font-weight:300;flex:1;margin-bottom:14px}
.hub-lnk{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-flex;align-items:center;gap:5px}
@media(max-width:900px){.hub-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:560px){.hub-grid{grid-template-columns:1fr 1fr;gap:10px}.hub-card{padding:18px 14px 16px}.hub-ico{width:36px;height:36px;margin-bottom:12px}.hub-card h3{font-size:14px}.hub-card p{display:none}.hub-lnk{font-size:10px}}

/* Spacing and responsive behavior for mobile language switcher */
@media(max-width:640px){
  nav .lang-switcher{display:none!important}
}
.mobile-menu-panel__inner .lang-switcher {
  margin-top: 12px;
}

/* ===== HUB GRID (3 colunas) ===== */
.hub-3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
@media(max-width:900px){.hub-3-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:560px){.hub-3-grid{grid-template-columns:1fr 1fr;gap:10px}}


