:root{--blue:#123f90;--navy:#06163f;--cyan:#35d7ff;--yellow:#ffd84d;--ink:#0b1736;--card:rgba(255,255,255,.84);--shadow:0 24px 70px rgba(4,20,62,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-x:hidden;background:radial-gradient(circle at 8% 0,rgba(53,215,255,.18),transparent 28rem),radial-gradient(circle at 94% 10%,rgba(255,216,77,.2),transparent 24rem),#f5f8ff;color:var(--ink)}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:radial-gradient(rgba(18,63,144,.1) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(#000,transparent 72%)}.site-header.app-header{background:rgba(6,22,63,.78)!important;backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.12)}.app-navbar{min-height:84px}.app-brand strong,.app-brand small,.nav-links a{color:#fff!important}.nav-links a{border-radius:999px!important;padding:.7rem .9rem!important}.nav-links a:hover,.nav-links a.active{background:rgba(255,255,255,.13)!important}.nav-toggle{background:var(--yellow)!important;color:var(--navy)!important}.youth-home{overflow:hidden}.youth-hero{min-height:92vh;position:relative;display:grid;place-items:center;padding:7.5rem 0 4rem;color:#fff;background:radial-gradient(circle at 75% 25%,rgba(53,215,255,.35),transparent 22rem),radial-gradient(circle at 15% 75%,rgba(255,216,77,.2),transparent 20rem),linear-gradient(135deg,#06163f,#123f90 55%,#0b2f72);isolation:isolate}.youth-hero:after{content:"";position:absolute;inset:auto -10% -42% -10%;height:62%;background:#f5f8ff;border-radius:50% 50% 0 0/18% 18% 0 0;z-index:-1}.youth-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.25);opacity:.8}.youth-orb.one{width:280px;height:280px;top:16%;right:-100px;background:rgba(53,215,255,.12)}.youth-orb.two{width:150px;height:150px;bottom:17%;left:-45px;background:rgba(255,216,77,.16)}.youth-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);align-items:center;gap:3rem}.youth-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.62rem 1rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.76rem}.youth-badge:before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--yellow);box-shadow:0 0 18px var(--yellow)}.youth-title{font-size:clamp(3rem,8vw,7.4rem);line-height:.88;letter-spacing:-.075em;margin:1.25rem 0 1.35rem}.youth-title .outline{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.92)}.youth-title .yellow{color:var(--yellow)}.youth-lead{font-size:clamp(1.05rem,2vw,1.28rem);max-width:640px;color:rgba(255,255,255,.82);line-height:1.7}.youth-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.youth-btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:54px;padding:0 1.35rem;border-radius:16px;font-weight:900;text-decoration:none}.youth-btn.primary{background:var(--yellow);color:var(--navy);box-shadow:0 16px 36px rgba(255,216,77,.26)}.youth-btn.ghost{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.22)}.youth-logo-stage{position:relative;min-height:500px;display:grid;place-items:center}.youth-logo-ring{position:absolute;width:min(440px,85vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 0 0 28px rgba(255,255,255,.025),0 0 90px rgba(53,215,255,.2)}.youth-logo-ring:before,.youth-logo-ring:after{content:"";position:absolute;border-radius:50%;inset:10%;border:1px dashed rgba(255,216,77,.4)}.youth-logo-ring:after{inset:24%;border-color:rgba(53,215,255,.45)}.youth-logo-card{position:relative;width:min(330px,72vw);aspect-ratio:1;border-radius:38%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(18px);box-shadow:0 35px 90px rgba(0,0,0,.25);transform-style:preserve-3d}.youth-logo-card img{width:76%;filter:drop-shadow(0 18px 25px rgba(0,0,0,.28))}.youth-note{position:absolute;font-size:clamp(1.5rem,3vw,2.8rem);color:var(--yellow);font-weight:900}.youth-note.n1{top:11%;left:4%}.youth-note.n2{top:9%;right:5%;color:var(--cyan)}.youth-note.n3{bottom:8%;left:8%;color:#fff}.youth-note.n4{bottom:14%;right:2%}.youth-scroll-cue{position:absolute;left:50%;bottom:2rem;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.65)}.youth-scroll-cue i{display:block;width:1px;height:46px;background:linear-gradient(#fff,transparent)}.youth-section{padding:6rem 0}.youth-section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2.2rem}.youth-kicker{font-weight:950;color:var(--blue);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem}.youth-section h2{font-size:clamp(2.2rem,5vw,4.5rem);line-height:.95;letter-spacing:-.055em;margin:.65rem 0 0}.youth-section-head p{max-width:470px;color:#53617e;line-height:1.7}.youth-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}.youth-card{position:relative;min-height:285px;padding:1.5rem;border-radius:28px;background:var(--card);border:1px solid rgba(18,63,144,.1);box-shadow:var(--shadow);overflow:hidden;text-decoration:none;color:inherit;transform-style:preserve-3d}.youth-card:before{content:"";position:absolute;inset:auto -20% -35% 35%;height:75%;border-radius:50%;background:var(--accent,rgba(53,215,255,.25));opacity:.48}.youth-card-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:var(--icon-bg,#dff8ff);font-size:1.8rem;margin-bottom:2.2rem}.youth-card strong{display:block;font-size:1.35rem;margin-bottom:.6rem}.youth-card p{color:#5d6982;line-height:1.6;margin:0}.youth-card .arrow{position:absolute;right:1.4rem;bottom:1.35rem;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0c2f72;color:#fff;font-size:1.35rem}.youth-band{position:relative;margin:0 1rem;border-radius:42px;padding:5rem 0;overflow:hidden;color:#fff;background:linear-gradient(115deg,#0a2d71,#144ba5 60%,#086a9c)}.youth-band:before{content:"SERVIR • CANTAR • EVANGELIZAR • ";position:absolute;left:-2%;top:2rem;white-space:nowrap;font-size:clamp(3rem,9vw,9rem);font-weight:950;letter-spacing:-.06em;color:rgba(255,255,255,.055)}.youth-band-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}.youth-band-number{font-size:clamp(6rem,18vw,14rem);line-height:.75;color:var(--yellow);font-weight:950;letter-spacing:-.1em}.youth-band-copy h2{font-size:clamp(2.3rem,5vw,5rem);letter-spacing:-.06em;line-height:.95;margin:0 0 1rem}.youth-band-copy p{color:rgba(255,255,255,.78);font-size:1.12rem;line-height:1.75;max-width:650px}.youth-marquee{overflow:hidden;padding:1.1rem 0;border-block:1px solid rgba(18,63,144,.12);background:#fff}.youth-marquee-track{display:flex;gap:3rem;width:max-content;font-weight:950;text-transform:uppercase;letter-spacing:.11em;color:var(--blue)}.youth-marquee-track span:after{content:"✦";margin-left:3rem;color:var(--yellow)}.youth-quote{max-width:980px;margin:auto;text-align:center;padding:7rem 1rem}.youth-quote blockquote{font-size:clamp(2rem,5vw,5rem);font-weight:900;line-height:1.08;letter-spacing:-.05em;margin:0}.youth-quote cite{display:block;margin-top:1.4rem;color:var(--blue);font-weight:800;font-style:normal}.footer.app-footer{background:#06163f!important;color:#fff}.footer.app-footer p,.footer.app-footer a,.footer.app-footer span{color:rgba(255,255,255,.72)!important}.youth-progress{position:fixed;top:0;left:0;height:4px;width:100%;z-index:99999;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--yellow),var(--cyan))}body:not(.youth-home) main section,body:not(.youth-home) main article,body:not(.youth-home) main .card{border-radius:28px;box-shadow:0 18px 55px rgba(5,30,82,.11)}@media(max-width:1000px){.youth-card-grid{grid-template-columns:repeat(2,1fr)}.youth-hero-grid,.youth-band-grid{grid-template-columns:1fr}.youth-logo-stage{min-height:410px}}@media(max-width:700px){.youth-hero{padding-top:6rem}.youth-title{font-size:clamp(3.1rem,16vw,5.4rem)}.youth-logo-stage{min-height:350px}.youth-logo-card{width:min(250px,70vw)}.youth-card-grid{grid-template-columns:1fr}.youth-section{padding:4.5rem 0}.youth-section-head{align-items:start;flex-direction:column}.youth-band{margin:0;border-radius:30px}.youth-band-number{font-size:8rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Ajustes finais solicitados: instituições, contraste e espaçamento da Home */
.youth-home .church-identities.parish-only{display:none!important}
.hero-institutions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.75rem;
  margin-bottom:1.2rem;
}
.institution-chip{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  min-height:52px;
  padding:.55rem .9rem;
  border:1px solid rgba(255,255,255,.23);
  border-radius:16px;
  background:rgba(255,255,255,.1);
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  backdrop-filter:blur(12px);
  color:#fff;
  font-size:.78rem;
  font-weight:850;
  line-height:1.15;
  letter-spacing:.01em;
}
.institution-chip img{
  width:36px;
  height:36px;
  object-fit:contain;
  flex:0 0 36px;
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.22));
}
.youth-btn.ghost{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border:2px solid rgba(255,255,255,.92)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  opacity:1!important;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.youth-btn.ghost:hover,
.youth-btn.ghost:focus-visible{
  background:var(--yellow)!important;
  border-color:var(--yellow)!important;
  color:var(--navy)!important;
  text-shadow:none;
}
.youth-home .youth-actions{gap:1.25rem}
.youth-home .youth-hero{
  min-height:auto;
  padding:6.4rem 0 2.4rem;
  align-items:center;
}
.youth-home .youth-hero::after{
  height:20%;
  bottom:-7%;
  left:-8%;
  right:-8%;
  border-radius:50% 50% 0 0 / 35% 35% 0 0;
}
.youth-home .youth-logo-stage{min-height:390px}
.youth-home .youth-scroll-cue{display:none}
.youth-home .youth-section{padding:2.2rem 0 5rem}
.youth-home .youth-section-head{margin-bottom:1.5rem}
@media(max-width:1000px){
  .youth-home .youth-hero{padding:6rem 0 1.8rem}
  .youth-home .youth-logo-stage{min-height:340px}
  .youth-home .youth-section{padding:1.5rem 0 4rem}
}
@media(max-width:700px){
  .hero-institutions{display:grid;grid-template-columns:1fr;max-width:330px}
  .institution-chip{width:100%;font-size:.76rem}
  .youth-home .youth-hero{padding:5.5rem 0 1.2rem}
  .youth-home .youth-logo-stage{min-height:285px}
  .youth-home .youth-section{padding:1.2rem 0 3.5rem}
}


/* ===== Quem somos — layout corrigido v5 ===== */
.about-page .content-grid{
  grid-template-columns:250px minmax(0,1fr);
  gap:32px;
  align-items:start;
}
.about-page .article{
  min-width:0;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.about-page .article>section{
  width:100%;
  margin:0;
  padding:42px 46px;
  overflow:hidden;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(18,63,144,.10);
  border-radius:28px;
  box-shadow:0 18px 55px rgba(5,30,82,.10);
}
.about-page .article>section+section{
  margin-top:28px;
}
.about-page .article>section h2,
.about-page .article>section h3{
  margin-top:0;
}
.about-page .article>section p:last-child{
  margin-bottom:0;
}
.about-page .identity-cards,
.about-page .catholic-values{
  gap:18px;
}
.about-page .identity-card,
.about-page .catholic-values>.card{
  min-width:0;
  height:100%;
  padding:24px;
  border-radius:20px!important;
  box-shadow:0 12px 32px rgba(5,30,82,.08)!important;
}
.about-page .church-communion{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:24px;
  align-items:center;
  padding:28px 30px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(18,63,144,.08),rgba(53,215,255,.08));
  border:1px solid rgba(18,63,144,.10);
}
.about-page .church-communion img{
  width:76px;
  max-height:92px;
  object-fit:contain;
}
.about-page .church-communion p{
  margin:0;
  font-size:1.05rem;
  line-height:1.75;
}
.about-page #servico p{
  max-width:760px;
  font-size:1.02rem;
  line-height:1.75;
}
@media(max-width:900px){
  .about-page .content-grid{grid-template-columns:1fr;gap:22px}
  .about-page .article>section{padding:32px 28px}
}
@media(max-width:600px){
  .about-page .article>section{padding:26px 20px;border-radius:22px}
  .about-page .church-communion{grid-template-columns:60px minmax(0,1fr);gap:16px;padding:22px 18px}
  .about-page .church-communion img{width:54px;max-height:70px}
}


/* ===== Ajustes finais para publicação ===== */
.youth-home .youth-section{position:relative;z-index:3;overflow:visible}
.youth-home .youth-section-head{padding-top:.8rem;overflow:visible}
.youth-home .youth-kicker{display:inline-block;padding:.25rem 0 .12rem;line-height:1.25;overflow:visible}

.youth-theme-art{
  display:block;width:min(330px,76vw);max-height:390px;object-fit:contain;
  margin:0 auto 2.4rem;filter:drop-shadow(0 24px 36px rgba(6,22,63,.18))
}

.youth-support{
  position:relative;padding:6rem 0;overflow:hidden;color:#fff;
  background:radial-gradient(circle at 12% 12%,rgba(53,215,255,.24),transparent 25rem),
  radial-gradient(circle at 88% 90%,rgba(255,216,77,.13),transparent 22rem),#071747
}
.youth-support::before,.youth-support::after{
  position:absolute;color:rgba(255,255,255,.08);font-size:clamp(4rem,11vw,9rem);
  font-weight:900;pointer-events:none
}
.youth-support::before{content:"♫";left:4%;top:4%}
.youth-support::after{content:"♪";right:5%;bottom:3%;color:rgba(255,216,77,.12)}
.youth-support-grid{
  position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,460px);
  gap:clamp(2rem,6vw,5rem);align-items:center
}
.youth-support-copy .youth-kicker{color:var(--yellow)}
.youth-support-copy h2{
  margin:.75rem 0 1rem;font-size:clamp(2.5rem,6vw,5rem);
  line-height:.95;letter-spacing:-.055em
}
.youth-support-copy p{
  max-width:620px;color:rgba(255,255,255,.76);font-size:1.08rem;
  line-height:1.75;margin-bottom:1.7rem
}
.support-poster-link{
  display:block;padding:10px;border-radius:30px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 80px rgba(0,0,0,.3);
  transition:transform .28s ease,box-shadow .28s ease
}
.support-poster-link:hover{transform:translateY(-6px);box-shadow:0 36px 92px rgba(0,0,0,.4)}
.support-poster-link img{display:block;width:100%;border-radius:22px}

.music-page .section-head{max-width:820px}
.music-page .grid-3{align-items:stretch}
.music-page .grid-3>.card{height:100%;padding:30px}

.liturgy-page .liturgy-content-section .content-grid{
  grid-template-columns:250px minmax(0,1fr);gap:32px;align-items:start
}
.liturgy-page .article{min-width:0}
.liturgy-page .article>section{
  width:100%;margin:0;padding:40px 44px;overflow:hidden;
  background:rgba(255,255,255,.94);border:1px solid rgba(18,63,144,.10);
  border-radius:28px;box-shadow:0 18px 55px rgba(5,30,82,.10)
}
.liturgy-page .article>section+section{margin-top:28px}
.liturgy-page .article>section h2,.liturgy-page .article>section h3{margin-top:0}
.liturgy-page .liturgy-intro{border-radius:22px;margin-bottom:28px}

body:not(.youth-home) .page-hero::before{
  content:"♫";position:absolute;right:7%;bottom:12%;color:rgba(255,216,77,.17);
  font-size:clamp(3rem,8vw,7rem);font-weight:900;transform:rotate(-9deg);pointer-events:none
}
body:not(.youth-home) .page-hero::after{
  content:"♪";position:absolute;right:19%;top:16%;color:rgba(53,215,255,.14);
  font-size:clamp(2rem,5vw,4.5rem);font-weight:900;transform:rotate(10deg);pointer-events:none
}

.contact-music-mark{
  display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:46px;
  margin-bottom:18px;padding:0 14px;border-radius:15px;color:var(--azul);
  background:linear-gradient(135deg,#e4f8ff,#fff5bf);font-size:1.4rem;
  font-weight:900;letter-spacing:.2em
}

.external-resource-grid{align-items:stretch}
.external-resource{height:100%;display:flex;flex-direction:column}
.external-resource .btn{margin-top:auto}

@media(max-width:900px){
  .youth-support-grid{grid-template-columns:1fr}
  .support-poster-link{width:min(480px,100%);margin-inline:auto}
  .liturgy-page .liturgy-content-section .content-grid{grid-template-columns:1fr;gap:22px}
  .liturgy-page .article>section{padding:32px 28px}
}
@media(max-width:600px){
  .youth-support{padding:4.5rem 0}
  .youth-theme-art{max-height:300px;margin-bottom:1.7rem}
  .liturgy-page .article>section{padding:26px 20px;border-radius:22px}
}
