/*
 * COLORES FÁCILES DE CAMBIAR
 * Cambia solo el código que empieza por # y conserva el punto y coma.
 * Consulta editable/GUIA-EDICION.md antes de modificar el resto de este archivo.
 */
@font-face{font-family:Capellina;src:local("Capellina Caps"),local("CapellinaCaps"),url("fonts/CapellinaCaps.woff2") format("woff2"),url("fonts/CapellinaCaps.woff") format("woff");font-style:normal;font-weight:400;font-display:swap;size-adjust:107.5%}
@font-face{font-family:Capellina;src:local("Capellina Caps Bold"),local("CapellinaCaps-Bold"),url("fonts/CapellinaCaps-Bold.woff2") format("woff2"),url("fonts/CapellinaCaps-Bold.woff") format("woff");font-style:normal;font-weight:700;font-display:swap;size-adjust:107.5%}
:root{
  --green:#2e482b;       /* Verde principal */
  --green-dark:#223720;  /* Verde oscuro del pie */
  --gold:#997c0b;        /* Dorado principal */
  --gold-light:#bea338;  /* Dorado claro */
  --white:#fff;
  --paper:#f6f4ee;       /* Fondo crema */
  --ink:#101310;         /* Texto principal */
  --muted:#5f655d;       /* Texto secundario */
  --line:#d9d8d0;        /* Líneas y bordes */
  --display:Capellina,"Times New Roman",Georgia,serif;
  --body:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:400 16px/1.65 var(--body)}a{color:inherit}.skip{position:fixed;top:-5rem;left:1rem;background:var(--white);padding:.7rem 1rem;z-index:99}.skip:focus{top:1rem}.top{height:96px;padding:0 clamp(1rem,4vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.98);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.brand img{width:58px;height:70px;object-fit:contain}.brand span{display:grid;line-height:.85;text-transform:uppercase}.brand b{font:400 .7rem var(--display);letter-spacing:.05em}.brand strong{font:400 1.45rem var(--display);letter-spacing:.02em}.brand small{font:400 .62rem var(--display);letter-spacing:.12em;margin-top:.35rem}nav{display:flex;align-items:center;gap:clamp(.7rem,1.5vw,1.5rem)}nav a{text-decoration:none;text-transform:uppercase;font-size:.69rem;font-weight:700;letter-spacing:.08em;padding:.55rem 0;border-bottom:2px solid transparent}nav a:hover,nav a:focus{border-color:var(--gold)}nav .nav-cta{background:var(--green);color:var(--white);padding:.7rem 1rem;border:0}.menu{display:none}.hero{min-height:calc(100vh - 96px);background:var(--green);color:var(--white);display:grid;grid-template-columns:1.05fr .95fr;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.11);border-radius:50%;left:-230px;bottom:-220px}.hero-copy{padding:clamp(5rem,10vw,9rem) 4rem clamp(5rem,8vw,8rem) max(1.3rem,8vw);align-self:center;position:relative;z-index:1}.eyebrow{color:var(--gold);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;margin:0 0 1.2rem}.eyebrow.light{color:#d8c25d}.hero h1,.identity h2,.titulares h2,.section-head h2,.join h2{font:400 clamp(3.3rem,6.5vw,6.8rem)/.88 var(--display);letter-spacing:-.035em;margin:.25rem 0 1.7rem;text-transform:uppercase}.hero h1 em{color:#d8c25d;font-style:normal}.hero-lead{font-size:1.08rem;max-width:500px;color:#eef1ec}.actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:2.4rem}.button{display:inline-block;text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:.9rem 1.2rem}.primary{background:var(--gold);color:var(--white)}.ghost{border:1px solid rgba(255,255,255,.7)}.hero-art{min-height:620px;background:linear-gradient(180deg,rgba(34,55,32,.08),rgba(34,55,32,.5)),linear-gradient(145deg,#8f947f,#30372e);display:grid;place-items:center}.hero-art span,.photo span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.7);padding:1rem;text-align:center}.hero-side{position:absolute;right:1rem;bottom:2rem;margin:0;writing-mode:vertical-rl;text-transform:uppercase;font-size:.58rem;letter-spacing:.2em}.next-event{padding:2.5rem max(1.3rem,8vw);background:var(--paper)}.event-content{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2.4rem}.event-content time{display:flex;gap:1rem;align-items:center;border-right:1px solid var(--gold);padding-right:2.4rem}.event-content time strong{font:400 4.8rem/1 var(--display);color:var(--green)}.event-content time span{font-size:.66rem;font-weight:700;line-height:1.45;letter-spacing:.1em}.event-content h2{font:400 2.2rem/1 var(--display);text-transform:uppercase;margin:0 0 .3rem}.event-content p{margin:0;color:var(--muted)}.text-link{text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.1em}.text-link span{color:var(--gold);font-size:1rem}.identity{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,9rem);padding:9rem max(1.3rem,8vw);align-items:center}.identity-mark{background:var(--paper);min-height:600px;display:grid;place-items:center;position:relative}.identity-mark:before{content:"IDENTIDAD";position:absolute;left:1rem;top:1rem;color:var(--gold);font-size:.6rem;font-weight:700;letter-spacing:.2em}.identity-mark img{width:min(75%,400px);max-height:520px;object-fit:contain}.identity h2,.section-head h2{font-size:clamp(3rem,5.2vw,5.4rem);color:var(--green)}.lead{font:400 1.55rem/1.35 var(--display);color:var(--green);max-width:1000px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.values article{border-top:2px solid var(--gold);padding-top:1.1rem}.values span,.cards span{font-size:.66rem;font-weight:700;color:var(--gold);letter-spacing:.12em}.values h3,.cards h3,.news h3{font:400 1.7rem/1.1 var(--display);text-transform:uppercase;margin:.6rem 0}.values p{font-size:.88rem;color:var(--muted)}.titulares{background:var(--green);color:var(--white);padding:8rem max(1.3rem,8vw)}.titulares>header{max-width:800px}.titulares h2{font-size:clamp(3.4rem,6vw,6.3rem)}.portrait-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);margin-top:5rem}.portrait.offset{margin-top:8rem}.photo{min-height:560px;background:linear-gradient(145deg,#a8aa9f,#373d35);display:grid;place-items:center}.portrait p{color:#d8c25d;text-transform:uppercase;font-size:.65rem;letter-spacing:.17em;margin:1.5rem 0 .2rem}.portrait h3{font:400 clamp(2.6rem,4vw,4.5rem)/.95 var(--display);text-transform:uppercase;margin:0 0 1rem}.portrait a{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.agenda,.news{padding:9rem max(1.3rem,8vw)}.section-head{display:grid;grid-template-columns:1.7fr 1fr;gap:4rem;align-items:end}.section-head>p{color:var(--muted);padding-bottom:1rem}.agenda-list{margin-top:4rem;border-top:1px solid var(--line)}.agenda-list article{display:grid;grid-template-columns:180px 1fr auto;gap:2rem;align-items:center;padding:2rem 1rem;border-bottom:1px solid var(--line);transition:.2s}.agenda-list article:hover{background:var(--paper)}.agenda-list time{display:flex;align-items:center;gap:1rem}.agenda-list time b{font:400 3.2rem var(--display);color:var(--green)}.agenda-list time span{font-size:.62rem;text-transform:uppercase;line-height:1.4}.tag{color:var(--gold);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.agenda-list h3{font:400 2rem/1 var(--display);text-transform:uppercase;margin:.2rem 0}.agenda-list p{margin:.25rem 0;color:var(--muted)}.agenda-list>a{text-decoration:none;color:var(--gold);font-size:1.5rem}.patrimonio{background:var(--green);color:var(--white);padding:9rem max(1.3rem,8vw)}.patrimonio .section-head h2{color:var(--white)}.patrimonio .section-head>p{color:#ced5cb}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem}.cards article{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.5rem}.photo.small{min-height:300px;margin-bottom:1.5rem}.cards h3{color:var(--white)}.news-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-top:4rem}.news-grid article{padding:2rem;background:var(--paper);border-top:2px solid var(--gold)}.news-grid .featured{grid-row:span 2}.news-grid .featured .photo{margin:-2rem -2rem 2rem}.news h3{font-size:2rem;color:var(--green)}.news-grid .featured h3{font-size:2.8rem}.join{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);padding:9rem max(1.3rem,8vw);background:var(--gold);color:var(--white)}.join .eyebrow{color:var(--green-dark)}.join h2{font-size:clamp(3.2rem,5.5vw,5.7rem)}.join li{padding:.5rem 0}.join form{background:var(--white);color:var(--ink);padding:2.5rem;display:grid;gap:1rem}.join label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.join input,.join textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.75rem 0;font:inherit}.join .check{display:flex;gap:.6rem;text-transform:none;font-weight:400}.join .check input{width:auto}.join button{background:var(--green);color:var(--white);border:0;padding:1rem;text-transform:uppercase;font-weight:700;letter-spacing:.1em;display:flex;justify-content:space-between}.join small{color:var(--muted)}footer{background:var(--green-dark);color:#e2e7df;padding:5rem max(1.3rem,8vw) 2rem;display:grid;grid-template-columns:2fr 1.4fr 1fr;gap:3rem;font-size:.82rem}footer a{color:inherit}.footer-brand{display:grid;text-transform:uppercase}.footer-brand strong{font:400 clamp(2.2rem,4vw,4rem)/.86 var(--display)}.footer-brand span{color:#d8c25d;font:400 1rem var(--display);letter-spacing:.2em;margin-top:1rem}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:1.3rem}
@media(max-width:1050px){nav{display:none;position:absolute;top:96px;left:0;right:0;background:var(--white);padding:1.5rem;flex-direction:column;align-items:stretch}nav.open{display:flex}.menu{display:block;background:none;border:1px solid var(--line);padding:.65rem 1rem;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.08em}.identity{grid-template-columns:1fr}.identity-mark{min-height:480px}.section-head{grid-template-columns:1fr}.section-head>p{max-width:650px}.cards{grid-template-columns:1fr 1fr}.cards article:last-child{grid-column:1/-1}}
@media(max-width:720px){.top{height:78px}.brand img{width:45px;height:58px}.brand strong{font-size:1.15rem}.brand b,.brand small{font-size:.53rem}nav{top:78px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:6rem 1.3rem 4rem}.hero h1{font-size:3.45rem}.hero-art{min-height:430px}.hero-side{display:none}.event-content{grid-template-columns:1fr}.event-content time{border-right:0;border-bottom:1px solid var(--gold);padding:0 0 1rem}.identity,.titulares,.agenda,.patrimonio,.news,.join{padding:6rem 1.3rem}.identity-mark{min-height:400px}.values,.portrait-grid,.cards,.join{grid-template-columns:1fr}.portrait.offset{margin-top:2rem}.photo{min-height:430px}.cards article:last-child{grid-column:auto}.agenda-list article{grid-template-columns:100px 1fr auto;gap:1rem}.agenda-list time b{font-size:2.2rem}.agenda-list article>div>p:last-child{display:none}.news-grid{grid-template-columns:1fr}.news-grid .featured{grid-row:auto}.join{gap:3rem}.join form{padding:1.5rem}footer{grid-template-columns:1fr}footer small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Composición de la denominación corporativa */
.brand span{min-height:70px;align-content:center;line-height:.92;transform:translateY(5px)}
.brand b{font-size:.82rem;letter-spacing:.03em;white-space:nowrap}
.brand strong{font-size:2.1rem;font-weight:700;margin-top:.12rem}
.footer-brand{align-content:start}
.footer-brand small{font:400 clamp(.78rem,1.15vw,1rem) var(--display);letter-spacing:.055em}
.footer-brand strong{font-size:clamp(3.2rem,5.5vw,5.4rem);font-weight:700;margin-top:.25rem}
.footer-contact p{margin:0 0:.75rem}
.footer-links{justify-self:end;padding-top:.25rem;display:grid;gap:1.15rem}
.footer-social>span{display:block;margin-bottom:.55rem;color:#d8c25d;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.footer-social-icons{display:flex;align-items:center;gap:.7rem}
.footer-social-icons img{display:block;width:36px;height:36px;object-fit:contain;filter:invert(1);opacity:.88}
.footer-nav{display:flex;gap:1rem;flex-wrap:wrap}
.footer-nav a{font-size:.76rem}
.footer-copyright{line-height:1.45}

@media(min-width:721px){
  site-footer footer{
    grid-template-columns:minmax(300px,1.55fr) minmax(230px,1fr) auto;
    column-gap:clamp(1.5rem,4vw,3.5rem);
    row-gap:2rem;
    padding:3rem clamp(1.5rem,5vw,4rem) 1.5rem;
  }
  site-footer .footer-brand strong{font-size:clamp(3.2rem,5.5vw,4.8rem)}
}

@media(max-width:720px){
  site-footer footer{gap:1.5rem;padding:3rem 1.3rem 1.5rem}
  site-footer .footer-links{justify-self:start;padding-top:0}
  site-footer .footer-copyright{margin-top:.25rem}
}
@media(max-width:720px){.brand img{width:42px;height:56px}.brand span{min-height:56px;transform:translateY(3px)}.brand strong{font-size:1.38rem}.brand b{font-size:.56rem}.brand small{font-size:.58rem}}

/* Estructura multipágina */
nav a.active{border-color:var(--gold);color:var(--green)}
.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:6rem;padding:8rem max(1.3rem,8vw);align-items:start}.home-intro h2,.content-section h2,.membership h2,.contact-layout h2,.map-section h2{font:400 clamp(3rem,5.2vw,5.5rem)/.9 var(--display);text-transform:uppercase;color:var(--green);margin:.3rem 0 1.5rem}.site-links{display:grid;grid-template-columns:repeat(3,1fr);background:var(--green);padding:5rem max(1.3rem,8vw);gap:1px}.site-links a{color:var(--white);text-decoration:none;padding:2rem;border:1px solid rgba(255,255,255,.2)}.site-links span,.pillar-grid span{color:#d8c25d;font-size:.65rem;letter-spacing:.15em}.site-links h2{font:400 2.4rem var(--display);text-transform:uppercase;margin:.7rem 0}.site-links p{color:#d5ddd3}.page-hero{background:var(--green);color:var(--white);padding:6rem max(1.3rem,8vw) 5rem}.page-hero h1{font:400 clamp(3.5rem,6vw,6.5rem)/.88 var(--display);text-transform:uppercase;margin:.4rem 0 1.25rem}.page-hero>p:last-child{font-size:1.1rem}.page-hero.contact-hero{padding-top:5rem;padding-bottom:4.5rem}.page-hero.contact-hero h1{font-size:clamp(3.5rem,5.2vw,5.5rem)}.gold-hero{background:var(--gold)}.gold-hero .eyebrow{color:var(--green-dark)}.subnav{position:sticky;top:96px;z-index:10;display:flex;justify-content:center;gap:2rem;padding:1rem max(1rem,5vw);background:var(--white);border-bottom:1px solid var(--line)}.subnav a{text-transform:none;font-size:.75rem}.content-section{padding:8rem max(1.3rem,8vw);scroll-margin-top:150px}.content-section.split{display:grid;grid-template-columns:1fr 1fr;gap:7rem}.content-section.tinted{background:var(--paper)}.content-section.dark{background:var(--green);color:var(--white)}.content-section.dark h2{color:var(--white)}.people-grid,.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem}.people-grid article,.pillar-grid article{border-top:2px solid var(--gold);padding:1.5rem;background:var(--white)}.people-grid h3,.pillar-grid h3{font:400 1.5rem var(--display);text-transform:uppercase;color:var(--green);margin:.4rem 0}.pillar-grid{grid-template-columns:repeat(3,1fr)}.photo.compact{min-height:380px}.simple-footer{display:flex;align-items:center;justify-content:space-between;background:var(--green-dark);color:var(--white);padding:2.5rem max(1.3rem,8vw);font-size:.75rem}.simple-footer p{margin:0;text-transform:uppercase}.simple-footer strong{font:400 1.4rem var(--display);margin-left:.4rem}.titular-detail{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center;padding:8rem max(1.3rem,8vw);scroll-margin-top:150px}.titular-detail.reverse{background:var(--paper)}.titular-detail.reverse .photo{order:2}.titular-detail h2{font:400 clamp(3.5rem,6vw,6rem)/.87 var(--display);text-transform:uppercase;color:var(--green);margin:.3rem 0 1.5rem}.titular-detail dl{border-top:1px solid var(--line);margin:2rem 0}.titular-detail dl div{display:grid;grid-template-columns:140px 1fr;padding:.8rem 0;border-bottom:1px solid var(--line)}.titular-detail dt{font-weight:700;text-transform:uppercase;font-size:.68rem;letter-spacing:.08em}.titular-detail dd{margin:0;color:var(--muted)}.calendar-list{margin-top:4rem}.calendar-list article{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:2rem;border-top:1px solid var(--line)}.calendar-list time{display:grid}.calendar-list time b{font:400 2rem var(--display);color:var(--green)}.calendar-list time span{font-size:.7rem}.calendar-list h3{font:400 2rem var(--display);text-transform:uppercase;margin:.2rem 0}.calendar-placeholder,.map-placeholder{min-height:400px;background:var(--white);border:1px solid var(--line);display:grid;place-items:center;text-align:center;color:var(--muted);padding:2rem}.membership,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:7rem;padding:8rem max(1.3rem,8vw)}.membership form,.contact-layout form{background:var(--paper);padding:2.5rem;display:grid;gap:1rem}.membership label,.contact-layout label{font-size:.7rem;font-weight:700;text-transform:uppercase}.membership input,.membership textarea,.contact-layout input,.contact-layout textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.8rem 0;font:inherit}.membership .check,.contact-layout .check{display:flex;text-transform:none;font-weight:400;gap:.6rem}.membership .check input,.contact-layout .check input{width:auto}.membership button,.contact-layout button{background:var(--green);color:var(--white);border:0;padding:1rem;text-transform:uppercase;letter-spacing:.08em}.download-link{display:inline-block;margin-top:1.5rem;color:var(--green);font-weight:700}.contact-layout address{font-style:normal}.contact-layout address div{border-top:1px solid var(--line);padding:1.2rem 0}.contact-layout address span{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--gold)}.map-section{display:grid;grid-template-columns:1fr 1.5fr;gap:6rem;background:var(--green);color:var(--white);padding:7rem max(1.3rem,8vw)}.map-section h2{color:var(--white)}
@media(max-width:900px){.home-intro,.content-section.split,.titular-detail,.membership,.contact-layout,.map-section{grid-template-columns:1fr;gap:3rem}.people-grid{grid-template-columns:1fr 1fr}.titular-detail.reverse .photo{order:0}.subnav{justify-content:flex-start;overflow-x:auto}.site-links{grid-template-columns:1fr}.simple-footer{align-items:flex-start;flex-direction:column;gap:1rem}}
@media(max-width:720px){.page-hero,.page-hero.contact-hero{padding:4.5rem 1.3rem 3.25rem}.page-hero h1,.page-hero.contact-hero h1{font-size:3.2rem}.subnav{top:78px}.home-intro,.content-section,.titular-detail,.membership,.contact-layout,.map-section{padding:5rem 1.3rem}.people-grid,.pillar-grid{grid-template-columns:1fr}.calendar-list article{grid-template-columns:1fr;padding:1.5rem 0}.titular-detail dl div{grid-template-columns:1fr;gap:.25rem}}

/* Página de contacto: formulario, datos de interés y localización. */
.contact-page{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(3rem,7vw,7rem);padding:7rem max(1.3rem,8vw);align-items:start}
.contact-heading{max-width:680px;margin-bottom:2.5rem}.contact-heading h2,.contact-details h2,.contact-map h2{font:400 clamp(2.8rem,5vw,5.2rem)/.9 var(--display);text-transform:uppercase;color:var(--green);margin:.3rem 0 1.2rem}.contact-heading>p:last-child{color:var(--muted)}
.contact-online form{display:grid;gap:1.35rem;background:var(--paper);padding:clamp(1.5rem,4vw,3rem);border-top:3px solid var(--gold)}
.contact-online label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.contact-online input,.contact-online textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.8rem 0 .65rem;font:400 1rem var(--body);text-transform:none;resize:vertical}.contact-online input:focus,.contact-online textarea:focus{outline:0;border-color:var(--gold)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact-online .check{display:flex;align-items:flex-start;gap:.65rem;text-transform:none;font-weight:400;letter-spacing:0}.contact-online .check input{width:auto;margin-top:.35rem}.contact-online button{display:flex;justify-content:space-between;border:0;background:var(--green);color:var(--white);padding:1rem 1.2rem;text-transform:uppercase;font-weight:700;letter-spacing:.08em;cursor:pointer}.form-privacy{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55}
.contact-details{background:var(--green);color:var(--white);padding:clamp(2rem,4vw,3rem)}.contact-details .eyebrow{color:#d8c25d}.contact-details h2{color:var(--white)}.contact-details address{font-style:normal}.contact-details address section{padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.25)}.contact-details address span{color:#d8c25d;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.contact-details h3{font:400 1.35rem/1.2 var(--display);text-transform:uppercase;margin:.45rem 0}.contact-details p{margin:.5rem 0;color:#e2e7df}.contact-details a{overflow-wrap:anywhere}
.contact-map{display:grid;grid-template-columns:.7fr 1.3fr;background:var(--green-dark);color:var(--white);min-height:470px}.contact-map-copy{padding:6rem max(1.3rem,8vw)}.contact-map h2{color:var(--white)}.contact-map-copy>p:not(.eyebrow){max-width:420px;margin-bottom:2rem;color:#d6ddd4}.contact-map iframe{width:100%;height:100%;min-height:470px;border:0}
@media(max-width:900px){.contact-page,.contact-map{grid-template-columns:1fr}.contact-map-copy{padding:5rem max(1.3rem,8vw)}.contact-map iframe{min-height:400px}}
@media(max-width:600px){.contact-page{padding:5rem 1.3rem;gap:3rem}.form-row{grid-template-columns:1fr}.contact-online form,.contact-details{padding:1.5rem}.contact-map-copy{padding:4rem 1.3rem}}

.government-list{margin-top:3.5rem;border-top:1px solid var(--line)}
#junta>.eyebrow{font-size:0}
#junta>.eyebrow::after{content:"Al servicio de los hermanos";font-size:.68rem}
#junta>h2{font-size:0}
#junta>h2::after{content:"Junta de Gobierno";font-size:clamp(3rem,5.2vw,5.5rem)}
.government-list article{display:grid;grid-template-columns:minmax(220px,.7fr) 1fr;align-items:center;gap:1.5rem;padding:1.25rem .5rem;border-bottom:1px solid var(--line)}
.government-list article:hover{background:var(--white)}
.government-list span{color:var(--gold);font-size:.65rem;font-weight:700;letter-spacing:.12em}
.government-list h3{font:400 1.35rem var(--display);text-transform:uppercase;color:var(--green);margin:0}
.government-list p{margin:0;color:var(--muted)}
@media(max-width:720px){.government-list article{grid-template-columns:1fr;gap:.25rem;padding:1.1rem 0}.government-list p{grid-column:auto}}

/* Las fotografías añadidas siguiendo editable/GUIA-EDICION.md llenan su recuadro. */
site-header{display:block}
.photo{overflow:hidden}
.photo img{width:100%;height:100%;min-height:inherit;object-fit:cover}

/* Evita que la navegación secundaria tape los títulos al desplazarse. */
.subnav{position:relative;top:auto;z-index:1}
.content-section,.titular-detail{scroll-margin-top:96px}
@media(max-width:720px){.content-section,.titular-detail{scroll-margin-top:78px}}

/* Contenido histórico, procesional y patrimonial */
.source-note{padding:1.2rem max(1.3rem,8vw);background:#ece9df;color:var(--muted);font-size:.78rem}.source-note a{font-weight:700;color:var(--green)}
.timeline{list-style:none;padding:0;margin:3rem 0 0;border-top:1px solid var(--line)}.timeline li{display:grid;grid-template-columns:140px 1fr;gap:2rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.timeline time{font:400 1.8rem var(--display);color:var(--gold)}.timeline h3{font:400 1.5rem var(--display);text-transform:uppercase;color:var(--green);margin:0}.timeline p{margin:.25rem 0;color:var(--muted)}
.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:3rem 0}.fact-grid article{display:grid;padding:2rem;background:var(--white);border-top:2px solid var(--gold)}.fact-grid strong{font:400 4rem/1 var(--display);color:var(--green)}.fact-grid span{color:var(--muted)}.route{max-width:850px}.notice{padding:1rem;border-left:3px solid var(--gold);background:var(--paper);font-size:.88rem}
.procession-page .content-section{padding-top:5.5rem;padding-bottom:5.5rem}.itinerary-section{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(2.5rem,5vw,5rem);align-items:start}.itinerary-section .itinerary-heading{min-width:0}.itinerary-section .itinerary-heading h2{font-size:clamp(3rem,4.4vw,4.5rem);overflow-wrap:normal}.itinerary-content{display:contents}.itinerary-section .route{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,5rem);max-width:none;margin-top:.5rem}.itinerary-section .route p{margin:0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.28);color:#e2e7df}.itinerary-section .route b{display:block;margin-bottom:.65rem;color:#d8c25d;font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}.itinerary-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;background:rgba(255,255,255,.2)}.itinerary-times article{min-width:0;padding:1.5rem;background:var(--green)}.itinerary-times span{display:block;min-height:2.7em;color:#d8c25d;font-size:.62rem;font-weight:700;line-height:1.35;text-transform:uppercase;letter-spacing:.12em}.itinerary-times strong{display:block;margin:.65rem 0;font:400 clamp(2.2rem,3.5vw,3.6rem)/1 var(--display);color:var(--white)}.itinerary-times p{margin:0;color:#d5ddd3;font-size:.78rem;line-height:1.5}
.content-section.procession-intro{padding:0;background:var(--white)}.procession-intro__photo{width:100%;margin:0;position:relative;overflow:hidden}.procession-intro__photo::after{content:"";position:absolute;z-index:0;inset:0 0 auto;height:40%;background:linear-gradient(180deg,rgba(168,183,202,.48) 0%,rgba(168,183,202,.22) 55%,rgba(168,183,202,0) 100%);pointer-events:none}.procession-intro__photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center bottom}.procession-intro__copy{position:absolute;z-index:1;top:clamp(2rem,4.5vw,4rem);left:max(1.3rem,6vw);width:min(38%,480px);padding:0;color:var(--green-dark)}.procession-intro__copy .eyebrow{margin-bottom:.65rem;color:#6d5810}.procession-intro__copy h2{font-size:clamp(3rem,4.8vw,5rem);line-height:.86;margin:0 0 1.25rem;color:var(--green-dark)}.procession-intro__copy .lead{padding-bottom:1rem;border-bottom:1px solid rgba(34,55,32,.34);font-size:clamp(.98rem,1.2vw,1.18rem);line-height:1.42;color:var(--green-dark)}.procession-intro__copy p:not(.eyebrow):not(.lead){font-size:clamp(.76rem,.86vw,.9rem);line-height:1.58;color:#243b29}.procession-intro__copy p:last-child{margin-bottom:0}.procession-intro__photo figcaption{position:absolute;z-index:1;right:1.25rem;bottom:1rem;margin:0;padding:.45rem .65rem;background:rgba(20,31,19,.72);color:var(--white);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}
@media(min-width:901px){/* SEO-UX-02: deja 3rem aprox. sobre la potencia central sin ocultar el rostro. */.procession-intro__photo img{margin-top:-5rem;object-position:center 25%}.procession-intro__copy{top:2rem;right:2rem;left:2rem;width:auto;display:grid;grid-template-columns:minmax(280px,430px) minmax(320px,420px);grid-template-areas:"eyebrow lead" "title lead" "title detail-one" "title detail-two";justify-content:space-between;column-gap:clamp(8rem,16vw,14rem);align-items:start}.procession-intro__copy .eyebrow{grid-area:eyebrow}.procession-intro__copy h2{grid-area:title;max-width:430px;font-size:clamp(3.8rem,5.5vw,5.8rem)}.procession-intro__copy .lead{grid-area:lead;margin:0 0 1rem}.procession-intro__copy p:nth-of-type(3){grid-area:detail-one;margin:.15rem 0 .7rem}.procession-intro__copy p:nth-of-type(4){grid-area:detail-two;margin:0}}
.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}.collection-grid article{padding:1.5rem;border:1px solid var(--line)}.collection-grid h3{font:400 1.5rem var(--display);text-transform:uppercase;color:var(--green);margin:0 0 .8rem}.collection-grid h3 small{display:block;font:700 .65rem var(--body);color:var(--gold);letter-spacing:.1em;margin-top:.35rem}.collection-grid p{color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:2rem}th,td{text-align:left;padding:1rem;border-bottom:1px solid var(--line)}th{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green)}
.heritage-table-group{margin-top:3rem}.heritage-table-group+.heritage-table-group{margin-top:4rem}.heritage-table-group h3{margin:0;font:400 1.8rem/1.1 var(--display);text-transform:uppercase;color:var(--green)}.heritage-table-group table{table-layout:fixed;margin-top:1.25rem}.heritage-table-group th:nth-child(1),.heritage-table-group td:nth-child(1){width:20%}.heritage-table-group th:nth-child(2),.heritage-table-group td:nth-child(2){width:50%}.heritage-table-group th:nth-child(3),.heritage-table-group td:nth-child(3){width:30%}
@media(max-width:720px){.heritage-table-group table{min-width:620px}}
.literary-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;margin-top:3rem}.literary-grid>article{display:flex;flex-direction:column;min-width:0;padding:clamp(1.75rem,3vw,2.5rem);background:var(--white);border-top:2px solid var(--gold)}.literary-grid header{padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.literary-grid header .eyebrow{margin-bottom:.65rem}.literary-grid h3{margin:0;font:400 clamp(1.8rem,3vw,2.5rem)/1 var(--display);text-transform:uppercase;color:var(--green)}.literary-table{table-layout:fixed;margin:1rem 0 0}.literary-table th,.literary-table td{height:60px;padding-right:0;padding-left:0}.literary-table th{height:48px}.pregones-table th:first-child,.pregones-table td:first-child{width:16%}.pregones-table th:last-child,.pregones-table td:last-child{width:84%}.fides-table th,.fides-table td{width:50%}.archive-status{margin:auto 0 0;padding-top:1.5rem;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:720px){.literary-grid{grid-template-columns:1fr}}

/* Conserva el aspecto original de los campos del formulario de alta. */
.join input,.join textarea{background:revert;font:400 1rem var(--body);text-transform:none}
@media(max-width:720px){.timeline li{grid-template-columns:1fr;gap:.25rem}.fact-grid,.collection-grid{grid-template-columns:1fr}.subnav{display:flex}}
@media(max-width:1050px){.itinerary-section{grid-template-columns:1fr}.itinerary-times{grid-template-columns:1fr}.itinerary-times span{min-height:0}.itinerary-section .route{grid-column:auto}}
@media(max-width:900px){.procession-intro__copy{top:2rem;left:2rem;width:min(44%,400px)}.procession-intro__copy h2{font-size:clamp(2.7rem,6.5vw,4.2rem)}.procession-intro__copy .lead{font-size:.92rem}.procession-intro__copy p:not(.eyebrow):not(.lead){font-size:.72rem}}
@media(max-width:720px){.procession-page .content-section{padding-top:4rem;padding-bottom:4rem}.itinerary-section .route{grid-template-columns:1fr;gap:2rem}}
@media(max-width:600px){.procession-intro__photo{display:flex;flex-direction:column}.procession-intro__photo::after{display:none}.procession-intro__copy{position:static;order:-1;width:auto;max-width:none;padding:3.5rem 1.3rem;background:#a8b7ca}.procession-intro__copy h2{font-size:3.2rem}.procession-intro__copy .lead{font-size:1.08rem}.procession-intro__copy p:not(.eyebrow):not(.lead){font-size:.9rem}.procession-intro__photo figcaption{right:.8rem;bottom:.7rem;left:.8rem;text-align:center}}

/* SALIDAS · VIACRUCIS
   La fecha se toma automáticamente de la entrada "Vía Crucis por la feligresía"
   de editable/agenda.md. */
.devotional-outing{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:stretch;
  padding:0;
  background:#000;
  color:var(--white);
}
.content-section.devotional-outing{padding:0}
.devotional-outing__copy{
  align-self:center;
  padding:clamp(4rem,6vw,6rem) 1.5rem;
}
.devotional-outing__heading h2,
.devotional-outing__intro .lead{color:var(--white)}
.devotional-outing__intro p:not(.lead){max-width:38rem;color:#e2e2e2}
.outing-date{
  display:grid;
  gap:.2rem;
  margin-top:2rem;
  padding-top:1.2rem;
  border-top:1px solid rgba(255,255,255,.25);
}
.outing-date span{
  color:var(--gold);
  font-size:.62rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.outing-date time{font:400 1.4rem var(--display);color:var(--white)}
.devotional-outing__photo{
  position:relative;
  margin:0;
  min-height:960px;
  overflow:hidden;
  background:#000;
}
.devotional-outing__photo::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:clamp(50px,7vw,105px);
  background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.82) 75%,#000 100%);
  pointer-events:none;
}
.devotional-outing__photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  object-position:center;
}
.devotional-outing__route{
  margin-top:1.5rem;
  padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.25);
}
.devotional-outing__route .route-text{
  margin:0;
  padding:0;
  color:#ececec;
  font:400 clamp(.92rem,1.05vw,1rem)/1.9 Arial,sans-serif;
}
.devotional-outing__route .route-text strong{
  color:#d8c25d;
  font-weight:700;
}
@media(max-width:900px){
  .devotional-outing{grid-template-columns:1fr;gap:3rem}
  .devotional-outing__photo{width:100%;min-height:760px}
  .devotional-outing__photo::after{display:none}
  .devotional-outing__copy{padding:5rem 1.5rem}
}
@media(max-width:720px){
  .devotional-outing{gap:0}
  .devotional-outing__photo{min-height:620px}
  .devotional-outing__copy{padding:4rem 1.5rem 5rem}
  .devotional-outing__route .route-text{font-size:.95rem}
}

/* SALIDAS · ROSARIO MATUTINO */
.content-section.rosary-outing{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:0;
  height:800px;
  padding:0;
  background:var(--white);
  color:var(--ink);
}
.rosary-outing__copy{
  padding:2.5rem 1.5rem;
  padding-left:2rem;
}
.rosary-outing__heading h2,
.rosary-outing__heading .lead{color:var(--green)}
.rosary-outing__heading .lead{max-width:34rem}
.rosary-outing__details{
  margin-top:1.5rem;
}
.rosary-outing__details>p:first-child{max-width:38rem;color:var(--muted)}
.rosary-date{border-color:var(--line)}
.rosary-date time{color:var(--green)}
.rosary-outing__route{
  margin-top:1.5rem;
  padding-top:1.25rem;
  border-top:1px solid var(--line);
}
.rosary-outing__route .route-text{
  max-width:38rem;
  margin:0;
  color:var(--ink);
  font:400 clamp(.95rem,1.2vw,1.08rem)/1.9 Arial,sans-serif;
}
.rosary-outing__photo{
  position:relative;
  width:calc(100% + 1px);
  height:800px;
  margin:0;
  margin-right:-1px;
  overflow:hidden;
  background:var(--paper);
}
.rosary-outing__photo::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:clamp(50px,7vw,100px);
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.88) 20%,rgba(255,255,255,0) 100%);
  pointer-events:none;
}
.rosary-outing__photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
@media(max-width:900px){
  .content-section.rosary-outing{grid-template-columns:1fr;height:auto}
  .rosary-outing__copy{padding:4rem 1.5rem 4rem 2rem}
  .rosary-outing__photo{width:100%;height:620px;margin-right:0;border-top:1px solid var(--line)}
  .rosary-outing__photo::after{display:none}
}
@media(max-width:600px){
  .rosary-outing__route{padding-bottom:2.5rem}
}

/* Hábito nazareno: lámina y descripción editorial */
#habito{
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  align-items:center;
  gap:clamp(3rem,6vw,6rem);
  background:linear-gradient(100deg,
    #eee9da 0%,
    #f6f2e8 42%,
    #fbfaf6 52%,
    #ffffff 64%,
    #ffffff 100%);
}
.habit-figure{
  margin:0;
  min-height:700px;
  display:grid;
  place-items:end center;
  overflow:visible;
  background:radial-gradient(ellipse at 50% 52%,rgba(255,255,255,.72) 0,rgba(255,255,255,.28) 48%,rgba(255,255,255,0) 72%);
}
.habit-figure img{
  display:block;
  width:100%;
  height:700px;
  object-fit:contain;
  object-position:center bottom;
  transform:scale(1.07);
  transform-origin:center bottom;
  filter:drop-shadow(0 18px 20px rgba(8,20,8,.16));
}
.habit-copy{max-width:680px}
.habit-copy>p:last-child{
  margin:0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.85;
}
@media(max-width:900px){
  #habito{
    grid-template-columns:1fr;
    gap:3rem;
    background:linear-gradient(180deg,#eee9da 0,#f7f3e9 48%,#fff 64%,#fff 100%);
  }
  .habit-figure{min-height:600px}
  .habit-figure img{height:600px;transform:scale(1.04)}
  .habit-copy{max-width:none}
}
@media(max-width:520px){
  .habit-figure{min-height:500px}
  .habit-figure img{height:500px;transform:none}
  .habit-copy>p:last-child{font-size:.95rem;line-height:1.75}
}

/* Junta de Gobierno sobre verde corporativo */
#junta .eyebrow::after{color:#d8c25d}
#junta h2::after{color:var(--white)}
#junta .government-list{border-color:rgba(255,255,255,.28)}
#junta .government-list article{border-color:rgba(255,255,255,.22);background:transparent}
#junta .government-list article:hover{background:rgba(255,255,255,.06)}
#junta .government-list h3{color:var(--white)}
#junta .government-list p{color:#e2e7df}

/* Alinea la fecha y la información de cada acto desde el borde superior. */
.calendar-list article{align-items:start}
.calendar-list time{align-content:start;padding-top:1.4rem}
.calendar-list .tag{margin:0 0 .35rem}
.event-details-list{display:grid;gap:1rem}
.event-details+.event-details{border-top:1px solid var(--line);padding-top:1rem}
.event-details h2:last-child{margin-bottom:0}

@media(min-width:721px){
  .calendar-list time{
    padding-top:0;
  }
  .calendar-list time b{
    font-size:3.25rem;
    line-height:1;
  }
  .calendar-list time span{
    margin-top:.45rem;
    color:var(--gold);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .calendar-list article>div>p:not(.tag){
    margin:.15rem 0 0;
  }
}

@media(max-width:720px){
  .calendar-list time{
    display:flex;
    align-items:baseline;
    gap:.45rem;
    padding-top:0;
    white-space:nowrap;
  }
  .calendar-list time span{
    font:400 2rem var(--display);
    color:var(--green);
  }
  .calendar-list time span::before{
    content:"de ";
  }
}

/* Escudo institucional aprobado */
.brand img{width:64px;height:72px}
.home-crest{display:block;width:clamp(110px,12vw,170px);height:auto;margin:0 0 2.2rem;filter:drop-shadow(0 12px 18px rgba(34,55,32,.12))}
@media(max-width:720px){.brand img{width:48px;height:58px}.home-crest{width:120px;margin-bottom:1.8rem}}

/* Menús desplegables de la navegación principal */
.nav-group{position:relative;align-self:stretch;display:flex;align-items:center}
.nav-parent{display:flex;align-items:center}
.nav-parent>a{white-space:nowrap}
.submenu-toggle{width:1.4rem;height:2.5rem;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--green)}
.submenu-toggle span{width:.42rem;height:.42rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}
.nav-section-toggle{width:auto;padding:.55rem 0;border-bottom:2px solid transparent;display:flex;align-items:center;gap:.55rem;font:700 .69rem var(--body);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.nav-section-toggle:hover,.nav-section-toggle:focus,.nav-group.active>.nav-parent>.nav-section-toggle{border-color:var(--gold);color:var(--green)}
.nav-group.active>.nav-parent>a{border-color:var(--gold);color:var(--green)}
.submenu{position:absolute;top:calc(100% + 1px);left:-1.5rem;width:max-content;min-width:240px;padding:.65rem 0;background:var(--paper);border-top:3px solid var(--gold);box-shadow:0 18px 36px rgba(16,19,16,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:30}
.submenu a{display:block;padding:.75rem 1.5rem;border:0;text-transform:none;font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--green)}
.submenu a:hover,.submenu a:focus{border:0;background:var(--white);color:var(--gold)}
.nav-group:hover .submenu,.nav-group.submenu-open .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-group:hover .submenu-toggle span,.nav-group.submenu-open .submenu-toggle span{transform:translateY(2px) rotate(225deg)}
@media(max-width:1050px){
  .nav-group{display:block;width:100%}
  .nav-parent{justify-content:space-between}
  .nav-parent>a{flex:1}
  .submenu-toggle{width:2.75rem}
  .nav-section-toggle{width:100%;justify-content:space-between}
  .submenu{position:static;width:auto;min-width:0;padding:0 0 0 .9rem;border-top:0;border-left:2px solid var(--gold);box-shadow:none;display:none;opacity:1;visibility:visible;transform:none;transition:none}
  .submenu a{padding:.65rem 1rem}
  .nav-group:hover .submenu:not(:focus-within){display:none}
  .nav-group.submenu-open .submenu,.nav-group:focus-within.submenu-open .submenu{display:block}
}

/* Página enmarcada sobre el fondo corporativo. La fotografía vive en una capa
   independiente para poder variar su opacidad según el zoom del navegador. */
html{background:#ebeae4}
body{
  background:transparent;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:linear-gradient(rgba(235,234,228,.4),rgba(235,234,228,.4)),url("images/fondo-procesion.webp");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:var(--background-opacity,.65);
  pointer-events:none;
  z-index:0;
}
site-header,body>main,site-footer{position:relative;z-index:1;width:min(100%,1320px);margin-inline:auto}
site-header,body>main,site-footer{
  box-shadow:0 0 38px 12px rgba(0,0,0,.68);
}
site-header{position:relative;z-index:20}
body>main{background:var(--white)}
site-footer{display:block}
@media(max-width:1320px){
  site-header,body>main,site-footer{box-shadow:none}
}
/* Retrato principal del Despojado */
.titular-detail#despojado{
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:stretch;
  padding:0;
  background:#000000;
  color:var(--white);
}
.titular-detail#despojado .photo{
  min-height:760px;
  overflow:hidden;
  background:#000;
}
.titular-detail#despojado .photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  object-position:center top;
}
.titular-detail#despojado>div:last-child{
  align-self:center;
  padding:clamp(4rem,7vw,7rem) clamp(2.5rem,5vw,5rem);
}
.titular-detail#despojado h2,
.titular-detail#despojado .lead{color:var(--white)}
.titular-detail#despojado .eyebrow{color:#d8c25d}
.titular-detail#despojado dl{border-color:rgba(255,255,255,.28)}
.titular-detail#despojado dl div{border-color:rgba(255,255,255,.2)}
.titular-detail#despojado dt{color:#d8c25d}
.titular-detail#despojado dd{color:#e2e7df}
.titular-detail#despojado>div:last-child>p:last-child{color:#eef1ec}
@media(max-width:900px){
  .titular-detail#despojado{grid-template-columns:1fr}
  .titular-detail#despojado .photo{width:100%;min-height:720px}
  .titular-detail#despojado>div:last-child{padding:5rem max(1.3rem,8vw)}
}
@media(max-width:720px){
  .titular-detail#despojado .photo{min-height:620px}
  .titular-detail#despojado>div:last-child{padding:4rem 1.3rem 5rem}
}

/* Retrato principal de María Santísima de la Pureza */
.titular-detail#pureza{
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:stretch;
  padding:0;
  background:#fefefe;
}
.titular-detail#pureza .photo{
  position:relative;
  min-height:760px;
  overflow:hidden;
  background:#fefefe;
}
.titular-detail#pureza .photo::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:clamp(28px,4vw,58px);
  background:linear-gradient(90deg,#fefefe 0%,rgba(254,254,254,.82) 22%,rgba(254,254,254,0) 100%);
  pointer-events:none;
}
.titular-detail#pureza .photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  object-position:center;
}
.titular-detail#pureza>div:last-child{
  align-self:center;
  padding:clamp(4rem,7vw,7rem) clamp(2.5rem,5vw,5rem);
}
@media(max-width:900px){
  .titular-detail#pureza{grid-template-columns:1fr}
  .titular-detail#pureza .photo{width:100%;min-height:720px}
  .titular-detail#pureza .photo::after{display:none}
  .titular-detail#pureza>div:last-child{padding:5rem max(1.3rem,8vw)}
}
@media(max-width:720px){
  .titular-detail#pureza .photo{min-height:620px}
  .titular-detail#pureza>div:last-child{padding:4rem 1.3rem 5rem}
}

/* Retrato principal de Nuestra Señora del Rosario de Fátima */
.titular-detail#fatima{
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:stretch;
  height:clamp(720px,68vw,900px);
  max-height:900px;
  padding:0;
  background:#000000;
  color:var(--white);
}
.titular-detail#fatima .photo{
  height:100%;
  min-height:0;
  overflow:hidden;
  background:#000000;
}
.titular-detail#fatima .photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:center;
}
.titular-detail#fatima>div:last-child{
  align-self:center;
  padding:clamp(3rem,5vw,5rem) clamp(2.5rem,5vw,5rem);
}
.titular-detail#fatima h2,
.titular-detail#fatima .lead{color:var(--white)}
.titular-detail#fatima .eyebrow{color:#d8c25d}
.titular-detail#fatima dl{border-color:rgba(255,255,255,.28)}
.titular-detail#fatima dl div{border-color:rgba(255,255,255,.2)}
.titular-detail#fatima dt{color:#d8c25d}
.titular-detail#fatima dd{color:#e2e7df}
.titular-detail#fatima>div:last-child>p:last-child{color:#eef1ec}
@media(max-width:900px){
  .titular-detail#fatima{grid-template-columns:1fr;height:auto;max-height:none}
  .titular-detail#fatima .photo{width:100%;min-height:600px}
  .titular-detail#fatima .photo img{height:600px}
  .titular-detail#fatima>div:last-child{padding:4rem max(1.3rem,8vw)}
}
@media(max-width:720px){
  .titular-detail#fatima .photo{min-height:520px}
  .titular-detail#fatima .photo img{height:520px}
  .titular-detail#fatima>div:last-child{padding:4rem 1.3rem 5rem}
}

/* Cabeceras interiores: escala compacta */
.page-hero{
  padding:4rem max(1.3rem,8vw) 3.5rem;
}
.page-hero h1{
  margin:.35rem 0 1rem;
  font-size:clamp(2.8rem,4.2vw,4.8rem);
  line-height:.92;
}
.page-hero>p:last-child{
  font-size:1rem;
}
.page-hero.contact-hero{
  padding-top:3.5rem;
  padding-bottom:3rem;
}
.page-hero.contact-hero h1{
  font-size:clamp(2.8rem,3.8vw,4rem);
}
@media(min-width:721px){
  .hero h1,
  .page-hero h1,
  .page-hero.contact-hero h1{
    font-size:5.5814rem;
  }
}
@media(max-width:720px){
  .page-hero,
  .page-hero.contact-hero{
    padding:3.25rem 1.3rem 2.75rem;
  }
  .page-hero h1,
  .page-hero.contact-hero h1{
    font-size:2.6rem;
  }
}

/* El título debe ajustarse a la columna estrecha de datos de contacto. */
.contact-details h2{
  max-width:100%;
  font-size:clamp(1.65rem,1.8vw,1.8rem);
  line-height:.95;
  letter-spacing:-.02em;
  overflow-wrap:normal;
}

.contact-heading h2{
  font-size:clamp(2rem,2.5vw,2.8rem);
  line-height:.95;
  max-width:none;
  white-space:nowrap;
}
@media(max-width:600px){
  .contact-details h2{
    font-size:2.15rem;
  }
}

/* Contacto: aprovechar el ancho y equilibrar ambas columnas. */
@media(min-width:901px){
  .contact-page{
    grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);
    gap:clamp(2.5rem,4vw,4rem);
    padding-right:max(1.3rem,5vw);
    padding-left:max(1.3rem,5vw);
    align-items:start;
  }
  .contact-details{
    display:block;
    height:auto;
  }
  .contact-details address{
    display:block;
  }
}

@media(max-width:600px){
  .contact-heading h2{
    font-size:2.35rem;
    white-space:normal;
  }
}

/* Localización: el mapa es el elemento principal. */
@media(min-width:901px){
  .contact-map{
    grid-template-columns:minmax(240px,.38fr) minmax(0,1fr);
    min-height:520px;
  }
  .contact-map-copy{
    padding:4rem clamp(2.5rem,4vw,4.5rem);
  }
  .contact-map h2{
    font-size:clamp(2.4rem,3vw,3.3rem);
    line-height:.92;
    margin-top:0;
  }
  .contact-map iframe{
    min-height:520px;
  }
}

@media(max-width:900px){
  .contact-map-copy{
    padding:2.5rem 1.3rem;
  }
  .contact-map h2{
    margin:0;
    font-size:2.2rem;
    line-height:1;
  }
}

@media(max-width:600px){
  .contact-map-copy{
    padding:2rem 1.3rem;
  }
  .contact-map h2{
    font-size:2rem;
  }
}

/* Cabecera compacta sobre el mapa. */
.contact-map{
  display:block;
  min-height:0;
}
.contact-map-copy{
  padding:1.5rem max(1.3rem,5vw);
}
.contact-map h2{
  margin:0;
  font-size:2.2rem;
  line-height:1;
}
.contact-map iframe{
  display:block;
  height:520px;
  min-height:0;
}
@media(max-width:600px){
  .contact-map-copy{
    padding:1.25rem 1.3rem;
  }
  .contact-map h2{
    font-size:1.8rem;
  }
  .contact-map iframe{
    height:400px;
  }
}

/* Ritmo interior adaptado al ancho enmarcado de la web. */
@media(min-width:721px){
  :root{
    --section-inline:clamp(2rem,4vw,3.75rem);
    --section-block:clamp(4.5rem,6vw,5.5rem);
  }

  .top,
  .next-event,
  .page-hero,
  .page-hero.contact-hero,
  .source-note,
  .simple-footer{
    padding-right:var(--section-inline);
    padding-left:var(--section-inline);
  }

  .identity,
  .titulares,
  .agenda,
  .patrimonio,
  .news,
  .join,
  .home-intro,
  .content-section,
  .titular-detail,
  .membership,
  .contact-layout,
  .map-section,
  .contact-page{
    padding:var(--section-block) var(--section-inline);
  }

  .procession-page .content-section{
    padding:var(--section-block) var(--section-inline);
  }

  .content-section.split,
  .titular-detail,
  .membership,
  .contact-layout,
  .map-section,
  .join,
  .home-intro{
    gap:clamp(2.5rem,4vw,4rem);
  }

  #habito{
    gap:clamp(2.5rem,4vw,4rem);
  }
}

/* Martes Santo: la fotografía llega a los cuatro bordes del bloque. */
.procession-page .content-section.procession-intro{
  padding:0;
}

/* Cabecera siempre visible y espaciado vertical compacto en títulos interiores. */
site-header{
  position:fixed;
  top:0;
  left:50%;
  width:min(100%,1320px);
  transform:translateX(-50%);
  z-index:20;
}
body>main{
  margin-top:96px;
}
.page-hero,
.page-hero.contact-hero{
  padding-top:10mm;
  padding-bottom:1mm;
}
.content-section:has(> .section-head){
  padding-top:5mm;
}
.section-head{
  margin-top:0;
  margin-bottom:1mm;
}
.section-head + .calendar-list,
.section-head + .agenda-list{
  margin-top:1mm;
}
@media(max-width:720px){
  body>main{
    margin-top:78px;
  }
}
