@font-face{font-family:Recoleta;src:url('/fonts/Recoleta-Regular.woff2') format('woff2');font-display:swap;font-weight:400}
:root{
  --ink:#2f3b45;
  --muted:#6e7e88;
  --white:#ffffff;
  --paper:#ffffff;
  --blue:#dfeef6;
  --aqua:#dcefe9;
  --rose:#f7e9ef;
  --lilac:#eee9f8;
  --cream:#fbf6ef;
  --link:#7e9cb3;
  --eyebrow:#8ea5b7;
  --line:rgba(47,59,69,.09);
  --shadow:0 16px 44px rgba(47,59,69,.07);
  --soft-shadow:0 8px 26px rgba(47,59,69,.05);
  --ui:'Lato','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Recoleta,Georgia,'Times New Roman',serif;line-height:1.55;position:relative}body:before{content:'';position:fixed;inset:0;background:url('/images/pattern.jpg') center/1080px auto repeat;opacity:.026;pointer-events:none;mix-blend-mode:multiply}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}

.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px clamp(18px,4vw,54px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);overflow:hidden}
.site-header:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg, rgba(223,238,246,.78) 0%, rgba(255,255,255,.94) 32%, rgba(247,233,239,.62) 65%, rgba(220,239,233,.74) 100%);opacity:1;pointer-events:none}
.site-header>*{position:relative;z-index:1}
.brand{display:flex;align-items:center}.brand-logo-wide{width:min(340px,42vw);height:auto;max-height:76px;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:24px;font-family:var(--ui);font-size:.98rem;font-weight:700}.site-nav>a{color:var(--ink);transition:opacity .18s}.site-nav>a:hover{opacity:.72}.nav-tools{display:flex;align-items:center;gap:12px;margin-left:8px}.nav-access{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;padding:0;background:linear-gradient(135deg, rgba(223,238,246,.95), rgba(220,239,233,.88), rgba(238,233,248,.92));box-shadow:var(--soft-shadow);font-family:var(--ui);font-weight:400}.nav-access img{width:24px;height:24px;object-fit:contain;opacity:1}.lang-picker{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid var(--line);font-family:var(--ui);font-weight:700;color:var(--muted)}.lang-picker span{font-size:.86rem}.lang-picker select{border:0;background:transparent;color:var(--ink);font:inherit;outline:none;cursor:pointer}.nav-toggle{display:none;border:0;background:transparent;font-size:1.5rem}

.hero,.page-hero,.pastoral-hero,.section,.donation-card,.site-footer{position:relative;overflow:hidden}.hero,.page-hero,.pastoral-hero,.section,.donation-card,.site-footer{position:relative;overflow:hidden}.hero{min-height:calc(100vh - 92px);display:grid;align-items:center;background:linear-gradient(135deg, rgba(223,238,246,.18) 0%, rgba(255,255,255,.98) 34%, rgba(247,233,239,.12) 68%, rgba(220,239,233,.16) 100%)}.page-hero,.pastoral-hero{background:linear-gradient(135deg, rgba(223,238,246,.16) 0%, rgba(255,255,255,.98) 42%, rgba(220,239,233,.12) 100%)}.hero:before,.hero:after,.page-hero:before,.page-hero:after,.pastoral-hero:before,.pastoral-hero:after{display:none}.section.watercolor:before,.donation-card:before,.site-footer:before{content:'';position:absolute;inset:0;background:url('/images/pattern.jpg') center/1200px auto repeat;opacity:.03;pointer-events:none}.section.watercolor:after,.donation-card:after,.site-footer:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 14% 22%, rgba(223,238,246,.42), rgba(223,238,246,0) 18%),radial-gradient(circle at 84% 18%, rgba(247,233,239,.28), rgba(247,233,239,0) 14%),radial-gradient(circle at 82% 76%, rgba(220,239,233,.30), rgba(220,239,233,0) 16%),radial-gradient(circle at 50% 52%, rgba(238,233,248,.22), rgba(238,233,248,0) 18%);opacity:.75;pointer-events:none}
.welcome-hero{position:relative;min-height:calc(100vh - 92px);display:flex;align-items:center;padding:clamp(36px,5vw,70px) clamp(16px,4vw,54px);background:linear-gradient(135deg, rgba(223,238,246,.22) 0%, rgba(255,255,255,.98) 25%, rgba(247,233,239,.12) 60%, rgba(220,239,233,.16) 100%)}
.welcome-hero:before{content:'';position:absolute;inset:0;background:url('/images/home-welcome-watercolor.png') center right/cover no-repeat;opacity:.93;pointer-events:none}
.welcome-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 38%, rgba(255,255,255,.44) 58%, rgba(255,255,255,.10) 100%);pointer-events:none}
.welcome-inner{position:relative;z-index:1;max-width:1280px;width:100%;margin:0 auto}
.welcome-copy{max-width:720px;padding:clamp(24px,4vw,42px) clamp(18px,3vw,30px);border-radius:34px;background:rgba(255,255,255,.55);backdrop-filter:blur(2px)}
.welcome-copy .eyebrow{display:block;text-align:left;margin-bottom:10px}
.welcome-copy h1{font-family:Recoleta,Georgia,'Times New Roman',serif;font-size:clamp(2.9rem,6vw,5.4rem);line-height:.96;letter-spacing:-.02em;margin:0 0 18px;color:#2b4257}
.welcome-meta{margin-bottom:22px}
.welcome-meta p{margin:2px 0;font-size:1.22rem;color:#354754}
.welcome-meta .meta-strong{font-family:var(--ui);font-size:1.32rem;font-weight:700;color:#2f3b45}
.welcome-message{max-width:640px}
.welcome-message p{font-size:1.18rem;line-height:1.6;color:#3f4f5d;margin:0 0 16px}
.welcome-message .blessing{font-size:1.26rem;text-align:left;margin-top:10px}
.welcome-message .quote{font-style:italic;font-size:1.26rem;color:#516577;margin-top:10px}
.welcome-hero .hero-actions{margin-top:28px}

.hero-content,.page-hero,.pastoral-hero{z-index:1}.hero-content{padding:clamp(58px,8vw,118px) clamp(22px,8vw,120px);max-width:760px}.eyebrow{font-family:var(--ui);text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:800;color:var(--eyebrow)}.hero h1,.page-hero h1,.pastoral-hero h1{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(4.1rem,10vw,8rem);font-weight:400;line-height:.86;letter-spacing:.01em;margin:.12em 0;color:var(--ink)}.hero p,.page-hero p,.pastoral-hero p{font-size:1.08rem;max-width:680px;color:var(--muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 22px;font-family:var(--ui);font-weight:800;cursor:pointer;background:linear-gradient(135deg, rgba(223,238,246,.96), rgba(220,239,233,.95));color:var(--ink);box-shadow:0 8px 20px rgba(223,238,246,.18)}.button.glass,.button.secondary{background:linear-gradient(135deg, rgba(255,255,255,.97), rgba(238,233,248,.72));border:1px solid var(--line);color:var(--ink)}

.section{padding:clamp(64px,8vw,112px) clamp(22px,7vw,100px)}.section-heading{max-width:800px;margin-bottom:42px}.section-heading.inline{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:24px}.section h2,.split-copy h2,.donation-card h2,.info-content h2{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:400;line-height:.95;margin:.15em 0;color:var(--ink)}.section-heading p{font-size:1.05rem;color:var(--muted)}
.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.paper-card,.story-card,.pastoral-card,.donation-card,.video-placeholder,.info-index a{position:relative;z-index:1}.paper-card{padding:32px;background:rgba(255,255,255,.9);border:1px solid rgba(47,59,69,.08);box-shadow:var(--shadow);border-radius:30px;backdrop-filter:blur(8px);overflow:hidden}.paper-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 14% 20%, rgba(223,238,246,.34), rgba(223,238,246,0) 26%),radial-gradient(circle at 86% 18%, rgba(247,233,239,.25), rgba(247,233,239,0) 22%);pointer-events:none}.paper-card h3{font-family:'Bebas Neue';font-size:2.15rem;font-weight:400;margin:0;position:relative;z-index:1}.paper-card dl{margin:24px 0 0;position:relative;z-index:1}.paper-card dl div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:13px 0}.paper-card dd{font-family:var(--ui);font-weight:800}.text-link{font-family:var(--ui);font-weight:800;font-size:.92rem;color:var(--link)}
.editorial-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:18px}.story-card{min-height:400px;border-radius:30px;overflow:hidden;background:rgba(255,255,255,.86);box-shadow:var(--shadow)}.story-card img{width:100%;height:100%;object-fit:cover}.story-card>div{position:absolute;left:0;right:0;bottom:0;padding:24px;color:#fffaf1;background:linear-gradient(transparent,rgba(28,31,33,.72))}.story-card h3{font-family:'Bebas Neue';font-size:1.95rem;font-weight:400;line-height:1;margin:.2em 0}.story-card span{font-family:var(--ui);text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}

.pastoral-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pastoral-card{display:flex;min-height:250px;flex-direction:column;padding:26px;border-radius:30px;border:1px solid rgba(47,59,69,.07);background:rgba(255,255,255,.94);box-shadow:0 12px 28px rgba(48,50,54,.06);transition:.25s transform;position:relative;overflow:hidden}.pastoral-card:hover{transform:translateY(-4px)}.pastoral-card h3{font-family:'Bebas Neue';font-size:2.15rem;font-weight:400;line-height:.95;margin:auto 0 8px;position:relative;z-index:1}.pastoral-card p{margin:0 32px 0 0;color:var(--muted);position:relative;z-index:1}.pastoral-number{font-family:var(--ui);font-weight:800;font-size:.75rem;color:var(--eyebrow);position:relative;z-index:1}.pastoral-card .arrow{position:absolute;right:22px;bottom:18px;font-size:1.4rem;z-index:1;color:var(--muted)}.pastoral-card:before{content:'';position:absolute;inset:-10% -10% auto auto;width:52%;height:52%;border-radius:50%;pointer-events:none;opacity:.95}.pastoral-card:after{content:'';position:absolute;inset:auto auto -16% -10%;width:68%;height:68%;border-radius:50%;pointer-events:none;opacity:.92}.tone-rose:before{background:radial-gradient(circle, rgba(247,233,239,.92), rgba(247,233,239,0) 60%)}.tone-rose:after{background:radial-gradient(circle, rgba(223,238,246,.46), rgba(223,238,246,0) 64%)}.tone-blue:before{background:radial-gradient(circle, rgba(223,238,246,.94), rgba(223,238,246,0) 60%)}.tone-blue:after{background:radial-gradient(circle, rgba(238,233,248,.46), rgba(238,233,248,0) 64%)}.tone-lilac:before{background:radial-gradient(circle, rgba(238,233,248,.94), rgba(238,233,248,0) 60%)}.tone-lilac:after{background:radial-gradient(circle, rgba(223,238,246,.42), rgba(223,238,246,0) 64%)}.tone-sage:before{background:radial-gradient(circle, rgba(220,239,233,.94), rgba(220,239,233,0) 60%)}.tone-sage:after{background:radial-gradient(circle, rgba(247,233,239,.42), rgba(247,233,239,0) 64%)}.tone-aqua:before{background:radial-gradient(circle, rgba(223,238,246,.74), rgba(223,238,246,0) 60%)}.tone-aqua:after{background:radial-gradient(circle, rgba(220,239,233,.72), rgba(220,239,233,0) 64%)}.tone-butter:before{background:radial-gradient(circle, rgba(251,246,239,.94), rgba(251,246,239,0) 60%)}.tone-butter:after{background:radial-gradient(circle, rgba(247,233,239,.42), rgba(247,233,239,0) 64%)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,100px);align-items:center}.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:32px;box-shadow:var(--shadow)}.split-copy p{font-size:1.08rem;color:var(--muted);margin-bottom:24px}.donation-section{padding:clamp(30px,5vw,70px)}.donation-card{border-radius:38px;padding:clamp(46px,8vw,90px);text-align:center;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.donation-card p{max-width:700px;margin:0 auto 28px;color:var(--muted)}.alias{display:inline-flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 22px;font-family:var(--ui)}
.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:54px clamp(24px,7vw,100px);border-top:1px solid var(--line);background:rgba(255,255,255,.9)}.footer-brand img{width:min(360px,70vw);height:auto;object-fit:contain;margin-bottom:12px}.site-footer div:last-child{text-align:right}.site-footer strong{font-family:var(--ui);font-size:1.06rem}
.page-hero,.pastoral-hero{padding:clamp(84px,12vw,150px) clamp(24px,8vw,120px);min-height:44vh;display:flex;flex-direction:column;justify-content:end}.pastoral-hero{border-bottom:1px solid var(--line)}.info-layout{display:grid;grid-template-columns:250px 1fr;gap:60px}.info-index{position:sticky;top:100px;align-self:start;display:flex;flex-direction:column;gap:8px}.info-index a{font-family:var(--ui);font-weight:700;border:1px solid var(--line);padding:12px 14px;border-radius:18px;background:#fff}.info-content{display:grid;gap:55px}.info-content article{scroll-margin-top:120px}.search-shell{display:flex;gap:10px;margin-bottom:24px}.search-shell input{flex:1;padding:15px 18px;border:1px solid var(--line);border-radius:999px;background:#fff}.video-placeholder{border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.video-placeholder img{width:100%;aspect-ratio:16/7;object-fit:cover}.video-placeholder>div{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.90);border-radius:999px;padding:9px 14px;font-family:var(--ui);font-weight:800;color:var(--ink)}.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--link);margin-right:6px}

@media(max-width:1100px){.site-nav{gap:16px;font-size:.92rem}.nav-tools{margin-left:0}.brand-logo-wide{width:min(320px,48vw)}}
@media(max-width:980px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:15px;right:15px;flex-direction:column;align-items:stretch;padding:20px;background:rgba(255,255,255,.97);border-radius:24px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.nav-tools{display:grid;grid-template-columns:1fr;gap:10px}.nav-access,.lang-picker{justify-content:center}.editorial-grid,.pastoral-grid,.schedule-grid,.split,.site-footer,.info-layout{grid-template-columns:1fr}.site-footer div:last-child{text-align:left}.section-heading.inline{align-items:start;flex-direction:column}.pastoral-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.brand-logo-wide{width:min(300px,78vw)}.hero h1{font-size:4.2rem}.hero-content{padding:54px 22px}.section{padding:64px 18px}.pastoral-grid{grid-template-columns:1fr}.page-hero,.pastoral-hero{padding:86px 20px 52px}.page-hero h1,.pastoral-hero h1{font-size:4.1rem}.paper-card{padding:24px}}


/* Footer parroquial */
.site-footer{position:relative;display:block;padding:34px clamp(24px,6vw,90px) 18px;border-top:1px solid rgba(47,59,69,.08);background:linear-gradient(110deg,rgba(251,246,239,.96) 0%,rgba(247,233,239,.52) 36%,rgba(223,238,246,.45) 68%,rgba(220,239,233,.48) 100%);overflow:hidden}
.site-footer:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 18% 28%,rgba(255,255,255,.58),transparent 22%),radial-gradient(circle at 76% 30%,rgba(255,255,255,.42),transparent 18%);pointer-events:none;opacity:.78}
.site-footer:after{display:none}
.footer-main{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;max-width:1120px;margin:0 auto}
.footer-contact,.footer-social{text-align:center}
.footer-contact p,.footer-social p{margin:2px 0;color:var(--ink);font-size:1rem;line-height:1.45}
.footer-parish-name{font-size:1.16rem!important;font-weight:700;color:#d67598!important}
.footer-social-title{font-size:1.12rem!important;color:#d67598!important;margin-bottom:16px!important}
.social-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.social-links a{width:38px;height:38px;border-radius:5px;display:grid;place-items:center;background:#9fcfed;color:#fff;box-shadow:0 6px 16px rgba(78,132,167,.12);transition:transform .18s ease,filter .18s ease}
.social-links a:hover{transform:translateY(-2px);filter:saturate(1.08)}
.social-links svg{width:21px;height:21px;fill:currentColor}
.footer-credit{position:relative;z-index:1;text-align:center;margin:20px 0 0;font-style:italic;color:var(--ink);font-size:.94rem}
.footer-credit a{color:var(--link);font-weight:700}
.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:80;width:54px;height:54px;border-radius:16px;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 28px rgba(37,211,102,.28);transition:transform .18s ease,box-shadow .18s ease}
.whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(37,211,102,.34)}
.whatsapp-float svg{width:34px;height:34px;fill:#fff}
@media(max-width:760px){.footer-main{grid-template-columns:1fr;gap:28px}.site-footer{padding:30px 20px 20px}.whatsapp-float{right:14px;bottom:14px;width:50px;height:50px}}


/* v10 override: remove any warm/brown text accents */
.eyebrow, .pastoral-number, .section-heading .eyebrow, .page-hero .eyebrow, .pastoral-hero .eyebrow { color:#8ea5b7 !important; }
.hero h1, .page-hero h1, .pastoral-hero h1, .section h2, .split-copy h2, .donation-card h2, .info-content h2, .paper-card h3, .story-card h3, .pastoral-card h3 { color:#2f3b45 !important; }


@media(max-width:980px){.welcome-hero{min-height:auto;padding:26px 14px 34px}.welcome-hero:before{background-position:65% center;background-size:cover;opacity:.6}.welcome-hero:after{background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.72) 100%)}.welcome-copy{max-width:none;background:rgba(255,255,255,.72)}.welcome-copy h1{font-size:clamp(2.7rem,8vw,4.2rem)}.welcome-meta p,.welcome-message p,.welcome-message .quote{font-size:1.05rem}}
@media(max-width:600px){.welcome-copy{padding:18px 16px}.welcome-copy h1{font-size:2.6rem}.welcome-meta p{font-size:1rem}.welcome-meta .meta-strong{font-size:1.08rem}.welcome-message p{font-size:.98rem;line-height:1.55}.welcome-message .blessing,.welcome-message .quote{font-size:1.02rem}}


/* v14 home hero + menu refinements */
.site-nav{font-weight:400}.site-nav>a{font-weight:400}.lang-picker{font-weight:400}.nav-access{box-shadow:none}
.welcome-hero{min-height:calc(100vh - 92px);padding:clamp(52px,7vw,96px) clamp(18px,4vw,54px);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(228,239,246,.64) 0%, rgba(255,255,255,.98) 34%, rgba(244,236,247,.48) 66%, rgba(226,242,236,.54) 100%)}
.welcome-hero:before{background:url('/images/home-welcome-watercolor.png') center center/cover no-repeat;opacity:.43;filter:saturate(.88) brightness(1.04)}
.welcome-hero:after{background:linear-gradient(180deg, rgba(255,255,255,.52) 0%, rgba(255,255,255,.24) 20%, rgba(255,255,255,.18) 50%, rgba(255,255,255,.30) 100%)}
.welcome-inner-centered{max-width:1180px;display:flex;justify-content:center}
.welcome-copy-centered{max-width:980px;padding:clamp(18px,3vw,28px) clamp(18px,4vw,36px);background:transparent;border-radius:0;backdrop-filter:none;text-align:center}
.welcome-copy-centered .eyebrow{margin-bottom:16px;text-align:center}
.welcome-copy-centered h1{font-family:Recoleta,Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,5.4vw,4.7rem);line-height:1.02;margin:0 0 18px;color:#304454;text-wrap:balance}
.welcome-meta-centered{margin:0 auto 22px;max-width:720px}.welcome-meta-centered p{font-size:1.18rem;margin:2px 0;color:#344957}.welcome-meta-centered .meta-strong{font-family:Recoleta,Georgia,'Times New Roman',serif;font-size:1.62rem;font-weight:400;color:#2f3b45}
.welcome-message-centered{max-width:1120px;margin:0 auto}.welcome-message-centered p{font-size:1.18rem;line-height:1.72;color:#334754;margin:0 0 14px}.welcome-message-centered .blessing{font-size:1.24rem;margin-top:16px}.welcome-message-centered .quote{font-size:1.22rem;font-style:italic;color:#546977;margin-top:8px}
.hero-actions-centered{justify-content:center;margin-top:28px}
@media(max-width:980px){.welcome-hero{min-height:auto;padding:38px 16px 44px}.welcome-hero:before{background-position:center top;opacity:.30}.welcome-copy-centered h1{font-size:clamp(2.3rem,8vw,4rem)}.welcome-meta-centered .meta-strong{font-size:1.28rem}.welcome-meta-centered p,.welcome-message-centered p,.welcome-message-centered .quote{font-size:1.04rem}}
@media(max-width:600px){.welcome-copy-centered{padding:10px 6px}.welcome-copy-centered h1{font-size:2.2rem}.welcome-message-centered .blessing,.welcome-message-centered .quote{font-size:1rem}}


/* v15 — fondo acuarela global y presentación integrada */
html{background:#fffdfb}
body{
  background:
    url('/images/site-watercolor-bg.png') top center / 100% auto no-repeat,
    linear-gradient(180deg,#fffdfb 0%,#f8fbfd 24%,#fffafc 52%,#f7fbf9 76%,#fffdfb 100%);
  background-attachment:scroll;
  min-height:100vh;
}
body:before{display:none!important}
.site-header{background:rgba(255,255,255,.82)}
.site-header:before{
  background:linear-gradient(90deg,rgba(223,238,246,.72),rgba(255,255,255,.78) 36%,rgba(247,233,239,.52) 66%,rgba(220,239,233,.66));
}

.welcome-hero{
  min-height:760px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:clamp(60px,7vw,110px) clamp(28px,7vw,110px);
  background:transparent!important;
}
.welcome-hero:before,.welcome-hero:after{display:none!important}
.welcome-inner{width:100%;max-width:1500px;margin:0 auto;display:flex;justify-content:flex-start}
.welcome-copy{
  width:min(680px,48vw);
  max-width:680px;
  padding:clamp(24px,3vw,40px);
  background:rgba(255,255,255,.54);
  border:1px solid rgba(255,255,255,.66);
  border-radius:34px;
  box-shadow:0 16px 44px rgba(62,81,94,.05);
  backdrop-filter:blur(2px);
  text-align:center;
}
.welcome-copy .eyebrow{text-align:center;margin-bottom:10px;color:#8ea5b7!important}
.welcome-copy h1{
  font-family:Recoleta,Georgia,'Times New Roman',serif;
  font-size:clamp(3rem,5.2vw,4.7rem);
  line-height:.98;
  margin:0 0 16px;
  color:#304454;
}
.welcome-meta{margin:0 0 22px}
.welcome-meta p{margin:2px 0;font-size:1.08rem;color:#40515c}
.welcome-meta .meta-strong{font-family:Recoleta,Georgia,serif;font-size:1.35rem;font-weight:400;color:#304454}
.welcome-message{max-width:620px;margin:0 auto}
.welcome-message p{font-size:1.05rem;line-height:1.62;color:#40515c;margin:0 0 14px}
.welcome-message .blessing{font-size:1.12rem;margin-top:14px;text-align:center}
.welcome-message .quote{font-size:1.08rem;font-style:italic;color:#607381}
.welcome-hero .hero-actions{justify-content:center;margin-top:24px}

.section,
.donation-section,
.page-hero,
.pastoral-hero{
  background:transparent!important;
}
.section.watercolor:before,
.section.watercolor:after,
.donation-card:before,
.donation-card:after,
.site-footer:before,
.site-footer:after{display:none!important}
.paper-card,.pastoral-card,.donation-card,.info-index a{
  background:rgba(255,255,255,.72)!important;
  backdrop-filter:blur(3px);
}
.site-footer{
  background:linear-gradient(110deg,rgba(255,250,246,.86),rgba(247,233,239,.40),rgba(223,238,246,.38),rgba(220,239,233,.40))!important;
}

@media(max-width:1100px){
  body{background-size:130% auto;background-position:top center}
  .welcome-copy{width:min(720px,58vw)}
}
@media(max-width:900px){
  body{background-size:180% auto;background-position:66% top}
  .welcome-hero{min-height:700px;padding:50px 22px}
  .welcome-copy{width:100%;max-width:650px;background:rgba(255,255,255,.70)}
}
@media(max-width:600px){
  body{background-size:260% auto;background-position:69% top}
  .welcome-hero{min-height:auto;padding:34px 14px 50px}
  .welcome-copy{padding:24px 18px;border-radius:26px;background:rgba(255,255,255,.78)}
  .welcome-copy h1{font-size:2.65rem}
}


/* v18 — portada más delicada, alineada a la izquierda y fondo continuo */
.welcome-hero{
  min-height:760px;
  padding:clamp(56px,6vw,92px) clamp(38px,7vw,112px) 70px;
  align-items:center;
  justify-content:flex-start;
  background:transparent!important;
}
.welcome-inner{
  max-width:1500px;
  width:100%;
  margin:0 auto;
  display:flex;
  justify-content:flex-start;
}
.welcome-copy{
  width:min(610px,43vw);
  max-width:610px;
  padding:30px 34px 32px;
  text-align:left!important;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(255,255,255,.56);
  border-radius:30px;
  box-shadow:0 14px 38px rgba(57,77,91,.045);
  backdrop-filter:blur(1.5px);
}
.welcome-copy .eyebrow{
  text-align:left!important;
  margin:0 0 9px;
  font-family:'Lato','Helvetica Neue',Arial,sans-serif;
  font-size:.68rem;
  font-weight:400;
  letter-spacing:.14em;
  color:#8ea5b7!important;
}
.welcome-copy h1{
  font-family:'Bebas Neue',Impact,sans-serif!important;
  font-size:clamp(2.75rem,4.15vw,3.75rem)!important;
  line-height:.94!important;
  letter-spacing:.015em;
  font-weight:400;
  margin:0 0 18px!important;
  color:#304454!important;
  text-align:left!important;
}
.welcome-meta{
  margin:0 0 20px!important;
  text-align:left!important;
}
.welcome-meta p{
  margin:2px 0!important;
  font-size:.97rem!important;
  line-height:1.45;
  color:#40515c!important;
}
.welcome-meta .meta-strong{
  font-family:'Lato','Helvetica Neue',Arial,sans-serif!important;
  font-size:1rem!important;
  line-height:1.4;
  font-weight:400!important;
  color:#304454!important;
}
.welcome-message{
  max-width:545px!important;
  margin:0!important;
  text-align:left!important;
}
.welcome-message p{
  font-size:.96rem!important;
  line-height:1.55!important;
  color:#40515c!important;
  margin:0 0 12px!important;
  text-align:left!important;
}
.welcome-message .blessing{
  font-size:1rem!important;
  margin-top:14px!important;
  text-align:left!important;
}
.welcome-message .quote{
  font-size:.98rem!important;
  line-height:1.5!important;
  margin-top:6px!important;
  color:#607381!important;
}
.welcome-hero .hero-actions{
  justify-content:flex-start!important;
  gap:10px;
  margin-top:22px!important;
}
.welcome-hero .button{
  padding:11px 17px;
  font-family:'Lato','Helvetica Neue',Arial,sans-serif;
  font-size:.88rem;
  font-weight:400!important;
  box-shadow:none;
}

/* La acuarela no termina al comenzar la siguiente sección. */
.welcome-hero + #celebraciones,
#celebraciones.section,
section.section.watercolor{
  background:transparent!important;
}
.welcome-hero + #celebraciones{
  margin-top:0!important;
  border-top:0!important;
  padding-top:clamp(76px,7vw,108px);
}
.welcome-hero + #celebraciones:before,
.welcome-hero + #celebraciones:after{
  display:none!important;
}
main{
  background:transparent!important;
}
body{
  background-color:#fffdfb!important;
  background-image:
    url('/images/site-watercolor-bg.png'),
    radial-gradient(ellipse at 8% 30%,rgba(247,233,239,.44) 0%,rgba(247,233,239,0) 31%),
    radial-gradient(ellipse at 88% 36%,rgba(220,239,233,.40) 0%,rgba(220,239,233,0) 32%),
    radial-gradient(ellipse at 22% 67%,rgba(238,233,248,.34) 0%,rgba(238,233,248,0) 34%),
    radial-gradient(ellipse at 78% 78%,rgba(223,238,246,.38) 0%,rgba(223,238,246,0) 35%),
    linear-gradient(180deg,#fffdfb 0%,#fbfcfd 42%,#fffafd 70%,#f8fcfa 100%)!important;
  background-position:top center,center 850px,center 980px,center 1450px,center 1900px,center;
  background-size:100% auto,100% 900px,100% 1000px,100% 1200px,100% 1200px,100% 100%;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
}

@media(max-width:1100px){
  .welcome-copy{width:min(600px,52vw)}
}
@media(max-width:900px){
  .welcome-hero{min-height:680px;padding:46px 22px 60px}
  .welcome-copy{width:min(610px,68vw);background:rgba(255,255,255,.66)}
}
@media(max-width:650px){
  body{background-size:210% auto,100% 900px,100% 1000px,100% 1200px,100% 1200px,100% 100%;background-position:67% top,center 760px,center 900px,center 1300px,center 1750px,center}
  .welcome-hero{min-height:auto;padding:34px 16px 46px}
  .welcome-copy{width:100%;max-width:100%;padding:24px 20px;border-radius:25px;background:rgba(255,255,255,.76)}
  .welcome-copy h1{font-size:2.65rem!important}
  .welcome-meta p,.welcome-message p{font-size:.93rem!important}
  .welcome-hero .hero-actions{flex-direction:column;align-items:flex-start}
}


/* =========================================================
   v19 · Inicio completo + tipografía uniforme + fondo continuo
   ========================================================= */
:root{--copy-size:18px;--copy-line:1.58}
body{font-size:var(--copy-size);line-height:var(--copy-line)}
main,.home-page{background:transparent!important}
.home-page{position:relative;isolation:isolate;padding-bottom:1px;background-image:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(247,233,239,.12) 22%,rgba(223,238,246,.11) 44%,rgba(238,233,248,.12) 66%,rgba(220,239,233,.13) 88%,rgba(255,255,255,0) 100%)}
.home-page .section,.home-page .home-section,.home-page .donation-section{background:transparent!important;border:0!important;margin:0}
.home-page .section:before,.home-page .section:after,.home-page .home-section:before,.home-page .home-section:after{display:none!important}
.home-page p,.home-page li,.home-page dt,.home-page dd,.home-page small{font-family:Recoleta,Georgia,'Times New Roman',serif;font-size:var(--copy-size);line-height:var(--copy-line)}
.home-page .eyebrow{font-family:'Lato','Helvetica Neue',Arial,sans-serif;font-size:.72rem;line-height:1.2;font-weight:400;letter-spacing:.15em;color:#8ea5b7!important}
.home-section{position:relative;padding:clamp(72px,7vw,104px) clamp(24px,7vw,100px)}
.home-section-heading{max-width:1080px;margin:0 auto 38px;text-align:left}
.home-section-heading.centered-heading{text-align:center}
.home-section-heading h2{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(2.45rem,4.2vw,3.45rem);line-height:.96;font-weight:400;letter-spacing:.01em;color:#304454!important;margin:.16em 0 0}
.home-section h3{font-family:Recoleta,Georgia,'Times New Roman',serif;color:#304454;font-weight:700}

/* presentación: misma escala de texto, delicada */
.welcome-copy{padding:34px 38px!important}
.welcome-copy h1{font-size:clamp(2.55rem,3.9vw,3.5rem)!important;line-height:.95!important}
.welcome-meta p,.welcome-message p{font-size:var(--copy-size)!important;line-height:var(--copy-line)!important}
.welcome-meta .meta-strong{font-family:Recoleta,Georgia,'Times New Roman',serif!important;font-size:var(--copy-size)!important;font-weight:400!important}
.welcome-message .blessing,.welcome-message .quote{font-size:var(--copy-size)!important;line-height:var(--copy-line)!important}
.welcome-hero .button{font-size:.92rem}

/* celebraciones */
.celebrations-layout{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(38px,7vw,90px);align-items:center}
.celebrations-copy>p{margin:0 0 22px}.celebrations-copy h3{font-size:1.08em;line-height:1.35;margin:18px 0 8px}.celebrations-copy h3 span{font-weight:400}.celebrations-copy ul{padding-left:1.2em;margin:0 0 18px}.celebrations-copy li{margin:2px 0}.celebrations-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:30px;box-shadow:0 14px 34px rgba(47,59,69,.10)}
.home-cta{margin-top:20px;font-family:'Lato','Helvetica Neue',Arial,sans-serif;font-size:.92rem;font-weight:400!important;background:linear-gradient(135deg,rgba(223,238,246,.88),rgba(238,233,248,.82));border:1px solid rgba(126,156,179,.16);box-shadow:none}

/* anuncios */
.announcement-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.announcement-card{overflow:hidden;border-radius:26px;border:1px solid rgba(47,59,69,.08);background:rgba(255,255,255,.70);box-shadow:0 12px 30px rgba(47,59,69,.055);backdrop-filter:blur(5px)}
.announcement-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.announcement-card-body{padding:22px}.announcement-meta{font-family:'Lato','Helvetica Neue',Arial,sans-serif;font-size:.78rem;color:#8ea5b7;letter-spacing:.08em;text-transform:uppercase}.announcement-card h3{font-size:1.18em;line-height:1.25;margin:8px 0 10px}.announcement-card p{margin:0;color:#5b6b76;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* próximos eventos */
.event-list{max-width:1080px;margin:0 auto;display:grid;gap:12px}.event-row{display:grid;grid-template-columns:74px 1fr auto;gap:20px;align-items:center;padding:18px 22px;border-radius:22px;border:1px solid rgba(47,59,69,.08);background:rgba(255,255,255,.68);box-shadow:0 8px 24px rgba(47,59,69,.04)}
.event-date{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,rgba(223,238,246,.9),rgba(247,233,239,.72));font-family:'Lato','Helvetica Neue',Arial,sans-serif;line-height:1}.event-date strong{font-size:1.35rem}.event-date span{font-size:.74rem;text-transform:uppercase}.event-info h3{font-size:1.08em;margin:0 0 3px}.event-info p{margin:0;color:#5f6e78}.event-info small{display:block;margin-top:3px;color:#84929b}.event-row>time{font-family:'Lato','Helvetica Neue',Arial,sans-serif;font-size:.9rem;color:#304454}
.home-empty{max-width:1080px;margin:0 auto;padding:20px 24px;border:1px solid rgba(47,59,69,.09);border-radius:22px;background:rgba(255,255,255,.64);font-family:Recoleta,Georgia,serif;font-size:var(--copy-size);color:#536572}

/* Google */
.google-layout{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:26px;align-items:stretch}.google-score,.google-note-card{border-radius:26px;border:1px solid rgba(47,59,69,.08);background:rgba(255,255,255,.68);padding:30px;box-shadow:0 10px 28px rgba(47,59,69,.045)}
.google-score h2{font-family:'Bebas Neue',Impact,sans-serif;font-size:2.65rem;line-height:.96;font-weight:400;color:#304454!important;margin:8px 0 16px}.rating-line{display:flex;align-items:center;gap:14px}.rating-line>strong{font-family:'Lato','Helvetica Neue',Arial,sans-serif;font-size:2.3rem}.stars{letter-spacing:.04em;color:#f0b400;font-family:Arial,sans-serif;font-size:1.35rem}.google-score p{margin:8px 0 14px}.google-wordmark{font-family:Arial,sans-serif;font-weight:700;font-size:2rem;letter-spacing:-.08em;margin:8px 0 16px}.google-wordmark span:nth-child(1),.google-wordmark span:nth-child(4){color:#4285F4}.google-wordmark span:nth-child(2),.google-wordmark span:nth-child(6){color:#EA4335}.google-wordmark span:nth-child(3){color:#FBBC05}.google-wordmark span:nth-child(5){color:#34A853}.google-note-card{display:flex;flex-direction:column;justify-content:center}.google-note-card h3{font-size:1.22em;margin:0 0 12px}.google-note-card p{margin:0;color:#5c6d78}

/* Vatican News */
.vatican-embed{max-width:1120px;margin:0 auto;min-height:310px;border-radius:28px;border:1px solid rgba(47,59,69,.08);background:rgba(255,255,255,.66);overflow:hidden;box-shadow:0 10px 28px rgba(47,59,69,.045)}.vatican-embed iframe{width:100%;height:560px;border:0}.vatican-awaiting{display:grid;place-items:center;align-content:center;gap:5px;color:#596b77}.vatican-awaiting span{font-family:'Bebas Neue',Impact,sans-serif;font-size:2.4rem;color:#304454}.vatican-awaiting small{font-size:var(--copy-size)}

/* colaboración */
.collaboration-section{padding-bottom:clamp(90px,8vw,130px)}.collaboration-card{max-width:1120px;margin:0 auto;text-align:center;padding:42px clamp(26px,6vw,70px);border-radius:30px;background:rgba(238,248,251,.58);border:1px solid rgba(47,59,69,.06)}.collaboration-card h2{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(2.45rem,4vw,3.35rem);font-weight:400;color:#304454!important;margin:.15em 0 20px}.collaboration-card p{max-width:1020px;margin:0 auto 18px}.donation-transfer{display:grid;gap:2px;margin:24px auto;font-size:1.04em}.thanks{font-size:1.05em!important}

/* sin cortes visuales entre bloques */
.home-section+.home-section,.welcome-hero+.home-section{border-top:0!important}.home-page .home-section:nth-child(even),.home-page .home-section:nth-child(odd){background:transparent!important}

@media(max-width:900px){:root{--copy-size:16px}.celebrations-layout,.google-layout{grid-template-columns:1fr}.announcement-grid{grid-template-columns:1fr 1fr}.celebrations-media{order:-1}.celebrations-media img{max-height:430px}.event-row{grid-template-columns:64px 1fr}.event-row>time{grid-column:2}.home-section{padding:62px 20px}}
@media(max-width:620px){.announcement-grid{grid-template-columns:1fr}.event-row{padding:16px;gap:14px}.welcome-copy{padding:25px 22px!important}.home-section-heading h2{font-size:2.45rem}.vatican-embed{min-height:230px}.vatican-embed iframe{height:420px}}


/* v19 tipografía de lectura coherente en toda la web pública */
main p, main li, main dt, main dd, .site-footer p{font-family:Recoleta,Georgia,'Times New Roman',serif;font-size:var(--copy-size);line-height:var(--copy-line)}
.site-nav, .site-nav a, .lang-picker, .button, .text-link{font-family:'Lato','Helvetica Neue',Arial,sans-serif}


/* v20 Vatican News widget */
.vatican-widget-wrap{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:18px;border:1px solid rgba(47,59,69,.08);border-radius:28px;background:rgba(255,255,255,.78);box-shadow:0 14px 34px rgba(47,59,69,.05);overflow:hidden}
.vatican-widget-wrap vaticannews-widget{display:block;width:100%;min-height:420px}
@media(max-width:760px){.vatican-widget-wrap{padding:8px;border-radius:20px}.vatican-widget-wrap vaticannews-widget{min-height:520px}}

/* Google reviews v22 */
.google-reviews-list{display:grid;gap:14px}.google-review-card{padding:22px 24px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:var(--soft-shadow)}.google-review-head{display:flex;justify-content:space-between;gap:16px;align-items:center;font-family:var(--ui)}.google-review-head strong{font-weight:700}.google-review-head span{letter-spacing:.08em;color:#f5b900}.google-review-card p{margin:12px 0 0;color:var(--muted);line-height:1.55}


/* =========================================================
   v23 — ACUARELA GLOBAL CONTINUA
   Home: iglesia sólo en la cabecera/presentación.
   Subpáginas: misma acuarela, sin iglesia.
   Header + footer: acuarela, sin patrón ni cortes.
   ========================================================= */
:root{
  --wc-blue: rgba(216,231,238,.66);
  --wc-aqua: rgba(220,239,233,.62);
  --wc-rose: rgba(247,233,239,.62);
  --wc-lilac: rgba(238,233,248,.58);
  --wc-cream: rgba(251,246,239,.74);
}

html,body{min-height:100%;background:#fffdfa!important}
body{
  background-image:
    radial-gradient(ellipse at 4% 8%, var(--wc-rose) 0%, rgba(247,233,239,0) 24%),
    radial-gradient(ellipse at 94% 13%, var(--wc-blue) 0%, rgba(216,231,238,0) 28%),
    radial-gradient(ellipse at 13% 37%, var(--wc-lilac) 0%, rgba(238,233,248,0) 27%),
    radial-gradient(ellipse at 88% 43%, var(--wc-aqua) 0%, rgba(220,239,233,0) 29%),
    radial-gradient(ellipse at 8% 68%, rgba(216,231,238,.46) 0%, rgba(216,231,238,0) 29%),
    radial-gradient(ellipse at 86% 73%, rgba(247,233,239,.46) 0%, rgba(247,233,239,0) 29%),
    radial-gradient(ellipse at 30% 96%, rgba(220,239,233,.52) 0%, rgba(220,239,233,0) 28%),
    linear-gradient(180deg,#fffdfa 0%,#fbfdfe 25%,#fffafd 50%,#f9fcfa 75%,#fffdfa 100%)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-attachment:scroll!important;
}
body:before{display:none!important}
main,.home-page,.section,.home-section,.page-hero,.pastoral-hero,.donation-section{background:transparent!important}

/* Iglesia acuarelada integrada sólo en el inicio. */
.home-page{position:relative;isolation:isolate;overflow:hidden}
.home-page:before{
  content:'';
  position:absolute;
  z-index:-1;
  pointer-events:none;
  top:0;
  left:0;
  right:0;
  height:min(980px,92vw);
  background-image:url('/images/site-watercolor-bg.png');
  background-repeat:no-repeat;
  background-position:top center;
  background-size:cover;
  opacity:.96;
}
.home-page:after{
  content:'';
  position:absolute;
  z-index:-1;
  pointer-events:none;
  top:760px;
  left:0;
  right:0;
  height:430px;
  background:linear-gradient(180deg,rgba(255,253,250,0),rgba(255,253,250,.32) 35%,rgba(255,253,250,0));
}

/* La presentación deja ver la iglesia y especialmente la cruz. */
.welcome-hero{
  min-height:820px!important;
  background:transparent!important;
  padding-top:clamp(62px,7vw,108px)!important;
  padding-bottom:clamp(70px,8vw,118px)!important;
}
.welcome-hero:before,.welcome-hero:after{display:none!important}
.welcome-copy{
  background:rgba(255,255,255,.46)!important;
  border-color:rgba(255,255,255,.68)!important;
  backdrop-filter:blur(1.5px)!important;
}

/* Todas las secciones comparten el MISMO fondo, no crean franjas propias. */
.home-section,
#celebraciones,
.announcements-section,
.events-section,
.google-section,
.vatican-section,
.collaboration-section,
.section.watercolor,
.section.watercolor:nth-of-type(odd),
.section.watercolor:nth-of-type(even){
  background:transparent!important;
  border-top:0!important;
  border-bottom:0!important;
}
.home-section:before,.home-section:after,
.section.watercolor:before,.section.watercolor:after,
.donation-card:before,.donation-card:after{display:none!important}

/* Cards dejan respirar el fondo acuarela. */
.paper-card,.announcement-card,.event-list,.google-review-card,.google-note-card,
.collaboration-card,.vatican-embed,.donation-card,.pastoral-card,.info-index a{
  background:rgba(255,255,255,.70)!important;
  border-color:rgba(71,91,104,.09)!important;
  backdrop-filter:blur(3px);
}

/* HEADER: acuarela suave por degradados, sin pattern. */
.site-header{
  background:rgba(255,255,255,.78)!important;
  border-bottom:1px solid rgba(71,91,104,.07)!important;
  backdrop-filter:blur(15px)!important;
}
.site-header:before{
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:1!important;
  background:
    radial-gradient(ellipse at 7% 48%,rgba(216,231,238,.72) 0%,rgba(216,231,238,0) 31%),
    radial-gradient(ellipse at 38% 18%,rgba(247,233,239,.56) 0%,rgba(247,233,239,0) 27%),
    radial-gradient(ellipse at 66% 76%,rgba(238,233,248,.54) 0%,rgba(238,233,248,0) 26%),
    radial-gradient(ellipse at 96% 44%,rgba(220,239,233,.70) 0%,rgba(220,239,233,0) 34%),
    linear-gradient(90deg,rgba(249,253,255,.86),rgba(255,251,253,.84),rgba(249,253,251,.86))!important;
}

/* FOOTER: misma paleta acuarelada. */
.site-footer{
  position:relative!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.67)!important;
  border-top:1px solid rgba(71,91,104,.07)!important;
}
.site-footer:before{
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:1!important;
  background:
    radial-gradient(ellipse at 4% 30%,rgba(247,233,239,.68) 0%,rgba(247,233,239,0) 32%),
    radial-gradient(ellipse at 30% 88%,rgba(238,233,248,.58) 0%,rgba(238,233,248,0) 30%),
    radial-gradient(ellipse at 68% 12%,rgba(216,231,238,.58) 0%,rgba(216,231,238,0) 29%),
    radial-gradient(ellipse at 96% 70%,rgba(220,239,233,.68) 0%,rgba(220,239,233,0) 33%),
    linear-gradient(100deg,rgba(255,253,250,.80),rgba(250,253,255,.76),rgba(253,250,255,.78))!important;
}
.site-footer:after{display:none!important}
.footer-main,.footer-credit{position:relative!important;z-index:1!important}

/* SUBPÁGINAS: acuarela global, deliberadamente SIN la iglesia. */
.subpage-public .page-hero,.subpage-public .pastoral-hero{
  background:transparent!important;
}
.subpage-public main{
  background:transparent!important;
}

@media(max-width:1100px){
  .home-page:before{height:900px;background-size:auto 900px;background-position:58% top}
}
@media(max-width:900px){
  .home-page:before{height:760px;background-size:auto 760px;background-position:66% top;opacity:.76}
  .welcome-hero{min-height:720px!important}
  .welcome-copy{background:rgba(255,255,255,.67)!important}
}
@media(max-width:600px){
  .home-page:before{height:690px;background-size:auto 690px;background-position:70% top;opacity:.64}
  .welcome-hero{min-height:auto!important;padding-top:34px!important;padding-bottom:58px!important}
  .welcome-copy{background:rgba(255,255,255,.78)!important}
}

/* =========================================================
   v24 — fondo acuarela continuo + jerarquía y espacios
   - Una sola acuarela continua en toda la web pública.
   - La iglesia aparece únicamente en el home.
   - Títulos principales con una única escala.
   - Menos aire vertical entre secciones.
   - Títulos del footer en Bebas Neue, pequeños.
   ========================================================= */
:root{
  --public-title-size:clamp(2.5rem,4.1vw,3.5rem);
  --public-section-y:clamp(42px,5vw,64px);
}

/* Fondo real de acuarela, sin cortes: se repite suavemente a lo largo del body. */
html{
  background:#fffdfa!important;
}
body{
  background-color:#fffdfa!important;
  background-image:url('/images/site-watercolor-continuous.png')!important;
  background-position:top center!important;
  background-size:100% 1180px!important;
  background-repeat:repeat-y!important;
  background-attachment:scroll!important;
}
body:before,body:after{display:none!important}
main,.home-page,.section,.home-section,.page-hero,.pastoral-hero,.donation-section{
  background:transparent!important;
  background-image:none!important;
}

/* Home: la iglesia es una capa propia y termina con la presentación. */
.home-public .home-page{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:none!important;
}
.home-public .home-page:before{
  content:'';
  position:absolute;
  z-index:-1;
  pointer-events:none;
  top:0;
  left:0;
  right:0;
  height:clamp(720px,48vw,900px);
  background-image:url('/images/site-watercolor-bg.png');
  background-repeat:no-repeat;
  background-position:72% top;
  background-size:auto 100%;
  opacity:.98;
}
.home-public .home-page:after{
  content:'';
  position:absolute;
  z-index:-1;
  pointer-events:none;
  top:clamp(620px,42vw,800px);
  left:0;
  right:0;
  height:180px;
  background:linear-gradient(180deg,rgba(255,253,250,0),rgba(255,253,250,.52),rgba(255,253,250,0));
}
.welcome-hero{
  min-height:clamp(720px,48vw,900px)!important;
  padding-top:clamp(48px,5vw,76px)!important;
  padding-bottom:clamp(48px,5vw,76px)!important;
  background:transparent!important;
}
.welcome-hero:before,.welcome-hero:after{display:none!important}

/* Subpáginas: sólo la acuarela continua del body; nunca la iglesia. */
.subpage-public main,
.subpage-public .page-hero,
.subpage-public .pastoral-hero,
.subpage-public .section{
  background:transparent!important;
  background-image:none!important;
}

/* Mismo tamaño para los títulos principales del home y de las subpáginas. */
.home-section-heading h2,
.google-score h2,
.collaboration-card h2,
.page-hero h1,
.pastoral-hero h1,
.section h2,
.split-copy h2,
.donation-card h2,
.info-content h2{
  font-family:'Bebas Neue',Impact,sans-serif!important;
  font-size:var(--public-title-size)!important;
  line-height:.96!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
  margin:.12em 0!important;
  color:#304454!important;
}

/* Menos espacio vertical: secciones más cercanas, sin franjas vacías. */
.home-section{
  padding:var(--public-section-y) clamp(22px,7vw,100px)!important;
}
.section{
  padding:var(--public-section-y) clamp(22px,7vw,100px)!important;
}
.welcome-hero + #celebraciones,
.welcome-hero + .home-section{
  padding-top:clamp(40px,4.4vw,58px)!important;
  margin-top:0!important;
}
.home-section-heading{
  margin-bottom:clamp(24px,2.8vw,34px)!important;
}
.section-heading{
  margin-bottom:30px!important;
}
.page-hero,.pastoral-hero{
  min-height:auto!important;
  padding:clamp(48px,5vw,70px) clamp(24px,8vw,120px)!important;
  justify-content:center!important;
  border-bottom:0!important;
}
.page-hero p,.pastoral-hero p{
  margin:.55rem 0 0!important;
}
.info-layout{gap:clamp(34px,5vw,54px)!important}
.info-content{gap:clamp(30px,4vw,42px)!important}
.collaboration-section{padding-bottom:clamp(52px,5vw,70px)!important}

/* Header/footer: misma sensación de acuarela, sin bloques de color duros. */
.site-header{
  background:rgba(255,253,250,.78)!important;
}
.site-header:before{
  background:
    linear-gradient(rgba(255,253,250,.36),rgba(255,253,250,.36)),
    url('/images/site-watercolor-continuous.png') center 35% / 100% 520px no-repeat!important;
  opacity:.94!important;
}
.site-footer{
  background:rgba(255,253,250,.70)!important;
  padding:30px clamp(24px,6vw,90px) 16px!important;
}
.site-footer:before{
  background:
    linear-gradient(rgba(255,253,250,.34),rgba(255,253,250,.34)),
    url('/images/site-watercolor-continuous.png') center 78% / 100% 620px no-repeat!important;
  opacity:.96!important;
}
.footer-main{gap:36px!important}
.footer-contact p,.footer-social p{
  margin:1px 0!important;
  line-height:1.36!important;
}
.footer-parish-name,
.footer-social-title{
  font-family:'Bebas Neue',Impact,sans-serif!important;
  font-size:1.18rem!important;
  line-height:1.05!important;
  letter-spacing:.025em!important;
  font-weight:400!important;
  color:#304454!important;
}
.footer-social-title{margin-bottom:13px!important}
.footer-credit{margin-top:16px!important}

@media(max-width:900px){
  body{background-size:150% 1050px!important;background-position:52% top!important}
  .home-public .home-page:before{
    height:700px;
    background-size:auto 700px;
    background-position:62% top;
    opacity:.82;
  }
  .home-public .home-page:after{top:610px;height:150px}
  .welcome-hero{min-height:700px!important;padding:40px 20px 48px!important}
  .home-section,.section{padding:48px 20px!important}
  .page-hero,.pastoral-hero{padding:46px 20px!important}
}

@media(max-width:620px){
  :root{--public-title-size:2.35rem}
  body{background-size:230% 920px!important;background-position:50% top!important}
  .home-public .home-page:before{
    height:620px;
    background-size:auto 620px;
    background-position:64% top;
    opacity:.68;
  }
  .home-public .home-page:after{top:535px;height:130px}
  .welcome-hero{min-height:auto!important;padding:30px 14px 42px!important}
  .home-section,.section{padding:40px 18px!important}
  .home-section-heading{margin-bottom:24px!important}
  .page-hero,.pastoral-hero{padding:38px 20px!important}
  .footer-parish-name,.footer-social-title{font-size:1.08rem!important}
}

/* =========================================================
   v25 — Iglesia recortada sobre la acuarela global
   - El fondo pastel sigue siendo UNO SOLO en todo el sitio.
   - La iglesia del home es ahora un PNG transparente separado,
     por lo que no existe ningún rectángulo/fondo pegado.
   - En subpáginas no se carga esta iglesia.
   ========================================================= */

/* Anula por completo las capas antiguas que traían iglesia + fondo juntos. */
.home-public .home-page:before,
.home-public .home-page:after{
  display:none!important;
  content:none!important;
  background:none!important;
}

.home-public .welcome-hero{
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
  background:transparent!important;
}

/* Iglesia: elemento independiente, con transparencia real. */
.home-public .welcome-church{
  position:absolute;
  z-index:0;
  pointer-events:none;
  top:18px;
  right:clamp(12px,4vw,72px);
  bottom:-38px;
  width:min(48vw,720px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.home-public .welcome-church img{
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  opacity:.68;
  filter:saturate(.82) brightness(1.06);
  -webkit-user-drag:none;
  user-select:none;
}

.home-public .welcome-inner{
  position:relative;
  z-index:2;
}
.home-public .welcome-copy{
  background:rgba(255,255,255,.38)!important;
  border:1px solid rgba(255,255,255,.48);
  box-shadow:none!important;
  backdrop-filter:blur(1px)!important;
}

/* El resto de la página y todas las subpáginas muestran únicamente
   la acuarela global del body. */
.home-public .home-section,
.subpage-public main,
.subpage-public .page-hero,
.subpage-public .pastoral-hero,
.subpage-public .section{
  background-color:transparent!important;
  background-image:none!important;
}

@media(max-width:1100px){
  .home-public .welcome-church{
    right:-70px;
    width:min(54vw,650px);
    top:42px;
    bottom:-24px;
  }
  .home-public .welcome-church img{opacity:.56}
}

@media(max-width:900px){
  .home-public .welcome-church{
    right:-170px;
    width:660px;
    top:72px;
    bottom:-12px;
  }
  .home-public .welcome-church img{opacity:.34}
  .home-public .welcome-copy{
    background:rgba(255,255,255,.64)!important;
  }
}

@media(max-width:620px){
  .home-public .welcome-church{
    right:-245px;
    width:610px;
    top:90px;
    bottom:0;
  }
  .home-public .welcome-church img{opacity:.24}
  .home-public .welcome-copy{
    background:rgba(255,255,255,.72)!important;
  }
}

/* v26 — interiores sin iglesia decorativa: la iglesia grande queda sólo en Home. */
.subpage-public .pastoral-detail-layout{
  display:block!important;
  background:transparent!important;
}

/* =========================================================
   v28 — contenido real migrado de WordPress
   ========================================================= */
.info-dynamic-card{
  display:grid;
  grid-template-columns:minmax(120px,190px) minmax(0,1fr);
  gap:clamp(20px,3vw,34px);
  align-items:start;
  scroll-margin-top:110px;
}
.info-dynamic-image{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 12px 34px rgba(48,68,84,.10);
}
.info-dynamic-copy{min-width:0}
.legacy-richtext{line-height:1.72;color:#40515e;white-space:pre-line}
.legacy-richtext p:first-child{margin-top:0}
.legacy-richtext img{max-width:100%;height:auto;border-radius:18px}
.legacy-richtext + .button{margin-top:16px}
.songbook-section{max-width:1180px;margin:0 auto}
.songbook-search{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.songbook-search input{flex:1}
.song-count{font-size:.92rem;color:#657582;white-space:nowrap}
.song-list{display:grid;gap:14px}
.song-card{
  border:1px solid rgba(48,68,84,.10);
  border-radius:20px;
  background:rgba(255,255,255,.70);
  box-shadow:0 7px 24px rgba(48,68,84,.06);
  overflow:hidden;
}
.song-card[hidden]{display:none!important}
.song-card summary{
  list-style:none;cursor:pointer;padding:18px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  font-family:'Bebas Neue',Impact,sans-serif;font-size:1.45rem;letter-spacing:.015em;color:#304454;
}
.song-card summary::-webkit-details-marker{display:none}
.song-open-mark{font-family:Arial,sans-serif;font-size:1.45rem;font-weight:300;transition:transform .2s ease}
.song-card[open] .song-open-mark{transform:rotate(45deg)}
.song-category{display:block;padding:0 22px 4px}
.song-lyrics{padding:8px 22px 24px;white-space:pre-wrap;line-height:1.72;color:#344b59}
.song-no-results{text-align:center;padding:34px;color:#657582}
@media(max-width:700px){
  .info-dynamic-card{grid-template-columns:1fr}.info-dynamic-image{max-width:210px}
  .songbook-search{align-items:stretch;flex-direction:column}.song-count{white-space:normal}
}

/* =========================================================
   v30 — IDENTIDAD TIPOGRÁFICA
   Todos los títulos públicos: Bebas Neue + imprenta mayúscula.
   No modifica tipografía ni estilos del cuerpo de texto.
   ========================================================= */
main h1,
main h2,
main h3 {
  font-family:'Bebas Neue',Impact,sans-serif!important;
  font-weight:400!important;
  text-transform:uppercase!important;
}

/* =========================================================
   v32 — CANCIONERO PARROQUIAL
   Recupera selección, orden manual, impresión/PDF y Word.
   ========================================================= */
.songbook-page-hero{
  padding-bottom:clamp(18px,2.2vw,28px)!important;
}
.songbook-page-hero p{margin-top:.35rem!important}
.songbook-section{
  max-width:1280px!important;
  margin:0 auto;
  padding-top:clamp(16px,2vw,26px)!important;
}
.songbook-tools{margin-bottom:16px}
.songbook-search{display:flex;align-items:center;gap:12px;margin:0 0 10px}
.songbook-search input{min-height:44px;padding:11px 16px}
.song-count{font-family:var(--ui);font-size:.85rem;color:#657582;white-space:nowrap}
.songbook-select-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.songbook-mini-button,.songbook-selection-jump{
  appearance:none;border:1px solid rgba(48,68,84,.12);background:rgba(255,255,255,.78);color:#304454;
  border-radius:999px;padding:8px 13px;font-family:var(--ui);font-size:.78rem;font-weight:800;line-height:1.15;cursor:pointer;
}
.songbook-mini-button:hover,.songbook-selection-jump:hover{background:rgba(223,238,246,.56)}
.songbook-mini-button.secondary{background:rgba(247,233,239,.36)}
.songbook-selection-jump{margin-left:auto;display:inline-flex;gap:6px;align-items:center}
.songbook-selection-jump strong{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#dfeef6}
.song-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:start}
.song-card{
  border:1px solid rgba(48,68,84,.10);border-radius:15px;background:rgba(255,255,255,.72);
  box-shadow:0 4px 16px rgba(48,68,84,.045);overflow:hidden;min-width:0;
}
.song-card[hidden]{display:none!important}
.song-card[open]{grid-column:1/-1;border-radius:20px;background:rgba(255,255,255,.9)}
.song-card.is-selected{border-color:rgba(126,156,179,.38);box-shadow:0 0 0 2px rgba(223,238,246,.55)}
.song-card summary{
  list-style:none;cursor:pointer;padding:10px 12px;display:grid;grid-template-columns:25px minmax(0,1fr) 22px;
  align-items:center;gap:8px;font-family:'Bebas Neue',Impact,sans-serif;font-size:1.16rem;line-height:1.05;letter-spacing:.012em;color:#304454;
}
.song-card summary::-webkit-details-marker{display:none}
.song-title{min-width:0;overflow-wrap:anywhere}
.song-select{display:grid;place-items:center;width:24px;height:24px;cursor:pointer}
.song-select input{position:absolute;opacity:0;pointer-events:none}
.song-select span{width:17px;height:17px;border:1.5px solid #a8b6bf;border-radius:5px;background:#fff;position:relative}
.song-select input:checked + span{background:#dfeef6;border-color:#7e9cb3}
.song-select input:checked + span:after{content:'✓';position:absolute;inset:-2px 0 0;display:grid;place-items:center;font:700 13px Arial,sans-serif;color:#304454}
.song-open-mark{font-family:Arial,sans-serif;font-size:1.2rem;font-weight:300;text-align:center;transition:transform .2s ease}
.song-card[open] .song-open-mark{transform:rotate(45deg)}
.song-category{display:block;padding:0 45px 2px;font-size:.65rem}
.song-lyrics{padding:8px 45px 20px;white-space:pre-wrap;line-height:1.65;color:#344b59;max-width:900px}
.song-no-results{text-align:center;padding:24px;color:#657582}

.songbook-builder{
  margin-top:30px;padding:clamp(22px,3vw,34px);border:1px solid rgba(48,68,84,.09);border-radius:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(238,233,248,.24),rgba(223,238,246,.22));
  box-shadow:0 12px 32px rgba(48,68,84,.055);scroll-margin-top:100px;
}
.songbook-builder-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}
.songbook-builder-head h2{font-size:clamp(2.2rem,4vw,3.2rem)!important;margin:.05em 0!important}
.songbook-builder-head p{margin:0;color:#657582;font-size:.92rem}
.selected-count-badge{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#dfeef6;font-family:var(--ui);font-size:.75rem;vertical-align:middle}
.selected-empty{padding:18px;border:1px dashed rgba(48,68,84,.15);border-radius:16px;color:#70808b;text-align:center}
.selected-songs{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.selected-songs[hidden]{display:none!important}
.selected-song{
  display:grid;grid-template-columns:28px 28px minmax(0,1fr) auto;align-items:center;gap:8px;
  min-height:42px;padding:7px 9px;border:1px solid rgba(48,68,84,.09);border-radius:13px;background:rgba(255,255,255,.82);cursor:grab;
}
.selected-song.is-dragging{opacity:.58;cursor:grabbing}
.drag-handle{font-family:Arial,sans-serif;color:#9aa9b2;letter-spacing:-3px;font-size:1.05rem}
.selected-position{display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:rgba(223,238,246,.65);font-family:var(--ui);font-size:.72rem;font-weight:900}
.selected-title{font-family:var(--ui);font-size:.88rem;font-weight:800;color:#304454}
.selected-move-actions{display:flex;gap:4px}
.selected-move-actions button{width:28px;height:28px;border:1px solid rgba(48,68,84,.10);border-radius:8px;background:#fff;color:#536773;cursor:pointer;font-weight:800}
.selected-move-actions .remove-song{font-size:1rem;background:rgba(247,233,239,.45)}
.songbook-builder-controls{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:end;margin-top:18px}
.songbook-name-field{display:grid;gap:6px;font-family:var(--ui);font-size:.78rem;font-weight:800;color:#5f707c}
.songbook-name-field input{width:100%;padding:11px 14px;border:1px solid rgba(48,68,84,.12);border-radius:13px;background:#fff;font:inherit;font-weight:500;color:#304454;outline:none}
.songbook-name-field input:focus{border-color:rgba(126,156,179,.55);box-shadow:0 0 0 4px rgba(223,238,246,.45)}
.songbook-order-actions,.songbook-export-actions{display:flex;gap:8px;flex-wrap:wrap}
.songbook-export-actions{margin-top:14px}
.songbook-export-actions .button{width:auto!important;padding:10px 16px!important;font-size:.82rem}
.songbook-export-actions .button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.songbook-tip{margin:10px 0 0;color:#70808b;font-family:var(--ui);font-size:.78rem}

@media(max-width:980px){.song-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .songbook-page-hero{padding-bottom:14px!important}
  .songbook-section{padding-top:12px!important}
  .songbook-search{align-items:stretch;flex-direction:column;gap:6px}.song-count{white-space:normal}
  .songbook-selection-jump{margin-left:0}
  .song-list{grid-template-columns:1fr}
  .song-card[open]{grid-column:auto}
  .song-card summary{font-size:1.08rem}
  .song-lyrics{padding:7px 16px 18px}
  .song-category{padding-left:16px}
  .songbook-builder-head{display:grid}.songbook-builder-head>.songbook-mini-button{justify-self:start}
  .songbook-builder-controls{grid-template-columns:1fr}
  .selected-song{grid-template-columns:24px 26px minmax(0,1fr);gap:6px}
  .selected-move-actions{grid-column:3;justify-self:start}
}

/* Asamblea Parroquial 2026 */
.assembly-hero,.assembly-survey-page{padding:70px 20px;background:linear-gradient(180deg,rgba(232,244,246,.75),rgba(255,248,231,.72))}.assembly-wrap{max-width:1050px;margin:0 auto}.survey-narrow{max-width:850px}.assembly-hero h1,.assembly-survey-page h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(48px,7vw,82px);line-height:.95;margin:12px 0;color:#24485f}.assembly-hero h2,.assembly-survey-page h2{font-size:clamp(22px,3vw,34px);font-weight:400;color:#5d6f73}.assembly-hero p,.assembly-callout p,.assembly-survey-page p{font-size:18px;line-height:1.7}.eyebrow{font-weight:900;letter-spacing:.14em;color:#6e8e86}.assembly-callout{padding:60px 20px;background:#f7efe7}.assembly-callout h2{font-family:'Bebas Neue',sans-serif;font-size:48px;color:#24485f}.assembly-btn{display:inline-block;border:0;border-radius:999px;padding:15px 26px;background:#24485f;color:#fff!important;text-decoration:none;font-weight:900;letter-spacing:.04em;cursor:pointer}.assembly-status{margin-top:25px;padding:28px;border-radius:22px;background:rgba(255,255,255,.75);box-shadow:0 12px 35px rgba(40,64,77,.08)}.assembly-form{display:grid;gap:22px;margin-top:35px}.survey-question{padding:24px;border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 8px 28px rgba(36,72,95,.07)}.survey-question h3{margin-top:0;color:#24485f;font-size:21px;line-height:1.35}.survey-question textarea,.survey-question input[type=text],.survey-question input:not([type]),.survey-question select,.assembly-form input[type=date]{width:100%;box-sizing:border-box;margin-top:8px;border:1px solid #cbd7d7;border-radius:12px;padding:12px;font:inherit;background:#fff}.survey-question textarea{resize:vertical}.survey-question label{display:block;margin:10px 0;line-height:1.45}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.check-grid label,.radio-line,.radio-row label{padding:10px 12px;border-radius:12px;background:#f2f7f5}.radio-row{display:flex;flex-wrap:wrap;gap:10px}.demographic{display:flex;gap:15px;flex-wrap:wrap;align-items:center;margin:15px 0}@media(max-width:700px){.check-grid{grid-template-columns:1fr}.assembly-hero,.assembly-survey-page{padding:45px 16px}}

/* Cloudflare Stream video library */
.video-library-section{display:grid;gap:28px}.video-library-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.video-library-head h2{margin:.25rem 0 0}.video-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.stream-card{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.9);box-shadow:var(--shadow)}.stream-thumb{display:block;position:relative;aspect-ratio:16/9;background:#e9eef1;overflow:hidden}.stream-thumb img{width:100%;height:100%;object-fit:cover}.stream-thumb-empty{display:grid;place-items:center;width:100%;height:100%;font-size:2rem}.stream-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(0,0,0,.15);font-size:1.2rem;padding-left:3px}.stream-card-body{padding:22px}.stream-card-body h3{margin:.35rem 0 .55rem;font-size:1.25rem}.stream-card-body h3 a{color:inherit}.stream-card-body p{margin:0 0 14px}.stream-meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--ui);font-size:.82rem;opacity:.7}.video-library-notice{padding:28px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.86)}.video-library-notice p{margin:.45rem 0 0}.stream-player-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:#111;box-shadow:var(--shadow)}.stream-player-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.stream-detail-copy{max-width:850px;margin:28px auto 0}.stream-detail-copy h2{margin:.35rem 0 .8rem}@media(max-width:900px){.video-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.video-library-grid{grid-template-columns:1fr}.video-library-head{align-items:start;flex-direction:column}.stream-card{border-radius:22px}.stream-player-wrap{border-radius:20px}}

/* Cloudflare Stream video library */
.video-library-section{display:grid;gap:28px}.video-library-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.video-library-head h2{margin:.25rem 0 0}.video-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.stream-card{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.9);box-shadow:var(--shadow)}.stream-thumb{display:block;position:relative;aspect-ratio:16/9;background:#e9eef1;overflow:hidden}.stream-thumb img{width:100%;height:100%;object-fit:cover}.stream-thumb-empty{display:grid;place-items:center;width:100%;height:100%;font-size:2rem}.stream-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(0,0,0,.15);font-size:1.2rem;padding-left:3px}.stream-card-body{padding:22px}.stream-card-body h3{margin:.35rem 0 .55rem;font-size:1.25rem}.stream-card-body h3 a{color:inherit}.stream-card-body p{margin:0 0 14px}.stream-meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--ui);font-size:.82rem;opacity:.7}.video-library-notice{padding:28px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.86)}.video-library-notice p{margin:.45rem 0 0}.stream-player-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:#111;box-shadow:var(--shadow)}.stream-player-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.stream-detail-copy{max-width:850px;margin:28px auto 0}.stream-detail-copy h2{margin:.35rem 0 .8rem}@media(max-width:900px){.video-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.video-library-grid{grid-template-columns:1fr}.video-library-head{align-items:start;flex-direction:column}.stream-card{border-radius:22px}.stream-player-wrap{border-radius:20px}}

/* v0.44 · Páginas legales / Meta */
.legal-hero{position:relative;padding:clamp(64px,8vw,112px) clamp(22px,7vw,100px) clamp(48px,6vw,78px);overflow:hidden;background:linear-gradient(135deg,rgba(223,238,246,.34),rgba(255,255,255,.96) 42%,rgba(247,233,239,.26) 72%,rgba(220,239,233,.28))}
.legal-hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 82% 22%,rgba(238,233,248,.55),transparent 24%),radial-gradient(circle at 12% 78%,rgba(220,239,233,.38),transparent 24%);pointer-events:none}
.legal-shell{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto}.legal-hero .legal-shell{max-width:980px;margin-left:auto;margin-right:auto}.legal-hero h1{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(3.8rem,8vw,6.8rem);font-weight:400;line-height:.9;letter-spacing:.01em;margin:.14em 0 .18em;color:#2f4353}.legal-hero p{max-width:820px;margin:0;color:#657783;font-size:1.08rem;line-height:1.7}.legal-hero .legal-updated{margin-top:18px;font-family:var(--ui);font-size:.82rem;font-weight:700;color:#8999a4}
.legal-section{padding:clamp(42px,6vw,76px) clamp(22px,7vw,100px) clamp(80px,9vw,120px);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(251,246,239,.42))}.legal-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:34px;align-items:start}.legal-index{position:sticky;top:116px;display:grid;gap:4px;padding:22px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:var(--soft-shadow);font-family:var(--ui)}.legal-index strong{margin-bottom:8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#8197a8}.legal-index a{padding:9px 11px;border-radius:12px;color:#536673;font-size:.9rem;font-weight:700}.legal-index a:hover{background:rgba(223,238,246,.56);color:#2f4353}
.legal-content{display:grid;gap:18px}.legal-content-single{max-width:930px;margin:0 auto}.legal-card{position:relative;padding:clamp(26px,3.6vw,42px);border:1px solid rgba(47,59,69,.08);border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(47,59,69,.045);scroll-margin-top:118px;overflow:hidden}.legal-card-highlight{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(223,238,246,.34),rgba(238,233,248,.25))}.legal-number{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:rgba(223,238,246,.72);font-family:var(--ui);font-size:.72rem;font-weight:900;color:#526b7e}.legal-card h2{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(2rem,3.4vw,3rem);font-weight:400;line-height:1;margin:.42em 0 .36em;color:#304454}.legal-card p{margin:.55em 0;color:#586b77;font-size:1rem;line-height:1.72}.legal-card ul,.legal-card ol{margin:16px 0 0;padding-left:1.2rem;color:#526572}.legal-card li{margin:9px 0;padding-left:4px;line-height:1.6}.legal-steps{counter-reset:legalstep;list-style:none!important;padding-left:0!important;display:grid;gap:12px}.legal-steps li{position:relative;margin:0;padding:14px 16px 14px 52px;border-radius:16px;background:rgba(248,250,251,.9)}.legal-steps li:before{counter-increment:legalstep;content:counter(legalstep);position:absolute;left:14px;top:13px;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#dfeef6;font-family:var(--ui);font-size:.72rem;font-weight:900;color:#365267}.legal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.legal-actions .button{font-size:.88rem}
.footer-legal{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:18px auto 0;padding:0 18px;font-family:var(--ui);font-size:.78rem;color:#788a96}.footer-legal a{font-weight:700}.footer-legal a:hover{text-decoration:underline}.footer-legal span{opacity:.45}
@media(max-width:860px){.legal-layout{grid-template-columns:1fr}.legal-index{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.legal-index strong{grid-column:1/-1}.legal-hero{padding-top:48px}.legal-hero h1{font-size:clamp(3.5rem,15vw,5.5rem)}}
@media(max-width:560px){.legal-index{grid-template-columns:1fr}.legal-card{border-radius:22px}.legal-actions{display:grid}.legal-actions .button{width:100%}.footer-legal{gap:6px 10px}.footer-legal span{display:none}}

/* v0.51 · Biblioteca pública de videos */
.videos-page-hero,.video-detail-hero{background:linear-gradient(135deg,rgba(229,243,248,.42),rgba(250,238,243,.28))}.video-view-only-note{font-family:var(--ui);font-size:.82rem;font-weight:700;color:#60727f}.video-detail-section{display:grid;gap:20px;padding-top:36px;padding-bottom:70px}.video-detail-section .stream-detail-copy{margin-top:0}.stream-card-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* v0.52 - reproductor parroquial propio: sin interfaz ni marca visible de terceros */
.parish-video-player{display:grid;place-items:center;background:#0d1114}
.parish-video{display:block;width:100%;height:100%;max-width:100%;aspect-ratio:16/9;background:#0d1114;object-fit:contain}
.parish-video::-webkit-media-controls-enclosure{border-radius:0}
.parish-video-error{position:absolute;inset:auto 18px 18px 18px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.94);color:var(--ink);font-family:var(--ui);font-size:.84rem;box-shadow:0 8px 24px rgba(0,0,0,.15)}

/* v61 · /bio */
.bio-public-page{min-height:100vh;margin:0;background:#faf8f3;color:#243542;font-family:'Lato',sans-serif}.bio-public-shell{min-height:100vh;display:grid;place-items:center;padding:32px 18px;box-sizing:border-box;position:relative;overflow:hidden;background:radial-gradient(circle at 10% 10%,rgba(225,241,246,.72),transparent 32%),radial-gradient(circle at 90% 14%,rgba(245,226,233,.64),transparent 30%),radial-gradient(circle at 50% 100%,rgba(238,233,215,.65),transparent 34%)}.bio-public-card{position:relative;z-index:1;width:min(100%,560px);text-align:center}.bio-public-avatar{width:118px;height:118px;object-fit:cover;border-radius:50%;background:#fff;border:1px solid rgba(67,85,94,.12);box-shadow:0 12px 35px rgba(50,62,69,.10)}.bio-public-card h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.1rem,8vw,3.2rem);letter-spacing:.02em;line-height:1;margin:20px 0 6px;color:#304858}.bio-public-subtitle{margin:0 auto 26px;max-width:460px;font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;color:#607482}.bio-public-links{display:grid;gap:13px}.bio-public-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;text-decoration:none;color:#2f4350;background:rgba(255,255,255,.91);border:1px solid rgba(75,93,102,.13);border-radius:18px;padding:16px 18px;font-weight:800;font-size:1rem;box-shadow:0 8px 24px rgba(47,63,72,.05);transition:transform .18s ease,box-shadow .18s ease}.bio-public-links a:hover,.bio-public-links a:focus-visible{transform:translateY(-2px);box-shadow:0 12px 30px rgba(47,63,72,.10)}.bio-public-links a span:last-child{font-size:1.5rem;font-weight:400;color:#8ca2af}.bio-public-home{display:inline-block;margin-top:24px;color:#78909d;text-decoration:none;font-size:.9rem}.bio-public-home:hover{text-decoration:underline}@media(max-width:520px){.bio-public-shell{align-items:start;padding-top:48px}.bio-public-avatar{width:104px;height:104px}.bio-public-links a{padding:15px 16px}}

/* v66 · /bio configurable */
.bio-public-page{background:var(--bio-bg-1);color:var(--bio-text);font-family:var(--bio-body-font)}
.bio-public-shell{background:var(--bio-bg-1);font-family:var(--bio-body-font);position:relative;isolation:isolate}
.bio-public-page.bio-bg-gradient .bio-public-shell{background:linear-gradient(155deg,var(--bio-bg-1) 0%,var(--bio-bg-2) 100%)}
.bio-public-page.bio-bg-solid .bio-public-shell{background:var(--bio-bg-1)}
.bio-public-page.bio-bg-image .bio-public-shell{background-color:var(--bio-bg-1);background-image:var(--bio-bg-image);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:scroll}
.bio-public-overlay{position:absolute;inset:0;z-index:0;pointer-events:none}.bio-bg-image .bio-public-overlay{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.28))}.bio-bg-gradient .bio-public-overlay{background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.28),transparent 34%),radial-gradient(circle at 88% 18%,rgba(255,255,255,.18),transparent 30%)}
.bio-public-card{position:relative;z-index:1;color:var(--bio-text);font-family:var(--bio-body-font)}
.bio-public-card h1{font-family:var(--bio-title-font);color:var(--bio-text);font-weight:700}
.bio-public-subtitle{font-family:var(--bio-body-font);color:var(--bio-text);opacity:.78}
.bio-public-links a{font-family:var(--bio-body-font);color:var(--bio-button-text);background:var(--bio-button);border-color:var(--bio-button-border);border-radius:var(--bio-radius)}
.bio-public-links a span:last-child{color:var(--bio-button-text);opacity:.58}
.bio-public-home{font-family:var(--bio-body-font);color:var(--bio-text);opacity:.58}

/* v0.68 · menú público móvil funcional (web + PWA)
   El menú anterior se abría dentro de un header con overflow:hidden,
   por eso quedaba recortado e invisible aunque el botón recibiera el toque. */
.site-nav-scrim{display:none}
@media(max-width:980px){
  .site-header{overflow:visible!important;z-index:2000!important}
  .nav-toggle{
    display:grid!important;place-items:center;position:relative;z-index:2004;
    width:48px;height:48px;min-width:48px;border:1px solid rgba(48,68,84,.09)!important;
    border-radius:16px;background:rgba(255,255,255,.84)!important;color:#263b49;
    font-family:Arial,sans-serif;font-size:2rem!important;line-height:1;cursor:pointer;
    box-shadow:0 7px 22px rgba(48,68,84,.07)
  }
  .site-nav{
    display:flex!important;position:fixed!important;top:0!important;right:0!important;left:auto!important;
    z-index:2003!important;width:min(86vw,380px)!important;height:100dvh!important;box-sizing:border-box;
    flex-direction:column!important;align-items:stretch!important;gap:5px!important;
    padding:92px 22px 28px!important;border-radius:0!important;
    background:rgba(255,253,250,.985)!important;
    box-shadow:-18px 0 50px rgba(38,55,66,.17)!important;
    overflow-y:auto!important;overscroll-behavior:contain;
    transform:translateX(105%);visibility:hidden;pointer-events:none;
    transition:transform .24s ease,visibility .24s step-end!important;
  }
  .site-nav.open{
    transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important;
    transition:transform .24s ease,visibility 0s!important;
  }
  .site-nav>a{
    display:block;padding:13px 14px;border-radius:13px;color:#304454!important;
    font-size:1rem!important;text-decoration:none
  }
  .site-nav>a:hover,.site-nav>a:focus-visible{background:rgba(223,238,246,.52)}
  .nav-tools{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:12px 0 0!important;padding-top:14px;border-top:1px solid rgba(48,68,84,.08)}
  .nav-access,.lang-picker{width:100%!important;box-sizing:border-box;justify-content:center!important}
  .nav-access{height:48px!important;border-radius:14px!important}
  .lang-picker{border-radius:14px!important}
  .site-nav-scrim{
    display:block;position:fixed;inset:0;z-index:2002;background:rgba(34,43,49,.34);
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s step-end
  }
  .site-nav-scrim.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .22s ease,visibility 0s}
  body.site-menu-open{overflow:hidden!important;touch-action:none}
}
@media(max-width:600px){
  .site-header{padding:12px 18px!important}
  .brand-logo-wide{width:min(270px,72vw)!important;max-height:72px!important}
  .site-nav{width:min(89vw,360px)!important;padding-top:86px!important}
}

/* v0.73 · Alineación de secciones públicas en subpáginas */
.section-shell{
  padding:var(--public-section-y) clamp(22px,7vw,100px)!important;
  box-sizing:border-box;
}
.video-library-section{
  width:100%;
}
@media(max-width:900px){
  .section-shell{padding:48px 20px!important}
}
@media(max-width:620px){
  .section-shell{padding:40px 18px!important}
}


/* v75 · Bio pública: fondo real visible + logo centrado */
.bio-public-page.bio-bg-image{
  background-color:var(--bio-bg-1);
  background-image:var(--bio-bg-image);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.bio-public-shell{
  width:100%;
}
.bio-public-page.bio-bg-image .bio-public-shell{
  background-color:transparent;
  background-image:var(--bio-bg-image)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.bio-public-page.bio-bg-image .bio-public-overlay{
  background:linear-gradient(180deg,rgba(250,248,243,.34),rgba(250,248,243,.18));
}
.bio-public-card{
  display:grid;
  justify-items:center;
  text-align:center;
}
.bio-public-avatar-wrap{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto;
}
.bio-public-avatar{
  display:block;
  margin:0 auto;
}
.bio-public-card h1,
.bio-public-subtitle,
.bio-public-home{
  text-align:center;
}
.bio-public-links{
  width:100%;
}
@media(max-width:520px){
  .bio-public-shell{
    align-items:start;
    padding-top:42px;
  }
}
