/* Independent destinations; short visual invitations on the home page. */
.header-inner{gap:22px}
.desktop-nav{gap:22px;white-space:nowrap}
.desktop-nav a[aria-current=page]{color:var(--olive)}
.mobile-nav a[aria-current=page]{color:var(--olive)}

/* Product-led opening: one headline and the architecture in the first view. */
.modules-hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(35px,4vw,65px);padding-block:55px 65px}
.modules-hero-copy{min-width:0}
.modules-hero h1{font-size:clamp(40px,4.1vw,62px);font-weight:400;line-height:1.12;margin:26px 0 23px;letter-spacing:-.055em}
.modules-hero-copy>p:not(.eyebrow):not(.modules-hero-lead){color:#666259;line-height:1.85;font-size:15px;max-width:390px}
.modules-hero-copy .modules-hero-lead{color:var(--olive);font-family:var(--display);font-size:21px;line-height:1.4;letter-spacing:-.025em;margin-bottom:17px}
.modules-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 25px;margin-top:29px}
.modules-hero-actions .button{gap:25px;padding-inline:22px}
.modules-hero-actions .text-link{font-size:12px}
.modules-hero-picture{position:relative;min-width:0;aspect-ratio:1.28;overflow:hidden;background:#dfd9ca}
.modules-hero-picture>img{width:100%;height:100%;object-fit:cover;object-position:center;transition:scale 900ms cubic-bezier(.22,.68,.2,1)}
.modules-hero-picture figcaption{position:absolute;left:18px;right:18px;bottom:18px;background:#f6f4eef0;color:var(--ink);padding:16px 18px;backdrop-filter:blur(12px);border:1px solid #ffffff4d}
.modules-hero-picture figcaption>span:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-family:var(--display);font-size:25px;line-height:1.2;letter-spacing:-.035em}
.modules-hero-area{font-size:21px;color:var(--olive)}
.modules-hero-picture figcaption>span:last-child{display:block;font-size:8px;letter-spacing:.08em;color:#666259;line-height:1.6;margin-top:8px}
.page-modulos .modules-section{padding-top:18px}
@media(min-width:901px) and (max-width:1100px){.modules-hero{grid-template-columns:1fr 1.05fr;gap:35px}.modules-hero h1{font-size:42px}.modules-hero-picture{aspect-ratio:1.1}.modules-hero-actions{gap:15px}.modules-hero-actions .button{min-height:48px;font-size:12px;gap:15px}}
@media(max-width:900px){.modules-hero{grid-template-columns:1fr;padding-block:32px 45px;gap:29px}.modules-hero-picture{grid-row:1;aspect-ratio:1.6}.modules-hero-copy{max-width:650px}.modules-hero h1{font-size:clamp(39px,6.4vw,54px);margin-block:21px}.modules-hero-copy>p:not(.eyebrow):not(.modules-hero-lead){max-width:580px}.modules-hero-actions{margin-top:24px}.modules-hero-picture figcaption{left:13px;right:13px;bottom:13px;padding:12px 15px}.modules-hero-picture figcaption>span:first-child{font-size:23px}.modules-hero-picture figcaption>span:last-child{font-size:7px;letter-spacing:.04em}.page-modulos .modules-section{padding-top:0}}
@media(max-width:480px){.modules-hero{padding-block:24px 40px;gap:25px}.modules-hero-picture{aspect-ratio:1.4}.modules-hero h1{font-size:37px}.modules-hero .eyebrow{font-size:10px}.modules-hero-copy .modules-hero-lead{font-size:20px}.modules-hero-picture figcaption{left:10px;right:10px;bottom:10px;padding:10px 12px}.modules-hero-picture figcaption>span:first-child{font-size:21px}.modules-hero-area{font-size:18px}.modules-hero-actions{gap:15px 20px}.modules-hero-actions .button{font-size:12px;gap:15px;min-height:49px}.modules-hero-actions .text-link{font-size:11px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.modules-hero-picture:hover>img{scale:1.025}}
@media(prefers-reduced-motion:reduce){.modules-hero-picture>img{transition:none;scale:none}}

.habitar-hero{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(35px,5vw,80px);padding-block:70px 85px}
.habitar-hero-copy{min-width:0;padding-block:15px}
.habitar-hero h1{font-size:clamp(44px,4.5vw,70px);font-weight:400;line-height:1.09;margin:26px 0 30px}
.habitar-hero-copy>p:not(.eyebrow){color:#666259;font-size:16px;line-height:1.85;max-width:415px}
.habitar-hero-copy>p+p:not(.eyebrow){margin-top:18px}
.habitar-hero .text-link{margin-top:26px}
.habitar-hero-picture{position:relative;min-width:0;height:clamp(380px,43vw,590px);overflow:hidden;background:#dcd5c8}
.habitar-hero-picture>img{width:100%;height:100%;object-fit:cover;object-position:57% center}
.habitar-hero-picture figcaption{position:absolute;bottom:15px;left:16px;right:16px;color:#f6f4ee;background:#262422b8;padding:8px 11px;width:max-content;max-width:calc(100% - 32px);font-size:9px;letter-spacing:.08em;line-height:1.6}
.page-habitar .material-gallery{border-top:1px solid var(--line)}
.page-habitar .experience-section{padding-top:35px}

.home-feature{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:clamp(36px,6vw,90px);padding-block:90px;min-width:0}
.home-feature-copy{min-width:0;max-width:500px}
.home-feature-copy h2{font-size:clamp(37px,4.2vw,59px);font-weight:400;line-height:1.1;margin:24px 0 26px}
.home-feature-copy>p:not(.eyebrow){color:#666259;max-width:430px;line-height:1.85;font-size:16px}
.home-feature-copy .text-link,.home-feature-copy .button{margin-top:26px}
.home-feature-picture{position:relative;min-width:0;overflow:hidden;background:#dfdacf;aspect-ratio:1.16}
.home-feature-picture>img{width:100%;height:100%;object-fit:cover}
.home-feature-picture figcaption{position:absolute;left:15px;bottom:15px;background:#f6f4eee8;color:var(--ink);padding:7px 10px;font-size:10px;line-height:1.5;letter-spacing:.04em}
.home-feature.is-reversed .home-feature-picture{grid-column:1;grid-row:1}
.home-feature.is-reversed .home-feature-copy{grid-column:2;grid-row:1}

.home-landscape{position:relative;isolation:isolate;min-height:clamp(460px,53vw,680px);background:#242620;color:var(--paper);display:flex;align-items:flex-end;overflow:hidden}
.home-landscape>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.home-landscape:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#1820160a 10%,#18201620 45%,#182016bf 100%);pointer-events:none}
.home-landscape-copy{width:100%;padding-block:65px}
.home-landscape-copy .eyebrow{color:#e0e6d3}
.home-landscape-copy h2{font-size:clamp(40px,5.2vw,73px);font-weight:400;line-height:1.08;max-width:790px;margin:24px 0 22px}
.home-landscape-copy h2 em{color:#dce4ca}
.home-landscape-copy>p:not(.eyebrow){max-width:460px;color:#e6e8dc;font-size:16px;line-height:1.8}
.home-landscape-copy .text-link,.home-landscape-copy .button{margin-top:25px}
.home-landscape-copy .text-link{color:var(--paper)}
.home-contact-cta{padding-block:85px 95px;text-align:center;background:#e8e9e0;color:var(--ink)}
.home-contact-cta .eyebrow{justify-content:center}
.home-contact-cta h2{font-size:clamp(39px,4.7vw,66px);font-weight:400;line-height:1.1;margin:24px auto;max-width:800px}
.home-contact-cta p:not(.eyebrow){max-width:530px;margin:0 auto;color:#666259;font-size:16px;line-height:1.85}
.home-contact-cta .button,.home-contact-cta .text-link{margin-top:28px}

/* The stand-alone gallery uses a single H1 in its full-screen composition. */
.page-galeria .horizon-gallery .scene-heading h1{font-size:clamp(32px,3.5vw,55px);font-weight:400;margin-top:12px;line-height:1.12;letter-spacing:-.045em}
.page-galeria .horizon-gallery .scene-heading h1 em{color:#bfc5ac;display:inline-block}

@media(min-width:901px) and (max-width:1180px){
  .header-inner{gap:16px;padding-inline:clamp(25px,4vw,45px)}
  .brand img{width:125px}
  .desktop-nav{gap:15px;font-size:12px}
  .header-cta{font-size:12px;gap:9px;white-space:nowrap}
}
@media(max-width:1000px){
  .habitar-hero{gap:35px;padding-block:58px 65px}
  .habitar-hero h1{font-size:48px}
  .habitar-hero-picture{height:480px}
  .home-feature{gap:40px;padding-block:72px}
  .home-feature-copy h2{font-size:42px}
  .home-feature-picture{aspect-ratio:.98}
  .page-galeria .horizon-gallery .scene-heading h1{font-size:35px;max-width:530px}
}
@media(max-height:740px) and (min-width:741px){
  .page-galeria .horizon-gallery .scene-heading h1{font-size:34px;margin-top:7px}
}
@media(max-width:740px){
  .header-inner{gap:12px}
  .header-cta{white-space:nowrap;gap:8px;font-size:10px}
  .habitar-hero{grid-template-columns:1fr;padding-block:45px 58px;gap:32px}
  .habitar-hero-copy{padding:0}
  .habitar-hero h1{font-size:clamp(40px,7.4vw,54px);margin-block:23px}
  .habitar-hero-copy>p:not(.eyebrow){max-width:100%;font-size:16px;line-height:1.8}
  .habitar-hero-picture{height:clamp(330px,80vw,510px)}
  .habitar-hero-picture figcaption{font-size:8px;letter-spacing:.045em;left:12px;bottom:12px;padding:7px 9px}
  .home-feature{grid-template-columns:1fr;gap:29px;padding-block:56px}
  .home-feature-copy{max-width:none}
  .home-feature-copy h2{font-size:clamp(36px,7.3vw,47px);margin-block:20px}
  .home-feature-copy>p:not(.eyebrow){max-width:none}
  .home-feature-picture{aspect-ratio:1.2}
  .home-feature.is-reversed .home-feature-picture,.home-feature.is-reversed .home-feature-copy{grid-column:1;grid-row:auto}
  .home-feature.is-reversed .home-feature-copy{order:-1}
  .home-landscape{min-height:560px}
  .home-landscape>img{object-position:24% center}
  .home-landscape-copy{padding-block:40px}
  .home-landscape-copy h2{font-size:clamp(38px,8.4vw,51px);margin-block:20px}
  .home-landscape-copy>p:not(.eyebrow){font-size:15px;max-width:350px}
  .home-contact-cta{padding-block:58px 65px}
  .home-contact-cta h2{font-size:clamp(36px,8vw,48px)}
  .page-galeria .horizon-gallery .scene-heading h1{font-size:35px;line-height:1.08;margin-top:11px;max-width:420px}
  .page-galeria .horizon-gallery .scene-heading h1 em{display:block}
}
@media(max-width:740px) and (max-height:740px){
  .page-galeria .horizon-gallery .scene-heading h1{font-size:32px}
}
@media(prefers-reduced-motion:no-preference){
  .habitar-hero-picture>img,.home-feature-picture>img,.home-landscape>img{transition:scale 1000ms cubic-bezier(.22,.68,.2,1)}
  .home-feature:hover .home-feature-picture>img,.home-landscape:hover>img{scale:1.025}
}
@media(prefers-reduced-motion:reduce){
  .habitar-hero-picture>img,.home-feature-picture>img,.home-landscape>img{transition:none}
  .home-feature:hover .home-feature-picture>img,.home-landscape:hover>img{scale:none}
}
