
:root{
  --ink:#171512;
  --muted:#5f574e;
  --line:#e7dfd4;
  --paper:#ffffff;
  --soft:#fbfaf7;
  --warm:#9f7b48;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#ffffff;
  color:var(--ink);
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}

img{max-width:100%}
a{color:inherit}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.section{padding:92px 0;background:#fff}

h1,h2,h3{
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  font-weight:600;
  margin:0;
  letter-spacing:-.02em;
}
h1{font-size:clamp(4rem,7vw,7.7rem);line-height:.93;max-width:980px}
h2{font-size:clamp(2.6rem,4.9vw,5.1rem);line-height:1.02}
h3{font-size:1.6rem;line-height:1.14}
p{line-height:1.72}
.section-kicker,.eyebrow{
  font-size:.78rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--warm);
  margin:0 0 14px;
}

.site-header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 42px;
  color:#fff;
}
.brand{text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-weight:800;line-height:1}
.brand span{display:block;font-size:1rem}
.brand small{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:none;margin-top:7px}
.desktop-nav{display:flex;align-items:center;gap:26px;font-size:.91rem;font-weight:700}
.desktop-nav a{text-decoration:none}
.menu-toggle,.mobile-nav{display:none}

.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18) 45%,rgba(0,0,0,.34)),
    linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.02));
}
.hero-content{position:relative;z-index:2;width:min(1160px,calc(100% - 44px));margin:0 auto;padding:170px 0 90px}
.hero-text{font-size:1.18rem;max-width:650px;margin:28px 0;color:rgba(255,255,255,.95);font-weight:600}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:14px 24px;border-radius:999px;text-decoration:none;font-weight:800;
}
.button.primary{background:#fff;color:#171512}
.button.ghost{border:1px solid rgba(255,255,255,.68);color:#fff}

.section-heading{max-width:860px;margin-bottom:44px}
.section-heading p{color:var(--muted)}
.wide-heading{max-width:980px}
.compact-heading{margin-bottom:20px}

.reason-layout{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.reason-layout article,.copy-panel,.room-card,.facts-grid div,.availability-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:28px;
}
.reason-layout article{padding:26px}
.reason-layout span{display:block;color:var(--warm);font-weight:800;letter-spacing:.18em;font-size:.78rem;margin-bottom:28px}
.reason-layout p{color:var(--muted);margin-bottom:0}

.pool-mobile-gallery{display:none}
.pool-desktop-layout{display:grid;grid-template-columns:1fr .88fr;gap:44px;align-items:center}
.pool-desktop-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.pool-desktop-gallery img{width:100%;object-fit:cover;display:block}
.pool-desktop-gallery img:first-child{grid-row:span 2;height:560px;border-radius:32px}
.pool-desktop-gallery img:nth-child(2),.pool-desktop-gallery img:nth-child(3){height:273px;border-radius:22px}
.copy-panel{padding:34px}
.copy-panel p{color:var(--muted)}
.tick-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px}
.tick-list li{position:relative;padding-left:28px;line-height:1.55}
.tick-list li:before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;border:2px solid var(--warm)}

.room-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
.room-card{overflow:hidden}
.room-card.large-card{grid-row:span 2}
.room-card img{width:100%;height:260px;object-fit:cover;display:block}
.room-card.large-card img{height:430px}
.room-card div{padding:26px}
.room-card p{margin:0 0 8px;color:var(--warm);font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800}
.room-card span{display:block;margin-top:14px;line-height:1.65;color:var(--muted)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.reverse .copy-panel{order:1}
.reverse .feature-gallery{order:2}

.feature-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.feature-gallery img{width:100%;object-fit:cover;display:block}
.feature-gallery img:first-child{grid-column:1/-1;height:360px;border-radius:30px}
.feature-gallery img:not(:first-child){height:150px;border-radius:18px}
.outdoor-gallery img:first-child{height:330px}
.mini-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.mini-features span{
  border:1px solid var(--line);
  border-radius:999px;
  padding:9px 13px;
  font-size:.88rem;
  background:#fff;
}

.image-break{position:relative;min-height:72vh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}
.image-break img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.image-break:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.26)}
.image-break div{position:relative;z-index:2;width:min(780px,calc(100% - 40px))}
.image-break p{letter-spacing:.28em;text-transform:uppercase;font-weight:800}
.image-break h2{font-size:clamp(3rem,6vw,6rem)}

.distance-list{display:grid;gap:12px;margin-top:24px}
.distance-list div{border-top:1px solid var(--line);padding-top:12px}
.distance-list strong{display:block}
.distance-list span{display:block;color:var(--muted);margin-top:5px;line-height:1.55}

.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.facts-grid div{padding:20px}
.facts-grid strong{display:block;margin-bottom:8px}
.facts-grid span{display:block;color:var(--muted);line-height:1.55;font-size:.94rem}

.platforms{padding-top:60px}
.availability-card{
  background:#fbfaf7;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:28px;
  align-items:center;
  padding:clamp(30px,4.5vw,56px);
}
.availability-card h2{font-size:clamp(2.4rem,4vw,4.4rem)}
.availability-card p{color:var(--muted)}
.platform-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.platform-links a{
  min-height:54px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:800;
}
.platform-note{grid-column:1/-1;margin:0;color:#7a7066;font-size:.95rem}

.machine-summary{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.footer{text-align:center;padding:34px 20px;border-top:1px solid var(--line);letter-spacing:.18em;text-transform:uppercase}

@media(max-width:920px){
  .desktop-nav{display:none}
  .menu-toggle{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    padding:0;
  }
  .menu-toggle span{display:block;width:26px;height:2px;background:#fff;border-radius:2px}
  .mobile-nav{
    position:absolute;
    left:16px;
    right:16px;
    top:68px;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 20px 50px rgba(0,0,0,.18);
  }
  .mobile-nav.open{display:flex;flex-direction:column}
  .mobile-nav a{
    padding:14px 18px;
    text-decoration:none;
    color:#171512;
    font-weight:700;
    border-bottom:1px solid rgba(23,21,18,.08);
  }
  .mobile-nav a:last-child{border-bottom:0}

  .site-header{padding:16px}
  .hero{min-height:92svh}
  .hero-content{width:calc(100% - 32px);padding:120px 0 42px}
  h1{font-size:clamp(3.15rem,13vw,5rem)}
  .hero-text{font-size:1rem;line-height:1.62}
  .hero-actions{display:none}

  .section{padding:58px 0}
  .container{width:calc(100% - 28px)}
  .reason-layout,.pool-desktop-layout,.room-grid,.split,.availability-card{grid-template-columns:1fr;gap:22px}
  .reverse .copy-panel,.reverse .feature-gallery{order:initial}

  .pool-desktop-gallery{display:none}
  .pool-mobile-gallery{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    width:100vw;
    -webkit-overflow-scrolling:touch;
  }
  .pool-mobile-gallery img{
    flex:0 0 100vw;
    width:100vw;
    height:64svh;
    min-height:410px;
    object-fit:cover;
    scroll-snap-align:start;
  }
  .pool-copy{margin-top:22px}

  .room-card.large-card{grid-row:auto}
  .room-card.large-card img,.room-card img{height:260px}
  .room-card div,.copy-panel{padding:22px}

  .feature-gallery{grid-template-columns:repeat(3,1fr);gap:10px}
  .feature-gallery img:first-child{height:280px;border-radius:22px}
  .feature-gallery img:not(:first-child){height:105px;border-radius:14px}

  .image-break{min-height:58vh}
  .facts-grid{grid-template-columns:1fr 1fr}
  .availability-card{padding:24px 18px;border-radius:24px}
  .platform-links{grid-template-columns:1fr}
}

@media(max-width:480px){
  .brand span{font-size:.86rem}
  .brand small{font-size:.68rem}
  h1{font-size:clamp(2.85rem,13vw,4.1rem)}
  h2{font-size:clamp(2.25rem,10.5vw,3.4rem)}
  .section-kicker,.eyebrow{font-size:.68rem;letter-spacing:.22em}
  .pool-mobile-gallery img{height:62svh;min-height:380px}
  .feature-gallery img:first-child{height:250px}
  .feature-gallery img:not(:first-child){height:88px}
  .facts-grid{grid-template-columns:1fr}
}

/* ===== Option B Editorial Alternative ===== */
.option-b {
  background: #ffffff;
}

/* Header feels closer to the guest-guide style */
.option-b .brand span {
  letter-spacing: .24em;
}
.option-b .brand small {
  opacity: .9;
}

/* Editorial hero: slightly calmer, less centered-template */
.option-b .hero {
  align-items: center;
}
.option-b .hero-content {
  padding-bottom: 60px;
}
.option-b .hero-overlay {
  background:
    linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.10) 38%, rgba(0,0,0,.34) 100%),
    linear-gradient(90deg, rgba(0,0,0,.34), rgba(0,0,0,.02)) !important;
}
.option-b h1 {
  max-width: 920px;
}

/* The why section becomes more editorial and less card-like */
.option-b .reason-layout {
  grid-template-columns: 1.15fr .85fr .85fr;
  gap: 18px;
}
.option-b .reason-layout article {
  border-radius: 34px;
  background: #fbfaf7;
}
.option-b .reason-layout article:first-child {
  background: #171512;
  color: #fff;
}
.option-b .reason-layout article:first-child p,
.option-b .reason-layout article:first-child span {
  color: rgba(255,255,255,.78);
}

/* Extra visual rhythm before the pool */
.editorial-image-run {
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto 70px;
  display: grid;
  grid-template-columns: 1.2fr .8fr 1fr;
  gap: 14px;
  align-items: start;
}
.editorial-image-run img {
  width: 100%;
  object-fit: cover;
  border-radius: 30px;
}
.editorial-image-run img:nth-child(1) {
  height: 420px;
}
.editorial-image-run img:nth-child(2) {
  height: 520px;
  margin-top: 56px;
}
.editorial-image-run img:nth-child(3) {
  height: 360px;
  margin-top: 22px;
}

/* Pool becomes a more cinematic section */
.option-b .pool-section {
  padding-top: 0;
}
.option-b .pool-desktop-layout {
  width: 100%;
  max-width: none;
  display: block;
}
.option-b .pool-desktop-gallery {
  display: flex !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  gap: 0;
}
.option-b .pool-desktop-gallery img {
  flex: 0 0 100vw;
  width: 100vw !important;
  height: 78vh !important;
  min-height: 620px;
  object-fit: cover;
  border-radius: 0 !important;
  scroll-snap-align: start;
}
.option-b .pool-copy {
  width: min(760px, calc(100% - 40px));
  margin: -110px auto 0;
  position: relative;
  z-index: 3;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(14px);
}

/* Interior cards: more magazine-like */
.option-b .room-grid {
  grid-template-columns: 1fr 1fr;
}
.option-b .room-card.large-card {
  grid-row: auto;
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  align-items: stretch;
}
.option-b .room-card.large-card img {
  height: 520px;
}
.option-b .room-card.large-card div {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Outdoor and bedroom imagery: stronger first image */
.option-b .feature-gallery img:first-child {
  height: 430px;
}
.option-b .feature-gallery img:not(:first-child) {
  height: 165px;
}

/* Panorama is more dramatic in Option B */
.option-b .image-break {
  min-height: 82vh;
}

/* Availability remains light and refined */
.option-b .availability-card {
  background: #fbfaf7;
}

/* Mobile: editorial but stable */
@media (max-width: 920px) {
  .option-b .reason-layout {
    grid-template-columns: 1fr;
  }

  .editorial-image-run {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 0 14px 8px;
  }
  .editorial-image-run img {
    flex: 0 0 78vw;
    height: 230px !important;
    margin: 0 !important;
    border-radius: 20px;
  }
  .editorial-image-run img:first-child {
    flex-basis: 90vw;
    height: 310px !important;
  }

  .option-b .pool-desktop-gallery {
    display: none !important;
  }
  .option-b .pool-mobile-gallery {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .option-b .pool-mobile-gallery img {
    flex: 0 0 100vw;
    width: 100vw;
    height: 64svh;
    min-height: 400px;
    object-fit: cover;
    scroll-snap-align: start;
  }
  .option-b .pool-copy {
    margin: 20px auto 0;
    width: 100%;
  }

  .option-b .room-card.large-card {
    grid-column: auto;
    display: block;
  }
  .option-b .room-card.large-card img {
    height: 280px;
  }

  .option-b .feature-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
  .option-b .feature-gallery img:first-child {
    grid-column: 1 / -1;
    height: 280px;
  }
  .option-b .feature-gallery img:not(:first-child) {
    height: 96px;
  }

  .option-b .image-break {
    min-height: 60vh;
  }
}

/* ===== Option B hero refinement ===== */
.option-b .hero-content,
.option-b .hero-copy {
  max-width: 640px !important;
}

.option-b .hero h1,
.option-b .hero-editorial h1 {
  font-size: clamp(3.05rem, 5.1vw, 5.75rem) !important;
  line-height: .98 !important;
  font-weight: 500 !important;
  letter-spacing: -.012em !important;
  max-width: 720px !important;
}

.option-b .hero-text,
.option-b .hero-copy p:not(.eyebrow) {
  font-weight: 400 !important;
  font-size: 1.04rem !important;
  line-height: 1.72 !important;
  max-width: 560px !important;
}

.option-b .eyebrow,
.option-b .hero-copy .eyebrow {
  color: rgba(255,255,255,.74) !important;
  letter-spacing: .18em !important;
  font-size: .68rem !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}

.option-b .hero-actions .button,
.option-b .hero-copy .button {
  font-size: .9rem !important;
  min-height: 48px !important;
  padding: 13px 22px !important;
}

.option-b .hero-editorial {
  grid-template-columns: 1.26fr .74fr !important;
}

.option-b .hero-copy {
  padding-left: 5vw !important;
  padding-right: 5vw !important;
}

/* Mobile hero refinement */
@media(max-width:920px) {
  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    font-size: clamp(2.65rem, 11.5vw, 4.05rem) !important;
    font-weight: 500 !important;
    line-height: .99 !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    font-size: .97rem !important;
    line-height: 1.62 !important;
    font-weight: 400 !important;
  }

  .option-b .eyebrow,
  .option-b .hero-copy .eyebrow {
    color: rgba(255,255,255,.68) !important;
    font-size: .64rem !important;
    letter-spacing: .16em !important;
  }
}

/* ===== Mobile hero polish based on comparison to guest guide ===== */
@media (max-width: 920px){

  /* Larger, thinner logo like guest guide */
  .option-b .brand span,
  .option-b .site-logo,
  .option-b .logo-text{
    font-size: 1.62rem !important;
    letter-spacing: .16em !important;
    font-weight: 400 !important;
  }

  .option-b .brand small,
  .option-b .logo-subtitle{
    font-size: .72rem !important;
    letter-spacing: .10em !important;
    opacity: .95 !important;
  }

  /* Move hero text lower */
  .option-b .hero,
  .option-b .hero-editorial{
    align-items: end !important;
  }

  .option-b .hero-content,
  .option-b .hero-copy{
    padding-top: 120px !important;
    padding-bottom: 78px !important;
    justify-content: flex-end !important;
  }

  /* Slightly smaller title */
  .option-b .hero h1,
  .option-b .hero-editorial h1{
    font-size: clamp(2.35rem, 10.2vw, 3.65rem) !important;
    line-height: .98 !important;
    font-weight: 500 !important;
    max-width: 95% !important;
    margin-bottom: 14px !important;
  }

  /* Body text thinner + cleaner */
  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow){
    font-size: .93rem !important;
    line-height: 1.58 !important;
    font-weight: 350 !important;
    max-width: 96% !important;
    opacity: .97 !important;
  }

  /* Bring buttons back visibly */
  .option-b .hero-actions,
  .option-b .hero-copy .hero-actions{
    display: flex !important;
    gap: 10px !important;
    margin-top: 18px !important;
    flex-wrap: wrap !important;
  }

  .option-b .hero-actions .button,
  .option-b .hero-copy .button{
    min-height: 44px !important;
    padding: 11px 18px !important;
    font-size: .88rem !important;
    border-radius: 999px !important;
    backdrop-filter: blur(8px);
  }

  /* calmer top spacing */
  .option-b .eyebrow{
    margin-bottom: 10px !important;
    font-size: .60rem !important;
  }
}

/* ===== Desktop hero polish ===== */
@media (min-width: 921px) {
  /* Guest-guide inspired thinner logo on desktop */
  .option-b .brand span {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 1.62rem !important;
    letter-spacing: .18em !important;
    font-weight: 500 !important;
  }

  .option-b .brand small {
    font-size: .74rem !important;
    letter-spacing: .11em !important;
    font-weight: 500 !important;
    opacity: .95 !important;
  }

  /* Move desktop hero copy lower and more to the right */
  .option-b .hero-content,
  .option-b .hero-copy {
    align-self: end !important;
    padding-left: 9vw !important;
    padding-right: 4vw !important;
    padding-bottom: 9vh !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: 6vw !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    font-size: clamp(3.25rem, 4.8vw, 5.65rem) !important;
    line-height: .98 !important;
    font-weight: 500 !important;
    max-width: 760px !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    font-size: 1.02rem !important;
    line-height: 1.72 !important;
    font-weight: 400 !important;
    max-width: 590px !important;
  }
}

/* ===== Option B: closer to Casa Lux Guest Guide refinement ===== */

/* Header/logo refinement */
.option-b .site-header {
  padding: 22px 42px !important;
}

.option-b .brand span {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.78rem !important;
  line-height: .88 !important;
  letter-spacing: .16em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}

.option-b .brand small {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: .72rem !important;
  letter-spacing: .16em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  margin-top: 8px !important;
  opacity: .82 !important;
}

/* Menu: lighter, less pushy */
.option-b .desktop-nav {
  gap: 30px !important;
}

.option-b .desktop-nav a {
  font-weight: 400 !important;
  font-size: .86rem !important;
  letter-spacing: .015em !important;
  opacity: .92 !important;
}

.option-b .desktop-nav a:hover {
  opacity: 1 !important;
}

/* Hero: brighter, calmer, more guide-like */
.option-b .hero-overlay,
.option-b .hero-image-wrap:after {
  background:
    linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.07) 42%, rgba(0,0,0,.27) 100%),
    linear-gradient(90deg, rgba(0,0,0,.20), rgba(0,0,0,.02)) !important;
}

.option-b .hero-content,
.option-b .hero-copy {
  padding-bottom: 10vh !important;
}

.option-b .hero h1,
.option-b .hero-editorial h1 {
  font-weight: 500 !important;
  font-size: clamp(3.05rem, 4.35vw, 5.15rem) !important;
  line-height: 1.01 !important;
  letter-spacing: -.01em !important;
}

.option-b .hero-text,
.option-b .hero-copy p:not(.eyebrow) {
  font-weight: 350 !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
  opacity: .94 !important;
}

.option-b .eyebrow,
.option-b .hero-copy .eyebrow {
  color: rgba(255,255,255,.72) !important;
  font-size: .64rem !important;
  letter-spacing: .18em !important;
  font-weight: 500 !important;
}

/* Buttons: softer and less heavy */
.option-b .button,
.option-b .hero-actions .button,
.option-b .hero-copy .button {
  font-weight: 500 !important;
  font-size: .88rem !important;
  min-height: 46px !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
}

.option-b .button.primary {
  background: rgba(255,255,255,.95) !important;
  color: #171512 !important;
}

.option-b .button.ghost {
  border-color: rgba(255,255,255,.54) !important;
  color: rgba(255,255,255,.92) !important;
}

/* Mobile: closer to guide header and softer hero */
@media (max-width: 920px) {
  .option-b .site-header {
    padding: 18px 18px !important;
    align-items: flex-start !important;
  }

  .option-b .brand span {
    font-size: 1.9rem !important;
    letter-spacing: .13em !important;
    font-weight: 500 !important;
  }

  .option-b .brand small {
    font-size: .72rem !important;
    letter-spacing: .15em !important;
    margin-top: 8px !important;
  }

  .option-b .menu-toggle {
    margin-top: 2px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    background: rgba(255,255,255,.06) !important;
  }

  .option-b .menu-toggle span {
    width: 22px !important;
    height: 1.6px !important;
    background: #ffffff !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    font-size: clamp(2.45rem, 10.8vw, 3.8rem) !important;
    line-height: 1 !important;
    font-weight: 500 !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    font-size: .94rem !important;
    line-height: 1.62 !important;
    font-weight: 350 !important;
  }

  .option-b .hero-content,
  .option-b .hero-copy {
    padding-bottom: 64px !important;
  }

  .option-b .hero-actions,
  .option-b .hero-copy .hero-actions {
    display: flex !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  .option-b .hero-actions .button,
  .option-b .hero-copy .button {
    min-height: 42px !important;
    padding: 10px 16px !important;
    font-size: .84rem !important;
    font-weight: 500 !important;
  }

  .option-b .mobile-nav a {
    font-weight: 400 !important;
    letter-spacing: .01em !important;
  }
}

/* ===== Option B correction: left hero copy, subtle availability menu item, better hero crop ===== */

/* Desktop hero image: full-screen, a touch zoomed, keep sun area visible */
@media (min-width: 921px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-fit: cover !important;
    object-position: 44% center !important;
    transform: scale(1.035) !important;
    transform-origin: 42% 18% !important;
  }

  /* Move hero text left and lower */
  .option-b .hero-content,
  .option-b .hero-copy {
    margin-left: 0 !important;
    margin-right: auto !important;
    padding-left: 9vw !important;
    padding-right: 5vw !important;
    padding-bottom: 10vh !important;
    max-width: 760px !important;
    align-self: end !important;
  }

  /* Availability should be same as other menu items, just underlined */
  .option-b .desktop-nav a[href="#availability"] {
    font-size: .86rem !important;
    font-weight: 400 !important;
    letter-spacing: .015em !important;
    opacity: .92 !important;
    padding-bottom: 4px !important;
    border-bottom: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
  }
}

/* Mobile keeps the hero image full and a little more alive */
@media (max-width: 920px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: 43% center !important;
    transform: scale(1.02) !important;
    transform-origin: 42% 18% !important;
  }

  .option-b .hero-content,
  .option-b .hero-copy {
    text-align: left !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* ===== Option B: sticky white header + improved hero crop ===== */

/* Sticky white header, visible while scrolling */
.option-b .site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  color: #171512 !important;
  border-bottom: 1px solid rgba(23,21,18,.08) !important;
  padding: 18px 42px !important;
}

.option-b .brand,
.option-b .desktop-nav a {
  color: #171512 !important;
}

.option-b .brand small {
  color: rgba(23,21,18,.68) !important;
}

.option-b .desktop-nav a {
  opacity: .78 !important;
}

.option-b .desktop-nav a:hover {
  opacity: 1 !important;
}

.option-b .desktop-nav a[href="#availability"] {
  color: #171512 !important;
  border-bottom: 1px solid rgba(23,21,18,.62) !important;
}

/* Hero image: a touch more zoomed, positioned to keep sun top-left visible */
@media (min-width: 921px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: 34% 42% !important;
    transform: scale(1.075) !important;
    transform-origin: 18% 6% !important;
  }

  /* give the fixed header room without weakening the hero */
  .option-b .hero,
  .option-b .hero-editorial {
    padding-top: 0 !important;
  }
}

/* Mobile sticky white header */
@media (max-width: 920px) {
  .option-b .site-header {
    padding: 14px 18px !important;
    background: rgba(255,255,255,.96) !important;
    color: #171512 !important;
  }

  .option-b .brand,
  .option-b .brand span,
  .option-b .brand small {
    color: #171512 !important;
  }

  .option-b .menu-toggle {
    border-color: rgba(23,21,18,.16) !important;
    background: transparent !important;
  }

  .option-b .menu-toggle span {
    background: #171512 !important;
  }

  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: 34% 42% !important;
    transform: scale(1.045) !important;
    transform-origin: 18% 6% !important;
  }

  .option-b .mobile-nav {
    top: 72px !important;
  }
}

/* ===== Mobile header + hero correction ===== */

/* Desktop logo a touch calmer too */
@media (min-width: 921px) {
  .option-b .brand span {
    font-size: 1.52rem !important;
    letter-spacing: .16em !important;
  }
}

/* Mobile: closer to guest guide */
@media (max-width: 920px) {
  /* Logo smaller than previous version */
  .option-b .brand span {
    font-size: 1.46rem !important;
    letter-spacing: .15em !important;
    line-height: .9 !important;
  }

  .option-b .brand small {
    font-size: .66rem !important;
    letter-spacing: .14em !important;
    margin-top: 7px !important;
  }

  /* Menu icon: no circle, just three black lines */
  .option-b .menu-toggle {
    width: 36px !important;
    height: 32px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-top: 4px !important;
  }

  .option-b .menu-toggle span {
    width: 24px !important;
    height: 1.6px !important;
    background: #171512 !important;
    border-radius: 2px !important;
  }

  /* Hero crop: move image down/right enough to reveal more sun top-left */
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: 25% 30% !important;
    transform: scale(1.06) !important;
    transform-origin: 8% 0% !important;
  }

  /* Make hero text block wider and more elegant */
  .option-b .hero-content,
  .option-b .hero-copy {
    width: 100% !important;
    max-width: none !important;
    padding-left: 30px !important;
    padding-right: 22px !important;
    padding-bottom: 64px !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    max-width: 96% !important;
    font-size: clamp(2.42rem, 9.6vw, 3.55rem) !important;
    line-height: 1.02 !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    max-width: 96% !important;
    font-size: .94rem !important;
    line-height: 1.6 !important;
  }

  .option-b .hero-actions,
  .option-b .hero-copy .hero-actions {
    display: flex !important;
    gap: 10px !important;
  }

  .option-b .hero-actions .button,
  .option-b .hero-copy .button {
    font-weight: 500 !important;
  }
}

@media (max-width: 480px) {
  .option-b .hero-content,
  .option-b .hero-copy {
    padding-left: 32px !important;
    padding-right: 18px !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    font-size: clamp(2.36rem, 9.4vw, 3.35rem) !important;
    max-width: 98% !important;
  }
}

/* ===== Final hero/header/footer correction ===== */

/* Top logo always behaves like a link */
.option-b .brand,
.option-b .footer-brand {
  cursor: pointer !important;
}

/* Large screens: keep text width consistent, not smaller */
@media (min-width: 1400px) {
  .option-b .hero-content,
  .option-b .hero-copy {
    max-width: 860px !important;
    width: 860px !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    max-width: 860px !important;
    font-size: clamp(3.45rem, 4.15vw, 5.7rem) !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    max-width: 650px !important;
  }
}

/* Desktop: move image down more and keep sun/top-left visible */
@media (min-width: 921px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: 24% 24% !important;
    transform: scale(1.085) !important;
    transform-origin: 5% 0% !important;
  }
}

/* Mobile/tablet: move image down more for sun/top-left */
@media (max-width: 920px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: 22% 22% !important;
    transform: scale(1.07) !important;
    transform-origin: 5% 0% !important;
  }

  /* Menu lines: exactly same thickness/length */
  .option-b .menu-toggle {
    gap: 5px !important;
  }

  .option-b .menu-toggle span {
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 2px !important;
    min-height: 2px !important;
    max-height: 2px !important;
    display: block !important;
    border-radius: 0 !important;
    transform-origin: center !important;
    flex: 0 0 2px !important;
  }
}

/* Footer logo matches top-left identity */
.footer {
  background: #ffffff !important;
  text-align: center !important;
  padding: 42px 20px !important;
}

.footer-brand {
  display: inline-block !important;
  text-decoration: none !important;
  color: #171512 !important;
  text-transform: uppercase !important;
}

.footer-brand span {
  display: block !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.52rem !important;
  line-height: .9 !important;
  letter-spacing: .16em !important;
  font-weight: 500 !important;
}

.footer-brand small {
  display: block !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: .14em !important;
  font-weight: 500 !important;
  margin-top: 8px !important;
  color: rgba(23,21,18,.68) !important;
}

/* ===== Sun crop fix: keep zoom, reveal more top-left sun ===== */
@media (min-width: 921px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: 14% 0% !important;
    transform: scale(1.085) !important;
    transform-origin: 0% 0% !important;
  }
}

@media (max-width: 920px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: 14% 0% !important;
    transform: scale(1.07) !important;
    transform-origin: 0% 0% !important;
  }
}

/* ===== Make top-left sun visible under fixed white header ===== */

/* The white fixed header was covering the very top of the hero image.
   Start the hero image below the header and pin the crop to the real top-left. */
.option-b .hero,
.option-b .hero-editorial {
  margin-top: 82px !important;
}

@media (min-width: 921px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: left top !important;
    transform: scale(1.075) !important;
    transform-origin: left top !important;
  }

  .option-b .hero,
  .option-b .hero-editorial {
    min-height: calc(100svh - 82px) !important;
  }
}

@media (max-width: 920px) {
  .option-b .hero,
  .option-b .hero-editorial {
    margin-top: 86px !important;
    min-height: calc(100svh - 86px) !important;
  }

  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: left top !important;
    transform: scale(1.055) !important;
    transform-origin: left top !important;
  }
}

/* ===== Zoomed hero with visible sun, no white image margin ===== */

/* Remove the extra white margin that was added above the hero */
.option-b .hero,
.option-b .hero-editorial {
  margin-top: 0 !important;
  min-height: 100svh !important;
}

/* Keep the white fixed header, but let the image sit behind it */
.option-b .site-header {
  position: fixed !important;
}

/* Desktop: zoom image and shift the sun area down into view */
@media (min-width: 921px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: left top !important;
    transform: scale(1.16) translateY(34px) !important;
    transform-origin: left top !important;
  }

  .option-b .hero,
  .option-b .hero-editorial {
    min-height: 100svh !important;
  }
}

/* Mobile: same idea, slightly less aggressive */
@media (max-width: 920px) {
  .option-b .hero,
  .option-b .hero-editorial {
    margin-top: 0 !important;
    min-height: 100svh !important;
  }

  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    object-position: left top !important;
    transform: scale(1.12) translateY(42px) !important;
    transform-origin: left top !important;
  }

  /* Keep text lower so it doesn't fight the header */
  .option-b .hero-content,
  .option-b .hero-copy {
    padding-top: 120px !important;
  }
}

/* ===== Large screen hero text width fix ===== */
@media (min-width: 1200px) {
  .option-b .hero-content,
  .option-b .hero-copy {
    max-width: 980px !important;
    width: 980px !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    max-width: 980px !important;
    font-size: clamp(3.45rem, 4.25vw, 5.6rem) !important;
    line-height: 1.01 !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    max-width: 720px !important;
  }
}

@media (min-width: 1600px) {
  .option-b .hero-content,
  .option-b .hero-copy {
    max-width: 1080px !important;
    width: 1080px !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    max-width: 1080px !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    max-width: 760px !important;
  }
}

/* ===== Richer hero blue / closer to guest guide ===== */

/* Subtle image enhancement: more blue and clarity without looking artificial */
.option-b .hero-img,
.option-b .hero-image-wrap img {
  filter: saturate(1.13) contrast(1.05) brightness(1.03) !important;
}

/* Reduce grey overlay so pool/sky keep more colour */
.option-b .hero-overlay,
.option-b .hero-image-wrap:after {
  background:
    linear-gradient(180deg, rgba(0,0,0,.00) 0%, rgba(0,0,0,.05) 40%, rgba(0,0,0,.24) 100%),
    linear-gradient(90deg, rgba(0,0,0,.14), rgba(0,0,0,.01)) !important;
}

/* Keep text readable despite lighter overlay */
.option-b .hero h1,
.option-b .hero-editorial h1,
.option-b .hero-text,
.option-b .hero-copy p:not(.eyebrow),
.option-b .eyebrow {
  text-shadow: 0 2px 24px rgba(0,0,0,.28) !important;
}

@media (max-width: 920px) {
  .option-b .hero-img,
  .option-b .hero-image-wrap img {
    filter: saturate(1.11) contrast(1.04) brightness(1.03) !important;
  }

  .option-b .hero-overlay,
  .option-b .hero-image-wrap:after {
    background:
      linear-gradient(180deg, rgba(0,0,0,.00) 0%, rgba(0,0,0,.05) 40%, rgba(0,0,0,.27) 100%),
      linear-gradient(90deg, rgba(0,0,0,.13), rgba(0,0,0,.01)) !important;
  }
}

/* ===== Why Casa Lux image + softness fix ===== */
.option-b .reason-layout article:first-child,
.option-b .story-grid article:first-child,
.reason-layout article:first-child {
  background:#faf8f4 !important;
  color:#171512 !important;
  border:1px solid rgba(23,21,18,.07) !important;
}

.option-b .reason-layout article:first-child p,
.option-b .reason-layout article:first-child span,
.reason-layout article:first-child p,
.reason-layout article:first-child span {
  color:rgba(23,21,18,.74) !important;
}

.editorial-image-run img:nth-child(1){
  object-position:center center !important;
}
.editorial-image-run img:nth-child(2){
  object-position:center center !important;
}
.editorial-image-run img:nth-child(3){
  object-position:center center !important;
}

/* ===== Mobile optimization for Why Casa Lux section ===== */
@media (max-width: 920px) {

  /* Put the image strip before the text blocks on mobile */
  .editorial-image-run {
    order: 2 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: calc(100% - 28px) !important;
    margin: 22px auto 26px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Main emotional image first */
  .editorial-image-run img:nth-child(1) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
  }

  /* Supporting images underneath */
  .editorial-image-run img:nth-child(2),
  .editorial-image-run img:nth-child(3) {
    width: 100% !important;
    height: 140px !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    flex: none !important;
  }

  /* Make the text stack after the hero image */
  .story-grid {
    display: flex !important;
    flex-direction: column !important;
  }

  .story-grid > :first-child {
    order: 1 !important; /* title */
  }

  .story-grid > :last-child {
    order: 3 !important; /* paragraph text after images */
  }

  /* Reason cards after paragraph text */
  .reason-layout,
  .option-b .reason-layout {
    order: 4 !important;
    margin-top: 18px !important;
  }

  .reason-layout article,
  .option-b .reason-layout article {
    padding: 20px !important;
    border-radius: 18px !important;
  }
}

/* ===== Step-back fix: large hero width + exact mobile Why order ===== */

/* Large screens: keep the hero text block wide enough for the text size */
@media (min-width: 1200px) {
  .option-b .hero-content,
  .option-b .hero-copy {
    max-width: 980px !important;
    width: 980px !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    max-width: 980px !important;
    font-size: clamp(3.45rem, 4.25vw, 5.6rem) !important;
    line-height: 1.01 !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    max-width: 720px !important;
  }
}

@media (min-width: 1600px) {
  .option-b .hero-content,
  .option-b .hero-copy {
    max-width: 1080px !important;
    width: 1080px !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    max-width: 1080px !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    max-width: 760px !important;
  }
}

/* Desktop: mobile-only why images hidden */
.mobile-why-main-image,
.mobile-why-support-image {
  display: none;
}

/* Mobile exact Why section order:
   title -> large image -> block 01 + block 02 -> living image -> block 03 -> bedroom image */
@media (max-width: 920px) {
  /* Hide the existing three-image strip on mobile */
  .editorial-image-run,
  .editorial-strip {
    display: none !important;
  }

  .story .story-grid {
    display: block !important;
  }

  /* Hide the two intro paragraphs on mobile if they make the section too text-heavy */
  .story .story-text {
    display: none !important;
  }

  .mobile-why-main-image {
    display: block !important;
    width: calc(100% - 28px) !important;
    margin: 20px auto 22px !important;
  }

  .mobile-why-main-image img {
    width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 22px !important;
    display: block !important;
  }

  .reason-layout,
  .option-b .reason-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-top: 0 !important;
  }

  .reason-layout article,
  .option-b .reason-layout article {
    display: block !important;
    padding: 20px !important;
    border-radius: 18px !important;
    background: #faf8f4 !important;
  }

  .mobile-why-support-image {
    display: block !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
  }

  .mobile-why-support-image img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 20px !important;
    display: block !important;
  }

  .mobile-why-bedroom-image img {
    height: 240px !important;
  }
}

@media (max-width: 480px) {
  .mobile-why-main-image img {
    height: 290px !important;
  }

  .mobile-why-support-image img {
    height: 200px !important;
  }

  .mobile-why-bedroom-image img {
    height: 220px !important;
  }
}

/* ===== Fix missing beanbag/main image between title and first reason block ===== */
.mobile-why-main-image {
  display: none;
}

@media (max-width: 920px) {
  .reason-layout .mobile-why-main-image,
  .option-b .reason-layout .mobile-why-main-image {
    display: block !important;
    order: -1 !important;
    width: 100% !important;
    margin: 2px 0 4px !important;
  }

  .reason-layout .mobile-why-main-image img,
  .option-b .reason-layout .mobile-why-main-image img {
    display: block !important;
    width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 22px !important;
  }
}

@media (max-width: 480px) {
  .reason-layout .mobile-why-main-image img,
  .option-b .reason-layout .mobile-why-main-image img {
    height: 290px !important;
  }
}

/* ===== Large desktop hero text fix ===== */
/* Prevent the hero copy becoming a narrow column on large / ultra-wide screens. */
@media (min-width: 1200px) {
  .option-b .hero-content,
  .option-b .hero-copy {
    width: min(72vw, 1240px) !important;
    max-width: none !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(3.7rem, 4.55vw, 6.15rem) !important;
    line-height: 1.01 !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    width: min(55vw, 820px) !important;
    max-width: none !important;
  }
}

@media (min-width: 1600px) {
  .option-b .hero-content,
  .option-b .hero-copy {
    width: min(68vw, 1320px) !important;
  }

  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    font-size: clamp(4.1rem, 4.2vw, 6.4rem) !important;
  }

  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    width: min(48vw, 860px) !important;
  }
}

/* ===== Pool duo section: two-image editorial layout ===== */
.pool-duo-section {
  background: #ffffff !important;
  padding-top: 92px !important;
}

.pool-duo-title {
  margin-bottom: 28px !important;
}

.pool-duo-title h2 {
  max-width: 780px !important;
}

.pool-duo-images {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  align-items: stretch !important;
  margin-bottom: 30px !important;
}

.pool-duo-images img {
  width: 100% !important;
  height: 620px !important;
  object-fit: cover !important;
  display: block !important;
}

.pool-duo-images img:first-child {
  border-radius: 30px 0 0 30px !important;
  object-position: center center !important;
}

.pool-duo-images img:nth-child(2) {
  border-radius: 0 30px 30px 0 !important;
  object-position: center center !important;
}

.pool-duo-copy {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.pool-duo-copy p {
  color: var(--muted, #625b52) !important;
  font-size: 1.03rem !important;
  line-height: 1.72 !important;
}

/* Mobile pool flow:
   title alone -> first image -> text -> second image */
@media (max-width: 920px) {
  .pool-duo-section {
    padding-top: 58px !important;
  }

  .pool-duo-title {
    width: calc(100% - 28px) !important;
    margin-bottom: 20px !important;
  }

  .pool-duo-title h2 {
    max-width: 100% !important;
  }

  .pool-duo-images {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-bottom: 0 !important;
  }

  .pool-duo-images img {
    width: 100vw !important;
    height: 66svh !important;
    min-height: 420px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }

  .pool-duo-images img:first-child {
    order: 1 !important;
  }

  .pool-duo-images img:nth-child(2) {
    order: 3 !important;
  }

  .pool-duo-copy {
    order: 2 !important;
    width: calc(100% - 28px) !important;
    margin: 24px auto !important;
    max-width: none !important;
  }

  .pool-duo-section {
    display: flex !important;
    flex-direction: column !important;
  }

  .pool-duo-title {
    order: 1 !important;
  }

  .pool-duo-images {
    display: contents !important;
  }

  .pool-duo-images img:first-child {
    order: 2 !important;
  }

  .pool-duo-copy {
    order: 3 !important;
  }

  .pool-duo-images img:nth-child(2) {
    order: 4 !important;
  }
}

@media (max-width: 480px) {
  .pool-duo-images img {
    height: 61svh !important;
    min-height: 390px !important;
  }
}

/* ===== Inside the villa layout requested ===== */
/* Desktop/tablet:
   Living room full row,
   Kitchen full row,
   Bathroom + office nook together next row.
*/
@media (min-width: 921px) {
  .option-b .room-grid,
  .room-grid,
  .editorial-rooms {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
  }

  .option-b .room-grid .room-card.large-card,
  .room-grid .room-card.large-card,
  .editorial-rooms .room-feature {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  /* Kitchen card becomes full width. It is the second article/card in the villa section. */
  .option-b .room-grid .room-card:nth-child(2),
  .room-grid .room-card:nth-child(2),
  .editorial-rooms article:nth-child(2) {
    grid-column: 1 / -1 !important;
  }

  /* Keep full-width cards elegant with image/text side-by-side where supported */
  .option-b .room-grid .room-card.large-card,
  .room-grid .room-card.large-card,
  .option-b .room-grid .room-card:nth-child(2),
  .room-grid .room-card:nth-child(2),
  .editorial-rooms .room-feature,
  .editorial-rooms article:nth-child(2) {
    display: grid !important;
    grid-template-columns: 1.12fr .88fr !important;
    align-items: stretch !important;
  }

  .option-b .room-grid .room-card.large-card img,
  .room-grid .room-card.large-card img,
  .option-b .room-grid .room-card:nth-child(2) img,
  .room-grid .room-card:nth-child(2) img,
  .editorial-rooms .room-feature img,
  .editorial-rooms article:nth-child(2) img {
    height: 460px !important;
  }

  .option-b .room-grid .room-card.large-card div,
  .room-grid .room-card.large-card div,
  .option-b .room-grid .room-card:nth-child(2) div,
  .room-grid .room-card:nth-child(2) div,
  .editorial-rooms .room-feature div,
  .editorial-rooms article:nth-child(2) div {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
}

/* ===== Pool title + kitchen layout refinement ===== */

/* Keep living room as side-by-side, but kitchen becomes wide image with text underneath */
@media (min-width: 921px) {
  .option-b .room-grid .room-card:nth-child(2),
  .room-grid .room-card:nth-child(2),
  .editorial-rooms article:nth-child(2) {
    display: block !important;
    grid-column: 1 / -1 !important;
  }

  .option-b .room-grid .room-card:nth-child(2) img,
  .room-grid .room-card:nth-child(2) img,
  .editorial-rooms article:nth-child(2) img {
    width: 100% !important;
    height: 430px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .option-b .room-grid .room-card:nth-child(2) div,
  .room-grid .room-card:nth-child(2) div,
  .editorial-rooms article:nth-child(2) div {
    display: block !important;
    padding: 30px 34px !important;
    max-width: 820px !important;
  }
}

/* ===== Pool text placement + bedroom image layout refinement ===== */

/* Pool text: more intentional placement on desktop */
@media (min-width: 921px) {
  .pool-duo-copy {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: 8vw !important;
    padding-top: 6px !important;
  }

  .pool-duo-copy p {
    font-size: 1.12rem !important;
    line-height: 1.76 !important;
    max-width: 760px !important;
  }

  .pool-duo-copy .tick-list {
    max-width: 760px !important;
  }
}

/* Bedroom section: larger, more premium image rhythm */
@media (min-width: 921px) {
  .sleep .split {
    grid-template-columns: .9fr 1.1fr !important;
    align-items: start !important;
    gap: 54px !important;
  }

  .sleep .copy-panel,
  .sleep .split > div:first-child {
    align-self: start !important;
  }

  .bedroom-collage,
  .feature-gallery.bedroom-gallery,
  .bedroom-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .bedroom-collage img:first-child,
  .feature-gallery.bedroom-gallery img:first-child,
  .bedroom-gallery img:first-child {
    grid-column: 1 / -1 !important;
    height: 520px !important;
    border-radius: 30px !important;
  }

  .bedroom-collage img:not(:first-child),
  .feature-gallery.bedroom-gallery img:not(:first-child),
  .bedroom-gallery img:not(:first-child) {
    height: 170px !important;
    border-radius: 18px !important;
  }

  .bedroom-collage img,
  .feature-gallery.bedroom-gallery img,
  .bedroom-gallery img {
    width: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
}

/* Mobile: keep bedroom images bigger too */
@media (max-width: 920px) {
  .bedroom-collage img:first-child,
  .feature-gallery.bedroom-gallery img:first-child,
  .bedroom-gallery img:first-child {
    height: 310px !important;
  }

  .bedroom-collage img:not(:first-child),
  .feature-gallery.bedroom-gallery img:not(:first-child),
  .bedroom-gallery img:not(:first-child) {
    height: 112px !important;
  }

  .pool-duo-copy p {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }
}

@media (max-width: 480px) {
  .bedroom-collage img:first-child,
  .feature-gallery.bedroom-gallery img:first-child,
  .bedroom-gallery img:first-child {
    height: 285px !important;
  }

  .bedroom-collage img:not(:first-child),
  .feature-gallery.bedroom-gallery img:not(:first-child),
  .bedroom-gallery img:not(:first-child) {
    height: 96px !important;
  }
}

/* ===== Direct bedroom section fix ===== */
.bedroom-section {
  background: #ffffff !important;
}

.bedroom-layout {
  display: grid !important;
  grid-template-columns: .82fr 1.18fr !important;
  gap: 56px !important;
  align-items: start !important;
}

.bedroom-copy {
  padding-top: 18px !important;
}

.bedroom-copy p:not(.section-kicker) {
  color: var(--muted, #625b52) !important;
  line-height: 1.72 !important;
}

.bedroom-images-large {
  display: grid !important;
  gap: 14px !important;
}

.bedroom-main-image {
  width: 100% !important;
  height: 560px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 32px !important;
  display: block !important;
}

.bedroom-support-images {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.bedroom-support-images img {
  width: 100% !important;
  height: 185px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
  display: block !important;
}

@media (max-width: 920px) {
  .bedroom-layout {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .bedroom-main-image {
    height: 330px !important;
    border-radius: 24px !important;
  }

  .bedroom-support-images {
    gap: 10px !important;
  }

  .bedroom-support-images img {
    height: 118px !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 480px) {
  .bedroom-main-image {
    height: 300px !important;
  }

  .bedroom-support-images img {
    height: 98px !important;
  }
}

/* Pool text stronger placement, direct */
@media (min-width: 921px) {
  .pool-duo-copy {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: 7vw !important;
  }

  .pool-duo-copy p {
    font-size: 1.14rem !important;
    line-height: 1.78 !important;
  }
}

/* ===== Bedroom varied editorial layout ===== */

/* Desktop: one large image, one medium image, two supporting images */
@media (min-width: 921px) {
  .bedroom-images-large {
    display: grid !important;
    grid-template-columns: 1.12fr .88fr !important;
    grid-template-rows: 360px 230px !important;
    gap: 14px !important;
  }

  .bedroom-main-image {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 3 !important;
    width: 100% !important;
    height: 604px !important;
    object-fit: cover !important;
    border-radius: 32px !important;
  }

  .bedroom-support-images {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 3 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 360px 230px !important;
    gap: 14px !important;
  }

  .bedroom-support-images img:first-child {
    grid-column: 1 / -1 !important;
    grid-row: 1 / 2 !important;
    height: 360px !important;
    border-radius: 26px !important;
  }

  .bedroom-support-images img:nth-child(2),
  .bedroom-support-images img:nth-child(3) {
    height: 230px !important;
    border-radius: 18px !important;
  }

  .bedroom-support-images img {
    width: 100% !important;
    object-fit: cover !important;
  }
}

/* Mobile: keep variation but not tiny */
@media (max-width: 920px) {
  .bedroom-images-large {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .bedroom-main-image {
    grid-column: 1 / -1 !important;
    height: 300px !important;
    border-radius: 24px !important;
  }

  .bedroom-support-images {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .bedroom-support-images img:first-child {
    grid-column: 1 / -1 !important;
    height: 230px !important;
    border-radius: 20px !important;
  }

  .bedroom-support-images img:nth-child(2),
  .bedroom-support-images img:nth-child(3) {
    height: 145px !important;
    border-radius: 16px !important;
  }
}

@media (max-width: 480px) {
  .bedroom-main-image {
    height: 280px !important;
  }

  .bedroom-support-images img:first-child {
    height: 205px !important;
  }

  .bedroom-support-images img:nth-child(2),
  .bedroom-support-images img:nth-child(3) {
    height: 125px !important;
  }
}

/* ===== Pool text block refinement ===== */

/* Desktop: place pool copy in a deliberate soft block under the images */
@media (min-width: 921px) {
  .pool-duo-copy {
    max-width: none !important;
    width: min(1040px, calc(100% - 40px)) !important;
    margin: 28px auto 0 !important;
    padding: 34px 42px !important;
    background: #fbfaf7 !important;
    border: 1px solid #e7dfd5 !important;
    border-radius: 28px !important;
    display: grid !important;
    grid-template-columns: 1.05fr .95fr !important;
    gap: 36px !important;
    align-items: start !important;
  }

  .pool-duo-copy p {
    font-size: 1.12rem !important;
    line-height: 1.76 !important;
    max-width: none !important;
    margin: 0 !important;
    color: #4f4942 !important;
  }

  .pool-duo-copy .tick-list {
    max-width: none !important;
    margin: 0 !important;
  }

  .pool-duo-copy .tick-list li {
    line-height: 1.55 !important;
  }
}

/* Mobile: keep text as its own clean block between the two images */
@media (max-width: 920px) {
  .pool-duo-copy {
    width: calc(100% - 28px) !important;
    margin: 22px auto !important;
    padding: 22px !important;
    background: #fbfaf7 !important;
    border: 1px solid #e7dfd5 !important;
    border-radius: 22px !important;
  }

  .pool-duo-copy p {
    margin-top: 0 !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: #4f4942 !important;
  }

  .pool-duo-copy .tick-list {
    margin-top: 18px !important;
  }
}

/* ===== Pool editorial redesign ===== */
@media (min-width: 921px){
  .pool-duo-copy{
    width:min(1080px, calc(100% - 80px)) !important;
    margin:38px auto 0 !important;
    padding:0 !important;
    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
    display:grid !important;
    grid-template-columns:1.25fr .9fr !important;
    gap:72px !important;
    align-items:start !important;
  }
  .pool-duo-copy p{
    font-size:1.28rem !important;
    line-height:1.82 !important;
    color:#4a443d !important;
    letter-spacing:-0.01em !important;
    max-width:640px !important;
  }
  .pool-duo-copy .tick-list{
    margin:4px 0 0 0 !important;
    padding:0 !important;
    list-style:none !important;
  }
  .pool-duo-copy .tick-list li{
    padding:0 0 16px 0 !important;
    margin:0 0 16px 0 !important;
    border-bottom:1px solid rgba(180,160,130,.22) !important;
    font-size:1.03rem !important;
    line-height:1.55 !important;
    color:#5a534b !important;
  }
  .pool-duo-copy .tick-list li:last-child{
    border-bottom:none !important;
    margin-bottom:0 !important;
  }
}

/* mobile cleaner */
@media (max-width: 920px){
  .pool-duo-copy{
    width:calc(100% - 28px) !important;
    margin:22px auto !important;
    padding:0 !important;
    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
  }
  .pool-duo-copy p{
    font-size:1.05rem !important;
    line-height:1.72 !important;
    color:#4a443d !important;
    margin-bottom:18px !important;
  }
  .pool-duo-copy .tick-list{
    list-style:none !important;
    padding:0 !important;
    margin:0 !important;
  }
  .pool-duo-copy .tick-list li{
    padding:0 0 12px 0 !important;
    margin:0 0 12px 0 !important;
    border-bottom:1px solid rgba(180,160,130,.20) !important;
    font-size:.98rem !important;
    line-height:1.5 !important;
  }
  .pool-duo-copy .tick-list li:last-child{border-bottom:none !important;}
}

/* ===== Pool section final clean-up: remove broken bullets, premium feature list ===== */

/* Remove old circular bullet pseudo-elements that were overlapping text */
.pool-duo-copy .tick-list li::before,
.pool-duo-copy .tick-list li:before {
  display: none !important;
  content: none !important;
}

/* Desktop: calmer editorial layout */
@media (min-width: 921px) {
  .pool-duo-copy {
    width: min(1040px, calc(100% - 80px)) !important;
    margin: 40px auto 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    display: grid !important;
    grid-template-columns: 1.05fr 1fr !important;
    gap: 64px !important;
    align-items: start !important;
  }

  .pool-duo-copy p {
    font-size: 1.18rem !important;
    line-height: 1.78 !important;
    color: #4b453f !important;
    max-width: 600px !important;
    margin: 0 !important;
  }

  .pool-duo-copy .tick-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 2px 0 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 26px !important;
  }

  .pool-duo-copy .tick-list li {
    padding: 0 0 14px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(23,21,18,.10) !important;
    font-size: .96rem !important;
    line-height: 1.5 !important;
    color: #5f574f !important;
    font-weight: 400 !important;
  }
}

/* Mobile: same clean feeling */
@media (max-width: 920px) {
  .pool-duo-copy {
    width: calc(100% - 28px) !important;
    margin: 24px auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  .pool-duo-copy p {
    font-size: 1.02rem !important;
    line-height: 1.72 !important;
    color: #4b453f !important;
    margin: 0 0 22px !important;
  }

  .pool-duo-copy .tick-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    gap: 0 !important;
  }

  .pool-duo-copy .tick-list li {
    padding: 13px 0 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(23,21,18,.10) !important;
    font-size: .95rem !important;
    line-height: 1.45 !important;
    color: #5f574f !important;
  }

  .pool-duo-copy .tick-list li:last-child {
    border-bottom: 1px solid rgba(23,21,18,.10) !important;
  }
}

/* ===== Pool mobile corners + bedroom alignment refinement ===== */

/* Mobile pool image: remove leftover rounded corners completely */
@media (max-width: 920px) {
  .pool-duo-images img,
  .pool-duo-images img:first-child,
  .pool-duo-images img:nth-child(2),
  .pool-mobile-gallery img,
  .pool-mobile-gallery img:first-child {
    border-radius: 0 !important;
  }

  .pool-duo-images {
    overflow: visible !important;
  }
}

/* Bedroom desktop: lower image group so bottom aligns better with text block */
@media (min-width: 921px) {
  .bedroom-layout {
    align-items: start !important;
  }

  .bedroom-images-large {
    margin-top: 44px !important;
  }
}

@media (min-width: 1300px) {
  .bedroom-images-large {
    margin-top: 58px !important;
  }
}

/* ===== Mobile bedroom flow redesign ===== */
.bedroom-mobile-flow {
  display: none;
}

@media (max-width: 920px) {
  .bedroom-desktop-layout {
    display: none !important;
  }

  .bedroom-mobile-flow {
    display: block !important;
  }

  .bedroom-mobile-flow h2 {
    margin-bottom: 22px !important;
  }

  .mobile-bedroom-image {
    display: block !important;
    width: 100% !important;
    height: 310px !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 24px !important;
    margin: 22px 0 !important;
  }

  .mobile-bedroom-main {
    margin-top: 0 !important;
  }

  .bedroom-mobile-flow p {
    color: var(--muted, #625b52) !important;
    font-size: 1rem !important;
    line-height: 1.72 !important;
    margin: 0 0 22px !important;
  }

  .mobile-bedroom-details {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 22px !important;
  }

  .mobile-bedroom-details li::before,
  .mobile-bedroom-details li:before {
    display: none !important;
    content: none !important;
  }

  .mobile-bedroom-details li {
    padding: 13px 0 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(23,21,18,.10) !important;
    color: #5f574f !important;
    line-height: 1.45 !important;
  }

  .mobile-bedroom-details li:last-child {
    border-bottom: 1px solid rgba(23,21,18,.10) !important;
  }

  .mobile-bedroom-swipe {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 0 14px 8px !important;
  }

  .mobile-bedroom-swipe img {
    flex: 0 0 78vw !important;
    width: 78vw !important;
    height: 260px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    scroll-snap-align: start !important;
  }
}

@media (max-width: 480px) {
  .mobile-bedroom-image {
    height: 285px !important;
  }

  .mobile-bedroom-swipe img {
    height: 230px !important;
  }
}

/* ===== Mobile villa cards full width + bedroom right image alignment ===== */

/* Mobile: living room, kitchen, bathroom and office nook should stack full width */
@media (max-width: 920px) {
  .room-grid,
  .option-b .room-grid,
  .editorial-rooms,
  .option-b .editorial-rooms {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .room-card,
  .option-b .room-card,
  .editorial-rooms article,
  .option-b .editorial-rooms article {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    display: block !important;
  }

  .room-card img,
  .option-b .room-card img,
  .room-card.large-card img,
  .option-b .room-card.large-card img,
  .editorial-rooms article img,
  .option-b .editorial-rooms article img,
  .editorial-rooms .room-feature img,
  .option-b .editorial-rooms .room-feature img {
    width: 100% !important;
    height: 285px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }

  .room-card div,
  .option-b .room-card div,
  .editorial-rooms article div,
  .option-b .editorial-rooms article div {
    width: 100% !important;
  }
}

/* Desktop bedroom: keep large left image in place, move only the right-side image group down */
@media (min-width: 921px) {
  .bedroom-support-images {
    transform: translateY(52px) !important;
  }
}

@media (min-width: 1300px) {
  .bedroom-support-images {
    transform: translateY(68px) !important;
  }
}

.emotional-section{padding:76px 0!important;background:#fff!important}
.emotional-wrap{position:relative!important}
.emotional-wrap img{width:100%!important;height:72svh!important;min-height:520px!important;object-fit:cover!important;border-radius:34px!important;display:block!important}
.emotional-copy{position:absolute!important;left:48px!important;bottom:40px!important;max-width:680px!important;color:#fff!important;text-shadow:0 10px 26px rgba(0,0,0,.28)!important}
.emotional-copy h2{color:#fff!important;font-size:clamp(2rem,4vw,3.5rem)!important;line-height:1.08!important;letter-spacing:-.03em!important;margin:0!important}
.emotional-alt .emotional-copy{left:auto!important;right:48px!important;text-align:right!important}
@media(max-width:920px){
.emotional-section{padding:52px 0!important}
.emotional-wrap{width:100vw!important;margin-left:calc(50% - 50vw)!important}
.emotional-wrap img{height:62svh!important;min-height:430px!important;border-radius:0!important}
.emotional-copy{left:18px!important;right:18px!important;bottom:20px!important;max-width:none!important}
.emotional-copy h2{font-size:clamp(1.65rem,7vw,2.35rem)!important}
.emotional-alt .emotional-copy{left:18px!important;right:18px!important;text-align:left!important}
}

/* ===== Full-width emotional anchors refinement ===== */

/* Remove container limitations for the three anchor sections */
.emotional-section {
  padding: 0 !important;
  margin: 92px 0 !important;
  background: #fff !important;
}

.emotional-section .container,
.emotional-wrap {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  position: relative !important;
}

.emotional-wrap img {
  width: 100vw !important;
  height: 86svh !important;
  min-height: 680px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
  filter: saturate(1.04) contrast(1.03) !important;
}

.emotional-wrap::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.18)),
    linear-gradient(90deg, rgba(0,0,0,.16), rgba(0,0,0,.03)) !important;
  pointer-events: none !important;
}

.emotional-copy {
  position: absolute !important;
  z-index: 2 !important;
  left: 8vw !important;
  bottom: 10vh !important;
  max-width: 980px !important;
  color: #fff !important;
  text-shadow: 0 10px 34px rgba(0,0,0,.34) !important;
}

.emotional-copy .section-kicker {
  color: rgba(255,255,255,.92) !important;
  letter-spacing: .28em !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}

.emotional-copy h2 {
  color: #fff !important;
  font-size: clamp(4.2rem, 6.2vw, 8rem) !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
  margin: 0 !important;
  max-width: 1100px !important;
}

.emotional-alt .emotional-copy {
  left: auto !important;
  right: 8vw !important;
  text-align: right !important;
}

/* Mobile full-width anchors */
@media (max-width: 920px) {
  .emotional-section {
    margin: 58px 0 !important;
  }

  .emotional-wrap img {
    height: 72svh !important;
    min-height: 520px !important;
  }

  .emotional-copy {
    left: 22px !important;
    right: 22px !important;
    bottom: 34px !important;
    max-width: none !important;
  }

  .emotional-alt .emotional-copy {
    left: 22px !important;
    right: 22px !important;
    text-align: left !important;
  }

  .emotional-copy h2 {
    font-size: clamp(2.75rem, 12vw, 4.4rem) !important;
    line-height: .98 !important;
    max-width: 100% !important;
  }

  .emotional-copy .section-kicker {
    font-size: .68rem !important;
    letter-spacing: .22em !important;
    margin-bottom: 12px !important;
  }
}

/* ===== Explore refresh section ===== */
.explore-refresh{
  padding:84px 0 !important;
}
.explore-refresh h2{
  max-width:820px !important;
}
.explore-grid-refresh{
  margin-top:34px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px !important;
}
.explore-grid-refresh img{
  width:100% !important;
  height:360px !important;
  object-fit:cover !important;
  border-radius:26px !important;
  display:block !important;
}
@media(max-width:920px){
  .explore-grid-refresh{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .explore-grid-refresh img{
    height:280px !important;
    border-radius:18px !important;
  }
}

/* ===== Explore section refreshed with stronger image sequence ===== */
.explore-refresh {
  padding: 92px 0 !important;
  background: #fff !important;
}

.explore-refresh-layout {
  display: grid !important;
  grid-template-columns: .86fr 1.14fr !important;
  gap: 54px !important;
  align-items: start !important;
}

.explore-refresh-copy h2 {
  max-width: 620px !important;
}

.explore-refresh-copy p:not(.section-kicker) {
  color: var(--muted, #625b52) !important;
  line-height: 1.72 !important;
}

.explore-refresh-images {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}

.explore-refresh-images img {
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 24px !important;
}

.explore-refresh-images img:nth-child(1) {
  height: 270px !important;
}

.explore-refresh-images img:nth-child(2) {
  height: 360px !important;
  margin-top: 54px !important;
}

.explore-refresh-images img:nth-child(3) {
  height: 340px !important;
  margin-top: -26px !important;
}

.explore-refresh-images img:nth-child(4) {
  height: 270px !important;
}

.mobile-outdoor-bridge {
  display: none;
}

@media (max-width: 920px) {
  .explore-refresh {
    padding: 58px 0 !important;
  }

  .explore-refresh-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .explore-refresh-images {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 0 14px 8px !important;
  }

  .explore-refresh-images img {
    flex: 0 0 78vw !important;
    width: 78vw !important;
    height: 260px !important;
    border-radius: 20px !important;
    margin: 0 !important;
    scroll-snap-align: start !important;
  }

  .explore-refresh-images img:first-child {
    flex-basis: 88vw !important;
    width: 88vw !important;
    height: 310px !important;
  }

  .mobile-outdoor-bridge {
    display: block !important;
    width: 100vw !important;
    margin: 0 0 44px calc(50% - 50vw) !important;
  }

  .mobile-outdoor-bridge img {
    width: 100vw !important;
    height: 48svh !important;
    min-height: 320px !important;
    object-fit: cover !important;
    display: block !important;
  }
}

@media (max-width: 480px) {
  .explore-refresh-images img {
    height: 235px !important;
  }

  .explore-refresh-images img:first-child {
    height: 285px !important;
  }

  .mobile-outdoor-bridge img {
    min-height: 290px !important;
  }
}


/* ===== Final refined anchor rhythm ===== */
.emotional-wrap { position: relative !important; }
.emotional-wrap::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.14) 100%),
    linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.02)) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.emotional-copy { z-index: 2 !important; text-shadow: 0 10px 34px rgba(0,0,0,.34) !important; }
#emotional-memory .emotional-copy {
  left: 7vw !important; right: auto !important; bottom: 9vh !important; top: auto !important;
  transform: none !important; text-align: left !important; max-width: 940px !important;
}
#emotional-pace .emotional-copy {
  left: 8vw !important; right: auto !important; top: 50% !important; bottom: auto !important;
  transform: translateY(-50%) !important; text-align: left !important; max-width: 820px !important;
}
#emotional-luxury .emotional-copy {
  left: auto !important; right: 7vw !important; top: auto !important; bottom: 11vh !important;
  transform: none !important; text-align: right !important; max-width: 820px !important;
}
.emotional-copy h2 {
  font-size: clamp(3.6rem, 5.8vw, 7rem) !important;
  line-height: .97 !important;
  letter-spacing: -.04em !important;
}
@media (max-width: 920px) {
  #emotional-memory .emotional-copy,
  #emotional-pace .emotional-copy,
  #emotional-luxury .emotional-copy {
    left: 22px !important; right: 22px !important; top: auto !important; bottom: 28px !important;
    transform: none !important; text-align: left !important; max-width: none !important;
  }
  .emotional-copy h2 {
    font-size: clamp(2.5rem, 11vw, 4.2rem) !important;
    line-height: .98 !important;
  }
}


/* ===== Next refinement pass ===== */

/* Anchor accents + stronger anchors */
.anchor-accent{
  position:absolute;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(5rem, 8vw, 9rem);
  line-height: 1;
  color: rgba(255,255,255,.9);
  top: -0.4em;
  left: -0.08em;
  pointer-events:none;
  text-shadow: 0 10px 34px rgba(0,0,0,.18);
}

#emotional-memory .anchor-accent{
  left: -0.06em;
  top: -0.38em;
}
#emotional-pace .anchor-accent{
  left: -0.07em;
  top: -0.42em;
}
#emotional-luxury .anchor-accent{
  left: auto;
  right: 100%;
  margin-right: .08em;
  top: -0.42em;
}

.emotional-copy{
  position:absolute !important;
}

.emotional-copy h2{
  font-size: clamp(4rem, 6.4vw, 7.8rem) !important;
  line-height: .93 !important;
  letter-spacing: -.045em !important;
  max-width: 980px !important;
}

#emotional-memory .emotional-copy{
  max-width: 980px !important;
}

#emotional-pace .emotional-copy{
  max-width: 760px !important;
}

#emotional-luxury .emotional-copy{
  max-width: 680px !important;
}

#emotional-luxury .emotional-copy h2{
  font-size: clamp(4.2rem, 6.8vw, 8.2rem) !important;
  line-height: .9 !important;
}

@media (max-width: 920px){
  .anchor-accent{
    font-size: clamp(4rem, 16vw, 6rem) !important;
    top: -0.28em !important;
    left: -0.02em !important;
  }
  #emotional-luxury .anchor-accent{
    right:auto !important;
    left:-0.02em !important;
    margin-right:0 !important;
  }
  .emotional-copy h2{
    font-size: clamp(2.6rem, 11vw, 4.2rem) !important;
    line-height: .95 !important;
  }
  #emotional-luxury .emotional-copy h2{
    font-size: clamp(2.8rem, 12vw, 4.4rem) !important;
  }
}

/* Explore section more resolved on desktop */
@media (min-width: 921px){
  .explore-refresh-layout{
    grid-template-columns: .84fr 1.16fr !important;
    gap: 64px !important;
    align-items: start !important;
  }

  .explore-refresh-copy{
    padding-top: 14px !important;
  }

  .explore-refresh-images{
    grid-template-columns: 1.04fr .96fr !important;
    gap: 18px !important;
    align-items: start !important;
  }

  .explore-refresh-images img{
    border-radius: 24px !important;
  }

  .explore-refresh-images img:nth-child(1){
    height: 300px !important;
    margin-top: 0 !important;
  }

  .explore-refresh-images img:nth-child(2){
    height: 410px !important;
    margin-top: 44px !important;
  }

  .explore-refresh-images img:nth-child(3){
    height: 310px !important;
    margin-top: -6px !important;
  }

  .explore-refresh-images img:nth-child(4){
    height: 260px !important;
    margin-top: 36px !important;
  }
}


/* ===== Final polish: mobile readability, Explore corners, coming-soon partners ===== */

/* Mobile hero text: a touch stronger for readability, still refined */
@media (max-width: 920px) {
  .hero h1,
  .hero-editorial h1,
  .option-b .hero h1,
  .option-b .hero-editorial h1 {
    font-weight: 600 !important;
    text-shadow: 0 3px 24px rgba(0,0,0,.38) !important;
  }

  .hero-text,
  .hero-copy p:not(.eyebrow),
  .option-b .hero-text,
  .option-b .hero-copy p:not(.eyebrow) {
    font-weight: 500 !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.36) !important;
  }
}

/* Explore & Unwind mobile gallery: all corners consistent */
@media (max-width: 920px) {
  .explore-refresh-images,
  .explore-grid-refresh,
  .view-gallery {
    overflow: visible !important;
  }

  .explore-refresh-images img,
  .explore-grid-refresh img,
  .view-gallery img {
    border-radius: 20px !important;
    overflow: hidden !important;
  }
}

/* Coming soon platform buttons */
.platform-links .platform-link.coming-soon {
  min-height: 54px;
  border: 1px solid var(--line, #e7dfd5);
  background: rgba(255,255,255,.62);
  border-radius: 999px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: rgba(23,21,18,.52);
  cursor: default;
  gap: 2px;
  padding: 10px 16px;
}

.platform-links .platform-link.coming-soon strong {
  font-size: .94rem;
  line-height: 1.1;
  font-weight: 700;
}

.platform-links .platform-link.coming-soon small {
  font-size: .72rem;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(23,21,18,.42);
}

/* Booking platform grid refinement for active + coming soon partners */
@media (min-width: 760px) {
  .platform-links {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* ===== Samsung / Android Chrome mobile responsive hotfix ===== */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

*,
*::before,
*::after {
  box-sizing: border-box !important;
}

img,
video,
picture {
  max-width: 100% !important;
}

@media (max-width: 920px) {
  body {
    min-width: 0 !important;
  }

  .container,
  .section .container,
  header .container,
  .nav-inner,
  .site-header .container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  section,
  .section {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .outdoor-grid,
  .outdoor-layout,
  .terrace-layout,
  .villa-layout,
  .room-grid,
  .editorial-rooms,
  .explore-refresh-layout,
  .explore-layout,
  .details-grid,
  .at-glance-grid,
  .platform-links {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 16px !important;
  }

  .outdoor-grid > *,
  .outdoor-layout > *,
  .terrace-layout > *,
  .villa-layout > *,
  .room-grid > *,
  .editorial-rooms > *,
  .explore-refresh-layout > *,
  .explore-layout > *,
  .details-grid > *,
  .at-glance-grid > *,
  .platform-links > * {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .outdoor-card,
  .terrace-card,
  .copy-card,
  .copy-panel {
    width: 100% !important;
    max-width: 100% !important;
  }

  .explore-refresh-images {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding: 0 0 10px 0 !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .explore-refresh-images img {
    flex: 0 0 82% !important;
    width: 82% !important;
    max-width: 82% !important;
    min-width: 82% !important;
    height: 260px !important;
    object-fit: cover !important;
    border-radius: 20px !important;
    margin: 0 !important;
    scroll-snap-align: start !important;
  }

  .explore-refresh-images img:first-child {
    flex-basis: 90% !important;
    width: 90% !important;
    max-width: 90% !important;
    min-width: 90% !important;
    height: 300px !important;
  }

  .mobile-outdoor-bridge {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    overflow: hidden !important;
  }

  .mobile-outdoor-bridge img {
    width: 100% !important;
    max-width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    display: block !important;
  }

  .details-card,
  .at-glance-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 520px) {
  .container,
  .section .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  h1,
  h2 {
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .explore-refresh-images img {
    flex-basis: 84% !important;
    width: 84% !important;
    max-width: 84% !important;
    min-width: 84% !important;
  }

  .explore-refresh-images img:first-child {
    flex-basis: 92% !important;
    width: 92% !important;
    max-width: 92% !important;
    min-width: 92% !important;
  }
}
