/* Identidad Montefaro: verde, blanco, negro y acentos dorados. */
:root{--forest:#18311f;--forest-deep:#132619;--gold:#c5a44f;--ink:#141a15;--muted:#4b554d}
body{background:var(--forest);color:var(--ink);font-size:16px;line-height:1.65}

/* Cabecera verde y menú blanco. */
.top{background:rgba(24,49,31,.97);color:#fff}
.nav,.nav.open{background:#fff;color:var(--ink);box-shadow:0 18px 35px #0003}
.nav a,.nav .sub-menu-btn{color:var(--ink);font:normal 16px/1.4 Arial,Helvetica,sans-serif}
.nav .submenu a{color:#38433b;font:14px/1.5 Arial,Helvetica,sans-serif}
.nav a:hover,.nav .sub-menu-btn:hover,.nav .submenu a:hover{color:#755819}
.nav .sub-menu-btn span{color:#755819}

/* Zonas verdes: las letras claras garantizan lectura. */
.hero,.subpage-hero{background-color:var(--forest);color:#fff}
.hero h1,.hero p,.subpage-hero h1,.subpage-hero p{color:#fff}
.hero .eyebrow,.subpage-hero .eyebrow{color:#e4c776}
.intro,.about-more,.about-more.opus,.visit,.alumni-gallery,.connect{background:var(--forest);color:#fff}
.intro h2,.intro p,.intro .body-small,.about-more h2,.about-more p,.visit h2,.visit p,.alumni-gallery h2,.connect h2,.connect p{color:#fff}
.intro .body-small,.alumni-gallery .gallery-index{color:#e0e7df}
.subpage-section{background:#fff;color:var(--ink)}
.subpage-section:nth-of-type(odd){background:var(--forest-deep);color:#fff}
.subpage-section p{color:var(--muted)}
.subpage-section:nth-of-type(odd) p{color:#e4e8e2}
.subpage-section:nth-of-type(odd) h2{color:#fff}
.subpage-section:nth-of-type(odd) .page-back{color:#fff}
.location-grid p{color:var(--muted)}
.location-note{color:var(--muted)!important}
.life,.contact-details,.impact,.resident-directory,.activities-section{background:#fff;color:var(--ink)}
.section-header p,.contact-details h2,.directory-heading h2,.impact h2{color:var(--ink)}
.card,.resident-card{background:var(--forest-deep);color:#fff}
.card h3,.resident-card h3,.card p,.resident-card p{color:#fff}
.resident-card p{color:#e3e9e2}
.resident-grid{background:#9aa79a;border-color:#9aa79a}
.directory-heading p,.impact-item span:not(.sr-only){color:var(--muted)}
.impact-item strong,.impact-country strong{color:var(--ink)}
.impact-grid{border-top-color:#bdc7bd}
.impact-item{border-right-color:#bdc7bd}
.quote{background:var(--forest-deep);color:#fff}
.quote blockquote{color:#fff}

/* Contacto conserva una superficie verde con campos blancos. */
.contact-form-section{background:var(--forest);color:#fff}
.contact-details .contact-methods a{color:var(--ink)}
.contact-details .contact-methods a:hover{color:#755819}
.contact-methods small{color:var(--muted)}
.field label,.privacy-note,.privacy-check{color:#fff}
.field input,.field select,.field textarea{background:#fff;color:var(--ink);border-color:#b3bdb3}
.field input::placeholder,.field textarea::placeholder{color:#606b62}
.setup-note{background:var(--forest-deep);color:#fff}
.setup-note a,.privacy-note a{color:#fff}

/* Actividades: pestañas oscuras, texto claro sobre las fotos. */
.activities-tabs{border-bottom-color:#b8c3b9}
.activity-tab{color:#3b483e}
.activity-tab:hover,.activity-tab.is-active{color:var(--ink)}
.activity-overlay,.activity-overlay h2,.activity-overlay p{color:#fff}
.activity-overlay h2{font-size:clamp(30px,3.5vw,40px)!important;line-height:1.18}
.activity-overlay p{color:#fff!important}

/* Botones blancos y legibles, con detalle dorado. */
.btn,.text-link,.page-back,.resident-wa{font-size:14px;line-height:1.4}
.btn-gold{background:#fff;color:var(--ink);border:1px solid var(--gold);border-bottom:2px solid var(--gold)}
.btn-gold:hover{background:#f4efe2;color:var(--ink)}
.btn-clear{color:#fff;border-color:#fff}
.btn-clear:hover{color:#fff}
.text-link{color:inherit}
.text-link:hover{color:var(--gold)}

/* Pie blanco con texto e iconos negros. */
footer,.site-footer,.simple-footer{background:#fff;color:var(--ink);border-top:2px solid var(--gold)}
.site-footer .footer-brand,.site-footer .footer-links a,.site-footer .footer-links span,.simple-footer .shell{color:var(--ink)}
.site-footer .fine,.foot-last{border-top-color:#d9dfd9;color:var(--muted)}
.site-footer .fine span,.simple-footer span,.foot-note{color:var(--muted)}
.footer-social a{color:var(--ink);border-color:#838c80}
.footer-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}

/* Escala compartida en todas las páginas. */
.hero h1,.subpage-hero h1{font-size:clamp(40px,5vw,56px)!important;line-height:1.08;letter-spacing:-.025em}
.intro h2,.section-title,.subpage-section h2,.about-more h2,.gallery-header h2,.impact h2,.connect h2,.form-intro h2,.location-grid h2,.directory-heading h2{font-size:clamp(30px,3.5vw,40px)!important;line-height:1.18}
.card h3,.resident-card h3,.contact-details h2{font-size:clamp(20px,2.2vw,28px)!important;line-height:1.3}
p,.intro p,.subpage-section p,.connect p,.card p,.visit p,.hero p,.activity-overlay p,.directory-heading p,.resident-card p,.contact-details p,.contact-methods a{font-size:clamp(16px,1.2vw,18px)!important;line-height:1.65}
.intro .body-small,.location-note,.privacy-note,.privacy-note p,.setup-note,.impact-item span:not(.sr-only),.contact-methods small,.resident-year,.gallery-index,.eyebrow,.foot-note{font-size:14px!important;line-height:1.55}
.nav a,.nav .sub-menu-btn,.activity-tab,.btn,.text-link,.page-back,.resident-wa,.form-actions button{font-size:clamp(14px,1.1vw,16px)!important}
.nav .submenu a{font-size:14px!important}
.site-footer .footer-brand{font-size:20px}
.site-footer .fine,.site-footer .fine span,.simple-footer,.simple-footer span,.foot-last{font-size:13px!important;line-height:1.5}
.brand-text small{font-size:12px}

@media(max-width:850px){
  .nav,.nav.open{background:#fff;color:var(--ink)}
  .impact-item{border-right:0;border-bottom-color:#bdc7bd}
}
@media(max-width:520px){
  .hero h1,.subpage-hero h1{font-size:clamp(40px,10vw,48px)!important}
  .intro h2,.section-title,.subpage-section h2,.about-more h2,.gallery-header h2,.impact h2,.connect h2,.form-intro h2,.location-grid h2,.directory-heading h2{font-size:clamp(30px,8vw,36px)!important}
  p,.intro p,.subpage-section p,.connect p,.card p,.visit p,.hero p,.activity-overlay p,.directory-heading p,.resident-card p{font-size:16px!important}
  .activity-tab{font-size:14px!important}
  .activity-overlay h2{font-size:32px!important}
  .activity-overlay{padding:20px 18px 25px}
  .activities-stage{min-height:720px;height:max(720px,90vh)}
}

/* Navegación lateral derecha. */
.top{z-index:50}
.nav,.nav.open{position:fixed;inset:0 0 0 auto;top:0;left:auto;right:0;bottom:0;width:min(410px,90vw);max-height:100dvh;overflow-y:auto;display:block;visibility:hidden;transform:translateX(102%);transition:transform .35s ease,visibility .35s ease;padding:104px 34px 40px;border-top:0;border-left:3px solid var(--gold);box-shadow:-16px 0 38px #0003}
.nav.open{visibility:visible;transform:translateX(0)}
.nav-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.nav-inner>.nav-group,.nav-inner>a{border-bottom:1px solid #d9dfd9}
.nav-inner>a,.nav .sub-menu-btn{width:100%;padding:16px 0;text-align:left}
.nav .submenu{padding:0 0 16px 18px}
.nav .submenu a{padding:7px 0}
.menu-btn{position:relative;z-index:51;flex:none}
.menu-btn[aria-expanded="true"]{background:var(--forest);border-color:var(--gold)}
body.menu-open{overflow:hidden}
body.menu-open::before{content:"";position:fixed;inset:0;background:#0008;z-index:49}
body.menu-open .whatsapp-float{visibility:hidden}

/* Encabezados de texto compactos y portada a media altura. */
.subpage-hero{padding:112px 0 28px;min-height:0}
.subpage-hero h1{margin:10px 0 8px}
.subpage-hero p{max-width:760px}
.hero{min-height:385px;height:46vh;max-height:520px}
.hero-content{padding-bottom:64px!important}
.hero-actions{margin-top:24px}
.hero-bottom{bottom:16px}

/* Logo suministrado: encuadre del símbolo completo. */
.logo-frame{width:48px;height:48px}
.logo-frame img{width:64px;height:80px;left:-3px;top:-9px}
.footer-logo img{width:40px;height:50px;left:-2px;top:-5px}

/* Instalaciones y páginas de video a completar. */
.facilities{background:#fff;color:var(--ink);padding:70px 0 100px}
.facilities-intro{max-width:800px;margin-bottom:32px}
.facilities-intro h2{font:normal clamp(30px,3.5vw,40px)/1.18 "Times New Roman",Times,serif;margin:10px 0 12px}
.facilities-intro p{color:var(--muted);font-size:16px;line-height:1.65}
.facility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.facility-card{display:block;color:var(--ink);border:1px solid #d3d9d2;background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.facility-card:hover,.facility-card:focus-visible{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 10px 25px #18311f19}
.facility-placeholder{aspect-ratio:4/5;background:#e8ede7;display:flex;align-items:center;justify-content:center;padding:15px;color:#536455;font-size:14px;text-align:center;border-bottom:1px solid #d3d9d2}
.facility-card-body{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 18px}
.facility-card h3{font:normal 24px/1.25 "Times New Roman",Times,serif;margin:0;color:var(--ink)}
.facility-card .arrow{font-size:20px;color:#896b2d}
.facility-video{background:#fff;color:var(--ink);padding:70px 0 100px}
.facility-video .shell{max-width:880px}
.facility-video h2{font:normal clamp(30px,3.5vw,40px)/1.18 "Times New Roman",Times,serif;margin:10px 0 20px}
.video-placeholder{aspect-ratio:16/9;min-height:260px;background:var(--forest-deep);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:30px;border:1px solid var(--gold)}
.video-placeholder svg{width:48px;height:48px;color:var(--gold)}
.video-placeholder p{max-width:450px;margin:0;color:#fff;font-size:16px}
.video-back{display:inline-block;margin-top:25px;border-bottom:1px solid var(--gold);padding-bottom:5px;font-size:14px;color:var(--ink)}
@media(max-width:850px){
  .nav,.nav.open{top:0;left:auto;right:0;max-height:100dvh;padding:90px 26px 32px}
  .facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{min-height:385px;height:50vh}
  .subpage-hero{padding:105px 0 28px}
  .hero-content{padding-bottom:53px!important}
}
@media(max-width:520px){
  .facility-grid{grid-template-columns:1fr;gap:15px}
  .facility-placeholder{aspect-ratio:4/5}
  .facilities,.facility-video{padding:55px 0 80px}
  .subpage-hero{padding:98px 0 24px}
  .hero{min-height:440px;height:62vh}
  .hero-content{padding-bottom:46px!important}
  .hero-bottom{display:none}
  .logo-frame{width:40px;height:40px}
  .logo-frame img{width:53px;height:66px;left:-2px;top:-8px}
}
@media(prefers-reduced-motion:reduce){.nav,.nav.open,.facility-card{transition:none}}

/* Escala institucional: Muli (Mulish), con el contenido y los colores actuales. */
body{font-family:'Mulish','Muli',Arial,sans-serif;font-size:16px;line-height:1.65}
body :not(svg):not(path){font-family:'Mulish','Muli',Arial,sans-serif!important}

/* Encabezados y jerarquía de lectura. */
.hero h1,.subpage-hero h1{font-size:42px!important;line-height:1.16;letter-spacing:-.018em;font-weight:700}
.intro h2,.section-title,.subpage-section h2,.about-more h2,.gallery-header h2,.impact h2,.connect h2,.form-intro h2,.location-grid h2,.directory-heading h2,.facilities-intro h2,.facility-video h2,.activity-overlay h2{font-size:32px!important;line-height:1.22;letter-spacing:-.012em;font-weight:700}
.card h3,.resident-card h3,.facility-card h3,.contact-details h2{font-size:23px!important;line-height:1.35;font-weight:700;letter-spacing:0}
.hero p,.subpage-hero p,.intro p,.intro .body-small,.subpage-section p,.about-more p,.card p,.quote blockquote,.visit p,.connect p,.activity-overlay p,.contact-details p,.contact-methods a,.directory-heading p,.resident-card p,.facilities-intro p,.video-placeholder p,.location-grid p,.privacy-note p,.setup-note,.field input,.field select,.field textarea{font-size:16px!important;line-height:1.65}
.quote blockquote{font-size:32px!important;line-height:1.35}
.intro .body-small,.location-note,.privacy-note,.setup-note,.contact-methods small,.resident-year,.eyebrow,.gallery-index,.impact-item span:not(.sr-only),.foot-note,.site-footer .fine,.site-footer .fine span,.simple-footer,.simple-footer span,.foot-last{font-size:14px!important;line-height:1.55}
.nav a,.nav .sub-menu-btn,.nav .submenu a{font-size:14px!important;line-height:1.5}
.btn,.text-link,.page-back,.resident-wa,.form-actions button,.activity-tab,.video-back{font-size:14px!important;line-height:1.45}
.field label,.privacy-check{font-size:14px;line-height:1.5}
.impact-item strong{font-size:42px;line-height:1.1;min-height:auto;letter-spacing:-.025em}
.impact-country strong{font-size:23px}

/* El logo es el conjunto del símbolo adjunto y el nombre Montefaro. */
.brand{width:230px;max-width:calc(100% - 72px);gap:10px;flex-shrink:0}
.brand-text{font-size:20px;line-height:1;letter-spacing:.035em;font-weight:700}
.brand-text small{font-size:13px;line-height:1.1;letter-spacing:0;font-weight:500;text-transform:none}
.logo-frame{width:45px;height:45px}
.logo-frame img{width:60px;height:75px;left:-2px;top:-8px}
.site-footer .footer-brand{font-size:20px;line-height:1.2;font-weight:700;letter-spacing:.035em}
.footer-logo{width:32px;height:32px;flex:none}
.footer-logo img{width:43px;height:54px;left:-2px;top:-6px}

@media(max-width:600px){
  .hero h1,.subpage-hero h1{font-size:32px!important;line-height:1.16}
  .intro h2,.section-title,.subpage-section h2,.about-more h2,.gallery-header h2,.impact h2,.connect h2,.form-intro h2,.location-grid h2,.directory-heading h2,.facilities-intro h2,.facility-video h2,.activity-overlay h2{font-size:26px!important;line-height:1.25}
  .card h3,.resident-card h3,.facility-card h3,.contact-details h2,.impact-country strong{font-size:21px!important;line-height:1.35}
  .quote blockquote{font-size:26px!important}
  .hero p,.subpage-hero p,.intro p,.intro .body-small,.subpage-section p,.about-more p,.card p,.visit p,.connect p,.activity-overlay p,.contact-details p,.directory-heading p,.resident-card p,.facilities-intro p,.video-placeholder p,.location-grid p{font-size:16px!important;line-height:1.65}
  .brand{width:145px;max-width:calc(100% - 68px);gap:7px}
  .brand-text{font-size:13px;letter-spacing:.025em}
  .brand-text small{font-size:13px;line-height:1.1;letter-spacing:0;margin-top:4px;max-width:105px;white-space:normal}
  .logo-frame{width:32px;height:32px}
  .logo-frame img{width:43px;height:54px;left:-2px;top:-6px}
  .site-footer .footer-brand{font-size:17px}
  .footer-logo{width:28px;height:28px}
  .footer-logo img{width:38px;height:47px;left:-2px;top:-5px}
}

/* El símbolo rojo conserva su forma y deja ver el fondo de cada página. */
.logo-frame,.footer-logo{background:transparent}
.logo-frame img{width:100%;height:100%;left:0;top:0}
.footer-logo img{width:100%;height:100%;left:0;top:0}

/* Protección contra solapamientos en banners y paneles con texto largo. */
.hero-content{padding-bottom:92px!important}
.activity-overlay{max-height:100%;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:850px){
  .hero-content{padding-bottom:78px!important}
  .activity-overlay{scrollbar-width:thin}
}
@media(max-width:520px){
  .hero-content{padding-bottom:52px!important}
  .activities-stage{min-height:760px;height:max(760px,92vh)}
}


/* Portada: posiciones de lectura sobre el hero 1920 × 1029 de referencia. */
#contacto.contact-details{padding-top:150px}
#inicio.hero .hero-content{width:100%;max-width:none;margin:0;padding-left:104px;padding-right:104px}
#inicio.hero h1{line-height:85px}
#inicio.hero p{line-height:56px;margin-bottom:0}
@media(max-width:850px){
  #contacto.contact-details{padding-top:120px}
  #inicio.hero .hero-content{padding-left:24px;padding-right:24px}
  #inicio.hero h1{line-height:1.16}
  #inicio.hero p{line-height:1.45}
}
@media(max-width:520px){#contacto.contact-details{padding-top:105px}#inicio.hero .hero-content{padding-left:18px;padding-right:18px}}

/* El verde queda reservado a los banners; el contenido usa superficies claras. */
body{background:#fff}
.intro,.about-more,.about-more.opus,.visit,.alumni-gallery,.connect,
.subpage-section:nth-of-type(odd),.quote,.contact-form-section{background:#fff!important;color:var(--ink)!important}
.intro h2,.intro p,.intro .body-small,.about-more h2,.about-more p,
.visit h2,.visit p,.alumni-gallery h2,.connect h2,.connect p,
.subpage-section:nth-of-type(odd) h2,.subpage-section:nth-of-type(odd) p,
.quote blockquote,.contact-form-section h2,.contact-form-section p,
.field label,.privacy-note,.privacy-check{color:var(--ink)!important}
.subpage-section p,.intro p,.visit p,.connect p,.about-more p,.location-grid p{color:var(--muted)!important}
.card,.resident-card{background:#fff!important;color:var(--ink)!important;border:1px solid #d9dfd9}
.card h3,.resident-card h3,.card p,.resident-card p{color:var(--ink)!important}
.setup-note{background:#f4f6f3!important;color:var(--ink)!important;border:1px solid #d9dfd9}
.setup-note a,.privacy-note a{color:#755819!important}
.video-placeholder{background:#f0f3ef!important;color:var(--ink)!important}

/* Profundidad editorial: superficies claras, sombra suave y acentos dorados. */
:root{
  --surface:#fff;
  --surface-soft:#f6f6f2;
  --surface-line:#e4e4dd;
  --shadow-soft:0 13px 30px rgba(18,25,20,.09),0 2px 7px rgba(18,25,20,.04);
  --shadow-raised:0 22px 52px rgba(18,25,20,.16),0 5px 15px rgba(18,25,20,.06);
}
.top{box-shadow:0 7px 25px rgba(0,0,0,.19)}
.hero{box-shadow:inset 0 -5px 0 var(--gold)}
.hero:before{background:linear-gradient(90deg,rgba(8,18,11,.85) 0%,rgba(8,18,11,.50) 49%,rgba(8,18,11,.12) 100%),linear-gradient(0deg,rgba(7,16,9,.50),transparent 65%)}
.hero .hero-content{filter:drop-shadow(0 3px 10px rgba(0,0,0,.27))}
.subpage-hero{background:linear-gradient(125deg,#132619 0%,#18311f 68%,#25402b 100%);border-bottom:3px solid var(--gold);box-shadow:0 14px 28px rgba(17,27,19,.14)}
.subpage-hero .shell{position:relative}
.subpage-hero .shell::before{content:"";position:absolute;left:-19px;top:4px;bottom:4px;width:3px;background:var(--gold)}
.subpage-hero p{color:#f1f2ec}
.nav,.nav.open{box-shadow:-22px 0 55px rgba(0,0,0,.22)}

/* Alternancia sutil de blanco y gris cálido sin extender el verde al contenido. */
.intro,.alumni-gallery,.activities-section,.contact-form-section,.facilities,.resident-directory{background:var(--surface-soft)!important;color:var(--ink)}
.about-more,.about-more.opus,.subpage-section,.impact,.connect,.contact-details,.facility-video{background:var(--surface)!important;color:var(--ink)}
.subpage-section:nth-of-type(odd){background:var(--surface-soft)!important}
.intro,.about-more,.subpage-section,.alumni-gallery,.impact,.connect,.contact-form-section{border-bottom:1px solid var(--surface-line)}
.intro-grid{align-items:center;gap:clamp(30px,6vw,90px)}
.intro-grid>div:last-child{background:var(--surface);padding:clamp(25px,3.8vw,48px);border:1px solid var(--surface-line);border-top:3px solid var(--gold);box-shadow:var(--shadow-raised)}
.intro h2,.intro p,.intro .body-small,.about-more h2,.about-more p,.connect h2,.connect p{color:var(--ink)!important}
.intro p,.intro .body-small,.about-more p,.subpage-section p,.connect p{color:var(--muted)!important}
.eyebrow{color:#856625!important;letter-spacing:.12em}
.hero .eyebrow,.subpage-hero .eyebrow{color:#e4c776!important}
.subpage-section>.shell{position:relative}
.subpage-section .eyebrow{display:inline-block;padding-bottom:7px;border-bottom:2px solid var(--gold)}
.subpage-section h2{margin-top:22px}
.text-link,.page-back,.video-back{color:var(--ink);text-decoration-color:var(--gold);transition:color .2s ease}
.text-link:hover,.page-back:hover,.video-back:hover{color:#856625}

/* Fotografías y tarjetas flotan sobre la superficie clara. */
.fade-carousel,.activities-stage,.map-frame{box-shadow:var(--shadow-raised);border:1px solid rgba(197,164,79,.43)}
.gallery-header,.directory-heading,.facilities-intro{position:relative}
.gallery-header h2,.directory-heading h2,.facilities-intro h2{color:var(--ink)}
.facility-grid{gap:20px}
.facility-card,.resident-card,.card{border:1px solid var(--surface-line)!important;box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.facility-card:hover,.facility-card:focus-visible,.resident-card:hover,.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-raised);border-color:var(--gold)!important}
.facility-placeholder{background:linear-gradient(135deg,#f1f1ec,#e9ebe4);color:#49534a}
.resident-grid,.cards{background:transparent;border:0;gap:18px}
.resident-card h3,.resident-card p,.card h3,.card p{color:var(--ink)!important}
.impact-grid{border:0;gap:18px}
.impact-item,.impact-item:not(:first-child){background:#fff;border:1px solid var(--surface-line);border-top:3px solid var(--gold);padding:30px 24px;box-shadow:var(--shadow-soft)}
.impact-item strong,.impact-country strong{color:var(--ink)!important}
.impact-item span:not(.sr-only){color:var(--muted)!important}
.connect-grid>div:last-child{background:var(--surface-soft);border-left:3px solid var(--gold);padding:30px clamp(25px,4vw,48px);box-shadow:var(--shadow-soft)}
.activity-tab.is-active{color:var(--ink);border-bottom-color:var(--gold)}
.activity-overlay .eyebrow{color:#ebd49c!important}
.activity-overlay h2,.activity-overlay p{color:#fff!important}

/* Los datos y el formulario destacan sin recuperar fondos verdes. */
.contact-details{padding-bottom:66px}
.contact-methods a{background:var(--surface);border:1px solid var(--surface-line);box-shadow:var(--shadow-soft);transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}
.contact-methods a:hover{transform:translateY(-3px);box-shadow:var(--shadow-raised);border-color:var(--gold)}
.contact-form-section form{background:#fff;border:1px solid var(--surface-line);border-top:3px solid var(--gold);padding:clamp(22px,4vw,48px);box-shadow:var(--shadow-raised)}
.field input,.field select,.field textarea{border:1px solid #c9cfc7;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.setup-note{border-left:3px solid var(--gold)!important;box-shadow:var(--shadow-soft)}
.footer-social a{box-shadow:0 3px 9px rgba(0,0,0,.08)}

@media(max-width:850px){
  .subpage-hero .shell::before{left:-11px}
  .intro-grid>div:last-child{padding:28px}
  .impact-grid{gap:12px}
  .impact-item,.impact-item:not(:first-child){border:1px solid var(--surface-line);border-top:3px solid var(--gold);padding:23px 20px}
}
@media(max-width:520px){
  .subpage-hero .shell::before{left:-7px;width:2px}
  .intro-grid>div:last-child{padding:22px}
  .connect-grid>div:last-child{padding:25px 22px}
  .contact-form-section form{padding:22px 18px}
  .hero:before{background:linear-gradient(0deg,rgba(8,18,11,.75),rgba(8,18,11,.32) 76%)}
}
@media(prefers-reduced-motion:reduce){
  .facility-card,.resident-card,.card,.contact-methods a{transition:none}
}

/* Ceibos como referencia de ritmo visual: banners intensos, oro luminoso y marca tenue. */
#inicio.hero{height:56vh;min-height:510px;max-height:640px;overflow:hidden}
#inicio.hero .hero-content{z-index:2;padding-top:118px!important;padding-bottom:77px!important}
#inicio.hero h1{line-height:1.12!important;margin:15px 0 11px;max-width:640px;text-shadow:0 4px 18px rgba(0,0,0,.34)}
#inicio.hero p{line-height:1.45!important;max-width:610px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
#inicio.hero .hero-actions{margin-top:22px}
#inicio.hero::after,.subpage-hero::after{
  content:"";position:absolute;z-index:1;right:5%;top:50%;width:min(31vw,370px);aspect-ratio:1;
  transform:translateY(-50%);background:url('assets/montefaro-logo-ce84869a08cd.svg') center/contain no-repeat;
  filter:grayscale(1) sepia(1) brightness(1.4);opacity:.10;pointer-events:none;
}
.subpage-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#132619,#18311f 61%,#24432a)}
.subpage-hero::after{right:10%;width:min(24vw,250px);opacity:.11}
.subpage-hero .shell{z-index:2}
.subpage-hero h1{font-weight:800;letter-spacing:-.035em}
#inicio.hero .hero-bottom{justify-content:flex-end;z-index:2;pointer-events:none}
#inicio.hero .hero-bottom .vertical{writing-mode:horizontal-tb}
.btn-gold,.form-actions button{background:#e0ba60;color:#17231a;border:1px solid #e0ba60;border-radius:999px;box-shadow:0 8px 25px rgba(197,164,79,.25);font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn-gold:hover,.form-actions button:hover{background:#edc879;color:#17231a;transform:translateY(-2px);box-shadow:0 12px 30px rgba(197,164,79,.35)}
.btn-clear{border-radius:999px;background:rgba(13,28,17,.18);backdrop-filter:blur(4px)}
.btn-clear:hover{background:rgba(255,255,255,.14)}
.menu-btn{border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.13)}
.intro{background:#fbf9f3!important}
.intro-grid>div:last-child{box-shadow:0 22px 50px rgba(24,49,31,.11),0 4px 12px rgba(24,49,31,.05)}
.impact-item{box-shadow:0 14px 30px rgba(24,49,31,.08)}
.eyebrow{font-weight:800}
.facility-card .arrow{color:#ad8630}
@media(max-width:850px){
  #inicio.hero{height:auto;min-height:530px;max-height:none}
  #inicio.hero .hero-content{padding-top:125px!important;padding-bottom:80px!important}
  #inicio.hero::after{width:30vw;right:4%}
}
@media(max-width:520px){
  #inicio.hero{min-height:520px}
  #inicio.hero .hero-content{padding-top:120px!important;padding-bottom:60px!important}
  #inicio.hero h1{line-height:1.14!important;max-width:310px}
  #inicio.hero .hero-actions{margin-top:20px}
  #inicio.hero::after,.subpage-hero::after{opacity:.065;width:45vw;right:0}
  .btn-clear{backdrop-filter:none}
}
@media(prefers-reduced-motion:reduce){.btn-gold,.form-actions button{transition:none}}

/* Dirección más orgánica e interactiva: menos rigidez, más atmósfera. */
body{letter-spacing:.005em}
h1,h2,h3,.section-title,.subpage-hero h1,.hero h1{font-weight:500!important}
.hero h1,.subpage-hero h1{letter-spacing:-.03em}
.hero p,.subpage-hero p,.intro p,.about-more p,.subpage-section p,.connect p,.card p,.resident-card p{font-weight:400;opacity:.82}
.intro .eyebrow,.subpage-section .eyebrow,.gallery-header .eyebrow,.impact .eyebrow,.connect .eyebrow{opacity:.78}
.intro-grid>div:last-child{background:rgba(255,255,255,.72);backdrop-filter:blur(8px);border-color:rgba(197,164,79,.34);box-shadow:0 25px 60px rgba(24,49,31,.10)}
.intro-grid>div:last-child:hover{background:rgba(255,255,255,.92);box-shadow:0 30px 70px rgba(24,49,31,.15);transform:translateY(-3px);transition:background .35s ease,box-shadow .35s ease,transform .35s ease}
.activity-panel img,.fade-slide img{transition:transform 1.2s ease,filter 1.2s ease}
.activity-panel.is-active img,.fade-slide.is-active img{transform:scale(1.035)}
.activity-overlay{background:linear-gradient(90deg,rgba(7,16,10,.78) 0%,rgba(7,16,10,.42) 60%,rgba(7,16,10,0) 100%);backdrop-filter:blur(1px)}
.activity-overlay h2{font-weight:500!important;letter-spacing:-.025em}
.activity-overlay p{opacity:.88}
.activity-tab{font-weight:500;opacity:.72;transition:opacity .25s ease,color .25s ease,border-color .25s ease}
.activity-tab:hover,.activity-tab.is-active{opacity:1}
.facility-card,.resident-card,.card{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(6px)}
.facility-card-body{background:transparent}
.facility-card h3,.resident-card h3,.card h3{font-weight:500!important}
.facility-card .arrow{transition:transform .25s ease,color .25s ease}
.facility-card:hover .arrow{transform:translateX(5px);color:var(--gold)}
.connect-grid>div:last-child{background:rgba(246,246,242,.68);backdrop-filter:blur(7px);border-left-width:2px}
.connect h2{font-size:clamp(30px,4.6vw,52px)!important;font-weight:500!important;letter-spacing:-.03em}
.connect p{font-size:18px!important}
.impact-item{background:rgba(255,255,255,.78);backdrop-filter:blur(7px)}
.impact-item strong{font-weight:500!important}
.contact-methods a{background:rgba(255,255,255,.72);backdrop-filter:blur(7px)}
.contact-details h2{font-weight:500!important;letter-spacing:-.02em}
.contact-form-section form{background:rgba(255,255,255,.76);backdrop-filter:blur(8px)}
.hero-content,.subpage-hero .shell,.intro-grid>div,.facility-card,.resident-card,.impact-item,.connect-grid>div{animation:soft-rise .8s cubic-bezier(.22,.8,.22,1) both}
.intro-grid>div:last-child{animation-delay:.1s}
.facility-card:nth-child(2),.resident-card:nth-child(2),.impact-item:nth-child(2){animation-delay:.06s}
.facility-card:nth-child(3),.resident-card:nth-child(3),.impact-item:nth-child(3){animation-delay:.12s}
.facility-card:nth-child(4),.resident-card:nth-child(4){animation-delay:.18s}
@keyframes soft-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .hero-content,.subpage-hero .shell,.intro-grid>div,.facility-card,.resident-card,.impact-item,.connect-grid>div{animation:none}
  .activity-panel img,.fade-slide img{transition:none}
}
.video-placeholder p{color:var(--muted)!important}
@media(max-width:850px){.menu-btn[aria-expanded="true"]{background:var(--forest);color:#fff}}

/* Ajustes solicitados: banners fijos, proporciones actualizadas y superficies compactas. */
.top{
  position:fixed!important;
  top:0;left:0;right:0;
  z-index:200;
  min-height:132px;
  background:rgba(24,49,31,.92)!important;
  border-bottom:1px solid rgba(197,164,79,.55);
  transition:background-color .35s ease, box-shadow .35s ease;
}
.top.is-scrolled{background:rgba(24,49,31,.68)!important;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.top-inner{height:132px!important}
.hero{
  min-height:680px!important;
  height:clamp(680px,78.75vw,1512px)!important;
  max-height:none!important;
  aspect-ratio:50.8 / 40;
}
.subpage-hero{
  margin-top:132px!important;
  min-height:132px!important;
  height:132px!important;
  padding:18px 0 20px!important;
  display:flex!important;
  align-items:center;
}
.site-footer,.simple-footer,footer{padding-top:21px!important;padding-bottom:14px!important}
.site-footer .fine{margin-top:16px!important;padding-top:10px!important}
.simple-footer .shell{min-height:0!important}
.alumni-gallery{display:none!important}

@media(max-width:850px){
  .top{min-height:82px}
  .top-inner{height:82px!important}
  .subpage-hero{margin-top:82px!important;height:110px!important;min-height:110px!important;padding:12px 0 16px!important}
  .hero{height:clamp(600px,110vw,1050px)!important;min-height:600px!important}
}
@media(max-width:520px){
  .top{min-height:76px}
  .top-inner{height:76px!important}
  .subpage-hero{margin-top:76px!important;height:98px!important;min-height:98px!important;padding:10px 0 12px!important}
  .hero{height:clamp(600px,145vw,900px)!important;min-height:600px!important}
}

/* Portada: la foto y su mensaje caben en la primera pantalla y dejan ver el inicio del contenido. */
.home-page .top{min-height:76px}
.home-page .top-inner{height:76px!important}
.home-page #inicio.hero{
  margin-top:76px;
  height:clamp(480px,calc(100svh - 266px),760px)!important;
  min-height:480px!important;
  max-height:760px!important;
  aspect-ratio:auto;
  align-items:center;
  background-position:center center;
}
.home-page #inicio.hero .hero-content{
  padding-top:0!important;
  padding-bottom:0!important;
  padding-left:clamp(24px,6vw,104px);
  padding-right:clamp(24px,6vw,104px);
  margin:0;
  max-width:100%;
}
.home-page #inicio.hero h1{
  max-width:680px;
  margin:14px 0 12px;
  line-height:1.16!important;
}
.home-page #inicio.hero p{line-height:1.45!important;margin:0;max-width:630px}
.home-page #inicio.hero .hero-actions{margin-top:24px}
.home-page #inicio.hero .hero-bottom{
  left:0;right:0;bottom:17px;
  justify-content:center;
  text-align:center;
}
.home-page #inicio.hero .hero-bottom .vertical{writing-mode:horizontal-tb}
@media(max-width:600px){
  .home-page #inicio.hero{
    height:clamp(520px,calc(100svh - 120px),740px)!important;
    min-height:520px!important;
    background-position:55% center;
  }
  .home-page #inicio.hero .hero-content{padding-left:24px;padding-right:24px}
  .home-page #inicio.hero h1{max-width:380px}
  .home-page #inicio.hero .hero-actions{display:flex;gap:10px}
  .home-page #inicio.hero .hero-bottom{display:flex}
}

/* Portada editorial: imagen protagonista y una franja clara como invitación a seguir. */
.home-page .top{min-height:88px;border-bottom:1px solid rgba(197,164,79,.45)}
.home-page .top-inner{height:88px!important}
.home-page #inicio.hero{
  margin-top:88px;
  height:clamp(450px,calc(100svh - 180px),900px)!important;
  min-height:450px!important;
  max-height:none!important;
  border-bottom:1px solid var(--gold);
  box-shadow:none;
  background-size:cover;
  background-position:center center;
}
.home-page #inicio.hero .hero-content{max-width:100%;animation:soft-rise .8s cubic-bezier(.22,.8,.22,1) both}
.home-page #inicio.hero::before{background:linear-gradient(90deg,rgba(8,18,11,.48) 0%,rgba(8,18,11,.18) 43%,transparent 72%)}
.home-page #inicio.hero h1{font-family:"Times New Roman",Times,serif!important}
.home-page .scroll-cue{
  position:relative;
  inset:auto;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  height:92px;
  margin:0;
  background:#fbf9f3;
  color:var(--forest);
  font-size:12px;
  font-weight:600;
  letter-spacing:.2em;
  pointer-events:none;
}
.home-page .scroll-cue .vertical{display:block;writing-mode:horizontal-tb}
.home-page .scroll-cue-chevron{
  width:9px;height:9px;
  border-right:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
  transform:rotate(45deg);
  animation:cue-drift 2.4s ease-in-out infinite;
}
@keyframes cue-drift{0%,100%{translate:0 0}50%{translate:0 4px}}

@media(max-width:850px){
  .home-page .top{min-height:82px}
  .home-page .top-inner{height:82px!important}
  .home-page #inicio.hero{margin-top:82px;height:clamp(430px,calc(100svh - 172px),850px)!important;min-height:430px!important}
  .home-page .scroll-cue{height:90px}
}
@media(max-width:600px){
  .home-page .top{min-height:76px}
  .home-page .top-inner{height:76px!important}
  .home-page #inicio.hero{
    margin-top:76px;
    min-height:390px!important;
    height:clamp(390px,calc(100svh - 162px),780px)!important;
    background-position:56% center;
  }
  .home-page .scroll-cue{height:86px}
  .home-page #inicio.hero .hero-actions{flex-wrap:wrap}
  .home-page #inicio.hero::before{background:linear-gradient(90deg,rgba(8,18,11,.60),rgba(8,18,11,.24) 75%),linear-gradient(0deg,rgba(8,18,11,.20),transparent 80%)}
}
@media(prefers-reduced-motion:reduce){
  .home-page .scroll-cue-chevron{animation:none}
  .home-page #inicio.hero .hero-content{animation:none}
}

/* Solo apariencia del menú restaurado; conserva su ancho, posición y apertura. */
.nav,.nav.open{
  background:rgba(251,249,243,.96)!important;
  color:var(--forest);
  border-left:1px solid rgba(197,164,79,.3);
  box-shadow:-12px 0 32px rgba(11,27,16,.12);
}
.nav-inner>.nav-group,.nav-inner>a{border-bottom:1px solid rgba(35,61,44,.16)}
.nav-inner>a,.nav .sub-menu-btn{
  color:var(--forest)!important;
  font-family:"Times New Roman",Times,serif!important;
  font-size:clamp(20px,2vw,23px)!important;
  font-weight:400;
  line-height:1.3!important;
  padding:19px 0;
  transition:color .2s ease,padding-left .2s ease;
}
.nav-inner>a:hover,.nav-inner>a:focus-visible,
.nav .sub-menu-btn:hover,.nav .sub-menu-btn:focus-visible{color:#8b692d!important;padding-left:5px}
.nav .sub-menu-btn[aria-expanded="true"]{color:#8b692d!important}
.nav .sub-menu-btn span{color:var(--gold)!important;font-size:16px}
.nav .submenu{padding:0 0 18px 18px}
.nav .submenu a{
  color:#405346!important;
  font-family:'Mulish','Muli',Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.45!important;
  padding:8px 0;
}
.nav .submenu a:hover,.nav .submenu a:focus-visible{color:#8b692d!important}
body.menu-open::before{background:rgba(8,22,13,.4)}
.menu-btn[aria-expanded="true"]{
  background:#fbf9f3!important;
  border-color:rgba(197,164,79,.68)!important;
  border-radius:12px;
  box-shadow:none;
}
.menu-btn[aria-expanded="true"]:hover{background:#f3efe3!important}
.menu-btn[aria-expanded="true"] span{background:var(--forest);height:1px;transition:transform .25s ease,opacity .2s ease}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(8px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-8px) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){
  .nav-inner>a,.nav .sub-menu-btn,.menu-btn[aria-expanded="true"] span{transition:none}
}

/* Panel abierto inspirado en la referencia: portada de menú, navegación y cierre. */
.nav,.nav.open{
  display:flex!important;
  flex-direction:column;
  width:min(410px,90vw);
  min-height:100dvh;
  padding:146px 35px 30px;
  background:rgba(251,249,243,.96)!important;
  border-left:0;
  box-shadow:-12px 0 36px rgba(16,29,18,.13);
  isolation:isolate;
}
.nav::after{
  content:"";
  position:absolute;
  right:-40px;
  bottom:48px;
  width:220px;
  height:220px;
  background:url('assets/montefaro-logo-ce84869a08cd.svg') center/contain no-repeat;
  opacity:.075;
  pointer-events:none;
  z-index:0;
}
.nav-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  padding:26px 0 24px;
  border-top:1px solid rgba(35,61,44,.16);
  border-bottom:1px solid rgba(35,61,44,.16);
}
.nav-inner>.nav-group,.nav-inner>a{
  position:relative;
  border:0;
}
.nav-inner>:first-child::before{
  content:"";
  position:absolute;
  left:-11px;
  top:calc(50% - 17px);
  width:3px;
  height:34px;
  background:var(--gold);
}
.nav-inner>a,.nav .sub-menu-btn{
  display:block;
  width:100%;
  padding:16px 21px 16px 13px;
  color:var(--forest)!important;
  font-family:"Times New Roman",Times,serif!important;
  font-size:26px!important;
  font-weight:400;
  line-height:1.25!important;
  letter-spacing:-.015em;
}
.nav-inner>a::after{
  content:"›";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  color:#7d714a;
  font:normal 24px/1 Georgia,serif;
}
.nav .sub-menu-btn span{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  color:#7d714a!important;
  font-size:18px;
}
.nav .submenu{padding:0 0 12px 24px}
.nav .submenu a{font-size:14px!important;line-height:1.45!important;padding:7px 0}
.menu-panel-cta{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex:none;
  min-height:58px;
  margin-top:38px;
  padding:14px 20px;
  border-radius:999px;
  background:#e5c77d;
  color:var(--forest)!important;
  font:700 12px/1.3 'Mulish','Muli',Arial,sans-serif!important;
  letter-spacing:.16em;
  text-align:center;
  text-transform:uppercase;
  transition:background .25s ease,transform .25s ease;
}
.menu-panel-cta span{font-size:17px;line-height:1}
.menu-panel-cta:hover,.menu-panel-cta:focus-visible{background:#d9b44a;transform:translateY(-2px)}
.menu-panel-foot{
  position:relative;
  z-index:1;
  flex:none;
  margin-top:auto;
  padding-top:12px;
  color:#516457;
  font:600 10px/1.4 'Mulish','Muli',Arial,sans-serif!important;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.menu-panel-foot::before{content:"";position:absolute;top:0;left:0;width:35px;height:1px;background:var(--gold)}
body.menu-open::before{background:rgba(8,22,13,.32)}
body.menu-open .brand{
  position:fixed;
  top:43px;
  left:calc(100vw - min(410px,90vw) + 34px);
  right:auto;
  z-index:55;
  color:var(--forest);
}
body.menu-open .brand-text,body.menu-open .brand-text small{color:var(--forest)}
.menu-btn[aria-expanded="true"]{
  position:fixed;
  top:35px;
  right:28px;
  z-index:56;
  width:48px;
  height:48px;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none;
}
.menu-btn[aria-expanded="true"]:hover{background:transparent!important}
.menu-btn[aria-expanded="true"] span{width:30px;background:var(--forest)}
@media(max-width:850px){
  .nav,.nav.open{padding:139px 28px 26px}
  body.menu-open .brand{top:35px;left:calc(100vw - min(410px,90vw) + 28px)}
  .menu-btn[aria-expanded="true"]{top:26px;right:20px}
}
@media(max-width:520px){
  .nav,.nav.open{width:100vw;max-width:100vw;padding:126px 30px 25px}
  body.menu-open .brand{top:39px;left:30px}
  .menu-btn[aria-expanded="true"]{top:28px;right:26px}
  .nav-inner{padding:25px 0 22px}
  .nav-inner>a,.nav .sub-menu-btn{font-size:25px!important;padding:15px 20px 15px 13px}
  .menu-panel-cta{margin-top:36px;min-height:56px}
}
@media(prefers-reduced-motion:reduce){.menu-panel-cta{transition:none}}

/* Las páginas interiores comienzan bajo el encabezado fijo, sin una segunda franja. */
body.inner-page main{padding-top:132px}
.page-intro{max-width:800px;margin:0 0 44px;color:var(--forest)}
.page-intro .eyebrow{color:#8b692d}
.page-intro h1{font:500 clamp(32px,3.3vw,42px)/1.14 "Times New Roman",Times,serif!important;letter-spacing:-.025em;margin:12px 0 12px}
.page-intro p{font-size:16px!important;line-height:1.65;color:#4c5b50;margin:0}
.page-intro + .eyebrow{margin-top:0}
body.inner-page .subpage-section:first-child,body.inner-page .facilities:first-child,body.inner-page .facility-video:first-child,body.inner-page .activities-section:first-child,body.inner-page .resident-directory:first-child,body.inner-page .impact:first-child{padding-top:58px}
body.inner-page .impact .page-intro{color:var(--forest)}
.nav .submenu a{display:block;width:100%;white-space:normal}
@media(max-width:850px){body.inner-page main{padding-top:82px}.page-intro{margin-bottom:34px}}
@media(max-width:520px){body.inner-page main{padding-top:76px}.page-intro{margin-bottom:28px}.page-intro h1{font-size:32px!important}}

/* Presentación de las páginas interiores sin títulos introductorios ni rótulos editoriales. */
.page-lead{max-width:780px;margin:0 0 28px}
.page-lead p,.contact-details .contact-lead{font:400 16px/1.7 'Mulish','Muli',Arial,sans-serif!important;color:var(--muted)!important;opacity:1;margin:0}
.contact-details .contact-lead{max-width:760px;margin:0 0 32px}
.facilities-intro p{margin-bottom:32px}
.directory-heading p{margin-bottom:32px}
.connect-grid{display:block!important;max-width:780px}
@media(max-width:520px){.page-lead{margin-bottom:22px}.contact-details .contact-lead{margin-bottom:25px}}

/* La misma altura y composición del encabezado de inicio en todo el sitio. */
.top{min-height:88px!important;border-bottom:1px solid rgba(197,164,79,.45)}
.top-inner{height:88px!important}
body.inner-page main{padding-top:88px!important}
#contacto.contact-details{padding-top:120px}
.subpage-section[id]{scroll-margin-top:102px}
.opus-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.opus-links .btn{border-radius:999px;text-align:center}
.opus-links .btn-outline{color:var(--forest);border:1px solid var(--gold);background:transparent}
.opus-links .btn-outline:hover{background:rgba(197,164,79,.12)}
.activity-intro{max-width:800px;margin:0 0 32px}
.activity-intro p{font-size:16px;line-height:1.65;color:var(--muted)}
.faq-placeholder h1{font-size:clamp(32px,3.3vw,42px);font-family:"Times New Roman",Times,serif}
.faq-placeholder p{max-width:680px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){
  .top{min-height:82px!important}
  .top-inner{height:82px!important}
  body.inner-page main{padding-top:82px!important}
  #contacto.contact-details{padding-top:108px}
  .subpage-section[id]{scroll-margin-top:94px}
}
@media(max-width:600px){
  .top{min-height:76px!important}
  .top-inner{height:76px!important}
  body.inner-page main{padding-top:76px!important}
  #contacto.contact-details{padding-top:102px}
  .subpage-section[id]{scroll-margin-top:88px}
  .opus-links .btn{width:100%}
}

/* Preguntas frecuentes: paneles que se despliegan sin perder el foco del botón. */
.faq-section{background:#fbf9f3!important;color:var(--forest);min-height:calc(100svh - 88px);padding:72px 0 100px}
.faq-section .shell{max-width:1100px}
.faq-section h1{font:500 clamp(32px,3.5vw,42px)/1.15 "Times New Roman",Times,serif;margin:0 0 36px;color:var(--forest)}
.faq-list{border-top:1px solid rgba(24,49,31,.22)}
.faq-item{border-bottom:1px solid rgba(24,49,31,.22)}
.faq-question{appearance:none;border:0;width:100%;background:transparent;color:var(--forest);padding:22px 4px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;font:500 clamp(18px,1.8vw,23px)/1.35 "Times New Roman",Times,serif}
.faq-question:hover{color:#76602c}
.faq-question:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.faq-icon{flex:none;width:26px;font:300 29px/1 'Mulish',Arial,sans-serif;color:var(--gold);text-align:center;transition:transform .32s ease}
.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(180deg)}
.faq-answer{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows .38s ease,opacity .32s ease,visibility .38s ease}
.faq-question[aria-expanded="true"] + .faq-answer{grid-template-rows:1fr;visibility:visible;opacity:1}
.faq-answer-inner{overflow:hidden;min-height:0}
.faq-answer p{max-width:790px;margin:0;padding:0 44px 24px 4px;color:#39473b!important;opacity:1!important;font:400 16px/1.65 'Mulish',Arial,sans-serif!important}
@media(max-width:600px){.faq-section{min-height:calc(100svh - 76px);padding:42px 0 72px}.faq-section h1{margin-bottom:25px}.faq-question{padding:19px 2px;font-size:20px;gap:15px}.faq-answer p{padding-right:20px}}
@media(prefers-reduced-motion:reduce){.faq-answer,.faq-icon{transition:none}}

/* Actividades: fotografía horizontal contenida, lectura en el ángulo inferior. */
.activities-section .shell{max-width:1180px}
.activities-stage{width:100%;height:clamp(490px,52vw,650px);min-height:0;aspect-ratio:auto;margin-top:26px;border:1px solid rgba(197,164,79,.45);border-radius:0;overflow:hidden}
.activity-panel,.activity-panel img{max-width:100%;max-height:100%}
.activity-panel img{object-position:center center;filter:none;transform:none!important}
.activity-panel::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,20,12,.68) 0%,rgba(8,20,12,.40) 38%,rgba(8,20,12,.08) 70%,transparent 92%)}
.activity-overlay{left:0;right:auto;top:auto;bottom:0;width:64%;max-height:100%;padding:0 12px 42px 42px!important;display:block;overflow-y:auto;background:none!important;backdrop-filter:none!important}
.activity-overlay h2{margin:0 0 14px!important;font:500 clamp(30px,3.5vw,40px)/1.18 "Times New Roman",Times,serif!important;color:#fff!important}
.activity-overlay p{max-width:690px;margin:0 0 11px!important;font:400 16px/1.5 'Mulish',Arial,sans-serif!important;color:#fff!important;opacity:1!important}
.activity-overlay p:last-child{margin-bottom:0!important}
@media(max-width:850px){.activities-stage{height:clamp(560px,75vw,700px)}.activity-overlay{width:78%;padding:0 20px 38px 34px!important}.activity-panel::after{background:linear-gradient(90deg,rgba(8,20,12,.68),rgba(8,20,12,.32) 55%,transparent 96%),linear-gradient(0deg,rgba(8,20,12,.24),transparent 55%)}}
@media(max-width:600px){.activities-stage{height:clamp(690px,110svh,820px);min-height:0;margin-top:20px}.activity-panel img{object-position:60% center}.activity-overlay{width:100%;padding:0 22px 36px!important}.activity-overlay h2{font-size:26px!important;margin-bottom:10px!important}.activity-overlay p{font-size:16px!important;line-height:1.45}.activity-panel::after{background:linear-gradient(0deg,rgba(8,20,12,.74) 0%,rgba(8,20,12,.35) 52%,transparent 82%),linear-gradient(90deg,rgba(8,20,12,.35),transparent 88%)}}

/* Títulos incorporados en el documento de contenido. */
.inner-title,.page-lead h1,.activity-intro h1{max-width:860px;margin:0 0 22px;color:var(--forest);font:500 clamp(32px,3.5vw,42px)/1.14 "Times New Roman",Times,serif;letter-spacing:-.025em}
.page-lead h1{margin-bottom:15px}
.activity-intro{max-width:900px}
.activity-contact{display:inline-block;margin-top:26px;padding-bottom:7px;border-bottom:1px solid var(--gold);color:var(--forest);font:600 15px/1.5 'Mulish','Muli',Arial,sans-serif}
.activity-contact:hover{color:#886929}
.location-section .inner-title{margin-bottom:35px}
@media(max-width:600px){.inner-title,.page-lead h1,.activity-intro h1{font-size:32px}.location-section .inner-title{margin-bottom:25px}}

/* Noticias: tarjeta de espera preparada para una futura grilla editorial. */
.news-section{padding:72px 0 115px;background:#fbf9f3;min-height:calc(100svh - 88px)}
.news-section h1{margin:0 0 26px;color:var(--forest);font:500 clamp(42px,5vw,64px)/1.05 "Times New Roman",Times,serif;letter-spacing:.035em}
.news-rule{height:1px;background:rgba(24,49,31,.22);margin-bottom:48px}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.news-card{min-width:0;color:var(--forest)}
.news-badge{display:inline-block;border:1px solid rgba(197,164,79,.7);border-radius:999px;padding:6px 13px;color:#78632c;font:700 11px/1.2 'Mulish',Arial,sans-serif;letter-spacing:.12em}
.news-image-placeholder{aspect-ratio:1.7;margin:18px 0 20px;border-radius:5px;background:#e7e8e1;display:grid;place-items:center;color:#6d776d;font:600 12px/1.4 'Mulish',Arial,sans-serif;letter-spacing:.14em}
.news-card h2{font:600 23px/1.3 'Mulish',Arial,sans-serif;margin:0 0 12px}
.news-card p{font:400 16px/1.65 'Mulish',Arial,sans-serif;color:var(--muted);margin:0 0 18px}
.news-date{font:400 13px/1.5 'Mulish',Arial,sans-serif;color:#758177}
@media(max-width:850px){.news-section{min-height:calc(100svh - 82px);padding:58px 0 90px}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.news-section{min-height:calc(100svh - 76px);padding:42px 0 75px}.news-section h1{font-size:40px}.news-rule{margin-bottom:34px}.news-grid{grid-template-columns:1fr}.news-card{max-width:470px}}

/* Fotografías de Montefaro, en la columna visual de ¿Qué es Montefaro? */
#que-es .montefaro-about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,4.5vw,68px);align-items:center}
#que-es .montefaro-about-copy{min-width:0}
#que-es .montefaro-photo-frame{position:relative;width:100%;aspect-ratio:4/3;min-width:0;isolation:isolate}
#que-es .montefaro-photo-frame::before{content:"";position:absolute;inset:0;transform:translate(8px,-8px);border:1px solid rgba(190,201,177,.55);border-radius:6px;pointer-events:none;z-index:0}
#que-es .montefaro-carousel{position:relative;z-index:1;width:100%;height:100%;aspect-ratio:4/3;min-width:0;overflow:hidden;background:#dce2d9;border:1px solid rgba(222,222,205,.85);border-radius:5px}
#que-es .montefaro-carousel-track{display:flex;width:100%;height:100%;transform:translateX(0);transition:transform 800ms cubic-bezier(.4,0,.2,1);will-change:transform}
#que-es .montefaro-carousel-slide{flex:0 0 100%;width:100%;height:100%;min-width:0}
#que-es .montefaro-carousel-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:950px){#que-es .montefaro-about-grid{grid-template-columns:1fr;gap:30px}#que-es .montefaro-photo-frame{max-width:700px}}
@media(max-width:600px){#que-es .montefaro-about-grid{gap:24px}#que-es .montefaro-photo-frame::before{transform:translate(5px,-5px)}}
@media(prefers-reduced-motion:reduce){#que-es .montefaro-carousel-track{transition:none}}

/* El mismo marco discreto acompaña a todas las fotografías de Actividades. */
.activity-photo-frame{position:relative;width:100%;margin-top:26px;isolation:isolate}
.activity-photo-frame::before{content:"";position:absolute;inset:0;transform:translate(8px,-8px);border:1px solid rgba(190,201,177,.55);border-radius:6px;pointer-events:none;z-index:0}
.activity-photo-frame .activities-stage{position:relative;z-index:1;margin-top:0;border:1px solid rgba(222,222,205,.85);border-radius:5px}
@media(max-width:600px){.activity-photo-frame{margin-top:20px}.activity-photo-frame::before{transform:translate(5px,-5px)}}

/* Fotografías verticales de Instalaciones: mismo doble contorno discreto. */
.facility-photo{position:relative;display:block;width:100%;aspect-ratio:4/5;isolation:isolate}
.facility-photo::before{content:"";position:absolute;inset:0;transform:translate(5px,-5px);border:1px solid rgba(190,201,177,.5);border-radius:5px;pointer-events:none;z-index:0}
.facility-photo img{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:1px solid rgba(222,222,205,.75);border-radius:4px}

/* Carrusel de fotografías dentro de cada categoría de actividades. */
.activity-carousel{position:absolute;inset:0;overflow:hidden}
.activity-carousel-track{display:flex;width:100%;height:100%;transform:translateX(0);transition:transform .75s ease;will-change:transform}
.activity-carousel-track.is-resetting{transition:none}
.activity-carousel-slide{flex:0 0 100%;min-width:0;height:100%}
.activity-carousel-slide img{display:block;width:100%;height:100%;object-fit:cover}
.activity-carousel-controls{position:absolute;right:18px;bottom:18px;z-index:3;display:flex;align-items:center;gap:8px;color:#fff}
.activity-carousel-count{font:600 13px/1 'Mulish',Arial,sans-serif;text-shadow:0 1px 5px #000;min-width:46px;text-align:center}
.activity-carousel-controls button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffffad;border-radius:50%;background:#11251ad9;color:#fff;cursor:pointer;font:28px/1 Arial,sans-serif;transition:background .2s,border-color .2s}
.activity-carousel-controls button:hover{background:#18311f;border-color:#fff}
.activity-carousel-controls button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:600px){.activity-carousel-controls{top:17px;right:14px;bottom:auto}.activity-carousel-controls button{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.activity-carousel-track{transition:none}}

/* Actividades: descripción entre pestañas y fotografía; relato propio sobre cada imagen. */
.activities-section .activity-intro{max-width:none}
.activities-section .activities-stage{height:auto;min-height:0;overflow:visible;background:transparent;border:0;margin-top:0}
.activities-section .activity-panel{display:none;position:absolute;inset:0;max-height:none;opacity:0;visibility:hidden}
.activities-section .activity-panel.is-active{display:block;position:relative;opacity:1;visibility:visible;animation:activity-panel-enter .45s ease both}
@keyframes activity-panel-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.activities-section .activity-panel::after{display:none}
.activities-section .activity-bridge{width:100%;max-width:none;margin:24px 0 27px;color:var(--forest)}
.activities-section .activity-bridge p{max-width:none;margin:0 0 12px;font:400 16px/1.65 'Mulish','Muli',Arial,sans-serif;color:var(--muted);opacity:1}
.activities-section .activity-bridge p:last-child{margin-bottom:0}
.activities-section .activity-photo-frame{margin-top:0}
.activities-section .activity-media{position:relative;height:clamp(590px,54vw,720px);overflow:hidden;background:#18311f;border:1px solid rgba(222,222,205,.85);border-radius:5px;z-index:1}
.activities-section .activity-carousel-slide{position:relative;overflow:hidden}
.activities-section .activity-carousel-slide img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none;transform:none!important}
.activities-section .activity-carousel-slide::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(8,20,12,.88) 0%,rgba(8,20,12,.49) 40%,rgba(8,20,12,.06) 76%,transparent 100%)}
.activities-section .activity-panel[data-panel="2"] .activity-carousel-slide::after,
.activities-section .activity-panel[data-panel="3"] .activity-carousel-slide::after,
.activities-section .activity-panel[data-panel="4"] .activity-carousel-slide::after{display:none}
.activities-section .activity-photo-copy{position:absolute;z-index:2;left:42px;right:42px;bottom:42px;max-height:calc(100% - 95px);overflow-y:auto;color:#fff;text-align:left;scrollbar-width:thin}
.activities-section .activity-photo-copy h2{max-width:none;margin:0 0 15px;font:700 18px/1.3 "Times New Roman",Times,serif;color:#fff}
.activities-section .activity-photo-copy p{max-width:none;margin:0 0 11px;font:400 18px/1.45 'Mulish','Muli',Arial,sans-serif;color:#fff;opacity:1}
.activities-section .activity-photo-copy p:last-child{margin-bottom:0}
.activities-section .activity-photo-copy h2{font-size:18px!important;font-weight:700!important}
.activities-section .activity-photo-copy p{font-size:18px!important;font-weight:400!important}
@media(max-width:850px){
  .activities-section .activity-media{height:clamp(620px,82vw,760px)}
  .activities-section .activity-photo-copy{left:34px;right:34px;bottom:38px}
}
@media(max-width:600px){
  .activities-section .activity-bridge{margin:22px 0 24px}
  .activities-section .activity-media{height:clamp(760px,110svh,960px)}
  .activities-section .activity-photo-copy{left:22px;right:22px;bottom:36px;max-height:calc(100% - 100px)}
  .activities-section .activity-photo-copy h2{font-size:18px;line-height:1.3;margin-bottom:10px}
  .activities-section .activity-photo-copy p{font-size:18px;line-height:1.4}
  .activities-section .activity-carousel-slide::after{background:linear-gradient(0deg,rgba(8,20,12,.91) 0%,rgba(8,20,12,.64) 53%,rgba(8,20,12,.12) 88%,transparent 100%)}
}
@media(prefers-reduced-motion:reduce){.activities-section .activity-panel.is-active{animation:none}}

/* Contacto: enlaces compactos con apariencia de botón. */
#contacto.contact-details .contact-methods{display:flex;flex-wrap:wrap;align-items:center;gap:14px;border:0}
#contacto.contact-details .contact-methods a{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:auto;max-width:100%;min-height:48px;padding:12px 20px;border:1px solid var(--gold);border-radius:999px;background:var(--forest);color:#fff;box-shadow:none;backdrop-filter:none;font:400 16px/1.4 'Mulish','Muli',Arial,sans-serif!important;text-align:center;transition:background .2s ease,color .2s ease,border-color .2s ease}
#contacto.contact-details .contact-methods a:not(:first-child){border:1px solid var(--gold);padding:12px 20px}
#contacto.contact-details .contact-methods small{display:inline;color:inherit;font:600 14px/1.4 'Mulish','Muli',Arial,sans-serif!important;letter-spacing:0;text-transform:none;margin:0 6px 0 0}
#contacto.contact-details .contact-methods small::after{content:':' }
#contacto.contact-details .contact-symbol{flex:0 0 auto;font-size:18px}
#contacto.contact-details .contact-methods a:hover{background:var(--gold);color:var(--forest);transform:none;box-shadow:none}
#contacto.contact-details .contact-methods a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:600px){#contacto.contact-details .contact-methods{align-items:stretch}#contacto.contact-details .contact-methods a{width:100%;padding:12px 16px}#contacto.contact-details .contact-methods a:not(:first-child){padding:12px 16px}}
@media(prefers-reduced-motion:reduce){#contacto.contact-details .contact-methods a{transition:none}}

/* Lectura breve sobre la foto y relato completo desplegable. */
.activities-section .activity-media{height:clamp(430px,48vw,620px)}
.activities-section .activity-photo-copy{max-height:none;overflow:visible;bottom:40px}
.activities-section .activity-photo-copy p{max-width:850px;line-height:1.5}
.activities-section .activity-carousel-slide::after{background:linear-gradient(0deg,rgba(8,20,12,.79) 0%,rgba(8,20,12,.35) 34%,transparent 72%)}
.activities-section .activity-story-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;margin-top:7px;padding:8px 0;border:0;background:transparent;color:#fff;font:600 14px/1.4 'Mulish','Muli',Arial,sans-serif!important;cursor:pointer;text-align:left}
.activities-section .activity-story-toggle .activity-story-label{border-bottom:1px solid rgba(197,164,79,.8);padding-bottom:3px}
.activities-section .activity-story-toggle .activity-story-icon{color:#e4c776;font-size:22px;line-height:1}
.activities-section .activity-story-toggle:hover{color:#e4c776}
.activities-section .activity-story-toggle:focus-visible{outline:2px solid #e4c776;outline-offset:5px}
.activities-section .activity-story{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .25s ease}
.activities-section .activity-story.is-open{grid-template-rows:1fr;opacity:1}
.activities-section .activity-story-inner{min-height:0;overflow:hidden}
.activities-section .activity-story-content{padding:28px 0 4px}
.activities-section .activity-story-entry h3{margin:0 0 15px;color:var(--forest);font:700 23px/1.35 'Mulish','Muli',Arial,sans-serif!important}
.activities-section .activity-story-entry p{max-width:none;margin:0 0 13px;color:var(--muted);font:400 16px/1.65 'Mulish','Muli',Arial,sans-serif!important;opacity:1}
.activities-section .activity-carousel-controls{top:18px;bottom:auto}
@media(max-width:850px){.activities-section .activity-media{height:clamp(400px,60vw,560px)}.activities-section .activity-photo-copy{left:30px;right:30px;bottom:30px}}
@media(max-width:600px){.activities-section .activity-media{height:clamp(410px,64svh,520px)}.activities-section .activity-photo-copy{left:22px;right:22px;bottom:24px}.activities-section .activity-photo-copy h2{margin-bottom:9px}.activities-section .activity-photo-copy p{line-height:1.45}.activities-section .activity-story-content{padding-top:22px}.activities-section .activity-story-entry h3{font-size:21px!important}.activities-section .activity-carousel-slide::after{background:linear-gradient(0deg,rgba(8,20,12,.84),rgba(8,20,12,.34) 49%,transparent 86%)}}
@media(prefers-reduced-motion:reduce){.activities-section .activity-story{transition:none}}

/* Ritmo de lectura uniforme en las páginas interiores, sin espacio superfluo. */
body.inner-page main>section:first-child{padding-top:56px!important}
body.inner-page main h1,.page-lead h1,.activity-intro h1,.faq-section h1,.news-section h1{color:var(--forest);font-family:"Times New Roman",Times,serif!important;font-size:42px!important;font-weight:500!important;line-height:1.15!important;letter-spacing:-.02em;margin:0 0 22px}
main .btn,main .form-actions button{min-height:48px;padding:12px 22px;border-radius:999px;font-size:14px!important;font-weight:700;line-height:1.4;letter-spacing:.09em;box-shadow:none;text-align:center}
main .btn:hover,main .form-actions button:hover{box-shadow:none}
.facility-actions{gap:16px}
@media(max-width:850px){body.inner-page main>section:first-child{padding-top:48px!important}}
@media(max-width:600px){body.inner-page main>section:first-child{padding-top:36px!important}body.inner-page main h1,.page-lead h1,.activity-intro h1,.faq-section h1,.news-section h1{font-size:32px!important;line-height:1.18!important;margin-bottom:18px}.page-lead{margin-bottom:24px}main .btn,main .form-actions button{padding:12px 18px;letter-spacing:.07em}.home-page #inicio.hero .hero-actions{gap:12px}.facility-actions .btn{width:100%}}

/* Portada: presentación breve y una invitación accesible a seguir recorriendo. */
.home-page #inicio.hero{height:auto!important;min-height:clamp(450px,calc(100svh - 180px),900px)!important}
.home-page #inicio.hero .hero-content{padding-top:48px!important;padding-bottom:48px!important}
.home-page #inicio.hero .hero-summary{max-width:38rem;line-height:1.6!important;opacity:1}
.home-page a.scroll-cue{pointer-events:auto;cursor:pointer;text-decoration:none;transition:color .2s ease}
.home-page a.scroll-cue:hover{color:#8b692d}
.home-page a.scroll-cue:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
.home-page #que-es{scroll-margin-top:88px}
@media(max-width:850px){.home-page #inicio.hero{min-height:clamp(430px,calc(100svh - 172px),850px)!important}.home-page #que-es{scroll-margin-top:82px}}
@media(max-width:600px){.home-page #inicio.hero{min-height:clamp(390px,calc(100svh - 162px),780px)!important}.home-page #inicio.hero .hero-content{padding-top:32px!important;padding-bottom:32px!important}.home-page #que-es{scroll-margin-top:76px}}
@media(prefers-reduced-motion:reduce){.home-page a.scroll-cue{transition:none}}
