
:root{
  --navy:#082d63;
  --navy-2:#061f45;
  --blue-soft:#eef5fb;
  --gold:#c59b38;
  --gold-2:#e8cf86;
  --cream:#fbf7ed;
  --paper:#ffffff;
  --ink:#13213a;
  --muted:#61718a;
  --line:#dce6ef;
  --shadow:0 18px 55px rgba(7,37,80,.12);
  --radius:28px;
  --radius-sm:18px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px, calc(100% - 36px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:var(--navy);padding:10px 14px;z-index:99;border-radius:8px}.skip-link:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(8,45,99,.08)}
.header-inner{height:82px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:248px;height:auto;display:block}.main-nav{display:flex;align-items:center;gap:18px;margin-left:auto}.nav-link{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:750;color:var(--navy);position:relative;padding:30px 0}.nav-link:after{content:'';position:absolute;left:0;right:0;bottom:22px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.22s}.nav-link:hover:after,.nav-link.is-active:after{transform:scaleX(1)}.header-cta{background:var(--navy);color:#fff;border-radius:14px;padding:13px 18px;font-weight:800;font-size:14px;box-shadow:0 10px 25px rgba(8,45,99,.18)}.header-cta:hover{background:var(--navy-2)}.nav-toggle{display:none;background:transparent;border:0;padding:8px;margin-left:auto}.nav-toggle span{display:block;width:26px;height:2px;background:var(--navy);margin:5px 0;border-radius:99px}
.hero{min-height:660px;background-image:linear-gradient(90deg,rgba(6,31,69,.82) 0%,rgba(6,31,69,.58) 32%,rgba(6,31,69,.12) 68%,rgba(6,31,69,0) 100%),url('../img/hero-santuario.webp');background-size:cover;background-position:center;display:flex;align-items:center;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}.hero-content{position:relative;z-index:1;color:#fff;max-width:680px;padding:86px 0 120px}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold-2);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px}.eyebrow:before{content:'';width:42px;height:2px;background:currentColor}.hero h1{font-family:var(--serif);font-size:clamp(52px,8vw,92px);line-height:.98;margin:18px 0 22px;font-weight:500;letter-spacing:-.045em}.hero p{font-size:clamp(18px,2.3vw,24px);line-height:1.45;margin:0 0 30px;color:rgba(255,255,255,.92)}.button-row{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 22px;font-weight:850;border:1px solid transparent;transition:.2s}.btn-primary{background:var(--gold);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(197,155,56,.25)}.btn-light{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.34);color:#fff;backdrop-filter:blur(8px)}.btn-navy{background:var(--navy);color:#fff}.btn-outline{border-color:rgba(8,45,99,.18);color:var(--navy);background:#fff}.section{padding:88px 0}.section-soft{background:linear-gradient(180deg,#fff 0%,#f6f9fc 100%)}.section-cream{background:var(--cream)}.section-header{max-width:790px;margin:0 auto 42px;text-align:center}.section-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:12px;margin-bottom:10px}.section-title{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5vw,56px);line-height:1.07;margin:0;color:var(--navy);letter-spacing:-.02em}.section-lead{font-size:19px;color:var(--muted);margin:18px 0 0}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:-72px;position:relative;z-index:2}.card{background:#fff;border:1px solid rgba(8,45,99,.11);border-radius:22px;padding:28px;box-shadow:0 10px 35px rgba(7,37,80,.07);transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;margin-bottom:18px;font-size:30px}.card h3{font-family:var(--serif);font-size:25px;line-height:1.1;color:var(--navy);margin:0 0 10px}.card p{color:var(--muted);line-height:1.45;margin:0 0 18px}.card-link{color:var(--navy);font-weight:850}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.image-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);position:relative;min-height:360px}.image-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.text-stack p{font-size:18px;color:#42506a}.text-stack .quote{font-family:var(--serif);font-size:34px;line-height:1.18;color:var(--navy);margin:0 0 18px}.highlight-panel{border-radius:var(--radius);background:linear-gradient(135deg,#fff 0%,var(--cream) 100%);border:1px solid rgba(197,155,56,.25);padding:38px;display:grid;grid-template-columns:250px 1fr;gap:34px;align-items:center;box-shadow:var(--shadow)}.highlight-panel img{width:220px;margin:auto}.highlight-panel h2{font-family:var(--serif);color:var(--navy);font-size:42px;line-height:1.05;margin:0 0 12px}.highlight-panel p{color:#394762;font-size:18px}.feature-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.photo-panel{min-height:390px;border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:var(--shadow)}.photo-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,31,69,.62),rgba(6,31,69,.1))}.photo-copy{position:absolute;z-index:1;color:#fff;left:30px;right:30px;bottom:30px}.photo-copy h3{font-family:var(--serif);font-size:34px;line-height:1.1;margin:0}.news-list{background:var(--blue-soft);border-radius:var(--radius);padding:26px}.news-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.news-title-row h3{font-family:var(--serif);color:var(--navy);font-size:29px;margin:0}.news-item{display:grid;grid-template-columns:96px 1fr;gap:15px;align-items:center;padding:14px 0;border-top:1px solid rgba(8,45,99,.1)}.news-item:first-of-type{border-top:0}.news-item img{height:72px;width:96px;object-fit:cover;border-radius:14px}.news-item strong{display:block;color:var(--navy);line-height:1.25}.news-item span{font-size:13px;color:var(--muted)}.apostolado-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.apostolado-card{background:#fff;border-radius:var(--radius);padding:34px;border:1px solid rgba(8,45,99,.1);box-shadow:0 12px 45px rgba(7,37,80,.08)}.apostolado-card h3{font-family:var(--serif);font-size:32px;color:var(--navy);margin:0 0 12px}.tag-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.tag{padding:8px 12px;border-radius:999px;background:var(--blue-soft);color:var(--navy);font-weight:750;font-size:13px}.quote-band{background:linear-gradient(90deg,#f6f9fc 0%,#fff 65%);border-radius:var(--radius);border:1px solid rgba(8,45,99,.08);display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding:38px;overflow:hidden}.quote-band blockquote{margin:0;font-family:var(--serif);font-size:36px;line-height:1.15;color:var(--navy)}.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.pillar{background:#fff;border:1px solid rgba(8,45,99,.1);border-radius:18px;padding:18px;color:var(--navy);font-weight:800}.page-hero{background:linear-gradient(135deg,var(--navy),#0d4c91);color:#fff;padding:84px 0 72px;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;right:-110px;bottom:-180px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.08)}.page-hero .container{position:relative;z-index:1}.page-hero h1{font-family:var(--serif);font-size:clamp(44px,7vw,74px);line-height:1;margin:12px 0}.page-hero p{font-size:20px;max-width:820px;color:rgba(255,255,255,.86)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;align-items:start}.prose{font-size:18px}.prose h2{font-family:var(--serif);font-size:42px;line-height:1.08;color:var(--navy);margin:54px 0 18px}.prose h2:first-child{margin-top:0}.prose h3{font-family:var(--serif);font-size:30px;color:var(--navy);margin:36px 0 10px}.prose p{margin:0 0 18px;color:#394762}.prose ul{margin:0 0 22px;padding-left:22px}.prose li{margin:8px 0;color:#394762}.prose blockquote{margin:24px 0;padding:28px;border-left:5px solid var(--gold);background:var(--cream);border-radius:0 18px 18px 0;font-family:var(--serif);font-size:30px;line-height:1.2;color:var(--navy)}.side-card{position:sticky;top:110px;background:#fff;border:1px solid rgba(8,45,99,.1);border-radius:24px;padding:22px;box-shadow:0 12px 35px rgba(7,37,80,.08)}.side-card img{border-radius:18px;margin-bottom:16px}.side-card h3{font-family:var(--serif);color:var(--navy);font-size:28px;margin:0 0 8px}.steps{display:grid;gap:16px}.step{display:grid;grid-template-columns:54px 1fr;gap:16px;background:#fff;border:1px solid rgba(8,45,99,.1);border-radius:22px;padding:22px}.step-num{width:54px;height:54px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.step h3{margin:0 0 6px}.contact-page{display:grid;gap:34px}.contact-top{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}.form-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(8,45,99,.1);padding:34px}.form-grid{display:grid;gap:16px}.field label{display:block;font-weight:800;color:var(--navy);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:1px solid #ccd8e4;border-radius:14px;padding:13px 14px;font:inherit}.field textarea{min-height:150px;resize:vertical}.muted-note{font-size:14px;color:var(--muted)}.contact-photo-card img{aspect-ratio:4/5;object-fit:cover;width:100%;margin-bottom:0}.contact-info-panel{background:#fff;border:1px solid rgba(8,45,99,.1);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px}.contact-info-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:22px;align-items:end;margin-bottom:26px}.contact-info-title{font-size:40px}.contact-info-lead{margin:0;color:var(--muted);font-size:17px;line-height:1.5}.contact-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.contact-detail-item{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid rgba(8,45,99,.1);border-radius:20px;padding:20px 22px;min-height:110px}.contact-detail-item strong{display:block;color:var(--navy);font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.contact-detail-item span,.contact-detail-item a{color:#394762;line-height:1.45}.contact-detail-item a{font-weight:800;color:var(--navy)}.footer-contact{background:#fff;border-top:1px solid var(--line);padding:26px 0}.contact-grid{display:grid;grid-template-columns:1.25fr .8fr 1fr 1.1fr;gap:20px}.contact-item{display:flex;gap:14px;align-items:flex-start;border-right:1px solid var(--line);padding-right:20px}.contact-item:last-child{border-right:0}.contact-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--navy);border:1px solid rgba(8,45,99,.2);font-size:22px;flex:0 0 auto}.contact-item strong{display:block;color:var(--navy)}.contact-item p{margin:2px 0 0;color:var(--muted);font-size:14px;line-height:1.35}.footer-main{background:var(--navy);color:#fff;padding:24px 0}.footer-main-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-logo{width:250px}.footer-links{display:flex;gap:22px;color:rgba(255,255,255,.82);font-size:14px}.copyright{font-size:14px;color:rgba(255,255,255,.72)}
@media (max-width:1080px){.main-nav{position:absolute;left:18px;right:18px;top:82px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.nav-link{padding:11px 6px}.nav-link:after{bottom:6px}.nav-toggle{display:block}.header-cta{display:none}.cards-grid,.feature-three{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:repeat(2,1fr)}.contact-item:nth-child(2){border-right:0}.content-layout{grid-template-columns:1fr}.side-card{position:static}.footer-main-inner{flex-direction:column;text-align:center}}
@media (max-width:760px){.container{width:min(100% - 28px,1180px)}.header-inner{height:72px}.brand img{width:198px}.main-nav{top:72px}.hero{min-height:620px;background-position:center}.hero-content{padding:64px 0 90px}.hero h1{font-size:54px}.cards-grid{grid-template-columns:1fr;margin-top:-46px}.split,.highlight-panel,.quote-band,.apostolado-grid,.contact-top{grid-template-columns:1fr}.highlight-panel{text-align:center}.feature-three{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.contact-item{border-right:0;border-bottom:1px solid var(--line);padding-bottom:16px}.contact-item:last-child{border-bottom:0}.footer-links{flex-direction:column;gap:10px}.section{padding:64px 0}.page-hero{padding:62px 0}.prose h2{font-size:34px}.quote-band blockquote{font-size:30px}.contact-info-header,.contact-detail-grid{grid-template-columns:1fr}.contact-info-title{font-size:34px}}

/* Acceso provisorio privado */
.login-body{
  min-height:100vh;
  margin:0;
  background:
    linear-gradient(115deg, rgba(6,31,69,.88) 0%, rgba(6,31,69,.68) 42%, rgba(6,31,69,.24) 100%),
    url('../img/hero-santuario.webp') center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.login-shell{
  width:100%;
  min-height:calc(100vh - 56px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.login-card{
  width:min(100%, 470px);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.72);
  border-radius:32px;
  box-shadow:0 28px 85px rgba(5,24,54,.32);
  padding:42px;
  position:relative;
  overflow:hidden;
}
.login-card:before{
  content:'';
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,var(--navy),var(--gold));
}
.login-logo-wrap{
  display:flex;
  justify-content:center;
  margin-bottom:24px;
}
.login-logo{
  width:260px;
  max-width:100%;
  height:auto;
}
.login-kicker{
  margin:0 0 8px;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:900;
  text-align:center;
}
.login-card h1{
  margin:0;
  font-family:var(--serif);
  font-size:48px;
  line-height:1;
  color:var(--navy);
  text-align:center;
  font-weight:500;
}
.login-intro{
  margin:16px auto 26px;
  color:var(--muted);
  text-align:center;
  max-width:340px;
  line-height:1.55;
}
.login-form{
  display:grid;
  gap:12px;
}
.login-form label{
  color:var(--navy);
  font-weight:850;
  font-size:14px;
}
.login-form input{
  width:100%;
  border:1px solid #ccd8e4;
  border-radius:16px;
  padding:15px 16px;
  font:inherit;
  background:#fff;
  color:var(--ink);
  outline:none;
  transition:.18s;
}
.login-form input:focus{
  border-color:var(--navy);
  box-shadow:0 0 0 4px rgba(8,45,99,.1);
}
.login-form button{
  margin-top:8px;
  border:0;
  border-radius:999px;
  padding:15px 18px;
  background:var(--navy);
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(8,45,99,.22);
  transition:.18s;
}
.login-form button:hover{
  background:var(--navy-2);
  transform:translateY(-1px);
}
.login-error{
  background:#fff1f1;
  border:1px solid #ffd1d1;
  color:#8a1f1f;
  border-radius:16px;
  padding:12px 14px;
  margin-bottom:18px;
  font-weight:700;
  font-size:14px;
}
.login-note{
  margin:22px 0 0;
  color:var(--muted);
  font-size:13px;
  text-align:center;
}
@media (max-width:560px){
  .login-body{padding:16px;background-position:center;}
  .login-card{padding:34px 24px;border-radius:26px;}
  .login-logo{width:220px;}
  .login-card h1{font-size:42px;}
}

/* Landing Jubileo 1926–2026 */
.jubilee-page{background:#fff;color:var(--ink)}
.jubilee-header .main-nav{margin-left:auto}
.jubilee-hero{position:relative;overflow:hidden;background:
  linear-gradient(90deg,rgba(6,31,69,.88) 0%,rgba(6,31,69,.68) 42%,rgba(6,31,69,.18) 100%),
  url('../img/santuario-comunidad.webp') center/cover no-repeat;color:#fff;min-height:680px;display:flex;align-items:center}
.jubilee-hero:after{content:'';position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
.jubilee-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:54px;align-items:center;padding:96px 0 130px}
.jubilee-hero-copy h1{font-family:var(--serif);font-size:clamp(54px,8vw,96px);line-height:.98;margin:18px 0 22px;font-weight:500;letter-spacing:-.045em;max-width:860px}
.jubilee-hero-lead{font-size:clamp(19px,2.2vw,26px);line-height:1.45;max-width:790px;color:rgba(255,255,255,.92);margin:0 0 30px}.jubilee-hero-lead strong{color:#fff}
.jubilee-logo-card{background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.8);border-radius:32px;padding:30px;box-shadow:0 24px 75px rgba(5,24,54,.25);text-align:center;color:var(--navy)}
.jubilee-logo-card img{max-width:230px;margin:0 auto 16px}.jubilee-logo-card p{margin:0;color:#475671;font-weight:750;line-height:1.35}.jubilee-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.jubilee-prose{font-size:18px;color:#394762}.jubilee-prose p{margin:0 0 18px}.timeline{max-width:920px;margin:0 auto;position:relative}.timeline:before{content:'';position:absolute;left:92px;top:12px;bottom:12px;width:2px;background:linear-gradient(180deg,var(--gold),rgba(197,155,56,.15))}.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:24px;position:relative;padding:15px 0}.timeline-item:before{content:'';position:absolute;left:84px;top:28px;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--gold);box-shadow:0 0 0 5px rgba(197,155,56,.13)}.timeline-item time{font-weight:950;color:var(--navy);font-size:20px;line-height:1.3}.timeline-item span{background:#fff;border:1px solid rgba(8,45,99,.11);border-radius:18px;padding:17px 20px;box-shadow:0 10px 30px rgba(7,37,80,.06);color:#394762;font-weight:650}.jubilee-activities{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.activity-card{background:#fff;border:1px solid rgba(8,45,99,.1);border-radius:24px;padding:28px;box-shadow:0 12px 40px rgba(7,37,80,.07)}.activity-time{display:inline-flex;background:var(--blue-soft);color:var(--navy);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.activity-card h3{font-family:var(--serif);font-size:30px;line-height:1.08;color:var(--navy);margin:18px 0 10px}.activity-card p{color:var(--muted);margin:0}.jubilee-form-section{background:linear-gradient(180deg,#fff 0%,#f6f9fc 100%)}.jubilee-form-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:48px;align-items:start}.jubilee-form-copy{position:sticky;top:112px}.jubilee-form-copy p{font-size:18px;color:#42506a}.form-note-card{background:var(--cream);border:1px solid rgba(197,155,56,.24);border-radius:22px;padding:22px;margin-top:24px}.form-note-card strong{color:var(--navy);display:block;margin-bottom:6px}.form-note-card p{font-size:15px;margin:0;color:#5f5b50}.jubilee-form{background:#fff;border:1px solid rgba(8,45,99,.1);border-radius:32px;box-shadow:var(--shadow);padding:34px;display:grid;gap:24px}.jubilee-form fieldset{border:1px solid var(--line);border-radius:24px;padding:24px;margin:0}.jubilee-form legend{padding:0 8px;font-family:var(--serif);font-size:28px;color:var(--navy);font-weight:500}.jubilee-form .field span{color:var(--muted);font-weight:650}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fieldset-note{margin:0 0 16px;color:var(--muted);font-size:15px}.hp-field{position:absolute!important;left:-10000px!important;opacity:0!important}.check-row{display:flex;gap:12px;align-items:flex-start;color:#3b4961;font-weight:650}.check-row input{margin-top:6px;accent-color:var(--navy)}.children-list{display:grid;gap:14px;margin-bottom:16px}.child-card{position:relative;border:1px solid rgba(8,45,99,.12);background:#f9fbfd;border-radius:22px;padding:22px}.child-remove{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:var(--navy);font-size:25px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(7,37,80,.1)}.child-check{align-self:center;margin-top:28px}.btn-small{padding:11px 16px;font-size:14px}.btn-submit{width:100%;font-size:17px;padding:16px 24px}.form-error,.form-success{border-radius:18px;padding:14px 16px;font-weight:750}.form-error{background:#fff2f0;border:1px solid #ffc7c0;color:#8a1f12}.form-success{background:#eefaf1;border:1px solid #bfe8c8;color:#1f6a32}.thanks-screen{min-height:100vh;background:
  linear-gradient(115deg, rgba(6,31,69,.85), rgba(6,31,69,.42)),
  url('../img/santuario-noche.webp') center/cover no-repeat;display:grid;place-items:center;padding:28px}.thanks-card{width:min(100%,560px);background:rgba(255,255,255,.97);border-radius:34px;padding:44px;text-align:center;box-shadow:0 28px 85px rgba(5,24,54,.32)}.thanks-logo{width:180px;margin:0 auto 22px}.thanks-card h1{font-family:var(--serif);color:var(--navy);font-size:52px;line-height:1;margin:0 0 14px;font-weight:500}.thanks-card p{color:var(--muted);font-size:18px}.thanks-actions{justify-content:center;margin-top:24px}.admin-wrap{min-height:100vh;background:#f6f9fc;padding:42px 18px;display:grid;place-items:start center}.admin-wide{place-items:start center}.admin-card{width:min(100%,780px);background:#fff;border:1px solid rgba(8,45,99,.1);border-radius:28px;box-shadow:var(--shadow);padding:32px}.admin-wide .admin-card{width:min(100%,1180px)}.admin-logo{width:260px;margin-bottom:22px}.admin-card h1{font-family:var(--serif);font-size:44px;color:var(--navy);line-height:1.05;margin:0 0 20px}.admin-card h2{font-family:var(--serif);font-size:30px;color:var(--navy);margin:28px 0 12px}.admin-topbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stat-card{background:var(--blue-soft);border-radius:20px;padding:22px;text-align:center}.stat-card span{display:block;font-family:var(--serif);font-size:48px;color:var(--navy);line-height:1}.stat-card strong{color:#42506a}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:20px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{background:var(--navy);color:#fff;white-space:nowrap}.admin-table tr:last-child td{border-bottom:0}.admin-table.compact{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.admin-table.compact td:last-child{text-align:right;font-weight:900;color:var(--navy)}
@media (max-width:1080px){.jubilee-hero-grid,.jubilee-intro,.jubilee-form-layout{grid-template-columns:1fr}.jubilee-logo-card{max-width:360px}.jubilee-form-copy{position:static}.jubilee-activities{grid-template-columns:repeat(2,1fr)}.admin-topbar{align-items:flex-start;flex-direction:column}.stats-grid,.admin-columns{grid-template-columns:1fr}}
@media (max-width:760px){.jubilee-hero{min-height:auto}.jubilee-hero-grid{padding:72px 0 96px}.jubilee-hero-copy h1{font-size:52px}.jubilee-logo-card{padding:24px}.jubilee-intro{gap:24px}.timeline:before{left:72px}.timeline-item{grid-template-columns:96px 1fr;gap:14px}.timeline-item:before{left:64px}.timeline-item time{font-size:18px}.timeline-item span{padding:14px 16px}.jubilee-activities,.form-two{grid-template-columns:1fr}.jubilee-form{padding:22px;border-radius:24px}.jubilee-form fieldset{padding:18px}.thanks-card{padding:30px}.thanks-card h1{font-size:42px}.stats-grid{grid-template-columns:1fr}.admin-card{padding:22px}.admin-card h1{font-size:36px}.admin-logo{width:220px}}


/* Ajuste v11: slider fotográfico, con imágenes más completas */
.hero-slider{
  background-image:none;
  isolation:isolate;
}
.hero-slides,
.hero-slide,
.hero-overlay{
  position:absolute;
  inset:0;
}
.hero-slides{
  z-index:0;
  overflow:hidden;
  background:var(--navy-2);
}
.hero-slide{
  opacity:0;
  overflow:hidden;
  background:var(--navy-2);
  transition:opacity 1800ms ease;
  will-change:opacity;
}
.hero-slide::before,
.hero-slide::after{
  content:'';
  position:absolute;
  inset:0;
  background-image:var(--hero-image);
  background-repeat:no-repeat;
  pointer-events:none;
}
.hero-slide::before{
  inset:-34px;
  background-size:cover;
  background-position:var(--hero-cover-pos, center center);
  filter:blur(13px) saturate(1.06);
  opacity:.58;
  transform:scale(1.05);
}
.hero-slide::after{
  background-size:contain;
  background-position:var(--hero-contain-start, 94% 50%);
  filter:saturate(1.02);
}
.hero-slide-one{
  --hero-cover-pos:58% 50%;
  --hero-contain-start:95% 50%;
  --hero-contain-end:91% 50%;
}
.hero-slide-two{
  --hero-cover-pos:54% 50%;
  --hero-contain-start:88% 50%;
  --hero-contain-end:84% 50%;
}
.hero-slide-three{
  --hero-cover-pos:58% 50%;
  --hero-contain-start:94% 50%;
  --hero-contain-end:90% 50%;
}
.hero-slide.is-active{
  opacity:1;
}
.hero-slide.is-active::before{
  animation:heroBgBreath 7800ms ease-in-out forwards;
}
.hero-slide.is-active::after{
  animation:heroPhotoDrift 7800ms ease-in-out forwards;
}
@keyframes heroBgBreath{
  0%{transform:scale(1.05) translate3d(0,0,0);}
  100%{transform:scale(1.09) translate3d(-1.2%,-.6%,0);}
}
@keyframes heroPhotoDrift{
  0%{background-position:var(--hero-contain-start, 94% 50%);}
  100%{background-position:var(--hero-contain-end, 90% 50%);}
}
.hero-overlay{
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(6,31,69,.88) 0%,rgba(6,31,69,.66) 34%,rgba(6,31,69,.28) 64%,rgba(6,31,69,.08) 100%),
    linear-gradient(180deg,rgba(6,31,69,.08) 0%,rgba(6,31,69,.08) 55%,rgba(6,31,69,.28) 100%);
}
.hero-slider:after{
  z-index:1;
  pointer-events:none;
}
.hero-slider .hero-content{
  z-index:2;
}
@media (prefers-reduced-motion: reduce){
  .hero-slide{transition:none;}
  .hero-slide::before,
  .hero-slide::after{animation:none!important;}
}

@media (max-width:760px){
  .hero-slide::after{
    background-size:cover;
    background-position:var(--hero-mobile-pos, center center);
  }
  .hero-slide-one{--hero-mobile-pos:58% 50%;}
  .hero-slide-two{--hero-mobile-pos:52% 50%;}
  .hero-slide-three{--hero-mobile-pos:58% 50%;}
}


/* Ajustes responsive v05: pantallas notebook y baja altura */
@media (max-width:1320px){
  .container{width:min(1160px, calc(100% - 32px));}
  .header-inner{height:76px;gap:18px;}
  .brand img{width:220px;}
  .main-nav{gap:12px;}
  .nav-link{font-size:11px;letter-spacing:.045em;padding:27px 0;}
  .nav-link:after{bottom:19px;}
  .header-cta{padding:11px 14px;font-size:13px;border-radius:13px;}
  .hero h1{font-size:clamp(48px,7vw,84px);}
  .jubilee-hero-copy h1{font-size:clamp(50px,7vw,86px);}
}

@media (max-width:1180px){
  .main-nav{position:absolute;left:18px;right:18px;top:76px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow);}
  .main-nav.is-open{display:flex;}
  .nav-link{padding:11px 6px;font-size:12px;}
  .nav-link:after{bottom:6px;}
  .nav-toggle{display:block;}
  .header-cta{display:none;}
}

@media (max-height:820px) and (min-width:900px){
  .header-inner{height:68px;}
  .brand img{width:204px;}
  .main-nav{gap:10px;}
  .nav-link{font-size:10.5px;padding:23px 0;letter-spacing:.04em;}
  .nav-link:after{bottom:16px;}
  .header-cta{padding:9px 13px;font-size:12.5px;border-radius:12px;}

  .hero{min-height:540px;}
  .hero:after{height:88px;}
  .hero-content{padding:58px 0 88px;max-width:620px;}
  .hero h1{font-size:clamp(44px,6vw,74px);line-height:1;margin:14px 0 16px;}
  .hero p{font-size:clamp(17px,1.7vw,21px);line-height:1.42;margin-bottom:22px;}
  .eyebrow{font-size:11px;}
  .btn{padding:12px 19px;}

  .cards-grid{margin-top:-48px;gap:18px;}
  .card{padding:23px;border-radius:20px;}
  .card-icon{width:56px;height:56px;font-size:26px;margin-bottom:14px;}
  .card h3{font-size:23px;}
  .card p{font-size:15px;}

  .section{padding:70px 0;}
  .section-header{margin-bottom:34px;}
  .section-title{font-size:clamp(32px,4vw,48px);}
  .section-lead{font-size:17px;}
  .image-card{min-height:315px;}
  .highlight-panel{padding:30px;}
  .highlight-panel h2{font-size:36px;}
  .photo-panel{min-height:340px;}
  .quote-band{padding:30px;}
  .quote-band blockquote{font-size:31px;}
  .page-hero{padding:62px 0 54px;}
  .page-hero h1{font-size:clamp(40px,5vw,62px);}

  .jubilee-hero{min-height:560px;}
  .jubilee-hero:after{height:92px;}
  .jubilee-hero-grid{grid-template-columns:minmax(0,1fr) 300px;gap:36px;padding:62px 0 92px;}
  .jubilee-hero-copy h1{font-size:clamp(44px,6vw,76px);line-height:1;margin:14px 0 16px;}
  .jubilee-hero-lead{font-size:clamp(17px,1.75vw,22px);margin-bottom:22px;}
  .jubilee-logo-card{padding:24px;border-radius:28px;}
  .jubilee-logo-card img{max-width:190px;}
  .timeline-item{padding:11px 0;}
  .timeline-item span{padding:14px 18px;}
}

@media (max-height:720px) and (min-width:900px){
  .hero{min-height:500px;}
  .hero-content{padding:48px 0 74px;}
  .hero h1{font-size:clamp(40px,5.4vw,66px);}
  .jubilee-hero{min-height:520px;}
  .jubilee-hero-grid{padding:52px 0 78px;}
  .jubilee-hero-copy h1{font-size:clamp(40px,5.6vw,68px);}
}

/* Ajuste v06: Instagram en header y footer */
.header-social{
  width:46px;
  height:46px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--navy);
  background:#fff;
  border:1px solid rgba(8,45,99,.16);
  box-shadow:0 10px 24px rgba(8,45,99,.10);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.header-social svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.header-social:hover{
  transform:translateY(-2px);
  background:var(--navy);
  color:#fff;
  box-shadow:0 16px 34px rgba(8,45,99,.18);
}
.footer-links a[href*="instagram"]{
  color:#fff;
  font-weight:800;
}
@media (max-width:1320px){
  .header-social{width:42px;height:42px;}
  .header-social svg{width:20px;height:20px;}
}
@media (max-height:820px) and (min-width:900px){
  .header-social{width:40px;height:40px;}
  .header-social svg{width:19px;height:19px;}
}

/* Ajuste v07: menú superior más limpio con submenú */
.header-inner{gap:22px;}
.main-nav{gap:22px;}
.nav-group{position:relative;display:flex;align-items:center;}
.nav-trigger{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:7px;line-height:1.2;}

.nav-trigger.nav-link{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:750;
  color:var(--navy);
  padding:30px 0;
}
.nav-caret{font-size:12px;line-height:1;transform:translateY(-1px);color:var(--gold);}
.subnav{
  position:absolute;
  top:calc(100% - 10px);
  left:50%;
  min-width:240px;
  padding:12px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(8,45,99,.10);
  border-radius:18px;
  box-shadow:0 18px 48px rgba(7,37,80,.14);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,10px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-group:hover .subnav,
.nav-group:focus-within .subnav,
.nav-group.is-open .subnav{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.subnav:before{
  content:'';
  position:absolute;
  top:-7px;
  left:50%;
  width:14px;
  height:14px;
  background:#fff;
  border-left:1px solid rgba(8,45,99,.10);
  border-top:1px solid rgba(8,45,99,.10);
  transform:translateX(-50%) rotate(45deg);
}
.subnav a{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-radius:12px;
  padding:10px 12px;
  color:var(--navy);
  font-size:14px;
  font-weight:760;
  letter-spacing:.01em;
  transition:background .16s ease, color .16s ease, transform .16s ease;
}
.subnav a:after{content:'›';color:var(--gold);font-size:18px;line-height:1;}
.subnav a:hover,
.subnav a.is-active{
  background:var(--blue-soft);
  color:var(--navy-2);
  transform:translateX(2px);
}

/* El menú de escritorio queda más editorial y con menos ruido visual */
@media (min-width:1181px){
  .main-nav{margin-left:auto;}
  .nav-link{white-space:nowrap;}
  .nav-link.is-active{color:var(--navy-2);}
  .nav-trigger.is-active:after{transform:scaleX(1);}
  .header-social{margin-left:2px;}
}

/* Menú móvil/notebook: submenú ordenado dentro del panel */
@media (max-width:1180px){
  .main-nav{gap:4px;}
  .nav-group{display:block;width:100%;}
  .nav-trigger{width:100%;justify-content:space-between;text-align:left;}
  .nav-group .subnav{
    position:static;
    min-width:0;
    margin:2px 0 8px 12px;
    padding:6px;
    display:none;
    border-radius:16px;
    box-shadow:none;
    background:var(--blue-soft);
    border-color:rgba(8,45,99,.08);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .nav-group.is-open .subnav,
  .nav-group:focus-within .subnav{display:grid;}
  .subnav:before{display:none;}
  .subnav a{font-size:13px;padding:9px 10px;background:#fff;}
  .subnav a + a{margin-top:4px;}
  .nav-caret{transition:transform .18s ease;}
  .nav-group.is-open .nav-caret{transform:rotate(180deg);}
}

@media (max-width:1320px) and (min-width:1181px){
  .main-nav{gap:18px;}
  .nav-link{font-size:11px;letter-spacing:.04em;}
}

@media (max-height:820px) and (min-width:900px){
  .main-nav{gap:16px;}
}


/* Ajuste v08: el ítem Conócenos mantiene exactamente la misma presencia visual que los otros links */
.nav-trigger.nav-link{
  font-family:var(--sans);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:750;
  color:var(--navy);
  padding:30px 0;
}
.nav-trigger.nav-link:hover,
.nav-trigger.nav-link:focus-visible{color:var(--navy-2);}
@media (max-width:1320px){
  .nav-trigger.nav-link{font-size:11px;letter-spacing:.04em;padding:27px 0;}
}
@media (max-width:1180px){
  .nav-trigger.nav-link{font-size:12px;letter-spacing:.045em;padding:11px 6px;}
}
@media (max-height:820px) and (min-width:900px){
  .nav-trigger.nav-link{font-size:10.5px;padding:23px 0;letter-spacing:.04em;}
}


/* Ajuste v12: hero con imágenes reales en <img> para evitar fallas de carga y mostrar más santuario */
.hero-slider{
  background:var(--navy-2)!important;
  isolation:isolate;
}
.hero-slides,
.hero-slide,
.hero-overlay{
  position:absolute;
  inset:0;
}
.hero-slides{
  z-index:0;
  overflow:hidden;
  background:var(--navy-2);
}
.hero-slide{
  opacity:0;
  overflow:hidden;
  background:var(--navy-2);
  transition:opacity 1800ms ease;
  will-change:opacity;
}
.hero-slide.is-active{
  opacity:1;
}
.hero-slide::before,
.hero-slide::after{
  content:none!important;
  display:none!important;
}
.hero-slide-bg,
.hero-slide-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  user-select:none;
}
.hero-slide-bg{
  object-fit:cover;
  object-position:center center;
  filter:blur(18px) saturate(1.08);
  opacity:.54;
  transform:scale(1.08);
}
.hero-slide-photo{
  object-fit:contain;
  object-position:right center;
  filter:saturate(1.02);
  opacity:.96;
}
.hero-slide-one .hero-slide-photo{object-position:88% center;}
.hero-slide-two .hero-slide-photo{object-position:84% center;}
.hero-slide-three .hero-slide-photo{object-position:88% center;}
.hero-slide.is-active .hero-slide-bg{
  animation:heroImgBgBreath 8200ms ease-in-out forwards;
}
.hero-slide.is-active .hero-slide-photo{
  animation:heroImgPhotoBreath 8200ms ease-in-out forwards;
}
@keyframes heroImgBgBreath{
  0%{transform:scale(1.08) translate3d(0,0,0);}
  100%{transform:scale(1.13) translate3d(-1.1%,-.5%,0);}
}
@keyframes heroImgPhotoBreath{
  0%{transform:scale(1.00) translate3d(0,0,0);}
  100%{transform:scale(1.045) translate3d(-.8%,-.2%,0);}
}
.hero-overlay{
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(6,31,69,.92) 0%,rgba(6,31,69,.76) 34%,rgba(6,31,69,.34) 66%,rgba(6,31,69,.10) 100%),
    linear-gradient(180deg,rgba(6,31,69,.06) 0%,rgba(6,31,69,.05) 55%,rgba(6,31,69,.28) 100%);
}
.hero-slider:after{
  z-index:1;
  pointer-events:none;
}
.hero-slider .hero-content{
  z-index:2;
}
@media (prefers-reduced-motion: reduce){
  .hero-slide{transition:none;}
  .hero-slide-bg,
  .hero-slide-photo{animation:none!important;transform:none!important;}
}
@media (max-width:760px){
  .hero-slide-photo{object-fit:cover;object-position:center center;}
  .hero-slide-one .hero-slide-photo{object-position:56% center;}
  .hero-slide-two .hero-slide-photo{object-position:50% center;}
  .hero-slide-three .hero-slide-photo{object-position:56% center;}
}

/* Ajuste v13: hero panorámico con recorte intencional, movimiento sutil y overlay azul */
.hero-slider{
  background-image:none!important;
  background-color:var(--navy-2)!important;
  isolation:isolate;
}
.hero-slides,
.hero-slide,
.hero-overlay{
  position:absolute;
  inset:0;
}
.hero-slides{
  z-index:0;
  overflow:hidden;
  background:var(--navy-2);
}
.hero-slide{
  opacity:0;
  overflow:hidden;
  background:var(--navy-2);
  transition:opacity 1700ms ease;
  will-change:opacity;
}
.hero-slide.is-active{opacity:1;}
.hero-slide::before,
.hero-slide::after{
  content:none!important;
  display:none!important;
}
.hero-slide-bg{
  display:none!important;
}
.hero-slide-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover!important;
  filter:saturate(1.03) contrast(1.02);
  opacity:1;
  pointer-events:none;
  user-select:none;
  transform:scale(1.015);
  transform-origin:center center;
}
/* Encuadre por foto: se privilegia que el Santuario/Mater queden presentes sin romper el hero horizontal */
.hero-slide-one .hero-slide-photo{object-position:64% 43%;}
.hero-slide-two .hero-slide-photo{object-position:50% 42%;}
.hero-slide-three .hero-slide-photo{object-position:66% 45%;}
.hero-slide.is-active .hero-slide-photo{
  animation:heroCoverBreath 8200ms ease-in-out forwards;
}
@keyframes heroCoverBreath{
  0%{transform:scale(1.015) translate3d(0,0,0);}
  100%{transform:scale(1.075) translate3d(-.7%,-.25%,0);}
}
.hero-overlay{
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(6,31,69,.91) 0%,rgba(6,31,69,.74) 34%,rgba(6,31,69,.34) 63%,rgba(6,31,69,.08) 100%),
    linear-gradient(180deg,rgba(6,31,69,.08) 0%,rgba(6,31,69,.05) 52%,rgba(6,31,69,.32) 100%);
}
.hero-slider:after{
  z-index:1;
  pointer-events:none;
}
.hero-slider .hero-content{z-index:2;}
@media (prefers-reduced-motion: reduce){
  .hero-slide{transition:none;}
  .hero-slide-photo{animation:none!important;transform:none!important;}
}
@media (max-width:760px){
  .hero-slide-one .hero-slide-photo{object-position:58% 44%;}
  .hero-slide-two .hero-slide-photo{object-position:50% 43%;}
  .hero-slide-three .hero-slide-photo{object-position:58% 45%;}
}

/* v14 - Ajustes de contenido claro */
.jubilee-logo-card-round{
  border-radius:34px;
  aspect-ratio:auto;
  width:min(100%,330px);
  min-height:250px;
  display:grid;
  place-items:center;
  padding:26px 30px;
  margin-inline:auto;
  overflow:visible;
  background:rgba(255,255,255,.96);
}
.jubilee-logo-card-round img{max-width:260px;width:100%;height:auto;margin:0;display:block;}
.jubilee-info-box{margin-top:24px;background:#fff;border:1px solid rgba(8,45,99,.1);border-radius:22px;padding:22px 24px;box-shadow:0 12px 34px rgba(7,37,80,.06);}
.jubilee-info-box p{margin:0 0 9px;}
.jubilee-info-box p:last-child{margin-bottom:0;}
.form-note-links a{font-weight:850;color:var(--navy);text-decoration:none;}
.form-note-links a:hover{text-decoration:underline;}
.jubilee-form select option:disabled{color:#999;background:#f3f3f3;}
.stats-grid-four{grid-template-columns:repeat(4,1fr);}
@media (max-width:1080px){.stats-grid-four{grid-template-columns:repeat(2,1fr);}}
@media (max-width:760px){.stats-grid-four{grid-template-columns:1fr;}.jubilee-logo-card-round{width:min(100%,260px);min-height:210px;padding:22px;}.jubilee-logo-card-round img{max-width:210px;}}

/* v16 - Correcciones 2 Martina / ajuste institucional */
/* Header: solución elegante para que el logo no quede flotando al centro en pantallas amplias */
.site-header .header-inner{
  width:min(1500px, calc(100% - 44px));
  max-width:none;
  height:78px;
}
.brand img{width:208px;}
.main-nav{gap:20px;}
.header-social{flex:0 0 auto;}
@media (min-width:1501px){
  .site-header .header-inner{width:min(1540px, calc(100% - 64px));}
}
@media (max-width:1180px){
  .site-header .header-inner{width:min(1180px, calc(100% - 36px));height:74px;}
  .brand img{width:202px;}
}
@media (max-width:760px){
  .site-header .header-inner{height:68px;}
  .brand img{width:182px;}
}

/* Menú más limpio: Quiénes somos contiene las áreas institucionales */
.subnav{min-width:270px;}

/* Noticias sin contenido aún */
.empty-state{
  background:linear-gradient(135deg,#fff,var(--blue-soft));
  border:1px solid rgba(8,45,99,.1);
  border-radius:24px;
  padding:38px;
  text-align:center;
}
.empty-state h2{margin-top:0!important;}
.news-empty p{color:var(--muted);margin:10px 0 0;}

/* Ambientes sanos */
.safe-email-wrap{text-align:center;margin:26px 0!important;}
.safe-email{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  border-radius:999px;
  padding:14px 26px;
  background:var(--gold);
  color:#fff!important;
  font-weight:900;
  letter-spacing:.015em;
  line-height:1.25;
  box-shadow:0 14px 32px rgba(197,155,56,.22);
  overflow-wrap:anywhere;
}
.safe-email:hover{transform:translateY(-1px);text-decoration:none!important;}
@media (max-width:560px){.safe-email{border-radius:22px;padding:13px 18px;font-size:14px;}}

/* Jubileo: portada sin logo, lema en una línea cuando el espacio lo permite */
.jubilee-hero-grid-single{
  grid-template-columns:minmax(0, 1fr);
  max-width:1180px;
}
.jubilee-hero-no-logo .jubilee-hero-copy{
  max-width:1120px;
}
.jubilee-hero-no-logo .jubilee-hero-copy h1{
  white-space:nowrap;
  font-size:clamp(54px, 6.25vw, 96px);
  letter-spacing:-.055em;
}
.jubilee-hero-no-logo .jubilee-hero-lead{
  max-width:850px;
}
.jubilee-hero-buttons .btn,
.btn-jubilee-large{
  padding:17px 27px;
  font-size:17px;
}
@media (max-width:1160px){
  .jubilee-hero-no-logo .jubilee-hero-copy h1{white-space:normal;font-size:clamp(50px, 8vw, 82px);}
}
@media (max-width:760px){
  .jubilee-hero-buttons .btn,.btn-jubilee-large{padding:14px 21px;font-size:15px;}
}

/* Bloque celebramos, más equilibrado y legible */
.jubilee-intro-centered{align-items:center;}
.jubilee-intro-title{align-self:center;}
.jubilee-intro-title .section-title{line-height:1.03;}
.jubilee-prose-justified{text-align:justify;text-justify:inter-word;}
.jubilee-prose-justified .jubilee-info-box{text-align:left;}
@media (max-width:1080px){.jubilee-prose-justified{text-align:left;}}

/* Experiencias AM / PM */
.jubilee-activity-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
}
.activity-column-card{
  background:#fff;
  border:1px solid rgba(8,45,99,.1);
  border-radius:28px;
  padding:32px;
  box-shadow:0 12px 40px rgba(7,37,80,.07);
}
.activity-column-card h3{
  font-family:var(--serif);
  color:var(--navy);
  font-size:34px;
  line-height:1.08;
  margin:18px 0 22px;
}
.activity-column-card ul{margin:0;padding:0;list-style:none;display:grid;gap:17px;}
.activity-column-card li{
  color:#45546f;
  line-height:1.45;
  padding-left:18px;
  border-left:3px solid rgba(197,155,56,.45);
}
.activity-column-card li strong{color:var(--navy);}
@media (max-width:900px){.jubilee-activity-columns{grid-template-columns:1fr;}.activity-column-card{padding:26px;}}

/* Formulario Jubileo */
.children-fieldset[hidden]{display:none!important;}
.data-use-message{
  background:var(--cream);
  border:1px solid rgba(197,155,56,.25);
  border-radius:20px;
  padding:16px 18px;
  color:#5c5446;
  font-weight:750;
}
.form-note-contact .mail-icon-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  word-break:break-word;
}
.form-note-contact .mail-icon-link span{overflow-wrap:anywhere;}
.jubilee-form select option:first-child{color:#6a7488;}

/* Ajustes menores de páginas internas */
.prose a{color:var(--navy);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.prose a.btn,.prose .safe-email{text-decoration:none;}

/* ===== V19 · imágenes y ajustes visuales ===== */
.home-cards{margin-bottom:96px;}
.page-hero.page-hero-image{
  background:none;
  padding:96px 0 86px;
  isolation:isolate;
}
.page-hero.page-hero-image::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,rgba(6,31,69,.86) 0%,rgba(6,31,69,.68) 34%,rgba(6,31,69,.30) 64%,rgba(6,31,69,.22) 100%),var(--page-hero-image);
  background-size:cover;
  background-position:var(--page-hero-position, center center);
  background-repeat:no-repeat;
  z-index:0;
}
.page-hero.page-hero-image::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  width:auto;
  height:110px;
  right:auto;
  bottom:0;
  border-radius:0;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 92%);
  z-index:1;
}
.page-hero.page-hero-image .container{position:relative;z-index:2;}
.page-hero-image .eyebrow{color:#e6c875;}
.page-hero-image p{max-width:780px;}
.section-compact{padding-top:18px;padding-bottom:88px;}
.side-card-rich img{aspect-ratio:4/5;object-fit:cover;width:100%;}
.visual-strip{display:grid;gap:22px;}
.visual-strip-two{grid-template-columns:repeat(2,minmax(0,1fr));}
.visual-strip-three{grid-template-columns:repeat(3,minmax(0,1fr));}
.visual-card{margin:0;border-radius:26px;overflow:hidden;box-shadow:0 12px 36px rgba(7,37,80,.12);background:#fff;}
.visual-card img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;}

/* home hero image positions tuned for new photographs */
.hero-slide-one .hero-slide-photo{object-position:52% 34% !important;}
.hero-slide-two .hero-slide-photo{object-position:56% 50% !important;}
.hero-slide-three .hero-slide-photo{object-position:50% 34% !important;}
.hero-slide-one .hero-slide-bg{object-position:52% 34% !important;}
.hero-slide-two .hero-slide-bg{object-position:56% 50% !important;}
.hero-slide-three .hero-slide-bg{object-position:50% 34% !important;}

@media (max-width:1080px){
  .visual-strip-three{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:760px){
  .page-hero.page-hero-image{padding:72px 0 64px;}
  .page-hero.page-hero-image::before{background-position:var(--page-hero-position-mobile, var(--page-hero-position, center center));}
  .visual-strip-two,.visual-strip-three{grid-template-columns:1fr;}
  .visual-card img{min-height:220px;}
  .home-cards{margin-bottom:72px;}
  .hero-slide-one .hero-slide-photo,.hero-slide-one .hero-slide-bg{object-position:56% 38% !important;}
  .hero-slide-two .hero-slide-photo,.hero-slide-two .hero-slide-bg{object-position:60% 48% !important;}
  .hero-slide-three .hero-slide-photo,.hero-slide-three .hero-slide-bg{object-position:52% 35% !important;}
}


/* ===== V21 · hero interno con imagen real =====
   Evita que el fondo dependa de url() dentro de variables CSS.
   La imagen ahora es un <img> real debajo del overlay azul.
*/
.page-hero.page-hero-image{
  background:none !important;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.page-hero.page-hero-image .page-hero-bg-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--page-hero-position, center center);
  z-index:0;
  display:block;
  opacity:1;
  transform:scale(1.02);
}

.page-hero.page-hero-image::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,31,69,.86) 0%,rgba(6,31,69,.68) 34%,rgba(6,31,69,.30) 64%,rgba(6,31,69,.18) 100%) !important;
  z-index:1;
}

.page-hero.page-hero-image::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0 !important;
  width:auto !important;
  height:110px !important;
  right:auto !important;
  bottom:0 !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 92%) !important;
  z-index:2 !important;
}

.page-hero.page-hero-image .container{
  position:relative;
  z-index:3;
}

@media (max-width:760px){
  .page-hero.page-hero-image .page-hero-bg-img{
    object-position:var(--page-hero-position-mobile, var(--page-hero-position, center center));
  }
}


/* ===== V22 · afinado de heroes internos ===== */
.page-hero.page-hero-image{
  min-height: 340px;
  padding: 78px 0 66px !important;
}
.page-hero.page-hero-image .page-hero-bg-img{
  transform: scale(1.01);
}
.page-hero.page-hero-image::before{
  background: linear-gradient(90deg, rgba(6,31,69,.78) 0%, rgba(6,31,69,.60) 32%, rgba(6,31,69,.34) 62%, rgba(6,31,69,.16) 100%) !important;
}
.page-hero.page-hero-image::after{
  height: 88px !important;
}
.page-hero.page-hero-image .container{
  max-width: min(1120px, calc(100% - 48px));
}
.page-hero.page-hero-image h1{
  font-size: clamp(42px, 6vw, 68px);
  max-width: 900px;
  margin: 10px 0 14px;
}
.page-hero.page-hero-image p{
  font-size: 18px;
  color: rgba(255,255,255,.92);
  max-width: 700px;
}
.page-hero.page-hero-image .eyebrow{
  margin-bottom: 6px;
}
@media (max-width: 760px){
  .page-hero.page-hero-image{
    min-height: 250px;
    padding: 56px 0 48px !important;
  }
  .page-hero.page-hero-image::after{
    height: 64px !important;
  }
  .page-hero.page-hero-image h1{
    font-size: clamp(34px, 8vw, 48px);
    line-height: 0.98;
  }
  .page-hero.page-hero-image p{
    font-size: 16px;
    max-width: 92%;
  }
}


/* ===== V23 · ajustes puntuales de heroes ===== */
.page-hero-presencia,
.page-hero-contact{
  min-height: 380px;
}
.page-hero-apostolados{
  min-height: 350px;
}
.page-hero-news{
  min-height: 350px;
}
.page-hero-contact h1{
  font-size: clamp(50px, 7vw, 82px) !important;
}
.page-hero-contact p{
  max-width: 760px !important;
}
@media (max-width: 760px){
  .page-hero-presencia,
  .page-hero-contact,
  .page-hero-apostolados,
  .page-hero-news{
    min-height: 280px;
  }
  .page-hero-contact h1{
    font-size: clamp(40px, 10vw, 56px) !important;
  }
}


/* ===== V24 · Correcciones 3 Jubileo ===== */
:root{
  --navy:#073a78;
  --navy-2:#052f63;
  --blue-soft:#edf6ff;
}
.anchor-target{
  position:relative;
  top:-110px;
  display:block;
  visibility:hidden;
}
.timeline-item span small{
  display:block;
  margin-top:8px;
  color:#53647d;
  font-weight:650;
  line-height:1.55;
}
.timeline-item span strong{
  color:var(--navy);
}
.jubilee-form-schedule{
  margin-top:20px;
  background:#fff;
  border:1px solid rgba(8,45,99,.10);
  border-radius:24px;
  padding:24px;
  box-shadow:0 12px 34px rgba(7,37,80,.06);
}
.jubilee-form-schedule p{
  margin:0 0 10px;
  font-size:15px;
  line-height:1.45;
  color:#394762;
}
.jubilee-form-schedule ul{
  margin:0 0 12px 24px;
  padding:0;
  color:#394762;
  font-size:14px;
  line-height:1.45;
}
.jubilee-form-schedule li{margin:2px 0;}
.jubilee-form legend,
.activity-column-card h3,
.section-title{
  letter-spacing:-.018em;
}
.jubilee-form-inline-contact{
  margin-top:0;
}
.jubilee-form-inline-contact + .data-use-message{
  margin-top:-8px;
}
.data-use-message{
  background:var(--cream);
  border:1px solid rgba(197,155,56,.24);
  border-radius:18px;
  padding:16px 18px;
  color:#5f5b50;
  font-weight:750;
}
.jubilee-hero-buttons .btn-jubilee-large{
  min-width:128px;
}
@media (max-width:760px){
  .jubilee-form-schedule{padding:20px;}
  .jubilee-hero-buttons .btn-jubilee-large{min-width:0;}
}


/* Ajuste v25: inscripción del Jubileo centrada y a todo el ancho */
.jubilee-form-layout-single{
  grid-template-columns:minmax(0,1fr);
  max-width:1080px;
  margin-inline:auto;
}
.jubilee-form-layout-single .jubilee-form{
  width:100%;
}

/* V26: corrige el desplazamiento horizontal del submenú institucional en móvil. */
@media (max-width:1180px){
  .main-nav .nav-group.is-open .subnav,
  .main-nav .nav-group:focus-within .subnav{
    display:grid;
    position:static;
    left:auto;
    right:auto;
    width:auto;
    max-width:100%;
    min-width:0;
    margin:2px 0 8px 12px;
    transform:none;
  }
}

@media (max-width:1080px){.contact-top{grid-template-columns:1fr}.contact-info-header{grid-template-columns:1fr}.contact-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* v31 - Seguridad del panel administrativo (sin cambios en la visual pública) */
.admin-inline-form{display:inline-flex;margin:0}
.admin-inline-form .btn{font:inherit;cursor:pointer}
.admin-actions{align-items:center}
.admin-logout-secondary{margin-top:18px;text-align:center}
.admin-text-button{border:0;background:transparent;color:var(--navy);font:inherit;font-weight:850;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.admin-actions{width:100%;align-items:stretch}.admin-actions>a,.admin-inline-form,.admin-inline-form .btn{width:100%}}

/* ===== V36 · llamado destacado al Jubileo en la portada ===== */
.home-jubilee-callout{
  position:relative;
  z-index:4;
  margin-top:-76px;
  padding-bottom:34px;
}
.home-jubilee-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  align-items:center;
  gap:30px;
  padding:24px 30px;
  border:1px solid rgba(197,155,56,.32);
  border-radius:30px;
  background:linear-gradient(135deg,#fff 0%,#fbf7ed 58%,#eef5fb 100%);
  box-shadow:0 22px 60px rgba(7,37,80,.16);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.home-jubilee-card:hover{
  transform:translateY(-4px);
  border-color:rgba(197,155,56,.56);
  box-shadow:0 28px 70px rgba(7,37,80,.20);
}
.home-jubilee-card:focus-visible{
  outline:3px solid rgba(197,155,56,.55);
  outline-offset:4px;
}
.home-jubilee-logo{
  width:136px;
  height:136px;
  display:grid;
  place-items:center;
  padding:10px;
  border-radius:50%;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(8,45,99,.08);
  box-shadow:0 12px 34px rgba(7,37,80,.10);
}
.home-jubilee-logo img{
  width:116px;
  height:116px;
  object-fit:contain;
}
.home-jubilee-kicker{
  display:block;
  color:var(--gold);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.home-jubilee-copy h2{
  margin:0 0 7px;
  color:var(--navy);
  font-family:var(--serif);
  font-size:clamp(32px,3.4vw,46px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.025em;
}
.home-jubilee-copy p{
  max-width:650px;
  margin:0;
  color:#465570;
  font-size:17px;
  line-height:1.5;
}
.home-jubilee-button{
  min-width:218px;
  white-space:nowrap;
  box-shadow:0 14px 30px rgba(197,155,56,.22);
}
.home-jubilee-card:hover .home-jubilee-button{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(197,155,56,.30);
}
.home-cards{
  margin-top:0;
}
@media (max-width:960px){
  .home-jubilee-card{
    grid-template-columns:126px minmax(0,1fr);
    gap:24px;
  }
  .home-jubilee-logo{width:118px;height:118px;}
  .home-jubilee-logo img{width:100px;height:100px;}
  .home-jubilee-button{
    grid-column:2;
    justify-self:start;
    min-width:0;
  }
}
@media (max-width:760px){
  .home-jubilee-callout{
    margin-top:-46px;
    padding-bottom:26px;
  }
  .home-jubilee-card{
    grid-template-columns:1fr;
    gap:14px;
    padding:24px 22px 26px;
    text-align:center;
  }
  .home-jubilee-logo{
    width:112px;
    height:112px;
    margin:0 auto;
  }
  .home-jubilee-logo img{width:94px;height:94px;}
  .home-jubilee-copy p{font-size:16px;}
  .home-jubilee-button{
    grid-column:1;
    justify-self:stretch;
    width:100%;
    margin-top:4px;
  }
  .home-cards{margin-top:0;}
}


/* ===== V38 · Cuenta regresiva para apertura de inscripciones ===== */
.jubilee-registration-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 20%,rgba(197,155,56,.12),transparent 30%),
    radial-gradient(circle at 88% 80%,rgba(7,58,120,.10),transparent 34%),
    linear-gradient(180deg,#f8fbff 0%,#fffaf0 100%);
}
.jubilee-registration-card{
  position:relative;
  max-width:980px;
  margin-inline:auto;
  padding:clamp(34px,6vw,66px);
  overflow:hidden;
  text-align:center;
  border:1px solid rgba(197,155,56,.30);
  border-radius:34px;
  background:rgba(255,255,255,.92);
  box-shadow:0 28px 80px rgba(7,37,80,.13);
}
.jubilee-registration-card::before{
  content:'';
  position:absolute;
  width:240px;
  height:240px;
  top:-130px;
  right:-90px;
  border-radius:50%;
  background:rgba(197,155,56,.10);
}
.jubilee-registration-card::after{
  content:'';
  position:absolute;
  width:210px;
  height:210px;
  left:-120px;
  bottom:-130px;
  border-radius:50%;
  background:rgba(7,58,120,.08);
}
.jubilee-registration-card > *{
  position:relative;
  z-index:1;
}
.jubilee-registration-card .section-title{
  max-width:760px;
  margin:8px auto 18px;
}
.jubilee-registration-lead{
  max-width:760px;
  margin:0 auto 14px;
  color:var(--navy);
  font-size:clamp(18px,2.3vw,22px);
  line-height:1.55;
}
.jubilee-registration-copy{
  max-width:760px;
  margin:0 auto;
  color:#4c5b73;
  font-size:17px;
  line-height:1.7;
}
.jubilee-countdown{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  max-width:760px;
  margin:34px auto 30px;
}
.jubilee-countdown-item{
  min-width:0;
  padding:22px 12px 18px;
  border:1px solid rgba(8,45,99,.10);
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#f5f8fc 100%);
  box-shadow:0 12px 30px rgba(7,37,80,.08);
}
.jubilee-countdown-item strong{
  display:block;
  color:var(--navy);
  font-family:var(--serif);
  font-size:clamp(36px,5.8vw,58px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;
}
.jubilee-countdown-item span{
  display:block;
  margin-top:9px;
  color:#6a7487;
  font-size:12px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.jubilee-registration-button{
  min-width:280px;
  justify-content:center;
  margin-top:2px;
  box-shadow:0 16px 34px rgba(7,58,120,.20);
}
.jubilee-registration-button.is-disabled{
  pointer-events:none;
  cursor:not-allowed;
  opacity:.64;
  filter:saturate(.55);
  box-shadow:none;
}
.jubilee-registration-status{
  margin:18px auto 0;
  color:#677187;
  font-size:14px;
  line-height:1.55;
}
.jubilee-registration-noscript{
  max-width:680px;
  margin:18px auto 0;
  padding:12px 16px;
  border-radius:14px;
  background:#fff6dd;
  color:#72591d;
  font-size:14px;
}
.jubilee-registration-card.is-open .jubilee-countdown{
  display:none;
}
.jubilee-registration-card.is-open .jubilee-registration-button:not(.is-disabled){
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
  box-shadow:0 16px 34px rgba(197,155,56,.28);
}
@media (max-width:700px){
  .jubilee-registration-card{
    border-radius:26px;
    padding:34px 20px;
  }
  .jubilee-countdown{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:28px auto 26px;
  }
  .jubilee-countdown-item{
    padding:18px 10px 15px;
    border-radius:18px;
  }
  .jubilee-registration-button{
    width:100%;
    min-width:0;
  }
}
