@font-face {
  font-family: "Zalorine";
  src: url("../fonts/Zalorine.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("../fonts/GeneralSans-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("../fonts/GeneralSans-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("../fonts/GeneralSans-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("../fonts/GeneralSans-Semibold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("../fonts/GeneralSans-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}

:root {
  --navy: #212642;
  --navy-deep: #14182d;
  --gold: #d4b033;
  --gold-soft: #e2ca73;
  --cream: #f4f0e7;
  --ink: #1c2036;
  --white: #ffffff;
  --display-font: "Zalorine", Georgia, serif;
  --body-font: "General Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--cream); font-family: var(--body-font); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  height: 104px;
  padding: 0 clamp(24px, 5vw, 78px);
  display: grid;
  grid-template-columns: 190px 1fr auto;
  align-items: center;
  gap: 32px;
  border-bottom: 1px solid rgba(255,255,255,.22);
  color: var(--white);
  transition: height .35s ease, background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.site-header.is-scrolled { height: 78px; background: rgba(15,18,38,.9); border-color: rgba(255,255,255,.1); box-shadow: 0 12px 35px rgba(8,10,24,.18); backdrop-filter: blur(16px); }
.brand img { width: 154px; height: auto; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.2vw, 42px); }
.main-nav a { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; transition: color .25s ease; }
.main-nav a:hover { color: var(--gold-soft); }
.header-cta { display: inline-flex; align-items: center; gap: 11px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.header-cta svg, .text-link svg, .button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.menu-toggle { display: none; border: 0; background: none; color: white; }

.hero { height: 190svh; position: relative; color: var(--white); --hero-progress: 0; }
.hero-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; display: flex; align-items: flex-end; background: var(--navy-deep); }
.hero-picture { position: absolute; inset: 0; display: block; overflow: hidden; }
.hero-media, .creek-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-media { height: 110%; top: -5%; animation: imageFade 2s ease both; transform: translate3d(0, calc(var(--hero-progress) * 52px), 0) scale(calc(1.085 - var(--hero-progress) * .035)); transform-origin: 50% 58%; will-change: transform; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,11,25,.91) 0%, rgba(15,19,38,.67) 45%, rgba(8,11,25,.12) 78%), linear-gradient(0deg, rgba(7,10,23,.72), transparent 58%); }
.hero-shade::after { content: ""; position: absolute; inset: 0; background: rgba(8,11,25,calc(var(--hero-progress) * .24)); }
.hero-content { position: relative; z-index: 2; width: min(900px, 86vw); padding: 180px clamp(24px, 8.5vw, 142px) 92px; transform: translate3d(0, calc(var(--hero-progress) * -56px), 0); will-change: transform; }
.eyebrow { margin: 0 0 22px; color: var(--gold); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .25em; }
.hero-kicker { margin-bottom: 18px; color: var(--gold-soft); animation: riseIn 1.2s .18s ease both; opacity: calc(1 - var(--hero-progress) * 1.15); }
h1, h2 { margin: 0; font-family: var(--display-font); font-weight: 400; letter-spacing: -.035em; }
.hero h1 { font-size: clamp(60px, 6.75vw, 104px); line-height: .88; letter-spacing: -.052em; }
.hero-line { display: block; overflow: hidden; padding: 0 .08em .08em 0; }
.hero-line > span { display: block; animation: titleReveal 1.55s cubic-bezier(.16,.8,.2,1) both; }
.hero-line:nth-child(2) > span { animation-delay: .16s; }
.hero-line:nth-child(3) > span { animation-delay: .32s; }
.hero-line-accent { color: var(--gold-soft); font-style: italic; }
.hero-detail { max-width: 720px; opacity: calc(1 - var(--hero-progress) * 1.05); transform: translate3d(0, calc(var(--hero-progress) * -18px), 0); }
.hero-copy { max-width: 610px; margin: 22px 0 0; color: rgba(255,255,255,.76); font-size: clamp(14px, 1.05vw, 17px); line-height: 1.72; animation: riseIn 1.25s .58s ease both; }
.hero-actions { display: flex; align-items: center; gap: 34px; margin-top: 29px; animation: riseIn 1.25s .74s ease both; }
.button { min-height: 54px; padding: 0 25px; display: inline-flex; align-items: center; justify-content: center; gap: 25px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; transition: transform .25s ease, background .25s ease, color .25s ease; }
.button:hover { transform: translateY(-3px); }
.button-gold { background: var(--gold); color: var(--navy-deep); }
.text-link { display: inline-flex; align-items: center; gap: 13px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.hero-index { position: absolute; z-index: 3; right: clamp(24px, 5vw, 78px); bottom: 42px; display: flex; align-items: center; gap: 10px; font-size: 9px; text-transform: uppercase; letter-spacing: .16em; opacity: calc(1 - var(--hero-progress) * 1.4); }
.hero-index i { width: 62px; height: 1px; background: rgba(255,255,255,.4); position: relative; }
.hero-index i::before { content: ""; display: block; width: 25%; height: 100%; background: var(--gold); }
.scroll-cue { position: absolute; z-index: 3; right: -45px; top: 48%; display: flex; align-items: center; gap: 15px; transform: rotate(90deg); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; }
.scroll-cue i { width: 54px; height: 1px; background: var(--gold); }

.section-shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; position: relative; }
.about { padding: 150px 0 125px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 54px 118px; }
.section-number { position: absolute; right: 0; top: 142px; color: rgba(33,38,66,.25); font-family: var(--display-font); font-size: 17px; }
.about-heading h2 { font-size: clamp(48px, 5vw, 76px); line-height: 1.04; color: var(--navy); }
.about-copy { max-width: 760px; padding: 38px 0 0; }
.about-copy p { margin: 0 0 28px; color: #282d46; font-family: var(--display-font); font-size: clamp(22px, 2vw, 28px); font-weight: 400; line-height: 1.52; letter-spacing: -.018em; }
.about-copy .text-link { margin-top: 15px; }
.text-link.dark { margin-top: 18px; color: var(--navy); }
.about-image-wrap { grid-column: 1 / -1; height: min(58vw, 620px); margin-top: 20px; position: relative; overflow: hidden; }
.about-image-wrap > img { width: 100%; height: 115%; margin-top: -7.5%; object-fit: cover; transition: transform .5s ease; }
.about-image-wrap:hover > img { transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.11); }
.experience-card { position: absolute; right: 0; bottom: 0; min-width: 280px; padding: 30px 34px; display: flex; align-items: center; gap: 18px; background: var(--navy); color: white; }
.experience-card strong { color: var(--gold); font-family: var(--display-font); font-size: 54px; font-weight: 400; }
.experience-card span { font-size: 11px; font-weight: 700; line-height: 1.5; text-transform: uppercase; letter-spacing: .14em; }
.stats-row { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(33,38,66,.22); }
.stats-row > div { padding: 32px 0 0; display: flex; align-items: baseline; gap: 16px; }
.stats-row > div + div { border-left: 1px solid rgba(33,38,66,.22); padding-left: 42px; }
.stats-row strong { color: var(--navy); font-family: var(--display-font); font-size: clamp(34px, 3vw, 50px); font-weight: 400; }
.stats-row span { color: #747587; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }

.creek-intro { min-height: 820px; position: relative; display: flex; align-items: center; overflow: hidden; color: white; }
.creek-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16,20,41,.93), rgba(16,20,41,.56) 48%, rgba(16,20,41,.08)); }
.creek-content { position: relative; z-index: 2; width: min(620px, calc(100% - 48px)); margin-left: max(24px, calc((100% - 1240px) / 2)); }
.creek-content h2 { font-size: clamp(58px, 7vw, 100px); line-height: .92; }
.creek-content h2 em { color: var(--gold-soft); font-weight: 400; }
.creek-content p:not(.eyebrow) { max-width: 500px; margin: 30px 0; color: rgba(255,255,255,.8); font-size: 16px; line-height: 1.8; }
.button-outline { border: 1px solid rgba(255,255,255,.6); color: white; }
.button-outline:hover { background: var(--gold); border-color: var(--gold); color: var(--navy); }

.section-topline { padding: 130px 0 58px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.section-topline h2, .amenities-heading h2, .gallery-title h2, .journal-head h2, .faq-heading h2 { color: var(--navy); font-size: clamp(48px, 5vw, 76px); line-height: 1.03; }
.section-topline > p, .gallery-title > p { max-width: 520px; margin: 0 0 7px; color: #6b6d7b; font-size: 16px; line-height: 1.8; }
.highlight-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 130px; border-top: 1px solid rgba(33,38,66,.2); border-left: 1px solid rgba(33,38,66,.2); }
.highlight-card { min-height: 290px; padding: 30px 34px; position: relative; border-right: 1px solid rgba(33,38,66,.2); border-bottom: 1px solid rgba(33,38,66,.2); transition: background .3s ease, color .3s ease, opacity .8s ease, transform .8s cubic-bezier(.2,.65,.3,1); }
.highlight-card:hover { background: var(--navy); color: white; }
.card-index { position: absolute; right: 28px; top: 28px; color: #9a9ba5; font-family: var(--display-font); font-size: 13px; }
.feature-icon { width: 45px; height: 45px; margin-top: 25px; fill: none; stroke: var(--gold); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.highlight-card h3 { margin: 48px 0 12px; font-family: var(--display-font); font-size: 27px; font-weight: 400; }
.highlight-card p { margin: 0; color: #7c7d89; font-size: 13px; line-height: 1.6; transition: color .3s ease; }
.highlight-card:hover p { color: rgba(255,255,255,.65); }

.properties { background: var(--navy); color: white; }
.horizontal-scroll { height: 430vh; position: relative; }
.horizontal-sticky { height: 100svh; position: sticky; top: 0; display: flex; flex-direction: column; overflow: hidden; background: var(--navy); }
.horizontal-heading { flex: 0 0 auto; padding: clamp(42px, 7vh, 72px) 0 30px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; }
.horizontal-heading h2 { margin: 0; color: white; font-size: clamp(46px, 4.7vw, 72px); line-height: .98; }
.horizontal-intro > p { max-width: 550px; margin: 0 0 22px; color: rgba(255,255,255,.62); font-size: 15px; line-height: 1.75; }
.property-track { flex: 1 1 auto; width: max-content; padding: 0 max(24px, calc((100vw - 1240px) / 2)) 56px; display: flex; align-items: flex-start; gap: 18px; will-change: transform; transition: transform .16s cubic-bezier(.22,.7,.26,1); }
.property-card { width: clamp(370px, 31vw, 460px); height: clamp(480px, 59vh, 620px); flex: 0 0 auto; display: grid; grid-template-rows: 56% 44%; overflow: hidden; background: #181d35; box-shadow: 0 18px 50px rgba(7,9,24,.18); }
.property-image { height: 100%; position: relative; overflow: hidden; }
.property-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12,15,31,.48), transparent 55%); }
.property-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.65,.3,1); }
.property-card:hover .property-image img { transform: scale(1.06); }
.property-image > span { position: absolute; z-index: 2; left: 20px; top: 20px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.55); color: white; font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.property-body { min-height: 0; padding: 21px 24px; position: relative; }
.property-body > p { margin: 0 0 16px; color: var(--gold); font-family: var(--display-font); font-size: 13px; }
.property-body h3 { margin: 0 0 26px; font-family: var(--display-font); font-size: 29px; font-weight: 400; }
.property-body dl { margin: 0; }
.property-body dl div { padding: 10px 0; display: grid; grid-template-columns: 60px 1fr; gap: 10px; border-top: 1px solid rgba(255,255,255,.12); }
.property-body dt { color: rgba(255,255,255,.45); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.property-body dd { margin: 0; color: rgba(255,255,255,.75); font-size: 11px; }
.property-body > a { position: absolute; right: 22px; bottom: 21px; width: 41px; height: 41px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); transition: background .25s ease, color .25s ease; }
.property-body > a:hover { background: var(--gold); color: var(--navy); }
.property-body > a svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.property-final-card { width: clamp(370px, 31vw, 460px); height: clamp(480px, 59vh, 620px); flex: 0 0 auto; padding: clamp(34px, 5vw, 68px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border: 1px solid rgba(212,176,51,.45); background: linear-gradient(145deg, #171b33, #292f52); }
.property-final-card h3 { margin: 0 0 22px; font-family: var(--display-font); font-size: clamp(38px, 3.2vw, 54px); font-weight: 400; line-height: 1.02; }
.property-final-card > p:not(.eyebrow) { margin: 0 0 32px; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.7; }

.payment-plans { min-height: 100svh; padding: 130px 0 120px; position: relative; overflow: hidden; color: white; background: var(--navy-deep); }
.payment-media { position: absolute; inset: -7% 0; width: 100%; height: 114%; object-fit: cover; transform: translate3d(0, var(--parallax-y), 0) scale(1.035); filter: saturate(.7); }
.payment-shade { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(9,12,28,.94), rgba(15,20,40,.72) 55%, rgba(9,12,28,.82)), linear-gradient(0deg, rgba(9,12,28,.72), transparent 55%); }
.payment-content { z-index: 1; }
.payment-heading { margin-bottom: 54px; display: grid; grid-template-columns: .95fr 1.05fr; gap: 90px; align-items: end; }
.payment-heading h2 { color: white; font-size: clamp(52px, 5.6vw, 82px); line-height: .94; }
.payment-heading h2 em { color: var(--gold-soft); font-weight: 400; }
.payment-heading > p { max-width: 580px; margin: 0 0 7px; color: rgba(255,255,255,.64); font-size: 15px; line-height: 1.75; }
.payment-workspace { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 18px; align-items: stretch; }
.plan-selector { padding: 20px; background: rgba(10,14,30,.76); border: 1px solid rgba(255,255,255,.17); backdrop-filter: blur(18px); }
.selector-label { min-height: 58px; padding: 0 4px 14px; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.14); }
.selector-label span { color: rgba(255,255,255,.48); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .17em; }
.selector-label strong { color: var(--gold-soft); font-family: var(--display-font); font-size: 20px; font-weight: 400; }
.plan-selector button { width: 100%; min-height: 67px; padding: 10px 4px; display: grid; grid-template-columns: 28px 1fr 18px; align-items: center; gap: 10px; border: 0; border-bottom: 1px solid rgba(255,255,255,.12); background: transparent; color: white; text-align: left; cursor: pointer; transition: padding .45s cubic-bezier(.16,.75,.24,1), background .45s ease, color .45s ease; }
.plan-selector button:hover, .plan-selector button.is-active { padding-left: 13px; background: rgba(212,176,51,.13); }
.plan-selector button > span:first-child { color: var(--gold-soft); font-family: var(--display-font); font-size: 12px; }
.plan-selector button > span:nth-child(2) { display: flex; flex-direction: column; gap: 7px; }
.plan-selector button strong { font-family: var(--display-font); font-size: 18px; font-weight: 400; }
.plan-selector button small { color: rgba(255,255,255,.46); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.plan-selector button i { color: rgba(255,255,255,.3); font-style: normal; transition: transform .3s ease, color .3s ease; }
.plan-selector button.is-active i { color: var(--gold-soft); transform: translate(2px,-2px); }
.plan-panel { min-width: 0; padding: clamp(28px,3.4vw,50px); display: flex; flex-direction: column; background: rgba(248,245,237,.97); color: var(--navy); box-shadow: 0 28px 80px rgba(4,7,17,.28); }
.plan-panel-top { padding-bottom: 27px; display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; border-bottom: 1px solid rgba(33,38,66,.18); }
.plan-panel-top p { margin: 0 0 9px; color: #85848b; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.plan-panel-top h3 { margin: 0; font-family: var(--display-font); font-size: clamp(32px,3.2vw,47px); font-weight: 400; letter-spacing: -.035em; }
.plan-status { display: inline-flex; align-items: center; gap: 8px; color: #5f6270; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.plan-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(212,176,51,.15); }
.plan-status.is-sold i { background: #a55b5b; box-shadow: 0 0 0 5px rgba(165,91,91,.13); }
.plan-viewer-controls { padding: 13px 0; display: flex; align-items: center; justify-content: flex-end; gap: 7px; border-bottom: 1px solid rgba(33,38,66,.15); }
.plan-viewer-controls button { min-width: 36px; height: 34px; padding: 0 11px; border: 1px solid rgba(33,38,66,.18); background: transparent; color: var(--navy); cursor: pointer; transition: background .3s ease, color .3s ease, border-color .3s ease; }
.plan-viewer-controls button:hover { border-color: var(--navy); background: var(--navy); color: white; }
.plan-viewer-controls span { min-width: 48px; color: #747681; font-size: 10px; text-align: center; }
.plan-viewer-controls button:last-child { margin-left: 5px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.plan-image-canvas { min-height: 430px; height: min(50vw,530px); padding: 22px; display: grid; place-items: center; overflow: auto; background: #e9e7e1; }
.plan-image-canvas img { width: auto; max-width: 100%; max-height: 100%; object-fit: contain; transform-origin: center; box-shadow: 0 16px 45px rgba(24,28,49,.12); animation: planReveal 1s cubic-bezier(.16,.75,.24,1) both; transition: transform .45s cubic-bezier(.16,.75,.24,1); }
.plan-panel-bottom { margin-top: auto; padding-top: 24px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-top: 1px solid rgba(33,38,66,.18); }
.plan-panel-bottom p { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.plan-panel-bottom strong { font-family: var(--display-font); font-size: 18px; font-weight: 400; }
.plan-panel-bottom span { color: #7d7f89; font-size: 10px; }
.plan-panel-bottom > div { display: flex; align-items: center; gap: 24px; }
.payment-note { margin: 18px 0 0; color: rgba(255,255,255,.42); font-size: 9px; line-height: 1.6; }

.payment-teaser { padding: 132px 0; position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 82% 25%, rgba(212,176,51,.16), transparent 28%), linear-gradient(135deg, #0c1024, #202642); }
.payment-teaser::before { content: ""; position: absolute; inset: 0; opacity: .11; background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px); background-size: 72px 72px; }
.payment-teaser-inner { z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: end; }
.payment-teaser h2 { color: white; font-size: clamp(54px,5.8vw,84px); line-height: .95; }
.payment-teaser h2 em { color: var(--gold-soft); font-weight: 400; }
.payment-teaser-copy > p { max-width: 600px; margin: 0 0 34px; color: rgba(255,255,255,.66); font-size: 15px; line-height: 1.75; }
.payment-teaser-facts { margin-bottom: 36px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.payment-teaser-facts span { padding: 20px 16px 20px 0; display: flex; flex-direction: column; gap: 7px; color: rgba(255,255,255,.52); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.payment-teaser-facts span + span { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.16); }
.payment-teaser-facts strong { color: white; font-family: var(--display-font); font-size: 25px; font-weight: 400; letter-spacing: 0; }

.payment-page { min-height: 100svh; background: #f6f2e9; color: var(--navy); }
.plan-site-header { height: 88px; padding: 0 clamp(22px,5vw,76px); position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 30px; color: white; background: rgba(13,17,36,.97); border-bottom: 1px solid rgba(255,255,255,.11); backdrop-filter: blur(14px); }
.plan-site-header > a:first-child img { width: 150px; height: auto; }
.plan-site-header nav { display: flex; justify-content: center; gap: clamp(22px,3vw,46px); }
.plan-site-header nav a, .plan-header-cta { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.plan-site-header nav a { color: rgba(255,255,255,.7); transition: color .3s ease; }
.plan-site-header nav a:hover { color: var(--gold-soft); }
.plan-header-cta { display: inline-flex; align-items: center; gap: 13px; }
.plan-header-cta span { color: var(--gold); font-size: 17px; }

.plans-index-hero, .plan-detail-hero { position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 80% 15%, rgba(212,176,51,.18), transparent 26%), linear-gradient(130deg,#0c1024,#252b4b); }
.plans-index-hero::after, .plan-detail-hero::after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.15) 1px, transparent 1px); background-size: 76px 76px; }
.plans-index-hero .section-shell, .plan-detail-hero .section-shell { z-index: 1; }
.plans-index-hero { min-height: 610px; padding: 125px 0 90px; }
.plans-index-hero h1 { max-width: 900px; color: white; font-size: clamp(65px,8vw,118px); line-height: .88; }
.plans-index-hero h1 em, .plan-detail-title h1 em, .rate-section-head h2 em, .plans-structure h2 em, .custom-plan-callout h2 em { color: var(--gold-soft); font-weight: 400; }
.plans-index-intro { margin-top: 56px; display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: end; }
.plans-index-intro > p { max-width: 620px; margin: 0; color: rgba(255,255,255,.64); font-size: 16px; line-height: 1.75; }
.plans-index-intro > span { min-width: 180px; padding-left: 25px; border-left: 1px solid rgba(255,255,255,.2); color: var(--gold-soft); font-size: 11px; line-height: 1.6; text-transform: uppercase; letter-spacing: .15em; }
.plans-index-intro > span strong { color: white; font-family: var(--display-font); font-size: 21px; font-weight: 400; text-transform: none; letter-spacing: 0; }

.plans-index-grid { padding: 110px 0 125px; display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.plan-index-card { min-height: 330px; padding: 32px; display: flex; flex-direction: column; border: 1px solid rgba(33,38,66,.16); background: rgba(255,255,255,.62); transition: transform .5s cubic-bezier(.16,.75,.24,1), background .4s ease, box-shadow .4s ease; }
.plan-index-card:hover { transform: translateY(-9px); background: white; box-shadow: 0 24px 60px rgba(20,24,45,.11); }
.plan-index-card > div { display: flex; justify-content: space-between; gap: 20px; }
.plan-index-card > div span { color: var(--gold); font-family: var(--display-font); font-size: 14px; }
.plan-index-card > div small { color: #8b8c94; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.plan-index-card h2 { margin: auto 0 10px; color: var(--navy); font-size: clamp(34px,3vw,48px); line-height: 1; }
.plan-index-card p { margin: 0 0 28px; color: #777986; font-size: 13px; }
.plan-index-card > strong { padding-top: 18px; display: flex; justify-content: space-between; border-top: 1px solid rgba(33,38,66,.15); color: var(--navy); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.plan-index-card > strong i { color: var(--gold); font-size: 16px; font-style: normal; }
.plans-index-grid .plan-index-card:last-child { grid-column: 2 / 3; }

.plans-structure { padding: 125px 0; color: white; background: var(--navy-deep); }
.plans-structure > div { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; }
.plans-structure h2 { color: white; font-size: clamp(50px,5.4vw,78px); line-height: .98; }
.structure-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.structure-grid article { min-height: 190px; padding: 27px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.structure-grid article > span { color: var(--gold); font-size: 9px; }
.structure-grid article strong { margin-top: auto; color: white; font-family: var(--display-font); font-size: 39px; font-weight: 400; }
.structure-grid article p { margin: 8px 0 0; color: rgba(255,255,255,.5); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }

.plan-detail-hero { padding: 52px 0 90px; }
.plan-breadcrumb { margin: 0 0 78px; display: flex; gap: 12px; color: rgba(255,255,255,.43); font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.plan-breadcrumb a { color: var(--gold-soft); }
.plan-detail-title { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; }
.plan-detail-title h1 { color: white; font-size: clamp(64px,8vw,112px); line-height: .87; }
.plan-detail-summary { padding-left: 27px; border-left: 1px solid rgba(255,255,255,.18); }
.plan-detail-summary > span { display: inline-flex; margin-bottom: 20px; padding: 8px 11px; border: 1px solid rgba(212,176,51,.5); color: var(--gold-soft); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.plan-detail-summary p { margin: 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.7; }

.floor-nav { margin-top: -1px; padding: 28px 0 0; display: grid; grid-template-columns: repeat(7,1fr); }
.floor-nav a { min-height: 112px; padding: 17px 15px; display: flex; flex-direction: column; border: 1px solid rgba(33,38,66,.13); border-right: 0; background: rgba(255,255,255,.5); transition: background .3s ease, color .3s ease; }
.floor-nav a:last-child { border-right: 1px solid rgba(33,38,66,.13); }
.floor-nav a[aria-current="page"], .floor-nav a:hover { background: var(--navy); color: white; }
.floor-nav a > span { color: var(--gold); font-size: 8px; }
.floor-nav a strong { margin-top: auto; font-family: var(--display-font); font-size: 16px; font-weight: 400; }
.floor-nav a small { margin-top: 5px; color: #82838c; font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.floor-nav a[aria-current="page"] small, .floor-nav a:hover small { color: rgba(255,255,255,.46); }

.plan-rate-section { padding: 105px 0 85px; }
.rate-section-head { margin-bottom: 42px; display: grid; grid-template-columns: 1fr .7fr; gap: 80px; align-items: end; }
.rate-section-head h2 { color: var(--navy); font-size: clamp(46px,5vw,72px); line-height: .98; }
.rate-section-head > p { max-width: 470px; margin: 0 0 5px; color: #747681; font-size: 13px; line-height: 1.7; }
.rate-table-wrap { overflow-x: auto; background: white; box-shadow: 0 26px 70px rgba(20,24,45,.09); }
.rate-table { width: 100%; min-width: 1260px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.rate-table th { height: 86px; padding: 15px 12px; color: white; background: var(--navy); border-right: 1px solid rgba(255,255,255,.13); font-size: 9px; text-align: left; text-transform: uppercase; letter-spacing: .1em; line-height: 1.35; }
.rate-table th small { color: rgba(255,255,255,.54); font-size: 7px; }
.rate-table td { min-height: 78px; padding: 22px 12px; border-right: 1px solid rgba(33,38,66,.1); border-bottom: 1px solid rgba(33,38,66,.12); color: #595c6b; font-size: 11px; white-space: nowrap; }
.rate-table tbody tr:hover td { background: rgba(212,176,51,.065); }
.rate-table td:first-child { min-width: 145px; color: var(--navy); }
.rate-table td:first-child strong { display: block; font-family: var(--display-font); font-size: 15px; font-weight: 400; }
.rate-table td:first-child small { display: block; margin: 5px 0 0 27px; color: #858690; font-size: 7px; }
.row-number { margin-right: 10px; color: var(--gold); font-size: 8px; }
.custom-plan-callout { min-height: 440px; padding: clamp(40px,7vw,95px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border: 1px solid rgba(33,38,66,.15); background: white; }
.custom-plan-callout > span { margin-bottom: 30px; color: var(--gold); font-family: var(--display-font); font-size: 16px; }
.custom-plan-callout h2 { max-width: 900px; margin: 0 0 38px; color: var(--navy); font-size: clamp(42px,5vw,72px); line-height: 1.02; }

.plan-terms { padding: 85px 0 110px; display: grid; grid-template-columns: .65fr 1.35fr; gap: 110px; }
.plan-terms h2 { color: var(--navy); font-size: clamp(48px,5vw,72px); line-height: .98; }
.plan-terms ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(33,38,66,.18); }
.plan-terms li { min-height: 72px; padding: 19px 0; display: grid; grid-template-columns: 45px 1fr; align-items: center; border-bottom: 1px solid rgba(33,38,66,.18); color: #666977; font-size: 12px; line-height: 1.6; }
.plan-terms li span { color: var(--gold); font-family: var(--display-font); }
.plan-pagination { padding: 0 0 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.plan-pagination > a { min-height: 125px; padding: 27px 30px; display: flex; flex-direction: column; border: 1px solid rgba(33,38,66,.15); background: rgba(255,255,255,.54); }
.plan-pagination > a:last-child { text-align: right; }
.plan-pagination a span { color: #8a8b94; font-size: 8px; text-transform: uppercase; letter-spacing: .13em; }
.plan-pagination a strong { margin-top: auto; font-family: var(--display-font); font-size: 22px; font-weight: 400; }
.plan-footer { padding: 60px 0; color: white; background: #0d1124; }
.plan-footer > div { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.plan-footer img { width: 145px; height: auto; }
.plan-footer p { margin: 13px 0 0; color: rgba(255,255,255,.43); font-size: 11px; }
.plan-footer > div > div:last-child { display: flex; gap: 28px; }
.plan-footer a { color: rgba(255,255,255,.65); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }

.amenities { padding: 135px 0 130px; display: grid; grid-template-columns: .82fr 1.18fr; gap: 100px; }
.amenities-heading { position: sticky; top: 60px; align-self: start; }
.amenities-heading > p:not(.eyebrow) { max-width: 440px; margin: 25px 0 0; color: #6f7180; font-size: 15px; line-height: 1.75; }
.amenity-row { min-height: 135px; display: grid; grid-template-columns: 40px 1fr 1fr 145px 25px; align-items: center; gap: 24px; border-top: 1px solid rgba(33,38,66,.2); transition: color .25s ease; }
.amenity-row:last-child { border-bottom: 1px solid rgba(33,38,66,.2); }
.amenity-row > span { color: var(--gold); font-family: var(--display-font); font-size: 13px; }
.amenity-row h3 { margin: 0; font-family: var(--display-font); font-size: 26px; font-weight: 400; }
.amenity-row > p { margin: 0; color: #777986; font-size: 12px; line-height: 1.6; }
.amenity-thumb { height: 86px; overflow: hidden; opacity: .85; }
.amenity-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.amenity-row:hover .amenity-thumb img { transform: scale(1.08); }
.amenity-row > svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }

.location { min-height: 780px; display: grid; grid-template-columns: 1fr 1fr; background: var(--navy-deep); color: white; }
.location-copy { padding: 115px max(40px, calc((100vw - 1240px) / 2)); padding-right: 70px; }
.location-copy h2 { color: white; font-size: clamp(50px, 5.1vw, 78px); line-height: .98; }
.location-copy h2 em { color: var(--gold-soft); font-weight: 400; }
.location-intro { max-width: 590px; margin: 28px 0 38px; color: rgba(255,255,255,.66); font-size: 15px; line-height: 1.75; }
.landmarks { margin-bottom: 40px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.18); }
.landmarks div { padding: 22px 10px 20px 0; display: flex; gap: 12px; border-right: 1px solid rgba(255,255,255,.18); }
.landmarks strong { color: var(--gold); font-family: var(--display-font); font-size: 13px; }
.landmarks span { font-size: 10px; font-weight: 700; line-height: 1.5; text-transform: uppercase; letter-spacing: .1em; }
.map-wrap { min-height: 680px; position: relative; }
.map-wrap iframe { width: 100%; height: 100%; min-height: 780px; border: 0; filter: grayscale(1) sepia(.12) contrast(.92); }
.map-label { position: absolute; left: 24px; bottom: 24px; padding: 18px 22px; background: var(--gold); color: var(--navy); box-shadow: 0 18px 50px rgba(0,0,0,.25); }
.map-label span, .map-label strong { position: relative; z-index: 1; display: block; }
.map-label span { margin-bottom: 5px; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; }
.map-label strong { font-family: var(--display-font); font-size: 21px; font-weight: 400; }

.gallery { padding: 135px 0; }
.gallery-title { margin-bottom: 56px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.gallery-item { margin: 0; position: relative; overflow: hidden; }
.gallery-item img { width: 100%; height: 112%; margin-top: -6%; object-fit: cover; transition: transform .45s ease; }
.gallery-item:hover img { transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.1); }
.gallery-item-1 { grid-column: 1 / 8; height: 580px; }
.gallery-item-2 { grid-column: 8 / 13; height: 580px; }
.gallery-item-3 { grid-column: 1 / 5; height: 390px; }
.gallery-item-4 { grid-column: 5 / 9; height: 390px; }
.gallery-item-5 { grid-column: 9 / 13; height: 390px; }
.gallery-item figcaption { position: absolute; inset: auto 0 0; padding: 60px 20px 18px; display: flex; justify-content: space-between; background: linear-gradient(0deg, rgba(13,16,33,.72), transparent); color: white; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.gallery-item figcaption span:first-child { color: var(--gold-soft); }

.journal { padding: 125px 0 135px; background: white; }
.journal-head { margin-bottom: 48px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.post-image { aspect-ratio: 1.45; display: block; overflow: hidden; }
.post-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.post-card:hover .post-image img { transform: scale(1.045); }
.post-card > p { margin: 20px 0 12px; color: #8a8b94; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; }
.post-card > p span { color: var(--gold); padding: 0 5px; }
.post-card h3 { min-height: 67px; margin: 0 0 18px; color: var(--navy); font-family: var(--display-font); font-size: clamp(22px, 2vw, 29px); font-weight: 400; line-height: 1.17; }
.post-link { display: inline-flex; align-items: center; gap: 10px; color: var(--navy); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.post-link svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; }

.faqs { padding: 135px 0; display: grid; grid-template-columns: .8fr 1.2fr; gap: 105px; }
.faq-heading > p:not(.eyebrow) { max-width: 390px; margin: 25px 0 15px; color: #737581; font-size: 14px; line-height: 1.7; }
.faq-list { border-top: 1px solid rgba(33,38,66,.22); }
.faq-list details { border-bottom: 1px solid rgba(33,38,66,.22); }
.faq-list summary { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; color: var(--navy); font-family: var(--display-font); font-size: 24px; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid rgba(33,38,66,.28); font-family: var(--body-font); font-size: 18px; transition: transform .25s ease, background .25s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); background: var(--gold); border-color: var(--gold); }
.faq-list details p { max-width: 680px; margin: -4px 55px 28px 0; color: #6f7180; font-size: 14px; line-height: 1.75; }

.contact { min-height: 850px; padding: 115px 0; position: relative; display: flex; align-items: center; overflow: hidden; color: white; }
.contact-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.contact-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,17,35,.96), rgba(21,25,49,.78) 58%, rgba(21,25,49,.54)); }
.contact-content { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.contact-heading { position: relative; z-index: 1; }
.contact-heading h2 { color: white; font-size: clamp(54px, 5.8vw, 86px); line-height: .98; }
.contact-heading > p:not(.eyebrow) { max-width: 510px; margin: 28px 0 36px; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.75; }
.contact-meta { display: flex; gap: 48px; }
.contact-meta div { display: flex; flex-direction: column; gap: 8px; }
.contact-meta span { color: var(--gold-soft); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.contact-meta a, .contact-meta strong { font-family: var(--display-font); font-size: 17px; font-weight: 400; }
.enquiry-form { min-height: 590px; padding: 48px; position: relative; z-index: 1; background: rgba(244,240,231,.98); color: var(--navy); box-shadow: 0 30px 80px rgba(0,0,0,.28); }
.enquiry-form label { margin-bottom: 25px; display: block; color: #747681; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea { width: 100%; margin-top: 9px; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(33,38,66,.3); outline: 0; background: transparent; color: var(--navy); font-size: 14px; text-transform: none; letter-spacing: 0; }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus { border-color: var(--gold); }
.enquiry-form textarea { resize: vertical; }
.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.enquiry-form .button { border: 0; cursor: pointer; }
.form-success { min-height: 490px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.form-success > span { width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); font-size: 28px; }
.form-success h3 { margin: 25px 0 12px; font-family: var(--display-font); font-size: 34px; font-weight: 400; }
.form-success p { max-width: 390px; color: #737581; font-size: 14px; line-height: 1.7; }
.form-success button { margin-top: 15px; padding: 10px 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--navy); cursor: pointer; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }

.home-contact-cta { min-height: 660px; position: relative; display: flex; align-items: center; overflow: hidden; color: white; }
.home-contact-content { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 60px; }
.home-contact-content > div { max-width: 760px; }
.home-contact-content h2 { margin: 0; color: white; font-size: clamp(58px, 7vw, 104px); line-height: .93; }
.home-contact-content p:not(.eyebrow) { max-width: 570px; margin: 28px 0 0; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.75; }
.home-contact-content > .button { flex: 0 0 auto; margin-bottom: 10px; }

/* Shared inner pages */
.inner-page { background: var(--cream); color: var(--navy); }
.inner-page .plan-site-header { position: absolute; inset: 0 0 auto; z-index: 20; }
.inner-hero { min-height: 780px; position: relative; display: flex; align-items: end; overflow: hidden; color: white; }
.inner-hero-media { position: absolute; inset: -5% 0 0; width: 100%; height: 110%; object-fit: cover; animation: imageFade 1.5s ease both; }
.inner-hero-media[data-parallax] { transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.045); will-change: transform; }
.inner-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,13,29,.92) 0%, rgba(10,13,29,.58) 52%, rgba(10,13,29,.28)), linear-gradient(0deg, rgba(10,13,29,.72), transparent 50%); }
.inner-hero-content { position: relative; z-index: 1; padding-bottom: 88px; }
.inner-hero-content h1, .privacy-hero h1 { max-width: 1050px; margin: 15px 0 26px; color: white; font-family: var(--display-font); font-size: clamp(70px, 8.5vw, 130px); font-weight: 400; line-height: .88; letter-spacing: -.055em; }
.inner-hero-content h1 em, .privacy-hero h1 em { color: var(--gold-soft); font-weight: 400; }
.inner-hero-content > p:last-child { max-width: 610px; margin: 0; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.75; }
.inner-section-label { display: flex; align-items: center; gap: 14px; color: var(--gold); }
.inner-section-label span { font-family: var(--display-font); font-size: 13px; }
.inner-section-label p { margin: 0; color: #7a7c86; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; }
.inner-section-label.light p { color: rgba(255,255,255,.52); }

.about-story { padding: 130px 0 120px; }
.about-story-copy { margin: 55px 0 90px; display: grid; grid-template-columns: 1fr .85fr; gap: 110px; align-items: start; }
.about-story-copy h2, .about-expertise h2 { margin: 0; font-family: var(--display-font); font-size: clamp(56px, 6vw, 88px); font-weight: 400; line-height: .97; letter-spacing: -.045em; }
.about-story-copy > div { padding-top: 10px; }
.about-story-copy p { max-width: 720px; margin: 0 0 30px; color: #282d46; font-family: var(--display-font); font-size: clamp(21px, 1.75vw, 26px); line-height: 1.55; letter-spacing: -.015em; }
.expertise-intro > p { margin: 0 0 22px; color: #6d6f7c; font-size: 15px; line-height: 1.85; }
.about-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(33,38,66,.2); border-bottom: 1px solid rgba(33,38,66,.2); }
.about-stats > div { padding: 42px 34px; display: flex; align-items: center; gap: 24px; }
.about-stats > div + div { border-left: 1px solid rgba(33,38,66,.2); }
.about-stats strong { color: var(--gold); font-family: var(--display-font); font-size: clamp(42px,4.5vw,68px); font-weight: 400; }
.about-stats span { color: #747680; font-size: 10px; font-weight: 700; line-height: 1.55; text-transform: uppercase; letter-spacing: .1em; }
.about-values { padding: 125px 0 135px; background: var(--navy-deep); color: white; }
.about-values-head { display: grid; grid-template-columns: .55fr 1.45fr; gap: 60px; align-items: start; }
.about-values-head h2 { margin: 0; color: white; font-family: var(--display-font); font-size: clamp(58px,6.4vw,94px); font-weight: 400; line-height: .95; letter-spacing: -.045em; }
.about-values-head h2 em { color: var(--gold-soft); font-weight: 400; }
.value-grid { margin-top: 80px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.18); }
.value-grid article { min-height: 280px; padding: 30px 30px 20px 0; }
.value-grid article + article { padding-left: 30px; border-left: 1px solid rgba(255,255,255,.18); }
.value-grid article > span { color: var(--gold-soft); font-family: var(--display-font); font-size: 13px; }
.value-grid h3 { margin: 70px 0 18px; font-family: var(--display-font); font-size: 30px; font-weight: 400; }
.value-grid p { margin: 0; color: rgba(255,255,255,.56); font-size: 13px; line-height: 1.75; }
.about-expertise { padding: 130px 0 140px; }
.expertise-grid { margin-top: 55px; display: grid; grid-template-columns: .82fr 1.18fr; gap: 110px; }
.expertise-intro > p { max-width: 480px; margin-top: 32px; }
.expertise-list { border-top: 1px solid rgba(33,38,66,.2); }
.expertise-list article { min-height: 155px; padding: 30px 0; display: grid; grid-template-columns: 55px 1fr; gap: 24px; border-bottom: 1px solid rgba(33,38,66,.2); }
.expertise-list article > span { color: var(--gold); font-family: var(--display-font); font-size: 13px; }
.expertise-list h3 { margin: 0 0 12px; font-family: var(--display-font); font-size: 28px; font-weight: 400; }
.expertise-list p { max-width: 570px; margin: 0; color: #777985; font-size: 13px; line-height: 1.75; }
.inner-cta { padding: 110px 0; background: #171c36; color: white; }
.inner-cta > div { display: grid; grid-template-columns: .5fr 1.25fr auto; align-items: end; gap: 50px; }
.inner-cta h2 { margin: 0; color: white; font-family: var(--display-font); font-size: clamp(55px,6vw,88px); font-weight: 400; line-height: .94; }

.contact-page-main { padding: 125px 0 135px; display: grid; grid-template-columns: .86fr 1.14fr; gap: 110px; align-items: start; }
.contact-details h2 { margin: 42px 0 26px; font-family: var(--display-font); font-size: clamp(58px,6vw,88px); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.contact-details > p { max-width: 530px; color: #6f7180; font-size: 15px; line-height: 1.8; }
.contact-detail-list { margin: 52px 0 38px; border-top: 1px solid rgba(33,38,66,.2); }
.contact-detail-list article { padding: 24px 0; display: grid; grid-template-columns: 150px 1fr; gap: 25px; border-bottom: 1px solid rgba(33,38,66,.2); }
.contact-detail-list span { padding-top: 4px; color: #858790; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.contact-detail-list a, .contact-detail-list p { margin: 0; color: var(--navy); font-family: var(--display-font); font-size: 18px; line-height: 1.5; }
.contact-page-form { min-height: 710px; box-shadow: 0 25px 70px rgba(20,23,43,.13); }
.contact-page-form .form-kicker { margin: 0 0 12px; color: var(--gold); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .17em; }
.contact-page-form > h2 { margin: 0 0 34px; font-family: var(--display-font); font-size: clamp(38px,4vw,55px); font-weight: 400; line-height: 1; }
.contact-page-form small { margin-top: 18px; display: block; color: #92939b; font-size: 9px; line-height: 1.5; }
.visit-strip { padding: 95px 0; background: var(--gold); color: var(--navy); }
.visit-strip > div { display: grid; grid-template-columns: .4fr 1.25fr auto; align-items: end; gap: 45px; }
.visit-strip span { font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; }
.visit-strip h2 { margin: 0; font-family: var(--display-font); font-size: clamp(40px,4.6vw,68px); font-weight: 400; line-height: 1; }
.visit-strip a { padding-bottom: 8px; border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }

.privacy-hero { min-height: 610px; padding: 170px 0 90px; display: flex; align-items: end; background: var(--navy-deep); color: white; }
.privacy-hero h1 { margin-bottom: 30px; }
.privacy-hero > div > p:last-child { margin: 0; color: rgba(255,255,255,.52); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.privacy-content { padding: 125px 0 140px; display: grid; grid-template-columns: .55fr 1.45fr; gap: 100px; }
.privacy-content aside { height: fit-content; padding: 30px; border-top: 2px solid var(--gold); background: #ebe6dc; }
.privacy-content aside span { color: var(--gold); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.privacy-content aside p { margin: 24px 0 0; font-family: var(--display-font); font-size: 24px; line-height: 1.45; }
.privacy-intro { margin: 0 0 55px; color: var(--navy); font-family: var(--display-font); font-size: clamp(27px,3vw,40px); line-height: 1.35; }
.privacy-copy article { padding: 30px 0; display: grid; grid-template-columns: 55px 1fr; gap: 25px; border-top: 1px solid rgba(33,38,66,.2); }
.privacy-copy article > span { color: var(--gold); font-family: var(--display-font); font-size: 13px; }
.privacy-copy h2 { margin: 0 0 14px; font-family: var(--display-font); font-size: 28px; font-weight: 400; }
.privacy-copy article p { margin: 0; color: #6f7180; font-size: 14px; line-height: 1.8; }
.privacy-copy article a { color: var(--navy); border-bottom: 1px solid var(--gold); }

/* Luxury editorial rhythm — shared across the complete website */
.hero-copy,
.creek-content p:not(.eyebrow),
.section-topline > p,
.gallery-title > p,
.horizontal-intro > p,
.payment-heading > p,
.payment-teaser-copy > p,
.plans-index-intro > p,
.plan-detail-summary p,
.rate-section-head > p,
.amenities-heading > p:not(.eyebrow),
.location-intro,
.faq-heading > p:not(.eyebrow),
.faq-list details p,
.home-contact-content p:not(.eyebrow),
.inner-hero-content > p:last-child,
.expertise-intro > p,
.contact-details > p,
.form-success p,
.privacy-copy article p,
.footer-brand p,
.footer-top > div > p {
  font-family: var(--display-font);
  font-size: clamp(19px, 1.55vw, 24px);
  font-weight: 400;
  line-height: 1.58;
  letter-spacing: -.012em;
}

.highlight-card p,
.property-final-card > p:not(.eyebrow),
.plan-index-card p,
.amenity-row > p,
.value-grid p,
.expertise-list p,
.plan-terms li {
  font-family: var(--display-font);
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.62;
  letter-spacing: -.008em;
}

.section-topline,
.gallery-title { grid-template-columns: .76fr 1.24fr; gap: 110px; }
.section-topline > p,
.gallery-title > p { max-width: 710px; }
.horizontal-heading { grid-template-columns: .76fr 1.24fr; gap: 110px; }
.payment-heading { grid-template-columns: .72fr 1.28fr; gap: 110px; }
.payment-teaser-inner { grid-template-columns: .72fr 1.28fr; gap: 115px; }
.amenities { grid-template-columns: .68fr 1.32fr; gap: 120px; }
.faqs { grid-template-columns: .66fr 1.34fr; gap: 120px; }
.contact-page-main { grid-template-columns: .76fr 1.24fr; gap: 125px; }
.privacy-content { grid-template-columns: .42fr 1.58fr; gap: 120px; }
.plans-structure > div { grid-template-columns: .58fr 1.42fr; gap: 115px; }
.plan-detail-title { grid-template-columns: .95fr 1.05fr; gap: 105px; }
.rate-section-head { grid-template-columns: .72fr 1.28fr; gap: 110px; }
.plan-terms { grid-template-columns: .52fr 1.48fr; gap: 120px; }

.highlight-grid { grid-template-columns: repeat(2, 1fr); }
.highlight-card { min-height: 340px; padding: 42px 46px; }
.highlight-card h3 { margin-top: 66px; font-size: 32px; }
.highlight-card p { max-width: 470px; }

.plans-index-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
.plans-index-grid .plan-index-card:last-child { grid-column: auto; }
.plan-index-card { min-height: 360px; padding: 42px; }
.plan-index-card p { margin-bottom: 34px; }

.value-grid { grid-template-columns: repeat(2, 1fr); }
.value-grid article { min-height: 300px; padding: 42px 50px 42px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.value-grid article + article { padding-left: 50px; }
.value-grid article:nth-child(3) { padding-left: 0; border-left: 0; }
.value-grid h3 { margin: 54px 0 20px; font-size: 35px; }

.amenity-row { min-height: 170px; grid-template-columns: 42px 1fr 1.15fr 155px 25px; gap: 30px; }
.amenity-row h3 { font-size: 31px; }
.faq-list summary { min-height: 112px; font-size: 28px; }
.faq-list details p { margin: 0 70px 38px 0; }
.expertise-list article { min-height: 185px; padding: 40px 0; }
.expertise-list h3 { font-size: 32px; }
.privacy-copy article { padding: 42px 0; }
.privacy-copy h2 { margin-bottom: 18px; font-size: 34px; }
.contact-detail-list article { padding: 31px 0; }
.contact-detail-list a, .contact-detail-list p { font-size: 22px; }
.horizontal-intro > p,
.payment-heading > p,
.payment-teaser-copy > p { max-width: 680px; }
.footer-brand p,
.footer-top > div > p { font-size: 16px; line-height: 1.65; letter-spacing: 0; }

.properties,
.payment-teaser,
.about-values,
.plans-structure,
.inner-cta { --editorial-light: rgba(255,255,255,.75); }

footer { padding: 85px 0 24px; background: #0d1124; color: white; }
.footer-top { display: grid; grid-template-columns: 1.4fr .7fr .8fr auto; gap: 80px; padding-bottom: 70px; }
.footer-brand img { width: 150px; height: auto; }
.footer-brand p, .footer-top > div > p { max-width: 330px; color: rgba(255,255,255,.48); font-size: 13px; line-height: 1.7; }
.footer-top h3 { margin: 5px 0 23px; color: var(--gold-soft); font-size: 9px; text-transform: uppercase; letter-spacing: .18em; }
.footer-top > div:not(.footer-brand) a { width: fit-content; margin: 0 0 12px; display: block; color: rgba(255,255,255,.7); font-size: 12px; }
.back-top { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); font-size: 22px; }
.footer-bottom { padding-top: 23px; display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.38); font-size: 9px; text-transform: uppercase; letter-spacing: .11em; }
.footer-bottom a { color: rgba(255,255,255,.52); }

[data-parallax] { --parallax-y: 0px; will-change: transform; }
.hero-media[data-parallax] { transform: translate3d(0, calc(var(--hero-progress, 0) * 88px), 0) scale(calc(1.06 - var(--hero-progress, 0) * .025)); }
.creek-media[data-parallax], .contact-media[data-parallax] { height: 114%; top: -7%; transform: translate3d(0, var(--parallax-y), 0) scale(1.04); }
.about-image-wrap > img[data-parallax], .gallery-item img[data-parallax] { transform: translate3d(0, var(--parallax-y), 0) scale(1.08); }

[data-reveal] { opacity: 1; transform: translate3d(0, 0, 0); filter: none; transition: opacity 1.05s ease, transform 1.35s cubic-bezier(.16,.75,.24,1), filter 1.1s ease, clip-path 1.45s cubic-bezier(.16,.75,.24,1); }
html.motion-ready [data-reveal].reveal-pending { opacity: .08; transform: translate3d(0, 62px, 0); filter: blur(7px); will-change: opacity, transform, filter; }
html.motion-ready [data-reveal="left"].reveal-pending { transform: translate3d(-72px, 0, 0); }
html.motion-ready [data-reveal="right"].reveal-pending { transform: translate3d(72px, 0, 0); }
html.motion-ready [data-reveal="up"].reveal-pending { transform: translate3d(0, 68px, 0); }
html.motion-ready [data-reveal="clip"].reveal-pending { opacity: .28; transform: scale(1.055); filter: blur(3px); clip-path: inset(0 0 16% 0); }
[data-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0); filter: none; }
[data-reveal="clip"].is-visible { transform: scale(1); clip-path: inset(0 0 0 0); }

@keyframes imageFade { from { opacity: 0; filter: brightness(.55); } to { opacity: 1; filter: brightness(1); } }
@keyframes riseIn { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes titleReveal { from { opacity: 0; transform: translateY(108%); } to { opacity: 1; transform: translateY(0); } }
@keyframes planReveal { from { opacity: 0; filter: blur(4px); } to { opacity: 1; filter: blur(0); } }
@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; height: 88px; }
  .header-cta { display: none; }
  .menu-toggle { width: 44px; height: 44px; padding: 10px 7px; display: flex; flex-direction: column; justify-content: center; gap: 7px; position: relative; z-index: 22; }
  .menu-toggle span { width: 100%; height: 1px; background: currentColor; }
  .main-nav { position: fixed; inset: 0; padding: 120px 28px 40px; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 28px; background: var(--navy-deep); transform: translateX(100%); transition: transform .35s ease; }
  .main-nav.is-open { transform: translateX(0); }
  .main-nav a { font-family: var(--display-font); font-size: 28px; font-weight: 400; text-transform: none; letter-spacing: -.02em; }
  .hero-content { width: 92vw; padding-bottom: 76px; }
  .about { grid-template-columns: 1fr; gap: 28px; }
  .about-copy { max-width: 760px; padding-top: 0; }
  .about-image-wrap { grid-column: auto; }
  .stats-row { grid-column: auto; }
  .section-number { display: none; }
  .section-topline, .gallery-title, .faqs, .contact-content { grid-template-columns: 1fr; gap: 35px; }
  .highlight-grid { grid-template-columns: repeat(2, 1fr); }
  .horizontal-scroll { height: auto; }
  .horizontal-sticky { height: auto; position: relative; overflow: visible; }
  .horizontal-heading { padding: 90px 0 42px; grid-template-columns: 1fr; gap: 28px; }
  .property-track { width: min(100% - 48px, 1240px); margin: 0 auto; padding: 0 0 90px; display: grid; grid-template-columns: repeat(2, 1fr); transform: none !important; }
  .property-card, .property-final-card { width: auto; height: auto; min-height: 610px; }
  .payment-heading { grid-template-columns: 1fr; gap: 28px; }
  .payment-workspace { grid-template-columns: 1fr; }
  .plan-selector { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; }
  .selector-label { grid-column: 1 / -1; }
  .plan-selector button { border: 1px solid rgba(255,255,255,.1); }
  .payment-teaser-inner, .plans-structure > div, .plan-detail-title, .rate-section-head, .plan-terms { grid-template-columns: 1fr; gap: 42px; }
  .plan-site-header { grid-template-columns: 1fr auto; }
  .plan-site-header nav { display: none; }
  .plans-index-grid { grid-template-columns: repeat(2,1fr); }
  .plans-index-grid .plan-index-card:last-child { grid-column: auto; }
  .floor-nav { grid-template-columns: repeat(4,1fr); }
  .floor-nav a { border-right: 1px solid rgba(33,38,66,.13); }
  .plan-detail-summary { max-width: 620px; }
  .amenities { grid-template-columns: 1fr; gap: 55px; }
  .amenities-heading { position: static; }
  .location { grid-template-columns: 1fr; }
  .location-copy { padding-left: 40px; padding-right: 40px; }
  .map-wrap, .map-wrap iframe { min-height: 550px; }
  .post-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-content { gap: 55px; }
  .about-story-copy, .expertise-grid, .contact-page-main, .privacy-content { gap: 60px; }
  .contact-page-main, .privacy-content { grid-template-columns: 1fr; }
  .about-values-head { grid-template-columns: .4fr 1.6fr; }
  .inner-cta > div, .visit-strip > div { grid-template-columns: 1fr; align-items: start; }
  .footer-top { grid-template-columns: 1.2fr 1fr 1fr auto; gap: 35px; }
}

@media (max-width: 680px) {
  .site-header { padding: 0 22px; }
  .brand img { width: 126px; }
  .hero { height: 150svh; min-height: 760px; }
  .hero-stage { min-height: 720px; }
  .hero-shade { background: linear-gradient(90deg, rgba(9,12,29,.9), rgba(9,12,29,.45)), linear-gradient(0deg, rgba(9,12,29,.82), transparent 55%); }
  .hero-content { width: 100%; padding: 142px 22px 82px; }
  .hero h1 { font-size: clamp(52px,15vw,72px); line-height: .9; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 24px; }
  .hero-index, .scroll-cue { display: none; }
  .section-shell { width: min(100% - 36px, 1240px); }
  .about { padding: 92px 0 78px; }
  .about-heading h2 { font-size: 45px; }
  .about-copy p { margin-bottom: 24px; font-size: 21px; line-height: 1.55; }
  .about-image-wrap { height: 430px; }
  .experience-card { min-width: 0; left: 0; right: auto; padding: 22px 26px; }
  .experience-card strong { font-size: 42px; }
  .stats-row { grid-template-columns: 1fr; }
  .stats-row > div { padding: 22px 0; border-bottom: 1px solid rgba(33,38,66,.2); }
  .stats-row > div + div { border-left: 0; padding-left: 0; }
  .creek-intro { min-height: 700px; }
  .creek-content { margin: auto 20px 74px; }
  .section-topline { padding: 90px 0 42px; }
  .highlight-grid { grid-template-columns: 1fr; margin-bottom: 90px; }
  .highlight-card { min-height: 235px; }
  .property-track { width: min(100% - 36px, 1240px); grid-template-columns: 1fr; }
  .property-card { min-height: 640px; display: grid; grid-template-columns: 1fr; grid-template-rows: 58% 42%; }
  .property-final-card { min-height: 430px; }
  .property-image { width: 100%; min-height: 0; aspect-ratio: auto; }
  .property-body { min-height: 0; padding: 27px 24px; }
  .property-body h3 { margin-bottom: 24px; font-size: 30px; }
  .property-body dl div { grid-template-columns: 72px 1fr; gap: 10px; }
  .property-body > a { right: 22px; bottom: 22px; }
  .payment-plans { padding: 92px 0 82px; }
  .payment-heading { margin-bottom: 36px; }
  .payment-heading h2 { font-size: 47px; }
  .plan-selector { grid-template-columns: 1fr; }
  .selector-label { grid-column: auto; }
  .plan-selector button { min-height: 66px; }
  .plan-panel { padding: 27px 20px; }
  .plan-panel-top, .plan-panel-bottom { align-items: flex-start; flex-direction: column; }
  .plan-image-canvas { min-height: 360px; height: 480px; padding: 12px; }
  .plan-panel-bottom > div { width: 100%; align-items: flex-start; flex-direction: column; }
  .payment-teaser { padding: 90px 0; }
  .payment-teaser-facts { grid-template-columns: 1fr; }
  .payment-teaser-facts span + span { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .plan-site-header { height: 78px; }
  .plan-site-header > a:first-child img { width: 128px; }
  .plan-header-cta { font-size: 8px; }
  .plans-index-hero { min-height: 560px; padding: 105px 0 70px; }
  .plans-index-hero h1 { font-size: clamp(54px,16vw,76px); }
  .plans-index-intro { margin-top: 42px; grid-template-columns: 1fr; gap: 30px; }
  .plans-index-grid { padding: 72px 0 85px; grid-template-columns: 1fr; }
  .plan-index-card { min-height: 270px; }
  .plans-structure { padding: 85px 0; }
  .structure-grid { grid-template-columns: 1fr; }
  .plan-detail-hero { padding: 40px 0 68px; }
  .plan-breadcrumb { margin-bottom: 55px; }
  .plan-detail-title h1 { font-size: clamp(56px,17vw,78px); }
  .floor-nav { grid-template-columns: repeat(2,1fr); }
  .plan-rate-section { padding: 75px 0 65px; }
  .rate-section-head { margin-bottom: 32px; }
  .rate-table { min-width: 1180px; }
  .plan-terms { padding: 60px 0 80px; }
  .plan-pagination { grid-template-columns: 1fr; }
  .plan-footer > div { align-items: flex-start; flex-direction: column; }
  .amenities { padding: 92px 0; }
  .amenity-row { padding: 24px 0; grid-template-columns: 30px 1fr 24px; gap: 14px; }
  .amenity-row > p, .amenity-thumb { display: none; }
  .location-copy { padding: 90px 20px 70px; }
  .landmarks { grid-template-columns: 1fr; }
  .landmarks div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .map-wrap, .map-wrap iframe { min-height: 470px; }
  .gallery { padding: 90px 0; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .gallery-item-1, .gallery-item-2, .gallery-item-3, .gallery-item-4, .gallery-item-5 { grid-column: auto; height: 290px; }
  .gallery-item-1 { grid-column: 1 / -1; height: 380px; }
  .journal { padding: 90px 0; }
  .journal-head { align-items: flex-start; flex-direction: column; }
  .post-grid { grid-template-columns: 1fr; }
  .post-card h3 { min-height: 0; }
  .faqs { padding: 90px 0; }
  .faq-list summary { min-height: 82px; font-size: 20px; }
  .contact { padding: 90px 0; }
  .home-contact-cta { min-height: 610px; }
  .home-contact-content { align-items: flex-start; flex-direction: column; }
  .inner-hero { min-height: 650px; }
  .inner-hero-content { padding-bottom: 65px; }
  .inner-hero-content h1, .privacy-hero h1 { font-size: clamp(58px,16vw,78px); }
  .about-story, .about-expertise, .contact-page-main, .privacy-content { padding: 85px 0; }
  .about-story-copy, .expertise-grid, .contact-page-main, .privacy-content { grid-template-columns: 1fr; gap: 45px; }
  .about-story-copy { margin: 42px 0 60px; }
  .about-stats, .value-grid { grid-template-columns: 1fr; }
  .about-stats > div + div { border-left: 0; border-top: 1px solid rgba(33,38,66,.2); }
  .about-values { padding: 85px 0; }
  .about-values-head { grid-template-columns: 1fr; gap: 35px; }
  .value-grid { margin-top: 55px; }
  .value-grid article { min-height: 0; padding: 28px 0 35px; }
  .value-grid article + article { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .value-grid h3 { margin: 34px 0 14px; }
  .inner-cta { padding: 80px 0; }
  .inner-cta > div, .visit-strip > div { grid-template-columns: 1fr; align-items: start; }
  .contact-detail-list article { grid-template-columns: 1fr; gap: 10px; }
  .contact-page-form { min-height: 0; }
  .privacy-hero { min-height: 540px; padding-top: 130px; }
  .privacy-content aside { position: static; }
  .privacy-copy article { grid-template-columns: 38px 1fr; gap: 15px; }
  .contact-meta { flex-direction: column; gap: 22px; }
  .enquiry-form { min-height: 0; padding: 30px 22px; }
  .field-pair { grid-template-columns: 1fr; gap: 0; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 45px 30px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .horizontal-scroll { height: auto; }
  .horizontal-sticky { height: auto; position: relative; overflow: visible; }
  .property-track { width: min(100% - 48px, 1240px); margin: 0 auto; padding: 0 0 90px; display: grid; grid-template-columns: repeat(2, 1fr); transform: none !important; }
  .property-card, .property-final-card { width: auto; height: auto; min-height: 580px; }
}

/* Caden-aligned responsive heading scale */
.hero h1 {
  font-size: clamp(52px, 5.85vw, 80px);
  line-height: .94;
  letter-spacing: -.035em;
}

.about-heading h2,
.creek-content h2,
.section-topline h2,
.amenities-heading h2,
.gallery-title h2,
.faq-heading h2,
.horizontal-heading h2,
.payment-heading h2,
.payment-teaser h2,
.plans-structure h2,
.rate-section-head h2,
.custom-plan-callout h2,
.plan-terms h2,
.location-copy h2,
.contact-heading h2,
.home-contact-content h2,
.about-story-copy h2,
.about-expertise h2,
.about-values-head h2,
.inner-cta h2,
.contact-details h2,
.visit-strip h2 {
  font-size: clamp(38px, 3.8vw, 50px);
  line-height: 1.04;
  letter-spacing: -.025em;
}

.inner-hero-content h1,
.privacy-hero h1,
.plans-index-hero h1,
.plan-detail-title h1 {
  max-width: 950px;
  font-size: clamp(48px, 5vw, 65px);
  line-height: .96;
  letter-spacing: -.035em;
}

.plan-index-card h2 {
  font-size: clamp(30px, 2.6vw, 38px);
  line-height: 1.05;
}

.property-final-card h3,
.plan-panel-top h3,
.contact-page-form > h2 {
  font-size: clamp(30px, 2.7vw, 40px);
  line-height: 1.08;
}

.highlight-card h3,
.property-body h3,
.amenity-row h3,
.value-grid h3,
.expertise-list h3,
.privacy-copy h2 {
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.12;
}

.faq-list summary {
  font-size: clamp(20px, 1.65vw, 24px);
  line-height: 1.2;
}

@media (max-width: 1200px) {
  .hero h1 { font-size: 65px; }

  .about-heading h2,
  .creek-content h2,
  .section-topline h2,
  .amenities-heading h2,
  .gallery-title h2,
  .faq-heading h2,
  .horizontal-heading h2,
  .payment-heading h2,
  .payment-teaser h2,
  .plans-structure h2,
  .rate-section-head h2,
  .custom-plan-callout h2,
  .plan-terms h2,
  .location-copy h2,
  .contact-heading h2,
  .home-contact-content h2,
  .about-story-copy h2,
  .about-expertise h2,
  .about-values-head h2,
  .inner-cta h2,
  .contact-details h2,
  .visit-strip h2 { font-size: 38px; }

  .inner-hero-content h1,
  .privacy-hero h1,
  .plans-index-hero h1,
  .plan-detail-title h1 { font-size: 58px; }
}

@media (max-width: 980px) {
  .hero h1 { font-size: clamp(48px, 7vw, 58px); }

  .about-heading h2,
  .creek-content h2,
  .section-topline h2,
  .amenities-heading h2,
  .gallery-title h2,
  .faq-heading h2,
  .horizontal-heading h2,
  .payment-heading h2,
  .payment-teaser h2,
  .plans-structure h2,
  .rate-section-head h2,
  .custom-plan-callout h2,
  .plan-terms h2,
  .location-copy h2,
  .contact-heading h2,
  .home-contact-content h2,
  .about-story-copy h2,
  .about-expertise h2,
  .about-values-head h2,
  .inner-cta h2,
  .contact-details h2,
  .visit-strip h2 { font-size: 38px; }

  .inner-hero-content h1,
  .privacy-hero h1,
  .plans-index-hero h1,
  .plan-detail-title h1 { font-size: clamp(46px, 6vw, 52px); }
}

@media (max-width: 680px) {
  .hero h1 {
    font-size: clamp(40px, 11.5vw, 45px);
    line-height: .98;
    letter-spacing: -.025em;
  }

  .about-heading h2,
  .creek-content h2,
  .section-topline h2,
  .amenities-heading h2,
  .gallery-title h2,
  .faq-heading h2,
  .horizontal-heading h2,
  .payment-heading h2,
  .payment-teaser h2,
  .plans-structure h2,
  .rate-section-head h2,
  .custom-plan-callout h2,
  .plan-terms h2,
  .location-copy h2,
  .contact-heading h2,
  .home-contact-content h2,
  .about-story-copy h2,
  .about-expertise h2,
  .about-values-head h2,
  .inner-cta h2,
  .contact-details h2,
  .visit-strip h2 {
    font-size: clamp(32px, 9.4vw, 35px);
    line-height: 1.08;
    letter-spacing: -.018em;
  }

  .inner-hero-content h1,
  .privacy-hero h1,
  .plans-index-hero h1,
  .plan-detail-title h1 {
    font-size: clamp(38px, 11.5vw, 45px);
    line-height: 1.02;
    letter-spacing: -.025em;
  }

  .plan-index-card h2 { font-size: 32px; }
  .property-final-card h3,
  .plan-panel-top h3,
  .contact-page-form > h2 { font-size: 31px; }
  .highlight-card h3,
  .property-body h3,
  .amenity-row h3,
  .value-grid h3,
  .expertise-list h3,
  .privacy-copy h2 { font-size: 26px; }
  .faq-list summary { font-size: 19px; }
}

@media (max-width: 390px) {
  .hero h1 { font-size: 38px; }
  .inner-hero-content h1,
  .privacy-hero h1,
  .plans-index-hero h1,
  .plan-detail-title h1 { font-size: 37px; }
  .about-heading h2,
  .creek-content h2,
  .section-topline h2,
  .amenities-heading h2,
  .gallery-title h2,
  .faq-heading h2,
  .horizontal-heading h2,
  .payment-heading h2,
  .payment-teaser h2,
  .plans-structure h2,
  .rate-section-head h2,
  .custom-plan-callout h2,
  .plan-terms h2,
  .location-copy h2,
  .contact-heading h2,
  .home-contact-content h2,
  .about-story-copy h2,
  .about-expertise h2,
  .about-values-head h2,
  .inner-cta h2,
  .contact-details h2,
  .visit-strip h2 { font-size: 31px; }
}

/* Caden-inspired editorial copy: display font for headings, readable sans for content */
.highlights {
  overflow: clip;
}

.hero-copy,
.about-copy p,
.creek-content p:not(.eyebrow),
.section-topline > p,
.gallery-title > p,
.horizontal-intro > p,
.payment-heading > p,
.payment-teaser-copy > p,
.plans-index-intro > p,
.plan-detail-summary p,
.rate-section-head > p,
.amenities-heading > p:not(.eyebrow),
.location-intro,
.faq-heading > p:not(.eyebrow),
.faq-list details p,
.home-contact-content p:not(.eyebrow),
.inner-hero-content > p:last-child,
.expertise-intro > p,
.contact-details > p,
.form-success p,
.privacy-copy article p,
.highlight-card p,
.property-final-card > p:not(.eyebrow),
.plan-index-card p,
.amenity-row > p,
.value-grid p,
.expertise-list p,
.plan-terms li {
  font-family: var(--body-font);
  font-size: clamp(15px, 1.05vw, 17px);
  font-weight: 400;
  line-height: 1.68;
  letter-spacing: 0;
}

.highlight-editorial {
  padding: 128px 0 70px;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  align-items: start;
  gap: clamp(70px, 9vw, 135px);
}

.highlight-editorial h2 {
  margin: 0;
  color: var(--navy);
  font-family: var(--display-font);
  font-size: clamp(40px, 3.8vw, 50px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.025em;
}

.highlight-editorial h2 em {
  color: var(--navy);
  font-style: normal;
  font-weight: 400;
}

.highlight-intro {
  max-width: 680px;
  padding-top: 7px;
}

.highlight-intro p {
  margin: 0 0 28px;
  color: #32364a;
  font-family: var(--body-font);
  font-size: clamp(16px, 1.15vw, 18px);
  font-weight: 400;
  line-height: 1.62;
  letter-spacing: -.005em;
}

.button-dark-outline {
  min-height: 50px;
  margin-top: 8px;
  border: 1px solid var(--navy);
  background: transparent;
  color: var(--navy);
}

.button-dark-outline:hover {
  background: var(--navy);
  color: white;
}

.highlight-grid {
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 128px;
  border-color: rgba(33,38,66,.18);
}

.highlight-card {
  min-height: 255px;
  padding: 30px 32px 32px;
  border-color: rgba(33,38,66,.18);
  background: rgba(255,255,255,.08);
  transition: background .35s ease, border-color .35s ease, transform .45s cubic-bezier(.2,.7,.2,1), opacity .8s ease;
}

.highlight-card:hover {
  background: rgba(212,176,51,.07);
  color: var(--navy);
  transform: translateY(-4px);
}

.card-index {
  right: 24px;
  top: 22px;
  color: rgba(33,38,66,.4);
  font-family: var(--body-font);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .12em;
}

.feature-icon {
  width: 36px;
  height: 36px;
  margin-top: 6px;
  stroke-width: 1.4;
}

.highlight-card h3 {
  margin: 65px 0 12px;
  color: var(--navy);
  font-family: var(--body-font);
  font-size: clamp(20px, 1.45vw, 23px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.018em;
}

.highlight-card p {
  max-width: 310px;
  margin: 0;
  color: #666a78;
  font-size: 14px;
  line-height: 1.55;
}

.highlight-card:hover p { color: #555968; }

@media (max-width: 980px) {
  .highlight-editorial {
    padding: 95px 0 55px;
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .highlight-editorial h2 { max-width: 560px; font-size: 42px; }
  .highlight-intro { max-width: 720px; }
  .highlight-grid { grid-template-columns: repeat(2, 1fr); margin-bottom: 95px; }
  .highlight-card { min-height: 235px; }
}

@media (max-width: 680px) {
  .highlight-editorial { padding: 84px 0 44px; gap: 28px; }
  .highlight-editorial h2 { font-size: 35px; line-height: 1.07; }
  .highlight-intro p { margin-bottom: 21px; font-size: 16px; line-height: 1.62; }
  .button-dark-outline { width: 100%; margin-top: 4px; }
  .highlight-grid { grid-template-columns: 1fr; margin-bottom: 84px; }
  .highlight-card { min-height: 210px; padding: 26px 25px 28px; }
  .feature-icon { width: 32px; height: 32px; }
  .highlight-card h3 { margin-top: 52px; font-size: 21px; }
  .highlight-card p { font-size: 14px; }
}

/* Editorial developer story */
.about {
  padding: 132px 0;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(62px, 7vw, 104px);
  align-items: center;
}

.about .section-number { top: 128px; }

.about-image-wrap {
  grid-column: auto;
  width: 100%;
  height: clamp(590px, 56vw, 720px);
  margin: 0;
  background: #ded8ca;
}

.about-image-wrap > img {
  width: 100%;
  height: 108%;
  margin-top: -4%;
  object-fit: cover;
  object-position: center;
}

.about-editorial-content { min-width: 0; }

.about-heading h2 {
  max-width: 640px;
  margin: 18px 0 44px;
  color: var(--navy);
  font-family: var(--display-font);
  font-size: clamp(40px, 4.1vw, 54px);
  font-weight: 400;
  line-height: 1.02;
}

.about-heading h2 em {
  color: var(--navy);
  font-style: normal;
  font-weight: 400;
}

.about-copy {
  max-width: 670px;
  padding: 0;
}

.about-copy p,
.about-copy p.about-lead {
  max-width: 650px;
  margin: 0 0 24px;
  color: #3d4154;
  font-family: var(--body-font);
  font-size: clamp(15px, 1.1vw, 17px);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0;
}

.about-copy p.about-lead {
  color: var(--navy);
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.58;
}

.about-copy .text-link { margin-top: 14px; }

.about .experience-card {
  right: -24px;
  bottom: 28px;
  min-width: 250px;
  padding: 25px 29px;
}

.about .stats-row {
  grid-column: auto;
  margin-top: 58px;
  border-bottom: 1px solid rgba(33,38,66,.22);
}

.about .stats-row > div {
  min-width: 0;
  padding: 24px 12px 25px 0;
  display: block;
}

.about .stats-row > div + div { padding-left: 24px; }
.about .stats-row strong { display: block; margin-bottom: 8px; font-size: clamp(29px, 2.6vw, 38px); }
.about .stats-row span { display: block; font-size: 9px; line-height: 1.45; }

@media (max-width: 980px) {
  .about {
    padding: 102px 0;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 48px;
  }

  .about-image-wrap { height: 590px; }
  .about-heading h2 { margin-bottom: 32px; font-size: 40px; }
  .about .experience-card { right: 0; }
  .about .stats-row { margin-top: 42px; }
  .about .stats-row > div + div { padding-left: 15px; }
}

@media (max-width: 760px) {
  .about { grid-template-columns: 1fr; gap: 48px; }
  .about-image-wrap { height: min(128vw, 620px); }
  .about-editorial-content { grid-row: 1; }
  .about-image-wrap { grid-row: 2; }
  .about .experience-card { left: 0; right: auto; bottom: 0; }
}

@media (max-width: 520px) {
  .about { padding: 82px 0; gap: 38px; }
  .about-heading h2 { margin: 14px 0 27px; font-size: 34px; line-height: 1.06; }
  .about-copy p.about-lead { font-size: 17px; }
  .about-copy p { font-size: 15px; }
  .about .stats-row { margin-top: 39px; grid-template-columns: 1fr; }
  .about .stats-row > div { padding: 17px 0; display: grid; grid-template-columns: 105px 1fr; align-items: center; }
  .about .stats-row > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(33,38,66,.16); }
  .about .stats-row strong { margin: 0; font-size: 29px; }
  .about-image-wrap { height: 122vw; max-height: 560px; }
  .about .experience-card { padding: 19px 22px; }
}

/* Responsive type, stable media and refined section motion */
:root {
  --type-body: clamp(15px, calc(14.55px + .14vw), 17px);
  --type-h1: clamp(42px, calc(31px + 3.7vw), 80px);
  --type-h2: clamp(34px, calc(29px + 1.65vw), 52px);
  --type-h3: clamp(21px, calc(18px + .85vw), 31px);
}

body { font-size: var(--type-body); }

:where(h1, h2, h3) {
  text-wrap: balance;
}

:where(p, li, dd) {
  overflow-wrap: anywhere;
}

:where(a, button, summary, input, textarea):focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

.hero h1 { font-size: var(--type-h1); }

:where(
  .about-heading h2,
  .creek-content h2,
  .highlight-editorial h2,
  .horizontal-heading h2,
  .payment-teaser h2,
  .amenities-heading h2,
  .location-copy h2,
  .gallery-title h2,
  .faq-heading h2,
  .home-contact-content h2,
  .about-story-copy h2,
  .about-values-head h2,
  .about-expertise h2,
  .contact-details h2,
  .visit-strip h2,
  .plans-structure h2,
  .rate-section-head h2,
  .plan-terms h2
) {
  font-family: var(--display-font);
  font-size: var(--type-h2);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.025em;
}

:where(.highlight-card h3, .property-body h3, .amenity-row h3, .value-grid h3, .expertise-list h3) {
  font-size: var(--type-h3);
  line-height: 1.16;
}

.eyebrow { font-size: clamp(9px, calc(8.5px + .16vw), 11px); }

.about-image-wrap {
  height: auto;
  aspect-ratio: 805 / 1024;
  background: #171b31;
}

.about-image-wrap > img,
.about-image-wrap > img[data-parallax],
.about-image-wrap:hover > img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center;
  transform: none !important;
}

:where(.highlights, .payment-teaser, .amenities, .location, .gallery, .faqs, .home-contact) {
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}

.payment-teaser {
  padding: clamp(92px, 9vw, 126px) 0;
  background:
    radial-gradient(circle at 86% 24%, rgba(212,176,51,.12), transparent 30%),
    linear-gradient(128deg, #0d1229, #222844);
}

.payment-teaser-inner {
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: clamp(66px, 9vw, 132px);
  align-items: center;
}

.payment-teaser-heading { align-self: center; }

.payment-teaser h2 {
  max-width: 560px;
  font-size: clamp(40px, 4.2vw, 58px);
  line-height: 1.01;
}

.payment-teaser-copy > p {
  max-width: 660px;
  margin-bottom: clamp(27px, 3vw, 36px);
  color: rgba(255,255,255,.75);
  font-family: var(--body-font);
  font-size: var(--type-body);
  line-height: 1.68;
}

.payment-teaser-facts { margin-bottom: clamp(28px, 3vw, 38px); }

.payment-teaser-facts span {
  min-width: 0;
  padding: 22px 18px 22px 0;
  font-size: clamp(8px, .65vw, 10px);
  line-height: 1.5;
}

.payment-teaser-facts strong {
  font-size: clamp(27px, 2.4vw, 36px);
  line-height: 1;
}

.reveal-parts.is-visible > * {
  animation: partReveal .82s cubic-bezier(.18,.72,.22,1) both;
}

.reveal-parts.is-visible > :nth-child(2) { animation-delay: .11s; }
.reveal-parts.is-visible > :nth-child(3) { animation-delay: .2s; }
.reveal-parts.is-visible > :nth-child(4) { animation-delay: .29s; }
.reveal-parts.is-visible > :nth-child(5) { animation-delay: .38s; }

.payment-teaser-copy.is-visible .payment-teaser-facts > span {
  animation: partReveal .72s cubic-bezier(.18,.72,.22,1) both;
}

.payment-teaser-copy.is-visible .payment-teaser-facts > span:nth-child(2) { animation-delay: .12s; }
.payment-teaser-copy.is-visible .payment-teaser-facts > span:nth-child(3) { animation-delay: .24s; }

[data-reveal].is-visible { will-change: auto; }

@keyframes partReveal {
  from { opacity: 0; transform: translate3d(0, 22px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (max-width: 900px) {
  .payment-teaser-inner { grid-template-columns: 1fr; gap: 48px; }
  .payment-teaser h2 { max-width: 600px; }
  .payment-teaser-copy { max-width: 720px; }
}

@media (max-width: 620px) {
  .payment-teaser { padding: 82px 0; }
  .payment-teaser-inner { gap: 38px; }
  .payment-teaser h2 { font-size: clamp(34px, 10vw, 42px); }
  .payment-teaser-facts { grid-template-columns: 1fr; }
  .payment-teaser-facts span { padding: 18px 0; }
  .payment-teaser-facts span + span { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .payment-teaser .button { width: 100%; }
  .about-image-wrap { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-parts.is-visible > *,
  .payment-teaser-copy.is-visible .payment-teaser-facts > span { animation: none !important; }
}

/* Hero viewport alignment and responsive headline */
.hero-stage {
  align-items: center;
}

.hero-content {
  width: min(1120px, 100%);
  padding: clamp(34px, 5vh, 52px) clamp(24px, 6.6vw, 126px) clamp(82px, 10vh, 112px);
}

.hero h1 {
  max-width: 1080px;
  font-size: clamp(72px, 6.5vw, 100px);
  line-height: .89;
  letter-spacing: -.045em;
}

.hero-line > span { white-space: nowrap; }

.hero-copy { max-width: 650px; }

@media (max-width: 1200px) and (min-width: 981px) {
  .hero-content {
    padding-left: clamp(42px, 7vw, 84px);
    padding-right: 42px;
  }

  .hero h1 { font-size: clamp(68px, 7.4vw, 88px); }
}

@media (max-width: 980px) {
  .hero {
    height: auto;
    min-height: 0;
  }

  .hero-stage {
    position: relative;
    height: max(100svh, 680px);
    min-height: 680px;
  }

  .hero-content {
    width: 100%;
    padding: 104px 42px 54px;
    transform: none !important;
  }

  .hero h1 {
    max-width: 760px;
    font-size: clamp(44px, 6.5vw, 64px);
    line-height: .92;
  }

  .hero-media {
    top: 0;
    height: 100%;
    transform: scale(1.04) !important;
  }

  .hero-kicker,
  .hero-detail {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (max-width: 680px) {
  .hero-stage {
    height: max(100svh, 720px);
    min-height: 720px;
  }

  .hero-content {
    padding: 100px 22px 38px;
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(29px, 8.4vw, 42px);
    line-height: .94;
    letter-spacing: -.03em;
  }

  .hero-copy {
    max-width: 520px;
    font-size: clamp(14px, 4vw, 16px);
  }

  .hero-actions { margin-top: 24px; }
}

@media (max-width: 390px) {
  .hero h1 { font-size: clamp(28px, 8.2vw, 34px); }
}

@media (min-width: 681px) and (max-height: 720px) {
  .hero-stage { min-height: 620px; }
  .hero-content { padding-top: 112px; padding-bottom: 34px; }
  .hero h1 { font-size: clamp(58px, 6.5vw, 78px); }
  .hero-copy { margin-top: 15px; }
  .hero-actions { margin-top: 20px; }
}

/* Hero headline: clear word spacing, safe glyph bounds and smooth staggered motion. */
.hero-content {
  width: min(1440px, 100%);
  padding-right: clamp(24px, 4vw, 80px);
}

.hero h1 {
  width: max-content;
  max-width: 100%;
  font-size: clamp(64px, 5.9vw, 94px);
  line-height: .98;
  letter-spacing: -.025em;
}

.hero-line {
  overflow: visible;
  padding: .04em .16em .1em .02em;
}

.hero-line-text,
.hero-line > .hero-line-text {
  display: flex;
  align-items: baseline;
  gap: .19em;
  padding-right: .08em;
  white-space: nowrap;
  animation: none;
}

.hero-line-accent .hero-line-text { gap: .16em; }

.hero-word {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, .42em, 0) rotate(.4deg);
  animation: heroWordReveal 1.15s cubic-bezier(.16,.82,.24,1) forwards;
}

.hero-line:first-child .hero-word:nth-child(1) { animation-delay: .16s; }
.hero-line:first-child .hero-word:nth-child(2) { animation-delay: .27s; }
.hero-line:first-child .hero-word:nth-child(3) { animation-delay: .38s; }
.hero-line:nth-child(2) .hero-word:nth-child(1) { animation-delay: .52s; }
.hero-line:nth-child(2) .hero-word:nth-child(2) { animation-delay: .63s; }

@keyframes heroWordReveal {
  0% { opacity: 0; transform: translate3d(0, .42em, 0) rotate(.4deg); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) rotate(0); }
}

@media (max-width: 1200px) and (min-width: 981px) {
  .hero h1 { font-size: clamp(58px, 6.15vw, 72px); }
}

@media (max-width: 980px) {
  .hero h1 { font-size: clamp(42px, 6.1vw, 60px); }
}

@media (max-width: 680px) {
  .hero h1 { font-size: clamp(28px, 8vw, 38px); }
  .hero-line-text,
  .hero-line > .hero-line-text { gap: .15em; }
}

@media (max-width: 390px) {
  .hero h1 { font-size: clamp(25px, 7.8vw, 31px); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-word { opacity: 1; transform: none; animation: none; }
}

/* Caden-style desktop viewport: reveal the start of the next section. */
@media (min-width: 981px) {
  .hero {
    height: clamp(680px, 90svh, 900px);
  }

  .hero-stage {
    position: relative;
    top: auto;
    height: 100%;
    min-height: 0;
  }
}

@media (max-width: 980px) {
  .hero {
    height: clamp(560px, 90svh, 820px);
    min-height: 0;
  }

  .hero-stage {
    height: 100%;
    min-height: 0;
  }

  .hero-content {
    padding-top: 112px;
    padding-bottom: 40px;
  }

  .hero-index,
  .scroll-cue { display: none; }
}

@media (max-width: 680px) {
  .hero { height: clamp(600px, 90svh, 760px); }

  .hero-content {
    padding-top: 104px;
    padding-bottom: 32px;
  }
}

@media (max-width: 420px) and (max-height: 620px) {
  .hero { height: 600px; }
  .hero-copy { line-height: 1.55; }
  .hero-actions { gap: 18px; margin-top: 20px; }
}

/* Stacked FAQ accordion with simple controls and mobile-safe spacing. */
.faqs {
  display: block;
  padding: clamp(90px, 10vw, 140px) 0;
}

.faq-heading {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  gap: clamp(44px, 9vw, 130px);
  align-items: end;
}

.faq-intro { padding-bottom: 8px; }

.faq-intro p {
  max-width: 560px;
  margin: 0 0 28px;
  color: #737581;
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.75;
}

.faq-list {
  display: grid;
  gap: 12px;
  margin-top: clamp(48px, 6vw, 78px);
  border-top: 0;
}

.faq-list details {
  border: 1px solid rgba(33,38,66,.16);
  background: rgba(255,255,255,.34);
  transition: border-color .28s ease, background .28s ease, box-shadow .28s ease;
}

.faq-list details[open] {
  border-color: rgba(212,176,51,.55);
  background: rgba(255,255,255,.72);
  box-shadow: 0 18px 46px rgba(33,38,66,.07);
}

.faq-list summary {
  min-height: 0;
  padding: clamp(22px, 2.4vw, 31px) clamp(20px, 2.6vw, 34px);
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1.15;
}

.faq-list summary span {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid rgba(33,38,66,.28);
  border-radius: 50%;
  background: transparent;
  color: var(--navy);
  font-size: 0;
  transform: none;
}

.faq-list summary span::before {
  content: "+";
  font-size: 19px;
  line-height: 1;
}

.faq-list details[open] summary span {
  border-color: var(--navy);
  border-radius: 50%;
  background: var(--navy);
  color: white;
  transform: none;
}

.faq-list details[open] summary span::before { content: "−"; }

.faq-list details p {
  max-width: 780px;
  margin: 0;
  padding: 0 82px clamp(24px, 2.6vw, 34px) clamp(20px, 2.6vw, 34px);
  color: #6f7180;
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.75;
}

@media (max-width: 760px) {
  .faq-heading {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .faq-intro { padding-bottom: 0; }
  .faq-list { margin-top: 40px; gap: 10px; }

  .faq-list summary {
    align-items: center;
    padding: 19px 16px;
    font-size: clamp(19px, 5.8vw, 23px);
  }

  .faq-list summary span {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .faq-list details p {
    padding: 0 56px 22px 16px;
    font-size: 14px;
  }
}

/* Readable site-wide typography: display face for headings, sans for copy. */
body {
  font-kerning: normal;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

body p:not(.eyebrow):not(.form-kicker),
body li,
body dd,
body address {
  font-family: var(--body-font) !important;
  font-kerning: normal;
  letter-spacing: .005em !important;
  word-spacing: .035em;
}

body h1,
body h2,
body h3 {
  font-kerning: normal;
  letter-spacing: 0 !important;
  word-spacing: .12em;
}

.faq-list summary {
  font-family: var(--body-font);
  font-weight: 500;
  letter-spacing: -.006em !important;
  word-spacing: .045em;
}

.contact-meta a,
.contact-meta strong,
.contact-detail-list a,
.footer-top a,
.footer-bottom a {
  font-family: var(--body-font);
  letter-spacing: .005em;
  word-spacing: .035em;
}

.footer-brand p,
.footer-top > div > p {
  max-width: 360px;
  color: rgba(255,255,255,.58);
  font-size: clamp(13px, 1vw, 15px);
  line-height: 1.72;
}

@media (max-width: 680px) {
  body p:not(.eyebrow):not(.form-kicker) {
    letter-spacing: .008em !important;
    word-spacing: .045em;
  }

  body h1,
  body h2,
  body h3 {
    letter-spacing: .002em !important;
    word-spacing: .1em;
  }
}

/* Caden-inspired type scale: elegant display headings with clean sans-serif copy. */
:root {
  --type-body: clamp(15px, calc(14.55px + .14vw), 17px);
  --type-h1: clamp(54px, 4.2vw, 78px);
  --type-h2: clamp(38px, 3.05vw, 58px);
  --type-h3: clamp(23px, 1.7vw, 32px);
}

html { font-size: 16px; }

body {
  font-family: var(--body-font);
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
}

body p:not(.eyebrow):not(.form-kicker),
body li,
body dd,
body address {
  font-family: var(--body-font) !important;
  line-height: 1.68;
  letter-spacing: 0 !important;
  word-spacing: .035em;
}

body h1,
body h2,
body h3 {
  font-family: var(--display-font);
  font-weight: 400;
  font-kerning: normal;
  letter-spacing: -.012em !important;
  word-spacing: .1em;
  text-wrap: balance;
}

body h1 { font-size: var(--type-h1); line-height: .98; }
body h2 { font-size: var(--type-h2); line-height: 1.05; }
body h3 { font-size: var(--type-h3); line-height: 1.16; }

.hero h1 {
  font-size: var(--type-h1);
  line-height: .98;
  letter-spacing: -.014em !important;
}

.inner-hero-content h1,
.privacy-hero h1,
.plans-index-hero h1,
.plan-detail-title h1 {
  font-size: clamp(52px, 4.75vw, 82px);
  line-height: .97;
  letter-spacing: -.014em !important;
}

.about-copy p.about-lead,
.about-story-copy p,
.privacy-intro {
  font-family: var(--body-font) !important;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.68;
  letter-spacing: 0 !important;
}

.eyebrow {
  font-family: var(--body-font);
  font-size: clamp(9px, .62vw, 11px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .2em;
}

.button,
.text-link,
.main-nav a,
.nav-parent,
.header-cta {
  font-family: var(--body-font);
}

/* Structured desktop dropdown and touch-friendly mobile navigation. */
.site-header { grid-template-columns: 180px minmax(0, 1fr) auto; }
.main-nav { gap: clamp(14px, 1.65vw, 30px); }
.main-nav > a,
.nav-parent {
  color: inherit;
  font-size: clamp(9px, .7vw, 11px);
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: .09em;
  white-space: nowrap;
}

.main-nav .is-current { color: var(--gold-soft); }
.nav-item { position: relative; }
.nav-parent {
  padding: 12px 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.nav-parent > span { color: var(--gold-soft); font-size: 13px; transition: transform .25s ease; }
.nav-item.is-open .nav-parent > span { transform: rotate(180deg); }
.nav-submenu {
  position: absolute;
  left: 50%;
  top: calc(100% + 14px);
  width: 280px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(16,20,39,.97);
  box-shadow: 0 24px 55px rgba(6,9,22,.3);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 10px);
  transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
}
.nav-submenu::before { content: ""; position: absolute; inset: -16px 0 auto; height: 16px; }
.nav-submenu a {
  padding: 13px 14px;
  display: block;
  border-bottom: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: .01em;
  white-space: normal;
}
.nav-submenu a:last-child { border-bottom: 0; }
.nav-submenu a:hover { color: var(--gold-soft); background: rgba(255,255,255,.04); }
.nav-item:hover .nav-submenu,
.nav-item:focus-within .nav-submenu,
.nav-item.is-open .nav-submenu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

/* Nexus Creek pages */
.creek-page-hero .inner-hero-shade { background: linear-gradient(90deg, rgba(8,11,26,.9) 0%, rgba(12,16,34,.58) 47%, rgba(8,11,26,.2) 80%), linear-gradient(0deg, rgba(8,11,25,.6), transparent 60%); }
.creek-overview-intro { padding: clamp(90px, 10vw, 145px) 0; display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(55px, 9vw, 130px); }
.creek-overview-copy { max-width: 820px; }
.creek-overview-copy h2 { margin: 0 0 38px; }
.creek-overview-copy > p { max-width: 720px; margin: 0 0 24px; color: #626574; }
.creek-facts { padding: 0 0 clamp(90px, 10vw, 140px); }
.creek-facts > div { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(33,38,66,.17); }
.creek-facts article { min-height: 250px; padding: 28px; display: flex; flex-direction: column; }
.creek-facts article + article { border-left: 1px solid rgba(33,38,66,.17); }
.creek-facts article > span { margin-left: auto; color: rgba(33,38,66,.34); font-family: var(--display-font); }
.creek-facts article small { margin-top: auto; color: var(--gold); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; }
.creek-facts article h3 { margin: 14px 0 0; font-size: clamp(23px, 1.8vw, 31px); }
.creek-split { padding-bottom: clamp(100px, 11vw, 155px); display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.creek-split-media { min-height: 640px; overflow: hidden; background: var(--navy-deep); }
.creek-split-media img { width: 100%; height: 100%; min-height: 640px; object-fit: cover; }
.creek-split-copy h2 { margin: 0 0 28px; }
.creek-split-copy > p:not(.eyebrow) { max-width: 520px; color: #6a6c79; }
.creek-page-actions { margin-top: 36px; display: flex; align-items: center; gap: 30px; }

.options-page { padding: clamp(95px, 10vw, 145px) 0; }
.options-page-head { margin-bottom: clamp(55px, 7vw, 90px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 10vw, 140px); align-items: end; }
.options-page-head > p { max-width: 570px; margin: 0 0 5px; color: #696c79; }
.options-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(33,38,66,.16); border: 1px solid rgba(33,38,66,.16); }
.options-page-grid article { min-width: 0; background: var(--cream); }
.options-page-image { position: relative; aspect-ratio: 1.36 / 1; overflow: hidden; background: var(--navy-deep); }
.options-page-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.18,.72,.22,1); }
.options-page-grid article:hover img { transform: scale(1.035); }
.options-page-image > span { position: absolute; left: 22px; top: 22px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.7); color: white; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.options-page-copy { padding: clamp(28px, 3.5vw, 48px); }
.options-page-copy > small { color: var(--gold); font-family: var(--display-font); }
.options-page-copy h2 { margin: 24px 0 16px; font-size: clamp(30px, 2.5vw, 42px); }
.options-page-copy p { max-width: 520px; margin: 0 0 30px; color: #6c6e7b; }

.gallery-page-content { padding: clamp(95px, 10vw, 145px) 0; }
.gallery-page-head { margin-bottom: clamp(50px, 7vw, 85px); }
.gallery-page-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.gallery-page-item { position: relative; grid-column: span 5; height: 520px; margin: 0; overflow: hidden; background: var(--navy-deep); }
.gallery-page-item-1, .gallery-page-item-4 { grid-column: span 7; }
.gallery-page-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.18,.72,.22,1); }
.gallery-page-item:hover img { transform: scale(1.035); }
.gallery-page-item figcaption { position: absolute; inset: auto 0 0; padding: 70px 24px 22px; display: flex; justify-content: space-between; background: linear-gradient(0deg, rgba(9,12,28,.78), transparent); color: white; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; }

/* Independent Nexus Ideas Developers journal. */
.blog-hero { min-height: 700px; padding: 190px 0 95px; display: flex; align-items: flex-end; color: white; background: radial-gradient(circle at 80% 22%, rgba(212,176,51,.15), transparent 30%), linear-gradient(125deg, #0d1229, #252b48); }
.blog-hero h1 { max-width: 920px; margin: 15px 0 28px; }
.blog-hero > div > p:last-child { max-width: 650px; color: rgba(255,255,255,.7); }

/* Keep the payment-plan masthead as calm and vertically balanced as the journal hero. */
.plans-index-hero {
  min-height: 700px;
  padding: 185px 0 88px;
  display: flex;
  align-items: flex-end;
}
.plans-index-hero h1 { margin: 15px 0 0; }
.plans-index-intro { margin-top: 46px; }
.blog-index { padding: clamp(95px, 10vw, 145px) 0; }
.blog-index-head { margin-bottom: clamp(55px, 7vw, 86px); }
.blog-index-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 42px); }
.blog-card { min-width: 0; }
.blog-card-image { display: block; aspect-ratio: 1.18 / 1; overflow: hidden; background: var(--navy-deep); }
.blog-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.18,.72,.22,1); }
.blog-card:hover .blog-card-image img { transform: scale(1.035); }
.blog-card-meta { margin: 22px 0 16px; display: flex; flex-wrap: wrap; gap: 12px 22px; color: #898a94; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; }
.blog-card-meta span:first-child { color: var(--gold); }
.blog-card h2 { margin: 0 0 18px; font-size: clamp(26px, 2.1vw, 35px); line-height: 1.1; }
.blog-card > p { margin: 0 0 26px; color: #6d6f7b; font-size: 14px; }
.article-hero { padding: 190px 0 75px; }
.article-back { display: inline-block; margin-bottom: 55px; color: #737582; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; }
.article-hero h1 { max-width: 1050px; margin: 18px 0 28px; color: var(--navy); }
.article-hero > p { max-width: 760px; color: #666977; font-size: clamp(17px, 1.3vw, 20px); }
.article-cover { width: min(1500px, calc(100% - 48px)); height: min(62vw, 760px); margin: 0 auto; overflow: hidden; background: var(--navy-deep); }
.article-cover img { width: 100%; height: 100%; object-fit: cover; }
.article-layout { padding: clamp(80px, 9vw, 130px) 0; display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(60px, 10vw, 150px); }
.article-layout aside { position: sticky; top: 120px; height: fit-content; padding-top: 18px; border-top: 1px solid rgba(33,38,66,.2); }
.article-layout aside span { display: block; margin-bottom: 14px; color: var(--gold); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.article-layout aside strong { font-family: var(--display-font); font-size: 23px; font-weight: 400; }
.article-layout aside p { color: #777986; font-size: 13px; }
.article-body { max-width: 800px; }
.article-body > section { margin-bottom: 58px; }
.article-body h2 { margin: 0 0 24px; font-size: clamp(31px, 2.7vw, 44px); }
.article-body p { margin: 0 0 21px; color: #555967; font-size: clamp(16px, 1.15vw, 18px); line-height: 1.78; }
.article-cta { margin-top: 80px; padding: clamp(38px, 5vw, 64px); color: white; background: var(--navy); }
.article-cta h2 { color: white; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; }
  .main-nav { gap: 0; }
  .main-nav > a,
  .nav-parent { width: 100%; font-family: var(--display-font); font-size: clamp(24px, 5vw, 30px); font-weight: 400; line-height: 1.15; text-transform: none; letter-spacing: -.01em; }
  .nav-parent { justify-content: space-between; padding: 0; }
  .nav-submenu {
    position: static;
    width: 100%;
    max-height: 0;
    margin: 0;
    padding: 0 0 0 18px;
    overflow: hidden;
    border: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: max-height .35s ease, margin .35s ease;
  }
  .nav-item:hover .nav-submenu,
  .nav-item:focus-within .nav-submenu { max-height: 0; margin: 0; transform: none; }
  .nav-item.is-open .nav-submenu { max-height: 240px; margin-top: 18px; transform: none; }
  .nav-submenu::before { display: none; }
  .nav-submenu a { padding: 10px 0; border: 0; font-family: var(--body-font); font-size: 14px; line-height: 1.45; letter-spacing: 0; }
  .creek-overview-intro, .creek-split, .options-page-head, .article-layout { grid-template-columns: 1fr; gap: 48px; }
  .creek-facts > div { grid-template-columns: repeat(2, 1fr); }
  .creek-facts article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(33,38,66,.17); }
  .creek-facts article:nth-child(4) { border-top: 1px solid rgba(33,38,66,.17); }
  .blog-index-grid { grid-template-columns: repeat(2, 1fr); }
  .article-layout aside { position: static; }
}

@media (max-width: 680px) {
  :root {
    --type-body: clamp(15px, 4vw, 16px);
    --type-h1: clamp(38px, 11vw, 52px);
    --type-h2: clamp(33px, 9.3vw, 44px);
    --type-h3: clamp(22px, 6.5vw, 29px);
  }
  body h1, body h2, body h3 { letter-spacing: -.006em !important; word-spacing: .09em; }
  .hero h1 { font-size: clamp(34px, 9.8vw, 46px); line-height: 1; }
  .inner-hero-content h1,
  .privacy-hero h1,
  .plans-index-hero h1,
  .plan-detail-title h1 { font-size: clamp(38px, 11vw, 52px); line-height: 1; }
  .main-nav { padding-top: 112px; gap: 24px; overflow-y: auto; }
  .menu-toggle.is-open span:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle.is-open span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .menu-toggle span { transition: transform .25s ease; }
  .creek-facts > div, .options-page-grid, .blog-index-grid { grid-template-columns: 1fr; }
  .creek-facts article { min-height: 185px; }
  .creek-facts article + article { border-left: 0; border-top: 1px solid rgba(33,38,66,.17); }
  .creek-split-media, .creek-split-media img { min-height: 480px; }
  .creek-page-actions { align-items: flex-start; flex-direction: column; }
  .options-page-image { aspect-ratio: 1 / 1.06; }
  .gallery-page-grid { grid-template-columns: 1fr; gap: 14px; }
  .gallery-page-item, .gallery-page-item-1, .gallery-page-item-4 { grid-column: auto; height: 420px; }
  .blog-hero { min-height: 620px; padding: 140px 0 70px; }
  .article-hero { padding: 130px 0 55px; }
  .article-back { margin-bottom: 38px; }
  .article-cover { width: calc(100% - 28px); height: 68vw; min-height: 300px; }
  .article-layout { gap: 44px; }
  .article-body > section { margin-bottom: 44px; }
  .article-cta { margin-top: 55px; }
}

/* Reliable inner-page loading and full-height project heroes. */
.creek-page-hero {
  min-height: clamp(680px, 90svh, 920px);
  align-items: center;
}

.creek-page-hero .inner-hero-content {
  padding-top: clamp(135px, 17vh, 190px);
  padding-bottom: clamp(60px, 9vh, 95px);
}

.creek-page-hero .inner-hero-content h1 {
  max-width: 1040px;
  margin-bottom: 28px;
}

/* Wide project banners: preserve the complete artwork instead of zoom-cropping it. */
@media (min-width: 681px) {
  .creek-full-banner {
    min-height: 0;
    aspect-ratio: 2560 / 1130;
    background: var(--navy-deep);
  }
  .creek-full-banner .inner-hero-media,
  .creek-full-banner .inner-hero-media[data-parallax] {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none !important;
    will-change: auto;
  }
  .creek-full-banner .inner-hero-content {
    padding-top: clamp(100px, 12vw, 170px);
    padding-bottom: clamp(38px, 5vw, 78px);
  }
}

@media (max-width: 680px) {
  .creek-full-banner { aspect-ratio: auto; }
  .creek-full-banner .inner-hero-media,
  .creek-full-banner .inner-hero-media[data-parallax] {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: none !important;
  }
}

/* Property option details and decision guide. */
.option-card-details {
  margin: 28px 0 32px;
  padding: 24px 0;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 28px;
  border-top: 1px solid rgba(33,38,66,.14);
  border-bottom: 1px solid rgba(33,38,66,.14);
}

.option-card-details > div { display: flex; flex-direction: column; gap: 9px; }
.option-card-details span {
  color: #686b79;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.option-card-details strong { color: var(--navy); font-size: 15px; font-weight: 600; line-height: 1.5; }
.option-card-details ul { margin: 0; padding: 0; list-style: none; }
.option-card-details li { position: relative; margin-bottom: 8px; padding-left: 18px; color: #5d606e; font-size: 14px; line-height: 1.55; }
.option-card-details li::before { content: ""; position: absolute; left: 0; top: .7em; width: 6px; height: 1px; background: var(--gold); }

.property-guide { padding: clamp(90px, 10vw, 140px) 0; color: white; background: var(--navy); }
.property-guide > div { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px, 9vw, 130px); }
.property-guide-head h2 { color: white; }
.property-guide-grid { border-top: 1px solid rgba(255,255,255,.17); }
.property-guide-grid article { padding: 32px 0; display: grid; grid-template-columns: 48px .72fr 1.28fr; gap: 24px; align-items: start; border-bottom: 1px solid rgba(255,255,255,.17); }
.property-guide-grid article > span { color: var(--gold-soft); font-family: var(--display-font); font-size: 16px; }
.property-guide-grid h3 { margin: 0; color: white; font-size: clamp(23px, 1.7vw, 30px); }
.property-guide-grid p { margin: 2px 0 0; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.7; }

/* Gallery editorial introduction and supporting content. */
.gallery-page-head { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(55px, 9vw, 130px); align-items: end; }
.gallery-page-head > p { max-width: 590px; margin: 0 0 8px; color: #626572; font-size: 16px; line-height: 1.72; }
.gallery-notes { padding: 0 0 clamp(95px, 10vw, 145px); }
.gallery-notes > div { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(33,38,66,.16); }
.gallery-notes article { min-height: 280px; padding: clamp(28px, 3.5vw, 46px); display: flex; flex-direction: column; }
.gallery-notes article + article { border-left: 1px solid rgba(33,38,66,.16); }
.gallery-notes article > span { color: var(--gold); font-family: var(--display-font); }
.gallery-notes h3 { margin: auto 0 16px; font-size: clamp(25px, 2vw, 33px); }
.gallery-notes p { margin: 0; color: #626573; font-size: 15px; line-height: 1.7; }

/* Restored full footer with accessible text sizes and contrast. */
footer { padding: clamp(72px, 7vw, 96px) 0 26px; }
.footer-top {
  grid-template-columns: minmax(250px, 1.4fr) minmax(190px, .8fr) minmax(220px, 1fr) auto;
  gap: clamp(34px, 4.5vw, 70px);
  align-items: start;
}
.footer-brand img { width: 165px; }
.footer-brand p,
.footer-top > div > p {
  color: rgba(255,255,255,.72);
  font-family: var(--body-font) !important;
  font-size: clamp(14px, .95vw, 16px);
  line-height: 1.7;
  letter-spacing: 0 !important;
}
.footer-top h3 {
  margin: 2px 0 20px;
  color: #f0d979;
  font-family: var(--body-font);
  font-size: clamp(11px, .72vw, 12px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .15em;
}
.footer-top > div:not(.footer-brand) a {
  min-height: 34px;
  margin: 0 0 5px;
  display: flex;
  align-items: center;
  color: rgba(255,255,255,.82);
  font-family: var(--body-font);
  font-size: clamp(14px, .9vw, 15px);
  line-height: 1.45;
  letter-spacing: 0;
}
.footer-top > div:not(.footer-brand) a:hover { color: var(--gold-soft); }
.footer-bottom {
  color: rgba(255,255,255,.62);
  font-size: clamp(11px, .72vw, 12px);
  line-height: 1.55;
  letter-spacing: .06em;
}
.back-top { flex: 0 0 52px; }

@media (max-width: 1100px) {
  .footer-top { grid-template-columns: 1.2fr 1fr 1fr auto; }
  .footer-top .back-top { grid-column: 4; justify-self: end; }
}

@media (max-width: 900px) {
  .property-guide > div, .gallery-page-head { grid-template-columns: 1fr; gap: 45px; }
  .footer-top { grid-template-columns: 1.2fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-top > div:nth-child(3) { grid-column: 2; }
  .footer-top .back-top { grid-column: 2; justify-self: end; }
}

@media (max-width: 680px) {
  .creek-page-hero { min-height: max(680px, 92svh); }
  .creek-page-hero .inner-hero-content { padding-top: 130px; padding-bottom: 55px; }
  .option-card-details { grid-template-columns: 1fr; gap: 22px; }
  .property-guide-grid article { grid-template-columns: 34px 1fr; gap: 12px 18px; }
  .property-guide-grid article p { grid-column: 2; }
  .gallery-notes > div { grid-template-columns: 1fr; }
  .gallery-notes article { min-height: 230px; }
  .gallery-notes article + article { border-left: 0; border-top: 1px solid rgba(33,38,66,.16); }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 38px 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-top > div:nth-child(3) { grid-column: 1 / -1; }
  .footer-top .back-top { grid-column: 2; justify-self: end; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
}

/* Readable editorial labels across every route. */
.eyebrow {
  margin-bottom: clamp(18px, 1.7vw, 26px);
  font-size: clamp(12px, .82vw, 14px);
  line-height: 1.5;
  letter-spacing: .16em;
}

.inner-section-label { gap: clamp(15px, 1.5vw, 22px); }
.inner-section-label span {
  flex: 0 0 auto;
  font-size: clamp(17px, 1.25vw, 21px);
  line-height: 1;
}
.inner-section-label p {
  color: #626572;
  font-size: clamp(12px, .8vw, 14px);
  line-height: 1.45;
  letter-spacing: .13em;
}
.inner-section-label.light p { color: rgba(255,255,255,.72); }

/* Property options — spacious alternating editorial showcases. */
.options-page { overflow: hidden; }
.options-showcase {
  border-top: 1px solid rgba(33,38,66,.18);
}
.option-showcase-card {
  min-height: clamp(570px, 51vw, 720px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  border-bottom: 1px solid rgba(33,38,66,.18);
  background: transparent;
}
.option-showcase-card:nth-child(even) .options-page-image { order: 2; }
.option-showcase-card:nth-child(even) .options-page-copy { order: 1; }
.option-showcase-card .options-page-image {
  min-height: 100%;
  aspect-ratio: auto;
  position: relative;
  overflow: hidden;
  background: var(--navy-deep);
}
.option-showcase-card .options-page-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,11,25,.04), rgba(8,11,25,.28));
  pointer-events: none;
}
.option-showcase-card .options-page-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 1.05s cubic-bezier(.18,.72,.22,1), filter .7s ease;
}
.option-showcase-card:hover .options-page-image img { transform: scale(1.035); filter: saturate(1.04); }
.option-showcase-card .options-page-image > span {
  z-index: 2;
  left: clamp(22px, 3vw, 42px);
  top: clamp(22px, 3vw, 42px);
  font-size: 11px;
  letter-spacing: .13em;
}
.option-showcase-card .options-page-image > small {
  position: absolute;
  z-index: 2;
  right: clamp(22px, 3vw, 42px);
  bottom: clamp(20px, 3vw, 40px);
  color: white;
  font-family: var(--display-font);
  font-size: clamp(42px, 4.2vw, 68px);
  line-height: 1;
}
.option-showcase-card .options-page-copy {
  padding: clamp(44px, 6vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(255,255,255,.3);
}
.option-title-row {
  margin-bottom: clamp(34px, 4vw, 58px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(33,38,66,.16);
}
.option-title-row > span {
  color: var(--gold);
  font-family: var(--display-font);
  font-size: clamp(17px, 1.2vw, 21px);
}
.option-title-row > p {
  margin: 0;
  color: #666976;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .13em !important;
}
.option-showcase-card .options-page-copy h2 {
  max-width: 560px;
  margin: 0 0 22px;
  font-size: clamp(43px, 4vw, 64px);
  line-height: 1;
}
.option-showcase-card .options-page-copy > p {
  max-width: 550px;
  margin-bottom: 0;
  color: #555967;
  font-size: clamp(16px, 1.05vw, 18px);
}
.option-showcase-card .option-card-details {
  grid-template-columns: .88fr 1.12fr;
  margin: clamp(28px, 3vw, 38px) 0;
  padding: clamp(22px, 2.2vw, 30px) 0;
}
.option-showcase-card .option-card-details span { font-size: 12px; }
.option-showcase-card .option-card-details strong { font-size: 16px; }
.option-showcase-card .option-card-details li { font-size: 15px; }

/* Keep scroll motion visible, smooth and compositor-friendly. */
.inner-page [data-reveal] {
  transition-duration: 1.05s, 1.2s, 1.3s;
  transition-timing-function: ease, cubic-bezier(.16,.75,.24,1), cubic-bezier(.16,.75,.24,1);
}
html.motion-ready .inner-page [data-reveal="up"].reveal-pending { transform: translate3d(0, 68px, 0); }
html.motion-ready .inner-page [data-reveal="left"].reveal-pending { transform: translate3d(-72px, 0, 0); }
html.motion-ready .inner-page [data-reveal="right"].reveal-pending { transform: translate3d(72px, 0, 0); }
.inner-page [data-reveal].is-visible { transform: translate3d(0,0,0); }

@media (max-width: 980px) {
  .option-showcase-card {
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .option-showcase-card:nth-child(even) .options-page-image,
  .option-showcase-card:nth-child(even) .options-page-copy { order: initial; }
  .option-showcase-card .options-page-image { min-height: 0; aspect-ratio: 4 / 3; }
  .option-showcase-card .options-page-copy { padding: clamp(38px, 7vw, 68px); }
  .option-showcase-card .options-page-copy h2 { font-size: clamp(40px, 7vw, 58px); }
}

@media (max-width: 680px) {
  .eyebrow { font-size: 12px; letter-spacing: .13em; }
  .inner-section-label { align-items: flex-start; }
  .inner-section-label span { font-size: 18px; }
  .inner-section-label p { font-size: 12px; }
  .option-showcase-card .options-page-image { aspect-ratio: 4 / 5; }
  .option-showcase-card .options-page-copy { padding: 36px 22px 44px; }
  .option-title-row { margin-bottom: 30px; }
  .option-showcase-card .options-page-copy h2 { font-size: clamp(37px, 11vw, 48px); }
  .option-showcase-card .option-card-details { grid-template-columns: 1fr; }
  html.motion-ready .inner-page [data-reveal="left"].reveal-pending,
  html.motion-ready .inner-page [data-reveal="right"].reveal-pending { transform: translate3d(0, 52px, 0); }
  .inner-page [data-reveal].is-visible { transform: translate3d(0,0,0); }
}

/* Homepage journal — dynamic editorial preview between gallery and FAQs. */
.home-journal {
  padding: clamp(95px, 10vw, 145px) 0;
  overflow: hidden;
  color: white;
  background: radial-gradient(circle at 88% 12%, rgba(212,176,51,.12), transparent 28%), linear-gradient(135deg, #0b1025, #1d2341);
  content-visibility: auto;
  contain-intrinsic-size: auto 1050px;
}
.home-journal-head {
  margin-bottom: clamp(52px, 7vw, 88px);
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(55px, 9vw, 130px);
  align-items: end;
}
.home-journal-head h2 { margin: 0; color: white; font-size: var(--type-h2); line-height: 1.03; }
.home-journal-head h2 em { color: var(--gold-soft); font-weight: 400; }
.home-journal-intro { max-width: 600px; padding-bottom: 7px; }
.home-journal-intro > p { margin: 0 0 28px; color: rgba(255,255,255,.68); font-size: clamp(16px, 1.08vw, 18px); }
.home-journal-intro .text-link { color: white; border-color: rgba(255,255,255,.48); }
.home-journal-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
  align-items: start;
}
.home-journal-card {
  grid-column: span 3;
  min-width: 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.26);
  transition: transform .55s cubic-bezier(.18,.72,.22,1), border-color .45s ease;
}
.home-journal-card:hover { transform: translateY(-9px); border-color: var(--gold-soft); }
.home-journal-card:nth-child(2) { transition-delay: .14s; }
.home-journal-card:nth-child(3) { transition-delay: .28s; }
.home-journal-card.is-featured { grid-column: span 6; }
.home-journal-image { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #090d1e; }
.home-journal-card.is-featured .home-journal-image { aspect-ratio: 16 / 10; }
.home-journal-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.18,.72,.22,1); }
.home-journal-card:hover .home-journal-image img { transform: scale(1.045); }
.home-journal-copy { padding: clamp(24px, 2.3vw, 34px) 0 0; display: flex; flex-direction: column; align-items: flex-start; }
.home-journal-copy .blog-card-meta { width: 100%; margin: 0 0 20px; color: var(--gold-soft); }
.home-journal-copy h3 { margin: 0 0 22px; color: white; font-size: clamp(30px, 2.5vw, 43px); line-height: 1.05; }
.home-journal-card:not(.is-featured) h3 { font-size: clamp(23px, 1.65vw, 30px); }
.home-journal-copy h3 a { color: inherit; }
.home-journal-copy > p { max-width: 680px; margin: 0 0 25px; color: rgba(255,255,255,.62); font-size: 15px; }
.home-journal-copy .text-link { margin-top: auto; color: white; border-color: rgba(255,255,255,.4); }
.home-journal .text-link.dark { color: white; border-color: rgba(255,255,255,.4); }

/* Blog author biography and dedicated author archive. */
.article-author {
  margin: clamp(65px, 7vw, 95px) 0 0;
  padding: clamp(28px, 4vw, 52px);
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: clamp(28px, 4vw, 50px);
  align-items: center;
  border-top: 1px solid rgba(33,38,66,.17);
  border-bottom: 1px solid rgba(33,38,66,.17);
  background: rgba(255,255,255,.4);
}
.article-author > img { width: 180px; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; }
.article-author .eyebrow { margin-bottom: 12px; }
.article-author h2 { margin: 0 0 8px; font-size: clamp(30px, 2.7vw, 43px); }
.article-author strong,
.author-profile-copy > strong { display: block; color: var(--gold); font-size: 12px; font-weight: 700; line-height: 1.45; text-transform: uppercase; letter-spacing: .13em; }
.article-author div > p:not(.eyebrow) { margin: 17px 0 22px; color: #5c606d; font-size: 15px; }

.author-profile-hero { padding: clamp(145px, 14vw, 205px) 0 clamp(90px, 9vw, 130px); color: white; background: radial-gradient(circle at 82% 22%, rgba(212,176,51,.14), transparent 28%), var(--navy-deep); }
.author-profile-grid { display: grid; grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr); gap: clamp(55px, 9vw, 125px); align-items: center; }
.author-profile-image { max-width: 530px; aspect-ratio: 805 / 1024; overflow: hidden; border: 1px solid rgba(255,255,255,.16); background: #171b31; }
.author-profile-image img { width: 100%; height: 100%; object-fit: contain; }
.author-profile-copy h1 { max-width: 760px; margin: 0 0 22px; color: white; font-size: clamp(52px, 5.7vw, 86px); line-height: .98; }
.author-profile-copy > p:not(.eyebrow) { max-width: 700px; margin: 28px 0 35px; color: rgba(255,255,255,.74); font-size: clamp(17px, 1.25vw, 20px); }
.author-posts { padding: clamp(90px, 10vw, 145px) 0; }
.author-posts-head { margin-bottom: clamp(50px, 7vw, 85px); }
.author-posts-head h2 { margin: 0; font-size: var(--type-h2); }

@media (max-width: 980px) {
  .plans-index-hero { min-height: 650px; padding: 155px 0 76px; }
  .plans-index-intro { gap: 42px; }
  .home-journal-head { grid-template-columns: 1fr; gap: 38px; }
  .home-journal-card.is-featured { grid-column: span 12; }
  .home-journal-card:not(.is-featured) { grid-column: span 6; }
  .author-profile-grid { grid-template-columns: .85fr 1.15fr; gap: 48px; }
}

@media (max-width: 680px) {
  .plans-index-hero { min-height: 620px; padding: 130px 0 62px; }
  .plans-index-hero h1 { margin-top: 12px; }
  .plans-index-intro { margin-top: 34px; gap: 24px; }
  .plans-index-intro > span { min-width: 0; padding: 17px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
  .home-journal { padding: 82px 0; }
  .home-journal-grid { grid-template-columns: 1fr; gap: 44px; }
  .home-journal-card,
  .home-journal-card.is-featured,
  .home-journal-card:not(.is-featured) { min-height: 0; grid-column: auto; }
  .home-journal-card.is-featured .home-journal-image,
  .home-journal-card .home-journal-image { min-height: 0; aspect-ratio: 4 / 3; }
  .home-journal-copy { padding: 24px 0 0 !important; }
  .home-journal-copy h3,
  .home-journal-card:not(.is-featured) h3 { font-size: clamp(27px, 8vw, 35px); }
  .article-author { grid-template-columns: 1fr; padding: 26px 22px 32px; }
  .article-author > img { width: 128px; }
  .author-profile-hero { padding-top: 130px; }
  .author-profile-grid { grid-template-columns: 1fr; gap: 40px; }
  .author-profile-image { width: min(82vw, 390px); }
  .author-profile-copy h1 { font-size: clamp(43px, 13vw, 58px); }
}


/* WordPress compatibility */
body.nexus-ideas-developers { margin: 0; }
body.admin-bar .site-header { top: 32px; }
.site-header .brand { display: block; }
.site-header .main-nav { margin: 0; }
.site-header .main-nav a[aria-current="page"] { color: var(--gold-soft); }
.nexus-ideas-developers .nav-parent { appearance: none; -webkit-appearance: none; color: inherit; font: inherit; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.nexus-ideas-developers .main-nav > .nav-item { display: flex; align-items: center; }
.nexus-ideas-developers .hero-content { max-width: 100%; overflow: visible; }
.nexus-ideas-developers .hero h1 { width: 100%; max-width: 1120px; overflow: visible; }
.nexus-ideas-developers .hero-line { overflow: visible; }
.nexus-ideas-developers .hero-line-text { display: flex; flex-wrap: nowrap; gap: .19em; white-space: nowrap; }
@media (min-width: 981px) {
  .nexus-ideas-developers .hero h1 { font-size: clamp(58px, 5vw, 86px); }
  .nexus-ideas-developers .nav-submenu { position: absolute; display: block; opacity: 0; visibility: hidden; }
  .nexus-ideas-developers .nav-item:hover .nav-submenu,
  .nexus-ideas-developers .nav-item:focus-within .nav-submenu,
  .nexus-ideas-developers .nav-item.is-open .nav-submenu { opacity: 1; visibility: visible; }
}
.nexus-page-content { min-height: 70vh; padding: 160px 0 100px; }
.nexus-page-content .entry-content { max-width: 820px; }
.nexus-page-content .entry-content p { font-family: var(--body-font); font-size: var(--type-body); line-height: 1.68; letter-spacing: 0; }
.nexus-form-notice { margin: 0 0 24px; padding: 15px 18px; border-left: 3px solid var(--gold); background: rgba(212,176,51,.12); color: var(--navy); font-size: 13px; line-height: 1.6; }
.nexus-form-notice.is-error { border-color: #a55b5b; background: rgba(165,91,91,.1); }
.contact-page-form small { margin-top: 18px; display: block; color: #92939b; font-size: 9px; line-height: 1.5; }
.elementor-form-slot { min-width: 0; position: relative; z-index: 2; }
.elementor-form-slot > .elementor { width: 100%; }
.payment-page .plan-detail-hero { padding-top: 145px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
@media (max-width: 680px) { .payment-page .plan-detail-hero { padding-top: 120px; } }
@media (max-width: 600px) { body.admin-bar .site-header.is-scrolled { top: 0; } }


/* WordPress v1.6 integration */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;left:20px;top:20px;padding:12px 18px;background:#fff;color:#111;z-index:99999}
.nav-parent{appearance:none;-webkit-appearance:none;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;font:inherit}
.article-featured{margin-top:clamp(24px,4vw,64px)}
.article-featured img,.blog-card-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.blog-card-image{display:block;margin:-1px -1px 28px;overflow:hidden}
.article-table-wrap{width:100%;overflow-x:auto;margin:28px 0}
.article-body table{width:100%;border-collapse:collapse;min-width:620px}
.article-body th,.article-body td{padding:14px 16px;border:1px solid rgba(17,17,17,.14);text-align:left;vertical-align:top}
.article-body th{background:#11182d;color:#fff}
.navigation.pagination{grid-column:1/-1;margin-top:32px}
.nav-links{display:flex;flex-wrap:wrap;gap:10px}
.page-numbers{padding:10px 14px;border:1px solid rgba(17,17,17,.18)}
.page-numbers.current{background:#11182d;color:#fff}
.form-notice{padding:14px 18px;background:#e7f5e9;color:#153b1d;margin-bottom:20px}
.author-profile{margin-bottom:48px}
@media (max-width:720px){.article-body table{min-width:540px}.article-featured{padding-left:20px;padding-right:20px}.blog-card-image{margin-bottom:20px}}
