/* Portada fotográfica: información estable sobre imágenes en movimiento. */
.hero-playback{position:absolute;top:108px;right:24px;display:grid;place-items:center;width:44px;height:44px;color:var(--paper);border:1px solid rgba(232,234,228,.45);border-radius:50%;font-size:1.1rem;background:rgba(16,25,30,.2)}
@media(max-width:767px){.hero-playback{top:124px;right:20px}}
.home-page .header{position:fixed;inset:0 0 auto;height:88px;background:transparent;border-color:rgba(232,234,228,.28);transition:background .35s,border-color .35s}
.home-page .header.is-scrolled{background:var(--ink);border-color:rgba(232,234,228,.18)}
.home-page .header .brand{width:132px}
.home-page .header-contact{font-size:.875rem;border-color:rgba(232,234,228,.65);transition:background .25s,color .25s}
.home-page .header-contact:hover{background:var(--paper);color:var(--ink)}
.home-page .desktop-nav{font-size:.875rem;gap:28px}
.home-page .hero{height:100svh;min-height:690px;max-height:none;padding:120px 0 20px;display:flex;flex-direction:column;gap:34px;isolation:isolate;overflow:hidden;background:var(--ink)}
.hero-slides,.hero-slide{position:absolute;inset:0;z-index:-3}
.hero-slide{opacity:0;transition:opacity 1.5s ease;pointer-events:none}
.hero-slide.is-current{opacity:1}
.hero-slide>img{width:100%;height:100%;object-fit:cover;object-position:center 55%;transform:scale(1.015);transition:transform 9s linear}
.hero-slide.is-current>img{transform:scale(1.065)}
.hero-slide:nth-child(2)>img{object-position:center 52%}
.hero-slide:nth-child(3)>img{object-position:center 58%}
.home-page .hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(16,25,30,.62),rgba(16,25,30,.04) 60%),linear-gradient(0deg,rgba(16,25,30,.85),rgba(16,25,30,.02) 47%,rgba(16,25,30,.12) 76%,rgba(16,25,30,.54))}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.85fr);gap:7%;align-items:center;flex:1;min-height:0}
.hero-copy{padding-bottom:6px}
.home-page .hero .eyebrow{font-size:.75rem;letter-spacing:.18em;margin-bottom:22px}
.home-page .hero h1{font-size:clamp(3.5rem,5.4vw,6.3rem);line-height:1.06;letter-spacing:-.045em;text-wrap:nowrap;text-shadow:0 2px 22px rgba(16,25,30,.14)}
.home-page .hero-description{font-size:1rem;line-height:1.6;margin:25px 0 28px}
.hero-inquiry{font-size:.9rem;min-height:54px;gap:28px;padding-inline:22px}
.hero-residences{padding:23px 28px 18px;background:rgba(26,37,43,.68);border:1px solid rgba(232,234,228,.36);backdrop-filter:blur(16px)}
.hero-options-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:15px}
.hero-options-heading h2{font:400 1rem/1.5 var(--body);letter-spacing:0}
.hero-options-heading>span{font-size:.75rem;color:var(--pearl)}
.hero-options>a{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;padding:14px 28px 14px 0;border-top:1px solid rgba(232,234,228,.25);transition:padding .25s,background .25s}
.hero-options>a:hover,.hero-options>a:focus-visible{padding-left:8px;background:rgba(232,234,228,.06)}
.hero-type{font-size:.875rem}
.hero-options strong{font:300 2.55rem/1.15 var(--display);letter-spacing:-.045em;white-space:nowrap}
.hero-options strong small{font-size:1.15rem;letter-spacing:0}
.hero-option-detail{grid-column:1/-1;display:flex;gap:7px;font-size:.875rem;color:var(--pearl)}
.hero-option-detail>span+span:before{content:'· ';white-space:pre}
.hero-option-arrow{position:absolute;right:0;top:18px;font-size:1.2rem}
.hero-reserve{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid rgba(232,234,228,.25);padding-top:14px;margin-top:2px;font-size:.875rem}
.hero-reserve>span{font-size:.75rem}
.hero-information{display:grid;grid-template-columns:.8fr 1.3fr 1fr;gap:32px;align-items:center;border-top:1px solid rgba(232,234,228,.4);padding:19px 0}
.hero-delivery,.hero-address,.hero-direct-contact{display:flex;flex-direction:column;gap:3px}
.hero-info-label{font-size:.875rem}
.hero-delivery strong{font:300 2rem/1.2 var(--display);letter-spacing:-.035em}
.hero-delivery small,.hero-address small{font-size:.75rem;color:var(--pearl)}
.hero-address>a,.hero-direct-contact>a{font-size:1rem}
.hero-address>a:hover,.hero-direct-contact>a:hover{text-decoration:underline;text-underline-offset:4px}
.hero-direct-contact{justify-self:end;gap:7px}
.hero-direct-contact span{font-size:.75rem;margin-left:10px}
.hero-bottom-line{display:flex;align-items:center;gap:24px;border-top:1px solid rgba(232,234,228,.25);padding-top:10px;padding-right:64px}
.hero-slideshow-controls{display:flex;align-items:center;gap:10px;min-width:0}
.hero-slideshow-controls button{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:1px solid rgba(232,234,228,.5);border-radius:50%;font-size:1.15rem;transition:background .2s,color .2s}
.hero-slideshow-controls button:hover{background:var(--paper);color:var(--ink)}
.hero-slideshow-controls button:disabled{opacity:.5;cursor:default}
.hero-slide-count{display:flex;gap:7px;flex-shrink:0;white-space:nowrap;font-size:.875rem;min-width:48px;justify-content:center;font-variant-numeric:tabular-nums}
.hero-slide-count b{font-weight:400}
.hero-slide-count>span{opacity:.65}
#hero-slide-label{font-size:.875rem;margin-left:7px;min-width:135px}
.hero-render-note{font-size:.75rem;color:var(--pearl);margin-left:auto}
.hero-explore{display:flex;align-items:center;gap:18px;font-size:.875rem;margin-left:12px}
.hero-explore>span{font-size:1.25rem;transition:transform .25s}
.hero-explore:hover>span{transform:translateY(4px)}
.hero-inquiry span{transition:transform .25s}
.hero-inquiry:hover span{transform:translate(3px,-3px)}
.home-page .residence-visual>img,.home-page .amenity-stage>img{transition:transform .85s var(--ease)}
.home-page .residence-visual:hover>img,.home-page .amenity-stage:hover>img{transform:scale(1.025)}
.home-page.motion-ready [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.home-page.motion-ready [data-reveal].is-revealed,.home-page.motion-ready [data-reveal]:focus-within{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
  .hero-copy{animation:hero-arrive .7s var(--ease) both}
  .hero-residences{animation:hero-arrive .8s var(--ease) .08s both}
  @keyframes hero-arrive{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}
}
@media(min-width:1600px){.home-page .header{padding-inline:max(56px,calc((100vw - 1460px)/2))}.hero-layout{gap:10%}}
@media(max-width:1100px){
  .home-page .header{height:80px;padding-inline:32px}
  .home-page .desktop-nav{gap:20px}
  .home-page .header .brand{width:110px}
  .home-page .hero{padding-top:106px;gap:26px;min-height:690px}
  .hero-layout{grid-template-columns:minmax(0,1.4fr) minmax(275px,.9fr);gap:5%}
  .home-page .hero h1{font-size:clamp(3rem,5.4vw,4rem)}
  .hero-residences{padding:18px 20px 14px}
  .hero-options-heading{display:block}
  .hero-options-heading>span{display:none}
  .hero-options strong{font-size:2.3rem}
  .hero-options>a{padding-block:12px}
  .hero-reserve{flex-wrap:wrap;font-size:.8rem}
  .hero-information{gap:24px;grid-template-columns:.8fr 1.15fr 1fr}
  .hero-address>a,.hero-direct-contact>a{font-size:.875rem}
  .hero-direct-contact span{display:block;margin-left:0}
  .hero-bottom-line{gap:16px}
  .hero-explore{margin-left:0}
}
@media(max-width:767px){
  .home-page .header{height:108px;padding:0 20px}
  .home-page .header .brand{width:98px;height:60px}
  .home-page .desktop-nav{height:48px;font-size:.875rem;gap:8px}
  .home-page .desktop-nav a{min-height:44px;padding-inline:0}
  .home-page .header-contact{font-size:.8rem;min-height:36px}
  .home-page .mobile-nav:not([hidden]){top:108px}
  .home-page .hero{height:auto;min-height:max(760px,100svh);padding:133px 0 12px;gap:15px}
  .hero-layout{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:23px;flex:1;min-height:auto}
  .home-page .hero .eyebrow{font-size:.75rem;letter-spacing:.09em;margin-bottom:10px}
  .home-page .hero h1{font-size:clamp(2.75rem,8.5vw,4.3rem);line-height:1.05}
  .home-page .hero-description{display:none}
  .hero-copy{padding:0}
  .hero-inquiry{min-height:44px;margin-top:18px;font-size:.875rem;padding:11px 16px;gap:20px}
  .hero-residences{padding:0;background:transparent;backdrop-filter:none;border:0}
  .hero-options-heading{display:flex;padding:0 0 9px}
  .hero-options-heading h2{font-size:.875rem}
  .hero-options-heading>span{display:block;font-size:.75rem}
  .hero-options{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(16,25,30,.3);border-top:1px solid rgba(232,234,228,.4);border-bottom:1px solid rgba(232,234,228,.4)}
  .hero-options>a{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 7px;border-top:0}
  .hero-options>a+a{border-left:1px solid rgba(232,234,228,.28)}
  .hero-options>a:first-child{padding-left:0}
  .hero-type{font-size:.75rem}
  .hero-options strong{font-size:1.75rem}
  .hero-options strong small{font-size:.95rem}
  .hero-option-detail{font-size:.875rem;line-height:1.4;max-width:120px;flex-direction:column;gap:0}
  .hero-option-detail>span+span:before{content:none}
  .hero-option-arrow{display:none}
  .hero-reserve{border:0;padding:8px 0 0;margin:0;font-size:.75rem}
  .hero-reserve>span{font-size:.75rem}
  .hero-information{grid-template-columns:.8fr 1.2fr;padding:12px 0;gap:10px 14px}
  .hero-info-label{font-size:.75rem}
  .hero-delivery strong{font-size:1.5rem}
  .hero-delivery small{font-size:.75rem}
  .hero-address>a{font-size:.875rem;line-height:1.5}
  .hero-address small{font-size:.75rem;line-height:1.4}
  .hero-direct-contact{grid-column:1/-1;justify-self:stretch;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;padding-top:3px}
  .hero-direct-contact>a{font-size:.875rem}
  .hero-direct-contact span{display:none}
  .hero-bottom-line{flex-wrap:wrap;gap:2px 10px;padding-top:8px;padding-right:50px}
  .hero-slideshow-controls{gap:7px;width:100%}
  .hero-slideshow-controls button{width:36px;height:36px;font-size:1rem}
  .hero-slide-count{font-size:.75rem;gap:5px;min-width:44px}
  #hero-slide-label{font-size:.75rem;min-width:0;margin-left:auto;text-align:right}
  .hero-render-note{font-size:.75rem;margin-left:0}
  .hero-explore{display:none}
  .hero-slide>img{object-position:60% center}
  .hero-slide:nth-child(2)>img{object-position:54% center}
  .hero-slide:nth-child(3)>img{object-position:62% center}
  .home-page .hero-shade{background:linear-gradient(90deg,rgba(16,25,30,.64),rgba(16,25,30,.19)),linear-gradient(0deg,rgba(16,25,30,.88),rgba(16,25,30,.12) 56%,rgba(16,25,30,.33))}
}
@media(max-width:767px) and (max-height:780px){
  .home-page .header{height:100px}
  .home-page .header .brand{height:56px}
  .home-page .desktop-nav{height:44px}
  .home-page .mobile-nav:not([hidden]){top:100px}
  .home-page .hero{min-height:max(640px,100svh);padding-top:114px;gap:12px}
  .hero-layout{gap:14px}
  .home-page .hero h1{font-size:2.3rem}
  .hero-inquiry{margin-top:12px}
  .hero-options-heading{display:none}
  .hero-options>a{padding-block:8px}
  .hero-information{padding-block:9px}
}
@media(max-width:350px){.home-page .hero h1{font-size:2.1rem}#hero-slide-label{display:none}.hero-inquiry{font-size:.875rem;gap:12px}.hero-options strong{font-size:1.6rem}.hero-direct-contact{gap:4px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide>img{transition:none;transform:none!important}.home-page.motion-ready [data-reveal]{opacity:1;transform:none}}

/* Portada visual con los datos de ubicación y teléfono alineados a la derecha. */
.home-page .hero-footer{margin-top:auto}
.hero-information{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px 24px}
.hero-address{align-items:flex-end;text-align:right}
.hero-direct-contact{display:contents}
.hero-direct-contact>a:first-child{grid-column:1;justify-self:start}
.hero-direct-contact>a:last-child{grid-column:2;justify-self:end;text-align:right}
@media(max-width:767px){.hero-information{gap:14px 12px}.hero-direct-contact>a{font-size:clamp(.75rem,3.4vw,.875rem)}}
