:root{--img-bA-en:url("../img/bA-en.webp");--img-bA-es:url("../img/bA-es.webp");--img-bB-en:url("../img/bB-en.webp");--img-bB-es:url("../img/bB-es.webp");--img-ban-a:url("../img/ban-a.webp");--img-ban-b:url("../img/ban-b.webp");--img-ch1:url("../img/ch1.webp");--img-fam:url("../img/fam.webp");--img-g01:url("../img/g01.webp");--img-g02:url("../img/g02.webp");--img-g03:url("../img/g03.webp");--img-g04:url("../img/g04.webp");--img-g06:url("../img/g06.webp");--img-g07:url("../img/g07.webp");--img-g08:url("../img/g08.webp");--img-g09:url("../img/g09.webp");--img-g10:url("../img/g10.webp");--img-g11:url("../img/g11.webp");--img-g12:url("../img/g12.webp");--img-g13:url("../img/g13.webp");--img-h-citas:url("../img/h-citas.webp");--img-h-contacto:url("../img/h-contacto.webp");--img-h-galeria:url("../img/h-galeria.webp");--img-h-inicio:url("../img/h-inicio.webp");--img-logo-emblem:url("../img/logo-emblem.webp");--img-logo-full:url("../img/logo-full.webp");--img-mi:url("../img/mi.webp");--img-mj:url("../img/mj.webp");--img-n-path:url("../img/n-path.webp");--img-pastora:url("../img/pastora.webp");--img-s-bible:url("../img/s-bible.webp");--img-s-church:url("../img/s-church.webp");--img-s-shadow:url("../img/s-shadow.webp");--img-s-window:url("../img/s-window.webp");--img-solange:url("../img/solange.webp")}

/* Layout: clean modern church site. White/stone ground, near-black type, subtle sage + gold accents drawn from the logo.
   Full-bleed photo heroes on every page, rounded photo cards, dark sage bands, poster banners, light footer with the logo. */
:root{
  color-scheme:light;
  --bg:#f6efe4;          /* logo parchment */
  --stone:#efe5d5;
  --card:#fbf7f0;
  --ink:#2c3529;          /* wordmark green-black */
  --muted:#626a5c;
  --line:#e2d5c0;
  --sage:#7d927a;         /* arch */
  --sage-deep:#4b5d49;    /* wordmark */
  --night:#2f3b2d;
  --gold:#b98732;         /* chain cross */
  --gold-2:#ddb062;
  --on-dark:#f6efe4;
  --on-dark-2:#cdd3c4;
  --h1:clamp(2.9rem,6.2vw,5.2rem);
  --h2:clamp(2.35rem,4.4vw,3.9rem);
  --h3:1.38rem;
  --sans:"Montserrat","Helvetica Neue",Arial,system-ui,sans-serif;
  --serif:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  --caps:"DM Sans",Arial,sans-serif;
  --display:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --max:1240px;
  --r:24px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--sans);font-weight:700;line-height:1.15;text-wrap:balance;color:var(--ink)}
h1,h2,h3{font-family:var(--display);font-style:normal;font-weight:500;font-optical-sizing:auto;letter-spacing:-.035em;line-height:1.04;color:var(--sage-deep)}
h3{letter-spacing:-.015em;line-height:1.2}
h2 .soft,h1 .soft,h3 .soft{color:var(--sage);font-style:normal;font-weight:400}
h2{font-size:var(--h2)}h3{font-size:var(--h3)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
@media(min-width:800px){.wrap{padding-left:max(44px,env(safe-area-inset-left,0px));padding-right:max(44px,env(safe-area-inset-right,0px))}}
section{padding-block:clamp(72px,9vw,120px)}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.lede{font-size:1.06rem;color:var(--muted);max-width:58ch}
.serif{font-family:var(--serif);font-style:italic;font-weight:500}
.sec-head{display:grid;gap:14px;margin-bottom:clamp(36px,5vw,58px);max-width:760px}
.sec-head h2{font-size:var(--h2)}
.sec-head.center{margin-inline:auto;text-align:center;justify-items:center}
.ph{background-size:cover;background-position:center;background-repeat:no-repeat}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font:700 .8rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:1.15em 1.85em;border-radius:999px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:15px;height:15px}
.btn-dark{background:var(--sage-deep);color:var(--on-dark)}
.btn-dark:hover{background:var(--night)}
.btn-gold{background:linear-gradient(180deg,#d8ad5c,#b98732 60%,#a5762a);color:#fffaf0;box-shadow:0 0 0 1px rgba(255,236,190,.5) inset,0 10px 24px rgba(185,135,50,.32)}
.btn-sage{background:var(--sage-deep);color:var(--on-dark)}
.btn-sage:hover{background:var(--night)}
.btn-gold:hover{filter:brightness(1.06)}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}
.btn-glass{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.btn-glass:hover{background:#fff;color:var(--ink)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;text-decoration:none}
.link-arrow svg{width:14px;height:14px;transition:transform .2s}
.link-arrow:hover svg{transform:translate(3px,-3px)}

/* ---------- navigation ---------- */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:80;background:rgba(246,239,228,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);border-bottom:1px solid var(--line);transition:box-shadow .3s}
header.site.solid{box-shadow:0 10px 30px rgba(47,59,45,.08)}
header.site .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;min-height:110px;padding-block:8px;transition:min-height .35s}
header.site.solid .wrap{min-height:88px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;min-width:0}
.brand .logo-full{width:104px;flex-shrink:0;transition:width .35s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 4px 10px rgba(47,59,45,.15))}
header.site.solid .brand .logo-full{width:82px}
.brand:hover .logo-full{transform:scale(1.03)}
.brand{justify-self:start}
nav.main{display:flex;align-items:center;gap:2px}
nav.main>a,.dd>button{font:600 .95rem/1 var(--sans);text-decoration:none;padding:.85em .95em;border-radius:999px;color:inherit;background:none;border:0;cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:6px}
nav.main>a::after{content:"";position:absolute;left:.95em;right:.95em;bottom:.45em;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
nav.main>a:hover::after,nav.main>a[aria-current="page"]::after{transform:scaleX(1)}
.dd{position:relative}
.dd>button svg{width:12px;height:12px;transition:transform .2s}
.dd.open>button svg{transform:rotate(180deg)}
.dd .menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:220px;background:#fff;color:var(--ink);border-radius:18px;box-shadow:0 20px 50px rgba(20,25,20,.16);padding:8px;display:none}
.dd.open .menu{display:grid}
.dd .menu a{text-decoration:none;padding:12px 14px;border-radius:12px;font-weight:600;font-size:.92rem;display:grid}
.dd .menu a small{font-weight:500;color:var(--muted);font-size:.8rem}
.dd .menu a:hover{background:var(--stone)}
.nav-right{display:flex;align-items:center;gap:12px;justify-self:end}
.nav-right .btn{padding:.95em 1.45em;font-size:.74rem}
.lang-switch{position:relative;width:78px;height:32px;border-radius:999px;border:1.5px solid currentColor;background:transparent;cursor:pointer;padding:0;font:800 .68rem/1 var(--sans);letter-spacing:.1em;color:inherit;opacity:.95;flex-shrink:0}
.lang-switch span{position:absolute;top:50%;transform:translateY(-50%);width:50%;text-align:center;z-index:1;transition:color .25s}
.lang-switch .es{left:0}.lang-switch .en{right:0}
.lang-switch::before{content:"";position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);border-radius:999px;background:currentColor;transition:transform .3s cubic-bezier(.4,.1,.2,1)}
.lang-switch[aria-checked="true"]::before{transform:translateX(100%)}
.lang-switch{color:var(--sage-deep)}.lang-switch[aria-checked="false"] .es,.lang-switch[aria-checked="true"] .en{color:var(--on-dark)}
.menu-btn{display:none;width:48px;height:48px;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;cursor:pointer;place-items:center}
.menu-btn i{display:grid;gap:5px;width:18px}
.menu-btn i::before,.menu-btn i::after{content:"";height:2px;background:currentColor;border-radius:2px}
/* full-screen mobile menu */
.overlay{position:fixed;inset:0;z-index:90;background:var(--night);color:var(--on-dark);display:grid;grid-template-rows:auto 1fr auto;padding:calc(18px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.overlay .top{display:flex;justify-content:space-between;align-items:center}
.overlay .close{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--on-dark);background:none;color:var(--on-dark);font-size:1.5rem;cursor:pointer}
.overlay nav{display:grid;align-content:center;gap:2px}
.overlay nav a{font-family:var(--display);font-weight:500;font-size:clamp(1.6rem,6vw,2.2rem);font-weight:600;text-decoration:none;letter-spacing:-.01em;padding:.15em 0;color:var(--on-dark);opacity:0;animation:slideUp .45s ease forwards}
.overlay nav a:nth-child(n){animation-delay:calc(var(--i) * 45ms)}
@keyframes slideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.overlay .bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;color:var(--on-dark-2);font-size:.88rem}
@media(max-width:960px){header.site .wrap{grid-template-columns:1fr auto}nav.main{display:none}.menu-btn{display:grid}}
@media(max-width:520px){.nav-right .btn-gold{display:none}.brand .logo-full{width:78px}header.site.solid .brand .logo-full{width:66px}}

/* ---------- image helpers ---------- */
.emb{display:block;width:100%;aspect-ratio:520/323;background:var(--img-logo-emblem) center/contain no-repeat}
.logo-full{display:block;width:100%;aspect-ratio:720/648;background:var(--img-logo-full) center/contain no-repeat}

/* ---------- pages + hero ---------- */
.page{animation:pageIn .5s ease}
@keyframes pageIn{from{opacity:.35}to{opacity:1}}
.hero{position:relative;min-height:min(62svh,620px);display:grid;align-items:end;color:#fff;overflow:hidden;isolation:isolate;padding-block:clamp(70px,9vw,120px) clamp(56px,8vw,96px)}
.hero.tall{min-height:min(84svh,820px)}
.hero.tall::before{background:linear-gradient(180deg,rgba(47,59,45,.6) 0%,rgba(47,59,45,.42) 42%,rgba(36,46,34,.9) 100%),linear-gradient(110deg,rgba(75,93,73,.5) 0%,rgba(185,135,50,.2) 60%,rgba(185,135,50,.3) 100%)}
.hero .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;animation:kenburns 22s ease-out both}
@keyframes kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(47,59,45,.55) 0%,rgba(47,59,45,.28) 42%,rgba(36,46,34,.88) 100%),linear-gradient(110deg,rgba(75,93,73,.55) 0%,rgba(185,135,50,.18) 60%,rgba(185,135,50,.32) 100%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 80% 10%,rgba(221,176,98,.35),transparent 60%);mix-blend-mode:soft-light;animation:glowMove 12s ease-in-out infinite alternate}
@keyframes glowMove{to{transform:translate(-6%,4%) scale(1.1)}}
.hero .bg{filter:saturate(.85) sepia(.18)}
.hero .inner{display:grid;gap:22px;max-width:880px;animation:heroIn .9s .1s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero.center .inner{margin-inline:auto;text-align:center;justify-items:center}
.hero .motto{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.2rem,2vw,1.55rem);color:#f3d79c;text-shadow:0 2px 14px rgba(0,0,0,.55);letter-spacing:.01em;display:flex;align-items:center;gap:14px}
.hero .motto::before,.hero .motto::after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.hero .kicker{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-2)}
.hero .kicker::before{content:"";width:28px;height:1.5px;background:currentColor}
.hero.center .kicker::after{content:"";width:28px;height:1.5px;background:currentColor}
.hero h1{color:#fff;font-size:var(--h1);text-shadow:0 2px 20px rgba(0,0,0,.25)}

.hero p.sub{font-size:1.15rem;color:rgba(255,255,255,.88);max-width:44ch;font-weight:500}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero .scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:26px;height:42px;border:1.5px solid rgba(255,255,255,.7);border-radius:999px}
.hero .scroll::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:scrollDot 1.8s ease-in-out infinite}
@keyframes scrollDot{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
.crumb{display:none;gap:10px;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.75)}
.crumb a{text-decoration:none;color:#fff}

/* verse band */
.verse-band{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding-block:clamp(80px,10vw,130px);background:var(--stone)}
.verse-band::before{content:"";position:absolute;inset:-10% 0;z-index:-2;background:var(--img-h-inicio) center 70%/cover no-repeat;filter:blur(2px) saturate(.7) sepia(.3);transform:translateY(var(--py,0px)) scaleY(-1);opacity:.55}
.verse-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(36,46,34,.55) 0%,rgba(239,229,213,.9) 26%,rgba(239,229,213,.86) 70%,rgba(246,239,228,1) 100%)}
.verse-band blockquote{margin:0 auto;max-width:34ch;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.25;color:var(--ink)}
.verse-band cite{display:block;margin-top:20px;font-style:normal;font-size:.76rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}

/* pillars */
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(36px,6vw,90px);align-items:start}
.split h2{font-size:var(--h2)}
.pillars{display:grid;gap:0}
.pillar{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line)}
.pillar:last-child{border-bottom:1px solid var(--line)}
.pillar .ico{width:56px;height:56px;border-radius:50%;background:var(--stone);display:grid;place-items:center;color:var(--sage-deep)}
.pillar .ico svg{width:24px;height:24px}
.pillar h3{font-size:var(--h3);margin-bottom:6px}
.pillar p{color:var(--muted);font-size:.97rem}
@media(max-width:860px){.split{grid-template-columns:1fr}}

/* photo ribbon */
.ribbon{overflow:hidden;padding-block:10px 30px;-webkit-mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ribbon .track{display:flex;gap:22px;width:max-content;animation:slide 80s linear infinite}
.ribbon:hover .track{animation-play-state:paused}
.ribbon .card{width:clamp(200px,22vw,320px);aspect-ratio:4/5;border-radius:20px;flex-shrink:0}
.ribbon .card:nth-child(odd){transform:translateY(22px)}
@keyframes slide{to{transform:translateX(-50%)}}

/* ministries cards */
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.mcard{display:grid;gap:14px;align-content:start}
.mcard .photo{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;max-width:100%}
.mcard .photo .ph{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.mcard:hover .photo .ph{transform:scale(1.06)}
.mcard .tag{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.92);font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:.6em .9em;border-radius:999px}
.mcard h3{font-size:var(--h3)}
.mcard p{color:var(--muted);font-size:.94rem}
@media(max-width:1040px){.cards4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cards4{grid-template-columns:1fr}}

/* statement */
.statement{display:grid;grid-template-columns:auto 1fr;gap:clamp(30px,6vw,80px);align-items:start}
.statement .label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.74rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.statement p.big{font-size:clamp(1.25rem,2vw,1.6rem);font-weight:500;line-height:1.5;color:var(--ink);letter-spacing:-.01em;max-width:30ch}
.statement p.big em{font-style:normal;color:var(--sage)}
@media(max-width:700px){.statement{grid-template-columns:1fr}.statement .label{writing-mode:initial;transform:none}}

/* dark */
.dark{background:var(--night);color:var(--on-dark)}
.dark h2,.dark h3,.dark h4{color:var(--on-dark)}
.dark .lede,.dark p{color:var(--on-dark-2)}
.dark .eyebrow{color:var(--gold-2)}
.rounded{border-radius:clamp(26px,4vw,56px);margin:clamp(14px,2vw,24px) clamp(0px,1.5vw,18px)}

/* times */
.times-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px);align-items:center}
.times-wrap .sec-head{margin-bottom:0}
@media(max-width:860px){.times-wrap{grid-template-columns:1fr}}
.times{display:grid}
.times .row{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:center;padding:clamp(16px,2vw,22px) 0;border-top:1px solid rgba(246,243,236,.14);text-decoration:none;transition:padding .3s}
.times .row:last-child{border-bottom:1px solid rgba(246,243,236,.14)}
.times .row:hover{padding-left:12px}
.times .day{font-family:var(--display);font-weight:500;font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:600;line-height:1;color:var(--on-dark)}
.times .when{font-size:1rem;font-weight:700;color:var(--on-dark)}
.times .when small{display:block;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin-top:4px}
.times .arrow{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(246,243,236,.35);display:grid;place-items:center;color:var(--on-dark)}
.times .arrow svg{width:18px;height:18px}
@media(max-width:700px){.times .row{grid-template-columns:1fr auto}.times .when{grid-column:1/-1;grid-row:2}}

/* map */
.mapwrap{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(28px,5vw,64px);align-items:center}
.map{position:relative;aspect-ratio:16/11;border-radius:var(--r);overflow:hidden;background:#eef0ea;box-shadow:0 0 0 1px var(--line);max-width:100%}
.map svg.base{position:absolute;inset:0;width:100%;height:100%}
.map .pin{position:absolute;left:75%;top:79%;transform:translate(-50%,-100%);display:grid;justify-items:center}
.map .pin i{width:22px;height:22px;border-radius:50% 50% 50% 0;background:var(--gold);transform:rotate(-45deg);box-shadow:0 6px 14px rgba(0,0,0,.25)}
.map .pin i::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.map .pin::after{content:"";position:absolute;bottom:-10px;width:44px;height:44px;margin-bottom:-14px;border-radius:50%;border:2px solid var(--gold);animation:ping 2s ease-out infinite;opacity:0}
@keyframes ping{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.map .chip{position:absolute;left:16px;top:16px;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 10px 30px rgba(0,0,0,.08);font-size:.85rem;line-height:1.35}
.map .chip b{display:block;font-size:.95rem}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.05)}
.mapinfo{display:grid;gap:18px;justify-items:start}
.mapinfo h2{font-size:var(--h2)}
@media(max-width:860px){.mapwrap{grid-template-columns:1fr}}

/* poster banners */
.poster{position:relative;overflow:hidden;border-radius:clamp(26px,4vw,44px);background:
  radial-gradient(60% 50% at 82% 8%,rgba(255,250,236,.95),transparent 60%),
  radial-gradient(40% 26% at 12% 38%,rgba(255,255,255,.6),transparent 70%),
  radial-gradient(34% 22% at 30% 30%,rgba(255,255,255,.5),transparent 70%),
  radial-gradient(50% 30% at 88% 46%,rgba(255,255,255,.4),transparent 70%),
  linear-gradient(180deg,#f5ecdf 0%,#efe3d1 55%,#f3e9da 100%);
  box-shadow:0 30px 60px rgba(30,38,28,.10),inset 0 0 0 1px rgba(185,138,62,.25);text-align:center;padding:clamp(34px,5vw,64px) clamp(20px,4vw,60px) 0;isolation:isolate}
.poster .rays{position:absolute;right:-12%;top:-30%;width:90%;aspect-ratio:1;background:repeating-conic-gradient(from 200deg,rgba(255,244,214,.8) 0deg 2deg,transparent 2deg 9deg);-webkit-mask:radial-gradient(closest-side,#000,transparent 85%);mask:radial-gradient(closest-side,#000,transparent 85%);z-index:-1;animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.poster .chapel{position:absolute;right:4%;top:6%;width:min(28%,280px);color:#fff;opacity:.6;z-index:-1}
.poster .live{position:absolute;left:clamp(18px,3vw,40px);top:clamp(18px,3vw,36px);display:grid;justify-items:start;gap:8px;text-align:left}
.poster .live b{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--sage-deep);border-radius:999px;padding:.4em 1em;font:700 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sage-deep)}
.poster .live b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage-deep);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.25}}
.poster .live span{font:600 .7rem/1.5 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sage-deep);max-width:16ch}
.flour{display:flex;align-items:center;gap:10px;width:min(320px,70%);margin:0 auto;color:var(--gold)}
.flour::before,.flour::after{content:"";flex:1;height:1.5px;background:linear-gradient(90deg,transparent,currentColor)}
.flour::after{background:linear-gradient(270deg,transparent,currentColor)}
.flour svg{width:14px;height:14px}
.poster .eb{font-size:.78rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--sage-deep);margin:clamp(40px,6vw,30px) 0 14px}
.poster .big{font-family:var(--caps);font-weight:600;line-height:.95;letter-spacing:.02em;text-transform:uppercase;margin:14px 0 0;display:grid}
.poster .big .l1{font-size:clamp(2.6rem,7vw,5.6rem);background:linear-gradient(180deg,#90a48a 0%,#5f755b 55%,#4a5e47 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(255,255,255,.85)) drop-shadow(0 6px 10px rgba(60,75,55,.18))}
.poster .big .l2{font-size:clamp(1.3rem,3.2vw,2.6rem);background:linear-gradient(180deg,#e6c37a 0%,#b8873a 50%,#d8ad5f 75%,#9c6c23 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(255,255,255,.8)) drop-shadow(0 6px 10px rgba(120,85,30,.18));margin-top:.14em}
.poster .tag{margin:20px auto 22px;font-weight:600;font-size:clamp(1rem,1.8vw,1.25rem);color:var(--sage-deep);max-width:48ch}
.poster .base{position:relative;margin:0 calc(-1*clamp(20px,4vw,60px));height:clamp(150px,16vw,210px)}
.poster .base svg.wave{position:absolute;inset:0;width:100%;height:100%}
.poster .sprig{position:absolute;right:9%;bottom:34%;width:clamp(50px,7vw,90px);color:var(--gold)}
.poster .join{position:absolute;left:50%;bottom:clamp(14px,2vw,26px);transform:translateX(-50%);display:grid;justify-items:center;padding:14px 46px 12px;border-radius:22px 22px 18px 18px;background:linear-gradient(180deg,#7e9278,#5d725a);color:#f8f1e2;text-decoration:none;box-shadow:0 0 0 1.5px #d4a95a,0 14px 30px rgba(50,65,48,.3);transition:transform .2s;white-space:nowrap}
.poster .join:hover{transform:translateX(-50%) translateY(-3px)}
.poster .join .a{font:700 .86rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.poster .join .b{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.1;color:var(--gold-2)}
.poster .strip{display:grid;grid-template-columns:repeat(4,1fr);background:#f7f0e4;margin:0 calc(-1*clamp(20px,4vw,60px));border-top:1px solid rgba(185,138,62,.35)}
.poster .strip>span{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 10px;font:700 .72rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep)}
.poster .strip>span+span{border-left:1px solid rgba(185,138,62,.35)}
.poster .strip i{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--sage-deep);display:grid;place-items:center;flex-shrink:0}
.poster .strip svg{width:18px;height:18px}
@media(max-width:760px){.poster .live{position:static;justify-items:center;text-align:center;margin-bottom:10px}.poster .chapel{opacity:.35;width:40%}.poster .strip{grid-template-columns:1fr 1fr}.poster .strip>span:nth-child(3){border-left:0}.poster .strip>span:nth-child(n+3){border-top:1px solid rgba(185,138,62,.35)}.poster .sprig{display:none}}

/* nosotros */
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,90px);align-items:center}
.portrait{position:relative;margin:0;width:min(460px,100%);justify-self:center}
.portrait .photo{aspect-ratio:4/5;border-radius:var(--r);background-position:center top;max-width:100%}
.portrait figcaption{position:absolute;left:18px;bottom:18px;background:#fff;border-radius:16px;padding:14px 18px;font-size:.84rem;color:var(--muted);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.portrait figcaption strong{display:block;color:var(--ink);font-size:1rem}
.story h2{font-size:var(--h2);margin:14px 0 24px}
.story .prose{display:grid;gap:16px;max-width:60ch}
.story .prose p{color:var(--muted)}
.story .prose p:first-child{color:var(--ink);font-size:1.12rem;font-weight:500}
@media(max-width:860px){.story{grid-template-columns:1fr}}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mv article{background:var(--stone);border-radius:var(--r);padding:clamp(28px,4vw,50px);display:grid;gap:14px;align-content:start}
.mv .num{font-size:.74rem;font-weight:800;letter-spacing:.24em;color:var(--gold);text-transform:uppercase}
.mv h3{font-size:var(--h3)}
.mv p{color:var(--muted)}
@media(max-width:760px){.mv{grid-template-columns:1fr}}
.testimony{display:grid;grid-template-columns:300px 1fr;gap:clamp(30px,6vw,80px);align-items:start}
.testimony .who{display:grid;gap:12px;position:sticky;top:110px}
.testimony .avatar{width:min(240px,100%);aspect-ratio:4/5;border-radius:18px;background-position:center 12%;box-shadow:0 0 0 1px rgba(221,176,98,.5),0 20px 40px rgba(0,0,0,.25);outline:1px solid rgba(221,176,98,.35);outline-offset:8px;margin-bottom:10px}
.testimony .who h3{font-size:var(--h3)}
.testimony .alias{font-size:1.5rem;color:var(--gold-2)}
.testimony .stat{margin-top:6px;padding-top:16px;border-top:1px solid rgba(246,243,236,.18);display:grid}
.testimony .stat b{font-size:2.6rem;font-weight:900;line-height:1;color:var(--gold-2)}
.testimony blockquote{margin:0;display:grid;gap:22px;font-size:clamp(1.05rem,1.6vw,1.18rem);line-height:1.8;max-width:62ch}
.testimony blockquote p{color:var(--on-dark)}
.testimony blockquote p:first-child::first-letter{float:left;font-family:var(--serif);font-style:italic;font-size:4.4em;line-height:.8;padding:.08em .1em 0 0;color:var(--gold-2)}
@media(max-width:860px){.testimony{grid-template-columns:1fr}.testimony .who{position:static}}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.member{display:grid;gap:14px}
.member .photo{aspect-ratio:4/5;border-radius:var(--r);background-position:center 18%;max-width:100%}
.member .photo.blank{display:grid;place-items:center;background:var(--stone)}
.member .photo.blank .emb{width:46%;opacity:.55}
.member h4{font-size:1.2rem}
.member p{font-size:.9rem;color:var(--muted)}
@media(max-width:860px){.team{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.team{grid-template-columns:1fr}}
.timeline{list-style:none;margin:0;padding:0;display:grid}
.timeline li{display:grid;grid-template-columns:200px 1fr;gap:clamp(20px,4vw,60px);padding:clamp(22px,3vw,34px) 0;border-top:1px solid var(--line)}
.timeline li:last-child{border-bottom:1px solid var(--line)}
.timeline .yr{font-family:var(--display);font-weight:500;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;line-height:1;color:var(--gold);font-variant-numeric:lining-nums tabular-nums}
.timeline h3{font-size:var(--h3);margin-bottom:8px}
.timeline p{color:var(--muted);max-width:62ch}
@media(max-width:640px){.timeline li{grid-template-columns:1fr;gap:10px}}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.value{border-radius:20px;padding:28px;display:grid;gap:10px;align-content:start;background:rgba(246,243,236,.05);border:1px solid rgba(246,243,236,.13)}
.value .ico{width:46px;height:46px;border-radius:50%;background:rgba(220,179,106,.14);color:var(--gold-2);display:grid;place-items:center}
.value .ico svg{width:20px;height:20px}
.value h3{font-size:var(--h3)}
.value p{font-size:.95rem}
@media(max-width:900px){.values{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.values{grid-template-columns:1fr}}

/* cta band */
.cta{position:relative;overflow:hidden;border-radius:var(--r);padding:clamp(36px,6vw,72px);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:var(--stone)}
.cta h2{font-size:var(--h2)}
.cta p{color:var(--muted);margin-top:12px;max-width:56ch}
@media(max-width:760px){.cta{grid-template-columns:1fr}}

/* servicios */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;display:grid;gap:12px;grid-template-rows:auto auto 1fr auto;transition:transform .25s,box-shadow .25s}
.svc article:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(20,25,20,.08)}
.svc .ico{width:54px;height:54px;border-radius:16px;background:var(--stone);color:var(--sage-deep);display:grid;place-items:center}
.svc .ico svg{width:24px;height:24px}
.svc h3{font-size:var(--h3);margin-top:6px}
.svc p{color:var(--muted);font-size:.95rem}
.svc .meta{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid var(--line)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;padding:.55em .9em;border-radius:999px;background:var(--stone);font-variant-numeric:tabular-nums}
.pill.gold{background:rgba(185,138,62,.14);color:#8a6424}
.pill svg{width:13px;height:13px}
@media(max-width:980px){.svc{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.svc{grid-template-columns:1fr}}

/* eventos */
.events{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,80px);align-items:center}
.events .photo{aspect-ratio:4/5;border-radius:var(--r);background-position:center 30%;max-width:100%}
.events .list{display:grid}
.events .list>div{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}
.events .list>div:last-child{border-bottom:1px solid var(--line)}
.events .list .ico{width:56px;height:56px;border-radius:50%;background:var(--stone);color:var(--sage-deep);display:grid;place-items:center}
.events .list .ico svg{width:22px;height:22px}
.events .list h3{font-size:var(--h3);margin-bottom:4px}
.events .list p{color:var(--muted);font-size:.95rem}
@media(max-width:860px){.events{grid-template-columns:1fr}}

/* gallery */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,17vw,240px);grid-auto-flow:dense;gap:14px}
.tile{position:relative;padding:0;border:0;border-radius:20px;overflow:hidden;cursor:zoom-in;background:var(--line);text-align:left;animation:tileIn .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i)*60ms)}
@keyframes tileIn{from{opacity:.0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
.tile.big{grid-column:span 2;grid-row:span 2}.tile.wide{grid-column:span 2}.tile.tall{grid-row:span 2}
.tile .ph{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(16,20,15,.72))}
.tile .cap{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;color:#fff;font-weight:700;font-size:.9rem}
.tile.big .cap{font-size:1.25rem;left:22px;bottom:20px}
.tile:hover .ph{transform:scale(1.06)}
@media(max-width:860px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(140px,42vw,220px)}}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(14,18,13,.95);display:grid;place-items:center;padding:24px 16px}
.lightbox figure{margin:0;display:grid;gap:14px;justify-items:center}
.lightbox .big{width:min(92vw,980px);height:min(80vh,900px);background-size:contain;background-position:center;background-repeat:no-repeat}
.lightbox figcaption{color:var(--on-dark);font-weight:600}
.lightbox .x,.lightbox .nav{position:absolute;width:50px;height:50px;border-radius:50%;border:1px solid rgba(246,243,236,.4);background:rgba(0,0,0,.25);color:var(--on-dark);font-size:1.4rem;cursor:pointer}
.lightbox .x{top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}
.lightbox .nav{top:50%;transform:translateY(-50%)}
.lightbox .prev{left:max(12px,env(safe-area-inset-left,0px))}.lightbox .next{right:max(12px,env(safe-area-inset-right,0px))}

/* ===== immersive verses ===== */
.stage{position:relative;overflow:hidden;border-radius:clamp(26px,4vw,48px);margin-inline:clamp(0px,1.5vw,18px);background:var(--night);color:var(--on-dark);padding:clamp(50px,8vw,110px) 0;isolation:isolate;min-height:min(78vh,720px);display:grid;align-items:center}
.stage .glow{position:absolute;inset:-20%;z-index:-1;background:radial-gradient(40% 40% at 30% 30%,rgba(220,179,106,.28),transparent 70%),radial-gradient(35% 35% at 75% 65%,rgba(111,133,105,.35),transparent 70%),radial-gradient(30% 30% at 60% 20%,rgba(255,255,255,.06),transparent 70%);animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(4%,-3%) rotate(8deg) scale(1.05)}}
.stage .grain{position:absolute;inset:0;z-index:-1;opacity:.08;background-image:radial-gradient(rgba(255,255,255,.7) 1px,transparent 1px);background-size:3px 3px}
.stage .top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:clamp(30px,5vw,60px)}
.stage .counter{font-size:.8rem;font-weight:800;letter-spacing:.2em;color:var(--gold-2);font-variant-numeric:tabular-nums}
.stage .book{font-size:.78rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--on-dark-2)}
.stage blockquote{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.7rem,3.4vw,2.9rem);line-height:1.15;letter-spacing:-.005em;max-width:24ch;min-height:3.5em;color:var(--on-dark)}
.stage blockquote .w{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(12px);animation:wordIn .7s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i)*55ms)}
@keyframes wordIn{to{opacity:1;filter:none;transform:none}}
.stage cite{display:block;margin-top:clamp(20px,3vw,34px);font-style:normal;font-size:.9rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2)}
.stage .controls{display:flex;align-items:center;gap:12px;margin-top:clamp(30px,5vw,56px);flex-wrap:wrap}
.stage .controls button{width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(246,243,236,.35);background:transparent;color:var(--on-dark);cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.stage .controls button:hover{background:var(--on-dark);color:var(--night)}
.stage .controls button[aria-pressed="true"]{background:#f6e3dc;color:#a8433a;border-color:#f6e3dc}
.stage .controls svg{width:18px;height:18px}
.stage .progress{flex:1;min-width:120px;height:2px;background:rgba(246,243,236,.18);border-radius:2px;overflow:hidden}
.stage .progress i{display:block;height:100%;width:0;background:var(--gold-2)}
.stage .progress i.run{animation:prog 9s linear forwards}
@keyframes prog{to{width:100%}}
.stage .note{font-size:.84rem;color:var(--on-dark-2);min-width:90px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip{font:600 .84rem/1 var(--sans);padding:.85em 1.2em;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.verses{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.vcard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px;display:grid;gap:20px;grid-template-rows:auto 1fr auto;animation:tileIn .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i)*50ms);transition:transform .25s,box-shadow .25s;cursor:pointer;text-align:left;font:inherit;color:inherit}
.vcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(20,25,20,.08)}
.vcard .q{font-family:var(--serif);font-size:3rem;line-height:.6;color:var(--gold-2);height:22px}
.vcard blockquote{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.3rem;line-height:1.35}
.vcard .vf{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vcard cite{font-style:normal;font-weight:800;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep)}
.fav{background:none;border:1.5px solid var(--line);border-radius:999px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.fav[aria-pressed="true"]{color:#a8433a;border-color:#efc9bd;background:#f8e7e1}
.fav svg{width:18px;height:18px}
.empty{grid-column:1/-1;text-align:center;padding:60px 20px;border:1.5px dashed var(--line);border-radius:22px;color:var(--muted);display:grid;gap:16px;justify-items:center}
.empty svg{width:34px;height:34px;color:var(--gold)}

/* donar */
.give{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,80px);align-items:start}
.give>*,.split>*,.story>*,.events>*,.mapwrap>*,.statement>*,.testimony>*,.evboard>*{min-width:0}
.give .prose{display:grid;gap:26px}
.give .prose h3{font-size:var(--h3);margin-bottom:8px}
.give .prose p{color:var(--muted)}
.zelle{contain:paint;position:sticky;top:110px;background:var(--night);color:var(--on-dark);border-radius:var(--r);padding:clamp(28px,4vw,44px);display:grid;gap:18px;overflow:hidden;isolation:isolate}
.zelle::before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(220,179,106,.35),transparent 70%);z-index:-1}
.zelle .badge{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.zelle .zbrand{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:8px 14px 8px 8px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.zelle .zbrand i{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#6d1ed4;color:#fff;font:italic 800 1.15rem/1 var(--sans)}
.zelle .zbrand b{font:800 1.2rem/1 var(--sans);color:#6d1ed4;letter-spacing:-.01em}
.zelle .top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.zelle h3{color:var(--on-dark);font-size:var(--h3)}
.zelle p{color:var(--on-dark-2)}
.copyrow{display:flex;gap:8px;flex-wrap:wrap}
.copyrow code{font:700 1.05rem/1.3 var(--sans);background:rgba(246,243,236,.08);border:1px solid rgba(246,243,236,.2);color:var(--on-dark);padding:.9em 1em;border-radius:14px;user-select:all;word-break:break-all;flex:1 1 200px;min-width:0}
.copybtn{font:800 .74rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:1em 1.3em;border-radius:14px;border:0;background:var(--gold);color:#fff;cursor:pointer}
.zelle .steps{display:grid;gap:10px;counter-reset:s;padding:0;margin:0;list-style:none}
.zelle .steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:.92rem;color:var(--on-dark-2)}
.zelle .steps li::before{counter-increment:s;content:counter(s);width:28px;height:28px;border-radius:50%;border:1px solid rgba(246,243,236,.3);display:grid;place-items:center;font-size:.75rem;font-weight:800;color:var(--on-dark)}
.zelle .verse{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold-2);padding-top:14px;border-top:1px solid rgba(246,243,236,.14)}
@media(max-width:860px){.give{grid-template-columns:1fr}.zelle{position:static}}

/* contacto */
.contact{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,60px);align-items:start}
.contact>*{min-width:0}
@media(max-width:900px){.contact{grid-template-columns:1fr}}
form.msg{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,4vw,46px);display:grid;gap:18px;box-shadow:0 30px 60px rgba(20,25,20,.06)}
form.msg h2{font-size:var(--h2)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.row2{grid-template-columns:1fr}}
.field{position:relative}
.field input,.field textarea{font:inherit;font-size:1rem;padding:1.45em 1.05em .55em;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);width:100%;transition:border-color .2s,background .2s}
.field textarea{min-height:160px;resize:vertical}
.field label{position:absolute;left:1.05em;top:1.05em;font-size:.95rem;color:var(--muted);pointer-events:none;transition:all .2s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--sage);background:#fff}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:.5em;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-deep)}
.form-note{font-size:.93rem;padding:14px 16px;border-radius:14px;background:#e6ede2}
.form-note.err{background:#f6e4dc}
.info{display:grid;gap:12px}
.info .item{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;padding:20px;border-radius:20px;background:var(--stone)}
.info .ico{width:48px;height:48px;border-radius:14px;background:#fff;color:var(--sage-deep);display:grid;place-items:center}
.info .ico svg{width:20px;height:20px}
.info dt{font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-deep)}
.info dd{margin:0;word-break:break-word}
.info dd b{font-size:1.05rem;user-select:all}
.info dd small{display:block;color:var(--muted);font-size:.88rem;line-height:1.55}
.faq{display:grid;max-width:940px;margin-inline:auto}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:24px 0;font-weight:700;font-size:clamp(1.02rem,1.7vw,1.22rem);display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font-weight:500;font-size:1.3rem;transition:transform .25s,background .25s,color .25s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--ink);color:#fff}
.faq details p{padding-bottom:24px;color:var(--muted);max-width:70ch}


/* events board */
.evboard{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:stretch}
.evlist{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.evitem{display:grid;gap:4px;align-content:start;text-align:left;padding:22px;border-radius:20px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;font:inherit;color:inherit;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;animation:tileIn .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i)*60ms)}
.evitem:hover{transform:translateY(-3px);border-color:var(--sage)}
.evitem .n{font-family:var(--display);font-weight:500;font-size:2.4rem;line-height:1;color:var(--sage-deep);font-variant-numeric:lining-nums}
.evitem .m{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.evitem .t{font-weight:700;font-size:.95rem;margin-top:10px;line-height:1.3}
.evitem .w{font-size:.8rem;color:var(--muted)}
.evitem[aria-selected="true"]{background:var(--sage-deep);border-color:var(--sage-deep);box-shadow:0 18px 40px rgba(47,59,45,.25)}
.evitem[aria-selected="true"] .n,.evitem[aria-selected="true"] .t{color:var(--on-dark)}
.evitem[aria-selected="true"] .w{color:var(--on-dark-2)}
.evitem[aria-selected="true"] .m{color:var(--gold-2)}
.evfeat{contain:paint;position:relative;overflow:hidden;border-radius:var(--r);padding:clamp(28px,4vw,44px);background:var(--night);color:var(--on-dark);display:grid;gap:16px;align-content:start;isolation:isolate}
.evfeat::before{content:"";position:absolute;right:-90px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(221,176,98,.3),transparent 70%);z-index:-1}
.evfeat .evtag{justify-self:start;font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--night);background:var(--gold-2);padding:.55em .9em;border-radius:999px}
.evfeat h3{font-family:var(--display);font-weight:500;font-size:clamp(1.6rem,2.4vw,2rem);color:var(--on-dark);line-height:1.1}
.evfeat p{color:var(--on-dark-2);font-size:1.02rem}
.evfeat.swap h3,.evfeat.swap p,.evfeat.swap .evinfo{animation:wordIn .5s cubic-bezier(.2,.7,.2,1) both}
.evinfo{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:6px 0 10px;border-top:1px solid rgba(246,239,228,.15);border-bottom:1px solid rgba(246,239,228,.15)}
.evinfo div{padding:16px 12px 16px 0;display:grid;gap:4px}
.evinfo div+div{padding-left:14px;border-left:1px solid rgba(246,239,228,.15)}
.evinfo dt{font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.evinfo dd{margin:0;font-weight:700;color:var(--on-dark);font-variant-numeric:tabular-nums}
#evTime{white-space:nowrap}
.evfeat .btn{justify-self:start}
@media(max-width:1000px){.evboard{grid-template-columns:1fr}}
@media(max-width:620px){.evlist{grid-template-columns:1fr 1fr}.evinfo{grid-template-columns:1fr}.evinfo div+div{padding-left:0;border-left:0;border-top:1px solid rgba(246,239,228,.15)}}
.pill.day{background:var(--sage-deep);color:var(--on-dark)}
.vcard .cat{position:absolute;right:22px;top:22px;font-size:.66rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep);background:var(--stone);padding:.5em .8em;border-radius:999px}


/* gallery teaser */
.teaser-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,44px)}
.teaser{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.tz{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;text-decoration:none;isolation:isolate}
.tz .ph{position:absolute;inset:0;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.tz::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(36,46,34,.85));transition:opacity .4s}
.tz .tcap{position:absolute;left:clamp(18px,3vw,30px);right:20px;bottom:clamp(18px,3vw,28px);z-index:1;display:grid;gap:4px;color:#fff;transform:translateY(8px);transition:transform .5s}
.tz .tcap b{font-family:var(--display);font-weight:500;font-weight:600;font-size:clamp(1.3rem,2.2vw,1.8rem)}
.tz .tcap small{font-size:.95rem;opacity:.85}
.tz:hover .ph{transform:scale(1.07)}
.tz:hover .tcap{transform:none}
@media(max-width:760px){.teaser{grid-template-columns:1fr}}
/* map polish */
.map{aspect-ratio:1200/820;box-shadow:0 30px 60px rgba(47,59,45,.12),0 0 0 1px var(--line)}
.map svg.base{transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.map.in svg.base,.map:hover svg.base{transform:scale(1.04)}
.map .pin{animation:pinDrop .9s cubic-bezier(.3,1.6,.5,1) .3s both}
@keyframes pinDrop{from{transform:translate(-50%,-260%);opacity:0}to{transform:translate(-50%,-100%);opacity:1}}
.map .pin i{width:30px;height:30px;position:relative;border:3px solid #fff;background:linear-gradient(135deg,#ddb062,#b98732)}
.map .pin i::after{inset:6px}
.map .chip{left:auto;right:16px;top:16px;background:rgba(251,247,240,.94);backdrop-filter:blur(8px);border:1px solid var(--line)}
.map .chip b{font-family:var(--display);font-size:1.05rem;color:var(--sage-deep)}
.mapbtn{position:absolute;right:16px;bottom:16px;width:48px;height:48px;border-radius:50%;background:var(--sage-deep);color:var(--on-dark);display:grid;place-items:center;transition:transform .2s,background .2s;box-shadow:0 10px 24px rgba(47,59,45,.25)}
.mapbtn:hover{transform:scale(1.08);background:var(--gold)}
.mapbtn svg{width:18px;height:18px}
/* scroll reveal (only for content below the first screen) */
.pre{opacity:0;transform:translateY(34px)}
.rv{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
/* hovers */
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover::after{left:130%}
.pillar{transition:padding .3s}
.pillar:hover{padding-left:10px}
.pillar:hover .ico,.svc article:hover .ico,.events .list>div:hover .ico{background:var(--gold);color:#fff}
.pillar .ico,.svc .ico,.events .list .ico,.value .ico{transition:background .3s,color .3s,transform .3s}
.value{transition:transform .3s,background .3s,border-color .3s}
.value:hover{transform:translateY(-4px);background:rgba(246,239,228,.09);border-color:rgba(221,176,98,.45)}
.value:hover .ico{transform:rotate(-8deg) scale(1.08)}
.svc article:hover{border-color:var(--gold-2)}
.member .photo{transition:transform .5s,box-shadow .5s}
.member:hover .photo{transform:translateY(-6px);box-shadow:0 24px 40px rgba(47,59,45,.18)}
.mv article{transition:transform .3s,box-shadow .3s}
.mv article:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(47,59,45,.1)}
.info .item{transition:transform .25s,background .25s}
.info .item:hover{transform:translateX(4px);background:var(--card)}
.timeline li{transition:padding .3s}
.timeline li:hover{padding-left:12px}
.poster{transition:transform .5s,box-shadow .5s}
.poster:hover{transform:translateY(-4px);box-shadow:0 40px 70px rgba(30,38,28,.16),inset 0 0 0 1px rgba(185,138,62,.3)}
/* mobile action bar */
.mbar{display:none}
@media(max-width:700px){
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px max(14px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));background:rgba(246,239,228,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .35s}
  .mbar.show{transform:none}
  .mbar .btn{padding:1em 1em;font-size:.74rem}
  footer.site{padding-bottom:70px}
  section{padding-block:clamp(56px,14vw,80px)}
  .hero{min-height:min(70svh,560px)}
  .hero.tall{min-height:min(82svh,640px)}
  .hero .ctas .btn{flex:1 1 auto}
  .sec-head{margin-bottom:28px}
  header.site .wrap{min-height:86px}
  header.site.solid .wrap{min-height:74px}
}


/* photo-backed text section (Florida church) */
.photo-bg{position:relative;isolation:isolate;overflow:hidden;margin:clamp(14px,2vw,24px) clamp(0px,1.5vw,18px);border-radius:clamp(26px,4vw,56px)}
.photo-bg::before{content:"";position:absolute;inset:-8% 0;z-index:-2;background:var(--pbg) center/cover no-repeat;filter:saturate(.8) sepia(.12);transform:translateY(var(--py,0px))}
.photo-bg::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(246,239,228,.97) 0%,rgba(246,239,228,.9) 48%,rgba(246,239,228,.45) 100%)}
@media(max-width:760px){.photo-bg::after{background:linear-gradient(180deg,rgba(246,239,228,.93),rgba(246,239,228,.86))}}
.split-side{display:grid;gap:22px;justify-items:start}
@media(min-width:861px){.split-side{position:sticky;top:120px}}
.teaser .tz{aspect-ratio:auto;height:clamp(300px,36vw,480px)}

/* scroll progress */
.progressbar{position:fixed;left:0;top:0;height:3px;width:100%;z-index:120;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--sage),var(--gold-2),var(--gold));pointer-events:none}
.verse-more{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:clamp(28px,4vw,44px);padding-top:24px;border-top:1px solid rgba(246,239,228,.14)}
.verse-more p{color:var(--on-dark-2);font-size:.95rem;max-width:48ch}
.stage.compact{min-height:0}
.photo-bg.soft::after{background:linear-gradient(180deg,rgba(246,239,228,.95),rgba(246,239,228,.9) 50%,rgba(246,239,228,.95))}
.photo-bg.soft::before{filter:grayscale(.3) sepia(.25)}

/* community heading */
.creed{font-family:var(--display);font-size:1.25rem;line-height:1.45;color:var(--ink);font-weight:400;padding-left:18px;border-left:2px solid var(--gold)}
/* clickable ministry cards */
.mcard{border:0;background:none;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.mcard .open{position:absolute;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;background:rgba(251,247,240,.94);color:var(--sage-deep);display:grid;place-items:center;transform:scale(.8);opacity:0;transition:transform .3s,opacity .3s}
.mcard .open svg{width:16px;height:16px}
.mcard:hover .open,.mcard:focus-visible .open{transform:none;opacity:1}
.mcard .link-arrow{color:var(--sage-deep);font-size:.86rem}
/* ministry modal */
.mmodal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(30,38,28,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .25s ease}
.mdialog{position:relative;width:min(1040px,100%);max-height:min(88vh,760px);overflow:auto;background:var(--card);border-radius:28px;display:grid;grid-template-columns:.95fr 1.05fr;box-shadow:0 40px 90px rgba(0,0,0,.35);animation:popIn .45s cubic-bezier(.2,.8,.2,1)}
@keyframes popIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.mdialog .mimg{min-height:320px;background-size:cover;background-position:center}
.mdialog .mbody{padding:clamp(26px,4vw,48px);display:grid;gap:16px;align-content:start}
.mdialog .mtag{justify-self:start;font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.mdialog h3{font-family:var(--display);font-weight:500;font-size:var(--h2);color:var(--sage-deep);line-height:1.08;letter-spacing:-.02em}
.mdialog .mline{font-family:var(--display);font-style:italic;font-size:1.2rem;color:var(--sage)}
.mdialog p{color:var(--muted)}
.mdialog dl{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:6px 0;border-top:1px solid var(--line)}
.mdialog dl div{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.mdialog dl div:nth-child(odd){padding-right:14px}
.mdialog dt{font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.mdialog dd{margin:0;font-weight:600}
.mdialog .mphotos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mdialog .mphotos span{aspect-ratio:1;border-radius:12px;background-size:cover;background-position:center}
.mdialog .mctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.mclose{position:absolute;right:14px;top:14px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:rgba(251,247,240,.94);color:var(--ink);font-size:1.5rem;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.15)}
@media(max-width:780px){.mdialog{grid-template-columns:1fr;max-height:90vh}.mdialog .mimg{min-height:220px}.mdialog dl{grid-template-columns:1fr}.mdialog dl div:nth-child(odd){padding-right:0}}
/* verse stage light rays */
.stage::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--sbg,none) center/cover no-repeat;opacity:.22;mix-blend-mode:screen;filter:grayscale(1)}


/* ===== v5 ===== */
.lede{font-size:1.12rem}
#galeria-intro .eyebrow{font-size:.92rem;letter-spacing:.22em}
#galeria-intro .lede{font-size:1.28rem;max-width:50ch;margin-top:14px}
.eyebrow .spk,.kick .spk{width:15px;height:15px;color:var(--gold);vertical-align:-2px;margin-right:10px;animation:twinkle 3.6s ease-in-out infinite}
@keyframes twinkle{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(45deg) scale(.82)}}
/* hero: heading higher */
.hero.tall.center{align-items:center;padding-block:clamp(96px,11vw,140px) clamp(90px,12vw,170px)}
.hero .inner>*{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both}
.hero .inner>*:nth-child(2){animation-delay:.12s}.hero .inner>*:nth-child(3){animation-delay:.24s}.hero .inner>*:nth-child(4){animation-delay:.36s}.hero .inner>*:nth-child(5){animation-delay:.48s}.hero .inner>*:nth-child(6){animation-delay:.6s}
/* story hero (Nosotros) */
.hero.story{align-items:center}
.hero.story::before{background:linear-gradient(90deg,rgba(28,30,18,.86) 0%,rgba(36,38,22,.62) 45%,rgba(40,36,18,.18) 100%)!important}
.hero.story .bg{filter:saturate(.9) sepia(.12)}
.hero.story .kick{display:flex;align-items:center;font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#fff}
.hero.story h1{line-height:1.02;max-width:none}.hero.story .inner{max-width:980px}
.hero.story h1 .soft{color:#e8dcc0;font-weight:400}
.hero.story .sub{max-width:44ch}
.hero.story .sline{display:flex;align-items:center;gap:22px;margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.25);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75);width:min(100%,880px)}
.hero.story .sline i{width:14px;height:1px;background:currentColor}
/* designed banners — mobile first: photo + live text; >=761px: the full designed artwork per language */
.dban-sec{padding-block:clamp(22px,4vw,56px)}
.dban-sec.pf{padding-top:0}
.dban{position:relative;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;border-radius:clamp(18px,2.4vw,32px);text-decoration:none;color:#3a4733;background:#f6efe2;box-shadow:0 22px 50px rgba(60,55,30,.12);-webkit-tap-highlight-color:transparent}
.dban .dfull{display:none}
.dban .dimg{aspect-ratio:16/10;background-size:cover;background-position:100% center;transform:scale(1.06);transition:transform 2.4s cubic-bezier(.2,.7,.2,1)}
.dban:not(.pre) .dimg{transform:scale(1)}
.dban .dt{padding:24px 22px 28px}
.dban .dk{font:600 .68rem/1.3 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#4a5a43}
.dban-b .dk{color:#a77c35}
.dban .drule{display:block;width:64px;height:1.5px;background:linear-gradient(90deg,#b8873a,#e2bf74);margin:10px 0 14px}
.dban .dh{font-family:var(--display);font-weight:500;font-size:clamp(2rem,8.6vw,2.6rem);line-height:1.02;letter-spacing:-.03em;color:#3a4733;margin-top:6px}
.dban .dh .g{color:#b8873a}.dban .dh i,.dban .dline i{font-style:normal;color:#c19446}
.dban .dh i{display:inline-block;animation:dotPulse 2.8s ease-in-out infinite}
@keyframes dotPulse{50%{transform:scale(1.35);color:#e2bf74}}
.dban .dref{font:600 .8rem/1 var(--sans);letter-spacing:.14em;margin-top:14px}
.dban .dtag{font:400 .92rem/1.6 var(--sans);color:#4a5546;margin-top:14px}
.dban .dline{font:500 1.05rem/1.3 var(--sans);margin-top:14px}
.dban .dtime{display:flex;align-items:center;gap:10px;font:500 .92rem/1.2 var(--sans);margin-top:10px}
.dban .dtime .drule{margin:0;width:34px;flex:none}
.dban .dfoot{display:grid;gap:6px;font:500 .74rem/1.3 var(--sans);letter-spacing:.06em;color:#4a5546;margin-top:14px}
.dban .dfoot b{display:none}.dban .dfoot span:last-child{font-weight:700}
.dban .sweep{display:none}
.dban .dt>*{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.dban.pre .dt>*{opacity:0;transform:translateY(14px)}
.dban .dt>:nth-child(2){transition-delay:.1s}.dban .dt>:nth-child(3){transition-delay:.2s}.dban .dt>:nth-child(4){transition-delay:.3s}.dban .dt>:nth-child(5){transition-delay:.4s}
a.dban:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(min-width:761px){
  .dban{display:block;aspect-ratio:2172/724;background:#f4ecdc}
  .dban .dimg{display:none}
  .dban .dfull{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);transition:transform 2.6s cubic-bezier(.2,.7,.2,1)}
  html[lang=es] .dban .dfull.es,html[lang=en] .dban .dfull.en{display:block}
  .dban:not(.pre) .dfull{transform:scale(1)}
  a.dban:hover .dfull{transform:scale(1.02)}
  .dban .dt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .dban .sweep{display:block;position:absolute;inset:0;z-index:2;background:linear-gradient(105deg,transparent 35%,rgba(255,244,214,.32) 50%,transparent 65%);transform:translateX(-100%);animation:sweep 7s 1.5s ease-in-out infinite;pointer-events:none}
  @keyframes sweep{0%{transform:translateX(-100%)}45%,100%{transform:translateX(100%)}}
  .dban:hover{box-shadow:0 30px 70px rgba(60,55,30,.18)}
}
/* ministry cards: aligned clickable boxes */
.mcard{display:flex;flex-direction:column;gap:14px}
.mcard .link-arrow{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:.95em 1.15em;border:1px solid var(--line);border-radius:14px;background:var(--card);font-weight:700;font-size:.86rem;transition:background .3s,color .3s,border-color .3s,transform .3s}
.mcard .link-arrow svg{width:16px;height:16px;transition:transform .3s}
.mcard:hover .link-arrow,.mcard:focus-visible .link-arrow{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}
.mcard:hover .link-arrow svg{transform:translate(2px,-2px)}
.mcard:hover{transform:translateY(-4px)}.mcard{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.mcard .photo{clip-path:inset(0 round var(--r));transition:clip-path 1.2s cubic-bezier(.2,.7,.2,1)}
.mcard.pre .photo{clip-path:inset(14% 0 0 0 round var(--r))}
/* schedule photo cards */
.split-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.split-head .lede{max-width:40ch}
.sched{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.scard{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(420px,38vw,520px);padding:clamp(22px,2.4vw,34px);border-radius:var(--r);overflow:hidden;isolation:isolate;color:#fff;text-decoration:none;box-shadow:0 16px 40px rgba(30,35,25,.12);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.scard .sbg{position:absolute;inset:0;z-index:-2;background-size:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.scard::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(30,32,24,.18) 0%,rgba(30,32,24,.28) 40%,rgba(28,30,22,.88) 100%)}
.scard:hover{transform:translateY(-6px);box-shadow:0 28px 60px rgba(30,35,25,.22)}
.scard:hover .sbg{transform:scale(1.07)}
.scard .stop{display:flex;justify-content:space-between;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.scard .stop svg{width:18px;height:18px;color:#e2bf74;transition:transform .6s}
.scard:hover .stop svg{transform:rotate(90deg) scale(1.15)}
.scard .sbody{display:grid;gap:12px}
.scard .st{font-family:var(--display);font-weight:500;font-size:clamp(1.7rem,2.4vw,2.2rem);line-height:1.05;letter-spacing:-.02em}
.scard .sd{font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.84)}
.scard .sfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;margin-top:6px;border-top:1px solid rgba(255,255,255,.28)}
.scard .sfoot>span:first-child{display:grid;gap:3px}
.scard .sfoot b{font-size:.86rem;font-weight:600;letter-spacing:.04em}
.scard .sfoot small{font-size:.74rem;color:rgba(255,255,255,.7)}
.scard .sgo{flex:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;transition:background .3s,border-color .3s,transform .3s}
.scard .sgo svg{width:16px;height:16px}
.scard:hover .sgo{background:var(--gold);border-color:var(--gold);transform:rotate(45deg)}
.snote{margin-top:18px;font-size:.82rem;color:var(--muted)}
@media(max-width:980px){.sched{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.sched{grid-template-columns:1fr}.scard{min-height:400px}}
/* united in prayer */
.pray{display:grid;grid-template-columns:clamp(180px,22vw,330px) 1fr auto;gap:clamp(22px,4vw,64px);align-items:center;padding:clamp(18px,2.4vw,40px);border-radius:var(--r);background:#e9eadc;border:1px solid #d9dccb}
.pray .pimg{aspect-ratio:1/1.02;border-radius:14px;background-size:cover;background-position:center;transition:transform 1s}
.pray:hover .pimg{transform:scale(1.02)}
.pray h2{margin:10px 0 14px}
.pray p:not(.eyebrow){color:var(--muted);max-width:52ch}
.pact{display:grid;gap:22px;min-width:230px}
.obtn{display:flex;justify-content:space-between;align-items:center;gap:26px;padding:1.15em 1.4em;border:1px solid #9aa08a;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;transition:background .3s,color .3s,border-color .3s}
.obtn svg{width:20px;height:20px;transition:transform .3s}
.obtn:hover{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}.obtn:hover svg{transform:translateX(4px)}
.pmeta{display:grid;gap:6px;padding-top:20px;border-top:1px solid #c9ccb9}
.pmeta small{font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.pmeta b{font-weight:500;font-size:1.1rem;color:var(--ink)}.pmeta span{font-size:.82rem;color:var(--muted)}
@media(max-width:900px){.pray{grid-template-columns:1fr}.pray .pimg{aspect-ratio:16/9}}
/* cta with photo */
.cta.wimg{grid-template-columns:auto 1fr auto;padding:clamp(18px,2.4vw,30px) clamp(26px,4vw,60px) clamp(18px,2.4vw,30px) clamp(18px,2.4vw,30px)}
.cta .cimg{width:clamp(150px,17vw,240px);aspect-ratio:1;border-radius:16px;background-size:cover;background-position:center}
@media(max-width:760px){.cta.wimg{grid-template-columns:1fr;padding:18px 18px 30px}.cta .cimg{width:100%;aspect-ratio:16/9}}
/* generosity + zelle */
.give2{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,110px);align-items:center}
.give2>*{min-width:0}
.give2 .gh{margin:18px 0 22px}
.give2 .gverse{margin-top:26px;font-family:var(--display);font-style:italic;font-size:1.12rem;color:var(--sage)}
.zcard{background:#ecebdf;border:1px solid #d9d6c4;border-radius:14px;padding:clamp(26px,3.4vw,52px);display:grid;gap:22px;contain:paint}
.zh{display:flex;align-items:center;gap:22px;padding-bottom:26px;border-bottom:1px solid #d6d3c1}
.zh>span:first-child{font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.zword{font-family:"Montserrat",var(--sans);font-weight:600;font-size:2.4rem;letter-spacing:-.05em;line-height:1;color:var(--ink)}
.zword sup{font-size:.42em;letter-spacing:0;vertical-align:super;margin-left:1px}
.zne{margin-left:auto;color:var(--ink)}.zne svg{width:26px;height:26px}
.zcard>p{color:var(--muted)}
.zmail{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #bdb9a5;border-radius:10px;padding:10px 10px 10px 20px;background:rgba(255,255,255,.35)}
.zmail code{font-family:var(--sans);font-size:clamp(.95rem,3.6vw,1.12rem);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.zmail .copybtn{border-radius:6px;padding:.95em 1.1em}
.zcard .small{font-size:.82rem;color:var(--muted)}
.tlink{justify-self:start;display:inline-flex;align-items:center;gap:26px;padding-bottom:12px;border-bottom:1px solid #9aa08a;color:var(--ink);text-decoration:none;font-weight:600;font-size:.94rem}
.tlink svg{width:20px;height:20px;transition:transform .3s}.tlink:hover svg{transform:translateX(5px)}
@media(max-width:900px){.give2{grid-template-columns:1fr}}
@media(max-width:420px){.zh{gap:14px}.zword{font-size:2rem}}


/* schedule: one subtle background, clean cards */
.sched-sec{position:relative;isolation:isolate;overflow:hidden;border-radius:clamp(26px,4vw,48px);margin-inline:clamp(0px,1.5vw,18px)}
.sched-sec .secbg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 35%;opacity:.22;filter:grayscale(.4) sepia(.25);translate:0 var(--py,0)}
.sched-sec::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(246,239,226,.72),rgba(246,239,226,.9))}
.scard{color:var(--ink);background:rgba(252,249,242,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(214,203,180,.7);box-shadow:0 14px 34px rgba(60,55,30,.08);min-height:clamp(300px,24vw,340px)}
.scard::before{display:none}
.scard:hover{box-shadow:0 26px 54px rgba(60,55,30,.16);border-color:var(--gold-2);background:rgba(252,249,242,.92)}
.scard .stop{color:var(--sage-deep)}
.scard .stop svg{color:var(--gold)}
.scard .st{color:var(--sage-deep)}
.scard .sd{color:var(--muted)}
.scard .sfoot{border-top-color:var(--line)}
.scard .sfoot small{color:var(--muted)}
.scard .sgo{border-color:#b9b39e;color:var(--sage-deep)}
.scard:hover .sgo{color:#fff}

/* footer */
.prefoot{position:relative;overflow:hidden;color:#fff;isolation:isolate;border-radius:clamp(26px,4vw,48px);margin:0 clamp(0px,1.5vw,18px) clamp(0px,1.5vw,18px);padding:clamp(70px,10vw,130px) 0}
.prefoot .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center}
.prefoot::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,20,15,.82),rgba(16,20,15,.35))}
.prefoot h2{color:#fff;font-size:var(--h2);max-width:18ch}
.prefoot p{color:rgba(255,255,255,.85);margin:18px 0 28px;max-width:46ch;font-size:1.08rem}
.prefoot .ctas{display:flex;gap:12px;flex-wrap:wrap}
footer.site{background:var(--card);border-top:1px solid var(--line);padding-block:clamp(56px,7vw,90px) 0;font-size:.93rem;color:var(--muted)}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:clamp(28px,4vw,56px)}
.fbrand{display:grid;gap:20px;align-content:start}
.fbrand .logo-full{width:min(190px,62%)}
.fbrand p{max-width:34ch}
footer.site h4{font-size:.74rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin-bottom:18px}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
footer.site a{text-decoration:none;transition:color .2s}
footer.site a:hover{color:var(--sage-deep)}
.social{display:flex;gap:10px}
.social a{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--ink)}
.social a:hover{background:var(--ink);border-color:var(--ink);color:#fff!important}
.social svg{width:17px;height:17px}
.ftimes p{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.ftimes b{color:var(--ink)}
.fcontact li{display:flex;gap:10px}
.fcontact svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;margin-top:5px}
.fbottom{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);padding-block:22px calc(22px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;font-size:.82rem}
.totop{display:inline-flex;align-items:center;gap:6px;background:none;border:1.5px solid var(--line);border-radius:999px;color:var(--ink);padding:.6em 1.1em;font:700 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
@media(max-width:960px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}

/* ===== v6 mobile-first polish: legible labels, comfortable tap targets ===== */
.lang-switch{font-size:.74rem}
.mcard .tag,.scard .stop,.hero.story .sline,.vcard .cat{font-size:max(.72rem,11.5px)}
@media(max-width:800px){
  .lang-switch{height:38px;width:84px}
  footer.site ul{gap:2px}
  footer.site ul a{display:inline-flex;align-items:center;min-height:40px}
  footer.site button,footer.site .social a{min-height:42px;min-width:42px}
  .btn{min-height:46px}
  .scard{min-height:auto}
  .scard .sbody{margin-top:28px}
  .hero.story .sline{gap:12px;flex-wrap:wrap}
  .give2 .gh,.pray h2{overflow-wrap:break-word}
}
.evfeat dt,.pmeta small,.mdialog dt{font-size:max(.72rem,11.5px)}

/* real map */
.map.rmapw{aspect-ratio:16/11;background:#dbe5de;touch-action:pan-y;cursor:grab;user-select:none}
.map.rmapw.zoomed{touch-action:none}
.map.rmapw:active{cursor:grabbing}
.mstage{position:absolute;inset:0;transform-origin:0 0;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.mstage.drag{transition:none}
.mstage svg.base{position:absolute;inset:0;width:100%;height:100%;transform:none!important}
.mstage .pin{position:absolute}
.mzoom{position:absolute;left:14px;bottom:14px;display:grid;border-radius:12px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.12);border:1px solid var(--line)}
.mzoom button{width:42px;height:42px;border:0;background:rgba(251,247,240,.96);color:var(--sage-deep);font:600 1.3rem/1 var(--sans);cursor:pointer}
.mzoom button+button{border-top:1px solid var(--line)}
.mzoom button:hover{background:var(--sage-deep);color:#fff}
.mattr{position:absolute;right:8px;bottom:6px;font-size:.62rem;color:#6d7a68;background:rgba(251,247,240,.75);padding:2px 6px;border-radius:6px;pointer-events:none}

/* ===== v6 round 2 ===== */
/* hero rotating creed: "Nosotros/We" stays, the rest rolls */
.rot{display:flex;justify-content:center;align-items:baseline;gap:.32em;flex-wrap:wrap;font-family:var(--display);font-weight:500;font-size:clamp(1.35rem,3.6vw,2.4rem);letter-spacing:-.025em;line-height:1.25;color:#fff;margin-top:-4px}
.rbox{position:relative;display:inline-grid;overflow:hidden;height:1.3em;transition:width .6s cubic-bezier(.2,.7,.2,1);text-align:left}
.ri{grid-area:1/1;white-space:nowrap;color:#f0d79f;transform:translateY(110%);opacity:0;filter:blur(4px);transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s,filter .7s}
.ri.on{transform:none;opacity:1;filter:none}
.ri.out{transform:translateY(-110%);opacity:0;filter:blur(4px)}
@media(max-width:560px){.rot{font-size:clamp(1.12rem,5.2vw,1.4rem);flex-wrap:nowrap;gap:.28em}.hero .motto::before,.hero .motto::after{display:none}}
/* ministries: bigger, livelier */
.cards4{gap:clamp(18px,2vw,28px)}
.mcard .photo{aspect-ratio:4/5}
.mcard h3{font-size:clamp(1.35rem,1.8vw,1.6rem)}
.mcard p{font-size:.98rem}
.mcard .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(47,59,45,.35));opacity:0;transition:opacity .5s}
.mcard:hover .photo::after{opacity:1}
.mcard:hover .photo{box-shadow:0 26px 50px rgba(47,59,45,.22)}
.mcard .photo{transition:clip-path 1.2s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.mcard .tag{transition:transform .4s}.mcard:hover .tag{transform:translateY(-3px)}
@media(max-width:1040px){.mcard .photo{aspect-ratio:4/4.4}}
@media(max-width:560px){.mcard .photo{aspect-ratio:4/3.4}}
/* community: three photos */
.teaser{grid-template-columns:1.25fr 1fr 1fr}
@media(max-width:900px){.teaser{grid-template-columns:1fr 1fr}.teaser .tz:first-child{grid-column:1/-1}}
@media(max-width:560px){.teaser{grid-template-columns:1fr}.teaser .tz{height:300px}}
/* cta with background photo */
.cta.wbg{isolation:isolate;color:#fff;min-height:clamp(300px,30vw,400px);background:#2f3b2d}
.cta.wbg .cbg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 60%;transform:scale(1.04);transition:transform 6s ease-out}
.cta.wbg:hover .cbg{transform:scale(1.1)}
.cta.wbg::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(30,38,28,.86) 0%,rgba(30,38,28,.6) 55%,rgba(30,38,28,.25) 100%)}
.cta.wbg h2{color:#fff}.cta.wbg p{color:rgba(255,255,255,.86)}
/* prayer: part of the page, not a pasted box */
.pray{background:none;border:0;padding:0;border-radius:0;grid-template-columns:clamp(220px,30vw,420px) 1fr auto;gap:clamp(24px,5vw,72px)}
.pray .pimg{aspect-ratio:4/4.6;border-radius:var(--r);box-shadow:0 24px 50px rgba(47,59,45,.16)}
.pray p:not(.eyebrow){color:var(--muted)}
.pmeta{border-top-color:var(--line)}
.pact .btn{justify-content:space-between}
@media(max-width:900px){.pray{grid-template-columns:1fr}.pray .pimg{aspect-ratio:16/10}}
/* banners blend into the page */
.dban{box-shadow:none;background:transparent;border-radius:0}
.dban .dt{padding-inline:4px}
.dban .dimg{border-radius:var(--r);-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
@media(min-width:761px){
  .dban{background:transparent}
  .dban .dfull{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 10%,#000 90%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 10%,#000 90%,transparent 100%);mask-composite:intersect}
  .dban:hover{box-shadow:none}
}
.dban-a::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(111,130,104,.07);mix-blend-mode:multiply}
@media(min-width:761px){.dban-a::after{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}}
@media(max-width:760px){.dban-a::after{display:none}.dban-a .dimg{filter:sepia(.08) hue-rotate(40deg) saturate(.9)}}
.mstage .pin{transform-origin:50% 0;scale:var(--inv,1);transition:scale .45s}
.mattr{font-size:11px}
.give2{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
@media(max-width:900px){.give2{grid-template-columns:minmax(0,1fr)}}
.zcard{min-width:0}.zcard>*{min-width:0}
@media(max-width:420px){.zcard{padding:22px 18px;gap:18px}.zh{gap:12px;padding-bottom:18px}.zh>span:first-child{font-size:.68rem}.zword{font-size:1.75rem}.zmail{padding:8px 8px 8px 14px;gap:8px}.zmail code{font-size:.88rem}.zmail .copybtn{padding:.85em .8em;flex:none}}
@media(max-width:600px){.map.rmapw .chip,.map .chip{left:10px;right:auto;top:10px;padding:8px 11px;font-size:.72rem;border-radius:10px;max-width:72%}.map .chip b{font-size:.8rem}.mzoom{left:10px;bottom:10px}.mzoom button{width:38px;height:38px}.mapbtn{width:42px!important;height:42px!important}}
@media(max-width:420px){.zh>span:first-child{font-size:max(.7rem,11.5px)}.zmail .copybtn{min-height:40px}}
/* home hero: the creed IS the headline */
.hero.tall.center .inner{max-width:1120px}
.rot-h{display:grid;justify-items:center;gap:.02em;font-size:var(--h1);line-height:1.04}
.rot-h .rw{display:block}
.rot-h .rbox{display:grid;justify-items:center;height:1.18em;width:auto!important;max-width:100%;overflow:hidden;text-align:center}
.rot-h .ri{color:#f0d79f;padding-bottom:.08em}
@media(max-width:700px){.rot-h{font-size:clamp(2.3rem,10.5vw,3.2rem)}.rot-h .ri{font-size:clamp(1.55rem,7.4vw,2.6rem);line-height:1.18}.rot-h .rbox{height:1.25em;font-size:inherit}}
/* inner-page heroes: one consistent left edge, aligned with the content grid */
.hero:not(.center) .inner{justify-self:stretch;max-width:none;justify-items:start}
.hero:not(.center) .inner>h1{max-width:16ch}
.hero:not(.center) .inner>.sub{max-width:46ch}
.hero:not(.center) .inner{width:100%;max-width:var(--max);margin-inline:auto}
/* banners: blended into the page (multiply), sage glow + sage/gold wave from the logo */
.dban-sec{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(36px,6vw,90px) clamp(70px,9vw,130px)}
.dban-sec::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(55% 70% at 18% 45%,rgba(111,130,104,.22),transparent 70%),radial-gradient(40% 60% at 88% 30%,rgba(111,130,104,.12),transparent 70%)}
.dban-sec .swave{position:absolute;left:0;right:0;bottom:0;height:clamp(60px,9vw,120px);z-index:-1;pointer-events:none}
.dban-sec .swave svg{width:100%;height:100%;display:block}
.dban .dfull,.dban .dimg{-webkit-mask-image:none!important;mask-image:none!important;mix-blend-mode:multiply}
.dban,.dban:hover{background:transparent!important;box-shadow:none!important}
.dban-a::after{display:none}
.dban .dfull{border-radius:clamp(16px,2vw,28px)}
@media(max-width:760px){.dban .dimg{border-radius:var(--r)}}
/* banners as full-bleed bands of the page */
.dban-sec{padding-block:clamp(30px,5vw,70px) 0}
.dban-sec.pf{padding-top:clamp(20px,3vw,40px)}
.dban-sec>.wrap{max-width:none;padding:0}
.dban .dfull{border-radius:0}
@media(min-width:761px){.dban{aspect-ratio:2172/724;max-height:620px;width:100%}.dban .dfull{background-size:cover}}
.dban-sec .swave{height:clamp(46px,6vw,90px);z-index:3}
.dban-sec::before{z-index:-2}
@media(max-width:760px){.dban .dimg{border-radius:0}.dban .dt{padding:24px 22px clamp(70px,16vw,96px)}}
@media(min-width:761px){.dban-sec{padding-bottom:clamp(26px,2.8vw,40px)}}
/* ===== v6 round 4 ===== */
/* banners: hero-like sage tint instead of the wave */
.dban-sec{padding-block:clamp(24px,4vw,56px)!important}
.dban-sec::before{display:none}
.dban{position:relative}
.dban::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;display:block!important;background:linear-gradient(110deg,rgba(75,93,73,.16) 0%,rgba(75,93,73,.07) 45%,rgba(185,135,50,.08) 100%);mix-blend-mode:multiply}
@media(max-width:760px){.dban::after{bottom:auto;aspect-ratio:16/10;height:auto}}
/* home hero: Welcome + one-line rotating creed */
.rot.rot-big{font-size:clamp(1.25rem,5.3vw,4rem);flex-wrap:nowrap;white-space:nowrap;margin-top:-6px;gap:.28em;letter-spacing:-.03em;line-height:1.15}
.rot.rot-big .rbox{height:1.22em}
/* tighter rhythm between plain sections */
section{padding-block:clamp(56px,7vw,100px)}
section:not([class])+section:not([class]),section:not([class])+section[id]:not([class]){padding-top:clamp(8px,2vw,28px)}
/* bigger section labels; community label largest */
.eyebrow{font-size:clamp(.8rem,1vw,.92rem)}
#galeria-intro .eyebrow{font-size:clamp(.92rem,1.3vw,1.1rem)}
@media(max-width:380px){.rot.rot-big{font-size:4.85vw}}
.dban::after{background:linear-gradient(110deg,rgba(75,93,73,.30) 0%,rgba(95,116,89,.18) 50%,rgba(75,93,73,.26) 100%)!important;mix-blend-mode:multiply}
@media(max-width:700px){.hero.tall{min-height:min(74svh,620px)}.hero.tall.center{align-items:center;padding-block:96px 56px}}
.rbox .ri{justify-self:start;width:max-content}
.rot.rot-big .rbox{justify-items:start}
/* resources dropdown */
.dd .menu{z-index:60;text-align:left}
.dd.open .menu{animation:ddIn .22s cubic-bezier(.2,.7,.2,1)}
@keyframes ddIn{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
@media(hover:hover){.dd:hover .menu,.dd:focus-within .menu{display:grid}.dd:hover>button svg{transform:rotate(180deg)}}
.dd .menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.dd>button.cur::after{content:"";position:absolute;left:.95em;right:2.1em;bottom:.45em;height:1.5px;background:currentColor}
.dd .menu a[aria-current="page"]{background:var(--stone)}
.overlay .ovlabel{display:block;font:700 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);margin-top:10px;opacity:.9}
.overlay nav a.ovsub{padding-left:18px;font-size:.92em}
/* gallery: events & activities */
#galEventos{padding-top:clamp(20px,3vw,40px)}
.overlay nav a.ovsub{font-size:clamp(1.2rem,5vw,1.5rem);padding-left:16px;opacity:.92}
.evq{margin-top:22px;color:var(--muted)}.evq a{color:var(--sage-deep);font-weight:700}
.give2 .gsmall{margin-top:14px;color:var(--muted)}.give2 .gthanks{margin-top:18px;font-weight:600;color:var(--sage-deep)}
.pfintro{max-width:62ch;margin:0 auto clamp(18px,2.6vw,30px);text-align:center;font-size:clamp(1.02rem,1.4vw,1.2rem);color:var(--muted);line-height:1.6}
@media(max-width:1020px){header.site .wrap{grid-template-columns:1fr auto}nav.main{display:none}.menu-btn{display:grid}}
.dd .menu{min-width:260px}
.team{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px;margin-inline:auto;gap:clamp(18px,3vw,32px)}
@media(max-width:520px){.team{grid-template-columns:1fr}}
/* leadership portraits */
.team{grid-template-columns:repeat(2,minmax(0,300px));justify-content:center;max-width:none;gap:clamp(28px,5vw,72px)}
.member{margin:0;display:grid;gap:22px;justify-items:center;text-align:center}
.member .frame{position:relative;width:100%;padding:10px;border-radius:180px 180px 26px 26px;background:linear-gradient(160deg,rgba(185,135,50,.55),rgba(125,146,122,.35));box-shadow:0 26px 50px rgba(47,59,45,.16);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.member .frame::after{content:"";position:absolute;inset:10px;border-radius:170px 170px 18px 18px;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(75,93,73,.28));mix-blend-mode:multiply}
.member .photo{aspect-ratio:4/5;border-radius:170px 170px 18px 18px;background-size:cover;filter:saturate(.92) sepia(.06);transform:none!important;box-shadow:none!important}
.member:hover .frame{transform:translateY(-6px);box-shadow:0 34px 64px rgba(47,59,45,.22)}
.member figcaption{display:grid;gap:6px}
.member .role{font-size:max(.72rem,11.5px);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.member h4{font-family:var(--display);font-weight:500;font-size:clamp(1.3rem,1.8vw,1.55rem);color:var(--sage-deep);letter-spacing:-.015em}
@media(max-width:620px){.team{grid-template-columns:minmax(0,280px)}}
.team{grid-template-columns:repeat(2,minmax(0,320px));align-items:start}
.member .frame{display:block;line-height:0}
.member .photo{display:block;width:100%}
.member h4{white-space:nowrap}
@media(max-width:620px){.team{grid-template-columns:minmax(0,290px)}.member h4{white-space:normal}}
/* ===== mobile menu (redesigned) ===== */
.overlay{background:var(--bg);color:var(--ink);grid-template-rows:auto 1fr auto;gap:10px;padding:calc(14px + env(safe-area-inset-top,0px)) 22px calc(22px + env(safe-area-inset-bottom,0px));animation:ovIn .35s cubic-bezier(.2,.7,.2,1)}
@keyframes ovIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.overlay::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 45% at 100% 0%,rgba(125,146,122,.22),transparent 70%),radial-gradient(60% 40% at 0% 100%,rgba(185,135,50,.12),transparent 70%)}
.overlay .ovlogo .logo-full{width:74px}
.overlay .close{width:46px;height:46px;border:1px solid var(--line);background:var(--card);color:var(--sage-deep);font-size:1.4rem}
.overlay nav{align-content:start;gap:0;margin-top:10px;border-top:1px solid var(--line)}
.overlay nav>a,.overlay .ovres{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:var(--display);font-weight:500;font-size:1.45rem;letter-spacing:-.015em;color:var(--sage-deep);padding:18px 2px;border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer;text-align:left;opacity:1}
.overlay nav>a svg,.overlay .ovres svg{width:18px;height:18px;color:var(--gold);transition:transform .3s}
.overlay nav>a[aria-current="page"]{color:var(--gold)}
.overlay .ovres[aria-expanded="true"] svg{transform:rotate(180deg)}
.overlay .ovacc{border-bottom:1px solid var(--line)}
.overlay .ovacc .ovres{border-bottom:0}
.overlay .ovsubs{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.7,.2,1)}
.overlay .ovsubs>div{overflow:hidden;display:grid}
.overlay .ovacc.open .ovsubs{grid-template-rows:1fr}
.overlay nav a.ovsub{font:500 1.05rem/1.2 var(--sans);color:var(--ink);padding:11px 2px 11px 16px;border-left:2px solid var(--line);margin-left:2px;opacity:1}
.overlay .ovacc.open .ovsubs>div{padding-bottom:14px}
.overlay nav a.ovsub:hover,.overlay nav a.ovsub[aria-current="page"]{border-left-color:var(--gold);color:var(--sage-deep)}
.overlay .bottom{display:grid;gap:16px;justify-items:stretch;color:var(--muted);font-size:.88rem}
.overlay .ovdonate{width:100%;justify-content:center;min-height:52px}
.overlay .ovmeta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 14px}
.overlay .ovmeta a{color:var(--muted);text-decoration:none}
.overlay .bottom .social{display:flex;gap:10px}
.overlay .bottom .social a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--sage-deep)}
.overlay .bottom .social svg{width:17px;height:17px}
/* mobile hero creed: bigger, wraps to 2 lines nicely */
@media(max-width:700px){
  .rot.rot-big{font-size:clamp(1.75rem,8.4vw,2.5rem);flex-direction:column;align-items:center;gap:0;white-space:normal;line-height:1.12;margin-top:2px}
  .rot.rot-big .rbox{height:1.2em;justify-items:center}
  .rot.rot-big .rbox .ri{justify-self:center}
}
/* ===== footer: compact on mobile ===== */
@media(max-width:760px){
  footer.site{padding-top:44px}
  .fgrid{grid-template-columns:1fr 1fr;gap:28px 18px}
  .fbrand{grid-column:1/-1;justify-items:center;text-align:center;gap:14px}
  .fbrand .logo-full{width:120px}
  .fbrand p{font-size:.9rem}
  .fgrid>div:last-child{grid-column:1/-1}
  .ftimes{display:none}
  .fgrid>div:last-child h4{display:none}
  .fcontact{margin-top:0!important;display:flex!important;justify-content:center;flex-wrap:wrap;gap:8px 20px!important;padding-top:20px;border-top:1px solid var(--line)}
  footer.site h4{margin-bottom:10px}
  footer.site ul a{min-height:36px}
  .fbottom{flex-direction:column;align-items:center;text-align:center;gap:8px;margin-top:24px;font-size:.8rem}
  .fbottom .totop{display:none}
}
/* ===== mobile polish round ===== */
@media(max-width:760px){
  /* designed banners: show the real artwork, cropped to its text side so it stays readable */
  .dban{display:block;aspect-ratio:1.68;border-radius:20px;overflow:hidden;background:#f4ecdc;box-shadow:0 18px 40px rgba(60,55,30,.14)}
  .dban-sec>.wrap{padding-inline:16px}
  .dban .dimg{display:none}
  html[lang=es] .dban .dfull.es,html[lang=en] .dban .dfull.en{display:block;position:absolute;inset:0;background-size:178.6% auto;background-position:0 50%;transform:none}
  .dban .dt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .dban::after{inset:0!important;aspect-ratio:auto!important;height:auto!important;bottom:0!important}
  /* hero creed: never clipped */
  .rot.rot-big .rbox{width:100%!important;max-width:none;overflow:hidden}
  .rot.rot-big .ri{width:auto;justify-self:center;font-size:inherit}
  .rot.rot-big{font-size:clamp(1.9rem,8.8vw,2.6rem)}
  /* footer: compact */
  .fgrid{gap:22px 18px}
  .fbrand .logo-full{width:96px}
  .fbrand p{max-width:30ch}
  footer.site ul{gap:0}
  footer.site ul a{min-height:34px;font-size:.92rem}
  footer.site h4{font-size:.68rem;margin-bottom:6px}
  .fcontact{flex-direction:column;align-items:center;gap:4px!important;padding-top:16px}
  .fbottom{margin-top:18px;padding-block:16px calc(16px + env(safe-area-inset-bottom,0px))}
  .fbottom span:nth-child(2){display:none}
}
/* ===== testimony: arched portrait + mobile read-more ===== */
.testimony .avwrap{width:min(250px,100%);padding:8px;border-radius:150px 150px 22px 22px;background:linear-gradient(160deg,rgba(221,176,98,.7),rgba(125,146,122,.35))}
.testimony .avatar{width:100%;border-radius:142px 142px 16px 16px;box-shadow:none;outline:0}
.testimony blockquote{position:relative}
.testimony blockquote::before{content:"\201C";position:absolute;left:-.1em;top:-.55em;font:italic 7rem/1 var(--serif);color:rgba(221,176,98,.18);pointer-events:none}
.tmore{display:none}
@media(max-width:860px){
  .testimony{gap:28px}
  .testimony .who{grid-template-columns:96px 1fr;column-gap:18px;row-gap:6px;align-items:center}
  .testimony .avwrap{grid-row:1/4;width:96px;padding:4px;border-radius:60px 60px 14px 14px}
  .testimony .avatar{border-radius:56px 56px 11px 11px}
  .testimony .who h3{font-size:1.2rem;align-self:end}
  .testimony .alias{font-size:1.25rem;align-self:start}
  .testimony .who>p:not(.alias){grid-column:1/-1;font-size:.95rem;margin-top:10px}
  .testimony .stat{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(221,176,98,.3);border-radius:14px;background:rgba(246,243,236,.04)}
  .testimony .stat b{font-size:2.2rem}
  .testimony blockquote{font-size:1.02rem;line-height:1.75;gap:18px}
  .testimony blockquote p:nth-child(n+3){display:none}
  .testimony.open blockquote p:nth-child(n+3){display:block;animation:slideUp .5s cubic-bezier(.2,.7,.2,1) both}
  .testimony blockquote p:nth-child(2){-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent);mask-image:linear-gradient(180deg,#000 30%,transparent);max-height:7.2em;overflow:hidden}
  .testimony.open blockquote p:nth-child(2){-webkit-mask-image:none;mask-image:none;max-height:none}
  .tmore{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;border-radius:999px;border:1px solid rgba(221,176,98,.55);background:transparent;color:var(--gold-2);font:700 .8rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
  .tmore svg{width:14px;height:14px;transition:transform .3s}
  .tmore .b{display:none}.testimony.open .tmore .a{display:none}.testimony.open .tmore .b{display:inline}.testimony.open .tmore svg{transform:rotate(180deg)}
}
/* ===== touch feedback & smooth interactions on phones ===== */
@media(hover:none){
  .btn,.mcard,.scard,.tz,.evitem,.chip,.obtn,.member .frame,.dban,.times .row,.overlay nav>a,.ovres,.tmore{transition:transform .18s ease,background .25s,box-shadow .25s;-webkit-tap-highlight-color:transparent}
  .btn:active,.chip:active,.obtn:active,.tmore:active{transform:scale(.96)}
  .mcard:active,.scard:active,.tz:active,.evitem:active,.dban:active,.times .row:active{transform:scale(.98)}
  .overlay nav>a:active,.ovres:active{background:rgba(125,146,122,.1)}
}
html{scroll-padding-top:90px}
@media(max-width:700px){html[lang=es] .rot.rot-big{font-size:clamp(1.55rem,7.2vw,2.3rem)}}
@media(max-width:760px){footer.site h4{font-size:11.5px}}
.evq a{display:inline-flex;align-items:center;min-height:40px;padding:0 4px}
.testimony blockquote p:first-child::first-letter{float:none!important;font:inherit!important;color:inherit!important;padding:0!important;line-height:inherit!important}
