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

/* v3.7.0 amenities */
.dual-amenities{overflow:hidden;background:#f3efe6;color:var(--navy)}
.dual-amenities-head{padding:clamp(90px,10vw,150px) 0 clamp(55px,7vw,95px);display:grid;grid-template-columns:.65fr 1.35fr;gap:3rem;align-items:end}.dual-amenities-head h2{margin:0;font-size:clamp(3.5rem,6.4vw,6.8rem);line-height:.9}
.amenity-project{padding-bottom:clamp(90px,10vw,150px)}.amenity-project-title{margin-bottom:2rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.4rem;align-items:end}.amenity-project-title>span{color:var(--gold);font-family:var(--display-font)}.amenity-project-title h3{margin:.3rem 0 0;font-family:var(--display-font);font-size:clamp(2.8rem,5vw,5.2rem);font-weight:400;line-height:.9}
.amenity-image-strip{display:grid;gap:14px}.amenity-image-strip figure{position:relative;margin:0;height:clamp(350px,42vw,620px);overflow:hidden;background:#11172f}.amenity-image-strip img{width:100%;height:108%;margin-top:-4%;object-fit:cover;transform:translate3d(0,var(--parallax-y,0),0) scale(1.025);filter:saturate(.86);transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .7s}.amenity-image-strip figure:hover img{transform:translate3d(0,var(--parallax-y,0),0) scale(1.075);filter:saturate(1)}
.amenity-image-strip figure:after,.creek-amenity-gallery figure:after,.square-amenity-gallery figure:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,rgba(7,11,27,.83),transparent)}.amenity-image-strip figcaption{position:absolute;z-index:2;left:clamp(1.2rem,2vw,2rem);bottom:clamp(1.2rem,2vw,2rem);color:#fff;font-family:var(--display-font);font-size:clamp(1.55rem,2.4vw,2.8rem);line-height:1}
.creek-amenity-strip{grid-template-columns:1.3fr .78fr .78fr 1.05fr}.creek-amenity-strip figure:nth-child(2),.creek-amenity-strip figure:nth-child(4){transform:translateY(34px)}
.amenity-project-square{padding-top:clamp(80px,9vw,135px);background:var(--navy);color:#fff}.amenity-project-square .amenity-project-title{direction:rtl}.amenity-project-square .amenity-project-title>*{direction:ltr}.square-amenity-strip{grid-template-columns:.82fr 1.18fr .82fr 1.18fr}.square-amenity-strip figure:nth-child(odd){height:clamp(320px,37vw,550px);margin-top:54px}
.creek-amenity-hero{padding:clamp(160px,17vw,240px) 0 clamp(80px,9vw,130px);background:#f3efe6}.creek-amenity-hero h1,.square-amenity-hero h1{margin:1rem 0 0;font-size:clamp(4rem,8vw,8rem);line-height:.86}.creek-amenity-hero h1 em,.square-amenity-hero h1 em{color:var(--gold);font-weight:400}
.creek-amenity-gallery{padding-bottom:clamp(100px,12vw,180px);display:grid;grid-template-columns:repeat(12,1fr);gap:18px;background:#f3efe6}.creek-amenity-gallery figure{position:relative;margin:0;grid-column:span 5;height:540px;overflow:hidden}.creek-amenity-gallery figure.is-featured{grid-column:span 7;height:720px}.creek-amenity-gallery figure:nth-child(2){margin-top:150px}.creek-amenity-gallery figure:nth-child(3){grid-column:2/span 5;height:610px}.creek-amenity-gallery figure.is-wide{grid-column:7/span 6;height:430px;margin-top:90px}
.creek-amenity-gallery img,.square-amenity-gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.75,.2,1)}.creek-amenity-gallery figure:hover img,.square-amenity-gallery figure:hover img{transform:scale(1.055)}.creek-amenity-gallery figcaption,.square-amenity-gallery figcaption{position:absolute;z-index:2;left:2rem;right:2rem;bottom:1.8rem;display:flex;gap:1rem;align-items:baseline;color:#fff}.creek-amenity-gallery figcaption span,.square-amenity-gallery figcaption span{color:var(--gold)}.creek-amenity-gallery figcaption h2,.square-amenity-gallery figcaption h2{margin:0;color:#fff;font-size:clamp(2rem,3.5vw,4rem);line-height:.95}
.square-amenities-page{background:var(--navy);color:#fff}.square-amenity-hero{padding:clamp(160px,17vw,240px) 0 clamp(70px,8vw,115px)}.square-amenity-hero>.section-shell{display:grid;grid-template-columns:1.15fr .85fr;gap:5rem;align-items:end}.square-amenity-hero h1{color:#fff}.square-amenity-hero>.section-shell>p{max-width:500px;margin:0;color:rgba(255,255,255,.62);line-height:1.8}
.square-amenity-gallery{padding:0 max(20px,calc((100vw - 1500px)/2)) clamp(100px,11vw,165px);display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.square-amenity-gallery figure{position:relative;margin:0;height:min(62vw,720px);overflow:hidden}.square-amenity-gallery figure:nth-child(even){margin-top:70px}.square-amenity-gallery figcaption{left:1.25rem;right:1.25rem;display:block}.square-amenity-gallery figcaption span{display:block;margin-bottom:.65rem}.square-amenity-gallery figcaption h2{font-size:clamp(1.65rem,2.3vw,2.8rem)}
.square-amenity-action{padding-bottom:clamp(100px,12vw,170px);display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;align-items:end}.square-amenity-action h2{margin:0;color:#fff;font-size:clamp(3.4rem,6vw,6.4rem);line-height:.9}.square-amenity-action .button{justify-self:end}
@media(max-width:980px){.dual-amenities-head,.square-amenity-hero>.section-shell,.square-amenity-action{grid-template-columns:1fr}.creek-amenity-strip,.square-amenity-strip,.square-amenity-gallery{grid-template-columns:repeat(2,1fr)}.amenity-project-square .amenity-project-title{direction:ltr}.square-amenity-action .button{justify-self:start}}
@media(max-width:620px){.amenity-project-title{grid-template-columns:auto 1fr}.amenity-project-title .text-link{grid-column:2}.creek-amenity-strip,.square-amenity-strip,.square-amenity-gallery,.creek-amenity-gallery{grid-template-columns:1fr}.amenity-image-strip figure,.square-amenity-strip figure:nth-child(n){height:80vw;min-height:280px;margin:0;transform:none}.creek-amenity-gallery figure:nth-child(n){grid-column:1;height:115vw;max-height:570px;margin:0}.square-amenity-gallery figure:nth-child(n){height:120vw;max-height:620px;margin:0}}

@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: 760px; margin: 22px 0 0; color: rgba(255,255,255,.82); 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; transform:translateZ(0); backface-visibility:hidden; }
.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-6 { grid-column: 1 / 13; height: 520px; }
.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 page v3.9.19 — compact homepage-style hero with a minimal stat rail */
body .unified-hero.about-page-hero {
  height: clamp(680px, 84svh, 770px) !important;
  min-height: 680px !important;
  max-height: 770px !important;
  align-items: stretch !important;
}
body .unified-hero.about-page-hero .inner-hero-content {
  width: min(90.5%, 1640px) !important;
  height: 100%;
  padding: 108px 0 118px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body .unified-hero.about-page-hero h1 {
  max-width: 760px !important;
  margin: 12px 0 20px !important;
  font-size: clamp(46px, 3.55vw, 66px) !important;
  line-height: .98 !important;
}
body .unified-hero.about-page-hero .inner-hero-content > p:last-of-type {
  max-width: 650px;
  color: rgba(255, 255, 255, .78);
  font-size: clamp(14px, .88vw, 16px) !important;
  line-height: 1.6 !important;
}
.about-hero-cta { margin-top: 20px; align-self: flex-start; }
.about-hero-metrics {
  position: absolute;
  z-index: 4;
  right: auto;
  bottom: 18px;
  left: max(4.75vw, calc((100vw - 1640px) / 2));
  width: min(720px, 90.5vw);
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, .28);
  background: transparent;
}
.about-hero-metrics article {
  min-width: 0;
  min-height: 78px;
  padding: 12px 15px 10px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.about-hero-metrics article + article {
  border-left: 1px solid rgba(255, 255, 255, .16);
}
.about-metric-index {
  display: none;
}
.about-hero-metrics strong,
.about-page-hero .about-hero-metrics p {
  position: relative;
  z-index: 1;
}
.about-hero-metrics strong {
  display: block;
  color: white;
  font-family: var(--display-font);
  font-size: clamp(24px, 1.65vw, 30px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.035em;
  white-space: nowrap;
}
.about-hero-metrics article:first-child strong { color: var(--gold-soft); }
.about-hero-metrics p {
  margin: 6px 0 0;
  color: rgba(255, 255, 255, .58);
  font-size: 7.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}
body .unified-hero.about-page-hero .about-hero-metrics p {
  max-width: none;
  color: rgba(255, 255, 255, .58);
  font-size: 7.5px !important;
  line-height: 1.35 !important;
  letter-spacing: .1em !important;
}

@media (max-width: 980px) {
  body .unified-hero.about-page-hero { height: 720px !important; min-height: 720px !important; max-height: 720px !important; }
  body .unified-hero.about-page-hero .inner-hero-content { width: calc(100% - 3rem) !important; padding: 96px 0 116px !important; }
  body .unified-hero.about-page-hero h1 { max-width: 680px !important; font-size: clamp(44px, 6.8vw, 58px) !important; }
  .about-hero-metrics { left: 1.5rem; bottom: 16px; width: min(700px, calc(100% - 3rem)); }
  .about-hero-metrics article { min-height: 76px; padding: 11px 12px 9px; }
  .about-hero-metrics strong { font-size: clamp(23px, 3.2vw, 28px); }
  body .unified-hero.about-page-hero .about-hero-metrics p { margin-top: 6px; font-size: 7px !important; }
}

@media (max-width: 700px) {
  body .unified-hero.about-page-hero { height: 810px !important; min-height: 810px !important; max-height: 810px !important; align-items: stretch !important; }
  body .unified-hero.about-page-hero .inner-hero-content { width: calc(100% - 2.5rem) !important; padding: 88px 0 182px !important; justify-content: center; }
  body .unified-hero.about-page-hero h1 { margin: 10px 0 17px !important; font-size: clamp(37px, 10.4vw, 47px) !important; line-height: 1 !important; }
  body .unified-hero.about-page-hero h1 br { display: none; }
  body .unified-hero.about-page-hero .inner-hero-content > p:last-of-type { font-size: 13px !important; line-height: 1.55 !important; }
  .about-hero-cta { margin-top: 18px; }
  .about-hero-metrics { left: 1.25rem; bottom: 14px; width: calc(100% - 2.5rem) !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-hero-metrics article { min-height: 70px; padding: 9px 10px; }
  .about-hero-metrics article + article { border-left: 1px solid rgba(255, 255, 255, .18); }
  .about-hero-metrics article:nth-child(3),
  .about-hero-metrics article:nth-child(4) { border-top: 1px solid rgba(255, 255, 255, .18); }
  .about-hero-metrics article:nth-child(3) { border-left: 0; }
  .about-hero-metrics strong { font-size: clamp(22px, 6.4vw, 27px); }
  body .unified-hero.about-page-hero .about-hero-metrics p { font-size: 6.5px !important; letter-spacing: .08em !important; }
}

/* About page v3.9.21 — compact editorial Who We Are image slider */
.about-story-v2 {
  padding: clamp(72px, 6.5vw, 104px) 0;
  overflow: hidden;
  background: var(--paper);
}
.about-story-v2-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(48px, 5vw, 80px);
  align-items: center;
}
.about-story-visual {
  position: relative;
  min-height: clamp(500px, 39vw, 620px);
  overflow: hidden;
  background: #d8d3c8;
}
.about-story-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 54%, rgba(9,13,31,.5) 100%);
}
.about-story-v2 .about-slider-progress { right: clamp(20px, 2.4vw, 38px); bottom: clamp(24px, 2.4vw, 38px); z-index: 4; }
.about-story-v2-copy { max-width: 760px; }
.about-story-kicker { margin-bottom: 20px; }
.about-story-kicker::after { content: none; }
.about-story-kicker .eyebrow { margin: 0; }
.about-story-v2 h2 {
  max-width: 760px;
  margin: 0 0 clamp(24px, 2.3vw, 34px);
  color: var(--navy);
  font-family: var(--display-font);
  font-size: clamp(42px, 3.35vw, 56px) !important;
  font-weight: 400;
  line-height: .98 !important;
  letter-spacing: -.045em;
}
.about-story-v2 h2 em { color: var(--gold); font-weight: 400; }
.about-story-text { max-width: 670px; padding-left: 0; border-left: 0; }
.about-story-text p {
  margin: 0 0 20px;
  color: #696d79;
  font-size: clamp(13px, .86vw, 15px) !important;
  line-height: 1.7 !important;
}
.about-story-text p:last-child { margin-bottom: 0; color: #2d324c; }
.about-story-link {
  width: fit-content;
  margin: 28px 0 0;
  padding: 0 0 9px;
  display: inline-flex;
  align-items: center;
  gap: 38px;
  border-bottom: 1px solid var(--navy);
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  transition: color .3s ease, border-color .3s ease, gap .35s ease;
}
.about-story-link:hover { gap: 48px; color: var(--gold-deep); border-color: var(--gold); }

@media (max-width: 980px) {
  .about-story-v2-grid { grid-template-columns: .84fr 1.16fr; gap: 38px; }
  .about-story-visual { min-height: 500px; }
  .about-story-v2 h2 { font-size: clamp(38px, 4.7vw, 48px) !important; }
}
@media (max-width: 760px) {
  .about-story-v2 { padding: 72px 0 82px; }
  .about-story-v2-grid { grid-template-columns: 1fr; gap: 48px; }
  .about-story-visual { min-height: 0; height: min(118vw, 570px); order: 2; }
  .about-story-v2-copy { order: 1; }
  .about-story-kicker { margin-bottom: 18px; }
  .about-story-v2 h2 { margin-bottom: 24px; font-size: clamp(36px, 9.5vw, 46px) !important; }
  .about-story-text { padding-left: 0; border-left: 0; }
  .about-story-link { margin: 28px 0 0; }
}

/* About page v3.9.22 — synced certificate slider and legal accordion */
.about-legal {
  padding: clamp(88px, 8vw, 130px) 0;
  overflow: hidden;
  background: var(--navy-deep);
  color: #fff;
}
.about-legal-head {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(50px, 7vw, 110px);
  align-items: end;
}
.about-legal .eyebrow { margin: 0 0 18px; color: var(--gold-soft); }
.about-legal-head h2 {
  max-width: 690px;
  margin: 0;
  color: #fff;
  font-size: clamp(43px, 3.7vw, 60px) !important;
  line-height: 1 !important;
}
.about-legal-head h2 em { color: var(--gold-soft); font-weight: 400; }
.about-legal-head > p {
  max-width: 690px;
  margin: 0;
  color: rgba(255,255,255,.64);
  font-size: clamp(13px, .86vw, 15px) !important;
  line-height: 1.72 !important;
}
.about-legal-grid {
  margin-top: clamp(52px, 5vw, 78px);
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(52px, 7vw, 110px);
  align-items: center;
}
.legal-certificate-stage {
  position: relative;
  height: clamp(520px, 43vw, 680px);
  overflow: hidden;
  background: #ebe7de;
}
.legal-certificate-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: clamp(24px, 3vw, 46px);
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(42px,0,0) scale(.98);
  transition: opacity .75s ease, transform 1s cubic-bezier(.16,.75,.24,1), visibility 0s linear .8s;
}
.legal-certificate-slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: translate3d(0,0,0) scale(1);
  transition-delay: 0s;
}
.legal-certificate-slide a { width: 100%; height: 100%; display: grid; place-items: center; }
.legal-certificate-slide img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 24px 35px rgba(10,14,30,.18)); }
.legal-slide-status {
  position: absolute;
  z-index: 3;
  right: 22px;
  bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--navy);
  font-family: var(--display-font);
  font-size: 13px;
}
.legal-slide-status i { width: 42px; height: 1px; background: rgba(33,38,66,.35); }
.legal-accordion { border-top: 1px solid rgba(255,255,255,.22); }
.legal-accordion-item { border-bottom: 1px solid rgba(255,255,255,.22); }
.legal-accordion-item button {
  width: 100%;
  min-height: 104px;
  padding: 22px 0;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) 28px;
  gap: 18px;
  align-items: center;
  border: 0;
  color: #fff;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.legal-accordion-item button > span { color: var(--gold-soft); font-family: var(--display-font); font-size: 15px; }
.legal-accordion-item button strong {
  font-family: var(--display-font);
  font-size: clamp(25px, 2vw, 34px);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -.025em;
}
.legal-accordion-item button i { color: var(--gold-soft); font-family: var(--body-font); font-size: 19px; font-style: normal; text-align: right; }
.legal-accordion-panel {
  max-height: 0;
  padding: 0 46px 0 62px;
  overflow: hidden;
  opacity: 0;
  transition: max-height .6s cubic-bezier(.16,.75,.24,1), padding .5s ease, opacity .4s ease;
}
.legal-accordion-item.is-active .legal-accordion-panel { max-height: 290px; padding-bottom: 30px; opacity: 1; }
.legal-accordion-panel p {
  max-width: 660px;
  margin: 0 0 18px;
  color: rgba(255,255,255,.62);
  font-size: clamp(13px, .84vw, 15px) !important;
  line-height: 1.7 !important;
}
.legal-accordion-panel a {
  display: inline-flex;
  gap: 22px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--gold);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .about-legal-head { grid-template-columns: 1fr; gap: 28px; }
  .about-legal-head > p { max-width: 780px; }
  .about-legal-grid { grid-template-columns: .88fr 1.12fr; gap: 40px; }
  .legal-certificate-stage { height: 560px; }
  .legal-accordion-item button { min-height: 92px; grid-template-columns: 34px minmax(0,1fr) 24px; gap: 12px; }
  .legal-accordion-panel { padding-left: 46px; padding-right: 20px; }
}
@media (max-width: 760px) {
  .about-legal { padding: 76px 0 84px; }
  .about-legal-head h2 { font-size: clamp(36px, 9.6vw, 46px) !important; }
  .about-legal-grid { margin-top: 42px; grid-template-columns: 1fr; gap: 42px; }
  .legal-certificate-stage { height: min(126vw, 600px); }
  .legal-accordion-item button { min-height: 84px; padding: 18px 0; }
  .legal-accordion-item button strong { font-size: clamp(23px, 7vw, 29px); }
  .legal-accordion-panel { padding-left: 46px; }
  .legal-accordion-item.is-active .legal-accordion-panel { max-height: 360px; padding-bottom: 25px; }
}
.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; }
.home-enquiry { padding-top: clamp(90px, 10vw, 145px); padding-bottom: clamp(90px, 10vw, 145px); display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(60px, 8vw, 120px); align-items: start; }
.home-enquiry .contact-details h2 { margin-top: 28px; }
.home-enquiry .contact-details > .eyebrow { margin-top: 36px; color: var(--gold-deep); }
.home-enquiry-form-wrap { min-width: 0; }
.home-enquiry .form-notice { margin: 0 0 18px; }
.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, .gallery-item-6 { 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; }
}

/* WordPress v2.6: definitive type scale and overflow-safe responsive layouts. */
:root {
  --type-display: clamp(4rem, 5.6vw, 5.6rem);
  --type-h1: clamp(3.4rem, 4.6vw, 4.65rem);
  --type-h2: clamp(2.55rem, 3.25vw, 3.35rem);
  --type-h3: clamp(1.75rem, 2.1vw, 2.2rem);
  --type-h4: clamp(1.2rem, 1.35vw, 1.4rem);
  --type-body-lg: clamp(1.0625rem, 1.1vw, 1.1875rem);
  --type-body: clamp(1rem, .9vw, 1.0625rem);
  --type-label: .8125rem;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-x: clip; }
body main h1:not(.hero-title),
body main h2,
body main h3,
body main h4 { max-width: 100%; overflow-wrap: normal; word-break: normal; hyphens: none; }
body main h1:not(.hero-title) { font-size: var(--type-h1) !important; line-height: .98 !important; }
body main section h2 { font-size: var(--type-h2) !important; line-height: 1.04 !important; }
body main article h3,
body main .faq-list h3 { font-size: var(--type-h3) !important; line-height: 1.1 !important; }
body main p,
body main li { font-size: var(--type-body) !important; line-height: 1.7 !important; }
body main .eyebrow { font-size: var(--type-label) !important; line-height: 1.4 !important; }

.plan-terms {
  width: min(82.5%, 1580px);
  padding: clamp(5rem, 7vw, 7rem) 0;
  display: grid;
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr);
  gap: clamp(3.5rem, 7vw, 7rem);
  align-items: start;
}
.plan-terms > div { min-width: 0; }
.plan-terms h2 { max-width: 520px; margin: 1rem 0 0; font-size: var(--type-h2) !important; line-height: 1.04 !important; }
.plan-terms ol { min-width: 0; width: 100%; }
.plan-terms li {
  box-sizing: border-box;
  min-width: 0;
  min-height: 72px;
  padding: 1.1rem 0;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 0;
  font-family: var(--body-font) !important;
  font-size: var(--type-body) !important;
  line-height: 1.6 !important;
  overflow-wrap: anywhere;
}

@media (max-width: 1199px) {
  :root {
    --type-display: clamp(3.6rem, 6.5vw, 4.8rem);
    --type-h1: clamp(3.15rem, 5.7vw, 4rem);
    --type-h2: clamp(2.4rem, 4.5vw, 3rem);
    --type-h3: clamp(1.7rem, 2.8vw, 2.05rem);
  }
  .plan-terms { width: min(88%, 1100px); grid-template-columns: minmax(290px, .85fr) minmax(0, 1.15fr); gap: 3.5rem; }
}

@media (max-width: 900px) {
  :root {
    --type-display: clamp(3.25rem, 9vw, 4.35rem);
    --type-h1: clamp(2.85rem, 7.5vw, 3.7rem);
    --type-h2: clamp(2.25rem, 6vw, 2.8rem);
    --type-h3: clamp(1.65rem, 4vw, 1.95rem);
  }
  .plan-terms { width: min(100% - 3rem, 760px); grid-template-columns: 1fr; gap: 2.5rem; }
  .plan-terms h2 { max-width: 620px; }
  .plan-terms h2 br { display: none; }
}

@media (max-width: 600px) {
  :root {
    --type-display: clamp(2.8rem, 13vw, 3.55rem);
    --type-h1: clamp(2.55rem, 11vw, 3.15rem);
    --type-h2: clamp(2rem, 9vw, 2.5rem);
    --type-h3: clamp(1.55rem, 7vw, 1.85rem);
    --type-body-lg: 1.0625rem;
    --type-body: 1rem;
    --type-label: .75rem;
  }
  .section-shell,
  .plan-terms { width: calc(100% - 2.5rem); }
  .plan-terms { padding: 4.5rem 0 5rem; gap: 2rem; }
  .plan-terms h2 { max-width: 100%; margin-top: .75rem; }
  .plan-terms li { min-height: 64px; grid-template-columns: 2.35rem minmax(0, 1fr); padding: 1rem 0; }
}

/* v3.5.2 — luxury editorial construction journey */
.construction-services-home .construction-process-grid,
.construction-page-process .construction-process-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1.15rem, 2vw, 2rem);
  align-items: stretch;
}
.construction-services-home .construction-process-card,
.construction-page-process .construction-process-card {
  grid-column: span 4;
  background: #f4f0e7;
  color: var(--navy);
  overflow: hidden;
  box-shadow: 0 24px 65px rgba(3, 7, 24, .18);
  transition: transform .65s cubic-bezier(.2,.8,.2,1), box-shadow .65s ease;
}
.construction-services-home .construction-process-card:nth-child(1),
.construction-page-process .construction-process-card:nth-child(1) {
  grid-column: span 7;
}
.construction-services-home .construction-process-card:nth-child(2),
.construction-page-process .construction-process-card:nth-child(2) {
  grid-column: span 5;
}
.construction-services-home .construction-process-card:nth-child(4),
.construction-page-process .construction-process-card:nth-child(4) {
  grid-column: span 5;
}
.construction-services-home .construction-process-card:nth-child(5),
.construction-page-process .construction-process-card:nth-child(5) {
  grid-column: span 3;
}
.construction-services-home .construction-process-card:hover,
.construction-page-process .construction-process-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 34px 80px rgba(3, 7, 24, .28);
}
.construction-services-home .construction-process-card figure,
.construction-page-process .construction-process-card figure,
.construction-services-home .construction-process-card:last-child figure,
.construction-page-process .construction-process-card:last-child figure {
  aspect-ratio: 16 / 10;
  margin: 0;
}
.construction-services-home .construction-process-card:nth-child(1) figure,
.construction-page-process .construction-process-card:nth-child(1) figure {
  aspect-ratio: 16 / 8.2;
}
.construction-services-home .construction-process-card figure::after,
.construction-page-process .construction-process-card figure::after {
  background: linear-gradient(180deg, transparent 58%, rgba(8,13,31,.34));
  opacity: .7;
  transition: opacity .5s ease;
}
.construction-services-home .construction-process-card:hover figure::after,
.construction-page-process .construction-process-card:hover figure::after { opacity: .25; }
.construction-services-home .construction-process-card img,
.construction-page-process .construction-process-card img {
  filter: saturate(.88) contrast(1.03);
  transition: transform 1.25s cubic-bezier(.2,.8,.2,1), filter .6s ease;
}
.construction-services-home .construction-process-card:hover img,
.construction-page-process .construction-process-card:hover img {
  transform: scale(1.045);
  filter: saturate(1) contrast(1.02);
}
.construction-services-home .construction-process-card > div,
.construction-page-process .construction-process-card > div {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1.15rem;
  align-items: start;
  padding: clamp(1.35rem, 2.2vw, 2.1rem);
  background: #f4f0e7;
}
.construction-services-home .construction-process-card > div > span,
.construction-page-process .construction-process-card > div > span {
  grid-row: 1 / 3;
  width: auto;
  height: auto;
  margin: .18rem 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--gold-dark, #b89117);
  font-family: var(--display-font);
  font-size: clamp(1.1rem, 1.5vw, 1.45rem);
  font-weight: 400;
  letter-spacing: 0;
}
.construction-services-home .construction-process-card h3,
.construction-page-process .construction-process-card h3 {
  min-height: 0;
  margin: 0 0 .6rem;
  color: var(--navy);
  font-size: clamp(1.75rem, 2.45vw, 2.55rem) !important;
  line-height: .98 !important;
}
.construction-services-home .construction-process-card p,
.construction-page-process .construction-process-card p {
  color: #686b76;
  font-size: .9rem !important;
  line-height: 1.6 !important;
}
@media (max-width: 980px) {
  .construction-services-home .construction-process-grid,
  .construction-page-process .construction-process-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .construction-services-home .construction-process-card,
  .construction-page-process .construction-process-card,
  .construction-services-home .construction-process-card:nth-child(n),
  .construction-page-process .construction-process-card:nth-child(n) { grid-column: span 1; }
  .construction-services-home .construction-process-card:first-child,
  .construction-page-process .construction-process-card:first-child { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .construction-services-home .construction-process-grid,
  .construction-page-process .construction-process-grid { display: grid; grid-template-columns: 1fr; padding-left: 0; gap: 1.35rem; }
  .construction-services-home .construction-process-card,
  .construction-page-process .construction-process-card,
  .construction-services-home .construction-process-card:nth-child(n),
  .construction-page-process .construction-process-card:nth-child(n) { grid-column: 1; margin: 0; }
  .construction-services-home .construction-process-card figure,
  .construction-page-process .construction-process-card figure,
  .construction-services-home .construction-process-card:nth-child(1) figure,
  .construction-page-process .construction-process-card:nth-child(1) figure { aspect-ratio: 4 / 3; }
  .construction-services-home .construction-process-card > div,
  .construction-page-process .construction-process-card > div { padding: 1.3rem; column-gap: .9rem; }
  .construction-services-home .construction-process-card h3,
  .construction-page-process .construction-process-card h3 { font-size: clamp(1.65rem, 8vw, 2rem) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .construction-services-home .construction-process-card,
  .construction-page-process .construction-process-card,
  .construction-services-home .construction-process-card img,
  .construction-page-process .construction-process-card img { transition: none !important; }
}

@media (max-width: 380px) {
  :root {
    --type-h1: clamp(2.35rem, 11vw, 2.75rem);
    --type-h2: clamp(1.85rem, 9vw, 2.2rem);
    --type-h3: clamp(1.45rem, 7vw, 1.7rem);
  }
  .section-shell,
  .plan-terms { width: calc(100% - 2rem); }
}

/* WordPress v3.1: one typography hierarchy across every template and viewport. */
:root {
  --type-h1: clamp(3.4rem, 4.6vw, 4.65rem);
  --type-h2: clamp(2.75rem, 3.65vw, 3.75rem);
  --type-h3: clamp(1.75rem, 2.1vw, 2.2rem);
  --type-body: clamp(1rem, .92vw, 1.0625rem);
  --type-label: .8125rem;
}
body main section h2,
body main section h2 * {
  font-family: var(--display-font) !important;
  font-size: var(--type-h2) !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
  letter-spacing: -.028em !important;
  word-spacing: .04em !important;
}
body main article h3,
body main .faq-list h3 {
  font-family: var(--display-font) !important;
  font-size: var(--type-h3) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.018em !important;
}
body main p,
body main li {
  font-family: var(--body-font) !important;
  font-size: var(--type-body) !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  word-spacing: .025em !important;
}
body main .eyebrow,
body main .inner-section-label p {
  font-family: var(--body-font) !important;
  font-size: var(--type-label) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
body .about-story-copy h2,
body .about-values-head h2,
body .about-expertise h2 {
  font-size: var(--type-h2) !important;
  line-height: 1.02 !important;
}
@media (max-width: 900px) {
  :root { --type-h1: clamp(2.85rem, 7.5vw, 3.7rem); --type-h2: clamp(2.35rem, 6vw, 3rem); --type-h3: clamp(1.65rem, 4vw, 2rem); }
}
@media (max-width: 600px) {
  :root { --type-h1: clamp(2.45rem, 10.5vw, 3.05rem); --type-h2: clamp(2rem, 9vw, 2.45rem); --type-h3: clamp(1.5rem, 7vw, 1.8rem); --type-body: 1rem; --type-label: .75rem; }
  body main section h2,
  body main section h2 * { line-height: 1.04 !important; letter-spacing: -.022em !important; }
  body .about-story-copy h2 br,
  body .about-values-head h2 br,
  body .about-expertise h2 br { display: none !important; }
}

/* 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-5, .gallery-page-item-6 { grid-column: span 6; }
.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, .gallery-page-item-5, .gallery-page-item-6 { 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 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}}

/* WordPress v1.7: layout-document alignment and Nexus Square pages */
.site-header .main-nav > a,
.site-header .nav-parent {
  color: inherit;
  font-family: var(--body-font);
  font-size: clamp(9px, .7vw, 11px);
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: .09em;
  white-space: nowrap;
}
.site-header .nav-parent:hover,
.site-header .nav-parent:focus-visible,
.site-header .nav-item.is-current > .nav-parent { color: var(--gold-soft); }
.home-enquiry { background: var(--paper); }
.project-hero { min-height: min(88svh, 900px); position: relative; display: flex; align-items: end; overflow: hidden; color: #fff; }
.project-hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.project-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,12,29,.86), rgba(8,12,29,.28) 68%, rgba(8,12,29,.5)); }
.project-hero-content { position: relative; z-index: 1; padding-top: 170px; padding-bottom: clamp(70px, 9vw, 125px); }
.project-hero-content h1 { max-width: 980px; margin: 14px 0 24px; color: #fff; font-size: clamp(54px, 7vw, 104px); line-height: .94; }
.project-hero-content > p:not(.eyebrow) { max-width: 690px; color: rgba(255,255,255,.8); font-size: clamp(16px, 1.25vw, 20px); }
.project-intro { padding-top: clamp(90px, 11vw, 155px); padding-bottom: clamp(70px, 9vw, 120px); display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(45px, 9vw, 135px); align-items: start; }
.project-intro h2 { margin: 0; font-size: clamp(45px, 5.5vw, 82px); line-height: .98; }
.project-intro-copy p { margin-top: 0; color: #666a78; font-size: 16px; line-height: 1.8; }
.project-gallery { padding: clamp(80px, 10vw, 140px) 0; background: var(--navy-deep); color: #fff; }
.project-gallery h2, .project-plans h2 { margin: 0; color: inherit; font-size: clamp(44px, 5.7vw, 84px); line-height: .98; }
.project-gallery-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(12, 1fr); gap: 22px; }
.project-gallery-grid figure { min-height: 440px; margin: 0; position: relative; grid-column: span 6; overflow: hidden; background: #151a31; }
.project-gallery-grid figure:first-child { min-height: 580px; grid-column: span 12; }
.project-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.project-gallery-grid figure:hover img { transform: scale(1.025); }
.project-gallery-grid figcaption { position: absolute; left: 22px; bottom: 20px; padding: 8px 12px; background: rgba(8,12,29,.75); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.project-plans { padding: clamp(90px, 11vw, 150px) 0; }
.project-plans-head { display: grid; grid-template-columns: 1fr .75fr; gap: 70px; align-items: end; }
.project-plans-head > p { color: #6c6f7c; font-size: 16px; line-height: 1.8; }
.plan-image-grid { margin-top: 58px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.plan-image-card { margin: 0; padding: 18px; border: 1px solid rgba(33,38,66,.16); background: #fff; box-shadow: 0 18px 45px rgba(17,23,44,.07); }
.plan-image-card img { display: block; width: 100%; height: auto; }
.plan-image-card figcaption { padding: 16px 4px 2px; color: var(--navy); font-weight: 700; }
@media (max-width: 900px) {
  .site-header .main-nav > a,
  .site-header .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; }
  .home-enquiry, .project-intro, .project-plans-head { grid-template-columns: 1fr; gap: 45px; }
  .project-gallery-grid figure, .project-gallery-grid figure:first-child { min-height: 420px; grid-column: span 12; }
}
@media (max-width: 640px) {
  .home-enquiry { padding-top: 82px; padding-bottom: 82px; }
  .home-enquiry .contact-details h2 { font-size: clamp(42px, 13vw, 58px); }
  .project-hero { min-height: 720px; }
  .project-hero-content { padding-top: 135px; padding-bottom: 70px; }
  .project-gallery-grid figure, .project-gallery-grid figure:first-child { min-height: 330px; }
  .plan-image-grid { grid-template-columns: 1fr; }
}

/* WordPress v1.8: refined Nexus Square flow */
.square-hero { height: min(76svh, 720px); min-height: 620px; position: relative; display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--navy-deep); }
.square-hero-media { position: absolute; left: 0; top: 0; width: 100%; height: 182%; object-fit: cover; object-position: 72% top; }
.square-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,13,31,.91) 0%, rgba(9,13,31,.76) 38%, rgba(9,13,31,.16) 72%, rgba(9,13,31,.28) 100%), linear-gradient(0deg, rgba(9,13,31,.35), transparent 45%); }
.square-hero-content { position: relative; z-index: 1; padding-top: 112px; }
.square-hero-content h1 { max-width: 760px; margin: 14px 0 20px; color: #fff; font-size: clamp(56px, 6vw, 78px); line-height: .96; letter-spacing: -.035em; }
.square-hero-content > p:not(.eyebrow) { max-width: 650px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(16px, 1.25vw, 19px); line-height: 1.65; }
.square-hero-actions { margin-top: 30px; display: flex; align-items: center; gap: 28px; }
.square-hero-actions .text-link { color: #fff; border-color: rgba(255,255,255,.5); }
.square-hero-facts { width: min(680px, 100%); margin-top: 42px; padding-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; border-top: 1px solid rgba(255,255,255,.22); }
.square-hero-facts span { color: rgba(255,255,255,.66); font-size: 13px; line-height: 1.4; }
.square-hero-facts strong { margin-right: 7px; color: var(--gold-soft); font-family: var(--display-font); font-size: 24px; font-weight: 400; }

.square-overview { padding-top: clamp(90px, 9vw, 130px); padding-bottom: clamp(90px, 9vw, 130px); display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(55px, 8vw, 115px); align-items: center; }
.square-overview-media { aspect-ratio: 1.25 / 1; overflow: hidden; background: var(--navy-deep); }
.square-overview-media img { width: 100%; height: 100%; object-fit: cover; }
.square-overview-copy h2, .square-section-head h2, .square-payment-copy h2, .square-faq h2, .square-plan-summary h2 { margin: 12px 0 24px; font-size: clamp(39px, 4vw, 56px); line-height: 1.03; letter-spacing: -.025em; }
.square-overview-copy > p:not(.eyebrow) { margin: 0 0 18px; color: #636775; font-size: 16px; line-height: 1.75; }
.square-overview-copy .text-link { margin-top: 10px; }

.square-options { padding: clamp(90px, 9vw, 130px) 0; background: #f0ede6; }
.square-section-head { margin-bottom: clamp(42px, 6vw, 70px); display: grid; grid-template-columns: 1.05fr .75fr; gap: clamp(40px, 7vw, 100px); align-items: end; }
.square-section-head h2 { margin-bottom: 0; }
.square-section-head > p { max-width: 570px; margin: 0; color: #686b78; font-size: 16px; line-height: 1.72; }
.square-option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.square-option-grid article { overflow: hidden; background: #fff; border: 1px solid rgba(33,38,66,.1); }
.square-option-grid article > img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .65s ease; }
.square-option-grid article:hover > img { transform: scale(1.025); }
.square-option-grid article > div { padding: 28px 30px 32px; }
.square-option-grid span { color: var(--gold-deep); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.square-option-grid h3 { margin: 13px 0 10px; font-size: clamp(28px, 2.5vw, 38px); line-height: 1.08; }
.square-option-grid p { margin: 0 0 8px; color: #6b6e7a; font-size: 15px; }
.square-option-grid strong { color: var(--navy); font-size: 15px; }

.square-payment-band { padding: clamp(90px, 9vw, 130px) 0; color: #fff; background: var(--navy-deep); }
.square-payment-band > .section-shell { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 9vw, 130px); align-items: center; }
.square-payment-copy h2 { color: #fff; }
.square-payment-copy > p:not(.eyebrow) { max-width: 460px; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.7; }
.square-payment-copy .button { margin-top: 20px; }
.square-payment-steps { 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); }
.square-payment-steps article { min-height: 185px; padding: 26px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.square-payment-steps article > span { color: var(--gold-soft); font-size: 11px; }
.square-payment-steps strong { display: block; margin-top: 34px; color: #fff; font-family: var(--display-font); font-size: 48px; font-weight: 400; line-height: 1; }
.square-payment-steps p { margin: 8px 0 0; color: rgba(255,255,255,.65); font-size: 14px; }

.square-gallery { padding-top: clamp(90px, 9vw, 130px); padding-bottom: clamp(90px, 9vw, 130px); }
.square-gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.square-gallery-grid figure { height: 380px; margin: 0; position: relative; grid-column: span 4; overflow: hidden; background: var(--navy-deep); }
.square-gallery-grid figure.is-wide { height: 570px; grid-column: span 7; }
.square-gallery-grid figure:nth-child(2) { height: 570px; grid-column: span 5; }
.square-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.square-gallery-grid figure:hover img { transform: scale(1.025); }
.square-gallery-grid figcaption { position: absolute; inset: auto 0 0; padding: 60px 20px 18px; color: #fff; background: linear-gradient(0deg, rgba(9,13,31,.76), transparent); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }

.square-faq { padding-top: clamp(90px, 9vw, 130px); padding-bottom: clamp(90px, 9vw, 130px); display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(55px, 8vw, 115px); align-items: start; border-top: 1px solid rgba(33,38,66,.15); }
.square-faq-head { position: sticky; top: 120px; }
.square-faq-head > p:not(.eyebrow) { max-width: 420px; color: #6c6f7b; font-size: 15px; line-height: 1.7; }

.square-plan-summary { padding-top: clamp(85px, 8vw, 115px); padding-bottom: clamp(85px, 8vw, 115px); display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(55px, 8vw, 115px); align-items: center; }
.square-plan-summary-copy > p:not(.eyebrow) { max-width: 500px; color: #686b78; font-size: 16px; line-height: 1.72; }
.square-plan-facts { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(33,38,66,.17); border-left: 1px solid rgba(33,38,66,.17); }
.square-plan-facts article { min-height: 145px; padding: 26px; border-right: 1px solid rgba(33,38,66,.17); border-bottom: 1px solid rgba(33,38,66,.17); }
.square-plan-facts strong { display: block; color: var(--navy); font-family: var(--display-font); font-size: 42px; font-weight: 400; }
.square-plan-facts span { color: #6d707c; font-size: 14px; }
.square-rate-overview { padding: clamp(85px, 9vw, 125px) 0; background: #f0ede6; }
.square-rate-table-wrap { overflow-x: auto; background: #fff; border: 1px solid rgba(33,38,66,.14); }
.square-rate-table { width: 100%; min-width: 840px; border-collapse: collapse; }
.square-rate-table th, .square-rate-table td { padding: 19px 20px; border-bottom: 1px solid rgba(33,38,66,.12); text-align: left; }
.square-rate-table th { color: #fff; background: var(--navy); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.square-rate-table td { color: #484c5a; font-size: 14px; }
.square-rate-table tbody tr:last-child td { border-bottom: 0; }
.square-rate-note { margin: 18px 0 0; color: #747783; font-size: 13px; line-height: 1.6; }
.square-floor-plans { padding-top: clamp(90px, 9vw, 130px); padding-bottom: clamp(90px, 9vw, 130px); }
.square-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.square-plan-card { overflow: hidden; border: 1px solid rgba(33,38,66,.13); background: #fff; box-shadow: 0 18px 45px rgba(17,23,44,.06); }
.square-plan-card > a { height: 390px; display: block; overflow: hidden; background: #ece9e3; }
.square-plan-card img { width: 100%; height: 100%; object-fit: contain; transition: transform .55s ease; }
.square-plan-card:hover img { transform: scale(1.018); }
.square-plan-card > div { padding: 25px 28px 30px; }
.square-plan-card span { color: var(--gold-deep); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.square-plan-card h3 { margin: 10px 0 9px; font-size: 31px; }
.square-plan-card p { margin: 0 0 8px; color: #6a6d79; font-size: 14px; }
.square-plan-card strong { color: var(--navy); font-size: 15px; }

.nexus-square-page .inner-cta h2, .nexus-square-plan-page .inner-cta h2 { font-size: clamp(38px, 4.3vw, 62px); }

@media (max-width: 980px) {
  .square-hero { height: 680px; min-height: 680px; }
  .square-hero-media { height: 184%; object-position: 76% top; }
  .square-overview, .square-payment-band > .section-shell, .square-faq, .square-plan-summary { grid-template-columns: 1fr; gap: 48px; }
  .square-faq-head { position: static; }
  .square-section-head { grid-template-columns: 1fr; gap: 24px; }
  .square-gallery-grid figure, .square-gallery-grid figure.is-wide, .square-gallery-grid figure:nth-child(2) { height: 430px; grid-column: span 6; }
}

@media (max-width: 680px) {
  .square-hero { height: 640px; min-height: 640px; align-items: flex-end; }
  .square-hero-media { height: 185%; object-position: 78% top; }
  .square-hero-content { padding-top: 120px; padding-bottom: 48px; }
  .square-hero-content h1 { font-size: clamp(46px, 14vw, 58px); }
  .square-hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .square-hero-facts { margin-top: 30px; grid-template-columns: 1fr 1fr; gap: 14px; }
  .square-hero-facts span:last-child { grid-column: 1 / -1; }
  .square-overview-media { aspect-ratio: 1 / .9; }
  .square-option-grid, .square-plan-grid { grid-template-columns: 1fr; }
  .square-option-grid article > div { padding: 24px 22px 27px; }
  .square-payment-steps, .square-plan-facts { grid-template-columns: 1fr 1fr; }
  .square-payment-steps article { min-height: 160px; padding: 22px; }
  .square-payment-steps strong { margin-top: 25px; font-size: 42px; }
  .square-gallery-grid { grid-template-columns: 1fr; }
  .square-gallery-grid figure, .square-gallery-grid figure.is-wide, .square-gallery-grid figure:nth-child(2) { height: 330px; grid-column: auto; }
  .square-plan-card > a { height: 280px; }
  .square-plan-card > div { padding: 22px 22px 26px; }
}

/* WordPress v1.9: complete Square artwork and restored Creek floor plans */
.square-hero {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 2048 / 1155;
}
.square-hero-media {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.square-hero-shade {
  background: linear-gradient(90deg, rgba(9,13,31,.88) 0%, rgba(9,13,31,.7) 35%, rgba(9,13,31,.08) 70%, rgba(9,13,31,.12) 100%), linear-gradient(0deg, rgba(9,13,31,.28), transparent 48%);
}
.creek-plan-page .plan-detail-title h1 { font-size: clamp(54px, 6.4vw, 88px); line-height: .94; }
.creek-plan-page .rate-table { min-width: 1080px; }
.creek-plan-page .rate-table td { white-space: normal; line-height: 1.55; }
.creek-plan-page .rate-note { margin: 18px 0 0; color: #747681; font-size: 13px; line-height: 1.7; }

@media (max-width: 980px) {
  .square-hero {
    height: auto;
    min-height: 0;
    padding-top: 56.4%;
    aspect-ratio: auto;
    display: block;
    overflow: visible;
  }
  .square-hero-media { height: auto; aspect-ratio: 2048 / 1155; object-fit: contain; object-position: center; }
  .square-hero-shade { height: 56.4vw; bottom: auto; }
  .square-hero-content { padding-top: 54px; padding-bottom: 58px; background: var(--navy-deep); }
}

@media (max-width: 680px) {
  .square-hero { height: auto; min-height: 0; }
  .square-hero-media { height: auto; object-position: center; }
  .square-hero-content { padding-top: 44px; padding-bottom: 48px; }
  .creek-plan-page .plan-detail-title h1 { font-size: clamp(45px, 13vw, 60px); }
}

/* WordPress v2.0: balanced homepage journal */
.home-journal {
  padding: clamp(92px, 9vw, 132px) 0;
  background: linear-gradient(135deg, #0b1023 0%, #171d38 100%);
}
.home-journal-head {
  margin-bottom: clamp(44px, 5.5vw, 70px);
  grid-template-columns: minmax(0, .9fr) minmax(320px, .72fr);
  gap: clamp(52px, 9vw, 135px);
}
.home-journal-head h2 {
  max-width: 720px;
  font-size: clamp(46px, 5vw, 72px);
  line-height: 1;
}
.home-journal-intro > p { max-width: 560px; font-size: 17px; line-height: 1.68; }
.home-journal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.home-journal-card,
.home-journal-card.is-featured {
  min-width: 0;
  padding: 0;
  grid-column: auto;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.045);
  overflow: hidden;
}
.home-journal-card.is-featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  background: #f3efe6;
  border-color: #f3efe6;
}
.home-journal-image,
.home-journal-card.is-featured .home-journal-image {
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: #0a0e20;
}
.home-journal-card.is-featured .home-journal-image { height: 100%; aspect-ratio: auto; }
.home-journal-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-journal-copy {
  min-width: 0;
  min-height: 290px;
  padding: clamp(26px, 3vw, 38px);
}
.home-journal-card.is-featured .home-journal-copy {
  min-height: 470px;
  padding: clamp(42px, 5vw, 70px);
  justify-content: center;
}
.home-journal-copy .blog-card-meta {
  margin-bottom: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  font-size: 12px;
  line-height: 1.45;
}
.home-journal-copy h3,
.home-journal-card:not(.is-featured) h3 {
  width: 100%;
  margin: 0 0 26px;
  color: #fff;
  font-size: clamp(29px, 2.2vw, 38px);
  line-height: 1.08;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.home-journal-card.is-featured .home-journal-copy h3 {
  color: var(--navy);
  font-size: clamp(38px, 3.5vw, 54px);
  -webkit-line-clamp: 4;
}
.home-journal-card.is-featured .home-journal-copy > p {
  margin: 0 0 30px;
  color: #686b76;
  font-size: 16px;
  line-height: 1.68;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.home-journal-card.is-featured .home-journal-copy .blog-card-meta { color: #a48520; }
.home-journal-card.is-featured .text-link.dark { color: var(--navy); border-color: rgba(33,38,66,.4); }
.home-journal-card:hover { transform: translateY(-5px); }

@media (max-width: 980px) {
  .home-journal-head { grid-template-columns: 1fr; gap: 30px; }
  .home-journal-card.is-featured { grid-template-columns: 1fr; }
  .home-journal-card.is-featured .home-journal-image { height: auto; aspect-ratio: 16 / 9; }
  .home-journal-card.is-featured .home-journal-copy { min-height: 0; padding: 42px; }
}

@media (max-width: 680px) {
  .home-journal { padding: 78px 0; }
  .home-journal-head h2 { font-size: clamp(39px, 12vw, 52px); }
  .home-journal-grid { grid-template-columns: 1fr; gap: 24px; }
  .home-journal-card,
  .home-journal-card.is-featured,
  .home-journal-card:not(.is-featured) { grid-column: auto; }
  .home-journal-card.is-featured .home-journal-copy,
  .home-journal-copy { min-height: 0; padding: 28px 23px 32px !important; }
  .home-journal-copy h3,
  .home-journal-card:not(.is-featured) h3 { font-size: clamp(28px, 8vw, 35px); }
  .home-journal-card.is-featured .home-journal-copy h3 { font-size: clamp(34px, 10vw, 43px); }
}

/* WordPress v2.1: unified responsive typography and Nexus Square visual system */
:root {
  --type-display: clamp(4.25rem, 6.2vw, 6rem);
  --type-h1: clamp(3.75rem, 5.25vw, 5rem);
  --type-h2: clamp(2.75rem, 4vw, 4rem);
  --type-h3: clamp(1.9rem, 2.35vw, 2.5rem);
  --type-h4: clamp(1.25rem, 1.45vw, 1.5rem);
  --type-body-lg: clamp(1.0625rem, 1.25vw, 1.25rem);
  --type-body: clamp(1rem, .95vw, 1.075rem);
  --type-small: .875rem;
  --type-label: .8125rem;
  --section-space: clamp(5.75rem, 8vw, 8.25rem);
}

html { font-size: 16px; }
body,
button,
input,
select,
textarea,
p,
li,
dt,
dd { font-family: var(--body-font); }
body { font-size: var(--type-body); line-height: 1.65; letter-spacing: 0; word-spacing: .025em; }
h1,
h2,
h3 { font-family: var(--display-font); font-weight: 400; letter-spacing: -.025em; text-wrap: balance; }
h4,
h5,
h6 { font-family: var(--body-font); font-weight: 600; letter-spacing: -.012em; }
main h1 { font-size: var(--type-h1); line-height: .98; }
main h2 { font-size: var(--type-h2); line-height: 1.02; }
main h3 { font-size: var(--type-h3); line-height: 1.08; }
main h4 { font-size: var(--type-h4); line-height: 1.25; }
main p,
main li { font-size: var(--type-body); line-height: 1.7; }
.eyebrow,
main .eyebrow { font-size: var(--type-label); line-height: 1.45; letter-spacing: .14em; word-spacing: .08em; }
.button,
.text-link,
.site-nav a,
.submenu a { font-family: var(--body-font); font-size: .79rem; line-height: 1.35; letter-spacing: .075em; }
.blog-card-meta,
.article-meta,
figcaption { font-family: var(--body-font); font-size: var(--type-label); line-height: 1.45; letter-spacing: .08em; }
.inner-hero-content h1,
.privacy-hero h1,
.plans-index-hero h1,
.plan-detail-title h1,
.blog-hero h1,
.article-hero h1,
.author-profile-copy h1,
.square-hero-content h1 { font-size: var(--type-h1); line-height: .98; letter-spacing: -.03em; }
.hero-title { font-size: var(--type-display); line-height: .92; letter-spacing: -.035em; }
.inner-hero-content > p:not(.eyebrow),
.blog-hero p,
.square-hero-content > p:not(.eyebrow),
.article-hero-excerpt { font-size: var(--type-body-lg); line-height: 1.65; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

/* Nexus Square: consistent hierarchy */
.nexus-square-page .square-hero-content,
.nexus-square-plan-page .square-hero-content { max-width: 820px; }
.nexus-square-page .square-hero-content h1,
.nexus-square-plan-page .square-hero-content h1 { max-width: 780px; font-size: clamp(3.8rem, 5vw, 4.8rem); }
.nexus-square-page .square-hero-content > p:not(.eyebrow),
.nexus-square-plan-page .square-hero-content > p:not(.eyebrow) { max-width: 680px; font-size: var(--type-body-lg); line-height: 1.62; }
.square-overview,
.square-gallery,
.square-faq,
.square-plan-summary,
.square-floor-plans { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.square-overview-copy h2,
.square-section-head h2,
.square-payment-copy h2,
.square-faq h2,
.square-plan-summary h2,
.nexus-square-page .inner-cta h2,
.nexus-square-plan-page .inner-cta h2 { font-size: var(--type-h2); line-height: 1.02; letter-spacing: -.025em; }
.square-overview-copy > p:not(.eyebrow),
.square-section-head > p,
.square-payment-copy > p:not(.eyebrow),
.square-faq-head > p:not(.eyebrow),
.square-plan-summary-copy > p:not(.eyebrow) { font-size: var(--type-body); line-height: 1.72; }
.square-plan-card h3 { font-size: var(--type-h3); line-height: 1.08; }
.square-plan-card p,
.square-plan-card strong,
.square-rate-table td { font-size: var(--type-small); line-height: 1.6; }
.square-plan-card { scroll-margin-top: 110px; }

/* Nexus Square: editorial property collection */
.square-property-showcase { padding: var(--section-space) 0; background: #f3efe7; }
.square-property-intro { margin-bottom: clamp(3.25rem, 6vw, 5.75rem); }
.square-property-intro h2 { max-width: 720px; }
.square-property-list { border-top: 1px solid rgba(33,38,66,.16); }
.square-property-row {
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(360px, .87fr);
  min-height: 580px;
  border-bottom: 1px solid rgba(33,38,66,.16);
}
.square-property-row.is-reversed { grid-template-columns: minmax(360px, .87fr) minmax(0, 1.13fr); }
.square-property-row figure { min-width: 0; min-height: 520px; margin: 0; overflow: hidden; background: var(--navy-deep); }
.square-property-row.is-reversed figure { grid-column: 2; }
.square-property-row figure img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .75s cubic-bezier(.2,.65,.25,1); }
.square-property-row:hover figure img { transform: scale(1.025); }
.square-property-copy { position: relative; padding: clamp(3rem, 5vw, 5.5rem); display: flex; flex-direction: column; justify-content: center; background: #fbf8f2; }
.square-property-row.is-reversed .square-property-copy { grid-column: 1; grid-row: 1; }
.square-property-number { position: absolute; top: 2rem; right: 2rem; color: rgba(33,38,66,.36); font-size: var(--type-label); font-weight: 600; letter-spacing: .13em; }
.square-property-copy h3 { max-width: 500px; margin: .7rem 0 1.25rem; font-size: clamp(2.5rem, 3.6vw, 3.7rem); line-height: 1; }
.square-property-copy > p:not(.eyebrow) { max-width: 560px; margin: 0 0 2rem; color: #606470; font-size: var(--type-body); line-height: 1.72; }
.square-property-copy dl { margin: 0 0 2.25rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(33,38,66,.15); border-bottom: 1px solid rgba(33,38,66,.15); }
.square-property-copy dl > div { min-width: 0; padding: 1rem 1rem 1rem 0; }
.square-property-copy dl > div + div { padding-left: 1.25rem; border-left: 1px solid rgba(33,38,66,.15); }
.square-property-copy dt { margin: 0 0 .35rem; color: #8f782b; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.square-property-copy dd { margin: 0; color: var(--navy); font-size: .95rem; font-weight: 600; line-height: 1.45; }
.square-property-copy .text-link { align-self: flex-start; }

/* Nexus Square: every floor visible on the overview */
.square-floors { padding: var(--section-space) 0; color: #fff; background: linear-gradient(135deg, #090e20 0%, #171d37 100%); }
.square-floors-head { margin-bottom: clamp(3rem, 5.5vw, 5rem); display: grid; grid-template-columns: minmax(0, .95fr) minmax(340px, .65fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.square-floors-head h2 { max-width: 740px; margin: .75rem 0 0; color: #fff; font-size: var(--type-h2); line-height: 1.01; }
.square-floors-head > p { max-width: 560px; margin: 0; color: rgba(255,255,255,.68); font-size: var(--type-body); line-height: 1.72; }
.square-floors-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.square-floors-grid > a { min-width: 0; min-height: 235px; padding: 1.7rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1.25rem; align-items: start; color: #fff; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); transition: background .3s ease, color .3s ease; }
.square-floors-grid > a:hover { color: var(--navy); background: var(--gold); }
.square-floors-grid > a > span { color: var(--gold-soft); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
.square-floors-grid > a:hover > span { color: var(--navy); }
.square-floors-grid > a > div { align-self: end; }
.square-floors-grid p { margin: 0 0 .45rem; color: rgba(255,255,255,.58); font-size: .72rem; font-weight: 700; line-height: 1.4; text-transform: uppercase; letter-spacing: .11em; }
.square-floors-grid > a:hover p { color: rgba(33,38,66,.72); }
.square-floors-grid h3 { margin: 0 0 .55rem; color: #fff; font-size: clamp(2rem, 2.5vw, 2.65rem); line-height: 1; }
.square-floors-grid > a:hover h3 { color: var(--navy); }
.square-floors-grid small { display: block; color: rgba(255,255,255,.66); font-size: .84rem; line-height: 1.5; }
.square-floors-grid > a:hover small { color: rgba(33,38,66,.8); }
.square-floors-grid b { color: rgba(255,255,255,.68); font-size: 1rem; font-weight: 400; }
.square-floors-grid > a:hover b { color: var(--navy); }

@media (max-width: 1100px) {
  .square-property-row,
  .square-property-row.is-reversed { grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr); min-height: 510px; }
  .square-property-row figure { min-height: 470px; }
  .square-property-copy { padding: 3.5rem 2.8rem; }
  .square-floors-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  :root {
    --type-display: clamp(3.1rem, 11vw, 4.65rem);
    --type-h1: clamp(2.9rem, 9.5vw, 4rem);
    --type-h2: clamp(2.35rem, 7.5vw, 3.35rem);
    --type-h3: clamp(1.75rem, 5vw, 2.2rem);
    --section-space: clamp(4.75rem, 12vw, 6.25rem);
  }
  .nexus-square-page .square-hero-content h1,
  .nexus-square-plan-page .square-hero-content h1 { font-size: var(--type-h1); }
  .square-property-row,
  .square-property-row.is-reversed { grid-template-columns: 1fr; min-height: 0; }
  .square-property-row figure,
  .square-property-row.is-reversed figure { grid-column: 1; grid-row: 1; min-height: 0; aspect-ratio: 4 / 3; }
  .square-property-row .square-property-copy,
  .square-property-row.is-reversed .square-property-copy { grid-column: 1; grid-row: 2; }
  .square-property-copy { padding: 3rem 2.25rem 3.4rem; }
  .square-property-copy h3 { font-size: clamp(2.35rem, 7vw, 3.15rem); }
  .square-floors-head { grid-template-columns: 1fr; gap: 1.7rem; }
}

@media (max-width: 560px) {
  :root {
    --type-display: clamp(2.8rem, 13vw, 3.65rem);
    --type-h1: clamp(2.65rem, 12vw, 3.45rem);
    --type-h2: clamp(2.15rem, 10vw, 2.85rem);
    --type-h3: clamp(1.65rem, 7vw, 2rem);
    --type-body-lg: 1.05rem;
    --type-body: 1rem;
    --type-label: .75rem;
  }
  body { line-height: 1.62; }
  .hero-title { line-height: .95; }
  .square-property-intro { margin-bottom: 2.75rem; }
  .square-property-copy { padding: 2.7rem 1.35rem 3rem; }
  .square-property-number { top: 1.25rem; right: 1.25rem; }
  .square-property-copy dl { grid-template-columns: 1fr; }
  .square-property-copy dl > div { padding: .9rem 0; }
  .square-property-copy dl > div + div { padding-left: 0; border-top: 1px solid rgba(33,38,66,.15); border-left: 0; }
  .square-floors-grid { grid-template-columns: 1fr; }
  .square-floors-grid > a { min-height: 195px; padding: 1.35rem; }
  .square-floors-grid h3 { font-size: 2.2rem; }
  .square-rate-table th,
  .square-rate-table td { padding: 1rem .9rem; }
}

/* Final cascade lock: one hierarchy regardless of legacy section selectors. */
body main h1:not(.hero-title) {
  font-family: var(--display-font) !important;
  font-size: var(--type-h1) !important;
  line-height: .98 !important;
  letter-spacing: -.03em !important;
}
body main section h2 {
  font-family: var(--display-font) !important;
  font-size: var(--type-h2) !important;
  line-height: 1.02 !important;
  letter-spacing: -.025em !important;
}
body main article h3,
body main .faq-list h3 {
  font-family: var(--display-font) !important;
  font-size: var(--type-h3) !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em !important;
}
body main p,
body main li {
  font-family: var(--body-font) !important;
  line-height: 1.7;
}
body main .eyebrow {
  font-family: var(--body-font) !important;
  font-size: var(--type-label) !important;
  line-height: 1.45 !important;
  letter-spacing: .14em !important;
}
.horizontal-intro > p,
.payment-heading > p,
.payment-teaser-copy > 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,
.contact-heading > p:not(.eyebrow),
.home-contact-content p:not(.eyebrow),
.expertise-intro > p,
.value-grid p,
.expertise-list p,
.contact-details > p,
.privacy-copy article p,
.blog-card > p,
.article-layout aside p,
.option-card-details li,
.property-guide-grid p,
.gallery-notes p,
.home-journal-copy > p,
.article-author div > p:not(.eyebrow) {
  font-size: var(--type-body) !important;
  line-height: 1.7 !important;
}
.footer-brand p,
.footer-top > div > p { font-size: .9375rem; line-height: 1.7; }
.footer-top > div:not(.footer-brand) a { font-size: .875rem; line-height: 1.5; }
.footer-top h3,
.footer-bottom { font-size: .75rem; line-height: 1.5; }
body main .square-floors-grid h3 { font-size: clamp(2rem, 2.5vw, 2.65rem) !important; }
body main .square-property-copy h3 { font-size: clamp(2.5rem, 3.6vw, 3.7rem) !important; line-height: 1 !important; }

@media (max-width: 820px) {
  body main .square-property-copy h3 { font-size: clamp(2.35rem, 7vw, 3.15rem) !important; }
}

@media (max-width: 560px) {
  body main .square-floors-grid h3 { font-size: 2.2rem !important; }
}

/* WordPress v2.2: two-project homepage hero and balanced Square banner */
.hero-slider,
.hero-slide { position: absolute; inset: 0; }
.hero-slider { z-index: 0; overflow: hidden; background: var(--navy-deep); }
.hero-slide { display: block; opacity: 0; visibility: hidden; transition: opacity 1.35s ease, visibility 0s linear 1.35s; }
.hero-slide.is-active { z-index: 1; opacity: 1; visibility: visible; transition-delay: 0s; }
.hero-slider .hero-media {
  inset: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  animation: none;
  transform: translate3d(0, calc(var(--hero-progress) * 28px), 0) scale(1.025);
  transform-origin: center;
  will-change: auto;
}
.hero-slide:first-child .hero-media { object-position: center 52%; }
.hero-slide-square .hero-media { object-position: center 54%; }
.hero-index { display: none; }
.hero-slider-nav {
  position: absolute;
  z-index: 4;
  right: clamp(1.5rem, 5vw, 4.8rem);
  bottom: 2rem;
  display: flex;
  align-items: center;
  gap: .6rem;
  opacity: calc(1 - var(--hero-progress) * 1.4);
}
.hero-slider-nav button {
  min-width: 9.4rem;
  min-height: 3rem;
  padding: .6rem .85rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: center;
  border: 1px solid rgba(255,255,255,.32);
  color: rgba(255,255,255,.7);
  background: rgba(9,13,31,.24);
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: color .25s ease, border-color .25s ease, background .25s ease;
}
.hero-slider-nav button:hover,
.hero-slider-nav button.is-active { color: #fff; border-color: rgba(212,176,51,.8); background: rgba(9,13,31,.62); }
.hero-slider-nav button span { color: var(--gold-soft); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
.hero-slider-nav button b { font-size: .72rem; font-weight: 700; line-height: 1.2; text-align: left; text-transform: uppercase; letter-spacing: .08em; }

@media (min-width: 981px) {
  .square-hero {
    height: clamp(620px, 78svh, 760px);
    min-height: 620px;
    aspect-ratio: auto;
    align-items: center;
  }
  .square-hero-media {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 55%;
  }
  .square-hero-shade {
    background: linear-gradient(90deg, rgba(9,13,31,.82) 0%, rgba(9,13,31,.63) 38%, rgba(9,13,31,.1) 72%, rgba(9,13,31,.14) 100%), linear-gradient(0deg, rgba(9,13,31,.36), transparent 46%);
  }
  .square-hero-content { padding-top: 125px; padding-bottom: 55px; }
  .square-hero-facts { margin-top: 2rem; }
}

@media (max-width: 980px) {
  .hero-slider-nav { right: 1.5rem; bottom: 1.35rem; }
  .hero-slider-nav button { min-width: 3rem; width: 3rem; padding: .55rem; grid-template-columns: 1fr; justify-items: center; }
  .hero-slider-nav button b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .hero-slider .hero-media { transform: scale(1.015); }
  .hero-slide:first-child .hero-media { object-position: 58% center; }
  .hero-slide-square .hero-media { object-position: 67% center; }
}

@media (max-width: 680px) {
  .hero-slider-nav { left: auto; right: 1.35rem; top: 7rem; bottom: auto; }
  .hero-slider-nav button { min-height: 2.75rem; }
  .hero-actions { flex-wrap: wrap; gap: 1.15rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide { transition: none; }
  .hero-slider .hero-media { transform: none; }
}

/* WordPress v2.3: compact property collection, complete floor directory and fast media */
.hero-slider-nav { display: none !important; }

.square-property-collection {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
}
.square-property-card {
  min-width: 0;
  grid-column: span 5;
  overflow: hidden;
  border: 1px solid rgba(33,38,66,.14);
  background: #fff;
  box-shadow: 0 1.5rem 3.5rem rgba(20,24,45,.07);
  transition: transform .35s ease, box-shadow .35s ease;
}
.square-property-card.is-wide { grid-column: span 7; }
.square-property-card:hover { transform: translateY(-.35rem); box-shadow: 0 2rem 4.5rem rgba(20,24,45,.12); }
.square-property-card figure { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--navy-deep); }
.square-property-card figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.65,.25,1); }
.square-property-card:hover figure img { transform: scale(1.025); }
.square-property-card-copy { position: relative; min-height: 21rem; padding: clamp(1.65rem, 3vw, 2.6rem); display: flex; flex-direction: column; }
.square-property-card-copy .square-property-number { top: 1.7rem; right: 1.7rem; }
body main .square-property-card-copy h3 { max-width: 88%; margin: .55rem 0 1rem; font-size: clamp(2rem, 2.75vw, 2.85rem) !important; line-height: 1.02 !important; }
.square-property-card-copy > p:not(.eyebrow) { max-width: 36rem; margin: 0 0 1.5rem; color: #666a76; font-size: 1rem; line-height: 1.65; }
.square-property-specs { margin-top: auto; padding: 1rem 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .55rem 1rem; border-top: 1px solid rgba(33,38,66,.14); border-bottom: 1px solid rgba(33,38,66,.14); }
.square-property-specs span,
.square-property-specs strong { color: var(--navy); font-size: .875rem; line-height: 1.45; }
.square-property-specs strong { font-weight: 600; }
.square-property-card-copy > a { margin-top: 1.25rem; display: inline-flex; align-items: center; justify-content: space-between; color: var(--navy); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }

.floor-plans-hero { min-height: 560px; padding: 10rem 0 6rem; display: flex; align-items: flex-end; color: #fff; background: radial-gradient(circle at 78% 20%, rgba(212,176,51,.19), transparent 34%), linear-gradient(135deg, #0a0f23, #1d2340); }
.floor-plans-hero h1 { max-width: 900px; margin: .65rem 0 1.3rem; color: #fff; }
.floor-plans-hero p:not(.eyebrow) { max-width: 680px; margin: 0 0 2rem; color: rgba(255,255,255,.72); font-size: var(--type-body-lg); line-height: 1.65; }
.project-floor-plans { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.floor-project + .floor-project { margin-top: var(--section-space); padding-top: var(--section-space); border-top: 1px solid rgba(33,38,66,.16); }
.floor-project-media { height: clamp(300px, 39vw, 520px); position: relative; overflow: hidden; background: var(--navy-deep); }
.floor-project-media img { width: 100%; height: 100%; object-fit: cover; }
.floor-project-media > span { position: absolute; left: 1.5rem; bottom: 1.5rem; padding: .65rem .85rem; color: #fff; background: rgba(9,13,31,.76); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; backdrop-filter: blur(6px); }
.floor-project-content { padding-top: clamp(2.5rem, 5vw, 4.5rem); }
.floor-project-head { margin-bottom: clamp(2.4rem, 4vw, 3.8rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .65fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; }
.floor-project-head h2 { margin: .6rem 0 0; }
.floor-project-head > p { max-width: 540px; margin: 0; color: #676b77; font-size: 1rem; line-height: 1.7; }
.floor-link-grid { margin-bottom: 2.25rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(33,38,66,.16); border-left: 1px solid rgba(33,38,66,.16); }
.floor-link-grid > a { min-width: 0; min-height: 170px; padding: 1.35rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; color: var(--navy); border-right: 1px solid rgba(33,38,66,.16); border-bottom: 1px solid rgba(33,38,66,.16); background: rgba(255,255,255,.32); transition: color .25s ease, background .25s ease; }
.floor-link-grid > a:hover { color: #fff; background: var(--navy); }
.floor-link-grid > a > span { color: #a18526; font-size: .75rem; font-weight: 700; letter-spacing: .1em; }
.floor-link-grid > a > div { align-self: end; }
body main .floor-link-grid h3 { margin: 0 0 .35rem; font-size: clamp(1.55rem, 2vw, 2rem) !important; line-height: 1.05 !important; }
.floor-link-grid p { margin: 0; color: #717480; font-size: .84rem; line-height: 1.45; }
.floor-link-grid > a:hover p { color: rgba(255,255,255,.66); }
.floor-link-grid b { font-size: .9rem; font-weight: 400; }

.square-property-showcase,
.square-floors,
.square-gallery,
.square-faq,
.square-rate-overview,
.square-floor-plans,
.project-floor-plans { content-visibility: auto; contain-intrinsic-size: auto 850px; }

@media (max-width: 980px) {
  .square-property-card,
  .square-property-card.is-wide { grid-column: span 6; }
  .square-property-card-copy { min-height: 20rem; }
  .floor-plans-hero { min-height: 500px; padding-top: 8.5rem; }
  .floor-project-head { grid-template-columns: 1fr; gap: 1.25rem; }
  .floor-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .square-property-collection { grid-template-columns: 1fr; gap: 1rem; }
  .square-property-card,
  .square-property-card.is-wide { grid-column: auto; }
  .square-property-card figure { aspect-ratio: 4 / 3; }
  .square-property-card-copy { min-height: 0; padding: 1.6rem 1.3rem 1.8rem; }
  .square-property-card-copy .square-property-number { top: 1.35rem; right: 1.3rem; }
  body main .square-property-card-copy h3 { font-size: clamp(1.9rem, 9vw, 2.45rem) !important; }
  .square-property-specs { margin-top: 1.4rem; flex-direction: column; }
  .floor-plans-hero { min-height: 460px; padding: 8rem 0 4.25rem; }
  .floor-project-media { height: 285px; }
  .floor-project-media > span { left: 1rem; bottom: 1rem; }
  .floor-link-grid { grid-template-columns: 1fr; }
  .floor-link-grid > a { min-height: 145px; }
}

/* Final v2.3 header and Square alignment safeguards. */
.site-header .main-nav > a,
.site-header .nav-parent { font-size: clamp(.72rem, .66vw, .8rem); line-height: 1.35; letter-spacing: .075em; }
#schedule-tour { scroll-margin-top: 90px; }
.square-hero-facts span { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .55rem; align-items: center; font-size: .875rem; line-height: 1.45; }
.square-hero-facts strong { margin-right: 0; font-size: 1.75rem; line-height: 1; }

@media (max-width: 980px) {
  .site-header .main-nav > a,
  .site-header .nav-parent {
    width: 100%;
    font-family: var(--display-font);
    font-size: clamp(1.65rem, 5vw, 2rem);
    font-weight: 400;
    line-height: 1.15;
    text-transform: none;
    letter-spacing: -.01em;
  }
}

@media (max-width: 560px) {
  .square-hero-facts { grid-template-columns: 1fr; }
  .square-hero-facts span:last-child { grid-column: auto; }
}

/* WordPress v2.4: one responsive hero system across every project page. */
.unified-hero {
  width: 100%;
  height: clamp(620px, 78svh, 780px) !important;
  min-height: 620px !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  position: relative;
  display: flex;
  align-items: center !important;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: var(--navy-deep);
}
.unified-hero .inner-hero-media,
.unified-hero .square-hero-media,
.unified-hero > .unified-hero-media {
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
  transform: none !important;
  animation: imageFade 1.2s ease both;
}
.unified-hero .inner-hero-shade,
.unified-hero .square-hero-shade,
.unified-hero > .unified-hero-shade {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(8,12,29,.9) 0%, rgba(8,12,29,.68) 38%, rgba(8,12,29,.16) 74%, rgba(8,12,29,.24) 100%), linear-gradient(0deg, rgba(8,12,29,.54), transparent 56%) !important;
}
.unified-hero .inner-hero-content,
.unified-hero .square-hero-content,
.unified-hero > .unified-hero-content {
  width: min(82.5%, 1580px);
  margin-inline: auto;
  padding: 112px 0 42px !important;
  position: relative;
  z-index: 1;
}
.unified-hero h1,
.plans-index-hero.unified-hero h1,
.plan-detail-hero.unified-hero h1 {
  max-width: 820px;
  margin: .75rem 0 1.25rem;
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(3.6rem, 5.4vw, 5.25rem) !important;
  font-weight: 400;
  line-height: .96 !important;
  letter-spacing: -.035em !important;
}
.unified-hero h1 em { color: var(--gold-soft); font-weight: 400; }
.unified-hero .eyebrow { margin-bottom: .85rem; color: var(--gold-soft); }
.unified-hero p:not(.eyebrow):not(.plan-breadcrumb p) {
  max-width: 650px;
  color: rgba(255,255,255,.8);
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  line-height: 1.65;
}
.unified-hero .plans-index-intro { max-width: 760px; }
.unified-hero .plans-index-intro > p { color: rgba(255,255,255,.8); }
.unified-hero .plan-detail-title { align-items: end; }
.unified-hero .plan-detail-summary { border-color: rgba(255,255,255,.28); }
.unified-hero .plan-detail-summary p { color: rgba(255,255,255,.76); }
.unified-hero.about-page-hero .inner-hero-media { object-position: center 52%; }
.unified-hero.contact-page-hero .inner-hero-media { object-position: center 55%; }
.unified-hero.creek-options-hero .inner-hero-media { object-position: center 52%; }
.unified-hero.square-hero .square-hero-media { object-position: center 54%; }
.privacy-page-v24 { background: var(--paper); }
.privacy-page-v24 .privacy-hero-v24 { min-height: 470px; padding: 150px 0 70px; display: flex; align-items: flex-end; color: #fff; background: var(--navy-deep); }
.privacy-page-v24 .privacy-hero-v24 h1 { max-width: 850px; margin: .75rem 0 0; color: #fff; font-size: clamp(3.6rem, 6vw, 5.6rem); line-height: .96; }
.privacy-page-v24 .privacy-body-v24 { width: min(100% - 3rem, 980px); padding-top: clamp(4.5rem, 8vw, 7.5rem); padding-bottom: clamp(5rem, 9vw, 8rem); }
.privacy-page-v24 .privacy-lead { margin: 0 0 3.5rem; color: var(--navy); font-family: var(--display-font); font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.25; }
.privacy-page-v24 article { padding: 2rem 0; border-top: 1px solid rgba(33,38,66,.17); }
.privacy-page-v24 article h2 { margin: 0 0 .8rem; font-size: clamp(1.8rem, 2.5vw, 2.35rem); line-height: 1.1; }
.privacy-page-v24 article p { max-width: 820px; margin: 0; color: #5f6370; font-size: 1rem; line-height: 1.75; }

@media (max-width: 980px) {
  .unified-hero { height: clamp(600px, 76svh, 690px) !important; min-height: 600px !important; }
  .unified-hero .inner-hero-content,
  .unified-hero .square-hero-content,
  .unified-hero > .unified-hero-content { width: min(100% - 3rem, 820px); padding-top: 105px !important; padding-bottom: 36px !important; }
  .unified-hero h1,
  .plans-index-hero.unified-hero h1,
  .plan-detail-hero.unified-hero h1 { max-width: 720px; font-size: clamp(3.1rem, 8.5vw, 4.5rem) !important; }
  .unified-hero.square-hero .square-hero-media { object-position: 62% center; }
}

@media (max-width: 680px) {
  .unified-hero { height: clamp(570px, 82svh, 650px) !important; min-height: 570px !important; align-items: flex-end !important; }
  .unified-hero .inner-hero-content,
  .unified-hero .square-hero-content,
  .unified-hero > .unified-hero-content { width: calc(100% - 2.5rem); padding: 112px 0 42px !important; }
  .unified-hero h1,
  .plans-index-hero.unified-hero h1,
  .plan-detail-hero.unified-hero h1 { max-width: 100%; margin-bottom: 1rem; font-size: clamp(2.65rem, 12vw, 3.55rem) !important; line-height: .98 !important; letter-spacing: -.025em !important; }
  .unified-hero p:not(.eyebrow):not(.plan-breadcrumb p) { max-width: 34rem; font-size: 1rem; line-height: 1.55; }
  .unified-hero .square-hero-actions { margin-top: 1.35rem; }
  .unified-hero .square-hero-facts { display: none; }
  .unified-hero .plan-detail-title { display: block; }
  .unified-hero .plan-detail-summary { margin-top: 1.4rem; }
  .unified-hero.about-page-hero .inner-hero-media { object-position: 60% center; }
  .unified-hero.contact-page-hero .inner-hero-media { object-position: 58% center; }
  .unified-hero.creek-page-hero .inner-hero-media { object-position: 64% center; }
  .unified-hero.square-hero .square-hero-media { object-position: 68% center; }
  .privacy-page-v24 .privacy-hero-v24 { min-height: 390px; padding: 125px 0 55px; }
  .privacy-page-v24 .privacy-hero-v24 h1 { font-size: clamp(3rem, 14vw, 4rem); }
  .privacy-page-v24 .privacy-body-v24 { width: calc(100% - 2.5rem); }
}

@media (prefers-reduced-motion: reduce) {
  .unified-hero .inner-hero-media,
  .unified-hero .square-hero-media,
  .unified-hero > .unified-hero-media { animation: none; }
}

/* v2.6 final cascade: consistent typography on desktop, laptop, tablet and mobile. */
:root {
  --type-display: clamp(4rem, 5.6vw, 5.6rem);
  --type-h1: clamp(3.4rem, 4.6vw, 4.65rem);
  --type-h2: clamp(2.55rem, 3.25vw, 3.35rem);
  --type-h3: clamp(1.75rem, 2.1vw, 2.2rem);
  --type-h4: clamp(1.2rem, 1.35vw, 1.4rem);
  --type-body-lg: clamp(1.0625rem, 1.1vw, 1.1875rem);
  --type-body: clamp(1rem, .9vw, 1.0625rem);
  --type-label: .8125rem;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-x: clip; }
body main h1:not(.hero-title), body main h2, body main h3, body main h4 { max-width: 100%; overflow-wrap: normal; word-break: normal; hyphens: none; }
body main h1:not(.hero-title) { font-size: var(--type-h1) !important; line-height: .98 !important; }
body main section h2 { font-size: var(--type-h2) !important; line-height: 1.04 !important; }
body main article h3, body main .faq-list h3 { font-size: var(--type-h3) !important; line-height: 1.1 !important; }
body main p, body main li { font-size: var(--type-body) !important; line-height: 1.7 !important; }
body main .eyebrow { font-size: var(--type-label) !important; line-height: 1.4 !important; }
.plan-terms { width: min(82.5%, 1580px); padding: clamp(5rem, 7vw, 7rem) 0; display: grid; grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr); gap: clamp(3.5rem, 7vw, 7rem); align-items: start; }
.plan-terms > div, .plan-terms ol { min-width: 0; }
.plan-terms h2 { max-width: 520px; margin: 1rem 0 0; font-size: var(--type-h2) !important; line-height: 1.04 !important; }
.plan-terms ol { width: 100%; }
.plan-terms li { box-sizing: border-box; min-width: 0; min-height: 72px; padding: 1.1rem 0; grid-template-columns: 2.75rem minmax(0, 1fr); font-family: var(--body-font) !important; font-size: var(--type-body) !important; line-height: 1.6 !important; overflow-wrap: anywhere; }
@media (max-width: 1199px) {
  :root { --type-display: clamp(3.6rem, 6.5vw, 4.8rem); --type-h1: clamp(3.15rem, 5.7vw, 4rem); --type-h2: clamp(2.4rem, 4.5vw, 3rem); --type-h3: clamp(1.7rem, 2.8vw, 2.05rem); }
  .plan-terms { width: min(88%, 1100px); grid-template-columns: minmax(290px, .85fr) minmax(0, 1.15fr); gap: 3.5rem; }
}
@media (max-width: 900px) {
  :root { --type-display: clamp(3.25rem, 9vw, 4.35rem); --type-h1: clamp(2.85rem, 7.5vw, 3.7rem); --type-h2: clamp(2.25rem, 6vw, 2.8rem); --type-h3: clamp(1.65rem, 4vw, 1.95rem); }
  .plan-terms { width: min(100% - 3rem, 760px); grid-template-columns: 1fr; gap: 2.5rem; }
  .plan-terms h2 { max-width: 620px; }
  .plan-terms h2 br { display: none; }
}
@media (max-width: 600px) {
  :root { --type-display: clamp(2.8rem, 13vw, 3.55rem); --type-h1: clamp(2.55rem, 11vw, 3.15rem); --type-h2: clamp(2rem, 9vw, 2.5rem); --type-h3: clamp(1.55rem, 7vw, 1.85rem); --type-body-lg: 1.0625rem; --type-body: 1rem; --type-label: .75rem; }
  .section-shell, .plan-terms { width: calc(100% - 2.5rem); }
  .plan-terms { padding: 4.5rem 0 5rem; gap: 2rem; }
  .plan-terms h2 { max-width: 100%; margin-top: .75rem; }
  .plan-terms li { min-height: 64px; grid-template-columns: 2.35rem minmax(0, 1fr); padding: 1rem 0; }
}
@media (max-width: 380px) {
  :root { --type-h1: clamp(2.35rem, 11vw, 2.75rem); --type-h2: clamp(1.85rem, 9vw, 2.2rem); --type-h3: clamp(1.45rem, 7vw, 1.7rem); }
  .section-shell, .plan-terms { width: calc(100% - 2rem); }
}

/* WordPress v2.9: responsive navigation, overflow-safe titles and single-column mobile media. */
@media (max-width: 980px) {
  body .site-header {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 84px !important;
    padding: 0 20px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 14px !important;
    align-items: center !important;
  }
  body .site-header .brand { width: clamp(126px, 34vw, 158px) !important; position: relative; z-index: 32; }
  body .site-header .brand img { width: 100% !important; height: auto !important; display: block; }
  body .site-header .header-cta { display: none !important; }
  body .site-header .menu-toggle {
    box-sizing: border-box !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 11px 7px !important;
    display: flex !important;
    position: relative !important;
    right: auto !important;
    z-index: 33 !important;
    color: #fff !important;
  }
  body .site-header .main-nav {
    box-sizing: border-box !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 118px 26px 42px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 22px !important;
    overflow-y: auto !important;
    background: var(--navy-deep) !important;
    transform: translateX(100%) !important;
    visibility: hidden !important;
    transition: transform .35s ease, visibility 0s linear .35s !important;
    z-index: 30 !important;
  }
  body .site-header .main-nav.is-open { transform: translateX(0) !important; visibility: visible !important; transition-delay: 0s !important; }
  body.admin-bar .site-header .main-nav { top: 46px !important; height: calc(100dvh - 46px) !important; }
  body .site-header .main-nav > a,
  body .site-header .nav-parent {
    width: 100% !important;
    font-family: var(--display-font) !important;
    font-size: clamp(1.8rem, 6vw, 2.35rem) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: -.015em !important;
  }
  body .site-header .nav-item { width: 100% !important; display: block !important; }
  body .site-header .nav-submenu a { font-size: 1rem !important; line-height: 1.4 !important; }
  body .hero-content {
    box-sizing: border-box !important;
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin: 0 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
  }
  body .hero h1 { width: 100% !important; max-width: 100% !important; font-size: clamp(2.65rem, 10.8vw, 3.55rem) !important; line-height: .98 !important; letter-spacing: -.025em !important; }
  body .hero-line,
  body .hero-line-text,
  body .hero-line > .hero-line-text { max-width: 100% !important; overflow: visible !important; white-space: normal !important; }
  body .hero-line-text,
  body .hero-line > .hero-line-text { display: flex !important; flex-wrap: wrap !important; column-gap: .16em !important; row-gap: 0 !important; }
}

@media (max-width: 680px) {
  body .square-hero.unified-hero { height: clamp(600px, 82svh, 680px) !important; min-height: 600px !important; }
  body .square-hero.unified-hero .square-hero-content {
    width: calc(100% - 40px) !important;
    margin: 0 auto !important;
    padding: 118px 0 44px !important;
    background: transparent !important;
  }
  body .square-hero.unified-hero .square-hero-shade { background: linear-gradient(90deg, rgba(8,12,29,.9), rgba(8,12,29,.48)), linear-gradient(0deg, rgba(8,12,29,.86), transparent 70%) !important; }
  body .square-hero.unified-hero .square-hero-media { object-position: 68% center !important; }
  body .square-hero.unified-hero h1 { font-size: clamp(2.55rem, 11vw, 3.25rem) !important; line-height: .98 !important; }
  body .gallery-page-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; }
  body .gallery-page-item,
  body .gallery-page-item-1,
  body .gallery-page-item-2,
  body .gallery-page-item-3,
  body .gallery-page-item-4,
  body .gallery-page-item-5,
  body .gallery-page-item-6 {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 5 !important;
    grid-column: 1 !important;
    margin: 0 !important;
  }
  body .gallery-page-item img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  body .blog-index-grid,
  body .creek-facts > div,
  body .square-property-collection,
  body .square-plan-grid,
  body .floor-link-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 380px) {
  body .site-header { padding-inline: 16px !important; }
  body .hero-content,
  body .square-hero.unified-hero .square-hero-content { width: calc(100% - 32px) !important; margin-inline: 16px !important; }
  body .hero h1 { font-size: clamp(2.35rem, 11vw, 2.8rem) !important; }
}

/* WordPress v3.3: construction services and homepage SEO-content layout. */
.about-heading { display: flex; flex-direction: column; }
.about-heading > .eyebrow { order: -1; margin-bottom: 1rem; }
.about-copy { align-self: start; }
.about-copy p { max-width: 760px; }
.construction-services-home { padding: clamp(5.5rem, 8vw, 9rem) 0; background: var(--navy-deep); color: #fff; }
.construction-services-head { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(3rem, 7vw, 7.5rem); align-items: start; }
.construction-services-head > div:first-child,
.construction-page-intro > div:first-child,
.construction-page-heading,
.construction-accountability > div:first-child { display: flex; flex-direction: column; }
.construction-services-head .eyebrow,
.construction-page-intro .eyebrow,
.construction-page-heading .eyebrow,
.construction-accountability .eyebrow { order: -1; margin: 0 0 1rem; }
.construction-services-head h2 { max-width: 680px; margin: 0; color: #fff; }
.construction-services-copy p { max-width: 760px; margin: 0 0 1.25rem; color: rgba(255,255,255,.72); }
.construction-process-grid { margin-top: clamp(3rem, 5vw, 5rem); display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 18px; }
.construction-process-card { min-width: 0; grid-column: span 2; background: #f3efe6; color: var(--navy); overflow: hidden; }
.construction-process-card figure { height: clamp(210px, 19vw, 330px); margin: 0; overflow: hidden; background: #dad6ce; }
.construction-process-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.construction-process-card:hover img { transform: scale(1.035); }
.construction-process-card > div { min-height: 220px; padding: clamp(1.4rem, 2vw, 2rem); position: relative; }
.construction-process-card > div > span { color: var(--gold); font-family: var(--display-font); font-size: 1rem; }
.construction-process-card h3 { margin: 1.4rem 0 .85rem; color: var(--navy); }
.construction-process-card p { margin: 0; color: #666a76; }
.construction-services-cta { margin-top: 2.25rem; }
.construction-page-hero .inner-hero-media { object-position: center 58%; }
.construction-page-intro { padding: clamp(5.5rem, 8vw, 9rem) 0; display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.construction-page-intro h2 { max-width: 620px; margin: 0; }
.construction-page-intro > div:last-child p { max-width: 760px; margin: 0 0 1.25rem; color: #626672; }
.construction-page-process { padding: clamp(5.5rem, 8vw, 9rem) 0; background: var(--navy-deep); color: #fff; }
.construction-page-heading h2 { max-width: 760px; margin: 0; color: #fff; }
.construction-page-process .construction-process-card { background: #f3efe6; color: var(--navy); }
.construction-accountability { padding: clamp(5.5rem, 8vw, 9rem) 0; display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(3rem, 7vw, 7rem); }
.construction-accountability h2 { max-width: 620px; margin: 0; }
.construction-benefits { border-top: 1px solid rgba(33,38,66,.2); }
.construction-benefits article { padding: 1.7rem 0; display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: 1.25rem; border-bottom: 1px solid rgba(33,38,66,.2); }
.construction-benefits article > span { color: var(--gold); font-family: var(--display-font); }
.construction-benefits h3 { margin: 0 0 .6rem; }
.construction-benefits p { margin: 0; color: #696d79; }

@media (min-width: 981px) and (max-width: 1450px) {
  body .site-header { grid-template-columns: 170px minmax(0, 1fr) 150px; gap: 16px; padding-inline: 28px; }
  body .site-header .brand { width: 160px; }
  body .site-header .main-nav { gap: 12px; }
  body .site-header .main-nav > a,
  body .site-header .nav-parent { font-size: 10px; letter-spacing: .08em; }
  body .site-header .header-cta { font-size: 10px; letter-spacing: .08em; }
}
@media (max-width: 1100px) {
  .construction-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .construction-process-card { grid-column: auto; }
  .construction-process-card:last-child { grid-column: 1 / -1; }
  .construction-process-card:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .construction-process-card:last-child figure { height: 100%; min-height: 310px; }
}
@media (max-width: 800px) {
  .construction-services-head,
  .construction-page-intro,
  .construction-accountability { grid-template-columns: 1fr; gap: 2.5rem; }
}
@media (max-width: 600px) {
  .construction-services-home,
  .construction-page-intro,
  .construction-page-process,
  .construction-accountability { padding-top: 4.75rem; padding-bottom: 4.75rem; }
  .construction-process-grid { grid-template-columns: 1fr; gap: 14px; }
  .construction-process-card,
  .construction-process-card:last-child { grid-column: auto; display: block; }
  .construction-process-card figure,
  .construction-process-card:last-child figure { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .construction-process-card > div { min-height: 0; padding: 1.4rem; }
  .construction-process-card h3 { margin-top: 1rem; }
  .construction-services-cta { width: 100%; justify-content: space-between; }
}

/* WordPress v3.4: automatic About gallery, four-stat band and premium construction mosaic. */
.about-image-slider {
  min-height: 620px;
  background: #d8d3c8;
  isolation: isolate;
}
.about-image-slider .about-image-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.035);
  transition: opacity .9s ease, transform 6s ease, visibility 0s linear .9s;
}
.about-image-slider .about-image-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  transition-delay: 0s;
  z-index: 1;
}
.about-image-slider .about-image-slide img,
.about-image-slider:hover .about-image-slide img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}
.about-image-slider .about-image-slide:first-child img { object-position: center 30% !important; }
.about-slider-progress {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 3;
  display: flex;
  gap: 8px;
}
.about-slider-progress span {
  width: 34px;
  height: 2px;
  background: rgba(255,255,255,.45);
  transition: background .3s ease, width .3s ease;
}
.about-slider-progress span.is-active { width: 52px; background: var(--gold); }
.about .about-stats-row {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: clamp(2.5rem, 5vw, 5rem);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(33,38,66,.22);
  border-bottom: 1px solid rgba(33,38,66,.22);
}
.about .about-stats-row > div {
  min-width: 0;
  padding: clamp(1.6rem, 2.5vw, 2.5rem) clamp(1rem, 2vw, 2rem);
  display: block;
}
.about .about-stats-row > div:first-child { padding-left: 0; }
.about .about-stats-row > div + div {
  padding-left: clamp(1rem, 2vw, 2rem);
  border-left: 1px solid rgba(33,38,66,.22);
}
.about .about-stats-row strong {
  display: block;
  margin: 0 0 .55rem;
  color: var(--navy);
  font-family: var(--display-font);
  font-size: clamp(2.2rem, 3.2vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
}
.about .about-stats-row span {
  display: block;
  color: #747587;
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.construction-process-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(330px, 1fr));
  gap: 18px;
}
.construction-process-card,
.construction-process-card:last-child {
  position: relative;
  min-height: 330px;
  grid-column: auto;
  display: block;
  overflow: hidden;
  isolation: isolate;
  background: #171d35;
  color: #fff;
}
.construction-process-card:first-child { grid-row: 1 / 3; min-height: 678px; }
.construction-process-card figure,
.construction-process-card:last-child figure {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  aspect-ratio: auto;
  z-index: -2;
}
.construction-process-card figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9,13,31,.06) 20%, rgba(9,13,31,.92) 100%);
}
.construction-process-card img { width: 100%; height: 100%; object-fit: cover; }
.construction-process-card > div {
  box-sizing: border-box;
  min-height: inherit;
  height: 100%;
  padding: clamp(1.5rem, 2.25vw, 2.5rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(180deg, transparent 34%, rgba(9,13,31,.12) 48%, rgba(9,13,31,.92) 100%);
  z-index: 2;
}
.construction-process-card > div > span {
  color: var(--gold);
  font-family: var(--body-font);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.construction-process-card h3 {
  max-width: 330px;
  margin: .65rem 0 .45rem;
  color: #fff;
  font-size: clamp(1.7rem, 2vw, 2.15rem) !important;
}
.construction-process-card p {
  max-width: 390px;
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: .95rem !important;
  line-height: 1.55 !important;
}

@media (max-width: 1100px) {
  .about-image-slider { min-height: 540px; }
  .construction-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .construction-process-card:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 500px; }
  .construction-process-card:not(:first-child) { min-height: 360px; }
}
@media (max-width: 760px) {
  .about-image-slider { min-height: 0; height: min(112vw, 560px); }
  .about .about-stats-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about .about-stats-row > div { padding: 1.45rem 1rem; }
  .about .about-stats-row > div:first-child { padding-left: 1rem; }
  .about .about-stats-row > div:nth-child(3) { border-left: 0; border-top: 1px solid rgba(33,38,66,.22); }
  .about .about-stats-row > div:nth-child(4) { border-top: 1px solid rgba(33,38,66,.22); }
  .construction-process-grid { grid-template-columns: 1fr; }
  .construction-process-card,
  .construction-process-card:first-child,
  .construction-process-card:last-child { grid-column: auto; grid-row: auto; min-height: 430px; }
}
@media (max-width: 420px) {
  .about .about-stats-row { grid-template-columns: 1fr; }
  .about .about-stats-row > div,
  .about .about-stats-row > div:first-child,
  .about .about-stats-row > div + div {
    padding: 1.25rem 0;
    border-left: 0;
    border-top: 1px solid rgba(33,38,66,.18);
  }
  .about .about-stats-row > div:first-child { border-top: 0; }
  .about .about-stats-row strong { font-size: 2.35rem; }
  .construction-process-card,
  .construction-process-card:first-child,
  .construction-process-card:last-child { min-height: 400px; }
}
@media (prefers-reduced-motion: reduce) {
  .about-image-slider .about-image-slide { transition: none; transform: none; }
}

/* v3.5: a clear, minimal five-step construction journey. */
.construction-process-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: none;
  gap: clamp(1rem, 1.6vw, 1.75rem);
  margin-top: clamp(2.5rem, 4vw, 4rem);
}
.construction-process-grid::before {
  display: none;
}
.construction-process-grid.is-visible::before,
.construction-process-grid:has(.construction-process-card.is-visible)::before { transform: scaleX(1); }
.construction-process-card,
.construction-process-card:first-child,
.construction-process-card:last-child {
  position: relative;
  display: flex;
  flex-direction: column;
  grid-column: auto;
  grid-row: auto;
  min-height: 0;
  overflow: visible;
  background: transparent;
  color: #fff;
  isolation: auto;
}
.construction-process-card::after {
  display: none;
}
.construction-process-card:last-child::after { display: none; }
.construction-process-card figure,
.construction-process-card:last-child figure {
  position: relative;
  inset: auto;
  z-index: 1;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #171d35;
  clip-path: inset(0 0 100% 0);
  transition: clip-path .95s cubic-bezier(.2,.8,.2,1);
}
.construction-process-card.is-visible figure { clip-path: inset(0); }
.construction-process-card figure::after { background: linear-gradient(180deg, transparent 60%, rgba(9,13,31,.25)); }
.construction-process-card img { transform: scale(1.08); transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.construction-process-card.is-visible img { transform: scale(1); }
.construction-process-card > div {
  position: relative;
  z-index: 3;
  display: block;
  min-height: 0;
  height: auto;
  padding: 1.55rem .1rem 0;
  background: transparent;
}
.construction-process-card > div > span {
  display: grid;
  width: 38px;
  height: 38px;
  margin: -2.75rem 0 1.25rem;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  background: var(--navy-deep);
  color: var(--gold);
  font-size: .7rem;
}
.construction-process-card h3 { min-height: 2.05em; margin: 0 0 .8rem; color: #fff; font-size: clamp(1.55rem, 2vw, 2rem) !important; line-height: 1.02 !important; }
.construction-process-card p { margin: 0; color: rgba(255,255,255,.7); font-size: .9rem !important; line-height: 1.55 !important; }
.construction-process-card:nth-child(2) { transition-delay: 100ms; }
.construction-process-card:nth-child(3) { transition-delay: 200ms; }
.construction-process-card:nth-child(4) { transition-delay: 300ms; }
.construction-process-card:nth-child(5) { transition-delay: 400ms; }
@media (max-width: 1000px) {
  .construction-process-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .construction-process-grid::before, .construction-process-card::after { display: none; }
  .construction-process-card figure, .construction-process-card:last-child figure { aspect-ratio: 5 / 4; }
  .construction-process-card h3 { min-height: 0; }
}
@media (max-width: 600px) {
  .construction-process-grid { display: block; padding-left: 28px; }
  .construction-process-grid::before { display: none; }
  .construction-process-card, .construction-process-card:first-child, .construction-process-card:last-child { margin-bottom: 2.5rem; min-height: 0; }
  .construction-process-card::before { display:none; }
  .construction-process-card figure, .construction-process-card:last-child figure { aspect-ratio: 4 / 3; }
  .construction-process-card > div { padding-top: 1.35rem; }
  .construction-process-card h3 { font-size: 1.9rem !important; }
}

/* v3.5.2 final cascade: luxury editorial process mosaic */
.construction-services-home .construction-process-grid,
.construction-page-process .construction-process-grid {
  display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(1.15rem,2vw,2rem); padding:0;
}
.construction-services-home .construction-process-card,
.construction-page-process .construction-process-card,
.construction-services-home .construction-process-card:first-child,
.construction-page-process .construction-process-card:first-child,
.construction-services-home .construction-process-card:last-child,
.construction-page-process .construction-process-card:last-child {
  position:relative; display:flex; flex-direction:column; grid-row:auto; grid-column:span 4; min-height:0; margin:0;
  overflow:hidden; isolation:isolate; background:#f4f0e7; color:var(--navy);
  box-shadow:0 24px 65px rgba(3,7,24,.18); transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s ease;
}
.construction-services-home .construction-process-card:nth-child(1),
.construction-page-process .construction-process-card:nth-child(1){grid-column:span 7}
.construction-services-home .construction-process-card:nth-child(2),
.construction-page-process .construction-process-card:nth-child(2){grid-column:span 5}
.construction-services-home .construction-process-card:nth-child(4),
.construction-page-process .construction-process-card:nth-child(4){grid-column:span 5}
.construction-services-home .construction-process-card:nth-child(5),
.construction-page-process .construction-process-card:nth-child(5){grid-column:span 3}
.construction-services-home .construction-process-card:hover,
.construction-page-process .construction-process-card:hover{transform:translateY(-10px);box-shadow:0 34px 80px rgba(3,7,24,.28)}
.construction-services-home .construction-process-card figure,
.construction-page-process .construction-process-card figure,
.construction-services-home .construction-process-card:last-child figure,
.construction-page-process .construction-process-card:last-child figure {
  position:relative; inset:auto; z-index:1; width:100%; height:auto; min-height:0; margin:0; aspect-ratio:16/10;
  overflow:hidden; clip-path:inset(0 0 100% 0); transition:clip-path .95s cubic-bezier(.2,.8,.2,1);
}
.construction-services-home .construction-process-card:nth-child(1) figure,
.construction-page-process .construction-process-card:nth-child(1) figure{aspect-ratio:16/8.2}
.construction-services-home .construction-process-card.is-visible figure,
.construction-page-process .construction-process-card.is-visible figure{clip-path:inset(0)}
.construction-services-home .construction-process-card img,
.construction-page-process .construction-process-card img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);filter:saturate(.88);transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .6s ease}
.construction-services-home .construction-process-card.is-visible img,
.construction-page-process .construction-process-card.is-visible img{transform:scale(1)}
.construction-services-home .construction-process-card:hover img,
.construction-page-process .construction-process-card:hover img{transform:scale(1.045);filter:saturate(1)}
.construction-services-home .construction-process-card > div,
.construction-page-process .construction-process-card > div{
  position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;column-gap:1.15rem;align-items:start;
  min-height:0;height:auto;padding:clamp(1.35rem,2.2vw,2.1rem);background:#f4f0e7;
}
.construction-services-home .construction-process-card > div > span,
.construction-page-process .construction-process-card > div > span{
  grid-row:1/3;display:block;width:auto;height:auto;margin:.18rem 0 0;border:0;border-radius:0;background:transparent;
  color:#b89117;font-family:var(--display-font);font-size:clamp(1.1rem,1.5vw,1.45rem);font-weight:400;letter-spacing:0;
}
.construction-services-home .construction-process-card h3,
.construction-page-process .construction-process-card h3{min-height:0;margin:0 0 .6rem;color:var(--navy);font-size:clamp(1.75rem,2.45vw,2.55rem)!important;line-height:.98!important}
.construction-services-home .construction-process-card p,
.construction-page-process .construction-process-card p{margin:0;color:#686b76;font-size:.9rem!important;line-height:1.6!important}
@media(max-width:980px){
 .construction-services-home .construction-process-grid,.construction-page-process .construction-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .construction-services-home .construction-process-card:nth-child(n),.construction-page-process .construction-process-card:nth-child(n){grid-column:span 1}
 .construction-services-home .construction-process-card:first-child,.construction-page-process .construction-process-card:first-child{grid-column:1/-1}
}
@media(max-width:620px){
 .construction-services-home .construction-process-grid,.construction-page-process .construction-process-grid{grid-template-columns:1fr;gap:1.35rem;padding:0}
 .construction-services-home .construction-process-card:nth-child(n),.construction-page-process .construction-process-card:nth-child(n){grid-column:1;margin:0}
 .construction-services-home .construction-process-card figure,.construction-page-process .construction-process-card figure,.construction-services-home .construction-process-card:nth-child(1) figure,.construction-page-process .construction-process-card:nth-child(1) figure{aspect-ratio:4/3}
 .construction-services-home .construction-process-card > div,.construction-page-process .construction-process-card > div{padding:1.3rem;column-gap:.9rem}
}

/* v3.5.3: Nexus Square property journey follows Creek and moves opposite. */
.square-property-options { background:#171d38; }
.square-property-options .horizontal-heading { direction:rtl; }
.square-property-options .horizontal-heading > * { direction:ltr; }
.square-property-options .property-track { flex-direction:row-reverse; }
.square-property-options .property-card { box-shadow:0 22px 55px rgba(3,7,24,.22); }
@media(max-width:980px){
  .square-property-options .horizontal-heading { direction:ltr; }
  .square-property-options .property-track { flex-direction:initial; }
}

/* v3.5.4: cinematic image slider + interactive process accordion */
.construction-process-showcase {
  display:grid; grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr); gap:clamp(2.5rem,6vw,6.5rem);
  margin-top:clamp(3rem,5vw,5rem); align-items:center;
}
.process-visuals { position:relative; min-height:clamp(520px,56vw,760px); overflow:hidden; background:#0a0f25; }
.process-visual { position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transform:scale(1.07); transition:opacity .75s ease,transform 1.25s cubic-bezier(.2,.8,.2,1),visibility .75s; }
.process-visual.is-active { opacity:1; visibility:visible; transform:scale(1); z-index:2; }
.process-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(5,9,25,.55)); }
.process-visual img { width:100%; height:100%; object-fit:cover; }
.process-visual-counter { position:absolute; z-index:4; left:clamp(1.2rem,2vw,2rem); right:clamp(1.2rem,2vw,2rem); bottom:clamp(1.2rem,2vw,2rem); display:flex; justify-content:space-between; color:#fff; font-family:var(--display-font); font-size:1.15rem; }
.process-visual-counter::before { content:""; position:absolute; left:2.4rem; right:2.4rem; top:50%; height:1px; background:rgba(255,255,255,.35); }
.process-accordion { border-top:1px solid rgba(255,255,255,.2); }
.process-step { border-bottom:1px solid rgba(255,255,255,.2); }
.process-step button { width:100%; min-height:86px; padding:1.25rem 0; display:grid; grid-template-columns:2.5rem 1fr 1.5rem; gap:1rem; align-items:center; border:0; color:#fff; background:transparent; text-align:left; cursor:pointer; }
.process-step button span { color:var(--gold); font-family:var(--display-font); font-size:1rem; }
.process-step button strong { font-family:var(--display-font); font-size:clamp(1.55rem,2.5vw,2.35rem); font-weight:400; line-height:1; transition:color .35s ease,transform .35s ease; }
.process-step button i { position:relative; width:18px; height:18px; }
.process-step button i::before,.process-step button i::after { content:""; position:absolute; top:50%; left:0; width:18px; height:1px; background:var(--gold); transition:transform .4s ease; }
.process-step button i::after { transform:rotate(90deg); }
.process-step.is-active button i::after { transform:rotate(0); }
.process-step.is-active button strong { color:var(--gold-soft); transform:translateX(8px); }
.process-step-panel { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .55s cubic-bezier(.2,.8,.2,1),opacity .4s ease; }
.process-step-panel p { min-height:0; overflow:hidden; margin:0; padding:0 3rem 0 3.5rem; color:rgba(255,255,255,.66)!important; font-size:.95rem!important; line-height:1.65!important; transition:padding .55s ease; }
.process-step.is-active .process-step-panel { grid-template-rows:1fr; opacity:1; }
.process-step.is-active .process-step-panel p { padding-bottom:1.55rem; }
@media(max-width:900px){
 .construction-process-showcase{grid-template-columns:1fr;gap:2rem}
 .process-visuals{min-height:0;aspect-ratio:16/10}
 .process-step button{min-height:76px}
}
@media(max-width:600px){
 .process-visuals{aspect-ratio:4/3}
 .process-step button{grid-template-columns:2rem 1fr 1.25rem;gap:.6rem;padding:1rem 0}
 .process-step button strong{font-size:clamp(1.45rem,7vw,1.8rem)}
 .process-step-panel p{padding-left:2.6rem;padding-right:1.5rem}
}
@media(prefers-reduced-motion:reduce){
 .process-visual,.process-step-panel,.process-step button strong{transition:none!important}
}

/* v3.5.5: smooth Nexus Square property showcase; removes long empty scroll. */
.square-property-showcase{padding:clamp(6rem,10vw,10rem) 0;background:linear-gradient(145deg,#171d38 0%,#0c1128 100%);color:#fff;overflow:hidden}
.square-property-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,7vw,8rem);align-items:end;margin-bottom:clamp(3rem,5vw,5rem)}
.square-property-heading h2{margin:.8rem 0 0;color:#fff;font-size:var(--type-h2);line-height:1}
.square-property-heading>p{max-width:600px;margin:0 0 .45rem;color:rgba(255,255,255,.65)!important}
.square-options-showcase{margin-top:0;grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr)}
.square-options-showcase .process-visuals{min-height:clamp(500px,49vw,690px)}
.square-options-showcase .process-step button{min-height:112px}
.square-options-showcase .square-property-cta{margin-top:2.2rem}
@media(max-width:900px){.square-property-heading{grid-template-columns:1fr;gap:1.5rem}.square-options-showcase{grid-template-columns:1fr}.square-options-showcase .process-visuals{min-height:0}}
@media(max-width:600px){.square-property-showcase{padding:5rem 0}.square-property-heading{margin-bottom:2.5rem}.square-options-showcase .process-step button{min-height:82px}}

/* v3.5.6: balanced intro, center progress rail and continuously moving accordion. */
.construction-services-home .construction-services-head{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(3rem,8vw,9rem);align-items:start}
.construction-services-home .construction-services-head h2{max-width:540px;margin:.8rem 0 0}
.construction-services-home .construction-services-head .eyebrow{order:-1;margin:0 0 .8rem}
.construction-services-home .construction-services-head>div:first-child{display:flex;flex-direction:column}
.construction-process-showcase{grid-template-columns:minmax(0,1.08fr) 42px minmax(360px,.92fr);gap:clamp(1.5rem,3vw,3.5rem)}
.process-rail{height:min(68vh,540px);display:flex;align-items:center;justify-content:center;align-self:center}
.process-rail svg{width:28px;height:100%;overflow:visible}
.process-rail path{fill:none;stroke:rgba(255,255,255,.18);stroke-width:1}
.process-rail circle{fill:#11162e;stroke:rgba(255,255,255,.3);stroke-width:1;transition:fill .45s ease,stroke .45s ease,transform .45s ease;transform-box:fill-box;transform-origin:center}
.process-rail text{fill:rgba(255,255,255,.55);font-family:var(--body-font);font-size:7px;font-weight:700;transition:fill .45s ease}
.process-rail g.is-active circle{fill:var(--gold);stroke:var(--gold);transform:scale(1.22)}
.process-rail g.is-active text{fill:var(--navy-deep)}
.process-accordion{align-self:center;width:100%}
.process-cta{margin-top:clamp(1.8rem,3vw,2.8rem);width:max-content}
.square-options-showcase{grid-template-columns:minmax(0,1.08fr) 42px minmax(350px,.92fr)}
.square-options-showcase .process-rail{display:none}
.square-options-showcase .process-accordion{grid-column:3}
@media(max-width:900px){
 .construction-services-home .construction-services-head{grid-template-columns:1fr;gap:1.6rem}
 .construction-process-showcase,.square-options-showcase{grid-template-columns:1fr;gap:2rem}
 .process-rail{display:none}
 .square-options-showcase .process-accordion{grid-column:auto}
 .process-cta{margin-top:1.6rem}
}

/* v3.5.7: centered section intro, matched columns and horizontal image motion. */
.construction-services-home .construction-services-head{
  display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;max-width:980px;margin:0 auto;
}
.construction-services-home .construction-services-head>div:first-child{display:flex;flex-direction:column;align-items:center;width:100%}
.construction-services-home .construction-services-head h2{max-width:760px;margin:.75rem auto 0}
.construction-services-home .construction-services-head .eyebrow{order:-1;margin:0 auto .8rem}
.construction-services-home .construction-services-copy{max-width:880px;margin:clamp(1.5rem,2.5vw,2.4rem) auto 0}
.construction-services-home .construction-services-copy p{max-width:880px;margin-left:auto;margin-right:auto}
.construction-services-home .construction-services-copy p+p{margin-top:1rem}
.construction-process-showcase{align-items:stretch}
.process-visuals{height:clamp(570px,61vw,760px);min-height:0;align-self:stretch}
.process-accordion{height:clamp(570px,61vw,760px);min-height:0;display:flex;flex-direction:column;justify-content:center;align-self:stretch}
.process-rail{height:clamp(570px,61vw,760px);align-self:stretch}
.process-rail svg{height:100%}
.process-visual{opacity:0;visibility:hidden;transform:translateX(9%) scale(1.025);transition:opacity .72s ease,transform 1.05s cubic-bezier(.22,.75,.22,1),visibility .72s}
.process-visual.is-active{opacity:1;visibility:visible;transform:translateX(0) scale(1)}
.process-visual.is-leaving{opacity:0;visibility:visible;transform:translateX(-9%) scale(1.025);z-index:1}
.process-step button{flex:0 0 auto}
.process-step-panel{flex:0 0 auto}
.process-cta{align-self:flex-start}
@media(max-width:900px){
 .process-visuals{height:auto;aspect-ratio:16/10}
 .process-accordion{height:auto;display:block}
}
@media(max-width:600px){
 .construction-services-home .construction-services-head{text-align:left;align-items:flex-start}
 .construction-services-home .construction-services-head>div:first-child{align-items:flex-start}
 .construction-services-home .construction-services-head h2,.construction-services-home .construction-services-head .eyebrow,.construction-services-home .construction-services-copy p{margin-left:0;margin-right:0}
 .process-visuals{aspect-ratio:4/3}
}

/* v3.6.0 final construction layout: accordion left, number rail center, visual right. */
.construction-services-home .construction-services-head{
  display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(3rem,8vw,9rem);
  align-items:start;max-width:none;margin:0;text-align:left;
}
.construction-services-home .construction-services-head>div:first-child{display:flex;flex-direction:column;align-items:flex-start;width:auto}
.construction-services-home .construction-services-head h2{max-width:540px;margin:.8rem 0 0}
.construction-services-home .construction-services-head .eyebrow{order:-1;margin:0 0 .8rem}
.construction-services-home .construction-services-copy{max-width:none;margin:0}
.construction-services-home .construction-services-copy p{max-width:none;margin-left:0;margin-right:0}
.construction-services-home .construction-process-showcase,
.construction-page-process .construction-process-showcase{
  display:grid;grid-template-columns:minmax(360px,.92fr) 54px minmax(0,1.08fr);gap:clamp(1.4rem,3vw,3.4rem);
  align-items:stretch;
}
.construction-services-home .process-accordion,
.construction-page-process .process-accordion{
  grid-column:1;height:620px;display:flex;flex-direction:column;justify-content:center;align-self:stretch;
  border:0;
}
.construction-services-home .process-step,
.construction-page-process .process-step{border:0;margin:3px 0}
.construction-services-home .process-step button,
.construction-page-process .process-step button{
  grid-template-columns:1fr 1.5rem;min-height:72px;padding:1rem 1.15rem;background:rgba(255,255,255,.025);
}
.construction-services-home .process-step.is-active button,
.construction-page-process .process-step.is-active button{background:rgba(212,176,51,.07)}
.construction-services-home .process-step-panel p,
.construction-page-process .process-step-panel p{padding-left:1.15rem}
.construction-services-home .process-step.is-active .process-step-panel p,
.construction-page-process .process-step.is-active .process-step-panel p{padding-bottom:1.2rem}
.construction-services-home .process-rail,
.construction-page-process .process-rail{grid-column:2;width:54px;height:620px;display:flex;align-items:center;align-self:stretch}
.construction-services-home .process-rail svg,
.construction-page-process .process-rail svg{width:44px;height:500px;margin:auto;overflow:visible}
.construction-services-home .process-rail path,
.construction-page-process .process-rail path{display:none}
.construction-services-home .process-rail circle,
.construction-page-process .process-rail circle{fill:#11162e;stroke:rgba(255,255,255,.34);stroke-width:1}
.construction-services-home .process-rail text,
.construction-page-process .process-rail text{fill:rgba(255,255,255,.66);font-size:10px}
.construction-services-home .process-rail g.is-active circle,
.construction-page-process .process-rail g.is-active circle{fill:var(--gold);stroke:var(--gold);transform:scale(1.12)}
.construction-services-home .process-rail g.is-active text,
.construction-page-process .process-rail g.is-active text{fill:var(--navy-deep)}
.construction-services-home .process-visuals,
.construction-page-process .process-visuals{grid-column:3;height:620px;min-height:620px;align-self:stretch}
.construction-services-home .process-visual,
.construction-page-process .process-visual{opacity:0;visibility:hidden;transform:scale(1.075);transition:opacity .8s ease,transform 1.25s cubic-bezier(.2,.8,.2,1),visibility .8s}
.construction-services-home .process-visual.is-active,
.construction-page-process .process-visual.is-active{opacity:1;visibility:visible;transform:scale(1)}
.construction-services-home .process-visual.is-leaving,
.construction-page-process .process-visual.is-leaving{opacity:0;transform:scale(1.025)}
@media(max-width:900px){
 .construction-services-home .construction-services-head{grid-template-columns:1fr;gap:1.6rem}
 .construction-services-home .construction-process-showcase,.construction-page-process .construction-process-showcase{grid-template-columns:1fr;gap:1.5rem}
 .construction-services-home .process-visuals,.construction-page-process .process-visuals{grid-column:1;grid-row:1;height:auto;min-height:0;aspect-ratio:16/10}
 .construction-services-home .process-accordion,.construction-page-process .process-accordion{grid-column:1;grid-row:2;height:auto;display:block}
 .construction-services-home .process-rail,.construction-page-process .process-rail{display:none}
}
@media(max-width:600px){
 .construction-services-home .process-visuals,.construction-page-process .process-visuals{aspect-ratio:4/3}
 .construction-services-home .process-step button,.construction-page-process .process-step button{min-height:66px;padding:.9rem}
}

/* v3.6.1: Creek ends with its track; Square begins immediately in the opposite composition. */
@media(min-width:981px){
 .horizontal-scroll{height:calc(100svh + var(--horizontal-distance, 900px))}
 .square-property-heading{direction:rtl}
 .square-property-heading>*{direction:ltr}
 .square-options-showcase{grid-template-columns:minmax(350px,.85fr) minmax(0,1.15fr)}
 .square-options-showcase .process-accordion{grid-column:1;grid-row:1}
 .square-options-showcase .process-visuals{grid-column:2;grid-row:1}
}

/* v3.8.4: one hero image per project; remove every decorative background layer. */
.project-story-visuals:before,.project-story-visuals:after{content:none!important;display:none!important}
.project-story-image{background:none!important}

/* v3.8.5: Creek-first, Square-second scroll sequence for amenities. */
@media(min-width:981px){
 .cinema-amenities{height:220svh;padding:0;position:relative}
 .cinema-amenities-sticky{height:100svh;position:sticky;top:0;padding:clamp(42px,6vh,68px) 0;overflow:hidden;background:#11162e}
 .cinema-amenities-head{margin-bottom:clamp(24px,3.5vh,42px)}
 .cinema-amenity-stage{height:min(64vh,650px)}
 .cinema-gallery{transform:translate3d(0,32px,0) scale(.985);filter:blur(3px)}
 .cinema-gallery.is-active{transform:translate3d(0,0,0) scale(1);filter:blur(0)}
 .amenity-tabs button:after{content:"";display:block;width:0;height:1px;margin-top:7px;background:currentColor;transition:width .7s cubic-bezier(.2,.75,.2,1)}
 .amenity-tabs button.is-active:after{width:100%}
}

/* v3.8.2: editorial introduction placed before the animated project story. */
.projects-introduction{padding:clamp(100px,11vw,175px) 0 clamp(90px,10vw,150px);overflow:hidden;background:#f4f0e7;color:var(--navy)}
.projects-introduction>.section-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,.68fr);column-gap:clamp(60px,9vw,145px);align-items:end}
.projects-introduction-copy h3{margin:0 0 1rem}.projects-introduction-copy h2{max-width:760px;margin:0;font-size:clamp(3.8rem,6.5vw,7rem);line-height:.9}
.projects-introduction-text{max-width:570px;margin:0 0 .4rem;color:#666976;font-size:clamp(.87rem,1vw,1rem);line-height:1.78}
.projects-introduction-visuals{grid-column:1/-1;margin-top:clamp(55px,7vw,95px);height:clamp(390px,46vw,650px);position:relative}
.projects-introduction-visuals figure{position:absolute;margin:0;overflow:hidden;background:var(--navy);box-shadow:0 28px 70px rgba(18,23,47,.17)}
.projects-introduction-visuals figure:first-child{z-index:2;left:0;top:0;width:61%;height:88%}.projects-introduction-visuals figure:last-child{z-index:1;right:0;bottom:0;width:48%;height:76%;border:9px solid #f4f0e7}
.projects-introduction-visuals img{width:100%;height:108%;margin-top:-4%;object-fit:cover;filter:saturate(.88);transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .7s}.projects-introduction-visuals figure:hover img{transform:scale(1.045);filter:saturate(1)}
.projects-introduction-visuals figure:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(8,12,29,.7),transparent)}
.projects-introduction-visuals figcaption{position:absolute;z-index:2;left:clamp(1.3rem,2.6vw,2.6rem);bottom:clamp(1.2rem,2.4vw,2.3rem);color:#fff;font-family:var(--display-font);font-size:clamp(2.1rem,4vw,4.6rem)}
@media(max-width:900px){.projects-introduction>.section-shell{grid-template-columns:1fr;gap:2rem}.projects-introduction-text{max-width:760px}.projects-introduction-visuals{margin-top:2rem}}
@media(max-width:600px){.projects-introduction{padding:85px 0}.projects-introduction-visuals{height:auto;display:grid;gap:12px}.projects-introduction-visuals figure:first-child,.projects-introduction-visuals figure:last-child{position:relative;inset:auto;width:100%;height:76vw;border:0}.projects-introduction-visuals figure:last-child{margin-left:10%;width:90%}}

/* v3.8.3: one clean editorial prelude; animated project cards below remain unchanged. */
.projects-introduction{padding:0;background:var(--navy-deep);color:#fff}
.projects-introduction>.section-shell{width:100%;max-width:none;display:grid;grid-template-columns:minmax(340px,.82fr) minmax(500px,1.18fr);gap:0;align-items:stretch}
.projects-introduction-visual{min-height:clamp(590px,63vw,820px);margin:0;position:relative;overflow:hidden}
.projects-introduction-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,29,.05),rgba(8,12,29,.68))}
.projects-introduction-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transform:scale(1.035);transition:transform 1.4s cubic-bezier(.2,.75,.2,1)}
.projects-introduction-visual:hover img{transform:scale(1.075)}
.projects-introduction .projects-introduction-copy{padding:clamp(70px,8vw,130px) max(28px,calc((100vw - 1240px)/2)) clamp(70px,8vw,130px) clamp(50px,7vw,115px);display:flex;flex-direction:column;justify-content:center}
.projects-introduction .projects-introduction-copy h2{max-width:760px;color:#fff;font-size:clamp(3.7rem,6vw,6.7rem)}
.projects-introduction .projects-introduction-text{max-width:650px;margin:2rem 0 0;color:rgba(255,255,255,.65);font-size:clamp(.86rem,.96vw,.98rem);line-height:1.8}
@media(max-width:900px){.projects-introduction>.section-shell{grid-template-columns:1fr}.projects-introduction-visual{min-height:0;height:60vw}.projects-introduction .projects-introduction-copy{padding:70px 28px 85px}}
@media(max-width:600px){.projects-introduction-visual{height:78vw}.projects-introduction .projects-introduction-copy{padding:58px 20px 70px}.projects-introduction .projects-introduction-copy h2{font-size:clamp(3rem,14vw,4.6rem)}}
@media(max-width:980px){
 .square-property-heading{direction:ltr}
 .square-options-showcase .process-accordion,.square-options-showcase .process-visuals{grid-column:auto;grid-row:auto}
 .square-options-showcase .process-visuals{grid-row:1}
 .square-options-showcase .process-accordion{grid-row:2}
}

/* v3.6.2: immersive horizontal accordion based on the supplied reference. */
.construction-services-home>.section-shell{display:grid;grid-template-columns:minmax(290px,.62fr) minmax(0,1.38fr);gap:clamp(3rem,6vw,7rem);align-items:center}
.construction-services-home .construction-services-head{display:block;max-width:470px;margin:0;text-align:left}
.construction-services-home .construction-services-head>div:first-child{display:flex;flex-direction:column;align-items:flex-start}
.construction-services-home .construction-services-head .eyebrow{order:-1;margin:0 0 .75rem}
.construction-services-home .construction-services-head h2{margin:0;max-width:460px}
.construction-services-home .construction-services-copy{margin:1.7rem 0 0;max-width:470px}
.construction-services-home .construction-services-copy p{font-size:.94rem!important;line-height:1.65!important}
.construction-intro-cta{margin-top:1.5rem}
.process-horizontal-accordion{height:clamp(520px,48vw,690px);display:flex;gap:12px;min-width:0;overflow:hidden}
.process-slide{position:relative;flex:0 0 74px;min-width:0;overflow:hidden;border-radius:2px;background:#202640;transition:flex-basis .9s cubic-bezier(.2,.75,.2,1),filter .55s ease}
.process-slide.is-active{flex-basis:calc(100% - 344px)}
.process-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,11,28,.08),rgba(7,11,28,.84));transition:opacity .6s ease}
.process-slide.is-active::after{opacity:.78}
.process-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);filter:saturate(.82);transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .7s ease}
.process-slide.is-active>img{transform:scale(1);filter:saturate(1)}
.process-slide>button{position:absolute;z-index:3;inset:0;width:100%;padding:1.1rem;border:0;background:transparent;color:#fff;cursor:pointer}
.process-slide>button span{position:absolute;top:1.25rem;left:50%;transform:translateX(-50%);color:var(--gold);font-size:.7rem;font-weight:700}
.process-slide>button strong{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%) rotate(-90deg);white-space:nowrap;font-family:var(--display-font);font-size:1.25rem;font-weight:400;transform-origin:center}
.process-slide.is-active>button{pointer-events:none;opacity:0}
.process-slide-content{position:absolute;z-index:4;left:clamp(1.5rem,3vw,3rem);right:clamp(1.5rem,3vw,3rem);bottom:clamp(1.7rem,3vw,3rem);opacity:0;transform:translateY(22px);transition:opacity .55s ease .25s,transform .65s cubic-bezier(.2,.75,.2,1) .2s}
.process-slide.is-active .process-slide-content{opacity:1;transform:translateY(0)}
.process-slide-content>span{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.12em}
.process-slide-content h3{max-width:520px;margin:.6rem 0 .7rem;color:#fff;font-size:clamp(2rem,3.6vw,3.8rem)!important;line-height:.95!important}
.process-slide-content p{max-width:500px;margin:0;color:rgba(255,255,255,.78)!important;font-size:.95rem!important}
.construction-page-process .process-horizontal-accordion{width:min(100%,1240px);margin:3rem auto 0}
@media(max-width:1100px){
 .construction-services-home>.section-shell{grid-template-columns:1fr;gap:2.7rem}
 .construction-services-home .construction-services-head,.construction-services-home .construction-services-copy{max-width:800px}
 .process-horizontal-accordion{height:580px}
}
@media(max-width:760px){
 .process-horizontal-accordion{height:auto;display:grid;gap:10px;overflow:visible}
 .process-slide,.process-slide.is-active{flex-basis:auto;height:76px;transition:height .7s cubic-bezier(.2,.75,.2,1)}
 .process-slide.is-active{height:min(118vw,520px)}
 .process-slide>button strong{left:3.4rem;bottom:50%;transform:translateY(50%);font-size:1.35rem}
 .process-slide>button span{left:1.2rem;top:50%;transform:translateY(-50%)}
 .process-slide-content h3{font-size:clamp(2rem,10vw,3rem)!important}
}

/* v3.9.0: Creek-first, Square-second editorial scroll journey. */
.amenity-journey{position:relative;height:520svh;background:#f3efe6;color:var(--navy)}
.amenity-journey-sticky{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(460px,1.28fr);gap:clamp(50px,8vw,135px);align-items:center;overflow:hidden}
.amenity-journey-copy{position:relative;z-index:12;align-self:center}
.amenity-journey-copy h2{margin:.7rem 0 2rem;font-size:clamp(4rem,6.2vw,7rem);line-height:.86}
.amenity-journey-copy h3{min-height:1.05em;margin:0 0 2.2rem;color:var(--gold-dark);font:400 clamp(2rem,3.2vw,3.8rem)/1 var(--display-font);transition:opacity .35s ease,transform .55s cubic-bezier(.2,.75,.2,1)}
.amenity-journey-images{position:relative;width:100%;height:min(76vh,760px);perspective:1400px}
.amenity-journey-images figure{position:absolute;inset:0;margin:0;overflow:hidden;background:#171c32;box-shadow:0 35px 90px rgba(20,25,49,.18);opacity:0;transform:translate3d(7%,20%,0) rotate(3deg) scale(.92);transform-origin:50% 100%;transition:opacity .75s ease,transform 1.05s cubic-bezier(.18,.78,.18,1);pointer-events:none;will-change:transform,opacity}
.amenity-journey-images figure.is-active{z-index:3;opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}
.amenity-journey-images figure.is-before{z-index:4;opacity:0;transform:translate3d(-18%,-110%,80px) rotate(-7deg) scale(.96)}
.amenity-journey-images figure.is-after{z-index:1}
.amenity-journey-images img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s cubic-bezier(.18,.78,.18,1),filter .8s ease;filter:saturate(.88)}
.amenity-journey-images figure.is-active img{transform:scale(1);filter:saturate(1)}
.amenity-journey-images figure:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(7,11,27,.78),transparent)}
.amenity-journey-images figcaption{position:absolute;z-index:2;left:clamp(24px,4vw,58px);bottom:clamp(24px,4vw,52px);color:#fff;font:400 clamp(2.8rem,5vw,6rem)/.9 var(--display-font)}
.amenity-journey-images figcaption small{display:block;margin-bottom:.8rem;color:var(--gold);font:800 .7rem/1.2 var(--body-font);letter-spacing:.14em;text-transform:uppercase}
.amenity-journey-progress{position:absolute;z-index:15;right:0;bottom:clamp(24px,4vh,48px);left:0;height:2px;background:rgba(33,38,66,.14)}
.amenity-journey-progress span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(.125);transform-origin:left;transition:transform .6s cubic-bezier(.2,.75,.2,1)}
@media(max-width:980px){.amenity-journey-sticky{grid-template-columns:minmax(250px,.7fr) minmax(390px,1.3fr);gap:40px}.amenity-journey-copy h2{font-size:clamp(3.4rem,7vw,5.3rem)}}
@media(max-width:760px){.amenity-journey{height:auto;padding:90px 0}.amenity-journey-sticky{position:relative;height:auto;display:block;overflow:visible}.amenity-journey-copy{margin-bottom:42px}.amenity-journey-copy h3,.amenity-journey-copy .button,.amenity-journey-progress{display:none}.amenity-journey-images{height:auto;display:grid;gap:22px}.amenity-journey-images figure,.amenity-journey-images figure.is-active,.amenity-journey-images figure.is-before,.amenity-journey-images figure.is-after{position:relative;inset:auto;height:min(116vw,590px);opacity:1;transform:none}.amenity-journey-images figure:nth-child(5){margin-top:80px}.amenity-journey-images figure:nth-child(5):before{content:"Nexus Square Amenities";position:absolute;z-index:5;left:0;bottom:calc(100% + 25px);color:var(--navy);font:400 clamp(2.8rem,13vw,4.5rem)/.9 var(--display-font)}.amenity-journey-images figcaption{font-size:clamp(2.4rem,11vw,4rem)}}

/* v3.7.1: cinematic expanding amenities gallery. */
.cinema-amenities{padding:clamp(90px,9vw,145px) 0;background:#11162e;color:#fff;overflow:hidden}
.cinema-amenities-head{margin-bottom:clamp(38px,5vw,70px);display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
.cinema-amenities-head h2{margin:.55rem 0 0;color:#fff;font-size:clamp(3.4rem,6.2vw,6.5rem);line-height:.9}
.amenity-tabs{padding:5px;display:inline-flex;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.035)}
.amenity-tabs button{min-width:150px;padding:14px 22px;border:0;background:transparent;color:rgba(255,255,255,.62);font:700 .69rem/1 var(--body-font);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:color .4s ease,background .4s ease}
.amenity-tabs button.is-active{background:var(--gold);color:var(--navy-deep)}
.cinema-amenity-stage{position:relative;height:min(54vw,690px)}
.cinema-gallery{position:absolute;inset:0;width:100%;height:100%;padding:0 max(22px,calc((100vw - 1500px)/2));display:flex;gap:10px;opacity:0;transform:translate3d(0,24px,0) scale(.992);pointer-events:none;transition:opacity .65s ease,transform .75s cubic-bezier(.2,.75,.2,1)}
.cinema-gallery.is-active{opacity:1;transform:translate3d(0,0,0) scale(1);pointer-events:auto}
.cinema-panel{position:relative;flex:0 0 clamp(74px,7vw,112px);min-width:0;overflow:hidden;cursor:pointer;background:#1e2541;transition:flex-basis 1s cubic-bezier(.18,.78,.18,1),filter .65s ease;filter:saturate(.68)}
.cinema-panel.is-active{flex-basis:calc(100% - clamp(370px,36vw,560px));filter:saturate(1)}
.cinema-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,27,.18),rgba(7,11,27,.02) 45%,rgba(7,11,27,.54)),linear-gradient(0deg,rgba(7,11,27,.72),transparent 52%)}
.cinema-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.35s cubic-bezier(.18,.78,.18,1)}
.cinema-panel.is-active img{transform:scale(1)}
.cinema-panel>span{position:absolute;z-index:2;left:50%;bottom:1.3rem;transform:translateX(-50%);color:var(--gold-soft);font-family:var(--display-font);font-size:1rem;transition:left .7s ease,transform .7s ease}
.cinema-panel>h3{position:absolute;z-index:2;left:50%;bottom:4.3rem;margin:0;color:#fff;font-family:var(--display-font);font-size:clamp(1.35rem,2vw,2.4rem);font-weight:400;line-height:1;white-space:nowrap;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);transition:all .75s cubic-bezier(.2,.75,.2,1)}
.cinema-panel.is-active>span{left:clamp(1.5rem,3vw,3rem);transform:none}.cinema-panel.is-active>h3{left:clamp(1.5rem,3vw,3rem);bottom:clamp(3.5rem,6vw,6rem);font-size:clamp(2.8rem,5vw,5.7rem);white-space:normal;writing-mode:horizontal-tb;transform:none}
.cinema-amenity-cta{flex:0 0 clamp(120px,12vw,180px);padding:1.4rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border:1px solid rgba(212,176,51,.55);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.11em;line-height:1.5;text-transform:uppercase;transition:background .4s,color .4s}.cinema-amenity-cta:hover{background:var(--gold);color:var(--navy)}.cinema-amenity-cta b{font-size:1.4rem;font-weight:400}
@media(max-width:980px){.cinema-amenities-head{align-items:flex-start;flex-direction:column}.cinema-amenity-stage{height:620px}.cinema-panel{flex-basis:70px}.cinema-panel.is-active{flex-basis:calc(100% - 360px)}.cinema-amenity-cta{flex-basis:130px}}
@media(max-width:700px){.amenity-tabs{width:100%}.amenity-tabs button{min-width:0;width:50%;padding-inline:10px}.cinema-amenity-stage{height:calc(min(115vw,540px) + 330px)}.cinema-gallery{padding-inline:18px;display:grid;gap:8px}.cinema-panel,.cinema-panel.is-active{height:72px;flex-basis:auto;transition:height .8s cubic-bezier(.18,.78,.18,1)}.cinema-panel.is-active{height:min(115vw,540px)}.cinema-panel>h3{left:3.3rem;bottom:50%;writing-mode:horizontal-tb;transform:translateY(50%);font-size:1.45rem}.cinema-panel>span{left:1.1rem;bottom:50%;transform:translateY(50%)}.cinema-panel.is-active>h3{left:1.4rem;bottom:3.8rem;font-size:clamp(2.4rem,11vw,4rem)}.cinema-panel.is-active>span{left:1.4rem;bottom:1.5rem}.cinema-amenity-cta{min-height:90px;flex-basis:auto;flex-direction:row;align-items:center}}

/* v3.8.0: scroll-led two-project story inspired by supplied motion reference. */
.project-scroll-story{height:220svh;position:relative;background:#f4f0e7;color:var(--navy)}
.project-story-sticky{height:100svh;position:sticky;top:0;overflow:hidden}
.project-story-line{position:absolute;z-index:0;left:-4vw;right:-4vw;top:18%;height:2px;background:var(--gold);opacity:.72;transform:rotate(calc(-2deg + (var(--project-progress,0) * 4deg)));transform-origin:center;transition:transform .12s linear}
.project-story-counter{position:absolute;z-index:4;left:max(28px,calc((100vw - 1240px)/2));top:21%;display:grid;color:var(--navy)}
.project-story-counter small{font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.project-story-counter strong{color:var(--gold);font-family:var(--display-font);font-size:clamp(4.8rem,8vw,8.5rem);font-weight:400;line-height:.82}.project-story-counter span{margin:.45rem 0 0 .35rem;font-size:.7rem;font-weight:700;letter-spacing:.12em}
.project-story-visuals{position:absolute;left:max(130px,calc((100vw - 1120px)/2));top:12%;width:min(39vw,570px);height:76%;perspective:1200px}
.project-story-image{position:absolute;inset:0;margin:0;overflow:hidden;border:8px solid #f4f0e7;box-shadow:0 30px 80px rgba(19,24,49,.2);transform-origin:50% 100%;will-change:transform,opacity}
.project-story-image img{width:100%;height:100%;object-fit:cover}
.project-story-image-creek{z-index:2;transform:translate3d(calc(var(--project-progress,0) * -28vw),calc(var(--project-progress,0) * -112%),0) rotate(calc(-3deg - (var(--project-progress,0) * 7deg)));opacity:calc(1 - (var(--project-progress,0) * 1.35))}
.project-story-image-square{z-index:1;transform:translate3d(calc((1 - var(--project-progress,0)) * 15vw),calc((1 - var(--project-progress,0)) * 85%),0) rotate(calc(4deg + ((1 - var(--project-progress,0)) * 5deg))) scale(calc(.92 + (var(--project-progress,0) * .08)));opacity:calc(.28 + (var(--project-progress,0) * .72))}
.project-story-copy{position:absolute;z-index:5;left:56%;right:max(28px,calc((100vw - 1240px)/2));top:50%;max-width:620px;will-change:transform,opacity}
.project-story-copy h3{margin:0 0 .8rem;color:var(--gold);font:800 clamp(.68rem,.85vw,.82rem)/1.5 var(--body-font);letter-spacing:.1em;text-transform:uppercase}
.project-story-copy h2{margin:0 0 1.35rem;font-size:clamp(3.8rem,6.5vw,7rem);line-height:.82}
.project-story-copy p{margin:0;color:#656875;font-size:clamp(.78rem,.9vw,.94rem);line-height:1.72}
.project-story-creek{transform:translateY(calc(-50% - (var(--project-progress,0) * 90px)));opacity:calc(1 - (var(--project-progress,0) * 2.25))}
.project-story-square{transform:translateY(calc(-40% + ((1 - var(--project-progress,0)) * 110px)));opacity:clamp(0,calc((var(--project-progress,0) - .44) * 2.4),1);pointer-events:none}.project-scroll-story.is-square .project-story-square{pointer-events:auto}
.project-story-actions{margin-top:1.7rem;display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}.project-map-link{padding:.9rem 0;border-bottom:1px solid rgba(33,38,66,.35);color:var(--navy);font-size:.69rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.project-map-link span{margin-left:.55rem;color:var(--gold)}
@media(max-width:980px){.project-scroll-story{height:auto;padding:100px 24px}.project-story-sticky{height:auto;position:relative;overflow:visible;display:grid;gap:60px}.project-story-line,.project-story-counter{display:none}.project-story-visuals{display:none}.project-story-copy{position:relative;inset:auto;max-width:760px;padding:clamp(28px,6vw,55px);background:#fff;box-shadow:0 22px 60px rgba(19,24,49,.1);transform:none!important;opacity:1!important}.project-story-copy:before{content:"";display:block;height:min(62vw,470px);margin:calc(clamp(28px,6vw,55px)*-1) calc(clamp(28px,6vw,55px)*-1) 2rem;background:center/cover no-repeat}.project-story-creek:before{background-image:url('../images/intro-nexus-creek-bg.webp')}.project-story-square:before{background-image:url('../images/square-home-slide.webp')}}
@media(max-width:600px){.project-scroll-story{padding:75px 18px}.project-story-copy{padding:24px}.project-story-copy:before{height:72vw;margin:-24px -24px 1.6rem}.project-story-copy h2{font-size:clamp(3.2rem,16vw,5rem)}.project-story-copy p{font-size:.82rem}.project-story-actions{align-items:stretch;flex-direction:column}.project-story-actions .button,.project-map-link{width:100%;justify-content:space-between}}

/* v3.8.1: cleaner reference-style layered cards; no line or project counter. */
.project-story-line,.project-story-counter{display:none!important}
@media(min-width:981px){
 .project-story-visuals{left:max(56px,calc((100vw - 1240px)/2));width:min(43vw,610px);perspective:1400px}
 .project-story-visuals:before,.project-story-visuals:after{content:"";position:absolute;inset:2% 4%;border:8px solid #f4f0e7;box-shadow:0 20px 55px rgba(19,24,49,.13);background:center/cover no-repeat;transform-origin:50% 100%;transition:opacity .5s ease}
 .project-story-visuals:before{background-image:url('../images/creek-living-area.jpg');transform:translate(-7%,-5%) rotate(-5deg);opacity:calc(1 - var(--project-progress,0))}
 .project-story-visuals:after{z-index:0;background-image:url('../images/square-living.webp');transform:translate(8%,-3%) rotate(5deg);opacity:var(--project-progress,0)}
 .project-story-image-creek{transform:translate3d(calc(var(--project-progress,0) * -20vw),calc(var(--project-progress,0) * -118%),calc(var(--project-progress,0) * 120px)) rotate(calc(-2deg - (var(--project-progress,0) * 8deg)))}
 .project-story-image-square{transform:translate3d(calc((1 - var(--project-progress,0)) * 9vw),calc((1 - var(--project-progress,0)) * 92%),calc((1 - var(--project-progress,0)) * -100px)) rotate(calc(2deg + ((1 - var(--project-progress,0)) * 7deg))) scale(calc(.91 + (var(--project-progress,0) * .09)))}
}

/* v3.6.3: keep every collapsed-panel title fully visible. */
@media(min-width:761px){
 .process-slide>button strong{
   top:4.2rem;bottom:1.4rem;left:50%;display:flex;align-items:center;justify-content:flex-start;
   max-height:calc(100% - 5.6rem);white-space:nowrap;writing-mode:vertical-rl;
   transform:translateX(-50%) rotate(180deg);line-height:1.05;
 }
}

/* v3.6.5: seamless hand-off between the Creek and Square property journeys. */
@media(min-width:981px){
 .square-property-options{margin-top:-1px}
 .square-property-options .horizontal-heading{padding-top:clamp(34px,5vh,54px)}
 .horizontal-sticky{transform:translateZ(0);backface-visibility:hidden;contain:paint}
}
@media(max-width:760px){
 .process-slide>button strong{
   top:auto;right:1rem;left:3.4rem;bottom:50%;display:block;max-height:none;writing-mode:horizontal-tb;
   transform:translateY(50%);white-space:normal;line-height:1.1;
 }
}

/* v3.9.14: refined homepage amenities, dual project maps, client visits and sitemap. */
.amenity-journey{height:360svh}
.amenity-journey-sticky{grid-template-columns:minmax(280px,.78fr) minmax(460px,1.22fr);gap:clamp(45px,7vw,105px)}
.amenity-journey-copy h2{max-width:440px;font-size:clamp(3.35rem,5vw,5.3rem);line-height:.92}
.amenity-journey-copy h3{font-size:clamp(1.75rem,2.5vw,3rem)}
.amenity-journey-images{height:min(62vh,590px)}
.amenity-journey-images figure{border-radius:0;box-shadow:0 26px 65px rgba(20,25,49,.14)}
.amenity-journey-images figcaption{font-size:clamp(2.2rem,3.8vw,4.4rem)}

.project-locations{padding:clamp(90px,9vw,140px) 0;background:#f3efe6;color:var(--navy)}
.project-locations-head{margin-bottom:clamp(42px,5vw,70px);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(40px,7vw,110px);align-items:end}
.project-locations-head h2{max-width:820px;margin:.7rem 0 0;font-size:clamp(3rem,5vw,5.5rem);line-height:.94}
.project-locations-head>p{max-width:470px;margin:0;color:#6d7080;font-size:.96rem;line-height:1.75}
.project-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.project-map-card{margin:0;background:#fff;overflow:hidden}
.project-map-card .map-wrap,.project-map-card .map-wrap iframe{min-height:420px;height:420px}
.project-map-meta{padding:25px 28px 27px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.project-map-meta span{color:var(--gold-dark);font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.project-map-meta h3{margin:.35rem 0 0;font-size:clamp(2rem,2.6vw,3rem);line-height:1}
.project-map-meta a{padding:.7rem 0;border-bottom:1px solid rgba(33,38,66,.28);color:var(--navy);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

.client-visits{padding:clamp(90px,10vw,150px) 0;background:#11162e;color:#fff;overflow:hidden}
.client-visits-head{margin-bottom:clamp(42px,5vw,70px);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(45px,8vw,120px);align-items:end}
.client-visits-head h2{max-width:760px;margin:.7rem 0 0;color:#fff;font-size:clamp(3.3rem,5.5vw,6rem);line-height:.91}
.client-visits-head>div:last-child{max-width:500px;justify-self:end}
.client-visits-head>div:last-child>p{margin:0;color:rgba(255,255,255,.65);font-size:.96rem;line-height:1.75}
.client-visit-controls{margin-top:28px;display:flex;align-items:center;gap:18px}
.client-visit-controls button{width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:transparent;color:#fff;font-size:1.15rem;cursor:pointer;transition:.3s ease}
.client-visit-controls button:hover{border-color:var(--gold);background:var(--gold);color:var(--navy)}
.client-visit-controls span{font-size:.68rem;letter-spacing:.12em}.client-visit-controls b{color:var(--gold);font-weight:700}
.client-visits-viewport{width:min(100% - 40px,1440px);margin-left:max(20px,calc((100vw - 1240px)/2));overflow:hidden}
.client-visits-track{display:flex;gap:18px;transition:transform .85s cubic-bezier(.18,.78,.18,1);will-change:transform}
.client-visits-track figure{position:relative;flex:0 0 min(72vw,880px);height:clamp(360px,46vw,620px);margin:0;overflow:hidden;background:#202640}
.client-visits-track figure:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(7,11,27,.78),transparent)}
.client-visits-track img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.75,.2,1)}
.client-visits-track figure:hover img{transform:scale(1.035)}
.client-visits-track figcaption{position:absolute;z-index:2;left:clamp(24px,4vw,50px);bottom:clamp(24px,4vw,46px);color:#fff;font:400 clamp(2rem,3.5vw,4rem)/1 var(--display-font)}
.client-visits-track figcaption span{display:block;margin-bottom:.65rem;color:var(--gold);font:800 .7rem/1 var(--body-font);letter-spacing:.14em}

.footer-top{grid-template-columns:1.25fr .72fr 1fr .8fr;gap:clamp(35px,5vw,75px);align-items:start}
.footer-top>div{min-width:0}.footer-top .footer-links a{margin-bottom:13px}
.footer-visit p{margin-top:0}.footer-top .back-top{position:fixed;right:24px;bottom:24px;z-index:80}

@media(max-width:980px){
 .project-locations-head,.client-visits-head{grid-template-columns:1fr;gap:28px}
 .client-visits-head>div:last-child{justify-self:start}
 .project-map-card .map-wrap,.project-map-card .map-wrap iframe{min-height:350px;height:350px}
 .footer-top{grid-template-columns:1fr 1fr 1fr}
 .footer-brand{grid-column:1/-1}
}
@media(max-width:700px){
 .amenity-journey{height:auto}.amenity-journey-images{height:auto}
 .project-map-grid{grid-template-columns:1fr}.project-map-card .map-wrap,.project-map-card .map-wrap iframe{min-height:310px;height:310px}
 .project-map-meta{padding:21px 20px}.client-visits-viewport{width:calc(100% - 20px);margin-left:20px}
 .client-visits-track figure{flex-basis:calc(100vw - 40px);height:min(112vw,520px)}
 .footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-visit{grid-column:1/-1}
}

/* Homepage gallery project switch. */
.home-project-gallery .gallery-title{align-items:end}
.home-project-gallery .gallery-intro{max-width:620px}
.home-project-gallery .gallery-intro>p{margin:0}
.project-gallery-switch{margin-top:24px;display:inline-flex;border:1px solid rgba(33,38,66,.22)}
.project-gallery-switch button{padding:13px 20px;border:0;border-right:1px solid rgba(33,38,66,.18);background:transparent;color:var(--navy);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .3s ease,color .3s ease}
.project-gallery-switch button:last-child{border-right:0}
.project-gallery-switch button.is-active{background:var(--navy);color:#fff}
.home-project-gallery .gallery-grid[hidden]{display:none!important}
.home-project-gallery .gallery-grid.is-active{animation:galleryPanelIn .7s cubic-bezier(.2,.75,.2,1) both}
@keyframes galleryPanelIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:700px){.project-gallery-switch{display:flex}.project-gallery-switch button{flex:1;padding-inline:10px}.home-project-gallery .gallery-intro{width:100%}}

/* v3.9.15: leadership and certificate showcase. */
.about-leadership{padding:clamp(95px,10vw,155px) 0;background:#f3efe6;color:var(--navy)}
.about-leadership-head{margin-bottom:clamp(45px,6vw,85px);display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(45px,8vw,125px);align-items:end}
.about-leadership-head h2{margin:.75rem 0 0;font-size:clamp(3.2rem,5.4vw,6rem);line-height:.92}.about-leadership-head h2 em{color:var(--gold-dark);font-weight:400}
.about-leadership-head>p{max-width:480px;margin:0;color:#666a78;font-size:.96rem;line-height:1.75}
.leadership-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.leadership-grid article{background:#fff;transition:transform .45s ease,box-shadow .45s ease}.leadership-grid article:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(20,25,49,.12)}
.leadership-grid figure{height:clamp(320px,30vw,480px);margin:0;overflow:hidden;background:#d9d6ce}.leadership-grid img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s cubic-bezier(.2,.75,.2,1)}.leadership-grid article:hover img{transform:scale(1.035)}
.leadership-grid article>div{padding:23px 22px 26px}.leadership-grid span{color:var(--gold-dark);font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.leadership-grid h3{margin:.45rem 0 0;font-size:clamp(1.55rem,2vw,2.25rem);line-height:1.05}
.about-certificates{padding:clamp(100px,11vw,170px) 0;background:#11162e;color:#fff;overflow:hidden}
.certificates-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(70px,10vw,160px);align-items:center}.certificates-copy h2{margin:.7rem 0 1.7rem;color:#fff;font-size:clamp(3.2rem,5.2vw,5.8rem);line-height:.92}.certificates-copy>p:not(.eyebrow){color:rgba(255,255,255,.65);font-size:.95rem;line-height:1.75}.certificates-copy .button{margin-top:1.5rem}
.certificate-stack{position:relative;height:min(52vw,650px);perspective:1300px}.certificate-stack figure{position:absolute;inset:7% 8%;margin:0;padding:12px;background:#fff;box-shadow:0 35px 75px rgba(0,0,0,.35);transition:transform .8s cubic-bezier(.2,.75,.2,1)}.certificate-stack figure:nth-child(1){z-index:3;transform:rotate(-2deg)}.certificate-stack figure:nth-child(2){z-index:2;transform:translate(8%,-4%) rotate(5deg)}.certificate-stack figure:nth-child(3){z-index:1;transform:translate(-8%,5%) rotate(-7deg)}.certificate-stack:hover figure:nth-child(1){transform:translateX(-8%) rotate(-5deg)}.certificate-stack:hover figure:nth-child(2){transform:translateX(18%) rotate(7deg)}.certificate-stack:hover figure:nth-child(3){transform:translate(-17%,8%) rotate(-9deg)}.certificate-stack img{width:100%;height:100%;object-fit:contain;background:#fff}
.certificates-hero{min-height:78svh;padding:clamp(170px,19vw,260px) 0 clamp(80px,9vw,125px);display:flex;align-items:flex-end;background:radial-gradient(circle at 78% 28%,rgba(212,176,51,.18),transparent 26%),#11162e;color:#fff}.certificates-hero h1{max-width:1000px;margin:.8rem 0 1.8rem;color:#fff;font-size:clamp(4rem,7.7vw,8.2rem);line-height:.86}.certificates-hero h1 em{color:var(--gold);font-weight:400}.certificates-hero .section-shell>p:last-child{max-width:650px;color:rgba(255,255,255,.65);font-size:1rem;line-height:1.75}
.certificate-gallery{padding:clamp(95px,10vw,155px) 0}.certificate-gallery>header{margin-bottom:clamp(45px,6vw,80px);display:grid;grid-template-columns:1fr 1fr;gap:25px 80px}.certificate-gallery>header .eyebrow{grid-column:1/-1}.certificate-gallery>header h2{margin:0;font-size:clamp(3.2rem,5.2vw,5.8rem);line-height:.92}.certificate-gallery>header>p:last-child{max-width:430px;margin:0;align-self:end;color:#6d7080;line-height:1.75}
.certificate-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.certificate-gallery-grid a{color:var(--navy)}.certificate-gallery-grid figure{margin:0;padding:12px 12px 0;border:1px solid rgba(33,38,66,.15);background:#fff;transition:transform .4s ease,box-shadow .4s ease}.certificate-gallery-grid a:hover figure{transform:translateY(-8px);box-shadow:0 25px 60px rgba(20,25,49,.14)}.certificate-gallery-grid img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#f4f1ea}.certificate-gallery-grid figcaption{padding:22px 8px 24px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.certificate-gallery-grid figcaption span{color:var(--gold-dark);font-size:.7rem}.certificate-gallery-grid figcaption strong{font-family:var(--display-font);font-size:1.45rem;font-weight:400}.certificate-gallery-grid figcaption i{font-size:.65rem;font-style:normal;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:980px){.about-leadership-head,.certificates-layout,.certificate-gallery>header{grid-template-columns:1fr}.leadership-grid{grid-template-columns:repeat(2,1fr)}.certificate-stack{height:min(85vw,650px)}.certificate-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.leadership-grid,.certificate-gallery-grid{grid-template-columns:1fr}.leadership-grid figure{height:120vw;max-height:520px}.certificate-stack{height:110vw}.certificate-gallery>header .eyebrow{grid-column:auto}.certificate-gallery-grid figcaption{grid-template-columns:auto 1fr}.certificate-gallery-grid figcaption i{grid-column:2}}

/* About page v3.9.23 — compact three-discipline service composition */
.about-disciplines{padding:clamp(78px,7vw,112px) 0;overflow:hidden;background:var(--paper)}
.about-disciplines-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(50px,7vw,110px);align-items:end}
.about-disciplines-head .eyebrow{margin:0 0 18px;color:var(--gold-deep)}
.about-disciplines-head h2{max-width:800px;margin:0;color:var(--navy);font-size:clamp(42px,3.65vw,60px)!important;line-height:1!important}
.about-disciplines-head h2 em{color:var(--gold);font-weight:400}
.about-disciplines-head>div:last-child{max-width:520px;padding-bottom:4px}
.about-disciplines-head>div:last-child>p{margin:0;color:#696d79;font-size:clamp(13px,.88vw,15px)!important;line-height:1.7!important}
.about-disciplines-all{width:fit-content;margin-top:22px;padding-bottom:7px;display:inline-flex;gap:30px;border-bottom:1px solid var(--navy);color:var(--navy);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transition:color .3s ease,border-color .3s ease,gap .35s ease}
.about-disciplines-all:hover{gap:40px;color:var(--gold-deep);border-color:var(--gold)}
.discipline-card-grid{margin-top:clamp(42px,4vw,62px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.discipline-card{min-height:355px;padding:clamp(25px,2.4vw,38px);display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid rgba(33,38,66,.16);background:rgba(255,255,255,.48);transition:transform .5s cubic-bezier(.16,.75,.24,1),border-color .35s ease,box-shadow .5s ease}
.discipline-card::before{content:"";position:absolute;inset:auto -20% -55% 35%;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(212,176,51,.13),transparent 68%);pointer-events:none}
.discipline-card:hover{transform:translateY(-7px);border-color:rgba(212,176,51,.52);box-shadow:0 24px 54px rgba(22,27,50,.1)}
.discipline-card-featured{border-color:var(--navy-deep);background:var(--navy-deep);color:#fff}
.discipline-card-top{display:flex;align-items:flex-start;justify-content:space-between}.discipline-card-top>span{color:var(--gold);font-family:var(--display-font);font-size:14px}.discipline-card-top svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.2;color:var(--gold)}
.discipline-card h3{max-width:340px;margin:clamp(42px,4vw,66px) 0 15px;color:var(--navy);font-family:var(--display-font);font-size:clamp(29px,2.35vw,38px)!important;font-weight:400;line-height:1!important;letter-spacing:-.025em}
.discipline-card-featured h3{color:#fff}.discipline-card>p{max-width:390px;margin:0 0 26px;color:#70727d;font-size:clamp(12px,.8vw,14px)!important;line-height:1.65!important}.discipline-card-featured>p{color:rgba(255,255,255,.62)}
.discipline-card>a{width:fit-content;margin-top:auto;padding-bottom:6px;display:inline-flex;gap:24px;border-bottom:1px solid currentColor;color:var(--navy);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.discipline-card-featured>a{color:var(--gold-soft)}
@media(max-width:980px){.about-disciplines-head{grid-template-columns:1fr;gap:28px}.about-disciplines-head>div:last-child{max-width:700px}.discipline-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discipline-card:first-child{grid-column:1/-1;min-height:320px}.discipline-card{min-height:340px}}
@media(max-width:650px){.about-disciplines{padding:70px 0 78px}.about-disciplines-head h2{font-size:clamp(36px,9.5vw,46px)!important}.discipline-card-grid{margin-top:36px;grid-template-columns:1fr;gap:12px}.discipline-card:first-child{grid-column:auto}.discipline-card,.discipline-card:first-child{min-height:315px;padding:26px}.discipline-card h3{margin-top:38px;font-size:clamp(28px,8.5vw,36px)!important}}

/* About page v3.9.24 — complete supplied content system */
.about-intent{padding:clamp(82px,8vw,124px) 0;background:#f3efe6}.about-intent-head{display:grid;grid-template-columns:.42fr 1.58fr;gap:48px;align-items:start}.about-intent-head .eyebrow{margin:10px 0 0;color:var(--gold-deep)}.about-intent-head h2{max-width:900px;margin:0;color:var(--navy);font-size:clamp(43px,4vw,64px)!important;line-height:1!important}.about-intent-head h2 em{color:var(--gold);font-weight:400}.intent-grid{margin-top:clamp(42px,5vw,70px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(33,38,66,.2);border-bottom:1px solid rgba(33,38,66,.2)}.intent-grid article{min-height:310px;padding:30px clamp(22px,2.7vw,42px) 32px}.intent-grid article:first-child{padding-left:0}.intent-grid article+article{border-left:1px solid rgba(33,38,66,.2)}.intent-grid article>span{color:var(--gold);font-family:var(--display-font);font-size:14px}.intent-grid h3{margin:70px 0 18px;color:var(--navy);font-size:clamp(31px,2.6vw,42px)!important}.intent-grid p{margin:0;color:#6d707d;font-size:clamp(12px,.82vw,14px)!important;line-height:1.7!important}
.about-projects{padding:clamp(82px,8vw,126px) 0;background:var(--paper)}.about-projects-head{display:grid;grid-template-columns:1fr .82fr;gap:clamp(55px,8vw,125px);align-items:end}.about-projects-head .eyebrow{margin:0 0 18px;color:var(--gold-deep)}.about-projects-head h2{max-width:760px;margin:0;color:var(--navy);font-size:clamp(43px,4vw,64px)!important;line-height:1!important}.about-projects-head h2 em{color:var(--gold);font-weight:400}.about-projects-head>p{max-width:650px;margin:0;color:#696d79;font-size:clamp(13px,.86vw,15px)!important;line-height:1.72!important}.project-motion-grid{margin-top:clamp(44px,5vw,72px);display:grid;grid-template-columns:1.06fr .94fr;gap:18px;align-items:start}.project-motion-grid article{height:clamp(460px,42vw,650px);position:relative;overflow:hidden;background:var(--navy)}.project-motion-grid article:nth-child(2){margin-top:clamp(36px,5vw,74px)}.project-motion-grid article::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(8,12,29,.88));z-index:1}.project-motion-grid img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,.75,.24,1)}.project-motion-grid article:hover img{transform:scale(1.055)}.project-motion-grid article>div{position:absolute;z-index:2;left:clamp(24px,3vw,46px);right:clamp(24px,3vw,46px);bottom:clamp(24px,3vw,42px);color:#fff}.project-motion-grid span{color:var(--gold-soft);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.project-motion-grid h3{margin:10px 0 22px;color:#fff;font-size:clamp(39px,4vw,64px)!important}.project-motion-grid a{display:flex;justify-content:space-between;padding-top:15px;border-top:1px solid rgba(255,255,255,.35);color:#fff;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.project-motion-grid b{color:var(--gold-soft);font-weight:400}
.about-leadership-v2{padding:clamp(82px,8vw,125px) 0}.about-leadership-v2 .about-leadership-head{margin-bottom:clamp(42px,5vw,68px)}.about-leadership-v2 .about-leadership-head h2{max-width:840px;font-size:clamp(43px,4vw,64px)!important;line-height:1!important}.about-leadership-v2 .about-leadership-head>p{max-width:610px;font-size:clamp(13px,.86vw,15px)!important;line-height:1.7!important}.leadership-grid-v2{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.leadership-grid-v2 article{grid-column:span 4;display:flex;flex-direction:column}.leadership-grid-v2 article:nth-child(1),.leadership-grid-v2 article:nth-child(2){grid-column:span 6}.leadership-grid-v2 figure{height:clamp(350px,30vw,500px)}.leadership-grid-v2 article>div{height:100%;display:flex;flex-direction:column}.leadership-grid-v2 article>div p{margin:16px 0 0;color:#737682;font-size:clamp(12px,.78vw,13px)!important;line-height:1.65!important}.leadership-grid-v2 .leadership-role-card img{filter:saturate(.72);object-position:center}.leadership-cta{margin-top:30px;display:flex;justify-content:flex-end}
.about-contact{padding:clamp(82px,8vw,126px) 0;background:var(--navy-deep);color:#fff}.about-contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(55px,8vw,120px);align-items:center}.about-contact-copy .eyebrow{color:var(--gold-soft)}.about-contact-copy h2{max-width:660px;margin:18px 0 26px;color:#fff;font-size:clamp(43px,4vw,64px)!important;line-height:1!important}.about-contact-copy h2 em{color:var(--gold-soft);font-weight:400}.about-contact-copy>p{max-width:570px;margin:0;color:rgba(255,255,255,.65);font-size:clamp(13px,.88vw,15px)!important;line-height:1.72!important}.about-contact-copy .button{margin-top:28px}.about-contact-form{min-height:0;background:#f3efe6;color:var(--navy)}
.about-faq{padding:clamp(82px,8vw,126px) 0;background:#f3efe6}.about-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(55px,8vw,120px);align-items:start}.about-faq .eyebrow{margin:0 0 18px;color:var(--gold-deep)}.about-faq h2{max-width:560px;margin:0;color:var(--navy);font-size:clamp(43px,4vw,62px)!important;line-height:1!important}.about-faq .faq-list{margin:0}.about-faq .faq-list summary{font-size:clamp(20px,1.65vw,27px)!important;line-height:1.18!important}.about-faq .faq-list details p{font-size:clamp(13px,.84vw,15px)!important;line-height:1.7!important}
@media(max-width:980px){.about-intent-head,.about-projects-head,.about-contact-grid,.about-faq-grid{grid-template-columns:1fr;gap:30px}.intent-grid{grid-template-columns:1fr}.intent-grid article,.intent-grid article:first-child{min-height:0;padding:28px 0}.intent-grid article+article{border-left:0;border-top:1px solid rgba(33,38,66,.2)}.intent-grid h3{margin:25px 0 12px}.project-motion-grid{grid-template-columns:1fr 1fr}.project-motion-grid article{height:520px}.leadership-grid-v2 article,.leadership-grid-v2 article:nth-child(1),.leadership-grid-v2 article:nth-child(2){grid-column:span 6}.about-contact-copy{max-width:720px}}
@media(max-width:650px){.about-intent,.about-projects,.about-leadership-v2,.about-contact,.about-faq{padding:70px 0 78px}.about-intent-head h2,.about-projects-head h2,.about-leadership-v2 .about-leadership-head h2,.about-contact-copy h2,.about-faq h2{font-size:clamp(36px,9.5vw,46px)!important}.project-motion-grid{grid-template-columns:1fr;gap:12px}.project-motion-grid article,.project-motion-grid article:nth-child(2){height:min(120vw,540px);margin-top:0}.leadership-grid-v2{grid-template-columns:1fr}.leadership-grid-v2 article,.leadership-grid-v2 article:nth-child(1),.leadership-grid-v2 article:nth-child(2){grid-column:1}.leadership-grid-v2 figure{height:min(124vw,520px)}.leadership-cta{justify-content:flex-start}.about-contact-form{padding:28px 22px}.about-faq-grid{gap:38px}}

/* About page v3.9.25 — reference-aligned leadership cards */
.about-leadership-v2{padding:clamp(78px,7vw,108px) 0;background:#f3efe6}
.about-leadership-v2 .about-leadership-head{margin-bottom:clamp(38px,4vw,58px);grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(48px,7vw,105px);align-items:end}
.about-leadership-v2 .about-leadership-head .eyebrow{margin:0 0 16px;color:var(--gold-deep)}
.about-leadership-v2 .about-leadership-head h2{max-width:800px;margin:0;color:var(--navy);font-size:clamp(41px,3.75vw,60px)!important;line-height:1!important}
.about-leadership-v2 .about-leadership-head h2 em{color:var(--navy);font-style:normal;font-weight:400}
.about-leadership-v2 .about-leadership-head>p{max-width:520px;margin:0;padding-bottom:3px;color:#6d707d;font-size:clamp(12px,.82vw,14px)!important;line-height:1.65!important}
.about-leadership-v2 .leadership-grid-v2{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.about-leadership-v2 .leadership-grid-v2 article,.about-leadership-v2 .leadership-grid-v2 article:nth-child(1),.about-leadership-v2 .leadership-grid-v2 article:nth-child(2){grid-column:auto;min-width:0;background:#fff;box-shadow:none}
.about-leadership-v2 .leadership-grid-v2 figure{height:clamp(310px,25vw,430px);margin:0;background:#e6e1d8}
.about-leadership-v2 .leadership-grid-v2 img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:none}
.about-leadership-v2 .leadership-grid-v2 article>div{min-height:210px;padding:21px 17px 23px;background:#fff}
.about-leadership-v2 .leadership-grid-v2 span{color:var(--navy);font-size:8px;font-weight:800;letter-spacing:.1em}
.about-leadership-v2 .leadership-grid-v2 h3{margin:7px 0 13px;color:var(--navy);font-size:clamp(24px,1.75vw,30px)!important;line-height:1.02!important}
.about-leadership-v2 .leadership-grid-v2 article>div p{margin:0;color:#777985;font-size:11px!important;line-height:1.55!important}
.about-leadership-v2 .leadership-grid-v2 article:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(24,29,52,.1)}
.about-leadership-v2 .leadership-cta{margin-top:26px}
@media(max-width:1180px){.about-leadership-v2 .leadership-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))}.about-leadership-v2 .leadership-grid-v2 figure{height:430px}}
@media(max-width:820px){.about-leadership-v2 .about-leadership-head{grid-template-columns:1fr;gap:25px}.about-leadership-v2 .leadership-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.about-leadership-v2 .leadership-grid-v2 figure{height:min(62vw,430px)}}
@media(max-width:540px){.about-leadership-v2 .leadership-grid-v2{grid-template-columns:1fr}.about-leadership-v2 .leadership-grid-v2 figure{height:min(125vw,520px)}.about-leadership-v2 .leadership-grid-v2 article>div{min-height:0}.about-leadership-v2 .about-leadership-head h2{font-size:clamp(36px,9.5vw,46px)!important}}

/* About page v3.9.26 — project and leadership alignment corrections */
.about-projects .project-motion-grid{align-items:stretch}
.about-projects .project-motion-grid article,
.about-projects .project-motion-grid article:nth-child(2){height:clamp(470px,42vw,650px);margin-top:0}
.about-leadership-v2{padding-bottom:clamp(70px,6vw,92px)}
.about-leadership-v2 .leadership-grid-v2{align-items:start}
.about-leadership-v2 .leadership-grid-v2 article,
.about-leadership-v2 .leadership-grid-v2 article:nth-child(1),
.about-leadership-v2 .leadership-grid-v2 article:nth-child(2){height:auto;align-self:start;display:block}
.about-leadership-v2 .leadership-grid-v2 article>div{height:auto;min-height:235px;display:block;padding:20px 17px 22px}
.about-leadership-v2 .leadership-grid-v2 article>div p{margin-top:12px}
.about-leadership-v2 .leadership-cta{margin-top:24px;justify-content:center}
@media(max-width:1180px){.about-leadership-v2 .leadership-grid-v2 article>div{min-height:210px}}
@media(max-width:650px){.about-projects .project-motion-grid article,.about-projects .project-motion-grid article:nth-child(2){height:min(120vw,540px)}.about-leadership-v2 .leadership-grid-v2 article>div{min-height:0}.about-leadership-v2 .leadership-cta{justify-content:flex-start}}

/* About page v3.9.27 — centered Mission & Values heading */
.about-intent .about-intent-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  text-align:center;
}
.about-intent .about-intent-head .eyebrow{
  margin:0 0 18px;
  color:var(--gold-deep);
}
.about-intent .about-intent-head h2{
  width:100%;
  max-width:940px;
  margin:0 auto;
}
@media(max-width:650px){
  .about-intent .about-intent-head .eyebrow{margin-bottom:14px}
  .about-intent .about-intent-head h2{max-width:560px}
}
