/* Desktop proportions: preserve the approved mobile and tablet layouts. */
@media (min-width:1024px){
  .premium-resort .wrap{width:calc(100% - 48px);max-width:none;padding-inline:0}
  .premium-resort.page-home .resort-opening-expanded{width:100%;max-width:none;padding:0;min-height:calc(100svh - 160px)}
  .page-home.premium-resort .resort-opening-expanded .resort-opening-copy{padding:56px 48px 124px}
  .page-home.premium-resort .resort-opening-expanded h1.resort-luxury-slogan{font-size:clamp(3rem,4vw,4rem)}
  .page-home.premium-resort .resort-opening-expanded .resort-opening-brand{width:240px}
  .page-home.premium-resort .resort-opening-expanded .resort-opening-copy>p.resort-community-slogan{font-size:clamp(24px,2.5vw,30px);margin-top:28px}
  .premium-resort .site-tabs a{font-size:16px;padding:12px 18px}
  :is(.page-home,.shared-showcase).premium-resort .mesa-convite-section{max-width:none;padding-top:32px;padding-bottom:28px}
  :is(.page-home,.shared-showcase).premium-resort .mesa-convite-photo h2:not(.decifer-card-heading){font-size:clamp(2rem,2.7vw,2.6rem)}
  :is(.page-home,.shared-showcase).premium-resort .invitation-slogan{font-size:clamp(2rem,2.7vw,2.6rem)}
  :is(.page-home,.shared-showcase).premium-resort .hotel-invitation{gap:12px;padding:24px 32px}
  :is(.page-home,.has-world-center).premium-resort .world-center{max-width:none;padding:28px 24px 30px;margin-block:32px}
  :is(.page-home,.has-world-center).premium-resort .world-center .world-center-title{font-size:18px;margin-bottom:20px}
  :is(.page-home,.has-world-center).premium-resort .world-carousel{max-width:1000px}
  :is(.page-home,.has-world-center).premium-resort .world-carousel.is-orbit .resort-card{width:min(280px,32%);border-width:6px}
  :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-image{height:156px}
  :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy{padding:18px;min-height:180px}
  :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy h3{font-size:30px;line-height:1.12;min-height:0;margin-bottom:10px}
  :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy p{font-size:16px;line-height:1.5;min-height:0;margin-bottom:14px}
  :is(.page-home,.has-world-center) .world-carousel.is-orbit .world-carousel-track{min-height:360px}
  .shared-opening .shared-service-card .mesa-convite-photo>img{height:460px}
  .premium-resort .booking-visual{height:400px}
}

/* v125: more legible home slogan and compact shared World Center. */
.world-comfort-line{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:20px;line-height:1.25;color:#4a5343;margin:0 0 8px;text-wrap:balance}
.restaurant-comfort-line{font-size:clamp(22px,2.4vw,30px);text-align:center;grid-column:1/-1}
@media(min-width:1024px){
 .page-main-home.premium-resort .resort-opening-expanded .resort-opening-copy>p.resort-community-slogan{font-size:clamp(32px,3.1vw,46px);width:100vw;max-width:none;margin-left:calc(50% - 50vw);padding-inline:20px;box-sizing:border-box;gap:20px}
 .page-main-home.premium-resort .resort-community-slogan::before,.page-main-home.premium-resort .resort-community-slogan::after{min-width:20px;flex:1;height:1px}
}
@media(max-width:760px){
 :is(.page-home,.has-world-center).premium-resort .world-carousel.is-orbit .resort-card{width:min(252px,68%);border-width:5px}
 :is(.page-home,.has-world-center) .world-carousel.is-orbit .world-carousel-track{min-height:0}
 :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-image{aspect-ratio:16/10;height:auto}
 :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-image img{height:100%;width:100%;object-fit:cover}
 :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy{padding:12px}
 :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy h3{font-size:22px;margin-bottom:6px}
 :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy p{font-size:14px;line-height:1.45;margin:6px 0 10px}
 :is(.page-home,.has-world-center).premium-resort .world-carousel .world-card-action{font-size:14px;padding:10px 12px;min-height:44px}
 .world-comfort-line{font-size:17px}
}
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy>.world-comfort-line{background:transparent;border:0;padding:0;min-height:0;color:#4a5343}

/* World Center title readability; preserve card geometry and rotation. */
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy h3 {
 font-family:'DM Sans',Arial,sans-serif;
 font-weight:600;
 letter-spacing:-.015em;
 line-height:1.2;
}

/* World Center content hierarchy: centered offers, then a short invitation. */
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy {
 text-align:center;
 padding-inline:clamp(18px,2.4vw,26px);
}
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy h3 {
 min-height:0;
 margin-bottom:14px;
 text-wrap:balance;
}
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy p.world-offers {
 min-height:0;
 margin:0 auto;
 max-width:28ch;
 font-size:15px;
 font-weight:500;
 line-height:1.65;
 text-wrap:balance;
}
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy p.world-description {
 min-height:0;
 max-width:28ch;
 margin:16px auto 18px;
 font-size:14px;
 line-height:1.5;
 text-wrap:pretty;
}
@media(max-width:760px){
 :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy p.world-offers{font-size:14px}
 :is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy p.world-description{font-size:13px;margin-top:14px}
}

/* Card titles belong to the photograph; services and invitation stay below. */
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-image {
 position:relative;
 isolation:isolate;
}
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-image::after {
 content:'';
 position:absolute;
 inset:0;
 background:linear-gradient(transparent,rgba(0,0,0,.24) 50%,transparent);
 pointer-events:none;
 z-index:1;
}
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-image .world-image-title {
 position:absolute;
 top:50%;
 left:50%;
 transform:translate(-50%,-50%);
 z-index:2;
 width:calc(100% - 32px);
 margin:0;
 padding:0;
 font-family:'DM Sans',Arial,sans-serif;
 font-size:clamp(19px,2vw,24px);
 font-weight:600;
 line-height:1.2;
 letter-spacing:-.015em;
 color:#fff;
 text-align:center;
 text-wrap:balance;
 text-shadow:0 1px 3px #000,0 2px 12px #0009;
 pointer-events:none;
}
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card-copy .world-card-action {
 align-self:center;
}

/* Owner-managed advertisements retain titles below the image. */
:is(.page-home,.has-world-center).premium-resort .world-carousel .world-ad-card .resort-card-image::after{display:none}
/* Luxury lettering is limited to the resort service cards. */
:is(.page-home,.has-world-center).premium-resort .world-carousel .resort-card:not(.world-ad-card) .world-image-title {
 font-family:'Cormorant Garamond',Georgia,serif;
 font-weight:500;
 font-size:clamp(24px,2.5vw,30px);
 line-height:1.1;
 letter-spacing:.015em;
 color:#fff5df;
}

/* Homepage Stays uses the Hotel frame; the wider room photo fills it. */
.page-main-home #estadias-dsr .mesa-convite-photo>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;background:transparent}
