
/* ==========================================================================
   Greenwood by Aldar — greenwoodaldar.com
   Yas Riva Reserve layout, recoloured forest green with a felt texture.
   ========================================================================== */
:root{
  --void:#0c1d14;
  --charcoal:#14291d;
  --elevated:#1b3526;
  --ink:#1a1c1f;

  --ivory:#f3efe8;
  --ivory-2:#ebe6dc;
  --snow:#f7f4ef;
  --stone:#c9c2b6;

  --champagne:#b8a078;
  --champagne-lt:#dec49c;
  --champagne-soft:rgba(184,160,120,.18);

  --text:#1a1c1f;
  --body:#4f535a;
  --mute:#8a8e96;

  --line:rgba(243,239,232,.13);
  --line-d:rgba(26,28,31,.10);

  --header:76px;
  --radius:2px;
  --shadow:0 24px 60px rgba(10,24,16,.18);
  --ease:cubic-bezier(.22,1,.36,1);

  --display:"Cormorant Garamond","Times New Roman",Georgia,serif;
  --sans:"Montserrat","Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ------------------------------------------------------------------ base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--ivory);
  color:var(--text);
  font-family:var(--sans);
  font-weight:400;
  font-size:1rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}

img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p{margin:0}

::selection{background:var(--champagne);color:var(--void)}
:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ------------------------------------------------------------- structure */
.wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:1.25rem}
.wrap-wide{width:100%;max-width:1400px;margin-inline:auto;padding-inline:1rem}

.section{padding:clamp(4.25rem,9vw,7.5rem) 0;display:flow-root}
.section.tight{padding:clamp(3rem,6vw,4.5rem) 0}
.section.alt{background:var(--ivory-2)}
.section.dark{background:var(--charcoal);color:var(--snow)}
.section.void{background:var(--void);color:var(--snow)}

@media (max-width:700px){
  .wrap,.wrap-wide{padding-inline:1.1rem}
  .section{padding:clamp(3rem,10vw,4.25rem) 0}
}

/* ------------------------------------------------------------ typography */
.eyebrow{
  display:inline-block;
  font-size:.66rem;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--champagne);
}
.dark .eyebrow,.void .eyebrow{color:var(--champagne-lt)}

.kicker{
  display:inline-flex;align-items:center;gap:.85rem;
  font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--champagne-lt);
}
.kicker::before{content:"";width:34px;height:1px;background:currentColor;opacity:.85}

.title{
  font-family:var(--display);
  font-size:clamp(2rem,4.2vw,3.35rem);
  font-weight:500;line-height:1.12;letter-spacing:-.015em;
  margin-top:.75rem;
  text-wrap:balance;
}
.title.lg{font-size:clamp(2.2rem,5.2vw,4.2rem);line-height:1.08}
.title.sm{font-size:clamp(1.6rem,3vw,2.35rem)}
@media (max-width:700px){.title{font-size:clamp(1.75rem,7.5vw,2.35rem)}}

.lede{max-width:38rem;margin-top:1.15rem;color:var(--body)}
.prose{max-width:40rem;color:var(--body)}
.prose p + p{margin-top:1rem}
.dark .lede,.dark .prose,.dark .muted,
.void .lede,.void .prose,.void .muted{color:rgba(247,244,239,.66)}
.muted{color:var(--body)}

.center{text-align:center}
.center .lede,.center .prose{margin-inline:auto}
.center .kicker::before{display:none}

.hairline{height:1px;background:var(--line-d);border:0;margin:0}
.dark .hairline,.void .hairline{background:var(--line)}

/* ---------------------------------------------------------------- buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.65rem;
  min-height:48px;padding:.85rem 1.65rem;
  border:1px solid transparent;border-radius:var(--radius);
  font-family:var(--sans);font-size:.68rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;
  transition:background-color .35s var(--ease),color .35s var(--ease),
             border-color .35s var(--ease),transform .35s var(--ease);
}
.btn:hover{transform:translateY(-1px)}
.btn-champagne{background:var(--champagne);color:var(--void);border-color:var(--champagne)}
.btn-champagne:hover{background:var(--champagne-lt);border-color:var(--champagne-lt)}
.btn-ghost{background:transparent;color:var(--snow);border-color:rgba(255,255,255,.32)}
.btn-ghost:hover{background:var(--snow);color:var(--void);border-color:var(--snow)}
.btn-line{background:transparent;border-color:rgba(26,28,31,.28);color:var(--text)}
.btn-line:hover{background:var(--void);color:var(--snow);border-color:var(--void)}
.btn-nav{min-height:40px;padding:.55rem 1.1rem;font-size:.65rem}
.btn-block{width:100%}

.icon-btn{
  width:44px;height:44px;border:1px solid var(--line-d);background:#fff;
  display:grid;place-items:center;cursor:pointer;border-radius:var(--radius);
  transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.icon-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.icon-btn:hover{background:var(--void);color:var(--snow);border-color:var(--void)}
.dark .icon-btn,.void .icon-btn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:var(--snow)}
.dark .icon-btn:hover,.void .icon-btn:hover{background:var(--champagne);color:var(--void);border-color:var(--champagne)}

.actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}
.actions.center{justify-content:center}

/* ----------------------------------------------------------------- header */
.header{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:var(--header);display:flex;align-items:center;
  border-bottom:1px solid transparent;
  transition:background-color .45s var(--ease),height .45s var(--ease),
             border-color .45s var(--ease),backdrop-filter .45s ease;
}
.header.is-on{
  background:rgba(10,24,16,.94);
  backdrop-filter:blur(16px) saturate(1.15);
  -webkit-backdrop-filter:blur(16px) saturate(1.15);
  border-bottom-color:var(--line);
  height:64px;
}
.header-inner{
  width:100%;max-width:1400px;margin-inline:auto;padding-inline:1rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.brand img{height:clamp(52px,5.4vw,76px);width:auto;transition:height .45s var(--ease)}
.brand-wordmark{
  font-family:var(--display);font-weight:400;line-height:1;
  font-size:clamp(1.1rem,1.6vw,1.5rem);letter-spacing:.06em;text-transform:uppercase;
  color:var(--ivory,#f3efe8);
}
.brand-wordmark em{display:block;font-style:italic;color:var(--champagne);font-size:.72em;letter-spacing:.14em;margin-top:.15em}
.footer-wordmark{font-family:var(--display);font-weight:400;font-size:1.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ivory,#f3efe8);line-height:1.15}
.footer-wordmark em{display:block;font-style:italic;color:var(--champagne);font-size:.68em;letter-spacing:.14em}
.header.is-on .brand img{height:clamp(30px,2.5vw,36px)}

.nav{display:flex;align-items:center;gap:1.5rem}
.nav-links{display:flex;gap:1.35rem;align-items:center}
.nav-links a{
  font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(247,244,239,.82);text-decoration:none;padding:4px 0;position:relative;
  white-space:nowrap;transition:color .3s var(--ease);
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--champagne);
  transform:scaleX(0);transform-origin:right center;transition:transform .4s var(--ease);
}
.nav-links a:hover{color:var(--snow)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left center}

.menu-btn{
  display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.22);
  background:transparent;color:#fff;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;cursor:pointer;border-radius:var(--radius);
}
.menu-btn span{display:block;width:18px;height:1px;background:currentColor;
  transition:transform .4s var(--ease),opacity .3s var(--ease)}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:960px){
  .nav-links,.nav .btn-nav{display:none!important}
  .menu-btn{display:inline-flex}
}

.mobile-nav{
  position:fixed;inset:0;z-index:920;background:var(--void);
  display:grid;place-items:center;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .45s var(--ease),visibility .45s var(--ease);
}
.mobile-nav.is-open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-nav nav{display:grid;gap:1.25rem;text-align:center;width:min(100% - 2.5rem,24rem);padding:1rem}
.mobile-nav a{
  font-family:var(--display);font-size:1.75rem;font-weight:500;
  color:var(--snow);text-decoration:none;transition:color .3s var(--ease);
}
.mobile-nav a:hover{color:var(--champagne)}
.mobile-nav a.btn{
  margin-top:1rem;width:100%;font-family:var(--sans);font-size:.7rem;
  color:var(--void);background:var(--champagne);border-color:var(--champagne);
}

/* ------------------------------------------------------------------- hero */
.hero{
  position:relative;min-height:100svh;
  display:grid;align-items:end;
  color:var(--snow);background:var(--void);overflow:hidden;
}
.hero-media{position:absolute;inset:0}
.hero-media img,.hero-media video{
  width:100%;height:100%;object-fit:cover;object-position:center 58%;
}
.hero-media img{
  transform:scale(1.07);animation:heroZoom 16s var(--ease) forwards;
}
.hero-media video{display:block}
@keyframes heroZoom{to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hero-media img{animation:none;transform:none}}

.hero-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(10,24,16,.82) 0%,rgba(10,24,16,.40) 52%,rgba(10,24,16,.58) 100%),
    linear-gradient(180deg,rgba(10,24,16,.52) 0%,rgba(10,24,16,.10) 34%,rgba(10,24,16,.80) 100%);
}
.hero-content{
  position:relative;z-index:2;
  width:100%;max-width:1400px;margin-inline:auto;
  padding:calc(var(--header) + 3.5rem) 1rem 4.5rem;
}
.hero h1{
  font-family:var(--display);font-weight:500;
  font-size:clamp(2.6rem,6.2vw,5rem);
  line-height:1.05;letter-spacing:-.01em;
  max-width:17ch;margin-top:1.6rem;
}
.hero .actions{margin-top:2.2rem}

.scroll-hint{
  position:absolute;right:1.75rem;bottom:2.75rem;z-index:2;
  display:inline-flex;flex-direction:column;align-items:center;gap:.75rem;
  font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(247,244,239,.6);text-decoration:none;
  writing-mode:vertical-rl;
}
.scroll-hint i{display:block;width:1px;height:52px;background:currentColor;
  transform-origin:top;animation:scrollPulse 2.4s var(--ease) infinite}
@keyframes scrollPulse{0%,100%{transform:scaleY(.35);opacity:.5}50%{transform:scaleY(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.scroll-hint i{animation:none}}

@media (max-width:760px){
  .hero-content{padding:calc(var(--header) + 1.75rem) 1.1rem 3.25rem}
  .hero h1{font-size:clamp(2rem,9.2vw,2.9rem);line-height:1.08;max-width:none}
  .hero .actions{margin-top:1.5rem;flex-direction:column;align-items:stretch}
  .hero .actions .btn{width:100%}
  .hero-veil{background:
    linear-gradient(180deg,rgba(10,24,16,.72) 0%,rgba(10,24,16,.34) 26%,rgba(10,24,16,.60) 62%,rgba(10,24,16,.92) 100%)}
  .scroll-hint{display:none}
}

/* ------------------------------------------------------------------ split */
.split{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
.split.top{align-items:start}
.split.reverse .split-media{order:2}
.split-media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}
@media (max-width:860px){
  .split{grid-template-columns:1fr;gap:clamp(1.75rem,6vw,2.5rem)}
  .split.reverse .split-media{order:0}
}

/* two-column: heading left, prose right */
.vision{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:860px){.vision{grid-template-columns:1fr;gap:1.5rem}}

/* --------------------------------------------------------- feature bands */
.feature-band{position:relative;overflow:hidden;background:var(--charcoal)}
/* show every render whole — no crop. Natural ratio, edge to edge. */
.feature-band img{width:100%;height:auto;display:block}
/* opt-in crop, for bands where a fixed strip is wanted */
.feature-band.crop img{height:clamp(320px,62vh,700px);object-fit:cover}

/* duo images */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.75rem,1.4vw,1.25rem)}
.duo img{width:100%;height:clamp(230px,40vh,480px);object-fit:cover;border-radius:var(--radius)}
@media (max-width:700px){.duo{grid-template-columns:1fr}.duo img{height:clamp(210px,36vh,320px)}}

/* -------------------------------------------------- oversized chapter type */
.chapter{font-family:var(--display);font-weight:500;line-height:.96;
  letter-spacing:-.02em;font-size:clamp(2.6rem,8.6vw,7.5rem);margin:0}
.chapter em{display:block;font-style:italic;color:var(--champagne);padding-left:.08em}

/* ================================================ hlx · ultra-lux highlights */

/* ---- section shell ---- */
.hlx-section{
  position:relative;
  background:var(--void);
  color:var(--snow);
  padding:clamp(5rem,10vw,9rem) 0 clamp(4rem,8vw,7rem);
  overflow:hidden;
}

/* ---- ambient background ---- */
.hlx-bg{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.hlx-bg-grid{
  position:absolute;inset:0;width:100%;height:100%;
  opacity:1;
}
.hlx-bg-glow{
  position:absolute;border-radius:50%;
  filter:blur(110px);pointer-events:none;
}
.hlx-bg-glow--a{
  width:55vw;height:55vw;max-width:700px;max-height:700px;
  top:-18%;left:-14%;
  background:radial-gradient(circle,rgba(184,160,120,.11) 0%,transparent 70%);
  animation:hlxDrift 18s ease-in-out infinite alternate;
}
.hlx-bg-glow--b{
  width:45vw;height:45vw;max-width:600px;max-height:600px;
  bottom:-20%;right:-10%;
  background:radial-gradient(circle,rgba(184,160,120,.09) 0%,transparent 70%);
  animation:hlxDrift 22s ease-in-out infinite alternate-reverse;
}
@keyframes hlxDrift{
  from{transform:translate(0,0) scale(1)}
  to{transform:translate(3%,3%) scale(1.06)}
}
@media (prefers-reduced-motion:reduce){
  .hlx-bg-glow{animation:none}
}

/* ---- section header ---- */
.hlx-section .wrap{position:relative;z-index:1}
.hlx-header{
  text-align:center;
  margin-bottom:clamp(3rem,6vw,5.5rem);
}
.hlx-ornament{
  display:flex;justify-content:center;
  margin-bottom:1.4rem;
  opacity:.7;
}
.hlx-eyebrow{
  display:block;
  font-family:var(--sans);font-weight:600;
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--champagne);
  margin-bottom:1.1rem;
}
.hlx-eyebrow::before,.hlx-eyebrow::after{
  content:"";display:inline-block;
  width:clamp(1.5rem,4vw,3rem);height:1px;
  background:var(--champagne);opacity:.5;
  vertical-align:middle;margin:0 .9em;
}
.hlx-title{
  font-family:var(--display);font-weight:500;
  font-size:clamp(2.4rem,5.5vw,4.4rem);
  line-height:1.08;letter-spacing:-.02em;
  color:var(--snow);
  margin:0 auto;max-width:18ch;
}
.hlx-title em{
  font-style:italic;
  background:linear-gradient(135deg,var(--champagne-lt) 0%,var(--champagne) 55%,#9a7d52 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hlx-subtitle{
  margin-top:1.1rem;
  font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(247,244,239,.38);
  font-family:var(--sans);font-weight:400;
}

/* ---- card grid ---- */
.hlx-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.5px;
  background:rgba(184,160,120,.13);
  border:1.5px solid rgba(184,160,120,.13);
}

/* ---- individual card ---- */
.hlx-card{
  position:relative;
  background:rgba(10,24,16,.72);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  overflow:hidden;
  cursor:default;
  transition:background .5s var(--ease);
}
.hlx-card:hover{
  background:rgba(14,22,38,.82);
}

.hlx-card-inner{
  position:relative;z-index:2;
  padding:clamp(2.2rem,4.5vw,3.6rem) clamp(2rem,4vw,3.2rem);
  display:flex;flex-direction:column;
  gap:1.35rem;
  height:100%;
}

/* ghost oversized numeral */
.hlx-ghost{
  position:absolute;
  top:clamp(-1rem,-.5vw,-.25rem);
  right:clamp(-.5rem,1vw,.5rem);
  font-family:var(--display);font-weight:500;
  font-size:clamp(6rem,12vw,11rem);
  line-height:.8;letter-spacing:-.04em;
  color:transparent;
  -webkit-text-stroke:1px rgba(184,160,120,.12);
  text-stroke:1px rgba(184,160,120,.12);
  user-select:none;pointer-events:none;
  transition:-webkit-text-stroke-color .5s var(--ease);
}
.hlx-card:hover .hlx-ghost{
  -webkit-text-stroke-color:rgba(184,160,120,.22);
}

/* icon circle */
.hlx-card-top{
  display:flex;align-items:center;gap:1.2rem;
}
.hlx-icon-wrap{
  flex-shrink:0;
  width:clamp(2.8rem,5vw,3.6rem);
  height:clamp(2.8rem,5vw,3.6rem);
  display:flex;align-items:center;justify-content:center;
  color:var(--champagne);
  background:rgba(184,160,120,.06);
  border:1px solid rgba(184,160,120,.2);
  border-radius:50%;
  transition:background .4s var(--ease),border-color .4s var(--ease),transform .5s var(--ease);
}
.hlx-card:hover .hlx-icon-wrap{
  background:rgba(184,160,120,.13);
  border-color:rgba(184,160,120,.45);
  transform:scale(1.07) rotate(5deg);
}
.hlx-icon{
  width:58%;height:58%;
  display:block;
}

.hlx-card-title{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.35rem,2.5vw,1.85rem);
  line-height:1.18;letter-spacing:-.01em;
  color:var(--snow);
  transition:color .35s var(--ease);
}
.hlx-card:hover .hlx-card-title{color:var(--champagne-lt)}

.hlx-card-body{
  font-family:var(--sans);font-size:.875rem;
  line-height:1.8;
  color:rgba(247,244,239,.55);
  max-width:38ch;
  flex:1;
  transition:color .35s var(--ease);
}
.hlx-card:hover .hlx-card-body{color:rgba(247,244,239,.75)}

/* pill tags */
.hlx-card-footer{
  display:flex;flex-wrap:wrap;gap:.5rem;
  margin-top:.3rem;
}
.hlx-tag{
  display:inline-block;
  font-family:var(--sans);font-size:.55rem;
  font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--champagne);
  border:1px solid rgba(184,160,120,.28);
  padding:.28em .9em;
  border-radius:99px;
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.hlx-card:hover .hlx-tag{
  background:rgba(184,160,120,.1);
  border-color:rgba(184,160,120,.55);
}

/* ---- animated border trace ---- */
/* Four-sided "drawing" border using clip-path trick via pseudo-element and SVG outline */
.hlx-border-trace{
  position:absolute;inset:0;pointer-events:none;z-index:3;
}
.hlx-border-trace::before,
.hlx-border-trace::after{
  content:"";
  position:absolute;
  background:linear-gradient(90deg,var(--champagne-lt),var(--champagne),var(--champagne-lt));
  opacity:0;
  transition:opacity .4s var(--ease);
}
/* top + bottom bars */
.hlx-border-trace::before{
  top:0;left:0;right:0;height:1px;
  transform:scaleX(0);transform-origin:left center;
  transition:transform .7s var(--ease),opacity .3s var(--ease);
}
.hlx-border-trace::after{
  bottom:0;left:0;right:0;height:1px;
  transform:scaleX(0);transform-origin:right center;
  transition:transform .7s var(--ease) .1s,opacity .3s var(--ease);
}
.hlx-card:hover .hlx-border-trace::before,
.hlx-card:hover .hlx-border-trace::after{
  transform:scaleX(1);opacity:1;
}
/* left + right bars via box-shadow technique */
.hlx-card::before,.hlx-card::after{
  content:"";
  position:absolute;
  width:1px;
  background:linear-gradient(180deg,var(--champagne-lt),var(--champagne),var(--champagne-lt));
  opacity:0;
  transition:opacity .3s var(--ease),transform .7s var(--ease);
  z-index:3;
}
.hlx-card::before{
  left:0;top:0;bottom:0;
  transform:scaleY(0);transform-origin:top center;
  transition:transform .7s var(--ease) .05s,opacity .3s var(--ease);
}
.hlx-card::after{
  right:0;top:0;bottom:0;
  transform:scaleY(0);transform-origin:bottom center;
  transition:transform .7s var(--ease) .15s,opacity .3s var(--ease);
}
.hlx-card:hover::before,
.hlx-card:hover::after{
  transform:scaleY(1);opacity:1;
}

/* bottom ornament */
.hlx-bottom-ornament{
  display:flex;justify-content:center;
  margin-top:clamp(3rem,5.5vw,4.5rem);
  opacity:.6;
}

/* ---- responsive ---- */
@media (max-width:860px){
  .hlx-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .hlx-card-inner{padding:2rem 1.5rem}
  .hlx-ghost{font-size:5.5rem}
  .hlx-title{font-size:clamp(2rem,8vw,2.8rem)}
}

/* -------------------------------------------------------- unit schedule */
.schedule{background:var(--ivory-2)}

.sched{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-d)}

.sched-row{
  position:relative;
  display:grid;
  grid-template-columns:1.5fr .85fr .85fr;
  grid-template-areas:
    "name  size  price"
    "note  note  note";
  column-gap:clamp(1rem,2.5vw,2.5rem);
  padding:clamp(1.5rem,2.8vw,2.15rem) 0;
  border-bottom:1px solid var(--line-d);
  transition:padding-left .5s var(--ease);
}
.sched-row:hover{padding-left:clamp(.5rem,1.2vw,1.1rem)}

/* champagne hairline that draws across on hover */
.sched-row::after{
  content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;
  background:var(--champagne);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .55s var(--ease);
}
.sched-row:hover::after{transform:scaleX(1)}

.sched-name{
  grid-area:name;align-self:center;
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.35rem,2.3vw,1.9rem);
  line-height:1.2;letter-spacing:-.01em;color:var(--text);
}

.sched-spec{display:flex;flex-direction:column;justify-content:center;gap:.3rem}
.sched-spec:nth-of-type(1){grid-area:size}
.sched-spec:nth-of-type(2){grid-area:price}
.sched-spec dt{
  font-size:.58rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mute);
}
.sched-spec dd{
  margin:0;font-family:var(--display);
  font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.1;
  color:var(--champagne);white-space:nowrap;
}

.sched-note{grid-area:note;margin-top:.75rem;max-width:62ch}
.sched-note p{color:var(--body);font-size:.93rem;line-height:1.65}

@media (max-width:760px){
  .sched-row{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "name  name"
      "size  price"
      "note  note";
    row-gap:.9rem;
  }
  .sched-row:hover{padding-left:0}
  .sched-note{margin-top:.25rem}
}

/* -------------------------------------------------------------- amenities */
.amenities .eyebrow-rule{margin-bottom:clamp(2rem,4vw,3.25rem)}

.am-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(2.25rem,4vw,3.25rem) clamp(1.5rem,2.6vw,2.25rem);
}

.am-media{
  position:relative;margin:0 0 clamp(1rem,1.8vw,1.35rem);
  overflow:hidden;border-radius:2px;
}
.am-media img{
  width:100%;aspect-ratio:16/9;object-fit:cover;display:block;
  transition:transform 1.1s var(--ease);
}
.am-card:hover .am-media img{transform:scale(1.05)}
.am-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,24,16,0) 55%,rgba(10,24,16,.65) 100%);
  pointer-events:none;
}
.am-num{
  position:absolute;left:.85rem;bottom:.6rem;z-index:2;
  font-family:var(--display);font-size:.95rem;letter-spacing:.06em;
  color:rgba(247,244,239,.85);
}

.am-card{display:flex;flex-direction:column}
.am-card h3{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.2rem,1.9vw,1.5rem);
  line-height:1.25;color:var(--snow);
  margin-bottom:clamp(.85rem,1.4vw,1.1rem);
  /* reserve two lines so every list in a row starts on the same baseline */
  min-height:calc(2 * 1.25em);
}
@media (max-width:620px){.am-card h3{min-height:0}}

.am-list{list-style:none;margin:0;padding:0}
.am-list li{
  display:flex;gap:.8rem;
  padding:.42rem 0;
  font-size:.66rem;font-weight:400;letter-spacing:.09em;
  line-height:1.75;text-transform:uppercase;
  color:rgba(247,244,239,.62);
}
/* flex-basis fixes every dash to exactly the same length, whatever the item wraps to */
.am-list li::before{
  content:"";flex:0 0 12px;height:1px;margin-top:.85em;
  background:var(--champagne);
}

/* group 6 is prose in the source copy, so it stays sentence case */
.am-prose{padding-top:.1rem}
.am-prose p{
  font-size:.88rem;line-height:1.7;color:rgba(247,244,239,.62);
}
.am-prose p + p{margin-top:.85rem}

@media (max-width:900px){
  .am-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .am-grid{grid-template-columns:1fr;gap:2.25rem}
}

/* ---------------------------------------------------------------- gallery */
.gallery-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;
  gap:1.25rem;margin-bottom:1.35rem}
.gallery-stage{position:relative;overflow:hidden;background:var(--charcoal);
  aspect-ratio:16/9;border-radius:var(--radius)}
.gallery-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.03);
  transition:opacity .55s var(--ease),transform .9s var(--ease)}
.gallery-stage img.is-active{opacity:1;transform:scale(1)}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;
  margin-top:1.1rem;gap:1rem}
.gallery-counter{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.dark .gallery-counter,.void .gallery-counter{color:rgba(247,244,239,.55)}
.gallery-nav{display:flex;gap:.5rem}
@media (max-width:700px){.gallery-stage{aspect-ratio:4/3}}

/* ------------------------------------------------------------ pull quote */
.pullquote{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line-d)}
.dark .pullquote,.void .pullquote{border-top-color:var(--line)}
.pullquote p{font-family:var(--display);font-weight:500;
  font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.35;max-width:24ch;
  color:var(--text);margin-top:.75rem}
.dark .pullquote p,.void .pullquote p{color:var(--snow)}

/* ------------------------------------------------------------------ forms */
.form-card{background:#fff;border:1px solid var(--line-d);
  padding:clamp(1.5rem,3vw,2.35rem);border-radius:var(--radius)}
.fields{display:grid;gap:1rem;margin-top:1.5rem}
.field label{display:block;font-size:.6rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mute);margin-bottom:.4rem}
.field input{
  width:100%;min-height:48px;padding:.7rem .9rem;
  background:var(--ivory);border:1px solid var(--line-d);border-radius:var(--radius);
  font-family:var(--sans);font-size:1rem;color:var(--text);
  transition:border-color .3s var(--ease),background-color .3s var(--ease);
}
.field input:focus{outline:0;border-color:var(--champagne);background:#fff}
.field input::placeholder{color:var(--mute)}

.choice-group > p{font-size:.6rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mute);margin-bottom:.6rem}
.choices{display:flex;flex-wrap:wrap;gap:.5rem}
.choice{position:relative}
.choice input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.choice span{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 1.05rem;border:1px solid var(--line-d);border-radius:var(--radius);
  font-size:.63rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--body);cursor:pointer;
  transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.choice input:hover + span{border-color:rgba(26,28,31,.3)}
.choice input:checked + span{background:var(--void);border-color:var(--void);color:var(--champagne)}
.choice input:focus-visible + span{outline:2px solid var(--champagne);outline-offset:3px}

.form-note{margin-top:.85rem;font-size:.82rem;color:var(--mute);text-align:center}
.form-status{margin-top:.6rem;font-size:.9rem;line-height:1.5;min-height:1.2em}
.form-status.is-error{color:#a3231b}
.form-status.is-ok{color:#1f6b4f}
.hp{position:absolute!important;left:-9999px!important;width:0;height:0;opacity:0}

/* -------------------------------------------------------------- enquiry */
.enquire{background:var(--snow);color:var(--text);padding-block:clamp(3.5rem,7vw,6.5rem)}

.enquire-grid{
  display:grid;grid-template-columns:1fr 1.15fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
.enquire-copy .eyebrow-rule{margin-bottom:clamp(1rem,2vw,1.5rem)}
.enquire-copy .eyebrow-rule::after{display:none}
.enquire-copy .title{max-width:13ch}
.enquire-copy .lede{margin-top:1.15rem;max-width:38ch;color:var(--body)}

/* card */
.enquire .form-card{
  background:#fff;border:1px solid rgba(26,28,31,.06);
  border-radius:16px;padding:clamp(1.5rem,3vw,2.5rem);
  box-shadow:0 30px 70px -35px rgba(26,28,31,.18);
}

/* two-up field grid */
.fields-2{grid-template-columns:1fr 1fr;column-gap:clamp(.85rem,1.6vw,1.15rem)}
.fields-2 .field-full{grid-column:1 / -1}
@media (max-width:560px){.fields-2{grid-template-columns:1fr}}

/* rounded, filled inputs */
.enquire .field label{
  font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);margin-bottom:.45rem;
}
.enquire .field input,
.enquire .field select{
  width:100%;min-height:54px;
  padding:.8rem 1rem;
  background:#f4f3f1;border:1px solid rgba(26,28,31,.12);border-radius:9px;
  font-family:var(--sans);font-size:1rem;color:var(--text);
  transition:border-color .3s var(--ease),background-color .3s var(--ease);
}
.enquire .field select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8e96' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .85rem center;background-size:16px;
  padding-right:2.4rem;
}
.enquire .field input:focus,
.enquire .field select:focus{outline:0;border-color:var(--champagne);background:#fff}
.enquire .field input::placeholder{color:#b3b7bd}

/* dial code + number */
/* dial code + number read as one field, as in the reference */
.phone{
  position:relative;
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;
  background:#f4f3f1;border:1px solid rgba(26,28,31,.12);border-radius:9px;
  transition:border-color .3s var(--ease),background-color .3s var(--ease);
}
.phone:focus-within{border-color:var(--champagne);background:#fff}
.enquire .phone input[type=tel],
.modal .phone input[type=tel]{
  background:transparent;border:0;border-radius:0 9px 9px 0;min-height:54px;
}
.enquire .phone input[type=tel]:focus{background:transparent}

.dial{position:relative;display:flex}
.dial-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  min-height:54px;padding:0 .85rem 0 1rem;
  background:transparent;border:0;border-right:1px solid rgba(26,28,31,.10);
  cursor:pointer;font-family:var(--sans);font-size:1rem;color:var(--text);
}
.dial-flag{font-size:1.05rem;line-height:1}
.dial-code{font-weight:500;letter-spacing:.01em}
.dial-btn svg{width:14px;height:14px;fill:none;stroke:var(--mute);stroke-width:1.8;
  transition:transform .3s var(--ease)}
.dial-btn[aria-expanded="true"] svg{transform:rotate(180deg)}

.dial-pop{
  position:absolute;top:calc(100% + .4rem);left:0;z-index:40;
  width:min(21rem,78vw);
  background:#fff;border:1px solid rgba(26,28,31,.10);border-radius:10px;
  box-shadow:0 24px 60px -20px rgba(26,28,31,.28);
  overflow:hidden;
}
.dial-search{
  width:100%;min-height:46px;padding:.7rem .95rem;
  border:0;border-bottom:1px solid rgba(26,28,31,.08);
  font-family:var(--sans);font-size:.92rem;color:var(--text);
}
.dial-search:focus{outline:0;background:#faf9f7}
.dial-list{
  list-style:none;margin:0;padding:.25rem;
  max-height:16rem;overflow-y:auto;overscroll-behavior:contain;
}
.dial-list li{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;
  padding:.5rem .7rem;border-radius:6px;cursor:pointer;
  font-size:.9rem;color:var(--text);
}
.dial-list li[hidden]{display:none}
.dial-list li:hover,.dial-list li.is-active{background:#f4f3f1}
.dial-list li[aria-selected="true"]{color:var(--champagne);font-weight:500}
.dial-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dial-num{color:var(--mute);font-size:.84rem}
.dial-empty{padding:.9rem 1rem;font-size:.88rem;color:var(--mute)}

/* dark submit, as in the reference */
.btn-dark{
  background:var(--void);color:var(--snow);border-color:var(--void);
  border-radius:9px;min-height:54px;
}
.btn-dark:hover{background:var(--charcoal);border-color:var(--charcoal);color:var(--champagne)}

.enquire .form-status{margin-top:.6rem;text-align:center}
.enquire .form-note{margin-top:.75rem}

@media (max-width:860px){
  .enquire-grid{grid-template-columns:1fr;gap:clamp(1.5rem,5vw,2.25rem)}
  .enquire-copy .title{max-width:none}
  .enquire-copy .lede{max-width:none}
}

/* ----------------------------------------------------------------- footer */
.footer{background:var(--void);color:rgba(247,244,239,.6);
  padding:clamp(3rem,6vw,4.5rem) 0 2rem}
.footer-top{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:start}
.footer-mark{height:90px;width:auto}
.footer-nav{display:flex;flex-wrap:wrap;gap:.85rem 1.35rem;align-content:start}
.footer-nav a{font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(247,244,239,.72);text-decoration:none;transition:color .3s var(--ease)}
.footer-nav a:hover{color:var(--champagne)}
.footer-disclaimer{margin-top:clamp(2rem,4vw,3rem);padding-top:1.5rem;border-top:1px solid var(--line)}
.footer-disclaimer .eyebrow{margin-bottom:.75rem}
.footer-disclaimer p{font-size:.78rem;line-height:1.75;color:rgba(247,244,239,.5)}
.footer-bottom{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line);
  font-size:.72rem;color:rgba(247,244,239,.45)}

/* ------------------------------------------------------------- sticky cta */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:880;display:none;
  padding:.7rem 1.1rem calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(10,24,16,.96);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--line);
  transform:translateY(110%);transition:transform .5s var(--ease);
}
.sticky-cta.is-visible{transform:none}
.sticky-cta .btn{width:100%;box-shadow:var(--shadow)}
@media (max-width:960px){
  .sticky-cta{display:block}
  .footer{padding-bottom:calc(2rem + 76px + env(safe-area-inset-bottom))}
}

/* ----------------------------------------------------------------- modals */
/* flex + margin:auto centres the panel without clipping its top when it
   overflows, and lets the scroll live here so the dial popup is not cut off */
.modal{position:fixed;inset:0;z-index:950;display:flex;align-items:center;justify-content:center;
  overflow-y:auto;overscroll-behavior:contain;
  padding:clamp(.9rem,3vw,2rem);opacity:0;visibility:hidden;
  transition:opacity .4s var(--ease),visibility .4s var(--ease)}
.modal.is-open{opacity:1;visibility:visible}
.modal-scrim{position:absolute;inset:0;background:rgba(10,24,16,.74);backdrop-filter:blur(6px)}
.modal-panel{
  position:relative;width:min(620px,100%);margin:auto;overflow:visible;
  /* white, like the register card — on --snow the #f4f3f1 fields disappeared */
  background:#fff;border-radius:16px;
  transform:translateY(20px) scale(.985);transition:transform .45s var(--ease);
  box-shadow:0 50px 120px -40px rgba(10,24,16,.7);
}
.modal.is-open .modal-panel{transform:none}
/* no-image variant — narrower, centred */
.modal-panel--no-media{width:min(480px,100%)}
.modal-body{padding:clamp(1.5rem,3.5vw,2.5rem)}
.modal-body .title{margin-top:0;margin-bottom:clamp(1.1rem,2.5vw,1.6rem)}
.modal-close{position:absolute;top:.7rem;right:.7rem;z-index:3;
  width:40px;height:40px;border:0;background:rgba(26,28,31,.06);cursor:pointer;
  display:grid;place-items:center;border-radius:8px;color:var(--body);
  transition:background-color .3s var(--ease),color .3s var(--ease)}
.modal-close:hover{background:var(--void);color:var(--champagne)}
.modal-close svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.5;fill:none}

/* the card styling lives on the section; inside a modal the panel already is the card */
.modal .form-card{background:transparent;border:0;padding:0;border-radius:0;box-shadow:none}
.modal .fields{margin-top:0}

/* modal forms use the same controls as the register section */
.modal .field label{
  font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);margin-bottom:.45rem;
}
.modal .field input:not([type=hidden]):not(.hp),
.modal .field select{
  width:100%;min-height:54px;padding:.8rem 1rem;
  background:#f4f3f1;border:1px solid rgba(26,28,31,.12);border-radius:9px;
  font-family:var(--sans);font-size:1rem;color:var(--text);
  transition:border-color .3s var(--ease),background-color .3s var(--ease);
}
.modal .field select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8e96' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .85rem center;background-size:16px;
  padding-right:2.4rem;
}
.modal .field input:focus,.modal .field select:focus{outline:0;border-color:var(--champagne);background:#fff}
.modal .field input::placeholder{color:#b3b7bd}
.modal .phone input[type=tel]{background:transparent;border:0;border-radius:0 9px 9px 0}
.modal .phone input[type=tel]:focus{background:transparent}
.modal .dial-list{max-height:12.5rem}
.modal .form-status{margin-top:.6rem;text-align:center}
.modal .form-note{margin-top:.75rem}

@media (max-width:560px){
  .modal-panel{width:100%}
}

/* ----------------------------------------------------------------- reveal */
.reveal{opacity:0;transform:translateY(24px);
  transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}
.reveal.d2{transition-delay:.16s}
.reveal.d3{transition-delay:.24s}
.reveal.d4{transition-delay:.32s}
.reveal.d5{transition-delay:.40s}
.reveal.d6{transition-delay:.48s}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* ------------------------------------------------------- statement band */
.statement{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--void);color:var(--snow);
  padding:clamp(5rem,11vw,9.5rem) 0;
  text-align:center;
}
/* soft champagne bloom so the flat ground reads as lit, not painted */
.statement-glow{
  position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(120% 78% at 50% 0%,rgba(184,160,120,.16) 0%,rgba(184,160,120,0) 62%),
    radial-gradient(90% 60% at 50% 100%,rgba(184,160,120,.09) 0%,rgba(184,160,120,0) 70%);
}
.statement .wrap{max-width:1000px}

.statement-text{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(1.3rem,2.5vw,2.05rem);
  line-height:1.55;
  letter-spacing:-.005em;
  color:rgba(247,244,239,.94);
  max-width:42ch;
  margin-inline:auto;
  text-wrap:pretty;
}
.statement-text::first-line{color:#fff}

/* hairline + diamond, drawn not typed */
.ornament{
  display:block;width:min(240px,54%);height:9px;margin:0 auto;
  position:relative;
}
.ornament::before{
  content:"";position:absolute;top:50%;left:0;right:0;height:1px;
  background:linear-gradient(90deg,
    rgba(184,160,120,0) 0%,rgba(184,160,120,.55) 22%,
    rgba(184,160,120,.55) 78%,rgba(184,160,120,0) 100%);
}
.ornament::after{
  content:"";position:absolute;top:50%;left:50%;
  width:7px;height:7px;margin:-3.5px 0 0 -3.5px;
  background:var(--champagne);transform:rotate(45deg);
}
.statement .ornament:first-of-type{margin-bottom:clamp(1.75rem,3.4vw,2.75rem)}
.statement .ornament:last-of-type{margin-top:clamp(1.75rem,3.4vw,2.75rem)}

@media (max-width:700px){
  .statement{padding:clamp(3.5rem,13vw,5rem) 0}
  .statement-text{font-size:clamp(1.15rem,5.4vw,1.5rem);line-height:1.5;max-width:28ch}
}

/* -------------------------------------------------------------- location */
.location{background:var(--void);color:var(--snow)}
.location .prose{color:rgba(247,244,239,.62);max-width:56ch;margin-inline:auto;margin-top:1.15rem}
.location .title{max-width:22ch;margin-inline:auto}

/* eyebrow flanked by hairlines */
.eyebrow-rule{
  display:inline-flex;align-items:center;gap:1rem;
  font-size:.66rem;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--champagne);
}
.eyebrow-rule::before,.eyebrow-rule::after{
  content:"";width:clamp(28px,5vw,64px);height:1px;background:currentColor;opacity:.75;
}

/* map fades into the ground rather than stopping at a hard edge */
.location-map{
  margin:clamp(2.25rem,5vw,3.5rem) 0 0;
  border-radius:10px;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.location-map img{width:100%;display:block}
.location-map iframe{
  display:block;width:100%;height:clamp(320px,46vh,520px);border:0;
  /* the embed ships light; tone it down so it sits in the dark section */
  filter:grayscale(.35) contrast(1.05) brightness(.88);
}

.dest-grid{
  list-style:none;margin:clamp(1.5rem,3vw,2.25rem) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);   /* 3 + 3, even rows */
  gap:clamp(.7rem,1.2vw,1rem);
}
@media (max-width:920px){.dest-grid{grid-template-columns:repeat(2,1fr)}}
.dest{
  display:flex;align-items:center;gap:1rem;
  padding:1rem 1.15rem;border-radius:10px;
  background:var(--charcoal);border:1px solid rgba(255,255,255,.06);
  transition:background-color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);
}
.dest:hover{background:var(--elevated);border-color:var(--champagne-soft);transform:translateY(-2px)}
.dest-icon{
  flex:0 0 auto;width:42px;height:42px;border-radius:9px;
  display:grid;place-items:center;
  background:rgba(184,160,120,.12);border:1px solid rgba(184,160,120,.22);
}
.dest-icon svg{width:19px;height:19px;fill:var(--champagne)}
.dest-icon svg circle{fill:var(--void)}
.dest h3{font-family:var(--sans);font-size:.95rem;font-weight:600;line-height:1.3;color:var(--snow)}
.dest p{margin-top:.15rem;font-size:.82rem;color:rgba(247,244,239,.52)}

@media (max-width:700px){
  .location .title{max-width:none}
  .dest-grid{grid-template-columns:1fr}
}

/* ------------------------------------------------- pricing / payment plan */
.pricing-sec{background:var(--void);color:var(--snow)}
.pricing-head .title{max-width:24ch;margin-inline:auto}

.price-table-wrap{
  margin:clamp(2.25rem,5vw,3rem) auto 0;
  max-width:760px;overflow-x:auto;
  border:1px solid rgba(255,255,255,.1);border-radius:10px;
}
.price-table{width:100%;border-collapse:collapse;min-width:520px;font-size:.92rem}
.price-table th,.price-table td{padding:.9rem 1.1rem;text-align:center}
.price-table th{
  font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--champagne);background:var(--charcoal);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.price-table td{color:rgba(247,244,239,.82);border-bottom:1px solid rgba(255,255,255,.06)}
.price-table tbody tr:last-child td{border-bottom:0}
.price-table td:first-child{font-weight:600;color:var(--snow);text-align:left}
.price-table th:first-child{text-align:left}

.price-note{
  margin:1.25rem auto 0;text-align:center;max-width:40ch;
  font-size:.8rem;letter-spacing:.03em;color:rgba(247,244,239,.6);
}

.waiver-row{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:clamp(1.25rem,4vw,2.75rem);
  margin:clamp(2.5rem,5vw,3.5rem) auto 0;
}
.waiver{text-align:center}
.waiver-num{
  display:block;font-family:var(--display);font-size:clamp(1.6rem,3.2vw,2.15rem);
  color:var(--champagne-lt);line-height:1.1;
}
.waiver-label{
  display:block;margin-top:.3rem;font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(247,244,239,.6);
}
.waiver-div{width:1px;height:38px;background:rgba(255,255,255,.14)}
@media (max-width:560px){.waiver-div{display:none}}

.payment-plan{margin:clamp(3rem,6vw,4rem) 0 0;text-align:center}
.pp-title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--snow);
  margin-bottom:clamp(2rem,4vw,2.75rem);
}

/* connected timeline: dots on a hairline, percentages above, labels below */
.pp-timeline{
  position:relative;
  display:flex;align-items:flex-start;justify-content:space-between;
  max-width:760px;margin-inline:auto;
}
.pp-timeline::before{
  content:"";position:absolute;left:0;right:0;top:2.05rem;height:1px;
  background:linear-gradient(90deg,rgba(184,160,120,0),var(--champagne) 12%,var(--champagne) 88%,rgba(184,160,120,0));
  z-index:0;
}
.pp-node{
  position:relative;z-index:1;flex:1;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding-inline:.35rem;
}
.pp-pct{
  font-family:var(--display);font-weight:400;
  font-size:clamp(1.05rem,2.2vw,1.45rem);color:var(--snow);
  margin-bottom:.85rem;white-space:nowrap;
}
.pp-dot{
  width:10px;height:10px;border-radius:50%;background:var(--champagne);
  box-shadow:0 0 0 5px var(--void);margin-bottom:.85rem;
}
.pp-label{font-size:.66rem;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;color:rgba(247,244,239,.55)}

@media (max-width:700px){
  .pp-timeline{flex-direction:column;align-items:stretch;gap:0;max-width:none}
  .pp-timeline::before{left:5px;right:auto;top:0;bottom:0;width:1px;height:auto;background:rgba(184,160,120,.4)}
  .pp-node{
    flex-direction:row;align-items:center;text-align:left;
    gap:1rem;padding:1rem 0;padding-inline:0;
  }
  .pp-pct{order:2;margin-bottom:0;min-width:4.5rem}
  .pp-dot{order:1;margin-bottom:0;margin-left:0;flex:0 0 auto}
  .pp-label{order:3;flex:1}
}

@media (max-width:640px){
  .price-table-wrap{overflow-x:visible}
  .price-table{min-width:0;display:block}
  .price-table thead{display:none}
  .price-table tbody{display:block}
  .price-table tr{display:block;border-bottom:1px solid rgba(255,255,255,.1)}
  .price-table tbody tr:last-child{border-bottom:0}
  .price-table td{
    display:flex;align-items:center;justify-content:space-between;
    text-align:right;border-bottom:1px solid rgba(255,255,255,.06);
    padding:.65rem 1.1rem;
  }
  .price-table td:first-child{text-align:right}
  .price-table tr td:last-child{border-bottom:0}
  .price-table td::before{
    content:attr(data-label);
    font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
    color:var(--champagne);text-align:left;
  }
}

/* ---------------------------------------------------- investment / CTA */
.opportunity{background:var(--void);color:var(--snow);overflow:hidden}

/* the render runs full width and uncropped */
.opp-media{margin:0}
.opp-media img{width:100%;height:auto;display:block}

/* sits between two full-bleed renders, so pad it evenly on both sides */
.opp-body{padding-block:clamp(3.25rem,6.5vw,5.5rem)}
.opp-body .eyebrow-rule{margin-bottom:clamp(1.5rem,3vw,2.25rem)}

.opp-grid{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.5rem,4vw,4rem);align-items:start;
  padding-top:clamp(1.25rem,2.5vw,1.85rem);
  border-top:1px solid rgba(247,244,239,.14);
}
.opp-grid .title{max-width:16ch;color:var(--snow)}
.opp-side .lede{margin-top:0;color:rgba(247,244,239,.68);max-width:44ch}
.opp-side .actions{margin-top:clamp(1.35rem,2.5vw,1.85rem)}

@media (max-width:860px){
  .opp-grid{grid-template-columns:1fr;gap:1.25rem}
  .opp-grid .title{max-width:none}
  .opp-side .actions{flex-direction:column;align-items:stretch}
  .opp-side .actions .btn{width:100%}
}

/* ============================================= fqx · ultra-lux FAQ section */

/* ---- section shell ---- */
.fqx-section{
  position:relative;
  background:var(--snow);   /* distinct from void above & ivory-2 elsewhere */
  overflow:hidden;
  padding:clamp(5rem,10vw,8.5rem) 0 clamp(4.5rem,9vw,8rem);
}

/* top + bottom hairline rules in champagne */
.fqx-rule-top,
.fqx-rule-bottom{
  position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(184,160,120,.35) 20%,
    rgba(184,160,120,.7) 50%,
    rgba(184,160,120,.35) 80%,
    transparent 100%);
}
.fqx-rule-top{top:0}
.fqx-rule-bottom{bottom:0}

/* ---- wrap: centred single column ---- */
.fqx-center-wrap{
  max-width:820px;
  margin-inline:auto;
}

/* ---- section header: centred ---- */
.fqx-center-head{
  text-align:center;
  margin-bottom:clamp(3rem,6vw,5rem);
}
.fqx-center-head .fqx-ornament{
  justify-content:center;
}
.fqx-center-head .fqx-heading{
  max-width:none;
  margin:0;
}
.fqx-center-head .fqx-sub{
  max-width:52ch;
  margin-left:auto;
  margin-right:auto;
}

/* ---- shared typographic styles ---- */
.fqx-ornament{
  display:flex;
  margin-bottom:1.4rem;
  opacity:.75;
}

.fqx-eyebrow{
  display:block;
  font-family:var(--sans);font-weight:600;
  font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--champagne);
  margin-bottom:.9rem;
}

.fqx-heading{
  font-family:var(--display);font-weight:500;
  font-size:clamp(2.4rem,4.8vw,4rem);
  line-height:1.05;letter-spacing:-.025em;
  color:var(--ink);
  margin:0 0 1.4rem;
}
.fqx-heading em{
  display:block;
  font-style:italic;
  background:linear-gradient(135deg,var(--champagne-lt) 0%,var(--champagne) 60%,#9a7d52 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}

.fqx-sub{
  font-size:.88rem;line-height:1.78;
  color:var(--body);
  margin:0 0 0;
}

/* ---- accordion list ---- */
.fqx-list{
  border-top:1px solid rgba(26,28,31,.08);
}

/* each item */
.fqx-item h3{margin:0}
.fqx-item{
  position:relative;
  border-bottom:1px solid rgba(26,28,31,.08);
  transition:border-color .35s var(--ease);
}
.fqx-item.fqx-open{
  border-color:rgba(184,160,120,.3);
}

/* the button */
.fqx-btn{
  width:100%;display:grid;
  grid-template-columns:3rem 1fr 2.2rem;
  align-items:center;
  gap:clamp(.6rem,1.5vw,1.2rem);
  padding:clamp(1.2rem,2.5vw,1.75rem) 0;
  background:none;border:0;cursor:pointer;
  text-align:left;
  font-family:var(--sans);
  color:var(--ink);
  transition:color .3s var(--ease);
}
.fqx-btn:hover{color:var(--champagne)}

/* numbered badge */
.fqx-num{
  font-family:var(--display);
  font-size:clamp(.9rem,1.4vw,1.1rem);
  font-weight:500;line-height:1;
  color:transparent;
  -webkit-text-stroke:1px var(--champagne);
  text-stroke:1px var(--champagne);
  letter-spacing:-.01em;
  transition:color .3s var(--ease),-webkit-text-stroke-color .3s var(--ease);
  flex-shrink:0;
}
.fqx-item.fqx-open .fqx-num,
.fqx-btn:hover .fqx-num{
  color:var(--champagne);
  -webkit-text-stroke-color:var(--champagne);
}

/* question text */
.fqx-q-text{
  font-size:clamp(.95rem,1.5vw,1.1rem);
  font-weight:500;line-height:1.4;
  letter-spacing:-.005em;
}

/* toggle icon */
.fqx-toggle{
  display:flex;align-items:center;justify-content:center;
  width:2.2rem;height:2.2rem;
  border:1px solid rgba(184,160,120,.3);
  border-radius:50%;
  flex-shrink:0;
  color:var(--champagne);
  transition:background .35s var(--ease),border-color .35s var(--ease),transform .45s var(--ease);
}
.fqx-btn:hover .fqx-toggle{
  background:rgba(184,160,120,.08);
  border-color:rgba(184,160,120,.6);
}
.fqx-plus{
  width:14px;height:14px;display:block;
  overflow:visible;
}
.fqx-plus-v{
  transform-origin:12px 12px;
  transition:transform .4s var(--ease),opacity .3s var(--ease);
}
.fqx-item.fqx-open .fqx-toggle{
  background:rgba(184,160,120,.12);
  border-color:var(--champagne);
  transform:rotate(45deg);
}

/* champagne hairline that draws across on open */
.fqx-item-line{
  position:absolute;
  bottom:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,var(--champagne-lt),var(--champagne),transparent);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .55s var(--ease);
  pointer-events:none;
}
.fqx-item.fqx-open .fqx-item-line{transform:scaleX(1)}

/* answer panel — grid-rows height trick */
.fqx-answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .48s var(--ease);
}
.fqx-item.fqx-open .fqx-answer{
  grid-template-rows:1fr;
}
.fqx-answer-inner{
  overflow:hidden;
  min-height:0;
}
.fqx-answer-inner p{
  padding:0 0 clamp(1.2rem,2.5vw,1.75rem) 0;
  padding-left:calc(3rem + clamp(.6rem,1.5vw,1.2rem));
  font-size:.9rem;line-height:1.82;
  color:var(--body);
  max-width:56ch;
}

/* no-JS: leave answers visible if JS never ran */
.fqx-answer{visibility:visible}

/* ---- responsive ---- */
@media (max-width:560px){
  .fqx-btn{grid-template-columns:2.4rem 1fr 2rem}
  .fqx-answer-inner p{padding-left:calc(2.4rem + clamp(.6rem,1.5vw,1.2rem))}
  .fqx-heading{font-size:clamp(2rem,8vw,2.8rem)}
}

/* ------------------------------------------------------- phone field fix */
/* `.modal .field input:not([type=hidden]):not(.hp)` scores the same as the
   earlier phone override, so the number input kept its own border/background
   and drew a second box inside the wrapper. These match that specificity and
   come last, so the composite field renders as one control. */
.enquire .field .phone input[type=tel],
.modal .field .phone input[type=tel]{
  background:transparent;
  border:0;
  border-radius:0 9px 9px 0;
  min-height:52px;
}
.enquire .field .phone input[type=tel]:focus,
.modal .field .phone input[type=tel]:focus{
  background:transparent;
  border:0;
}
/* SUCCESS TOAST */
.success-toast{position:fixed;bottom:2rem;right:2rem;z-index:9999;width:min(22rem,calc(100vw - 2rem));background:linear-gradient(135deg,#0d2016 0%,#10301f 100%);border:1px solid rgba(180,155,100,.25);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset;overflow:hidden;opacity:0;transform:translateY(1.5rem) scale(.96);pointer-events:none;transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1)}
.success-toast.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.success-toast__inner{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.1rem 1.15rem 1.25rem}
.success-toast__icon{flex-shrink:0;width:48px;height:48px;color:#b49b64}
.success-toast__icon svg{width:100%;height:100%}
.success-toast__circle{stroke-dasharray:151;stroke-dashoffset:151;transition:stroke-dashoffset .55s ease .1s}
.success-toast__check{stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset .4s ease .55s}
.success-toast.is-visible .success-toast__circle,.success-toast.is-visible .success-toast__check{stroke-dashoffset:0}
.success-toast__content{flex:1;min-width:0}
.success-toast__title{font-family:var(--font-serif,Georgia,serif);font-size:1rem;color:#e8dcc8;margin:0 0 .18rem;font-weight:600;letter-spacing:.01em}
.success-toast__msg{font-size:.82rem;color:rgba(220,205,180,.7);margin:0;line-height:1.45}
.success-toast__close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:.35rem;margin:-.35rem;color:rgba(220,205,180,.45);transition:color .2s;display:flex;align-items:center;justify-content:center}
.success-toast__close:hover{color:#b49b64}
.success-toast__close svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
.success-toast__progress{height:2px;background:linear-gradient(90deg,#b49b64,#d4b97c);width:100%;transform-origin:left;transform:scaleX(1)}
.success-toast.is-dismissing .success-toast__progress{transform:scaleX(0);transition:transform var(--toast-duration,5s) linear}
@media(max-width:480px){.success-toast{bottom:1rem;right:1rem;width:calc(100vw - 2rem)}}


/* ==========================================================================
   Yas Riva Reserve — header
   Transparent over the hero, solid #0c1d14 once scrolled.
   ========================================================================== */
:root{ --header:96px; }
@media (max-width:960px){ :root{ --header:84px; } }
@media (max-width:560px){ :root{ --header:72px; } }

.header{
  background:transparent;
  border-bottom-color:transparent;
}
.header.is-on{
  background:#0c1d14;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom-color:var(--line);
  height:84px;
}
@media (max-width:960px){ .header.is-on{height:76px} }
@media (max-width:560px){ .header.is-on{height:68px} }

.brand img{height:clamp(52px,5.4vw,76px)}
.header.is-on .brand img{height:clamp(44px,4.4vw,62px)}

/* hero sub-line under the H1 — .lede is dark-on-light, so the hero needs its own */
.hero-lede{
  max-width:44rem;margin-top:1.35rem;
  font-size:clamp(1rem,1.15vw,1.2rem);font-weight:300;line-height:1.65;
  color:rgba(247,244,239,.86);
  text-shadow:0 1px 24px rgba(10,24,16,.5);
}
.hero .actions{margin-top:1.9rem}
@media (max-width:560px){ .hero-lede{font-size:1rem;margin-top:1.1rem} }

/* --------------------------------------------------------- about split */
/* Image one side, copy the other. The render keeps its natural ratio inside
   the column — no crop — and drifts slowly so the block is not static. */
/* the overview title and this block read as one unit — collapse the gap */
.overview-title{padding-bottom:clamp(1.25rem,2.4vw,2rem)}
.about-section{padding:clamp(1.25rem,2.4vw,2rem) 0 clamp(3.5rem,7vw,6rem)}
.about-split{
  grid-template-columns:1.24fr .76fr;
  align-items:center;
  gap:clamp(1.75rem,3.6vw,3.25rem);
}
.about-copy .prose{max-width:none}
.about-copy .prose p{font-size:.94rem;line-height:1.78}
.about-copy .prose p + p{margin-top:.85rem}
@media (max-width:1100px){
  .about-split{grid-template-columns:1.1fr .9fr}
  .about-copy .prose p{font-size:.9rem}
}
@media (max-width:860px){
  .about-split{grid-template-columns:1fr}
  .about-copy .prose p{font-size:.95rem}
}
.about-media{
  margin:0;overflow:hidden;border-radius:var(--radius);
  background:var(--charcoal);
}
.about-media img{
  width:100%;height:auto;display:block;border-radius:0;
  transform:scale(1.04);
  animation:aboutDrift 26s ease-in-out infinite alternate;
}
@keyframes aboutDrift{
  from{transform:scale(1.04) translate3d(0,0,0)}
  to  {transform:scale(1.11) translate3d(-1.4%,-1.2%,0)}
}
/* the wipe is an enhancement — with no JS the image is simply visible */
.about-media.in-view{animation:aboutWipe 1.1s var(--ease) both}
@keyframes aboutWipe{
  from{clip-path:inset(0 0 100% 0)}
  to  {clip-path:inset(0 0 0 0)}
}
.about-copy .prose p:last-child{margin-bottom:0}

@media (max-width:860px){
  .about-media{order:0}
}
@media (prefers-reduced-motion:reduce){
  .about-media.in-view{animation:none}
  .about-media img{animation:none;transform:none}
}

/* ---------------------------------------------------------- residences */
.residences-sec{padding:clamp(3.5rem,7vw,6rem) 0}
.res-head{max-width:62rem}
.res-head .title{margin:.75rem 0 1.15rem}
.res-head .prose{max-width:56rem;font-size:.94rem;line-height:1.78}

.trio{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(.75rem,1.4vw,1.25rem);
  margin-top:clamp(2rem,4vw,3.25rem);
}
.trio-item{
  margin:0;overflow:hidden;border-radius:var(--radius);background:var(--charcoal);
}
.trio-item img{
  width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;display:block;
  transition:transform 1.1s var(--ease);
}
.trio-item:hover img{transform:scale(1.06)}
@media (max-width:860px){
  .trio{grid-template-columns:1fr 1fr}
  .trio-item:last-child{grid-column:1 / -1}
}
@media (max-width:560px){
  .trio{grid-template-columns:1fr}
  .trio-item:last-child{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){.trio-item:hover img{transform:none}}

/* in-page anchors clear the sticky header */
[id]{scroll-margin-top:calc(var(--header) + 16px)}

/* --------------------------------------------------- residence cards */
.res-card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid rgba(26,28,31,.08);
  border-radius:var(--radius);overflow:hidden;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
}
.res-card:hover{
  transform:translateY(-4px);
  border-color:rgba(184,160,120,.4);
  box-shadow:0 18px 44px rgba(26,28,31,.10);
}
.res-card-media{margin:0;overflow:hidden;background:var(--charcoal)}
.res-card-media img{
  width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;
  transition:transform 1.1s var(--ease);
}
.res-card:hover .res-card-media img{transform:scale(1.06)}
.res-card-body{
  display:flex;flex-direction:column;flex:1;
  padding:clamp(1.15rem,1.8vw,1.6rem);
}
.res-card-body h3{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.15;
  color:var(--text);margin:0 0 .6rem;
}
.res-card-body p{
  font-family:var(--sans);font-weight:300;
  font-size:.875rem;line-height:1.72;color:var(--body);
  margin:0 0 1.15rem;flex:1;
}
.res-cta{
  align-self:flex-start;display:inline-flex;align-items:center;gap:.55rem;
  padding:0;background:none;border:0;cursor:pointer;
  font-family:var(--sans);font-size:.68rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--text);
  position:relative;padding-bottom:6px;
}
.res-cta::before{
  content:"";position:absolute;top:-14px;left:-4px;right:-4px;bottom:-14px;
}
.res-cta::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--champagne);transform:scaleX(1);transform-origin:left center;
  transition:transform .45s var(--ease);
}
.res-cta:hover{color:var(--champagne)}
.res-cta:hover::after{transform:scaleX(.4)}
.res-cta svg{
  width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
  transition:transform .4s var(--ease);
}
.res-cta:hover svg{transform:translateX(4px)}

.modal-unit{
  font-family:var(--sans);font-size:.72rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--champagne);
  margin:-.35rem 0 1rem;
}
@media (prefers-reduced-motion:reduce){
  .res-card:hover{transform:none}
  .res-card:hover .res-card-media img{transform:none}
  .res-cta:hover svg{transform:none}
}

/* ---------------------------------------------------------- master plan */
.masterplan-sec{padding:clamp(3.5rem,7vw,6rem) 0}
.mp-split{
  grid-template-columns:1.06fr .94fr;
  align-items:center;
  gap:clamp(1.75rem,4vw,3.5rem);
}
.mp-copy .eyebrow{margin-bottom:.9rem}
.mp-copy .title{margin:0 0 1.15rem}
.mp-copy .prose{max-width:none}
.mp-copy .prose p{font-size:.94rem;line-height:1.78}
.mp-copy .prose p + p{margin-top:.85rem}

.mp-media{
  margin:0;overflow:hidden;border-radius:var(--radius);background:var(--charcoal);
}
.mp-media img{
  width:100%;height:auto;display:block;border-radius:0;
  transform:scale(1.02);
  animation:aboutDrift 30s ease-in-out infinite alternate;
}
.mp-media.in-view{animation:aboutWipe 1.1s var(--ease) both}

@media (max-width:1100px){.mp-copy .prose p{font-size:.9rem}}
@media (max-width:860px){
  .mp-split{grid-template-columns:1fr}
  .mp-copy .prose p{font-size:.95rem}
}
@media (prefers-reduced-motion:reduce){
  .mp-media.in-view{animation:none}
  .mp-media img{animation:none;transform:none}
}

/* ------------------------------------------------------- amenity tiles */
.am-head{max-width:64rem;margin-inline:auto}
.amenities .am-head .eyebrow-rule{margin-bottom:1rem}
.amenities .title{max-width:22ch;margin-inline:auto}
.amenities .prose{
  color:rgba(247,244,239,.62);max-width:64ch;
  margin-inline:auto;margin-top:1.15rem;font-size:.94rem;line-height:1.78;
}

/* A hairline matrix rather than six boxes — the rules do the dividing, so the
   grid reads as one plane instead of a row of cards. */
.am-tiles{
  list-style:none;padding:0;
  margin:clamp(2.5rem,5vw,4rem) 0 0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid rgba(247,244,239,.12);
}
.am-tile{
  position:relative;isolation:isolate;
  padding:clamp(1.75rem,3vw,2.6rem) clamp(1.25rem,2.2vw,2rem) clamp(1.75rem,3vw,2.4rem);
  border-bottom:1px solid rgba(247,244,239,.12);
  border-right:1px solid rgba(247,244,239,.12);
  transition:color .4s var(--ease);
}
.am-tiles .am-tile:nth-child(3n){border-right:0}
/* a champagne wash grows from the bottom edge on hover */
.am-tile::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(184,160,120,0) 0%,rgba(184,160,120,.10) 100%);
  transform:scaleY(0);transform-origin:bottom;
  transition:transform .55s var(--ease);
}
.am-tile:hover::before{transform:scaleY(1)}
/* and a champagne rule replaces the hairline underneath */
.am-tile::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:var(--champagne);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .55s var(--ease);
}
.am-tile:hover::after{transform:scaleX(1)}

.am-idx{
  display:block;
  font-family:var(--display);font-size:.9rem;letter-spacing:.14em;
  color:rgba(184,160,120,.65);margin-bottom:clamp(1.25rem,2.4vw,2rem);
}
.am-icon{display:block;margin-bottom:clamp(.9rem,1.6vw,1.25rem)}
.am-icon svg{
  width:60px;height:60px;fill:none;stroke:var(--champagne);
  stroke-width:1;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .5s var(--ease),stroke .4s var(--ease);
}
.am-tile:hover .am-icon svg{transform:translateY(-3px);stroke:var(--gold-2,#e3c58c)}

.am-tile h3{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.25;
  color:var(--snow);margin:0 0 .55rem;
}
.am-tag{
  display:block;font-family:var(--sans);
  font-size:.6rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(247,244,239,.38);
}

@media (max-width:900px){
  .am-tiles{grid-template-columns:repeat(2,1fr)}
  .am-tiles .am-tile:nth-child(3n){border-right:1px solid rgba(247,244,239,.12)}
  .am-tiles .am-tile:nth-child(2n){border-right:0}
}
@media (max-width:560px){
  .am-tiles{grid-template-columns:1fr}
  .am-tiles .am-tile{border-right:0!important}
  .am-idx{margin-bottom:1rem}
}
@media (prefers-reduced-motion:reduce){
  .am-tile:hover .am-icon svg{transform:none}
}

/* Image-led amenities carousel */
.amenities{
  background:var(--snow);color:var(--text);overflow:hidden;
}
.amenities .am-intro{margin-bottom:clamp(2rem,4vw,3.5rem)}
.amenities .am-head .eyebrow-rule{margin-bottom:1rem}
.amenities .title{max-width:22ch;margin-inline:auto}
.amenities .prose{
  color:var(--body);max-width:58ch;margin:1.15rem auto 0;
  font-size:.94rem;line-height:1.78;
}
.am-carousel{position:relative;width:100%}
.am-viewport{
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain;
  padding-inline:clamp(1.1rem,2.4vw,3rem);
}
.am-viewport::-webkit-scrollbar{display:none}
.am-viewport:focus-visible{outline-offset:-3px}
.am-cards{
  width:max-content;display:flex;gap:clamp(.85rem,1.35vw,1.65rem);
  list-style:none;margin:0;padding:0 0 .25rem;
}
.am-card{
  position:relative;isolation:isolate;overflow:hidden;
  flex:0 0 clamp(300px,26.5vw,540px);
  aspect-ratio:.76;border-radius:10px;background:var(--charcoal);
  scroll-snap-align:start;
}
.am-card::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,transparent 42%,rgba(10,24,16,.12) 58%,rgba(10,24,16,.91) 100%);
}
.am-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--ease);
}
.am-card:nth-child(2) img,.am-card:nth-child(5) img{object-position:center}
.am-card:hover img{transform:scale(1.035)}
.am-card-copy{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:clamp(1.1rem,2vw,1.7rem);
  color:#fff;text-shadow:0 1px 18px rgba(0,0,0,.25);
}
.am-card-copy h3{
  margin:0 0 .55rem;font-family:var(--sans);font-size:clamp(1rem,1.4vw,1.45rem);
  min-height:0;font-weight:500;line-height:1.2;letter-spacing:-.01em;text-transform:uppercase;
}
.am-card-copy p{
  margin:0;max-width:34ch;font-family:var(--sans);
  font-size:clamp(.82rem,1.02vw,1.08rem);line-height:1.38;font-weight:300;
}
.am-arrow{
  position:absolute;top:50%;z-index:4;width:58px;height:58px;
  display:grid;place-items:center;border:0;border-radius:50%;
  color:#1f4a2f;background:#fff;box-shadow:0 8px 28px rgba(10,24,16,.18);
  cursor:pointer;transform:translateY(-50%);
  transition:opacity .25s ease,transform .3s var(--ease),background-color .3s ease;
}
.am-arrow:hover{background:var(--ivory);transform:translateY(-50%) scale(1.05)}
.am-arrow:disabled{opacity:0;pointer-events:none}
.am-arrow svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.am-arrow-prev{left:clamp(.5rem,1.4vw,1.75rem)}
.am-arrow-next{right:clamp(.5rem,1.4vw,1.75rem)}

@media (max-width:700px){
  .amenities .am-intro{margin-bottom:1.75rem}
  .am-viewport{padding-inline:1.1rem;scroll-padding-inline:1.1rem}
  .am-card{flex-basis:min(82vw,360px);aspect-ratio:.72}
  .am-card-copy{padding:1.2rem}
  .am-card-copy h3{font-size:1rem}
  .am-card-copy p{font-size:.84rem}
  .am-arrow{width:48px;height:48px}
  .am-arrow svg{width:23px;height:23px}
}
@media (prefers-reduced-motion:reduce){
  .am-viewport{scroll-behavior:auto}
  .am-card:hover img{transform:none}
}

/* ---------------------------------------------------------- highlights */
/* Image-led bento: three portrait render tiles with overlaid copy,
   plus a full-width dark brand strip for the developer credit. */
.highlights{overflow:hidden}

.hl-head{max-width:44rem;margin:0 auto;text-align:center}
.hl-head .title{margin:.85rem 0 0;line-height:1.06}
.hl-head .title em{font-style:italic;color:var(--gold-deep,#c2a26a)}

.hl-bento{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,2vw,1.5rem);
  margin-top:clamp(3rem,5.5vw,4.5rem);
}

.hl-tile{
  position:relative;aspect-ratio:3/4;border-radius:2px;overflow:hidden;
  background-size:cover;background-position:center;
  transition:transform .6s var(--ease);
}
.hl-tile:hover{transform:translateY(-6px)}

.hl-tile-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,24,16,0) 38%,rgba(10,24,16,.88) 100%);
}

.hl-tile-body{position:absolute;left:0;right:0;bottom:0;padding:clamp(1.25rem,2vw,1.75rem)}

.hl-tile .hl-num{
  display:block;font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(1.4rem,2.1vw,1.85rem);line-height:1;
  color:var(--champagne-lt);margin:0 0 .5rem;
}
.hl-tile h3{
  font-family:var(--display);font-weight:500;
  font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.2;
  color:var(--ivory);margin:0 0 .5rem;letter-spacing:-.005em;
}
.hl-tile p{
  font-family:var(--sans);font-weight:300;
  font-size:.8rem;line-height:1.65;color:rgba(243,239,232,.82);
  margin:0;max-width:30ch;
}

.hl-tile--brand{
  grid-column:1/-1;aspect-ratio:auto;min-height:200px;
  display:flex;align-items:center;gap:clamp(1.5rem,4vw,3rem);
  background:var(--void);
  padding:clamp(1.75rem,3vw,2.5rem) clamp(1.75rem,3.5vw,3rem);
}
.hl-tile--brand:hover{transform:none}
.hl-tile-mark{height:clamp(30px,3.6vw,42px);width:auto;flex:0 0 auto;opacity:.92}
.hl-tile--brand .hl-tile-body{position:static;padding:0;flex:1}
.hl-tile--brand .hl-num{color:var(--champagne)}
.hl-tile--brand p{max-width:46ch}

@media (max-width:860px){
  .hl-bento{grid-template-columns:1fr 1fr}
  .hl-tile--brand{flex-wrap:wrap}
}
@media (max-width:560px){
  .hl-bento{grid-template-columns:1fr}
  .hl-tile{aspect-ratio:4/3}
  .hl-tile--brand{flex-direction:column;align-items:flex-start;gap:1rem;text-align:left}
}
@media (prefers-reduced-motion:reduce){
  .hl-tile:hover{transform:none}
}

/* ======================================================================
   2026-09 content refresh: renders are shown whole at their natural
   ratio, so every image slot below sizes to the picture, not the reverse.
   ====================================================================== */

/* about: key facts */
.facts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin:clamp(1.5rem,3vw,2.25rem) 0 0;padding:0;
  border-top:1px solid rgba(26,28,31,.1);border-bottom:1px solid rgba(26,28,31,.1);
}
.facts div{padding:1rem .75rem;border-left:1px solid rgba(26,28,31,.1)}
.facts div:first-child{border-left:0;padding-left:0}
.facts dt{font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne);margin-bottom:.35rem}
.facts dd{margin:0;font-family:var(--display);font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.1;color:var(--text)}
@media (max-width:560px){
  .facts{grid-template-columns:1fr 1fr}
  .facts div:nth-child(3){border-left:0;padding-left:0}
  .facts div:nth-child(n+3){border-top:1px solid rgba(26,28,31,.1)}
}

/* residences: grouped inland / canal cards */
.res-group{
  display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;
  margin:clamp(2.25rem,4.5vw,3.5rem) 0 0;
  font-family:var(--display);font-weight:500;font-size:clamp(1.35rem,2.2vw,1.8rem);color:var(--text);
}
.res-group span{font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne)}
.res-group + .trio,.res-group + .duo{margin-top:clamp(1rem,2vw,1.5rem)}
.duo{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.75rem,1.4vw,1.25rem)}
@media (max-width:560px){.duo{grid-template-columns:1fr}}
.trio .res-card:last-child{grid-column:auto}
@media (max-width:860px){.trio .res-card:last-child{grid-column:1 / -1}}
@media (max-width:560px){.trio .res-card:last-child{grid-column:auto}}
.res-card-media img{aspect-ratio:auto;height:auto;object-fit:initial}
.res-specs{list-style:none;margin:0 0 1.25rem;padding:0;border-top:1px solid rgba(26,28,31,.08)}
.res-specs li{
  display:flex;justify-content:space-between;gap:1rem;
  padding:.55rem 0;border-bottom:1px solid rgba(26,28,31,.08);
  font-family:var(--sans);font-size:.82rem;font-weight:500;color:var(--text);text-align:right;
}
.res-specs li span{font-weight:400;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--body);text-align:left}

/* interiors gallery */
.gal-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(.75rem,1.4vw,1.25rem);margin-top:clamp(2rem,4vw,3.25rem);
}
.gal-item{margin:0}
.gal-item--wide{grid-column:1 / -1}
.gal-item img{width:100%;height:auto;display:block;border-radius:var(--radius);background:var(--charcoal)}
.gal-item figcaption{
  margin-top:.6rem;font-family:var(--sans);font-size:.66rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--body);
}
@media (max-width:560px){.gal-grid{grid-template-columns:1fr}}
.pod-split{margin-top:clamp(3rem,6vw,5rem)}

/* pricing: third waiver + note under the plan */
.waiver-row{flex-wrap:wrap}
.payment-plan .price-note{margin-top:clamp(1.75rem,3vw,2.25rem)}

/* amenities: image on top at its own ratio, copy beneath */
.am-card{
  aspect-ratio:auto;flex-basis:clamp(300px,38vw,620px);
  display:flex;flex-direction:column;background:var(--charcoal);
}
.am-card::after{display:none}
.am-card img{height:auto;aspect-ratio:auto;object-fit:initial;display:block}
.am-card:hover img{transform:none}
.am-card-copy{position:static;flex:1;text-shadow:none}
@media (max-width:700px){.am-card{flex-basis:min(84vw,420px);aspect-ratio:auto}}

/* location: static map in place of the embed */
figure.location-map{margin-inline:0;margin-bottom:0}

/* highlights: render on top, copy beneath, on a dark card */
.hl-tile{
  aspect-ratio:auto;background:var(--void);
  display:flex;flex-direction:column;
}
.hl-tile > img:not(.hl-tile-mark){width:100%;height:auto;display:block}
.hl-tile .hl-tile-body{position:static;flex:1}
.hl-tile p{max-width:none}
@media (max-width:560px){.hl-tile{aspect-ratio:auto}}
.hl-tile--brand{flex-direction:row}
@media (max-width:560px){.hl-tile--brand{flex-direction:column}}
/* brochure panels carry text to their edges, so no drift-zoom on them */
.mp-media img{transform:none;animation:none}


/* ==========================================================================
   Greenwood: green felt texture on the dark bands
   ========================================================================== */
.pricing-sec,.statement,.location,.footer,.tex{
  background:#2c4a22 url(../img/green-texture-1200.webp) center/cover no-repeat;
}
@media (min-width:1200px){
  .pricing-sec,.statement,.location,.footer,.tex{background-image:url(../img/green-texture.webp)}
}
.statement-glow{opacity:.35}
.hl-tile--brand{background:#2c4a22 url(../img/green-texture-1200.webp) center/cover no-repeat}
/* text wordmark in place of the logo image */
.brand-word{display:flex;flex-direction:column;align-items:center;line-height:1;color:#f7f4ef;text-decoration:none}
.brand-word b{font-family:var(--display);font-weight:500;font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:.16em;padding-left:.16em}
.brand-word small{font-family:var(--sans);font-size:.55rem;letter-spacing:.5em;padding-left:.5em;margin-top:6px;text-transform:uppercase;color:var(--champagne-lt)}
.footer .brand-word{align-items:flex-start}
.footer .brand-word b{font-size:2.2rem}
.img-note{display:block;font-size:.66rem;letter-spacing:.06em;color:var(--mute);margin-top:.6rem}
.location-map figcaption{font-size:.68rem;color:rgba(247,244,239,.55);margin-top:.6rem;text-align:right}
/* portrait Metro photo shown whole, never cropped */
.pod-split .split-media img{height:auto;max-height:640px;width:auto;max-width:100%;object-fit:contain;margin:0 auto}
.pod-split .split-media{background:transparent}
/* each textured band gets its own tone */
.statement{background-image:linear-gradient(rgba(6,16,9,.38),rgba(6,16,9,.38)),url(../img/green-texture-1200.webp)}
.location{background-image:linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),url(../img/green-texture-1200.webp);background-position:left bottom}
.footer{background-image:linear-gradient(rgba(4,12,7,.6),rgba(4,12,7,.6)),url(../img/green-texture-1200.webp)}
@media (min-width:1200px){
  .statement{background-image:linear-gradient(rgba(6,16,9,.38),rgba(6,16,9,.38)),url(../img/green-texture.webp)}
  .location{background-image:linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),url(../img/green-texture.webp)}
  .footer{background-image:linear-gradient(rgba(4,12,7,.6),rgba(4,12,7,.6)),url(../img/green-texture.webp)}
}
/* hero subheading */
.hero-sub{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.25;color:var(--champagne-lt);margin:.5rem 0 1.1rem}
/* lighter veil so the render reads; still dark behind the copy */
.hero-veil{background:
  linear-gradient(90deg,rgba(10,24,16,.72) 0%,rgba(10,24,16,.38) 42%,rgba(10,24,16,.05) 75%),
  linear-gradient(180deg,rgba(10,24,16,.45) 0%,rgba(10,24,16,0) 22%,rgba(10,24,16,0) 60%,rgba(10,24,16,.55) 100%)}
@media (max-width:900px){
  .hero-veil{background:linear-gradient(180deg,rgba(10,24,16,.45) 0%,rgba(10,24,16,.1) 25%,rgba(10,24,16,.55) 50%,rgba(10,24,16,.88) 100%)}
  .hero .kicker{letter-spacing:.16em;font-size:.62rem}
}
.hero .hero-lede{max-width:620px;text-shadow:0 1px 18px rgba(0,0,0,.35)}
/* Greenwood logo (white, transparent) */
.brand img.brand-logo{height:auto;width:clamp(170px,15vw,230px);transition:width .45s var(--ease)}
.header.is-on .brand img.brand-logo{height:auto;width:clamp(150px,12vw,190px)}
.footer-logo{width:220px;height:auto;display:block}
@media (max-width:900px){
  .brand img.brand-logo,.header.is-on .brand img.brand-logo{width:150px}
}
/* hero veil, lighter still: only a soft shade behind the copy */
.hero-veil{background:
  linear-gradient(90deg,rgba(10,24,16,.5) 0%,rgba(10,24,16,.22) 38%,rgba(10,24,16,0) 62%),
  linear-gradient(180deg,rgba(10,24,16,.28) 0%,rgba(10,24,16,0) 18%,rgba(10,24,16,0) 70%,rgba(10,24,16,.3) 100%)}
.hero h1,.hero .hero-sub,.hero .kicker{text-shadow:0 2px 22px rgba(0,0,0,.4)}
@media (max-width:900px){
  .hero-veil{background:linear-gradient(180deg,rgba(10,24,16,.3) 0%,rgba(10,24,16,0) 22%,rgba(10,24,16,.3) 48%,rgba(10,24,16,.72) 100%)}
}

/* ==========================================================================
   About (redesign)
   ========================================================================== */
.gw-about{position:relative;padding:clamp(90px,10vw,150px) 0;background:
  radial-gradient(60% 70% at 100% 0,rgba(184,160,120,.16),transparent 60%),
  linear-gradient(180deg,#f6f2eb 0%,#efe9de 100%);overflow:hidden}
.gw-about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(48px,7vw,110px);align-items:center}
.gw-eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:.7rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#9a7f52;margin-bottom:22px}
.gw-eyebrow::before{content:"";width:46px;height:1px;background:var(--champagne)}
.gw-about-title{font-family:var(--display);font-weight:500;font-size:clamp(2.6rem,4.6vw,4.4rem);line-height:1.02;letter-spacing:-.01em;color:#14291d;margin:0 0 30px}
.gw-about-title em{display:block;font-style:italic;color:#a3865a}
.gw-about .prose p{font-size:1rem;line-height:1.85;color:#4f5650;margin:0 0 1.1em;max-width:560px}
.gw-stats{display:grid;grid-template-columns:1fr 1fr;margin:34px 0 38px;border-top:1px solid rgba(20,41,29,.14);max-width:560px}
.gw-stats div{padding:20px 0 18px;border-bottom:1px solid rgba(20,41,29,.14)}
.gw-stats div:nth-child(odd){padding-right:20px;border-right:1px solid rgba(20,41,29,.14)}
.gw-stats div:nth-child(even){padding-left:28px}
.gw-stats dt{font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,2.6vw,2.5rem);line-height:1;color:#14291d}
.gw-stats dt sup{font-size:.45em;color:#a3865a}
.gw-stats dd{margin:8px 0 0;font-size:.66rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#9a7f52}
.gw-about-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px}
.gw-link{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#14291d;text-decoration:none;border-bottom:1px solid var(--champagne);padding-bottom:6px}
.gw-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .3s}
.gw-link:hover svg{transform:translateX(4px)}

.gw-about-media{position:relative;padding:0 0 22% 0}
.gw-m1,.gw-m2{margin:0}
.gw-m1{position:relative;width:88%;margin-left:auto;z-index:1}
.gw-m1::before{content:"";position:absolute;inset:-22px 22px 22px -22px;border:1px solid var(--champagne);z-index:-1}
.gw-m1 img{width:100%;height:auto;display:block;box-shadow:0 40px 80px -40px rgba(12,29,20,.55)}
.gw-m2{position:absolute;left:0;bottom:0;width:54%;z-index:2}
.gw-m2 img{width:100%;height:auto;display:block;border:8px solid #f6f2eb;box-shadow:0 30px 60px -30px rgba(12,29,20,.6)}
.gw-badge{position:absolute;right:4%;bottom:6%;z-index:3;width:clamp(120px,12vw,160px);aspect-ratio:1;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:#2c4a22 url(../img/green-texture-1200.webp) center/cover;color:#f7f4ef;box-shadow:0 24px 50px -20px rgba(12,29,20,.7);outline:1px solid rgba(222,196,156,.55);outline-offset:6px}
.gw-badge b{font-family:var(--display);font-weight:500;font-size:clamp(2.2rem,3vw,2.9rem);line-height:1;color:var(--champagne-lt)}
.gw-badge span{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;line-height:1.6;margin-top:6px}
.gw-cap{position:absolute;right:0;bottom:-26px;font-size:.62rem;letter-spacing:.06em;color:#8a8e96}

@media (max-width:900px){
  .gw-about-grid{grid-template-columns:1fr;gap:56px}
  .gw-about-media{order:-1;padding-bottom:26%;margin:0 6px}
  .gw-m1::before{inset:-12px 12px 12px -12px}
  .gw-m2 img{border-width:5px}
  .gw-stats dd{font-weight:500;letter-spacing:.18em}
  .gw-eyebrow{font-weight:500}
}
@media (max-width:480px){
  .gw-stats div:nth-child(even){padding-left:18px}
  .gw-badge{width:104px;right:2%;bottom:2%}
  .gw-badge span{font-size:.48rem}
}
.gw-about-title{font-size:clamp(2.4rem,4vw,3.8rem)}
.gw-about-title em{font-size:.62em;line-height:1.2;margin-top:.35em}
.gw-about-title .sr-dash{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ==========================================================================
   Buttons: forest green everywhere
   ========================================================================== */
:root{--forest-btn:#24533a;--forest-btn-hover:#1a3f2c}
.btn-champagne,.btn-dark,.mobile-nav .btn,.sticky-cta .btn{
  background:var(--forest-btn);border-color:var(--forest-btn);color:#f7f4ef}
.btn-champagne:hover,.btn-dark:hover,.mobile-nav .btn:hover,.sticky-cta .btn:hover{
  background:var(--forest-btn-hover);border-color:var(--forest-btn-hover);color:#fff}
/* on the dark header / dark bands, a fine champagne edge keeps the green button visible */
.header .btn-champagne,.hero .btn-champagne,.mobile-nav .btn{border-color:rgba(222,196,156,.55)}
.header .btn-champagne:hover,.hero .btn-champagne:hover{border-color:var(--champagne-lt)}
.gw-m1{width:94%}.gw-m2{width:64%}.gw-about-media{padding-bottom:20%}
/* wide renders: stack with a light overlap instead of covering each other */
.gw-about-media{padding-bottom:0}
.gw-m1{width:92%}
.gw-m2{position:relative;left:auto;bottom:auto;width:66%;margin-top:-56px}
.gw-badge{right:6%;bottom:8%}
.gw-cap{bottom:-26px}
@media (max-width:900px){.gw-m2{margin-top:-30px;width:70%}.gw-badge{bottom:4%}}
.gw-m2{margin-top:-18px}@media (max-width:900px){.gw-m2{margin-top:-12px}}

/* ==========================================================================
   Amenity tabs (Wilds-style): texture, serif caps, copper brush rules
   ========================================================================== */
:root{
  --copper:#c8742f;
  --brush:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 6' preserveAspectRatio='none'%3E%3Cpath d='M1 3.4C60 2.4 120 3.9 180 3S300 2.2 360 3.2 480 4 540 2.9 590 3.3 599 3' fill='none' stroke='%23c8742f' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M40 4.2C140 3.8 260 4.6 380 4S520 3.6 570 4' fill='none' stroke='%23c8742f' stroke-width='.6' stroke-linecap='round' opacity='.6'/%3E%3C/svg%3E");
}
.wt-sec{position:relative;padding:0 0 clamp(70px,8vw,120px);color:#f3efe3;
  background:#2c4a22 url(../img/green-texture-1200.webp) center/cover no-repeat}
@media (min-width:1200px){.wt-sec{background-image:url(../img/green-texture.webp)}}
.wt-tabs{display:flex;justify-content:space-between;gap:30px;max-width:1360px;margin:0 auto;padding:46px 40px 0}
.wt-tab{position:relative;border:0;background:none;padding:6px 6px 22px;color:rgba(243,239,227,.82);
  font-family:var(--display);font-weight:500;font-size:clamp(1rem,1.5vw,1.45rem);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color .3s;white-space:nowrap}
.wt-tab:hover{color:#fff}
.wt-tab[aria-selected="true"]{color:#fff}
.wt-tab::after{content:"";position:absolute;left:-20px;right:-20px;bottom:0;height:6px;background:var(--brush) center/100% 100% no-repeat;opacity:0;transform:scaleX(.6);transition:opacity .35s,transform .35s}
.wt-tab[aria-selected="true"]::after{opacity:1;transform:none}

.wt-panel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:start;max-width:1360px;margin:0 auto;padding:clamp(60px,7vw,110px) 40px 0;animation:wtFade .6s ease}
.wt-panel[hidden]{display:none}
@keyframes wtFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.wt-title{font-family:var(--display);font-weight:500;font-size:clamp(2rem,3.4vw,3rem);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 26px;line-height:1.1}
.wt-intro{font-family:var(--display);font-weight:500;font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.6;color:rgba(243,239,227,.92);margin:0 0 44px;max-width:640px}
.wt-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;max-width:640px;position:relative}
.wt-list::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--brush) center/100% 100% no-repeat}
.wt-item{position:relative;padding:0}
.wt-item::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--brush) center/100% 100% no-repeat}
.wt-q{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 17px;cursor:pointer;
  font-family:var(--display);font-weight:500;font-size:1.08rem;color:#f3efe3;letter-spacing:.01em}
.wt-q:focus-visible{outline:1px solid var(--copper);outline-offset:3px}
.wt-q svg{flex:none;width:24px;height:12px;fill:none;stroke:var(--copper);stroke-width:1.4;transition:transform .35s}
.wt-item.open .wt-q svg{transform:rotate(180deg)}
.wt-a{margin:0;max-height:0;overflow:hidden;font-size:.86rem;line-height:1.65;color:rgba(243,239,227,.75);transition:max-height .4s ease,padding .4s ease}
.wt-item.open .wt-a{max-height:140px;padding:0 0 16px}

.wt-media{position:relative;margin:0}
.wt-media img{width:100%;height:auto;display:block}
.wt-media .wt-edge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(16px,2.2vw,28px);display:block}
.wt-media .wt-edge path{fill:#2d4b23}
.wt-media figcaption{position:absolute;right:10px;bottom:28px;font-size:.6rem;letter-spacing:.06em;color:rgba(255,255,255,.8)}
/* tall image kept whole: cap its height, width follows */
#wt-p1 .wt-media img{max-height:760px;width:auto;margin-left:auto}
#wt-p1 .wt-media{display:flex;justify-content:flex-end}
#wt-p1 .wt-media .wt-edge{left:auto;width:min(100%,507px)}

/* pricing now sits under a textured band: give it its own darker tone */
.pricing-sec{background-image:linear-gradient(rgba(8,20,12,.32),rgba(8,20,12,.32)),url(../img/green-texture-1200.webp)}
@media (min-width:1200px){.pricing-sec{background-image:linear-gradient(rgba(8,20,12,.32),rgba(8,20,12,.32)),url(../img/green-texture.webp)}}

@media (max-width:900px){
  .wt-tabs{justify-content:flex-start;overflow-x:auto;padding:30px 20px 0;gap:26px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .wt-tabs::-webkit-scrollbar{display:none}
  .wt-tab{font-size:.95rem;padding-bottom:16px}
  .wt-tab::after{left:-8px;right:-8px}
  .wt-panel{grid-template-columns:1fr;padding:48px 20px 0;gap:40px}
  .wt-list{grid-template-columns:1fr}
  #wt-p1 .wt-media img{max-height:520px}
  #wt-p1 .wt-media{justify-content:center}
}
/* torn edge cut into the image with a mask, so the texture shows through */
.wt-media .wt-edge{display:none}
.wt-media img{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 28' preserveAspectRatio='none'%3E%3Cpath d='M0 0H640V12C620 7 580 10 540 19S460 12 420 4 340 11 300 20 230 13 190 6 110 12 70 18 40 10 0 14Z'/%3E%3C/svg%3E") bottom/100% 28px no-repeat,linear-gradient(#000,#000) top/100% calc(100% - 27px) no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 28' preserveAspectRatio='none'%3E%3Cpath d='M0 0H640V12C620 7 580 10 540 19S460 12 420 4 340 11 300 20 230 13 190 6 110 12 70 18 40 10 0 14Z'/%3E%3C/svg%3E") bottom/100% 28px no-repeat,linear-gradient(#000,#000) top/100% calc(100% - 27px) no-repeat}
.wt-list{align-items:start}

/* ==========================================================================
   Pricing & payment (redesign)
   ========================================================================== */
.gp-sec{position:relative;padding:clamp(90px,10vw,140px) 0;background:
  radial-gradient(50% 60% at 0 0,rgba(184,160,120,.14),transparent 60%),
  linear-gradient(180deg,#f0efe6 0%,#e8e8dc 100%);color:#1a1c1f}
.gp-head{max-width:760px;margin-bottom:clamp(44px,5vw,70px)}
.gp-title{font-family:var(--display);font-weight:500;font-size:clamp(2.4rem,4.2vw,4rem);line-height:1.05;color:#14291d;margin:0 0 20px}
.gp-title em{font-style:italic;color:#a3865a}
.gp-lede{font-size:1rem;line-height:1.85;color:#4f5650;margin:0}

.gp-grid{display:grid;grid-template-columns:minmax(300px,.8fr) 2fr;gap:clamp(24px,3vw,40px);align-items:stretch}
.gp-feature{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,4vw,56px) clamp(28px,3vw,44px);color:#f3efe3;
  background:#2c4a22 url(../img/green-texture-1200.webp) center/cover;box-shadow:0 40px 80px -40px rgba(12,29,20,.6)}
.gp-feature::before{content:"";position:absolute;inset:12px;border:1px solid rgba(222,196,156,.35);pointer-events:none}
.gp-f-label{font-size:.66rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne-lt)}
.gp-f-price{font-family:var(--display);font-weight:500;font-size:clamp(3.2rem,5vw,4.6rem);line-height:1;margin:14px 0 6px;color:#fff}
.gp-f-price sup{font-size:.35em;color:var(--champagne-lt)}
.gp-f-rule{display:block;width:120px;height:6px;margin:16px 0 22px;background:var(--brush) center/100% 100% no-repeat}
.gp-f-facts{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:10px;font-size:.9rem;color:rgba(243,239,227,.85)}
.gp-f-facts b{font-family:var(--display);font-weight:500;font-size:1.35rem;color:#fff;margin-right:6px}
.gp-feature .btn{align-self:flex-start;position:relative;z-index:1}
.gp-f-note{margin-top:16px;font-size:.68rem;color:rgba(243,239,227,.6)}

.gp-rows{display:flex;flex-direction:column;border-top:1px solid rgba(20,41,29,.16)}
.gp-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;align-items:center;gap:20px;padding:24px 8px;border-bottom:1px solid rgba(20,41,29,.16);transition:background .35s,padding .35s}
.gp-row:hover{background:rgba(255,255,255,.55);padding-left:18px;padding-right:18px}
.gp-r-type h3{font-family:var(--display);font-weight:500;font-size:1.6rem;line-height:1.1;color:#14291d;margin:0 0 4px}
.gp-r-type span{font-size:.8rem;color:#6a6f68}
.gp-r-bed{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9a7f52}
.gp-r-price small{display:block;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:#8a8e96;margin-bottom:4px}
.gp-r-price b{font-family:var(--display);font-weight:500;font-size:1.3rem;color:#14291d}
.gp-r-cta{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(20,41,29,.3);background:transparent;padding:10px 16px;font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#14291d;cursor:pointer;transition:all .3s}
.gp-r-cta svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}
.gp-r-cta:hover{background:var(--forest-btn);border-color:var(--forest-btn);color:#fff}

.gp-journey{margin-top:clamp(70px,8vw,110px)}
.gp-j-title{font-family:var(--display);font-weight:500;font-size:clamp(1.6rem,2.4vw,2.2rem);color:#14291d;text-align:center;margin:0 0 46px}
.gp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;position:relative;counter-reset:s}
.gp-steps::before{content:"";position:absolute;left:10%;right:10%;top:27px;height:1px;background:linear-gradient(90deg,transparent,rgba(163,134,90,.6) 10%,rgba(163,134,90,.6) 90%,transparent)}
.gp-steps li{position:relative;text-align:center;padding:0 6px}
.gp-num{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;margin:0 auto 20px;border-radius:50%;background:#f3f1e8;border:1px solid #a3865a;font-family:var(--display);font-size:1.25rem;color:#14291d}
.gp-steps li:first-child .gp-num{background:var(--forest-btn);border-color:var(--forest-btn);color:#fff}
.gp-steps b{display:block;font-family:var(--display);font-weight:500;font-size:1.2rem;color:#14291d;margin-bottom:8px}
.gp-steps span:not(.gp-num){font-size:.84rem;line-height:1.6;color:#5d625c}

.gp-own{list-style:none;margin:clamp(60px,7vw,90px) 0 0;padding:28px 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(20,41,29,.16);border-bottom:1px solid rgba(20,41,29,.16)}
.gp-own li{display:flex;align-items:center;gap:16px;padding:6px 28px}
.gp-own li+li{border-left:1px solid rgba(20,41,29,.16)}
.gp-own svg{flex:none;width:44px;height:44px;padding:11px;border-radius:50%;background:#2c4a22 url(../img/green-texture-1200.webp) center/cover;fill:var(--champagne-lt)}
.gp-own b{display:block;font-family:var(--display);font-weight:500;font-size:1.2rem;color:#14291d}
.gp-own span{font-size:.8rem;color:#5d625c}
.gp-foot{margin:18px 0 0;font-size:.7rem;color:#8a8e96;text-align:center}

@media (max-width:1100px){
  .gp-grid{grid-template-columns:1fr}
  .gp-steps{grid-template-columns:1fr;gap:0;max-width:560px;margin:0 auto}
  .gp-steps::before{left:27px;right:auto;top:28px;bottom:28px;width:1px;height:auto;background:rgba(163,134,90,.5)}
  .gp-steps li{display:grid;grid-template-columns:56px 1fr;column-gap:20px;text-align:left;padding:0 0 26px}
  .gp-num{grid-row:span 2;margin:0}
  .gp-own{grid-template-columns:1fr;padding:10px 0}
  .gp-own li{padding:16px 0}
  .gp-own li+li{border-left:0;border-top:1px solid rgba(20,41,29,.16)}
}
@media (max-width:700px){
  .gp-row{grid-template-columns:1fr auto;row-gap:10px;padding:20px 0}
  .gp-row:hover{padding-left:0;padding-right:0;background:none}
  .gp-r-type{grid-column:1/-1}
  .gp-r-bed{grid-column:1/-1}
  .gp-r-cta{padding:9px 12px}
  .gp-f-label,.gp-r-bed{font-weight:500}
}
.gp-title em{display:block}
.gp-head-cta{margin-top:30px}
/* pricing background: warm champagne + faint palm-frond line art each side */
.gp-sec{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 700' fill='none' stroke='%23a3865a' stroke-width='1.1' stroke-linecap='round' opacity='.55'%3E%3Cpath d='M200 700C196 560 190 420 214 280S280 60 300 0'/%3E%3Cpath d='M203 640c-50-6-96-36-128-82M203 640c48-14 86-48 108-98'/%3E%3Cpath d='M200 570c-50-6-96-36-128-82M200 570c48-14 86-48 108-98'/%3E%3Cpath d='M199 500c-50-6-96-36-128-82M199 500c48-14 86-48 108-98'/%3E%3Cpath d='M202 430c-50-6-96-36-128-82M202 430c48-14 86-48 108-98'/%3E%3Cpath d='M209 360c-50-6-96-36-128-82M209 360c48-14 86-48 108-98'/%3E%3Cpath d='M220 290c-50-6-96-36-128-82M220 290c48-14 86-48 108-98'/%3E%3Cpath d='M236 220c-50-6-96-36-128-82M236 220c48-14 86-48 108-98'/%3E%3Cpath d='M256 150c-50-6-96-36-128-82M256 150c48-14 86-48 108-98'/%3E%3Cpath d='M278 80c-50-6-96-36-128-82M278 80c48-14 86-48 108-98'/%3E%3Cpath d='M120 700C150 600 150 520 120 430M120 520c-36-10-60-34-72-66M128 600c34-14 54-40 62-74'/%3E%3C/svg%3E") left -60px bottom -40px/340px auto no-repeat,
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 700' fill='none' stroke='%23a3865a' stroke-width='1.1' stroke-linecap='round' opacity='.55'%3E%3Cpath d='M200 700C196 560 190 420 214 280S280 60 300 0'/%3E%3Cpath d='M203 640c-50-6-96-36-128-82M203 640c48-14 86-48 108-98'/%3E%3Cpath d='M200 570c-50-6-96-36-128-82M200 570c48-14 86-48 108-98'/%3E%3Cpath d='M199 500c-50-6-96-36-128-82M199 500c48-14 86-48 108-98'/%3E%3Cpath d='M202 430c-50-6-96-36-128-82M202 430c48-14 86-48 108-98'/%3E%3Cpath d='M209 360c-50-6-96-36-128-82M209 360c48-14 86-48 108-98'/%3E%3Cpath d='M220 290c-50-6-96-36-128-82M220 290c48-14 86-48 108-98'/%3E%3Cpath d='M236 220c-50-6-96-36-128-82M236 220c48-14 86-48 108-98'/%3E%3Cpath d='M256 150c-50-6-96-36-128-82M256 150c48-14 86-48 108-98'/%3E%3Cpath d='M278 80c-50-6-96-36-128-82M278 80c48-14 86-48 108-98'/%3E%3Cpath d='M120 700C150 600 150 520 120 430M120 520c-36-10-60-34-72-66M128 600c34-14 54-40 62-74'/%3E%3C/svg%3E") right -70px top 40px/380px auto no-repeat,
  radial-gradient(60% 50% at 50% 0,rgba(255,255,255,.55),transparent 70%),
  linear-gradient(180deg,#efe4cf 0%,#e6d7bb 100%)}
.gp-sec .wrap-wide{position:relative;z-index:1}
.gp-row:hover{background:rgba(255,250,240,.6)}
.gp-num{background:#f4ead7}
@media (max-width:700px){.gp-sec{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 700' fill='none' stroke='%23a3865a' stroke-width='1.1' stroke-linecap='round' opacity='.55'%3E%3Cpath d='M200 700C196 560 190 420 214 280S280 60 300 0'/%3E%3Cpath d='M203 640c-50-6-96-36-128-82M203 640c48-14 86-48 108-98'/%3E%3Cpath d='M200 570c-50-6-96-36-128-82M200 570c48-14 86-48 108-98'/%3E%3Cpath d='M199 500c-50-6-96-36-128-82M199 500c48-14 86-48 108-98'/%3E%3Cpath d='M202 430c-50-6-96-36-128-82M202 430c48-14 86-48 108-98'/%3E%3Cpath d='M209 360c-50-6-96-36-128-82M209 360c48-14 86-48 108-98'/%3E%3Cpath d='M220 290c-50-6-96-36-128-82M220 290c48-14 86-48 108-98'/%3E%3Cpath d='M236 220c-50-6-96-36-128-82M236 220c48-14 86-48 108-98'/%3E%3Cpath d='M256 150c-50-6-96-36-128-82M256 150c48-14 86-48 108-98'/%3E%3Cpath d='M278 80c-50-6-96-36-128-82M278 80c48-14 86-48 108-98'/%3E%3Cpath d='M120 700C150 600 150 520 120 430M120 520c-36-10-60-34-72-66M128 600c34-14 54-40 62-74'/%3E%3C/svg%3E") right -120px top 20px/260px auto no-repeat,
  linear-gradient(180deg,#efe4cf 0%,#e6d7bb 100%)}}
.gp-sec{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 700' fill='none' stroke='%23a3865a' stroke-width='1.1' stroke-linecap='round' opacity='.32'%3E%3Cpath d='M200 700C196 560 190 420 214 280S280 60 300 0'/%3E%3Cpath d='M203 640c-50-6-96-36-128-82M203 640c48-14 86-48 108-98'/%3E%3Cpath d='M200 570c-50-6-96-36-128-82M200 570c48-14 86-48 108-98'/%3E%3Cpath d='M199 500c-50-6-96-36-128-82M199 500c48-14 86-48 108-98'/%3E%3Cpath d='M202 430c-50-6-96-36-128-82M202 430c48-14 86-48 108-98'/%3E%3Cpath d='M209 360c-50-6-96-36-128-82M209 360c48-14 86-48 108-98'/%3E%3Cpath d='M220 290c-50-6-96-36-128-82M220 290c48-14 86-48 108-98'/%3E%3Cpath d='M236 220c-50-6-96-36-128-82M236 220c48-14 86-48 108-98'/%3E%3Cpath d='M256 150c-50-6-96-36-128-82M256 150c48-14 86-48 108-98'/%3E%3Cpath d='M278 80c-50-6-96-36-128-82M278 80c48-14 86-48 108-98'/%3E%3Cpath d='M120 700C150 600 150 520 120 430M120 520c-36-10-60-34-72-66M128 600c34-14 54-40 62-74'/%3E%3C/svg%3E") right -150px top 0/360px auto no-repeat,
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 700' fill='none' stroke='%23a3865a' stroke-width='1.1' stroke-linecap='round' opacity='.32'%3E%3Cpath d='M200 700C196 560 190 420 214 280S280 60 300 0'/%3E%3Cpath d='M203 640c-50-6-96-36-128-82M203 640c48-14 86-48 108-98'/%3E%3Cpath d='M200 570c-50-6-96-36-128-82M200 570c48-14 86-48 108-98'/%3E%3Cpath d='M199 500c-50-6-96-36-128-82M199 500c48-14 86-48 108-98'/%3E%3Cpath d='M202 430c-50-6-96-36-128-82M202 430c48-14 86-48 108-98'/%3E%3Cpath d='M209 360c-50-6-96-36-128-82M209 360c48-14 86-48 108-98'/%3E%3Cpath d='M220 290c-50-6-96-36-128-82M220 290c48-14 86-48 108-98'/%3E%3Cpath d='M236 220c-50-6-96-36-128-82M236 220c48-14 86-48 108-98'/%3E%3Cpath d='M256 150c-50-6-96-36-128-82M256 150c48-14 86-48 108-98'/%3E%3Cpath d='M278 80c-50-6-96-36-128-82M278 80c48-14 86-48 108-98'/%3E%3Cpath d='M120 700C150 600 150 520 120 430M120 520c-36-10-60-34-72-66M128 600c34-14 54-40 62-74'/%3E%3C/svg%3E") left -190px bottom -60px/360px auto no-repeat,
  radial-gradient(60% 50% at 50% 0,rgba(255,255,255,.55),transparent 70%),
  linear-gradient(180deg,#efe4cf 0%,#e6d7bb 100%)}
@media (max-width:1100px){.gp-sec{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 700' fill='none' stroke='%23a3865a' stroke-width='1.1' stroke-linecap='round' opacity='.32'%3E%3Cpath d='M200 700C196 560 190 420 214 280S280 60 300 0'/%3E%3Cpath d='M203 640c-50-6-96-36-128-82M203 640c48-14 86-48 108-98'/%3E%3Cpath d='M200 570c-50-6-96-36-128-82M200 570c48-14 86-48 108-98'/%3E%3Cpath d='M199 500c-50-6-96-36-128-82M199 500c48-14 86-48 108-98'/%3E%3Cpath d='M202 430c-50-6-96-36-128-82M202 430c48-14 86-48 108-98'/%3E%3Cpath d='M209 360c-50-6-96-36-128-82M209 360c48-14 86-48 108-98'/%3E%3Cpath d='M220 290c-50-6-96-36-128-82M220 290c48-14 86-48 108-98'/%3E%3Cpath d='M236 220c-50-6-96-36-128-82M236 220c48-14 86-48 108-98'/%3E%3Cpath d='M256 150c-50-6-96-36-128-82M256 150c48-14 86-48 108-98'/%3E%3Cpath d='M278 80c-50-6-96-36-128-82M278 80c48-14 86-48 108-98'/%3E%3Cpath d='M120 700C150 600 150 520 120 430M120 520c-36-10-60-34-72-66M128 600c34-14 54-40 62-74'/%3E%3C/svg%3E") right -170px top 0/300px auto no-repeat,
  linear-gradient(180deg,#efe4cf 0%,#e6d7bb 100%)}}

/* ==========================================================================
   Footer (redesign)
   ========================================================================== */
.gf{position:relative;color:rgba(243,239,227,.78);background:#1f3a1a url(../img/green-texture-1200.webp) center/cover no-repeat}
@media (min-width:1200px){.gf{background-image:url(../img/green-texture.webp)}}
.gf::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,16,9,.15) 0%,rgba(6,16,9,.55) 100%);pointer-events:none}
.gf>*{position:relative}
.gf-cta{border-bottom:1px solid rgba(222,196,156,.22)}
.gf-cta-in{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:clamp(56px,6vw,84px);padding-bottom:clamp(56px,6vw,84px)}
.gf-kicker{display:inline-flex;align-items:center;gap:14px;font-size:.66rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne-lt);margin-bottom:14px}
.gf-kicker::before{content:"";width:40px;height:1px;background:var(--champagne-lt)}
.gf-cta-title{font-family:var(--display);font-weight:500;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.08;color:#fff;margin:0}
.gf-cta-title em{font-style:italic;color:var(--champagne-lt)}
.gf .btn-champagne{flex:none;border-color:rgba(222,196,156,.55)}

.gf-main{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(56px,6vw,80px);padding-bottom:clamp(44px,5vw,64px)}
.gf-logo img{width:clamp(200px,20vw,270px);height:auto;display:block}
.gf-rule{display:block;width:160px;height:6px;margin:30px auto;background:var(--brush) center/100% 100% no-repeat}
.gf-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 36px;margin-bottom:clamp(40px,5vw,56px)}
.gf-nav a{font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(243,239,227,.85);text-decoration:none;transition:color .3s}
.gf-nav a:hover{color:var(--champagne-lt)}
.gf-disc{max-width:900px;padding:28px 34px;border:1px solid rgba(222,196,156,.25);background:rgba(6,16,9,.25)}
.gf-disc-label{display:block;font-size:.62rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne-lt);margin-bottom:12px}
.gf-disc p{margin:0;font-size:.8rem;line-height:1.8;color:rgba(243,239,227,.72)}

.gf-bottom{border-top:1px solid rgba(222,196,156,.22);background:rgba(4,12,7,.35)}
.gf-bottom-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px;font-size:.74rem;color:rgba(243,239,227,.6)}
.gf-top{display:inline-flex;align-items:center;gap:8px;font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,239,227,.8);text-decoration:none}
.gf-top svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}
.gf-top:hover{color:var(--champagne-lt)}

@media (max-width:800px){
  .gf-cta-in{flex-direction:column;align-items:flex-start}
  .gf-nav{gap:14px 22px}
  .gf-nav a,.gf-top,.gf-kicker,.gf-disc-label{font-weight:500}
  .gf-disc{padding:22px 20px}
  .gf-bottom-in{flex-direction:column;text-align:center;padding-bottom:96px}
}
.gf-disc{border:0;background:none;padding:0}@media (max-width:800px){.gf-disc{padding:0}}
/* all three tab images are portrait renders: same treatment as panel 1 */
.wt-panel .wt-media{display:flex;justify-content:flex-end}
.wt-panel .wt-media img{max-height:720px;width:auto;margin-left:auto}
@media (max-width:900px){.wt-panel .wt-media{justify-content:center}.wt-panel .wt-media img{max-height:520px}}
/* community lounge render is portrait: show it whole, capped in height */
#masterplan .mp-media{background:transparent;display:flex;justify-content:center}
#masterplan .mp-media img{height:auto;max-height:620px;width:auto;max-width:100%;object-fit:contain;transform:none;animation:none}
/* torn-edge renders: let the card colour show through the transparent edge */
.hl-tile > img:not(.hl-tile-mark){background:transparent}
#masterplan .mp-media{border-radius:0}
.gf-bottom-in{justify-content:center}
.hl-lede{margin:1.4rem auto 0;max-width:640px;font-size:1rem;line-height:1.85;color:#4f5650}


/* no italics anywhere: accent words keep their gold colour only */
*,*::before,*::after{font-style:normal!important}
