/* Encabezado horizontal en escritorio y panel de navegación en pantallas pequeñas. */
.top,.home-page .top{min-height:88px;background:#fbf9f3!important;color:var(--forest);border-bottom:1px solid rgba(197,164,79,.35);box-shadow:none;transition:background-color .25s ease,box-shadow .25s ease,min-height .25s ease}
.top .top-inner{height:88px!important;transition:height .25s ease;gap:20px}
.top .brand,.top .brand-text,.top .brand-text small{color:var(--forest)}
.top .menu-btn{border-color:rgba(24,49,31,.55)}
.top .menu-btn span{background:var(--forest)}
.top.is-scrolled{background:rgba(251,249,243,.98)!important;box-shadow:0 4px 22px rgba(24,49,31,.1)}
.home-page:not(.menu-open) .top:not(.is-scrolled){background:transparent!important;color:#fff;border-bottom-color:rgba(255,255,255,.25)}
.home-page:not(.menu-open) .top:not(.is-scrolled) .brand,
.home-page:not(.menu-open) .top:not(.is-scrolled) .brand-text,
.home-page:not(.menu-open) .top:not(.is-scrolled) .brand-text small{color:#fff}
.home-page:not(.menu-open) .top:not(.is-scrolled) .menu-btn{border-color:rgba(255,255,255,.7)}
.home-page:not(.menu-open) .top:not(.is-scrolled) .menu-btn span{background:#fff}
.home-page #inicio.hero{margin-top:0;min-height:clamp(538px,calc(100svh - 92px),988px)!important}
.home-page #inicio.hero .hero-content{padding-top:136px!important}
.home-page #inicio.hero::before{background:linear-gradient(180deg,rgba(8,18,11,.64),transparent 150px),linear-gradient(90deg,rgba(8,18,11,.48),rgba(8,18,11,.18) 43%,transparent 72%)}
body.inner-page main{padding-top:88px}
body.inner-page main #contacto.contact-details{padding-top:56px!important}
.subpage-section[id],.home-page #que-es{scroll-margin-top:90px}

/* El texto de ubicación ocupa y justifica toda su columna. */
.location-section .location-copy p{max-width:none;text-align:justify;text-align-last:left;text-justify:inter-word;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:normal}

@media(min-width:1121px){
  .top .top-inner{width:min(1440px,calc(100% - 64px))}
  .top.is-scrolled,.home-page .top.is-scrolled{min-height:72px}
  .top.is-scrolled .top-inner{height:72px!important}
  .top .brand{width:215px;max-width:none}
  .top .menu-btn{display:none!important}
  .top .nav,.top .nav.open{position:static;inset:auto;display:block!important;visibility:visible;transform:none;width:auto;min-height:0;max-height:none;overflow:visible;padding:0;flex:1;background:transparent!important;color:inherit;border:0;box-shadow:none;isolation:auto;transition:none}
  .top .nav::after,.top .nav-inner>:first-child::before{display:none}
  .top .nav-inner{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,1.35vw,23px);padding:0;border:0}
  .top .nav-inner>.nav-group,.top .nav-inner>a{position:relative;border:0}
  .top .nav-inner>a,.top .nav .sub-menu-btn{position:relative;display:block;width:auto;padding:18px 0;color:inherit!important;font:500 16px/1.4 "Times New Roman",Times,serif!important;letter-spacing:0;text-transform:none;white-space:nowrap;transition:color .2s ease}
  .top .nav-inner>a:hover,.top .nav .sub-menu-btn:hover{padding-left:0;color:var(--gold)!important}
  .top .nav .sub-menu-btn span{position:static;display:inline-block;transform:none;margin-left:4px;color:inherit!important;font-size:13px}
  .top .nav-inner>a::after,.top .nav .sub-menu-btn::after{content:"";display:block;position:absolute;left:0;right:0;top:auto;bottom:10px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
  .top .nav-inner>a:hover::after,.top .nav-inner>a:focus-visible::after,
  .top .nav-inner>a.is-current::after,.top .nav .sub-menu-btn:hover::after,
  .top .nav .sub-menu-btn:focus-visible::after,
  .top .nav .sub-menu-btn[aria-expanded="true"]::after,
  .top .nav-group.is-current>.sub-menu-btn::after{transform:scaleX(1)}
  .top .nav .submenu{position:absolute;top:calc(100% - 4px);left:-18px;min-width:230px;padding:12px 18px;display:none;gap:0;background:#fbf9f3;color:var(--forest);border-top:2px solid var(--gold);box-shadow:0 12px 30px rgba(24,49,31,.16)}
  .top .nav .sub-menu-btn[aria-expanded="true"]+.submenu{display:grid;animation:dropdown-enter .2s ease both}
  .top .nav .submenu a{display:block;padding:10px 0;font:400 14px/1.5 'Mulish','Muli',Arial,sans-serif!important;color:var(--forest)!important}
  .top .nav .submenu a:hover,.top .nav .submenu a:focus-visible{color:#8b692d!important}
  .top .nav .submenu a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
  .top .menu-panel-cta,.top .menu-panel-foot{display:none}
  body.menu-open{overflow:auto}
  body.menu-open::before{display:none}
}
@keyframes dropdown-enter{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@media(max-width:1120px){
  .top,.home-page .top{min-height:82px}
  .top .top-inner{height:82px!important}
  .top .menu-btn{display:flex!important}
  .home-page #inicio.hero{min-height:clamp(512px,calc(100svh - 90px),932px)!important}
  .home-page #inicio.hero .hero-content{padding-top:114px!important;padding-bottom:32px!important}
  body.inner-page main{padding-top:82px}
  .subpage-section[id],.home-page #que-es{scroll-margin-top:84px}
}
@media(max-width:600px){
  .top,.home-page .top{min-height:76px}
  .top .top-inner{height:76px!important}
  .home-page #inicio.hero{min-height:clamp(466px,calc(100svh - 86px),856px)!important}
  .home-page #inicio.hero .hero-content{padding-top:108px!important}
  .home-page #inicio.hero::before{background:linear-gradient(180deg,rgba(8,18,11,.6),transparent 120px),linear-gradient(90deg,rgba(8,18,11,.6),rgba(8,18,11,.24) 75%),linear-gradient(0deg,rgba(8,18,11,.2),transparent 80%)}
  body.inner-page main{padding-top:76px}
  body.inner-page main #contacto.contact-details{padding-top:36px!important}
  .subpage-section[id],.home-page #que-es{scroll-margin-top:78px}
}

/* El bloque de Para el mundo pasa al inicio, con cuatro columnas alineadas. */
.home-impact{padding:80px 0 86px;background:var(--surface)!important;color:var(--forest)}
.home-impact .page-lead{max-width:850px;margin:0 0 48px}
.home-impact h2{margin:0;color:var(--forest);font:500 42px/1.15 "Times New Roman",Times,serif!important;letter-spacing:-.02em}
.home-impact .impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:baseline;gap:38px;border:0;background:transparent}
.home-impact .impact-item,.home-impact .impact-item:not(:first-child){min-width:0;min-height:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none}
.home-impact .impact-value{display:flex;align-items:baseline;min-height:110px;margin:0}
.home-impact .impact-number{display:block;margin:0;min-height:0;max-width:100%;font:500 42px/1.1 "Times New Roman",Times,serif!important;letter-spacing:-.025em;color:var(--ink)!important;font-variant-numeric:tabular-nums}
.home-impact .impact-number>.stat-number{display:inline;margin:0;max-width:none;font:inherit!important;color:inherit!important}
.home-impact .impact-caption{display:block;max-width:270px;margin:0!important;color:var(--muted)!important;font:400 14px/1.55 'Mulish','Muli',Arial,sans-serif!important}
.home-impact .country-name{display:flex;align-items:baseline;gap:9px;transition:opacity .2s ease,transform .2s ease}
.home-impact .country-name>.country-flag,.home-impact .country-name>.country-text{display:block;margin:0;max-width:none;font:inherit!important;color:inherit!important}
.home-impact .country-name>.country-flag{flex:none;font-size:36px!important}
.home-impact .country-name>.country-text{min-width:0;overflow-wrap:normal}
.home-impact .country-name.is-changing{opacity:0;transform:translateY(8px)}
@media(max-width:1050px){.home-impact .impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 42px}}
@media(max-width:600px){.home-impact{padding:56px 0 62px}.home-impact h2{font-size:32px!important}.home-impact .page-lead{margin-bottom:36px}.home-impact .impact-grid{grid-template-columns:1fr;gap:34px}.home-impact .impact-value{min-height:90px}}

/* La misma invitación cierra cada página. */
.site-visit{background:#f6f3ea;color:var(--forest);padding:72px 0;border-top:1px solid rgba(197,164,79,.34)}
.site-visit .shell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:42px}
.site-visit h2{margin:0 0 14px;color:var(--forest);font:500 clamp(30px,3.3vw,42px)/1.2 "Times New Roman",Times,serif!important;letter-spacing:-.02em}
.site-visit p{max-width:610px;margin:0;color:var(--muted);font-size:16px!important;line-height:1.65;opacity:1}
.site-visit .btn{justify-self:end;max-width:100%;white-space:normal;background:var(--forest);color:#fff;border:1px solid var(--forest)}
.site-visit .btn:hover{background:#24492e;border-color:#24492e}
@media(max-width:850px){
  .site-visit{padding:58px 0}
  .site-visit .shell{grid-template-columns:1fr;gap:24px}
  .site-visit .btn{justify-self:start}
}
@media(max-width:600px){
  .site-visit h2{font-size:30px!important}
}

/* Invitación compacta en interiores; el inicio conserva su tamaño actual. */
.inner-page .site-visit{padding:30px 0}
.inner-page .site-visit .shell{gap:22px}
.inner-page .site-visit h2{margin-bottom:7px;font-size:26px!important;line-height:1.2!important}
.inner-page .site-visit p{font-size:14px!important;line-height:1.5}
.inner-page .site-visit .btn{min-height:44px;padding:10px 18px;font-size:14px!important}
@media(max-width:850px){.inner-page .site-visit{padding:28px 0}.inner-page .site-visit .shell{gap:18px}}
@media(max-width:600px){.inner-page .site-visit h2{font-size:24px!important}}

/* Pequeñas interacciones y apariciones cuando el contenido entra en pantalla. */
.scroll-reveal{animation:none!important;opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.scroll-reveal.is-revealed{opacity:1;transform:none}
.facility-photo{overflow:hidden}
.facility-photo img,.montefaro-carousel-slide img{transition:transform .5s ease}
.facility-card:hover .facility-photo img,.facility-card:focus-visible .facility-photo img{transform:scale(1.035)}
.montefaro-photo-frame:hover .montefaro-carousel-slide img{transform:scale(1.025)}
.btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.text-link{position:relative;border-bottom:0}
.text-link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(.4);transform-origin:left;transition:transform .25s ease}
.text-link:hover::after,.text-link:focus-visible::after{transform:scaleX(1)}

/* Las categorías cambian la fotografía y el texto en el mismo espacio. */
.activities-tabs{display:flex;flex-wrap:wrap;gap:10px;border-bottom:0}
.activities-tabs .activity-tab{min-height:44px;padding:10px 18px;border:1px solid rgba(24,49,31,.25);border-radius:999px;background:transparent;color:var(--forest);font-size:14px!important;line-height:1.4;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.activities-tabs .activity-tab::after{display:none}
.activities-tabs .activity-tab:hover{border-color:var(--gold);background:#f1edde}
.activities-tabs .activity-tab.is-active{background:var(--forest);border-color:var(--forest);color:#fff}
.activities-tabs .activity-tab:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.activities-section .activity-panel[hidden]{display:none!important}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .scroll-reveal{opacity:1;transform:none;transition:none}
  .top,.top .top-inner,.top .nav-inner>a,.top .nav .sub-menu-btn,
  .top .nav-inner>a::after,.top .nav .sub-menu-btn::after,
  .facility-photo img,.montefaro-carousel-slide img,
  .btn,.text-link::after,.activities-tabs .activity-tab{transition:none}
  .top .nav .sub-menu-btn[aria-expanded="true"]+.submenu{animation:none}
  .home-impact .country-name{transition:none}
  .facility-card:hover .facility-photo img,.facility-card:focus-visible .facility-photo img,
  .montefaro-photo-frame:hover .montefaro-carousel-slide img{transform:none!important}
}

/* Menos espacio vacío entre bloques, conservando la escala de lectura. */
.intro,.about-more,.life,.quote,.visit,.subpage-section,.alumni-gallery,
.impact,.connect,.facilities,.facility-video,.resident-directory,.faq-section,
.news-section{padding-block:4rem}
.activities-section{padding-top:2.75rem;padding-bottom:4rem}
body.inner-page main>section:first-child,
body.inner-page main #contacto.contact-details{padding-top:2.75rem!important}
.faq-section,.news-section{min-height:0}
.page-intro,.page-lead,.activity-intro,.section-header,.gallery-header,
.directory-heading,.facilities-intro{margin-bottom:1.5rem}
.facilities-intro p,.directory-heading p{margin-bottom:1.5rem}
.subpage-section h2{margin:0 0 1.25rem}
.location-section .inner-title{margin-bottom:1.5rem}
.news-rule{margin-bottom:2rem}
.home-impact .page-lead{margin-bottom:2rem}
.home-impact .impact-grid{gap:1.75rem}
.home-impact .impact-value{min-height:5rem}
.home-page .site-visit{padding-block:3.5rem}
.home-page .site-visit .shell{gap:2rem}

/* Formulario acotado y filas cortas, con controles cómodos de usar. */
.contact-details{padding-bottom:2.5rem}
.contact-details>.shell,.contact-form-section>.shell{max-width:60rem}
.contact-details .contact-lead{margin-bottom:1.25rem}
.contact-form-section{padding:3rem 0 3.5rem}
.contact-form-section .form-intro{margin-bottom:1.25rem}
.contact-form-section .form-intro h2{margin:0}
.contact-form-section .setup-note{margin:0 0 1.125rem;padding:.75rem 1rem}
.contact-form-section form{padding:1.5rem}
.contact-form-section .form-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:.875rem 1rem}
.contact-form-section .field{grid-column:span 6;gap:.375rem}
.contact-form-section .field.full{grid-column:1/-1}
.contact-form-section .field input,
.contact-form-section .field select,
.contact-form-section .field textarea{min-height:2.75rem;padding:.625rem .75rem;font-size:1rem!important;line-height:1.4}
.contact-form-section .field textarea{min-height:6.5rem;resize:vertical}
.contact-form-section .privacy-note{margin-top:1.125rem;max-width:none}
.contact-form-section .privacy-note p{margin:0 0 .5rem;font-size:.875rem!important;line-height:1.55}
.contact-form-section .privacy-check{min-height:2.75rem;gap:.625rem;padding-block:.5rem;line-height:1.5}
.contact-form-section .form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin-top:1rem}
.contact-form-section .form-actions button{min-height:2.75rem;padding:.625rem 1.25rem}
.contact-form-section .form-actions #form-feedback{margin:0!important}
.contact-form-section #form-feedback:empty{display:none}

@media(min-width:900px){
  .contact-form-section .field--third{grid-column:span 4}
}
@media(max-width:850px){
  .intro,.about-more,.life,.quote,.visit,.subpage-section,.alumni-gallery,
  .impact,.connect,.facilities,.facility-video,.resident-directory,.faq-section,
  .news-section{padding-block:3.25rem}
  .activities-section{padding-top:2.5rem;padding-bottom:3.25rem}
  body.inner-page main>section:first-child,
  body.inner-page main #contacto.contact-details{padding-top:2.5rem!important}
  .contact-form-section{padding-block:2.5rem}
  .home-page .site-visit{padding-block:2.75rem}
}
@media(max-width:600px){
  .intro,.about-more,.life,.quote,.visit,.subpage-section,.alumni-gallery,
  .impact,.connect,.facilities,.facility-video,.resident-directory,.faq-section,
  .news-section{padding-block:2.5rem}
  .activities-section{padding-block:2.5rem}
  body.inner-page main>section:first-child,
  body.inner-page main #contacto.contact-details{padding-top:2rem!important}
  .page-intro,.page-lead,.activity-intro,.section-header,.gallery-header,
  .directory-heading,.facilities-intro{margin-bottom:1.25rem}
  .home-impact .page-lead{margin-bottom:1.5rem}
  .home-impact .impact-grid{gap:1.375rem}
  .home-impact .impact-value{min-height:3.75rem}
  .contact-details{padding-bottom:2rem}
  .contact-form-section{padding-block:2rem}
  .contact-form-section form{padding:1.125rem 1rem}
  .contact-form-section .form-grid{grid-template-columns:minmax(0,1fr);gap:.75rem}
  .contact-form-section .field,.contact-form-section .field--third{grid-column:1/-1}
  .contact-form-section .form-actions button{width:100%}
}
