/* Casa Única Website Foundation 4.6.23 — homepage_v1 + slim editorial promotion. */
.cu-home-v460{
  --cu-home-private-bg: #efede8;
  --cu-home-private-ink: #625f58;
  --cu-home-private-line: rgba(98,95,88,.24);
  --cu-home-shared-bg: #e8efe7;
  --cu-home-shared-ink: #526750;
  --cu-home-shared-line: rgba(82,103,80,.24);
  --cu-home-public-bg: #e7f0f2;
  --cu-home-public-ink: #506f77;
  --cu-home-public-line: rgba(80,111,119,.24);
  background: var(--cu-cream);
  color: var(--cu-ink);
  overflow: clip;
}

.cu-home-v460 *,
.cu-home-v460 *::before,
.cu-home-v460 *::after{ box-sizing: border-box; }

.cu-home-v460__section{ padding: clamp(3.2rem, 5.1vw, 5.25rem) 0; }
.cu-home-v460__inner,
.cu-home-v460-hero__content{
  width: min(calc(100% - 48px), var(--cu-content-wide));
  margin-inline: auto;
}

.cu-home-v460 .cu-eyebrow{
  margin: 0 0 .72rem;
  color: var(--cu-green);
  font-family: var(--cu-font-ui);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .17em;
  line-height: 1.25;
  text-transform: uppercase;
}

.cu-home-v460 h1,
.cu-home-v460 h2,
.cu-home-v460 h3,
.cu-home-v460 p{ margin-top: 0; }

.cu-home-v460 h2{
  margin-bottom: .85rem;
  color: var(--cu-green-deep);
  font-family: var(--cu-font-heading);
  font-size: clamp(2.15rem, 3.65vw, 3.85rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.01;
}

.cu-home-v460-richtext,
.cu-home-v460-heading__body,
.cu-home-v460-life__copy > p:not(.cu-eyebrow),
.cu-home-v460-tour p{
  color: #5d675f;
  font-size: clamp(.92rem, 1vw, 1.05rem);
  font-weight: 300;
  line-height: 1.66;
}

.cu-home-v460-richtext p{ margin-bottom: 1rem; }
.cu-home-v460-richtext p:last-child{ margin-bottom: 0; }

.cu-home-v460-link{
  display: inline-flex;
  align-items: center;
  gap: .58rem;
  width: fit-content;
  padding: .28rem 0 .2rem;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--cu-green-dark);
  font-family: var(--cu-font-ui);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .045em;
  line-height: 1.25;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}
.cu-home-v460-link span{ transition: transform .2s ease; }
.cu-home-v460-link:hover span,
.cu-home-v460-link:focus-visible span{ transform: translateX(4px); }
.cu-home-v460-link:focus-visible{ outline: 0; box-shadow: var(--cu-focus-ring); }

.cu-home-v460-heading{ max-width: 760px; margin-bottom: clamp(1.6rem, 3vw, 2.8rem); }
.cu-home-v460-heading--center{ margin-inline: auto; text-align: center; }

/* Homepage reading stops intentionally mirror the accepted Guide system.
 * Native CSS proximity snap is the scrolling authority; JavaScript only keeps
 * the live sticky-header offset current and suspends snap while overlays own
 * the viewport. Secondary card-grid stops are desktop/tablet reading aids and
 * stay out of the phone flow. */
html.cu-home-scroll-snap-enabled{
  scroll-snap-type:y proximity;
}
/* The existing BODY, not a synthetic anchor, owns the real page-top stop.
 * This lets visitors reach/stay at scrollY=0 without being magnetized toward
 * the Hero eyebrow further down the document. */
html.cu-home-scroll-snap-enabled body.cu-home-page-top-snap-target{
  scroll-snap-align:start;
  scroll-margin-top:0;
}
html.cu-home-scroll-snap-enabled.cu-home-scroll-snap-suspended{
  scroll-snap-type:none!important;
}
html.cu-home-scroll-snap-enabled [data-cu-home-snap-target="1"]{
  scroll-snap-align:start;
  scroll-snap-stop:normal;
  scroll-margin-top:var(--cu-home-snap-offset,calc(var(--cu-header-bottom-live,var(--cu-header-bottom,76px)) + 18px));
}
@media(max-width:820px){
  html.cu-home-scroll-snap-enabled [data-cu-home-snap-secondary="1"]{
    scroll-snap-align:none;
  }
}

/* Hero — intentionally editorial and compact, not viewport-filling. */
.cu-home-v460-hero{
  position: relative;
  width: min(calc(100% - 32px), 1500px);
  min-height: clamp(320px, 28vw, 455px);
  /* 4.7.9: the homepage hero begins exactly at the fixed header's measured
     bottom. Body/header offset is already owned by shell.css. */
  margin: 0 auto;
  /* 5.0.268: clip the rounded Hero visually without creating an intermediate
     scroll container. The semantic eyebrow must remain a root-page snap target. */
  overflow: clip;
  border-radius: 20px;
  display: grid;
  align-items: end;
  isolation: isolate;
  background: var(--cu-green-deep);
}
.cu-home-v460-hero__media,
.cu-home-v460-hero__media picture,
.cu-home-v460-hero__media img,
.cu-home-v460-hero__media .cu-media-placeholder{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.cu-home-v460-hero__media img{ object-fit: cover; }
.cu-home-v460-hero__shade{
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(20,31,24,.61) 0%, rgba(20,31,24,.25) 46%, rgba(20,31,24,.04) 78%),
    linear-gradient(0deg, rgba(18,28,22,.30) 0%, rgba(18,28,22,0) 55%);
}
.cu-home-v460-hero__content{
  position: relative;
  z-index: 2;
  padding: clamp(3rem, 5vw, 4.8rem) 0;
  color: #fff;
}
.cu-home-v460-hero__content .cu-eyebrow{ color: rgba(255,255,255,.84); }
.cu-home-v460-hero__content h1{
  max-width: 760px;
  margin: 0 0 .8rem;
  color: #fff;
  font-family: var(--cu-font-heading);
  font-size: clamp(4rem, 6.7vw, 6.45rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .91;
}

.cu-home-v460-hero__content > p:not(.cu-eyebrow){
  max-width: 610px;
  margin-bottom: 0;
  color: rgba(255,255,255,.94);
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  font-weight: 300;
  line-height: 1.55;
}

/* About — approved three-part editorial composition. */
.cu-home-v460-about{ background: var(--cu-cream); }
.cu-home-v460-about__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr) minmax(0, .52fr);
  gap: clamp(1.25rem, 2.5vw, 2.5rem);
  align-items: stretch;
}
.cu-home-v460-about__grid > *{ min-width: 0; }
.cu-home-v460-about__main-media,
.cu-home-v460-about__detail-media{
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: var(--cu-sand);
}
.cu-home-v460-about__main-media{ min-height: 0; aspect-ratio: 4/3; max-height: 500px; }
.cu-home-v460-about__details{ display: grid; grid-template-rows: 1fr 1fr; gap: 1rem; max-height: 500px; }
.cu-home-v460-about__detail-media{ min-height: 0; }
.cu-home-v460-about__main-media picture,
.cu-home-v460-about__main-media img,
.cu-home-v460-about__detail-media picture,
.cu-home-v460-about__detail-media img{ display: block; width: 100%; max-width: 100%; min-width: 0; height: 100%; }
.cu-home-v460-about__main-media img,
.cu-home-v460-about__detail-media img{ object-fit: cover; transition: transform .5s ease; }
.cu-home-v460-about__main-media:hover img,
.cu-home-v460-about__detail-media:hover img{ transform: scale(1.02); }
.cu-home-v460-about__copy{ position: relative; z-index: 1; align-self: center; width: 100%; max-width: 450px; min-width: 0; overflow-wrap: anywhere; }
.cu-home-v460-about__copy h2{ max-width: 420px; font-size: clamp(2.15rem, 3.15vw, 3.35rem); }
.cu-home-v460-about__copy .cu-home-v460-richtext{ font-size: clamp(.86rem, .95vw, .98rem); line-height: 1.62; }
.cu-home-v460-about__copy .cu-home-v460-link{ margin-top: 1.05rem; }

/* Promotion — slim full-width editorial offer, identical while floating and locked. */
.cu-home-v460-promotion{
  padding: .5rem 0 clamp(3rem, 4.8vw, 4.7rem);
  background: var(--cu-cream);
}
.cu-home-v460-promotion .cu-home-v460__inner{ width: min(calc(100% - 32px), 1460px); }
.cu-home-v460-promotion .cu-home-promo-lock-anchor{
  width: 100%;
  max-width: none;
  margin: 0 auto;
}
.cu-home-promo-lock-anchor > .cu-promo-banner,
.cu-home-v460-promotion .cu-home-promo-lock-anchor > .cu-promo-banner{
  --cu-promo-surface: #43523a;
  --cu-promo-visual-accent: #d48b61;
  width: 100%;
  max-width: 1460px;
  min-height: 0;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.055), transparent 33%),
    linear-gradient(100deg, color-mix(in srgb, var(--cu-promo-surface) 94%, #243025 6%) 0%, var(--cu-promo-surface) 54%, color-mix(in srgb, var(--cu-promo-surface) 94%, #55634a 6%) 100%);
  color: #fbfaf5;
  box-shadow: 0 16px 38px rgba(34,46,35,.16), 0 2px 8px rgba(34,46,35,.08);
  isolation: isolate;
}
.cu-home-promo-lock-anchor > .cu-promo-banner::after{
  content: "";
  position: absolute;
  z-index: -1;
  display: none;
  pointer-events: none;
}
.cu-home-promo-lock-anchor > .cu-promo-banner.cu-promo-banner--decor-palm_shadow::after{
  display: block;
  right: -12px;
  top: 0;
  width: min(31%, 430px);
  height: 100%;
  opacity: .78;
  background: var(--cu-relocated-promo-palm-shadow-svg) right center / cover no-repeat;
}

.cu-home-promo-lock-anchor .cu-promo-banner__body{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.72fr) minmax(170px, .42fr) minmax(170px, .38fr);
  align-items: center;
  gap: clamp(1.1rem, 2vw, 2.3rem);
  min-height: 142px;
  padding: .92rem clamp(4.2rem, 5.5vw, 5.4rem) .92rem clamp(1.35rem, 2.25vw, 2.15rem);
}
.cu-home-promo-lock-anchor .cu-promo-banner--no-visual .cu-promo-banner__body{
  grid-template-columns: minmax(0, 1fr) auto;
}
.cu-home-promo-lock-anchor .cu-promo-banner__content{ min-width: 0; }
.cu-home-promo-lock-anchor .cu-promo-banner__badge{
  margin: 0 0 .38rem;
  padding: .28rem .68rem;
  border: 0;
  background: var(--cu-promo-visual-accent);
  color: #fffaf4;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: none;
}
.cu-home-promo-lock-anchor .cu-promo-banner__copy{ min-width: 0; }
.cu-home-promo-lock-anchor .cu-promo-banner__title{
  max-width: none;
  margin: 0;
  color: #fffdf8;
  font-family: var(--cu-font-heading);
  font-size: clamp(1.7rem, 2.15vw, 2.45rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.03;
  text-wrap: balance;
}
.cu-home-promo-lock-anchor .cu-promo-banner__summary{
  max-width: 78ch;
  margin: .38rem 0 0;
  color: rgba(255,253,248,.88);
  font-size: clamp(.76rem, .8vw, .88rem);
  font-weight: 300;
  line-height: 1.42;
}
.cu-home-promo-lock-anchor .cu-promo-banner__meta{ display: none !important; }

.cu-home-promo-lock-anchor .cu-promo-banner__visual{
  min-width: 0;
  align-self: stretch;
  display: grid;
  place-items: center;
  border-left: 1px solid color-mix(in srgb, var(--cu-promo-visual-accent) 64%, transparent);
}
.cu-home-promo-lock-anchor .cu-promo-banner__visual-inner{
  display: grid;
  justify-items: center;
  align-content: center;
  gap: .04rem;
  min-width: 130px;
  color: var(--cu-promo-visual-accent);
  text-align: center;
}
.cu-home-promo-lock-anchor .cu-promo-banner__visual-icon{
  display: block;
  width: 48px;
  height: 38px;
  margin: 0 auto .02rem;
  color: currentColor;
}
.cu-home-promo-lock-anchor .cu-promo-banner__visual-icon--heart-leaf{
  width: 48px;
  height: 48px;
  object-fit: contain;
  opacity: .94;
  filter: sepia(1) saturate(1.7) hue-rotate(330deg) brightness(1.03);
}
.cu-home-promo-lock-anchor .cu-promo-banner__visual-kicker{
  order: -1;
  display: block;
  margin-bottom: -.04rem;
  color: var(--cu-promo-visual-accent);
  font-family: var(--cu-font-ui);
  font-size: .49rem;
  font-weight: 600;
  letter-spacing: .21em;
  line-height: 1.15;
  text-transform: uppercase;
  white-space: nowrap;
}
.cu-home-promo-lock-anchor .cu-promo-banner__visual-line{
  display: block;
  color: var(--cu-promo-visual-accent);
  font-family: var(--cu-font-heading);
  font-weight: 400;
  line-height: .98;
}
.cu-home-promo-lock-anchor .cu-promo-banner__visual-line--1{ font-size: clamp(1.45rem, 1.7vw, 1.85rem); }
.cu-home-promo-lock-anchor .cu-promo-banner__visual-line--2{ font-size: clamp(1.6rem, 1.9vw, 2.05rem); }
.cu-home-promo-lock-anchor .cu-promo-banner__visual-media{
  width: min(145px, 100%);
  height: 88px;
  margin: 0;
  display: grid;
  place-items: center;
}
.cu-home-promo-lock-anchor .cu-promo-banner__visual-media picture,
.cu-home-promo-lock-anchor .cu-promo-banner__visual-media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cu-home-promo-lock-anchor .cu-promo-banner__visual-media--full{
  width: min(190px, 100%);
  height: 104px;
}

.cu-home-promo-lock-anchor .cu-promo-banner__action{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}
.cu-home-promo-lock-anchor .cu-promo-banner__cta{
  align-self: auto;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .72rem;
  min-width: 148px;
  padding: .72rem 1.08rem;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #35452f;
  font-size: .86rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(19,28,20,.12);
}
.cu-home-promo-lock-anchor .cu-promo-banner__cta:hover,
.cu-home-promo-lock-anchor .cu-promo-banner__cta:focus-visible{
  background: #fff;
  color: #263521;
  transform: translateY(-1px);
}
.cu-home-promo-lock-anchor .cu-promo-banner__dismiss{
  z-index: 6;
  top: .36rem;
  right: .48rem;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  box-shadow: none;
  font-family: Arial, sans-serif;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}
.cu-home-promo-lock-anchor .cu-promo-banner__dismiss:hover{ opacity: .72; }
.cu-home-promo-lock-anchor .cu-promo-banner__dismiss:focus-visible{
  outline: 2px solid rgba(255,255,255,.92);
  outline-offset: 2px;
}

/* Floating and parked positions share the same wide banner contract. */
[data-cu-promo-lock-anchor] > .cu-promo-banner.cu-promo-banner--home.is-floating,
[data-cu-promo-lock-anchor].is-locked > .cu-promo-banner.cu-promo-banner--home{
  max-width: 1460px;
}

/* Life by the Laguna — approved compact seven-photo editorial mosaic. */
.cu-home-v460-life{ background: #f5f1e9; }
.cu-home-v460-life__grid{
  display: grid;
  grid-template-columns: minmax(245px, .70fr) minmax(0, 1.30fr);
  gap: clamp(2.2rem, 4vw, 4.15rem);
  align-items: center;
}
.cu-home-v460-life__copy{ max-width: 330px; }
.cu-home-v460-life__copy h2{ margin-bottom: 1rem; font-size: clamp(2.15rem, 3vw, 3.25rem); }
.cu-home-v460-life__copy > p:not(.cu-eyebrow){ margin-bottom: 0; font-size: .91rem; line-height: 1.62; }
.cu-home-v460-life__mosaic{
  display: grid;
  grid-template-columns: 1.02fr .98fr 1.12fr 1.34fr;
  grid-template-rows: 1fr 1fr;
  gap: .42rem;
  min-height: 0;
  aspect-ratio: 2.32 / 1;
}
.cu-home-v460-life__tile{ margin: 0; overflow: hidden; border-radius: 8px; min-width: 0; min-height: 0; }
.cu-home-v460-life__tile picture,
.cu-home-v460-life__tile img{ display: block; width: 100%; height: 100%; }
.cu-home-v460-life__tile img{ object-fit: cover; transition: transform .5s ease; }
.cu-home-v460-life__tile:hover img{ transform: scale(1.025); }
.cu-home-v460-life__tile--1{ grid-column: 1 / 3; grid-row: 1; }
.cu-home-v460-life__tile--2{ grid-column: 3; grid-row: 1; }
.cu-home-v460-life__tile--3{ grid-column: 4; grid-row: 1; }
.cu-home-v460-life__tile--4{ grid-column: 1; grid-row: 2; }
.cu-home-v460-life__tile--5{ grid-column: 2; grid-row: 2; }
.cu-home-v460-life__tile--6{ grid-column: 3; grid-row: 2; }
.cu-home-v460-life__tile--7{ grid-column: 4; grid-row: 2; }

/* Our Stays — canonical fully clickable stay-card system. */
.cu-home-v460-stays{ background: var(--cu-cream); }
.cu-home-v460-stays__head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.55rem;
}
.cu-home-v460-heading--stays{ max-width: 620px; margin-bottom: 0; }
.cu-home-v460-heading--stays h2{ max-width: 560px; font-size: clamp(2.25rem, 3.4vw, 3.55rem); }
.cu-home-v460-stays__head > .cu-home-v460-stays__button{ flex: 0 0 auto; margin-bottom: .2rem; }
.cu-home-v460-stays__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
  align-items: stretch;
}
.cu-home-v460-stay-card{
  height: 100%;
  min-width: 0;
  background: transparent;
}
.cu-home-v460-stay-card__link{
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(61,82,67,.18);
  border-radius: 22px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(42,57,46,.045);
  transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.cu-home-v460-stay-card__link:hover,
.cu-home-v460-stay-card__link:focus-visible{
  transform: translateY(-3px);
  border-color: rgba(83,111,88,.48);
  box-shadow: 0 18px 38px rgba(42,57,46,.095);
  outline: none;
}
.cu-home-v460-stay-card__link:focus-visible{
  box-shadow: var(--cu-focus-ring),0 18px 38px rgba(42,57,46,.095);
}
.cu-home-v460-stay-card__media{
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 0;
  background: var(--cu-green-soft);
}
.cu-home-v460-stay-card__media picture,
.cu-home-v460-stay-card__media img{
  display: block;
  width: 100%;
  height: 100%;
}
.cu-home-v460-stay-card__media img{
  object-fit: cover;
  transition: transform .45s ease;
}
.cu-home-v460-stay-card__link:hover .cu-home-v460-stay-card__media img{
  transform: scale(1.025);
}
.cu-home-v460-stay-card__body{
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 1rem;
  min-height: 260px;
  padding: 1.2rem 1.25rem 1.15rem;
}
.cu-home-v460-stay-card__copy{ display: block; }
.cu-home-v460-stay-card h3{
  margin: 0;
  color: var(--cu-green-deep);
  font-family: var(--cu-font-heading);
  font-size: clamp(1.7rem,2vw,2.15rem);
  font-weight: 400;
  line-height: 1.03;
}
.cu-home-v460-stay-card__tagline{
  display: block;
  min-height: 3em;
  margin: .55rem 0 0;
  max-width: 96%;
  color: #687069;
  font-size: .88rem;
  line-height: 1.5;
}
.cu-home-v460-stay-card__facts{
  align-content: start;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .72rem .9rem;
  margin: 0;
  padding: 0;
}
.cu-home-v460-stay-card__facts>span{
  display: flex;
  align-items: flex-start;
  gap: .48rem;
  min-width: 0;
  color: #59635b;
  font-size: .76rem;
  line-height: 1.35;
}
.cu-home-v460-stay-card__facts i{
  width: 1rem;
  flex: 0 0 1rem;
  margin-top: .06rem;
  color: var(--cu-green);
  text-align: center;
  font-size: .76rem;
}
.cu-home-v460-stay-card__cta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: .9rem;
  border-top: 1px solid rgba(61,82,67,.13);
  color: var(--cu-green-deep);
  font-size: .82rem;
  font-weight: 500;
}
.cu-home-v460-stay-card__cta>span{
  color: var(--cu-copper);
  font-size: 1.05rem;
  transition: transform .2s ease;
}
.cu-home-v460-stay-card__link:hover .cu-home-v460-stay-card__cta>span{
  transform: translateX(3px);
}

@media (min-width: 921px){
  .cu-home-v460-stay-card__body{ align-content: start; }
  .cu-home-v460-stay-card__facts{ align-self: end; }
}
@media (max-width: 980px) and (min-width: 681px){
  .cu-home-v460-stay-card__body{ min-height: 240px; }
}
@media (max-width: 820px){
  .cu-home-v460-stays__head{ align-items: flex-start; }
  .cu-home-v460-stays__grid{ grid-template-columns: 1fr; max-width: 650px; }
}
@media (max-width: 680px){
  .cu-home-v460-stay-card__body{ min-height: 0; padding: 1rem; }
  .cu-home-v460-stay-card__tagline{ min-height: 0; }
  .cu-home-v460-stay-card__facts{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){
  .cu-home-v460-stays__head{ display: grid; gap: .9rem; }
}

/* Private / Shared / Public — one editorial frame, alternating image + information. */
.cu-home-v460-scopes{ background: #f4f1ea; }
.cu-home-v460-scopes .cu-home-v460-heading--center{ max-width: 760px; margin-bottom: 1.8rem; }
.cu-home-v460-scopes .cu-home-v460-heading--center h2{ font-size: clamp(2.35rem, 3.7vw, 3.8rem); }
.cu-home-v460-scopes .cu-home-v460-heading__body{ max-width: 720px; margin-inline: auto; font-size: .84rem; }
.cu-home-v460-scopes__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--cu-line);
  border-radius: 22px;
  background: rgba(255,255,255,.24);
  box-shadow: 0 10px 30px rgba(40,50,42,.04);
}
.cu-home-v460-scope{
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(105px, .67fr) minmax(0, 1.33fr);
  border-right: 1px solid var(--cu-line);
}
.cu-home-v460-scope:last-child{ border-right: 0; }
.cu-home-v460-scope--private{ background: var(--cu-home-private-bg); }
.cu-home-v460-scope--shared{ background: var(--cu-home-shared-bg); }
.cu-home-v460-scope--public{ background: var(--cu-home-public-bg); }
.cu-home-v460-scope__media{ min-height: 100%; margin: 0; overflow: hidden; background: rgba(255,255,255,.32); }
.cu-home-v460-scope__media picture,
.cu-home-v460-scope__media img{ display: block; width: 100%; height: 100%; }
.cu-home-v460-scope__media img{ object-fit: cover; }
.cu-home-v460-scope__body{ display: flex; flex-direction: column; min-height: 440px; padding: 1.15rem 1rem 1.1rem; }
.cu-home-v460-scope__badge{
  display: inline-flex;
  width: fit-content;
  margin-bottom: .6rem;
  padding: .25rem .48rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .10em;
  line-height: 1;
  text-transform: uppercase;
}
.cu-home-v460-scope--private .cu-home-v460-scope__badge{ color: var(--cu-home-private-ink); }
.cu-home-v460-scope--shared .cu-home-v460-scope__badge,
.cu-home-v460-scope__badge--shared{ color: var(--cu-home-shared-ink); }
.cu-home-v460-scope--public .cu-home-v460-scope__badge{ color: var(--cu-home-public-ink); }
.cu-home-v460-scope h3{ margin: 0 0 .38rem; color: var(--cu-green-deep); font-family: var(--cu-font-heading); font-size: clamp(1.3rem, 1.7vw, 1.72rem); font-weight: 400; line-height: 1.02; }
.cu-home-v460-scope__intro{ margin-bottom: .75rem; color: #5c665e; font-size: .68rem; line-height: 1.46; }
.cu-home-v460-scope__bullets,
.cu-home-v460-scope__entity-list{ display: grid; gap: .38rem; margin: 0; padding: 0; list-style: none; }
.cu-home-v460-scope__bullets li{ display: flex; align-items: flex-start; gap: .4rem; color: #59635b; font-size: .64rem; line-height: 1.32; }
.cu-home-v460-scope__bullets i{ margin-top: .08rem; color: var(--cu-green); font-size: .62rem; }
.cu-home-v460-scope__entity-list li{ display: grid; gap: .08rem; padding-bottom: .34rem; border-bottom: 1px solid rgba(70,83,68,.12); }
.cu-home-v460-scope__entity-list li:last-child{ border-bottom: 0; }
.cu-home-v460-scope__entity-list strong{ color: var(--cu-green-deep); font-size: .64rem; font-weight: 500; line-height: 1.22; }
.cu-home-v460-scope__entity-list span{ color: #657068; font-size: .72rem; font-weight: 300; line-height: 1.4; }
.cu-home-v460-scope__cta{ margin-top: auto; padding-top: .85rem; }
.cu-home-v460-scope__cta .cu-home-v460-link{ font-size: .59rem; }
.cu-home-v460-scope--private .cu-home-v460-link{ color: var(--cu-home-private-ink); }
.cu-home-v460-scope--shared .cu-home-v460-link{ color: var(--cu-home-shared-ink); }
.cu-home-v460-scope--public .cu-home-v460-link{ color: var(--cu-home-public-ink); }

/* Shared spaces overlay uses the global overlay manager and remains scrollbar-free. */
.cu-home-v460-overlay[hidden]{ display: none; }
.cu-home-v460-overlay{ position: absolute; inset: 0; display: grid; place-items: center; padding: clamp(.7rem, 3vw, 2.2rem); }
.cu-home-v460-overlay__dialog{ width: min(920px, 100%); max-height: min(780px, calc(100svh - var(--cu-header-bottom) - 28px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; border: 1px solid var(--cu-home-shared-line); border-radius: 24px; background: #fbfcf9; box-shadow: 0 28px 85px rgba(25,36,29,.23); }
.cu-home-v460-overlay__dialog::-webkit-scrollbar{ display: none; }
.cu-home-v460-overlay__head{ position: sticky; z-index: 2; top: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.5rem 1.65rem 1.1rem; border-bottom: 1px solid var(--cu-line); background: rgba(251,252,249,.96); backdrop-filter: blur(10px); }
.cu-home-v460-overlay__head h2{ margin: .55rem 0 0; font-size: clamp(2rem, 4vw, 3.2rem); }
.cu-home-v460-overlay__close{ display: inline-grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto; border: 1px solid var(--cu-line); border-radius: 50%; background: #fff; color: var(--cu-green-dark); font-size: 1.45rem; cursor: pointer; }
.cu-home-v460-overlay__close:focus-visible{ outline: 0; box-shadow: var(--cu-focus-ring); }
.cu-home-v460-overlay__content{ padding: .9rem 1.65rem 1.7rem; }
.cu-home-v460-overlay__content .cu-home-v460-scope__entity-list{ gap: 0; }
.cu-home-v460-overlay__content .cu-home-v460-scope__entity-list li{ padding: 1rem 0; }
.cu-home-v460-overlay__content .cu-home-v460-scope__entity-list strong{ font-size: 1rem; }
.cu-home-v460-overlay__content .cu-home-v460-scope__entity-list span{ max-width: 720px; font-size: .9rem; line-height: 1.55; }

/* Tour remains available for the future Core video record; hidden while render_yn=false. */
.cu-home-v460-tour{ background: var(--cu-cream); color: var(--cu-green-dark); }
.cu-home-v460-tour__grid{
  display: grid;
  grid-template-columns: minmax(220px, .66fr) minmax(0, 1.34fr);
  gap: clamp(1.6rem, 3.4vw, 3rem);
  align-items: center;
  padding: clamp(1.15rem, 2.1vw, 1.65rem);
  border: 1px solid var(--cu-line);
  border-radius: 18px;
  background: rgba(255,255,255,.34);
  box-shadow: 0 12px 34px rgba(41,52,43,.055);
}
.cu-home-v460-tour h2{ color: var(--cu-green-dark); }
.cu-home-v460-tour .cu-eyebrow{ color: var(--cu-copper); }
.cu-home-v460-tour p{ color: var(--cu-muted); }
.cu-home-v460-tour .cu-home-v460-link{ color: var(--cu-green-dark); }
.cu-home-v460-tour__button{ margin-top: .25rem; }
.cu-home-v460-tour__media{ margin: 0; overflow: hidden; border-radius: 14px; aspect-ratio: 16/7; }
.cu-home-v460-tour__poster{ position: relative; display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.cu-home-v460-tour__poster--video-only{ background: linear-gradient(145deg, rgba(46,70,55,.96), rgba(96,116,91,.82)); }
/* Ambient mode uses the same Tour frame but is never a video-opening button. */
.cu-home-v460-tour__poster--ambient{cursor:default;pointer-events:none;}

.cu-home-v460-tour__poster picture,
.cu-home-v460-tour__poster img,
.cu-home-v460-tour__poster video{ display:block; width:100%; height:100%; }
.cu-home-v460-tour__poster img{ object-fit: cover; transition: transform .45s ease; }
.cu-home-v460-tour__poster video{ object-fit: cover; }
.cu-home-v460-tour__poster:hover img{ transform: scale(1.018); }
/* Interactive video posters reproduce the former video-frame hover (no image zoom). */
.cu-home-v460-tour__poster--video-only:hover img{ transform:none; }
.cu-home-v460-tour__play{ position:absolute; top:50%; left:50%; display:grid; place-items:center; width:64px; height:64px; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.75); border-radius:50%; background:rgba(27,46,36,.72); color:#fff; font-size:1.1rem; box-shadow:0 8px 28px rgba(20,30,24,.22); pointer-events:none; }

/* Semantic Tour layout options are implemented in the SAME Homepage video
   component, so editorial pages never invent a second player or modal. */
.cu-home-v460-tour[data-tour-media-shape="square"] .cu-home-v460-tour__media{aspect-ratio:1}
.cu-home-v460-tour.is-editorial-stacked .cu-home-v460-tour__grid{
  display:flex;flex-direction:column;align-items:stretch;gap:clamp(.65rem,1.3vw,1.1rem);
}
.cu-home-v460-tour.is-editorial-stacked .cu-home-v460-tour__heading{width:100%}
.cu-home-v460-tour.is-editorial-stacked .cu-home-v460-tour__heading h2{max-width:none;width:100%}
.cu-home-v460-tour.is-editorial-stacked .cu-home-v460-tour__copy{width:100%}
.cu-home-v460-tour .cu-home-v460-tour__subtitle{font-weight:500}
.cu-home-v460-tour__editorial-body p{margin:0 0 1em}
.cu-home-v460-tour__editorial-body p:last-child{margin-bottom:0}
.cu-home-v460-tour.is-editorial-stacked .cu-home-v460-tour__media{width:100%}

/* Practical orientation — full-width editorial heading, then image + three cards. */
.cu-home-v460-practical{ background: var(--cu-cream); }
.cu-home-v460-heading--practical{ max-width:none; margin-bottom:1.25rem; }
.cu-home-v460-heading--practical h2{ max-width:none; font-size:clamp(2.15rem,3.15vw,3.25rem); }
.cu-home-v460-practical__grid{ display:grid; grid-template-columns:minmax(320px,.76fr) minmax(0,1.24fr); gap:clamp(2rem,3.5vw,3.7rem); align-items:end; }
.cu-home-v460-practical__media{ aspect-ratio:1.58 / 1; margin:0; overflow:hidden; border-radius:14px; background:var(--cu-sand); }
@media(min-width:901px){
  .cu-home-v460-heading--practical h2{ white-space:nowrap; }
}
.cu-home-v460-practical__media picture,
.cu-home-v460-practical__media img{ display:block; width:100%; height:100%; }
.cu-home-v460-practical__media img{ object-fit: cover; }
.cu-home-v460-practical__cards{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; align-self: end; }
.cu-home-v460-practical__card{ min-height: 248px; padding: 1.15rem 1rem 1.25rem; border: 1px solid var(--cu-line); border-radius: 16px; background: rgba(255,255,255,.58); }
.cu-home-v460-practical__icon{ display: inline-grid; place-items: center; width: 32px; height: 32px; margin-bottom: 1.15rem; border: 1px solid var(--cu-line); border-radius: 50%; color: var(--cu-green-dark); font-size: .8rem; }
.cu-home-v460-practical__card h3{ margin: 0 0 .55rem; color: var(--cu-green-deep); font-family: var(--cu-font-heading); font-size: clamp(1.3rem, 1.75vw, 1.72rem); font-weight: 400; line-height: 1.04; }
.cu-home-v460-practical__card p{ margin: 0; color: #667069; font-size: .72rem; font-weight: 300; line-height: 1.5; }

/* Laguna Guides — editorial intro left, four light cards right. */
.cu-home-v460-guides{ background: #f2eee5; }
.cu-home-v460-guides__layout{ display: grid; grid-template-columns: minmax(220px, .58fr) minmax(0, 1.42fr); gap: clamp(2rem, 3.5vw, 3.8rem); align-items: end; }
.cu-home-v460-guides__intro{ align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; }
.cu-home-v460-heading--guides{ margin-bottom: 1rem; }
.cu-home-v460-heading--guides h2{ max-width: 370px; font-size: clamp(2.15rem, 3.1vw, 3.25rem); }
.cu-home-v460-heading--guides .cu-home-v460-heading__body{ max-width: 360px; font-size: .8rem; line-height: 1.5; }
.cu-home-v460-guides__button{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  width: fit-content;
  margin-top: .25rem;
  padding: .68rem .95rem;
  border-radius: 999px;
  background: var(--cu-green);
  color: #fff;
  font-family: var(--cu-font-ui);
  font-size: .72rem;
  font-weight: 600;
  text-decoration: none;
}
.cu-home-v460-guides__button:hover,
.cu-home-v460-guides__button:focus-visible{ background: var(--cu-green-dark); }
.cu-home-v460-guides__button:focus-visible{ outline: 0; box-shadow: var(--cu-focus-ring); }
.cu-home-v460-guides__grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.cu-home-v460-guide-card{ display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--cu-line); border-radius: 14px; background: rgba(255,255,255,.62); color: var(--cu-green-deep); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.cu-home-v460-guide-card:hover{ transform: translateY(-3px); box-shadow: 0 12px 28px rgba(40,50,42,.07); }
.cu-home-v460-guide-card__media{ display: block; aspect-ratio: 1.38 / 1; overflow: hidden; background: var(--cu-sand); }
.cu-home-v460-guide-card__media picture,
.cu-home-v460-guide-card__media img{ display:block; width:100%; height:100%; }
.cu-home-v460-guide-card__media img{ object-fit:cover; transition:transform .45s ease; }
.cu-home-v460-guide-card:hover .cu-home-v460-guide-card__media img{ transform: scale(1.025); }
.cu-home-v460-guide-card__body{ position: relative; display: grid; align-content: start; gap: .36rem; min-height: 150px; padding: .8rem .75rem 1.8rem; }
.cu-home-v460-guide-card__icon{ color: var(--cu-green); font-size: .72rem; }
.cu-home-v460-guide-card__body strong{ font-family:var(--cu-font-heading); font-size:clamp(1.18rem,1.45vw,1.45rem); font-weight:400; line-height:1.05; }
.cu-home-v460-guide-card__body small{ color:#69736b; font-size:.65rem; font-weight:300; line-height:1.4; }
.cu-home-v460-guide-card__arrow{ position: absolute; left: .75rem; bottom: .65rem; color: var(--cu-green-dark); font-size: .82rem; transition:transform .2s ease; }
.cu-home-v460-guide-card:hover .cu-home-v460-guide-card__arrow{ transform:translateX(4px); }
.cu-home-v460-guide-card:focus-visible{ outline:0; box-shadow:var(--cu-focus-ring); }


/* Static homepage photos use the existing global overlay layer as a no-arrow mini viewer. */
.cu-home-v460-media-open{
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: inherit;
  background: transparent;
  cursor: zoom-in;
  font: inherit;
}
.cu-home-v460-media-open picture,
.cu-home-v460-media-open img{ display:block; width:100%; height:100%; }
.cu-home-v460-media-open:focus-visible,
.cu-home-v460-tour__poster:focus-visible{ outline: 0; box-shadow: inset 0 0 0 3px rgba(172,111,66,.62); }

/* Virtual Tour playback uses the canonical overlay's full-viewport contract.
   Its native video aspect ratio determines a bounded, centered video frame;
   the ordinary website layout and underlying overlays remain unchanged. */
.cu-overlay-root[data-cu-overlay-kind="home-video-viewer"] .cu-overlay-root__backdrop{
  background: rgba(5, 13, 10, .55);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  filter: none;
}
.cu-home-v460-video-viewer[hidden]{ display:none; }
.cu-home-v460-video-viewer{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:clamp(.45rem, 1.1vw, .8rem);
  background:transparent;
}
/* 5.0.324 — match the photo viewer's equal 6px frame around the ACTUAL
   video element. A forced 16:9 box created asymmetric bars for sources with
   other native ratios. Allow the replaced element to honor its metadata. */
.cu-home-v460-video-viewer__dialog{
  position:relative;
  display:block;
width:min(1480px, calc(100vw - 2.75rem), calc((100dvh - 2.25rem) * var(--cu-video-ratio, 1.777778)));
  max-width:calc(100vw - 2.75rem);
  max-height:calc(100dvh - 2.25rem);
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:.54rem;
  background:#06100c;
  box-shadow:0 0 0 6px #06100c,0 18px 56px rgba(0,0,0,.30);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  clip-path:none;
}
.cu-home-v460-video-viewer__video{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  max-height:calc(100dvh - 2.25rem);
  aspect-ratio:var(--cu-video-ratio, 1.777778);
  margin:0;
  padding:0;
  border:0;
  border-radius:.54rem;
  background:#06100c;
  box-shadow:none;
  object-fit:contain;
}
.cu-home-v460-video-viewer__close{
  position:absolute;
  z-index:6;
  top:.42rem;
  right:.5rem;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:rgba(255,255,255,.98);
  box-shadow:none;
  font-family:Arial, sans-serif;
  font-size:2.35rem;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  text-shadow:0 2px 10px rgba(0,0,0,.76);
}
.cu-home-v460-video-viewer button:hover{ opacity:.82; }
.cu-home-v460-video-viewer button:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
  box-shadow:none;
}
@media (max-width: 800px) {
  .cu-home-v460-video-viewer__close{
    top:.2rem;
    right:.25rem;
    width:40px;
    height:40px;
    font-size:2.15rem;
  }
  .cu-home-v460-video-viewer__dialog{
    width:min(calc(100vw - 1rem), calc((100dvh - 1.25rem) * var(--cu-video-ratio, 1.777778)));
    max-width:calc(100vw - 1rem);
    max-height:calc(100dvh - 1.25rem);
    padding:0;
    border-radius:.54rem;
    clip-path:none;
  }
  .cu-home-v460-video-viewer__video{
    max-width:100%;
    max-height:calc(100dvh - 1.25rem);
    border-radius:.54rem;
  }
}

@media (min-width: 821px) {
  .cu-home-promo-lock-anchor .cu-promo-banner--heart-gift .cu-promo-banner__body{
    grid-template-columns: minmax(0, 1.55fr) minmax(160px, .5fr) minmax(190px, .65fr);
  }
  .cu-home-promo-lock-anchor .cu-promo-banner--heart-gift .cu-promo-banner__action{
    justify-content: center;
  }
}

@media (max-width: 1120px) {
  .cu-home-v460-about__grid{ grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
  .cu-home-v460-about__details{ grid-column: 1 / -1; grid-template-columns: 1fr 1fr; grid-template-rows: none; }
  .cu-home-v460-about__detail-media{ aspect-ratio: 16/7; }
  .cu-home-v460-life__grid{ grid-template-columns: .72fr 1.28fr; gap: 2.35rem; }
  .cu-home-v460-scopes__grid{ grid-template-columns: 1fr; max-width: 900px; margin-inline: auto; }
  .cu-home-v460-scope{ grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); border-right: 0; border-bottom: 1px solid var(--cu-line); }
  .cu-home-v460-scope:last-child{ border-bottom: 0; }
  .cu-home-v460-scope__body{ min-height: 330px; }
  .cu-home-v460-scope__intro{ font-size: .8rem; }
  .cu-home-v460-scope__bullets li,
.cu-home-v460-scope__entity-list strong{ font-size: .76rem; }
  .cu-home-v460-scope__bullets,
.cu-home-v460-scope__entity-list{ gap: .48rem; }
  .cu-home-v460-scope__cta .cu-home-v460-link{ font-size: .68rem; }
  .cu-home-v460-practical__grid,
.cu-home-v460-guides__layout{ grid-template-columns: 1fr; align-items: stretch; }
  .cu-home-v460-practical__media{ aspect-ratio: 16/9; }
  .cu-home-v460-guides__intro{ display: block; }
  .cu-home-v460-guides__grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .cu-home-v460-promotion .cu-home-v460__inner{ width: min(calc(100% - 24px), 1460px); }
  .cu-home-promo-lock-anchor .cu-promo-banner__body{
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 0;
    gap: 1rem;
    padding: 1rem 3.8rem 1rem 1.15rem;
  }
  .cu-home-promo-lock-anchor .cu-promo-banner__visual{ display: none; }
  .cu-home-promo-lock-anchor .cu-promo-banner__title{ font-size: clamp(1.45rem, 4.6vw, 2rem); }
  .cu-home-promo-lock-anchor .cu-promo-banner__summary{ max-width: 60ch; font-size: .8rem; }
  .cu-home-promo-lock-anchor .cu-promo-banner__cta{ min-width: 132px; padding: .68rem .9rem; font-size: .8rem; }
  .cu-home-v460__section{ padding: 3.6rem 0; }
  .cu-home-v460__inner,
.cu-home-v460-hero__content{ width: min(calc(100% - 32px), var(--cu-content-wide)); }
  .cu-home-v460-hero{ min-height: 500px; }
  .cu-home-v460-hero__content h1{ font-size: clamp(3.6rem, 12vw, 5.4rem); }
  .cu-home-v460-about__grid,
.cu-home-v460-life__grid,
.cu-home-v460-tour__grid{ grid-template-columns: 1fr; }
  .cu-home-v460-about__copy{ order: -1; max-width: 620px; }
  .cu-home-v460-about__main-media{ min-height: 0; aspect-ratio: 4/3; }
  .cu-home-v460-about__details{ grid-column: auto; }
  .cu-home-v460-about__detail-media{ aspect-ratio: 4/3; }
  .cu-home-v460-life__copy{ max-width: 600px; }
  .cu-home-v460-life__mosaic{ min-height: 0; height: auto; aspect-ratio: auto; grid-template-columns: 1fr 1fr; grid-template-rows: 220px repeat(3, 145px); }
  .cu-home-v460-life__tile--1{ grid-column:1/3; grid-row:1; }
  .cu-home-v460-life__tile--2{ grid-column:1; grid-row:2; }
  .cu-home-v460-life__tile--3{ grid-column:2; grid-row:2; }
  .cu-home-v460-life__tile--4{ grid-column:1; grid-row:3; }
  .cu-home-v460-life__tile--5{ grid-column:2; grid-row:3; }
  .cu-home-v460-life__tile--6{ grid-column:1; grid-row:4; }
  .cu-home-v460-life__tile--7{ grid-column:2; grid-row:4; }
  .cu-home-v460-practical__cards{ grid-template-columns: 1fr; }
  .cu-home-v460-practical__card{ min-height: 0; }
  .cu-home-v460-guides__grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 600px) {
  .cu-home-v460-promotion .cu-home-v460__inner{ width: min(calc(100% - 16px), 1460px); }
  .cu-home-promo-lock-anchor > .cu-promo-banner{ border-radius: 15px; }
  .cu-home-promo-lock-anchor .cu-promo-banner__body{
    grid-template-columns: 1fr;
    gap: .72rem;
    padding: .95rem 3rem 1rem 1rem;
  }
  .cu-home-promo-lock-anchor .cu-promo-banner__action{ justify-content: flex-start; }
  .cu-home-promo-lock-anchor .cu-promo-banner__title{ font-size: clamp(1.42rem, 7.2vw, 1.85rem); }
  .cu-home-promo-lock-anchor .cu-promo-banner__summary{ font-size: .78rem; }
  .cu-home-v460__section{ padding: 3.2rem 0; }
  .cu-home-v460__inner,
.cu-home-v460-hero__content{ width: min(calc(100% - 24px), var(--cu-content-wide)); }
  .cu-home-v460 h2{ font-size: clamp(2.05rem, 9.5vw, 2.9rem); }
  .cu-home-v460-hero{ min-height: 510px; }
  .cu-home-v460-hero__shade{ background: linear-gradient(0deg,rgba(18,28,22,.68) 0%,rgba(18,28,22,.12) 72%); }
  .cu-home-v460-hero__content{ padding: 3.2rem 0 3rem; }
  .cu-home-v460-hero__content h1{ font-size: clamp(3.5rem, 18vw, 4.9rem); }
  .cu-home-v460-about__details{ grid-template-columns: 1fr 1fr; gap: .7rem; }
  .cu-home-v460-promotion{ padding-bottom: 3rem; }
  .cu-home-v460-life__mosaic{ grid-template-columns: 1fr 1fr; grid-template-rows: 220px 130px 130px 130px; }
  .cu-home-v460-life__tile--1{ grid-column:1/3; grid-row:1; }
  .cu-home-v460-life__tile--2{ grid-column:1; grid-row:2; }
  .cu-home-v460-life__tile--3{ grid-column:2; grid-row:2; }
  .cu-home-v460-life__tile--4{ grid-column:1; grid-row:3; }
  .cu-home-v460-life__tile--5{ grid-column:2; grid-row:3; }
  .cu-home-v460-life__tile--6{ grid-column:1; grid-row:4; }
  .cu-home-v460-life__tile--7{ grid-column:2; grid-row:4; }
  .cu-home-v460-scope{ grid-template-columns: 1fr; }
  .cu-home-v460-scope__media{ min-height: 220px; height: 220px; }
  .cu-home-v460-scope__body{ min-height: 0; }
  .cu-home-v460-scope__intro{ font-size: .82rem; }
  .cu-home-v460-scope__bullets li,
.cu-home-v460-scope__entity-list strong{ font-size: .78rem; }
  .cu-home-v460-scope__cta .cu-home-v460-link{ font-size: .7rem; }
  .cu-home-v460-guides__grid{ grid-template-columns: 1fr; }
  .cu-home-v460-guide-card{ display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); align-items: stretch; }
  .cu-home-v460-guide-card__media{ min-width: 0; height: 100%; aspect-ratio: auto; min-height: 168px; }
  .cu-home-v460-guide-card__body{ min-width: 0; min-height: 168px; overflow-wrap: break-word; }
  .cu-home-v460-guide-card__body strong,
  .cu-home-v460-guide-card__body small{ min-width: 0; max-width: 100%; }
  .cu-home-v460-overlay{ padding:.55rem; }
  .cu-home-v460-overlay__dialog{ max-height:calc(100svh - var(--cu-header-bottom) - 12px); border-radius:18px; }
  .cu-home-v460-overlay__head{ padding:1rem 1rem .85rem; }
  .cu-home-v460-overlay__content{ padding:.5rem 1rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .cu-home-v460 *,
.cu-home-v460 *::before,
.cu-home-v460 *::after{ scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* 4.6.32 editorial proportions: keep the opening image cinematic without
   turning it into a viewport-height banner, including on narrow screens. */
.cu-home-v460-about__main-media img{ object-position: center; }
.cu-home-v460-tour__media video{ display:block; width:100%; height:100%; object-fit:cover; }
@media (max-width: 760px) {
  .cu-home-v460-hero{ width: calc(100% - 20px); min-height: 390px; margin-top: 10px; border-radius: 15px; }
  .cu-home-v460-about__main-media{ aspect-ratio: 4 / 3; min-height: 0; }
}


/* --------------------------------------------------------------------------
   4.6.5 — Homepage image viewer uses the exact same bounded photo-stage model.
   The page behind remains sharp; arrows/X stay inside the fixed photo zone.
   -------------------------------------------------------------------------- */













@media (max-width: 800px) {
  
  
  
  
}


/* --------------------------------------------------------------------------
   4.6.16 — homepage scope readability + promo close + practical flip readiness
   -------------------------------------------------------------------------- */

/* Private / Shared / Public: increase supporting copy and list-point legibility
   without changing the approved three-card composition. */
.cu-home-v460-scopes .cu-home-v460-scope__intro{
  font-size: .86rem;
  line-height: 1.52;
}
.cu-home-v460-scopes .cu-home-v460-scope__bullets li{
  gap: .48rem;
  font-size: .82rem;
  line-height: 1.42;
}
.cu-home-v460-scopes .cu-home-v460-scope__bullets i{
  margin-top: .12rem;
  font-size: .76rem;
}
.cu-home-v460-scopes .cu-home-v460-scope__entity-list{
  gap: .42rem;
}
.cu-home-v460-scopes .cu-home-v460-scope__entity-list li{
  gap: .12rem;
  padding-bottom: .42rem;
}
.cu-home-v460-scopes .cu-home-v460-scope__entity-list strong{
  font-size: .82rem;
  line-height: 1.32;
}
.cu-home-v460-scopes .cu-home-v460-scope__entity-list span{
  font-size: .78rem;
  line-height: 1.48;
}

/* Practical cards stay static until a practical_card_back media usage exists.
   Once Core supplies a back image, the same markup automatically becomes a
   click/keyboard flip card without another frontend release. */
.cu-home-v460-practical__card-inner{
  min-height: inherit;
}
.cu-home-v460-practical__card:not(.is-flippable) .cu-home-v460-practical__face--front{
  min-height: inherit;
}
.cu-home-v460-practical__card.is-flippable{
  min-height: 248px;
  padding: 0;
  border: 0;
  background: transparent;
  perspective: var(--cu-flip-perspective,1100px);
  cursor: pointer;
}
.cu-home-v460-practical__card.is-flippable:focus-visible{
  outline: 0;
}
.cu-home-v460-practical__card.is-flippable:focus-visible .cu-home-v460-practical__card-inner{
  box-shadow: var(--cu-focus-ring);
}
.cu-home-v460-practical__card.is-flippable .cu-home-v460-practical__card-inner{
  position: relative;
  width: 100%;
  min-height: 248px;
  transform-style: preserve-3d;
  transition: transform var(--cu-flip-duration,.55s) var(--cu-flip-ease,cubic-bezier(.2,.7,.2,1));
}
.cu-home-v460-practical__card.is-flipped .cu-home-v460-practical__card-inner{
  transform: rotateY(180deg);
}
.cu-home-v460-practical__card.is-flippable .cu-home-v460-practical__face{
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 1px solid var(--cu-line);
  border-radius: 16px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.cu-home-v460-practical__card.is-flippable .cu-home-v460-practical__face--front{
  padding: 1.15rem 1rem 1.25rem;
  background: rgba(255,255,255,.58);
}
.cu-home-v460-practical__card.is-flippable .cu-home-v460-practical__face--back{
  transform: rotateY(180deg);
  background: var(--cu-sand);
}
.cu-home-v460-practical__card.is-flippable .cu-home-v460-practical__face--back picture,
.cu-home-v460-practical__card.is-flippable .cu-home-v460-practical__face--back img{
  display: block;
  width: 100%;
  height: 100%;
}
.cu-home-v460-practical__card.is-flippable .cu-home-v460-practical__face--back img{
  object-fit: cover;
  pointer-events: none;
}

@media (max-width: 760px) {
  .cu-home-v460-scopes .cu-home-v460-scope__intro{ font-size: .9rem; }
  .cu-home-v460-scopes .cu-home-v460-scope__bullets li,
.cu-home-v460-scopes .cu-home-v460-scope__entity-list strong{ font-size: .86rem; }
  .cu-home-v460-scopes .cu-home-v460-scope__entity-list span{ font-size: .82rem; }
  .cu-home-promo-lock-anchor .cu-promo-banner__dismiss{
    top: .22rem;
    right: .26rem;
    width: 40px;
    height: 40px;
    font-size: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cu-home-v460-practical__card.is-flippable .cu-home-v460-practical__card-inner{
    transition: none;
  }
}


/* --------------------------------------------------------------------------
   Destination Guides — all six Laguna guide families visible on the homepage
   -------------------------------------------------------------------------- */
.cu-home-v460-guide-card.is-pending{
  opacity: .76;
  cursor: default;
}
.cu-home-v460-guide-card.is-pending:hover{
  transform: none;
  box-shadow: none;
}
/* W5: a pending Guide destination is not a link, but its existing photo
   still opens the universal viewer. Show the same zoom affordance only
   above the clickable image, never across the Coming Soon card body. */
.cu-home-v460-guide-card.is-pending .cu-home-v460-guide-card__media img{
  cursor: zoom-in;
}
.cu-home-v460-guide-card__media-placeholder{
  display: block;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(circle at 70% 30%, rgba(169,109,53,.18), transparent 38%),
    linear-gradient(145deg,#e9e1d3,#d8cec0);
}
.cu-home-v460-guide-card__status{
  color: var(--cu-copper);
  font-size: .72rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}


/* =====================================================================
   5.0.221 — Homepage Laguna Guide family canonical responsive owner
   One owner for 6/3/2/1-column family geometry and the phone card's internal
   image/copy split. The zero-min grid tracks prevent intrinsic image width from
   pushing the copy column under the image at narrow widths.
   ===================================================================== */
.cu-home-v460-guides--editorial{
  background:#f2eee5;
}
.cu-home-v460-guides--editorial .cu-home-v460-guides__layout{
  display:block;
}
.cu-home-v460-guides--editorial .cu-home-v460-guides__intro{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:clamp(1rem,1.4vw,1.35rem);
}
.cu-home-v460-guides--editorial .cu-home-v460-heading--guides{
  width:100%;
  max-width:none;
  min-width:0;
  flex:1 1 auto;
  margin:0;
}
.cu-home-v460-guides--editorial .cu-home-v460-heading--guides h2{
  max-width:none;
  margin-bottom:.7rem;
  font-size:clamp(2.65rem,4.2vw,4.6rem);
  line-height:.98;
}
.cu-home-v460-guides--editorial .cu-home-v460-heading--guides .cu-home-v460-heading__body{
  max-width:none;
  font-size:.82rem;
  line-height:1.55;
}
.cu-home-v460-guides--editorial .cu-home-v460-guides__button{
  flex:0 0 auto;
  margin-top:2.35rem;
  padding:.78rem 1.2rem;
}
.cu-home-v460-guides--editorial .cu-home-v460-guides__grid--v2{
  grid-template-columns:repeat(var(--cu-home-guide-count,6),minmax(0,1fr));
  gap:clamp(.5rem,.65vw,.72rem);
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card{
  min-width:0;
  min-height:0;
  border-radius:12px;
  background:rgba(255,255,255,.76);
  box-shadow:0 3px 12px rgba(46,52,43,.025);
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card__media{
  min-width:0;
  aspect-ratio:1.32 / 1;
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card__body{
  min-width:0;
  min-height:170px;
  display:flex;
  flex-direction:column;
  gap:.46rem;
  padding:.92rem 1rem .9rem;
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  min-height:1.15rem;
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card__icon{
  flex:0 0 auto;
  font-size:.86rem;
  line-height:1;
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card__body strong{
  min-width:0;
  max-width:100%;
  margin:0;
  font-size:clamp(1.35rem,1.45vw,1.62rem);
  line-height:1.04;
  overflow-wrap:break-word;
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card__summary{
  min-width:0;
  max-width:100%;
  margin:0;
  color:#69736b;
  font-size:clamp(.82rem,.82vw,.92rem);
  font-weight:300;
  line-height:1.46;
  overflow-wrap:break-word;
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card__arrow{
  position:static;
  align-self:flex-start;
  margin-top:auto;
  font-size:1rem;
  line-height:1;
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card.is-pending{ opacity:.86; }
.cu-home-v460-guides--editorial .cu-home-v460-guide-card.is-guide-family{
  background:#edf0e8;
  border-color:rgba(64,83,68,.24);
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card.is-guide-family .cu-home-v460-guide-card__body{
  background:linear-gradient(180deg,rgba(64,83,68,.02),rgba(64,83,68,.07));
}
.cu-home-v460-guides--editorial .cu-home-v460-guide-card.is-guide-family .cu-home-v460-guide-card__icon,
.cu-home-v460-guides--editorial .cu-home-v460-guide-card.is-guide-family strong,
.cu-home-v460-guides--editorial .cu-home-v460-guide-card.is-guide-family .cu-home-v460-guide-card__arrow{
  color:var(--cu-green-deep);
}

@media (min-width:900px){
  .cu-home-v460-guides--editorial{
    padding-top:clamp(2rem,2.4vw,2.65rem);
    padding-bottom:1rem;
  }
  .cu-home-v460-guides--editorial .cu-home-v460-heading--guides .cu-home-v460-heading__body{
    white-space:nowrap;
    font-size:clamp(.68rem,.75vw,.82rem);
  }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__media{
    height:clamp(220px,15vw,270px);
    aspect-ratio:auto;
  }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__body{
    min-height:170px;
    padding:.92rem 1rem .9rem;
  }
}

@media (max-width:899px){
  .cu-home-v460-guides--editorial .cu-home-v460-guides__grid--v2{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.8rem;
  }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__media{ aspect-ratio:1.42 / 1; }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__body{
    min-height:142px;
    padding:.85rem .85rem 1.9rem;
  }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__body strong{ font-size:clamp(1.08rem,2.5vw,1.4rem); }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__summary{ font-size:.78rem; }
}

@media (max-width:820px){
  .cu-home-v460-guides--editorial .cu-home-v460-guides__intro{ display:block; }
  .cu-home-v460-guides--editorial .cu-home-v460-guides__button{ margin-top:1rem; }
  .cu-home-v460-guides--editorial .cu-home-v460-guides__grid--v2{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:600px){
  .cu-home-v460-guides--editorial .cu-home-v460-guides__grid--v2{
    grid-template-columns:1fr;
    gap:.72rem;
  }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    align-items:stretch;
  }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__media{
    min-width:0;
    height:100%;
    min-height:168px;
    aspect-ratio:auto;
  }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__body{
    min-width:0;
    min-height:168px;
    padding:.76rem .72rem 1.7rem;
  }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__body strong{
    font-size:clamp(1.08rem,5.2vw,1.28rem);
    line-height:1.06;
  }
  .cu-home-v460-guides--editorial .cu-home-v460-guide-card__summary{
    font-size:clamp(.74rem,3vw,.84rem);
    line-height:1.42;
  }
}

