/* ============================================================
   SEÇÕES — 5° Encontro de Jovens
   ============================================================ */

/* ---------- NAV ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:8000;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem clamp(1rem,4vw,2.4rem);
  transition:background .4s var(--ease), backdrop-filter .4s var(--ease), padding .4s var(--ease);
}
.nav.scrolled{
  background:color-mix(in oklab,var(--ink) 78%, transparent);
  backdrop-filter:blur(14px);
  border-bottom:1px solid color-mix(in oklab,var(--tw-cyan) 14%, transparent);
  padding-block:.7rem;
}
.brand{ display:flex; align-items:center; gap:.7rem; font-weight:700; letter-spacing:.02em; }
.brand .mark{
  width:34px; height:34px; display:grid; place-items:center; border-radius:10px;
  background:linear-gradient(160deg,var(--teal-deep),var(--petrol));
  border:1px solid color-mix(in oklab,var(--tw-cyan) 35%, transparent);
  color:var(--tw-flame); font-size:1.1rem;
}
.brand b{ font-family:var(--display); font-weight:400; letter-spacing:.04em; font-size:1.15rem; }
.brand span{ font-size:.66rem; letter-spacing:.34em; text-transform:uppercase; color:var(--muted); display:block; }
.nav-links{ display:flex; align-items:center; gap:2rem; }
.nav-links a{ font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); transition:color .3s; }
.nav-links a:hover{ color:var(--paper); }
.nav .btn{
  padding:.78em 1.5em; font-size:.85rem; font-weight:800;
  color:#021313;
  background:linear-gradient(180deg,#effffb,var(--tw-cyan) 54%,#10bfae);
  border:1px solid color-mix(in oklab,#ffffff 72%, var(--tw-cyan));
  box-shadow:0 12px 34px -14px var(--tw-cyan), 0 0 0 1px color-mix(in oklab,var(--ink) 28%, transparent);
}
.nav .btn:hover{
  color:#000;
  box-shadow:0 18px 42px -14px var(--tw-cyan), 0 0 0 1px color-mix(in oklab,#ffffff 45%, transparent);
}
@media (max-width:860px){ .nav-links a:not(.btn){ display:none; } }

/* ---------- HERO ---------- */
.hero{
  position:relative; min-height:100svh; display:flex; flex-direction:column;
  justify-content:center; padding:7rem 0 3rem;
  background:
    radial-gradient(120% 90% at 80% -10%, var(--teal-deep), transparent 55%),
    radial-gradient(100% 80% at 0% 110%, var(--petrol-2), transparent 60%),
    linear-gradient(180deg,var(--petrol),var(--ink));
  overflow:hidden;
}
/* flowing energy lines (svg layer) */
.hero-lines{ position:absolute; inset:0; z-index:1; opacity:.7; pointer-events:none; }
.hero-lines path{ fill:none; stroke:var(--tw-cyan); stroke-width:1.2; opacity:.0;
  filter:drop-shadow(0 0 6px color-mix(in oklab,var(--tw-cyan) 70%, transparent));
  animation:lineIn 2.4s var(--ease) forwards, lineFloat 9s ease-in-out infinite, linePulse 5.8s ease-in-out infinite; }
.hero-lines path:nth-child(1){ animation-delay:.2s,2.6s; }
.hero-lines path:nth-child(2){ animation-delay:.45s,2.9s; }
.hero-lines path:nth-child(3){ animation-delay:.7s,3.2s; }
.hero-lines path:nth-child(4){ animation-delay:.95s,3.5s; }
.hero-lines path:nth-child(5){ animation-delay:1.2s,3.8s; }
@keyframes lineIn{ from{ stroke-dasharray:1400; stroke-dashoffset:1400; opacity:0;} to{ stroke-dashoffset:0; opacity:.65;} }
@keyframes lineFloat{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-14px);} }
@keyframes linePulse{ 0%,100%{ stroke-width:1.2;} 50%{ stroke-width:1.8;} }

.hero-inner{ position:relative; z-index:3; }
.hero-top{ display:flex; align-items:center; gap:1rem; margin-bottom:2rem; }
.hero-title{ position:relative; }
.hero-title .ed{
  display:flex; align-items:baseline; gap:.12em; line-height:.82;
}
.hero-title .num{
  font-family:var(--display);
  font-size:clamp(7rem,26vw,24rem);
  position:relative; top:.18em;
  background:linear-gradient(180deg,#fff 30%, var(--cyan-soft));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 10px 40px color-mix(in oklab,var(--tw-cyan) 30%, transparent));
}
.hero-title .deg{ font-family:var(--display); font-size:clamp(2rem,7vw,6rem); color:var(--tw-flame); align-self:flex-start; }
.hero-title .word{
  font-family:var(--display); letter-spacing:.01em; line-height:.92;
  font-size:clamp(2.6rem,11.5vw,11rem); text-transform:uppercase;
  color:var(--paper);
}
.hero-title .word .gl{ color:transparent; -webkit-text-stroke:1.4px color-mix(in oklab,var(--tw-cyan) 70%, transparent); }
.hero-title .jovens{
  font-family:var(--script); color:var(--tw-cyan);
  font-size:clamp(3.4rem,16vw,15rem); line-height:.7; display:block;
  margin-top:-.05em; transform:rotate(-3deg); transform-origin:left;
  filter:drop-shadow(0 6px 26px color-mix(in oklab,var(--tw-cyan) 45%, transparent));
  animation:jovensGlow 3.8s ease-in-out infinite;
}
.hero-place{
  display:block;
  width:max-content;
  margin-top:.72rem;
  margin-left:.35rem;
  font-size:clamp(.72rem,1vw,.9rem);
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--muted);
}
@keyframes jovensGlow{
  0%,100%{ filter:drop-shadow(0 6px 24px color-mix(in oklab,var(--tw-cyan) 38%, transparent)); }
  50%{ filter:drop-shadow(0 12px 42px color-mix(in oklab,var(--tw-cyan) 72%, transparent)); }
}

.hero-meta{
  display:flex; flex-wrap:wrap; gap:1.6rem 2.6rem; align-items:center;
  margin-top:2.4rem; padding-top:2rem;
  border-top:1px solid color-mix(in oklab,var(--tw-cyan) 16%, transparent);
}
.hero-meta .item{ display:flex; align-items:center; gap:.85rem; }
.hero-meta .ic{
  width:46px; height:46px; flex:none; border-radius:12px; display:grid; place-items:center;
  border:1px solid color-mix(in oklab,var(--tw-cyan) 34%, transparent);
  background:color-mix(in oklab,var(--tw-cyan) 8%, transparent);
  color:var(--tw-cyan);
}
.hero-meta .k{ font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); }
.hero-meta .v{ font-weight:600; font-size:1.05rem; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.4rem; }

/* countdown */
.countdown{ display:flex; gap:.7rem; margin-left:auto; }
.cd-cell{
  min-width:74px; text-align:center; padding:.7rem .6rem; border-radius:14px;
  background:color-mix(in oklab,var(--ink) 50%, transparent);
  border:1px solid color-mix(in oklab,var(--tw-cyan) 18%, transparent);
  backdrop-filter:blur(6px);
}
.cd-cell .n{ font-family:var(--display); font-size:1.9rem; line-height:1; color:var(--paper); }
.cd-cell .l{ font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:.35rem; }
@media (max-width:760px){ .countdown{ margin-left:0; width:100%; } .cd-cell{ flex:1; min-width:0; } }

.scroll-cue{
  position:absolute; bottom:1.4rem; left:50%; transform:translateX(-50%); z-index:4;
  font-size:.64rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted);
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
}
.scroll-cue .dot{ width:5px; height:5px; border-radius:50%; background:var(--tw-cyan); animation:cue 1.6s ease-in-out infinite; }
@keyframes cue{ 0%,100%{ transform:translateY(0); opacity:.4;} 50%{ transform:translateY(8px); opacity:1;} }
@keyframes numberFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-6px); }
}
@keyframes ctaBreath{
  0%,100%{ box-shadow:0 14px 40px -12px color-mix(in oklab,var(--tw-flame) 70%, transparent); }
  50%{ box-shadow:0 18px 48px -10px color-mix(in oklab,var(--tw-flame) 95%, transparent); }
}

@media (min-width:1100px){
  .hero{ min-height:100svh; padding:6.2rem 0 2.6rem; justify-content:center; }
  .hero-inner{
    display:grid;
    align-content:center;
    min-height:calc(100svh - 8.8rem);
    transform:translateY(.6rem);
  }
  .hero-top{ margin-bottom:1.25rem; }
  .hero-title{
    width:min(100%, 1120px);
    transform:translateY(-.2rem);
  }
  .hero-title .num{ font-size:clamp(9rem,18vw,18.5rem); top:.24em; }
  .hero-title .deg{ font-size:clamp(2.7rem,5vw,4.8rem); }
  .hero-title .word{ font-size:clamp(4.2rem,8vw,8.4rem); }
  .hero-title .jovens{
    font-size:clamp(5.4rem,9.8vw,10.6rem);
    margin-top:-.02em;
    max-width:9ch;
  }
  .hero-meta{ margin-top:1.15rem; padding-top:1.05rem; }
  .hero-cta{ margin-top:1.45rem; }
}

@media (min-width:1500px){
  .hero-title{ transform:translateY(-.45rem); }
  .hero-title .num{ font-size:17.2rem; top:.26em; }
  .hero-title .word{ font-size:7.8rem; }
  .hero-title .jovens{ font-size:9.6rem; }
}

/* ---------- MARQUEE ---------- */
.marquee{ overflow:hidden; border-block:1px solid color-mix(in oklab,var(--tw-cyan) 16%, transparent);
  background:var(--petrol); padding:1.1rem 0; }
.marquee-track{ display:flex; gap:3rem; white-space:nowrap; width:max-content; animation:scrollx 26s linear infinite; }
.marquee-track span{ font-family:var(--display); font-size:1.5rem; letter-spacing:.04em; text-transform:uppercase; color:color-mix(in oklab,var(--paper) 70%, transparent); display:inline-flex; align-items:center; gap:3rem; }
.marquee-track span i{ color:var(--tw-flame); font-style:normal; }
@keyframes scrollx{ to{ transform:translateX(-50%);} }

/* ---------- THEME / VERSE ---------- */
.theme{ position:relative; padding:clamp(5rem,11vw,9rem) 0; overflow:hidden;
  background:linear-gradient(180deg,var(--ink),var(--teal-deep) 60%, var(--petrol)); }
.theme-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,5rem); align-items:center; position:relative; z-index:2; }
@media (max-width:900px){ .theme-grid{ grid-template-columns:1fr; } }
.theme h2{ font-family:var(--display); text-transform:uppercase; line-height:.92;
  font-size:clamp(2.8rem,7vw,6rem); margin:1.2rem 0 .4rem; }
.theme h2 em{ font-style:normal; color:var(--tw-flame); display:block; }
.theme .ref{ font-family:var(--script); color:var(--tw-cyan); font-size:1.7rem; }
.verse-card{
  position:relative; padding:clamp(1.8rem,3.5vw,2.8rem); border-radius:22px;
  background:color-mix(in oklab,var(--ink) 55%, transparent);
  border:1px solid color-mix(in oklab,var(--tw-flame) 32%, transparent);
  backdrop-filter:blur(8px);
}
.verse-card .flame{ width:62px; height:62px; border-radius:50%; display:grid; place-items:center; font-size:1.8rem;
  background:color-mix(in oklab,var(--tw-flame) 14%, transparent);
  border:1px solid color-mix(in oklab,var(--tw-flame) 45%, transparent); color:var(--tw-flame); margin-bottom:1.4rem; }
.verse-card p{ font-size:clamp(1.4rem,2.6vw,2rem); font-weight:500; line-height:1.35; }
.verse-card p b{ color:var(--tw-flame); font-weight:700; }
.verse-card .src{ margin-top:1.2rem; font-size:.74rem; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); }
.theme-art{ position:relative; border-radius:24px; overflow:hidden; aspect-ratio:3/4;
  border:1px solid color-mix(in oklab,var(--tw-cyan) 22%, transparent); }
.theme-art img{ width:100%; height:100%; object-fit:cover; }
.event-gallery{
  position:relative; z-index:2; min-width:0; border-radius:24px; overflow:hidden;
  padding:1rem; background:color-mix(in oklab,var(--ink) 56%, transparent);
  border:1px solid color-mix(in oklab,var(--tw-cyan) 22%, transparent);
  box-shadow:0 34px 70px -48px #000;
}
.gallery-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:1rem;
  padding:.35rem .45rem 1rem; border-bottom:1px solid color-mix(in oklab,var(--tw-cyan) 14%, transparent);
}
.gallery-head span{ font-size:.68rem; letter-spacing:.28em; text-transform:uppercase; color:var(--tw-flame); font-weight:700; }
.gallery-head strong{ font-family:var(--display); font-size:clamp(1.25rem,2.4vw,2rem); line-height:1; text-transform:uppercase; font-weight:400; color:var(--paper); }
.gallery-shell{ position:relative; }
.gallery-track{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px,62%);
  gap:.9rem; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:inline mandatory;
  padding:1rem .2rem .35rem; scrollbar-width:thin; scrollbar-color:var(--tw-cyan) transparent;
}
.gallery-photo{
  position:relative; scroll-snap-align:start; aspect-ratio:4/5; border-radius:18px; overflow:hidden;
  background:var(--petrol); border:1px solid color-mix(in oklab,var(--tw-cyan) 18%, transparent);
}
.gallery-photo button{ width:100%; height:100%; border:0; padding:0; background:transparent; display:block; cursor:pointer; }
.gallery-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.gallery-photo:hover img{ transform:scale(1.04); }
.gallery-nav{
  position:absolute; top:50%; z-index:4; width:42px; height:42px; border-radius:50%;
  border:1px solid color-mix(in oklab,var(--tw-cyan) 42%, transparent);
  background:color-mix(in oklab,var(--ink) 72%, transparent); color:var(--paper);
  display:grid; place-items:center; font-size:2rem; line-height:1; cursor:pointer;
  box-shadow:0 18px 34px -24px #000; transform:translateY(-50%);
}
.gallery-nav.prev{ left:.35rem; }
.gallery-nav.next{ right:.35rem; }
.gallery-nav:hover{ color:var(--tw-cyan); border-color:var(--tw-cyan); }
.photo-lightbox{
  position:fixed; inset:0; z-index:9500; display:none; place-items:center; padding:1rem;
  background:rgba(0,0,0,.88); backdrop-filter:blur(8px);
}
.photo-lightbox.open{ display:grid; }
.photo-lightbox img{ max-width:min(96vw,980px); max-height:92svh; object-fit:contain; border-radius:14px; box-shadow:0 28px 80px -30px #000; }
.lightbox-close{
  position:absolute; top:1rem; right:1rem; width:44px; height:44px; border-radius:50%;
  border:1px solid color-mix(in oklab,var(--paper) 28%, transparent);
  background:rgba(3,25,26,.7); color:var(--paper); font-size:2rem; line-height:1; cursor:pointer;
}

/* pillars */
.pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:clamp(3rem,6vw,5rem);
  background:color-mix(in oklab,var(--tw-cyan) 14%, transparent); border:1px solid color-mix(in oklab,var(--tw-cyan) 14%, transparent);
  border-radius:18px; overflow:hidden; position:relative; z-index:2; }
@media (max-width:760px){ .pillars{ grid-template-columns:repeat(2,1fr); } }
.pillar{ padding:clamp(1.6rem,3vw,2.4rem); background:var(--petrol); transition:background .4s; }
.pillar:hover{ background:var(--teal-deep); }
.pillar .pn{ font-family:var(--display); color:var(--tw-cyan); font-size:1.1rem; opacity:.5; }
.pillar h3{ font-family:var(--display); text-transform:uppercase; font-size:clamp(1.3rem,2.4vw,1.9rem); margin:.6rem 0 .5rem; }
.pillar p{ color:var(--muted); font-size:.92rem; }

/* ---------- DESTAQUES ---------- */
.feat{ position:relative; padding:clamp(5rem,11vw,9rem) 0; background:var(--ink); overflow:hidden; }
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1.4rem; margin-bottom:clamp(2.6rem,5vw,4rem); }
.sec-head h2{ font-family:var(--display); text-transform:uppercase; line-height:.9; font-size:clamp(2.6rem,7vw,5.6rem); }
.sec-head h2 em{ font-family:var(--script); font-style:normal; color:var(--tw-cyan); text-transform:none; }
.sec-head p{ max-width:34ch; color:var(--muted); }

.stars{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.4rem,3vw,2.2rem); }
@media (max-width:840px){ .stars{ grid-template-columns:1fr; } }
.star{
  position:relative; border-radius:26px; overflow:hidden; min-height:560px;
  display:flex; align-items:flex-end; isolation:isolate;
  background:linear-gradient(160deg,var(--teal-deep),var(--petrol));
  border:1px solid color-mix(in oklab,var(--tw-cyan) 18%, transparent);
}
.star .glow{ position:absolute; inset:0; z-index:0;
  background:radial-gradient(80% 60% at 50% 0%, color-mix(in oklab,var(--tw-cyan) 30%, transparent), transparent 60%); }
.star .photo{ position:absolute; bottom:0; left:50%; transform:translateX(-50%); height:96%; width:auto; z-index:1;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.5)); transition:transform .6s var(--ease); }
.star:hover .photo{ transform:translateX(-50%) scale(1.04); }
.star .info{ position:relative; z-index:2; width:100%; padding:2rem; 
  background:linear-gradient(180deg,transparent, color-mix(in oklab,var(--ink) 92%, transparent) 62%); }
.star .role{ font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--tw-flame); font-weight:600; }
.star h3{ font-family:var(--display); text-transform:uppercase; font-size:clamp(2rem,4.4vw,3.2rem); line-height:.95; margin:.3rem 0; }
.star .loc{ color:var(--muted); font-size:.9rem; display:flex; align-items:center; gap:.5rem; }
.star .tag{ position:absolute; top:1.4rem; left:1.4rem; z-index:3; font-size:.66rem; letter-spacing:.26em; text-transform:uppercase;
  padding:.5em 1em; border-radius:999px; background:color-mix(in oklab,var(--ink) 60%, transparent);
  border:1px solid color-mix(in oklab,var(--tw-cyan) 30%, transparent); color:var(--tw-cyan); backdrop-filter:blur(6px); }

/* ---------- HINOS ---------- */
.hymns{
  position:relative; padding:clamp(5rem,11vw,9rem) 0; overflow:hidden;
  background:linear-gradient(180deg,var(--ink),var(--petrol-2) 58%,var(--ink));
}
.hymns .wrap{ position:relative; z-index:2; }
.hymn-main,.hymn-card{
  border:1px solid color-mix(in oklab,var(--tw-cyan) 20%, transparent);
  background:color-mix(in oklab,var(--ink) 58%, transparent);
  backdrop-filter:blur(10px);
  box-shadow:0 34px 70px -52px #000;
}
.hymn-main{
  display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(1.2rem,3vw,2rem);
  align-items:center; border-radius:28px; padding:clamp(1rem,2vw,1.4rem);
}
.hymn-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(1rem,2.4vw,1.6rem);
  margin-top:clamp(1rem,2.8vw,1.8rem);
}
.hymn-card{ border-radius:22px; overflow:hidden; }
.hymn-card .hymn-copy{ padding:1.25rem 1.35rem 0; }
.hymn-copy{ padding:clamp(1.2rem,3vw,2.2rem); }
.hymn-copy .tag{
  display:inline-flex; width:max-content; margin-bottom:.85rem;
  font-size:.68rem; letter-spacing:.28em; text-transform:uppercase; font-weight:700;
  color:var(--tw-flame);
}
.hymn-copy h3{
  font-family:var(--display); text-transform:uppercase; line-height:.95;
  font-size:clamp(1.8rem,4vw,3.6rem); font-weight:400;
}
.hymn-copy p{ margin-top:.85rem; max-width:34ch; color:var(--muted); }
.video-frame{
  position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:18px;
  background:var(--ink);
  border:1px solid color-mix(in oklab,var(--tw-cyan) 18%, transparent);
}
.hymn-card .video-frame{ margin:1rem; margin-top:1.1rem; }
.video-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }

/* ---------- LÍDERES ---------- */
.team{ position:relative; padding:clamp(5rem,11vw,9rem) 0;
  background:linear-gradient(180deg,var(--ink),var(--petrol)); overflow:hidden; }
.couples{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.4rem,3vw,2rem); }
@media (max-width:840px){ .couples{ grid-template-columns:1fr; } }
.couple{ position:relative; border-radius:24px; overflow:hidden; min-height:480px; display:flex; align-items:flex-end;
  background:linear-gradient(160deg,var(--petrol-2),var(--ink));
  border:1px solid color-mix(in oklab,var(--tw-cyan) 16%, transparent); }
.couple .glow{ position:absolute; inset:0;
  background:radial-gradient(70% 50% at 50% 10%, color-mix(in oklab,var(--tw-cyan) 22%, transparent), transparent 60%); }
.couple img{ position:absolute; bottom:0; left:50%; transform:translateX(-50%); height:94%; width:auto; z-index:1;
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.5)); transition:transform .6s var(--ease); }
.couple:hover img{ transform:translateX(-50%) scale(1.03); }
.couple .info{ position:relative; z-index:2; width:100%; padding:1.8rem;
  background:linear-gradient(180deg,transparent, color-mix(in oklab,var(--ink) 92%, transparent) 60%); }
.couple .role{ font-size:.68rem; letter-spacing:.28em; text-transform:uppercase; color:var(--tw-cyan); font-weight:600; }
.couple h3{ font-family:var(--display); text-transform:uppercase; font-size:clamp(1.5rem,3vw,2.2rem); margin-top:.3rem; }

.leaders-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:clamp(2rem,4vw,3rem);
  background:color-mix(in oklab,var(--tw-cyan) 12%, transparent); border:1px solid color-mix(in oklab,var(--tw-cyan) 12%, transparent);
  border-radius:18px; overflow:hidden; }
@media (max-width:620px){ .leaders-list{ grid-template-columns:1fr; } }
.lead{ background:var(--petrol); padding:1.5rem 1.8rem; display:flex; align-items:center; gap:1rem; }
.lead .av{ width:46px; height:46px; flex:none; border-radius:50%; display:grid; place-items:center; font-family:var(--display); font-size:1.2rem;
  background:color-mix(in oklab,var(--tw-flame) 16%, transparent); border:1px solid color-mix(in oklab,var(--tw-flame) 40%, transparent); color:var(--tw-flame); }
.lead .role{ font-size:.64rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); }
.lead .nm{ font-weight:600; font-size:1.05rem; }

/* ---------- INFO / CTA ---------- */
.local-cta{ position:relative; padding:clamp(5rem,11vw,9rem) 0; overflow:hidden;
  background:radial-gradient(120% 90% at 50% 120%, var(--teal-deep), var(--ink) 60%); }
.info-card{ position:relative; z-index:2; border-radius:30px; overflow:hidden;
  border:1px solid color-mix(in oklab,var(--tw-cyan) 22%, transparent);
  background:color-mix(in oklab,var(--ink) 55%, transparent); backdrop-filter:blur(10px);
  display:grid; grid-template-columns:1.1fr .9fr; }
@media (max-width:860px){ .info-card{ grid-template-columns:1fr; } }
.info-main{ padding:clamp(2.4rem,5vw,4rem); }
.info-main h2{ font-family:var(--display); text-transform:uppercase; line-height:.92; font-size:clamp(2.4rem,6vw,4.6rem); margin:.8rem 0 1.4rem; }
.info-main h2 em{ font-family:var(--script); font-style:normal; color:var(--tw-cyan); text-transform:none; }
.info-rows{ display:flex; flex-direction:column; gap:1.3rem; margin:2rem 0; }
.info-row{ display:flex; gap:1rem; align-items:flex-start; }
.info-row .ic{ width:48px; height:48px; flex:none; border-radius:13px; display:grid; place-items:center; color:var(--tw-cyan);
  border:1px solid color-mix(in oklab,var(--tw-cyan) 30%, transparent); background:color-mix(in oklab,var(--tw-cyan) 8%, transparent); }
.info-row .k{ font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); }
.info-row .v{ font-weight:600; font-size:1.1rem; }
.info-side{ position:relative; background:linear-gradient(160deg,var(--teal-deep),var(--petrol)); padding:clamp(2.4rem,5vw,4rem);
  display:flex; flex-direction:column; justify-content:center; gap:1.4rem; }
.info-side .big{ font-family:var(--display); font-size:clamp(3rem,8vw,5rem); line-height:.9;
  background:linear-gradient(180deg,#fff,var(--cyan-soft)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.info-side .lbl{ font-size:.72rem; letter-spacing:.26em; text-transform:uppercase; color:var(--muted); }

/* ---------- PASTOR PRESIDENTE CARD ---------- */
.pastor-card{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  border-radius:28px; overflow:hidden;
  border:1px solid color-mix(in oklab,var(--tw-flame) 30%, transparent);
  background:linear-gradient(135deg,var(--petrol-2),var(--ink));
  box-shadow:0 40px 80px -40px #000, 0 0 0 1px color-mix(in oklab,var(--tw-flame) 12%, transparent);
  min-height:400px;
}
@media(max-width:760px){ .pastor-card{ grid-template-columns:1fr; } }
.pastor-card__photo{
  position:relative; overflow:hidden; display:flex; align-items:stretch; justify-content:center;
  background:linear-gradient(160deg, color-mix(in oklab,var(--tw-cyan) 8%, var(--petrol-2)), var(--ink));
}
.pastor-card__photo::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(to right, transparent 70%, color-mix(in oklab,var(--ink) 85%, transparent) 100%),
    linear-gradient(to bottom, transparent 80%, color-mix(in oklab,var(--ink) 60%, transparent) 100%);
}
.pastor-card__photo img{
  position:relative; z-index:0;
  width:100%; height:100%;
  object-fit:cover; object-position:top center;
  filter:drop-shadow(0 0 18px color-mix(in oklab,var(--tw-cyan) 45%, transparent))
         drop-shadow(0 0 40px color-mix(in oklab,var(--tw-cyan) 25%, transparent));
}
.pastor-card__body{
  padding:clamp(2rem,4vw,3.2rem);
  display:flex; flex-direction:column; justify-content:center; gap:1.6rem;
  border-left:1px solid color-mix(in oklab,var(--tw-flame) 18%, transparent);
}
@media(max-width:760px){ .pastor-card__body{ border-left:none; border-top:1px solid color-mix(in oklab,var(--tw-flame) 18%, transparent); } }
.pastor-card__seal{ display:flex; align-items:center; gap:.9rem; }
.pastor-card__roles{ display:flex; flex-direction:column; gap:1.1rem; }
.pastor-card__role-item{ display:flex; flex-direction:column; gap:.2rem; }
.role-badge{ font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; font-weight:700; }
.pastor-card__name{ font-family:var(--display); text-transform:uppercase; font-size:clamp(1.5rem,3vw,2.4rem); line-height:1; }
.pastor-card__divider{ width:48px; height:1px; background:color-mix(in oklab,var(--paper) 18%, transparent); }
.pastor-card__quote{
  font-family:var(--script); color:var(--tw-flame);
  font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.2;
}
.pastor-card__church{ font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }

/* ---------- FOOTER ---------- */
.foot{ background:var(--ink); padding:clamp(3rem,6vw,5rem) 0 2.4rem; border-top:1px solid color-mix(in oklab,var(--tw-cyan) 14%, transparent); }
.foot-top{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem; }
.foot h3{ font-family:var(--display); text-transform:uppercase; font-size:clamp(1.8rem,4vw,3rem); line-height:.95; }
.foot h3 em{ font-family:var(--script); font-style:normal; color:var(--tw-cyan); text-transform:none; }
.foot .seal{ text-align:center; }
.foot .seal .ie{ font-family:var(--display); letter-spacing:.1em; color:var(--tw-flame); font-size:1.4rem; }
.foot .seal small{ display:block; font-size:.64rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); margin-top:.3rem; }
.foot-bottom{ margin-top:2.6rem; padding-top:1.6rem; border-top:1px solid color-mix(in oklab,var(--paper) 8%, transparent);
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; font-size:.76rem; color:var(--muted); letter-spacing:.04em; }

@media (max-width:760px){
  .nav{ padding:.78rem 1rem; gap:.8rem; }
  .brand{ min-width:0; }
  .brand b{ font-size:1rem; }
  .brand span{ letter-spacing:.18em; }
  .brand span span{ display:none; }
  .nav-links{ gap:.7rem; }
  .nav .btn{ padding:.64em 1em; font-size:.74rem; letter-spacing:.08em; white-space:nowrap; }

  .hero{ min-height:auto; justify-content:flex-start; padding:5.8rem 0 2.4rem; }
  .hero .energy::before{ opacity:.72; animation-duration:8s; }
  .hero .energy::after{ opacity:.68; animation-duration:10s; }
  .hero-lines{ opacity:.95; }
  .hero-lines path{
    stroke-width:1.8;
    animation-duration:1.8s, 4.8s, 3.6s;
  }
  .hero-top{ margin-bottom:.8rem; gap:.7rem; flex-wrap:wrap; }
  .hero-title .num{ font-size:clamp(6.2rem,32vw,8.8rem); top:.1em; }
  .hero-title .num{ animation:numberFloat 4.2s ease-in-out infinite; }
  .hero-title .deg{ font-size:clamp(2rem,8vw,2.8rem); }
  .hero-title .word{ font-size:clamp(2.3rem,13vw,4rem); }
  .hero-title .jovens{ font-size:clamp(3.1rem,17vw,5.2rem); }
  .hero-place{ margin-top:.4rem; font-size:.68rem; letter-spacing:.22em; }
  .hero-meta{ gap:.9rem; margin-top:1.35rem; padding-top:1.2rem; }
  .hero-meta .item{ width:calc(50% - .45rem); gap:.6rem; }
  .hero-meta .ic{ width:38px; height:38px; border-radius:10px; }
  .hero-meta .k{ font-size:.58rem; letter-spacing:.18em; }
  .hero-meta .v{ font-size:.92rem; line-height:1.2; }
  .countdown{ gap:.45rem; }
  .cd-cell{ padding:.55rem .35rem; border-radius:11px; }
  .cd-cell .n{ font-size:1.45rem; }
  .cd-cell .l{ font-size:.52rem; letter-spacing:.12em; }
  .hero-cta{ margin-top:1.25rem; gap:.65rem; }
  .hero-cta .btn{ flex:1 1 auto; justify-content:center; padding:.82em 1em; font-size:.88rem; }
  .hero-cta .btn:first-child{ animation:ctaBreath 3s ease-in-out infinite; }
  .scroll-cue{ display:none; }

  .marquee{ padding:.72rem 0; }
  .marquee-track span{ font-size:1.05rem; gap:1.8rem; }

  .theme,.feat,.hymns,.team,.local-cta{ padding:3rem 0; }
  .theme-grid{ gap:1.5rem; }
  .theme h2,.sec-head h2,.info-main h2{ font-size:clamp(2.2rem,12vw,3.4rem); }
  .theme .ref{ font-size:1.35rem; }
  .verse-card{ padding:1.25rem; border-radius:16px; }
  .verse-card .flame{ width:46px; height:46px; margin-bottom:.9rem; font-size:1.35rem; }
  .verse-card p{ font-size:1.1rem; }
  .verse-card .src{ font-size:.62rem; letter-spacing:.16em; }
  .event-gallery{ padding:.75rem; border-radius:18px; }
  .gallery-head{ padding:.25rem .25rem .75rem; align-items:flex-start; flex-direction:column; gap:.25rem; }
  .gallery-track{ grid-auto-columns:minmax(190px,78%); gap:.7rem; padding:.75rem 0 .25rem; }
  .gallery-photo{ aspect-ratio:4/4.6; border-radius:14px; }
  .gallery-nav{ width:36px; height:36px; font-size:1.65rem; }
  .pillars{ grid-template-columns:1fr 1fr; margin-top:1.5rem; border-radius:14px; }
  .pillar{ padding:1rem; }
  .pillar h3{ font-size:1.25rem; margin:.35rem 0 .25rem; }
  .pillar p{ font-size:.8rem; line-height:1.35; }

  .sec-head{ gap:.8rem; margin-bottom:1.5rem; }
  .sec-head p{ font-size:.92rem; }
  .star{ min-height:390px; border-radius:18px; }
  .star .photo{ height:88%; }
  .star .info{ padding:1.35rem; }
  .star .tag{ top:1rem; left:1rem; font-size:.56rem; letter-spacing:.18em; }
  .star h3{ font-size:2rem; }

  .hymn-main,.hymn-grid{ grid-template-columns:1fr; }
  .hymn-main{ border-radius:18px; padding:.75rem; }
  .hymn-copy{ padding:1rem; }
  .hymn-card{ border-radius:18px; }
  .hymn-card .hymn-copy{ padding:1rem 1rem 0; }
  .hymn-copy .tag{ font-size:.58rem; letter-spacing:.2em; margin-bottom:.55rem; }
  .hymn-copy h3{ font-size:clamp(1.65rem,9vw,2.4rem); }
  .hymn-copy p{ font-size:.9rem; }
  .video-frame{ border-radius:14px; }
  .hymn-card .video-frame{ margin:.75rem; }

  .pastor-card{ min-height:0; border-radius:18px; }
  .pastor-card__photo{ max-height:330px; }
  .pastor-card__body{ padding:1.35rem; gap:1rem; }
  .pastor-card__seal img{ width:54px !important; height:54px !important; }
  .role-badge{ font-size:.6rem; letter-spacing:.18em; }
  .pastor-card__church{ font-size:.66rem; letter-spacing:.1em; }
  .couples{ gap:1rem; }
  .couple{ min-height:340px; border-radius:18px; }
  .couple img{ height:88%; }
  .couple .info{ padding:1.25rem; }

  .info-card{ border-radius:18px; }
  .info-main,.info-side{ padding:1.45rem; }
  .info-rows{ gap:.9rem; margin:1.25rem 0; }
  .info-row{ gap:.75rem; }
  .info-row .ic{ width:40px; height:40px; border-radius:11px; }
  .info-row .k{ font-size:.58rem; letter-spacing:.16em; }
  .info-row .v{ font-size:.95rem; line-height:1.3; }
  .info-side{ gap:1rem; }
  .info-side .big{ font-size:3.1rem; }
  .info-side .lbl{ font-size:.62rem; letter-spacing:.18em; }

  .foot{ padding:2.3rem 0 1.8rem; }
  .foot-top{ gap:1.2rem; }
  .foot .seal img{ width:62px !important; height:62px !important; margin-inline:auto; }
  .foot-bottom{ margin-top:1.5rem; padding-top:1rem; }
}

@media (max-width:430px){
  .wrap{ width:min(94%, var(--maxw)); }
  .hero-meta .item{ width:100%; }
  .hero-cta .btn{ flex-basis:100%; }
  .pillars{ grid-template-columns:1fr; }
  .star{ min-height:350px; }
  .couple{ min-height:310px; }
}
