:root {
  --nce-ink: #062d6b;
  --nce-ink-2: #263542;
  --nce-ivory: #f7f6f2;
  --nce-paper: #ffffff;
  --nce-sand: #d8c6a3;
  --nce-stone: #263542;
  --nce-green: #10c7c7;
  --nce-ocean: #10c7c7;
  --nce-brass: #d8c6a3;
  --nce-error: #a53a3a;
  --nce-success: #277a58;
  --nce-attention: #a86d15;
  --nce-display: Manrope, Arial, Helvetica, sans-serif;
  --nce-editorial: Newsreader, Georgia, serif;
  --nce-sans: Manrope, Arial, Helvetica, sans-serif;
  --nce-space-1: .375rem;
  --nce-space-2: .75rem;
  --nce-space-3: 1.125rem;
  --nce-space-4: 1.75rem;
  --nce-space-5: 2.75rem;
  --nce-space-6: 4.5rem;
  --nce-space-7: clamp(5.5rem, 10vw, 10rem);
  --nce-shell: min(88rem, calc(100vw - 3rem));
  --nce-reading: 47rem;
  --nce-border: rgba(6, 45, 107, .14);
  --nce-shadow: 0 24px 70px rgba(6, 45, 107, .12);
  color-scheme: light;
}

/* Property reels: a deliberate, editorial vertical-video discovery experience. */
.nce-home-reels{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);min-height:680px;background:#062d6b;color:#f7f6f2;overflow:hidden}.nce-home-reels__media{position:relative;min-height:680px}.nce-home-reels__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(6,45,107,.72))}.nce-home-reels__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.nce-home-reels__media>span{position:absolute;z-index:1;left:50%;top:50%;display:grid;place-items:center;width:88px;height:88px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(6,45,107,.28);backdrop-filter:blur(8px);transform:translate(-50%,-50%);font-size:1.35rem;padding-left:4px}.nce-home-reels__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(48px,7vw,120px);max-width:760px}.nce-home-reels__copy h2{max-width:680px;margin:18px 0 24px;font-size:clamp(3rem,5vw,6.25rem);line-height:.94;color:#fff}.nce-home-reels__copy>p:not(.nce-eyebrow){max-width:560px;margin:0 0 34px;color:rgba(255,255,255,.74);font-size:1.12rem;line-height:1.7}.nce-home-reels__copy .nce-eyebrow{color:#d8c6a3}
.nce-reels-page{--reel-ink:#0c1e1b;--reel-gold:#d8c6a3;background:var(--reel-ink);color:#fff}.nce-reels-intro{position:relative;z-index:2;padding:clamp(48px,7vw,96px) 0;background:#f7f6f2;color:#062d6b}.nce-reels-intro__inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);gap:clamp(50px,8vw,140px);align-items:end}.nce-reels-intro h1{max-width:700px;margin:16px 0 20px;font-size:clamp(3.2rem,6vw,7rem);line-height:.89}.nce-reels-intro__inner>div>p:last-child{max-width:600px;font-size:1.08rem;line-height:1.7;color:#53605d}.nce-reels-search{padding:28px;background:#fff;border:1px solid rgba(6,45,107,.15);box-shadow:0 24px 70px rgba(18,28,26,.1)}.nce-reels-search>label{display:block;margin-bottom:12px;font-size:.69rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#64706d}.nce-reels-search>div:first-of-type{display:grid;grid-template-columns:1fr auto}.nce-reels-search input{min-width:0;height:62px;padding:0 20px;border:1px solid #c9cec9;border-right:0;background:#f7f6f2;color:#062d6b;font:inherit;font-size:1rem}.nce-reels-search button[type=submit]{padding:0 24px;border:1px solid #062d6b;background:#062d6b;color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.nce-reels-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.nce-reels-chips button{padding:9px 13px;border:1px solid #d6d5cf;border-radius:99px;background:transparent;color:#40504c;font:inherit;font-size:.74rem;cursor:pointer}.nce-reels-search>p{margin:14px 0 0;color:#7a827f;font-size:.77rem}.nce-reels-browser{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:48px;align-items:center;max-width:1180px;margin:0 auto;padding:70px 40px}.nce-reels-feed{height:min(78vh,850px);max-width:620px;width:100%;margin-left:auto;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;background:#071210;box-shadow:0 38px 100px rgba(0,0,0,.45);outline:0}.nce-reels-feed::-webkit-scrollbar{display:none}.nce-reel{position:relative;isolation:isolate;height:100%;min-height:580px;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:#192623}.nce-reel[hidden]{display:none}.nce-reel video{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.nce-reel__shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(6,15,13,.28) 0%,transparent 35%,rgba(4,12,10,.18) 48%,rgba(4,12,10,.94) 100%)}.nce-reel__top{position:absolute;left:28px;right:28px;top:26px;display:flex;align-items:center;justify-content:space-between}.nce-reel__top>span{font-family:var(--nce-serif,Georgia,serif);font-size:1.1rem}.nce-reel__top button{display:grid;place-items:center;min-width:88px;height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.55);border-radius:99px;background:rgba(10,24,21,.26);backdrop-filter:blur(10px);color:#fff;font:inherit;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.nce-reel__copy{position:absolute;left:clamp(26px,6vw,58px);right:clamp(26px,6vw,58px);bottom:clamp(50px,8vh,86px)}.nce-reel__copy>p{margin:0 0 13px;color:var(--reel-gold);font-size:.68rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.nce-reel__copy h2{max-width:520px;margin:0 0 15px;color:#fff;font-size:clamp(2.1rem,4.1vw,4.2rem);line-height:.96;text-wrap:balance}.nce-reel__copy>span{display:block;margin-bottom:25px;color:rgba(255,255,255,.78);font-size:.88rem}.nce-reel__copy>div{display:flex;align-items:center;gap:22px}.nce-reel__copy .nce-button{padding:15px 18px;background:#d8c6a3;border-color:#d8c6a3;color:#062d6b;font-size:.68rem}.nce-reel__enquire{color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.nce-reel__enquire i{margin-left:7px;font-style:normal}.nce-reel__hint{position:absolute;right:22px;bottom:24px;color:rgba(255,255,255,.56);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;writing-mode:vertical-rl}.nce-reels-rail{align-self:center;color:#fff}.nce-reels-rail>p{margin:0 0 8px;color:#d8c6a3;font-size:.68rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.nce-reels-rail>span{display:block;margin-bottom:24px;font-family:var(--nce-serif,Georgia,serif);font-size:1.65rem}.nce-reels-progress{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0 0 28px}.nce-reels-progress button{width:28px;height:2px;padding:0;border:0;background:rgba(255,255,255,.25);cursor:pointer;transition:width .25s,background .25s}.nce-reels-progress button[aria-current=true]{width:66px;background:#d8c6a3}.nce-reels-rail small{display:block;max-width:150px;color:rgba(255,255,255,.48);font-size:.66rem;line-height:1.6}.nce-reels-empty{height:100%;padding:clamp(40px,8vw,90px);scroll-snap-align:start;background:#f7f6f2;color:#062d6b;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.nce-reels-empty[hidden]{display:none}.nce-reels-empty h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:.95}.nce-reels-empty>p:not(.nce-eyebrow){max-width:480px;line-height:1.7;color:#59635f}.nce-reels-credit{border-top:1px solid rgba(255,255,255,.12);padding:22px 0}.nce-reels-credit p{margin:0;color:rgba(255,255,255,.45);font-size:.68rem}
@media(max-width:900px){.nce-home-reels{grid-template-columns:1fr;min-height:0}.nce-home-reels__media{min-height:56vh}.nce-home-reels__media:after{background:linear-gradient(180deg,transparent 55%,rgba(6,45,107,.7))}.nce-home-reels__copy{padding:54px 26px 70px}.nce-reels-intro__inner{grid-template-columns:1fr;gap:34px}.nce-reels-browser{grid-template-columns:1fr;padding:32px 0 0}.nce-reels-feed{height:calc(100svh - 82px);max-width:none;margin:0}.nce-reels-rail{display:none}.nce-reels-credit{padding-inline:18px}}
@media(max-width:600px){.nce-reels-intro{padding:38px 0}.nce-reels-intro h1{font-size:3.1rem}.nce-reels-search{padding:18px}.nce-reels-search>div:first-of-type{grid-template-columns:1fr}.nce-reels-search input{border-right:1px solid #c9cec9}.nce-reels-search button[type=submit]{height:52px}.nce-reel__copy>div{align-items:flex-start;flex-direction:column;gap:16px}.nce-reel__copy h2{font-size:2.55rem}.nce-reel__hint{display:none}}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
body { margin: 0; background: var(--nce-ivory); color: var(--nce-ink); font-family: var(--nce-sans); font-size: 1rem; line-height: 1.65; text-rendering: optimizeLegibility; }
body.nce-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .22em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--nce-green); outline-offset: 4px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.nce-skip-link { position: fixed; z-index: 9999; left: 1rem; top: -5rem; background: var(--nce-paper); color: var(--nce-ink); padding: .75rem 1rem; }
.nce-skip-link:focus { top: 1rem; }
.nce-shell { width: var(--nce-shell); margin-inline: auto; }
.nce-section { padding-block: var(--nce-space-7); }
.nce-section--ink { color: var(--nce-ivory); background: var(--nce-ink); }
.nce-section--paper { background: var(--nce-paper); }
.nce-section--tight { padding-block: var(--nce-space-6); }

h1, h2, h3, h4 { margin: 0 0 .6em; font-family: var(--nce-display); font-weight: 600; line-height: 1.05; letter-spacing: -.025em; text-wrap: balance; }
h1 { font-size: clamp(3.2rem, 7.5vw, 8rem); }
h2 { font-size: clamp(2.45rem, 5vw, 5.4rem); }
h3 { font-size: clamp(1.55rem, 2.4vw, 2.4rem); }
p { margin: 0 0 1.15em; }
.nce-eyebrow { display: flex; align-items: center; gap: .8rem; margin: 0 0 1rem; color: var(--nce-brass); font-size: .77rem; font-weight: 750; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; }
.nce-eyebrow::before { content: ""; width: 2.2rem; height: 1px; background: currentColor; }
.nce-lede { max-width: 44rem; color: color-mix(in srgb, currentColor 74%, transparent); font-size: clamp(1.08rem, 1.6vw, 1.35rem); line-height: 1.6; }
.nce-kicker { max-width: 40rem; font-size: clamp(1.1rem, 2vw, 1.4rem); }
.nce-prose { max-width: var(--nce-reading); }
.nce-prose > * + * { margin-top: 1.3em; }
.nce-prose h2, .nce-prose h3 { margin-top: 1.4em; }
.nce-prose a { color: var(--nce-green); }

.nce-button { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; gap: .65rem; border: 1px solid var(--nce-ink); border-radius: 0; padding: .82rem 1.3rem; background: var(--nce-ink); color: #fff; font-size: .88rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.nce-button:hover { background: var(--nce-green); border-color: var(--nce-green); color: var(--nce-ink); transform: translateY(-1px); }
.nce-button--small { min-height: 2.75rem; padding: .62rem 1rem; }
.nce-button--ghost { background: transparent; color: currentColor; border-color: color-mix(in srgb, currentColor 34%, transparent); }
.nce-button--ghost:hover { background: var(--nce-ink); color: var(--nce-ivory); }
.nce-section--ink .nce-button--ghost { color: var(--nce-ivory); }
.nce-text-link { display: inline-flex; align-items: center; gap: .75rem; font-weight: 700; color: var(--nce-ink); text-decoration: none; }
.nce-text-link::after { content: "→"; transition: transform .2s ease; }
.nce-text-link:hover::after { transform: translateX(.3rem); }
.nce-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }

.nce-header { position: sticky; z-index: 100; top: 0; height: 5.2rem; color: var(--nce-ink); background: rgba(245, 241, 232, .94); border-bottom: 1px solid transparent; backdrop-filter: blur(16px); transition: height .2s ease, border-color .2s ease; }
.nce-header[data-scrolled] { height: 4.55rem; border-bottom-color: var(--nce-border); }
.nce-header__inner { width: var(--nce-shell); height: 100%; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.nce-brand { display: inline-flex; align-items: center; gap: .8rem; color: inherit; text-decoration: none; }
.nce-brand .custom-logo-link { display: block; }
.nce-brand .custom-logo { width: auto; max-height: 3rem; }
.nce-brand__logo { display: block; width: clamp(13rem, 17vw, 18rem); height: auto; }
.nce-brand__logo--micro { width: clamp(10.5rem, 13vw, 13.5rem); }
.nce-brand__logo--reversed { width: min(20rem, 100%); }
.nce-brand__mark { position: relative; display: grid; width: 2.9rem; aspect-ratio: 1; place-content: center; border: 1px solid currentColor; border-radius: 50%; font-family: var(--nce-display); text-align: center; }
.nce-brand__mark::before { content: ""; position: absolute; inset: .22rem; border: 1px solid currentColor; border-radius: inherit; opacity: .3; }
.nce-brand__mark::after { content: ""; position: absolute; right: .62rem; bottom: .86rem; left: .62rem; height: 1px; background: currentColor; opacity: .65; }
.nce-brand__mark > span { position: relative; z-index: 1; display: block; padding-right: .08em; font-size: .92rem; letter-spacing: -.12em; line-height: .9; }
.nce-brand__mark > i { position: relative; z-index: 1; display: block; margin-top: .42rem; font-family: var(--nce-sans); font-size: .27rem; font-style: normal; font-weight: 780; letter-spacing: .22em; line-height: 1; }
.nce-brand__name { display: flex; align-items: baseline; gap: .48rem; font-family: var(--nce-display); font-size: 1.25rem; line-height: 1; }
.nce-brand__name em { display: block; color: var(--nce-brass); font-family: var(--nce-sans); font-size: .48em; font-style: normal; font-weight: 760; letter-spacing: .22em; text-align: right; text-transform: uppercase; }
.nce-nav { display: flex; align-items: center; gap: 1.25rem; }
.nce-nav__list { display: flex; align-items: center; gap: clamp(.8rem, 2vw, 1.65rem); margin: 0; padding: 0; list-style: none; }
.nce-nav__list a { position: relative; font-size: .86rem; font-weight: 650; text-decoration: none; }
.nce-nav__list a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.35rem; height: 1px; background: var(--nce-green); transition: right .2s ease; }
.nce-nav__list a:hover::after, .nce-nav__list .current-menu-item a::after { right: 0; }
.nce-nav-toggle { display: none; width: 3rem; height: 3rem; border: 0; background: transparent; cursor: pointer; }
.nce-nav-toggle > span:not(.screen-reader-text) { display: block; width: 1.6rem; height: 1px; margin: .32rem auto; background: currentColor; }

.nce-hero { position: relative; min-height: min(52rem, calc(100svh - 5rem)); overflow: hidden; color: var(--nce-ivory); background: var(--nce-ink); isolation: isolate; }
.nce-hero__media { position: absolute; inset: 0; z-index: -2; }
.nce-hero__media img, .nce-hero__media video { width: 100%; height: 100%; object-fit: cover; }
.nce-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(9,27,25,.86) 0%, rgba(9,27,25,.48) 50%, rgba(9,27,25,.18) 78%), linear-gradient(0deg, rgba(9,27,25,.55), transparent 55%); }
.nce-hero--fallback { background: radial-gradient(circle at 82% 24%, rgba(46,96,114,.7), transparent 30%), radial-gradient(circle at 70% 75%, rgba(16,199,199,.9), transparent 38%), var(--nce-ink); }
.nce-hero__content { min-height: inherit; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding-block: clamp(5rem, 9vw, 9rem); }
.nce-hero h1 { max-width: 11ch; }
.nce-hero__content > p:not(.nce-eyebrow) { max-width: 38rem; font-size: clamp(1.05rem, 1.8vw, 1.35rem); color: rgba(245,241,232,.84); }
.nce-hero .nce-button { background: var(--nce-ivory); border-color: var(--nce-ivory); color: var(--nce-ink); }
.nce-hero .nce-button:hover { background: var(--nce-brass); border-color: var(--nce-brass); color: #fff; }
.nce-hero-search { display: grid; grid-template-columns: minmax(9rem,.55fr) minmax(12rem,1fr) minmax(8rem,.45fr) auto; width: min(60rem,100%); margin-top: 1.5rem; background: var(--nce-paper); color: var(--nce-ink); box-shadow: var(--nce-shadow); }
.nce-hero-search label { display: grid; gap: .2rem; padding: .7rem 1rem; border-right: 1px solid var(--nce-border); }
.nce-hero-search label span { color: var(--nce-stone); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.nce-hero-search select, .nce-hero-search input { width: 100%; border: 0; background: transparent; color: var(--nce-ink); outline: 0; }
.nce-hero-search .nce-button { border: 0; background: var(--nce-brass); color: #fff; }

.nce-split-intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(18rem,.55fr); gap: clamp(3rem, 8vw, 9rem); align-items: end; }
.nce-split-intro h2 { max-width: 11ch; }
.nce-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.7rem; }
.nce-section-heading > div { max-width: 52rem; }

.nce-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1.2rem, 2.4vw, 2.25rem); }
.nce-estate-card, .nce-listing-card, .nce-development-card, .nce-journal-card { position: relative; min-width: 0; }
.nce-estate-card > a, .nce-listing-card > a, .nce-development-card > a, .nce-journal-card > a { color: inherit; text-decoration: none; }
.nce-card-media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #d6d2c5; }
.nce-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.nce-estate-card:hover .nce-card-media img, .nce-listing-card:hover .nce-card-media img { transform: scale(1.035); }
.nce-card-media--placeholder { display: grid; place-items: center; background: linear-gradient(135deg, var(--nce-green), var(--nce-ocean)); color: rgba(255,255,255,.7); font-family: var(--nce-display); font-size: 3rem; }
.nce-card-body { padding-block: 1.15rem; border-bottom: 1px solid var(--nce-border); }
.nce-card-body h3 { margin-bottom: .3rem; }
.nce-card-body p { margin-bottom: .4rem; color: rgba(6,45,107,.7); }
.nce-card-meta { display: flex; flex-wrap: wrap; gap: .55rem 1rem; color: rgba(6,45,107,.68); font-size: .84rem; }
.nce-card-status { position: absolute; top: .8rem; left: .8rem; padding: .35rem .55rem; background: rgba(6,45,107,.9); color: #fff; font-size: .67rem; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.nce-card-price { margin: .2rem 0; font-family: var(--nce-display); font-size: 1.65rem; }

.nce-map-frame { position: relative; min-height: 42rem; overflow: hidden; background: #19302e; color: var(--nce-ivory); }
.nce-map-frame[data-map-size="full"] { height: calc(100svh - 4.55rem); min-height: 36rem; }
.nce-map-canvas { position: absolute; inset: 0; }
.nce-map-visual { position: relative; min-width: 0; min-height: 0; overflow: hidden; background: #d9ded8; }
.nce-map-frame[data-map-scope="estate"] .nce-map-visual { background: #ddd6c9; }
.nce-map-canvas[data-map-mode="estate-plan"] { display: grid; place-items: center; overflow: hidden; padding: clamp(.5rem,2vw,2rem); background: radial-gradient(circle at 50% 35%,#f7f1e7 0,#ded5c7 72%,#c9bdac 100%); }
.nce-map-canvas[data-map-mode="estate-plan"][data-plan-zoomed="true"] { display: block; overflow: auto; cursor: grab; scrollbar-color: rgba(6,45,107,.55) rgba(255,255,255,.18); scrollbar-width: thin; }
.nce-map-canvas[data-map-mode="estate-plan"][data-plan-dragging="true"] { cursor: grabbing; user-select: none; }
.nce-estate-plan-stage { position: relative; flex: 0 0 auto; max-width: 100%; max-height: 100%; }
.nce-map-canvas[data-plan-zoomed="true"] .nce-estate-plan-stage { max-width: none; max-height: none; margin-inline: auto; }
.nce-estate-plan-stage > img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 1.2rem 2.2rem rgba(24,38,34,.2)); user-select: none; }
.nce-estate-plan-controls { position: absolute; z-index: 8; top: 1rem; right: 1rem; display: grid; grid-template-columns: 2.7rem minmax(3.5rem,auto) 2.7rem; overflow: hidden; color: var(--nce-ink); background: rgba(251,248,241,.96); border: 1px solid rgba(6,45,107,.16); box-shadow: 0 .8rem 2.3rem rgba(6,45,107,.18); backdrop-filter: blur(12px); }
.nce-estate-plan-controls button { min-height: 2.7rem; padding: 0 .7rem; border: 0; border-right: 1px solid var(--nce-border); color: var(--nce-ink); background: transparent; font: inherit; font-size: .72rem; font-weight: 780; cursor: pointer; }
.nce-estate-plan-controls button:last-child { border-right: 0; }
.nce-estate-plan-controls button:hover,.nce-estate-plan-controls button:focus-visible { color: #fff; background: var(--nce-green); outline: 0; }
.nce-estate-plan-controls button:disabled { color: rgba(6,45,107,.3); background: transparent; cursor: default; }
.nce-estate-plan-pin { position: absolute; z-index: 4; width: 2.15rem; height: 2.15rem; padding: 0; transform: translate(-50%,-50%); color: #fff; background: #d8c6a3; border: 3px solid #f7f6f2; border-radius: 50%; box-shadow: 0 .35rem 1rem rgba(15,33,29,.3); cursor: pointer; }
.nce-estate-plan-pin > i { display: grid; place-items: center; width: 100%; height: 100%; font-style: normal; font-size: .64rem; }
.nce-estate-plan-pin > span { position: absolute; left: 50%; bottom: calc(100% + .45rem); width: max-content; max-width: 14rem; padding: .38rem .55rem; transform: translateX(-50%) translateY(.25rem); color: #fff; background: #062d6b; font-size: .67rem; font-weight: 700; line-height: 1.2; opacity: 0; pointer-events: none; transition: .18s ease; }
.nce-estate-plan-pin:hover > span,.nce-estate-plan-pin:focus-visible > span { transform: translateX(-50%) translateY(0); opacity: 1; }
.nce-estate-plan-pin--poi { background: #10c7c7; }
.nce-estate-plan-pin--development { width: 2.5rem; height: 2.5rem; background: #062d6b; }
.nce-map-plan-empty { position: absolute; z-index: 4; top: 50%; left: 50%; width: min(30rem, calc(100% - 3rem)); display: grid; gap: .75rem; padding: clamp(1.6rem, 4vw, 2.6rem); color: #f4efe5; background: rgba(6,45,107,.94); border: 1px solid rgba(216,183,126,.45); box-shadow: 0 24px 70px rgba(6,45,107,.28); text-align: center; transform: translate(-50%,-50%); pointer-events: none; backdrop-filter: blur(14px); }
.nce-map-plan-empty[hidden] { display: none; }
.nce-map-plan-empty span { color: #d8c6a3; font-size: .58rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.nce-map-plan-empty strong { color: #f7f6f2; font-family: var(--nce-display); font-size: clamp(2rem,4vw,3.15rem); font-weight: 400; line-height: .98; }
.nce-map-plan-empty p { max-width: 34rem; margin: 0 auto; color: rgba(255,250,240,.68); font-size: .82rem; line-height: 1.65; }
.nce-map-drawer { position: absolute; z-index: 5; top: 0; right: 0; width: min(30rem,100%); height: 100%; overflow-y: auto; padding: clamp(1.5rem,3vw,2.4rem); background: var(--nce-paper); color: var(--nce-ink); border-top: 4px solid var(--nce-drawer-accent,var(--nce-green)); box-shadow: -20px 0 50px rgba(0,0,0,.16); transform: translateX(105%); transition: transform .32s cubic-bezier(.2,.8,.2,1); }
.nce-map-drawer[data-open] { transform: none; }
.nce-map-drawer-scrim { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; padding: 0; opacity: 0; pointer-events: none; background: rgba(4,19,42,.18); border: 0; cursor: zoom-out; backdrop-filter: blur(0); transition: opacity .28s ease, backdrop-filter .45s ease; }
.nce-map-frame[data-drawer-open] > .nce-map-drawer-scrim { opacity: 1; pointer-events: auto; backdrop-filter: blur(1.5px); }
.nce-map-drawer__close { display: grid; width: 2.7rem; aspect-ratio: 1; margin-left: auto; place-items: center; border: 1px solid var(--nce-border); background: transparent; cursor: pointer; }
.nce-map-drawer__actions { display: grid; gap: 1rem; margin-top: 1.5rem; }
.nce-map-drawer h2 { margin-top: .3rem; font-size: clamp(2.7rem,5vw,4.6rem); }
.nce-map-drawer [data-drawer-content] > p:not(.nce-eyebrow,.nce-map-geometry-status) { color: rgba(6,45,107,.67); }
.nce-poi-drawer { margin: calc(clamp(1.5rem,3vw,2.4rem) * -1); margin-top: 1rem; }
.nce-poi-drawer__gallery > img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.nce-poi-drawer__strip { display: grid; grid-template-columns: repeat(3,1fr); gap: .25rem; margin-top: .25rem; }
.nce-poi-drawer__strip img { width: 100%; aspect-ratio: 1.25; object-fit: cover; }
.nce-poi-drawer__body { padding: clamp(1.5rem,3vw,2.4rem); }
.nce-poi-drawer__body h2 { margin-bottom: 1rem; }
.nce-poi-drawer__lead { color: var(--nce-ink); font-family: var(--nce-display); font-size: 1.35rem; line-height: 1.25; }
.nce-poi-drawer__description { color: rgba(6,45,107,.68); line-height: 1.7; }
.nce-poi-drawer__facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin: 1.3rem 0; background: var(--nce-border); border: 1px solid var(--nce-border); }
.nce-poi-drawer__facts span { display: grid; gap: .2rem; padding: .9rem; background: var(--nce-paper); }
.nce-poi-drawer__facts small { color: var(--nce-stone); font-size: .58rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.nce-map-geometry-status { margin-top: 1.3rem; padding: .95rem 1.05rem; border-left: 3px solid var(--nce-drawer-accent,var(--nce-green)); background: #ebe8df; color: rgba(6,45,107,.7); font-size: .78rem; }
.nce-maplibregl-ctrl-group { border-radius: 0 !important; box-shadow: 0 5px 20px rgba(0,0,0,.2) !important; }
.nce-map-toolbar { position: absolute; z-index: 7; top: 1rem; left: 1rem; right: 1rem; display: flex; width: fit-content; max-width: calc(100% - 2rem); gap: .4rem; padding: .45rem; color: var(--nce-ink); background: rgba(251,248,241,.96); box-shadow: var(--nce-shadow); backdrop-filter: blur(12px); }
.nce-map-toolbar label { display: grid; min-width: 8.5rem; gap: .1rem; padding: .25rem .55rem; border-right: 1px solid var(--nce-border); }
.nce-map-toolbar label span { color: var(--nce-stone); font-size: .58rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.nce-map-toolbar select { min-height: 1.7rem; border: 0; color: var(--nce-ink); background: transparent; outline: 0; }
.nce-map-toolbar--estate-directory { align-items: stretch; gap: 0; padding: .5rem; border: 1px solid rgba(6,45,107,.13); box-shadow: 0 1rem 3rem rgba(9,29,25,.18); }
.nce-map-toolbar--estate-directory label { min-width: min(22rem,55vw); padding: .35rem .8rem; }
.nce-map-toolbar--estate-directory select { width: 100%; font-family: var(--nce-display); font-size: 1.02rem; }
.nce-map-toolbar__compare { display: inline-flex; min-width: 11.5rem; align-items: center; justify-content: center; gap: .6rem; padding: .65rem 1rem; color: #f7f6f2; background: #062d6b; font-size: .64rem; font-weight: 780; letter-spacing: .06em; line-height: 1.3; text-align: center; text-decoration: none; text-transform: uppercase; transition: background-color .2s ease; }
.nce-map-toolbar__compare:hover { background: #d8c6a3; }
.nce-map-toolbar__compare span { font-size: 1rem; transition: transform .2s ease; }
.nce-map-toolbar__compare:hover span { transform: translateX(.18rem); }
.nce-map-modes { display: flex; padding: .15rem; background: #f7f6f2; }
.nce-map-modes button { border: 0; padding: .45rem .65rem; color: var(--nce-ink); background: transparent; font-size: .7rem; font-weight: 700; cursor: pointer; }
.nce-map-modes button[aria-pressed="true"] { color: #fff; background: var(--nce-green); }
.nce-map-content { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(20rem,33%); }
.nce-map-content .nce-map-canvas { position: absolute; inset: 0; min-width: 0; }
.nce-map-key { position: absolute; z-index: 6; left: 1rem; bottom: 1rem; width: min(28rem,calc(100% - 2rem)); padding: 1rem; color: var(--nce-ink); background: rgba(251,248,241,.96); border: 1px solid rgba(6,45,107,.12); box-shadow: var(--nce-shadow); backdrop-filter: blur(14px); }
.nce-map-key > p { margin: 0 0 .55rem; color: var(--nce-green); font-size: .62rem; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
.nce-map-key > span { display: inline-flex; align-items: center; gap: .45rem; margin-right: 1rem; color: rgba(6,45,107,.66); font-size: .68rem; }
.nce-map-key > span > i { flex: 0 0 auto; display: inline-block; }
.nce-map-key > small { display: block; margin-top: .7rem; padding-top: .65rem; color: rgba(6,45,107,.56); border-top: 1px solid var(--nce-border); font-size: .61rem; line-height: 1.4; }
.nce-map-key__estate { width: 1.3rem; height: .8rem; background: rgba(16,199,199,.32); border: 2px solid #10c7c7; }
.nce-map-key__property { width: .72rem; height: .72rem; background: #d8c6a3; border: 2px solid #f7f6f2; border-radius: 50%; box-shadow: 0 0 0 1px #7e613c; }
.nce-map-key__poi { width: .72rem; height: .72rem; background: #10c7c7; border: 2px solid #f7f6f2; border-radius: 50%; box-shadow: 0 0 0 1px #19302e; }
.nce-map-key nav { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .8rem; padding-top: .75rem; border-top: 1px solid var(--nce-border); }
.nce-map-key nav a { display: inline-flex; align-items: center; gap: .4rem; padding: .38rem .55rem; color: var(--nce-ink); background: #ebe8df; font-size: .68rem; font-weight: 700; text-decoration: none; }
.nce-map-key nav a:hover { color: #fff; background: var(--nce-green); }
.nce-map-key nav i { width: .55rem; height: .55rem; background: var(--estate-colour,#10c7c7); border-radius: 50%; }
.nce-estate-map-popup .maplibregl-popup-content { padding: 0; overflow: hidden; border-radius: 0; box-shadow: 0 12px 35px rgba(8,26,22,.25); }
.nce-estate-map-popup .maplibregl-popup-tip { border-top-color: var(--nce-ink); }
.nce-map-popup-card { display: grid; min-width: 13rem; padding: .8rem 1rem; background: var(--nce-ink); color: #fff; }
.nce-map-popup-card strong { font-family: var(--nce-display); font-size: 1.15rem; font-weight: 400; }
.nce-map-popup-card span { margin-top: .18rem; color: rgba(255,255,255,.66); font-size: .65rem; }
.nce-map-frame[data-transitioning="true"]::after { content: "Opening estate map…"; position: absolute; z-index: 20; inset: 0; display: grid; place-items: center; background: rgba(6,45,107,.72); color: #fff; font-family: var(--nce-display); font-size: clamp(1.8rem,4vw,3.5rem); }
.nce-map-list { min-width: 0; overflow-y: auto; padding: 6rem 1.2rem 2rem; color: var(--nce-ink); background: var(--nce-ivory); border-left: 1px solid var(--nce-border); }
.nce-map-list .nce-card-grid { grid-template-columns: 1fr; }
.nce-map-list__heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.nce-map-list__heading .nce-eyebrow { margin: 0; }
.nce-map-list__heading strong { font-family: var(--nce-display); font-size: 1.8rem; font-weight: 400; }
.nce-map-frame[data-view="map"] .nce-map-content { grid-template-columns: 1fr; }
.nce-map-frame[data-view="map"] .nce-map-list { display: none; }
.nce-map-frame[data-view="list"] .nce-map-content { grid-template-columns: 1fr; }
.nce-map-frame[data-view="list"] .nce-map-visual { display: none; }
.nce-map-frame[data-view="list"] .nce-map-list { padding-inline: max(1rem,calc((100vw - min(88rem,calc(100vw - 3rem))) / 2)); border: 0; }
.nce-map-frame[data-view="list"] .nce-map-list .nce-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }

.nce-filter-bar { position: sticky; z-index: 30; top: 4.55rem; display: flex; flex-wrap: wrap; gap: .65rem; padding: 1rem max(1rem,calc((100vw - min(88rem,calc(100vw - 3rem))) / 2)); background: rgba(245,241,232,.96); border-bottom: 1px solid var(--nce-border); backdrop-filter: blur(14px); }
.nce-filter-bar label { display: grid; gap: .2rem; }
.nce-filter-bar label span { font-size: .66rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.nce-filter-bar select, .nce-filter-bar input, .nce-form input, .nce-form textarea, .nce-form select { min-height: 3rem; border: 1px solid var(--nce-border); border-radius: 0; padding: .65rem .8rem; background: var(--nce-paper); color: var(--nce-ink); }
.nce-results-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 2rem; }
.nce-results-summary { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 2rem; }
.nce-empty-state { padding: var(--nce-space-6); background: var(--nce-paper); border: 1px solid var(--nce-border); text-align: center; }

.nce-property-search-page { background: #f3efe6; }
.nce-property-search-hero { position: relative; min-height: 34rem; overflow: hidden; display: flex; align-items: end; color: #f7f6f2; background: #062d6b; isolation: isolate; }
.nce-property-search-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(7,24,20,.96) 0%, rgba(7,24,20,.68) 54%, rgba(7,24,20,.34) 100%); }
.nce-property-search-hero__media { position: absolute; z-index: -2; inset: 0; }
.nce-property-search-hero__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.08); }
.nce-property-search-hero__content { width: var(--nce-shell); padding-block: clamp(3.5rem,6vw,5.5rem) 0; }
.nce-property-search-hero__content > .nce-eyebrow { color: #d8c6a3; }
.nce-property-search-hero__content > h1 { max-width: 16ch; margin-bottom: .2em; color: #f7f6f2; font-size: clamp(3.2rem,5vw,5.2rem); }
.nce-property-search-hero__content > p:not(.nce-eyebrow) { max-width: 45rem; color: rgba(255,250,240,.72); font-size: 1.02rem; }
.nce-property-search { margin-top: clamp(2.2rem,5vw,4rem); color: #062d6b; }
.nce-property-search__modes { display: flex; gap: clamp(1.4rem,4vw,3.5rem); min-width: 0; margin: 0; padding: 0 clamp(1rem,2vw,1.8rem); border: 0; }
.nce-property-search__modes label { position: relative; cursor: pointer; }
.nce-property-search__modes input { position: absolute; opacity: 0; pointer-events: none; }
.nce-property-search__modes span { display: block; padding: .95rem .2rem .8rem; color: rgba(255,250,240,.66); border-bottom: 3px solid transparent; font-size: .84rem; font-weight: 760; letter-spacing: .04em; }
.nce-property-search__modes input:checked + span { color: #f7f6f2; border-color: #d8c6a3; }
.nce-property-search__modes input:focus-visible + span { outline: 2px solid #f7f6f2; outline-offset: 4px; }
.nce-property-search__surface { position: relative; background: rgba(250,247,239,.98); box-shadow: 0 30px 80px rgba(4,18,14,.34); }
.nce-property-search__primary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; padding: 1rem; border-bottom: 1px solid rgba(6,45,107,.13); }
.nce-property-search__primary .nce-button { min-width: 13rem; border: 0; background: #b68a51; }
.nce-property-search label { min-width: 0; display: grid; gap: .35rem; }
.nce-property-search label > span, .nce-property-search__advanced summary > span { color: rgba(6,45,107,.58); font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nce-property-search select, .nce-property-search input[type="number"] { width: 100%; min-height: 3.15rem; padding: .5rem .7rem; color: #062d6b; background: #ffffff; border: 1px solid rgba(6,45,107,.16); border-radius: 0; outline: 0; }
.nce-property-search select:focus, .nce-property-search input[type="number"]:focus { border-color: #10c7c7; box-shadow: 0 0 0 2px rgba(16,199,199,.12); }
.nce-property-search__primary select { min-height: 3.7rem; border: 0; background: transparent; font-family: var(--nce-display); font-size: 1.35rem; }
.nce-property-search__filters { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .8rem; padding: 1rem; }
.nce-property-search__advanced { min-width: 0; }
.nce-property-search__advanced summary { min-height: 4.55rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .75rem; border: 1px solid rgba(6,45,107,.16); background: #ffffff; cursor: pointer; list-style: none; }
.nce-property-search__advanced summary::-webkit-details-marker { display: none; }
.nce-property-search__advanced summary strong { display: grid; width: 1.7rem; aspect-ratio: 1; place-items: center; color: #fff; background: #10c7c7; border-radius: 50%; font-size: .7rem; }
.nce-property-search__advanced[open] { grid-column: 1 / -1; padding-top: .1rem; }
.nce-property-search__advanced[open] summary { width: min(15rem,100%); }
.nce-property-search__advanced-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; padding: 1.2rem; background: #e9e3d7; border-top: 1px solid rgba(6,45,107,.14); }
.nce-property-search__check { grid-template-columns: auto 1fr !important; align-items: center; align-self: end; min-height: 3.15rem; padding: .7rem; background: #ffffff; border: 1px solid rgba(6,45,107,.16); cursor: pointer; }
.nce-property-search__check input { width: 1rem; height: 1rem; accent-color: #10c7c7; }
.nce-property-search__check span { color: #062d6b !important; font-size: .7rem !important; letter-spacing: .02em !important; text-transform: none !important; }
.nce-property-search__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem 1rem; color: rgba(6,45,107,.56); border-top: 1px solid rgba(6,45,107,.1); font-size: .72rem; }
.nce-property-search__footer a { color: #10c7c7; font-weight: 760; }
.nce-property-results { padding-top: clamp(4rem,7vw,7rem); }
#property-results { scroll-margin-top: 6.5rem; }
#property-results:focus { outline: 0; }
.nce-property-results__header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.25rem; }
.nce-property-results__header h2 { max-width: 16ch; margin: 0; font-size: clamp(2.8rem,5vw,5rem); }
.nce-property-results__utility { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; padding-block: 1rem; border-top: 1px solid var(--nce-border); border-bottom: 1px solid var(--nce-border); }
.nce-property-results__utility p { margin: 0; color: rgba(6,45,107,.6); font-size: .82rem; }
.nce-property-results__controls { flex: 0 0 auto; display: flex; align-items: center; gap: 1.25rem; }
.nce-property-results__controls label { display: flex; align-items: center; gap: .65rem; }
.nce-property-results__controls label > span { color: rgba(6,45,107,.52); font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nce-property-results__controls select { min-height: 2.75rem; padding: .5rem 2.25rem .5rem .8rem; color: var(--nce-ink); background-color: #fff; border: 1px solid var(--nce-border); font: inherit; font-size: .72rem; font-weight: 700; }
.nce-text-button { padding: 0; color: #10c7c7; background: transparent; border: 0; border-bottom: 1px solid currentColor; font-size: .72rem; font-weight: 760; cursor: pointer; }
.nce-property-results > .nce-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.nce-listing-card__save { position: absolute; z-index: 4; top: .75rem; right: .75rem; display: flex; align-items: center; gap: .35rem; min-height: 2.2rem; padding: .45rem .65rem; color: #062d6b; background: rgba(255,253,248,.94); border: 0; border-radius: 2rem; box-shadow: 0 7px 22px rgba(7,23,19,.18); font-size: .68rem; font-weight: 760; cursor: pointer; }
.nce-listing-card__save[aria-pressed="true"] { color: #fff; background: #10c7c7; }
.nce-card-kind { position: absolute; left: .8rem; bottom: .8rem; padding: .35rem .55rem; color: #062d6b; background: rgba(255,250,240,.92); font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nce-pagination { display: flex; justify-content: center; gap: .35rem; margin-top: 4rem; }
.nce-pagination .page-numbers { min-width: 2.7rem; min-height: 2.7rem; display: grid; place-items: center; padding: .55rem; color: #062d6b; background: #ffffff; border: 1px solid var(--nce-border); text-decoration: none; }
.nce-pagination .current { color: #fff; background: #10c7c7; border-color: #10c7c7; }

.nce-page-heading { max-width: 62rem; padding-top: clamp(2rem, 5vw, 5rem); margin-bottom: clamp(3rem, 6vw, 6rem); }
.nce-page-heading h1 { font-size: clamp(3rem, 7vw, 7rem); }
.nce-section.nce-directory-page { padding-top: clamp(3rem, 4vw, 4.25rem); }
.nce-directory-page .nce-page-heading { padding-top: 0; margin-bottom: clamp(3rem, 5vw, 5rem); }
.nce-estate-hero { position: relative; min-height: 45rem; display: flex; align-items: end; color: var(--nce-ivory); background: var(--nce-ink); isolation: isolate; }
.nce-estate-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(12,31,29,.92), rgba(12,31,29,.05) 70%); }
.nce-estate-hero__media { position: absolute; z-index: -2; inset: 0; }
.nce-estate-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.nce-estate-hero__content { padding-block: clamp(4rem, 8vw, 8rem); }
.nce-estate-hero h1 { max-width: 12ch; }
.nce-disclaimer { max-width: 60rem; padding: 1rem 1.2rem; background: rgba(216,203,183,.28); border-left: 3px solid var(--nce-brass); font-size: .86rem; }
.nce-stat-row { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 3rem; border-top: 1px solid var(--nce-border); border-bottom: 1px solid var(--nce-border); }
.nce-stat { padding: 1.5rem; border-right: 1px solid var(--nce-border); }
.nce-stat:last-child { border-right: 0; }
.nce-stat strong { display: block; font-family: var(--nce-display); font-size: 2rem; font-weight: 400; }
.nce-two-col { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.7fr); gap: clamp(2.5rem,7vw,8rem); }
.nce-sticky-aside { position: sticky; top: 7rem; align-self: start; }

.nce-property-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(19rem,.5fr); gap: clamp(2rem,5vw,5rem); }
.nce-property-gallery { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: repeat(2,minmax(12rem,1fr)); gap: .5rem; margin-bottom: 3rem; }
.nce-property-gallery > :first-child { grid-row: 1 / span 2; }
.nce-property-gallery img { width: 100%; height: 100%; object-fit: cover; }
.nce-property-facts { display: flex; flex-wrap: wrap; gap: 1rem 1.8rem; padding: 1.3rem 0; border-top: 1px solid var(--nce-border); border-bottom: 1px solid var(--nce-border); }
.nce-property-facts span { font-size: .88rem; }
.nce-agent-card { padding: 1.4rem; background: var(--nce-paper); border: 1px solid var(--nce-border); }
.nce-form { display: grid; gap: 1rem; }
.nce-form label { display: grid; gap: .35rem; font-size: .82rem; font-weight: 680; }
.nce-form textarea { min-height: 8rem; resize: vertical; }
.nce-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nce-form__consent { grid-template-columns: auto 1fr !important; align-items: start; font-weight: 400 !important; }
.nce-form__consent input { min-height: auto; margin-top: .25rem; }
.nce-form-status { min-height: 1.5rem; font-size: .85rem; }
.nce-form-status[data-status="error"] { color: var(--nce-error); }
.nce-form-status[data-status="success"] { color: var(--nce-success); }

.nce-demo-banner { padding: .55rem 1rem; background: #fff0c7; color: #5b4315; border-bottom: 1px solid #d9bd72; font-size: .8rem; font-weight: 650; text-align: center; }
.nce-stale-banner { padding: .55rem 1rem; background: #f7f6f2; color: #514a40; font-size: .8rem; text-align: center; }
.nce-journal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
.nce-journal-card img { aspect-ratio: 4/3; object-fit: cover; margin-bottom: 1.2rem; }
.nce-journal-card h2 { font-size: 2rem; }
.nce-search-results article { padding-block: 1.5rem; border-top: 1px solid var(--nce-border); }
.nce-empty-page { min-height: 65vh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }

.nce-footer { padding: var(--nce-space-7) max(1.5rem,calc((100vw - min(88rem,calc(100vw - 3rem))) / 2)) 1.5rem; background: #062d6b; color: var(--nce-ivory); }
.nce-footer__grid { display: grid; grid-template-columns: 1.2fr .6fr .8fr; gap: clamp(2rem,6vw,7rem); }
.nce-footer h2 { font-family: var(--nce-sans); font-size: .78rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.nce-footer ul { margin: 0; padding: 0; list-style: none; }
.nce-footer li + li { margin-top: .55rem; }
.nce-footer a { text-decoration: none; }
.nce-brand--footer { margin-bottom: 1.5rem; }
.nce-brand--footer + p { max-width: 25rem; color: rgba(245,241,232,.68); }
.nce-footer .nce-text-link { color: #d8c6a3; }
.nce-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; margin-top: var(--nce-space-6); padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.14); color: rgba(245,241,232,.58); font-size: .74rem; }
.nce-footer__legal-menu { display: flex; flex-wrap: wrap; gap: 1rem; }

@media (max-width: 960px) {
  :root { --nce-shell: min(100% - 2rem, 88rem); }
  .nce-nav-toggle { display: block; }
  .nce-nav { position: fixed; inset: 5.2rem 0 0; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 2rem; padding: 2rem 1.25rem max(2rem,env(safe-area-inset-bottom)); background: var(--nce-ivory); transform: translateX(100%); visibility: hidden; transition: transform .3s ease, visibility .3s; }
  .nce-nav[data-open] { transform: none; visibility: visible; }
  .nce-nav__list { flex-direction: column; align-items: stretch; }
  .nce-nav__list a { display: block; padding: .75rem 0; border-bottom: 1px solid var(--nce-border); font-family: var(--nce-display); font-size: 1.8rem; font-weight: 400; }
  .nce-card-grid, .nce-journal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-split-intro, .nce-two-col, .nce-property-layout { grid-template-columns: 1fr; }
  .nce-sticky-aside { position: static; }
  .nce-footer__grid { grid-template-columns: 1fr 1fr; }
  .nce-footer__grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  :root { --nce-shell: calc(100% - 1.5rem); --nce-space-7: 5rem; }
  h1 { font-size: clamp(3rem,16vw,4.8rem); }
  h2 { font-size: clamp(2.35rem,12vw,3.6rem); }
  .nce-brand__name { display: none; }
  .nce-header { height: 4.55rem; }
  .nce-nav { inset-block-start: 4.55rem; }
  .nce-hero { min-height: calc(100svh - 4.55rem); }
  .nce-hero__content { padding-block: 4rem 2.25rem; }
  .nce-hero-search { grid-template-columns: 1fr; }
  .nce-hero-search label { border-right: 0; border-bottom: 1px solid var(--nce-border); }
  .nce-section-heading { display: block; }
  .nce-section-heading .nce-text-link { margin-top: 1rem; }
  .nce-card-grid, .nce-journal-grid { grid-template-columns: 1fr; }
  .nce-map-frame { min-height: 36rem; }
  .nce-map-frame[data-map-size="full"] { height: calc(100svh - 4.55rem); }
  .nce-map-toolbar { top: .6rem; left: .6rem; right: .6rem; width: auto; max-width: none; overflow-x: auto; }
  .nce-estate-plan-controls { top: 5.35rem; right: .6rem; }
  .nce-map-toolbar label { min-width: 7.4rem; }
  .nce-map-modes { position: sticky; right: 0; flex: 0 0 auto; }
  .nce-map-content { grid-template-columns: 1fr; }
  .nce-map-frame[data-view="split"] .nce-map-content { grid-template-rows: 60% 40%; }
  .nce-map-frame[data-view="split"] .nce-map-list { display: block; padding: 1rem .75rem max(1rem,env(safe-area-inset-bottom)); border: 0; border-radius: 1.1rem 1.1rem 0 0; box-shadow: 0 -15px 35px rgba(0,0,0,.2); }
  .nce-map-frame[data-view="list"] .nce-map-list { padding: 5.4rem .75rem max(1rem,env(safe-area-inset-bottom)); }
  .nce-map-frame[data-view="list"] .nce-map-list .nce-card-grid { grid-template-columns: 1fr; }
  .nce-map-key { left: .6rem; bottom: .6rem; width: calc(100% - 1.2rem); padding: .8rem; }
  .nce-map-toolbar--estate-directory { display: grid; grid-template-columns: minmax(0,1fr) 7.5rem; overflow: visible; }
  .nce-map-toolbar--estate-directory label { min-width: 0; }
  .nce-map-toolbar__compare { min-width: 0; padding-inline: .65rem; }
  .nce-map-key nav { max-height: 5.5rem; overflow-y: auto; }
  .nce-map-drawer { top: auto; bottom: 0; width: 100%; height: min(70%,38rem); border-radius: 1.25rem 1.25rem 0 0; transform: translateY(105%); padding-bottom: max(1.5rem,env(safe-area-inset-bottom)); }
  .nce-map-drawer[data-open] { transform: none; }
  .nce-filter-bar { top: 4.55rem; overflow-x: auto; flex-wrap: nowrap; padding-inline: .75rem; }
  .nce-filter-bar label { min-width: 8.5rem; }
  .nce-property-search__filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-property-search__advanced[open] { grid-column: 1 / -1; }
  .nce-property-search__advanced-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-property-results > .nce-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-stat-row { grid-template-columns: 1fr 1fr; }
  .nce-stat:nth-child(2) { border-right: 0; }
  .nce-stat:nth-child(-n+2) { border-bottom: 1px solid var(--nce-border); }
  .nce-property-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 18rem 10rem; }
  .nce-property-gallery > :first-child { grid-column: 1 / -1; grid-row: 1; }
  .nce-form__row { grid-template-columns: 1fr; }
  .nce-footer__grid { grid-template-columns: 1fr; }
  .nce-footer__grid > :first-child { grid-column: auto; }
  .nce-footer__legal { flex-direction: column; }
}

@media (max-width: 640px) {
  .nce-property-search-hero { min-height: 52rem; }
  .nce-property-search-hero__content { padding-top: 5.5rem; }
  .nce-property-search-hero__content > h1 { font-size: clamp(3.2rem,14vw,4.7rem); }
  .nce-property-search__modes { gap: 1.3rem; padding-inline: .75rem; overflow-x: auto; }
  .nce-property-search__modes label { flex: 0 0 auto; }
  .nce-property-search__primary { grid-template-columns: 1fr; }
  .nce-property-search__primary .nce-button { width: 100%; min-width: 0; }
  .nce-property-search__filters, .nce-property-search__advanced-grid { grid-template-columns: 1fr; }
  .nce-property-search__advanced, .nce-property-search__advanced[open] { grid-column: 1; }
  .nce-property-search__advanced[open] summary { width: 100%; }
  .nce-property-search__footer, .nce-property-results__header, .nce-property-results__utility { align-items: flex-start; flex-direction: column; }
  .nce-property-results__controls { width: 100%; justify-content: space-between; }
  .nce-property-results > .nce-card-grid { grid-template-columns: 1fr; }
}

/* Public visual direction: editorial, image-led and map-first. */
:root {
  --nce-ink: #062d6b;
  --nce-ink-2: #263542;
  --nce-ivory: #f7f6f2;
  --nce-paper: #ffffff;
  --nce-sand: #d8c6a3;
  --nce-stone: #263542;
  --nce-green: #10c7c7;
  --nce-ocean: #10c7c7;
  --nce-brass: #d8c6a3;
  --nce-shell: min(91rem, calc(100vw - 5rem));
  --nce-border: rgba(6, 45, 107, .14);
  --nce-shadow: 0 28px 80px rgba(6, 45, 107, .12);
}

html, body { overflow-x: clip; }
body { letter-spacing: -.006em; }
h1 { font-size: clamp(3.7rem, 7vw, 7.15rem); }
h2 { font-size: clamp(2.65rem, 4.6vw, 5.25rem); }
h3 { font-size: clamp(1.6rem, 2.1vw, 2.25rem); }
.nce-section { padding-block: clamp(6rem, 10vw, 10.5rem); }
.nce-eyebrow { margin-bottom: 1.35rem; color: var(--nce-brass); font-size: .69rem; letter-spacing: .19em; }
.nce-eyebrow::before { width: 2.7rem; }
.nce-lede { font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.72; }

.nce-header { height: 5.65rem; background: rgba(248, 246, 240, .96); border-bottom: 1px solid rgba(6,45,107,.08); }
.nce-header[data-scrolled] { height: 4.8rem; }
.nce-brand { gap: 1rem; }
.nce-brand__mark { width: 2.85rem; border-color: rgba(6,45,107,.55); font-size: .68rem; }
.nce-brand__name { font-size: 1.35rem; letter-spacing: -.025em; }
.nce-brand__name em { margin-top: .2rem; font-family: var(--nce-sans); font-size: .55em; font-weight: 700; letter-spacing: .22em; }
.nce-nav { gap: 1.65rem; }
.nce-nav__list { gap: clamp(1rem, 2vw, 2rem); }
.nce-nav__list a { font-size: .78rem; font-weight: 700; letter-spacing: .025em; }
.nce-header .nce-button { min-height: 2.9rem; padding-inline: 1.25rem; background: var(--nce-ink); border-color: var(--nce-ink); }
.nce-demo-banner { position: relative; z-index: 15; padding: .42rem 1rem; background: #d8c9a6; color: #3e321f; border: 0; font-size: .68rem; letter-spacing: .04em; }

.nce-home-hero { min-height: min(54rem, calc(100svh - 5.65rem)); overflow: visible; background: #062d6b; }
.nce-home-hero .nce-hero__media img { filter: saturate(.78) contrast(1.05); transform: scale(1.015); }
.nce-home-hero::after { background: linear-gradient(90deg, rgba(6,45,107,.88) 0%, rgba(6,45,107,.59) 43%, rgba(6,45,107,.13) 75%), linear-gradient(0deg, rgba(6,45,107,.62), transparent 50%); }
.nce-home-hero .nce-hero__content { justify-content: center; padding-top: 6.5rem; padding-bottom: 7rem; }
.nce-home-hero h1 { max-width: 10.5ch; margin-bottom: .22em; font-size: clamp(3.8rem, 5.85vw, 6.35rem); line-height: .93; letter-spacing: -.043em; }
.nce-home-hero .nce-hero__content > p:not(.nce-eyebrow) { max-width: 34rem; margin-bottom: .5rem; font-size: clamp(1rem, 1.4vw, 1.22rem); line-height: 1.7; }
.nce-home-hero__actions { margin-top: 1.65rem; }
.nce-home-hero__actions .nce-button { min-width: 10.5rem; }
.nce-home-hero__actions .nce-button--ghost { color: var(--nce-ivory); border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.04); }
.nce-home-hero__caption { display: none; }

.nce-home-journeys { padding-block: clamp(3.75rem,6vw,6.5rem); color: var(--nce-ink); background: var(--nce-ivory); }
.nce-home-journeys__heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(22rem,.58fr); align-items: end; gap: clamp(2rem,7vw,7rem); margin-bottom: clamp(2rem,3.5vw,3.5rem); }
.nce-home-journeys__heading h2 { max-width: 14ch; margin: .65rem 0 0; font-size: clamp(3rem,4.6vw,5.2rem); line-height: .92; }
.nce-home-journeys__heading > p { max-width: 38rem; margin: 0 0 .25rem; color: rgba(6,45,107,.64); font-size: clamp(.9rem,1.15vw,1.05rem); line-height: 1.72; }
.nce-home-journeys__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.8rem,1.4vw,1.4rem); }
.nce-home-journey { position: relative; min-width: 0; display: grid; grid-template-rows: 14.5rem 1fr; overflow: hidden; color: var(--nce-ink); background: #fff; border: 1px solid var(--nce-border); box-shadow: 0 1.2rem 3.5rem rgba(6,45,107,.07); text-decoration: none; transition: transform .3s cubic-bezier(.22,.7,.16,1),box-shadow .3s ease; }
.nce-home-journey:hover { transform: translateY(-.45rem); box-shadow: 0 2rem 4.5rem rgba(6,45,107,.14); }
.nce-home-journey__media { position: relative; display: block; overflow: hidden; background: #dfe6e5; }
.nce-home-journey__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(6,45,107,.22),transparent 58%); transition: background .3s ease; }
.nce-home-journey__media img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.82) contrast(1.03); transition: transform .6s cubic-bezier(.22,.7,.16,1),filter .3s ease; }
.nce-home-journey:hover .nce-home-journey__media img { transform: scale(1.035); filter: saturate(.96) contrast(1.03); }
.nce-home-journey__body { min-height: 15.5rem; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.4rem,2vw,2rem); }
.nce-home-journey__body small { color: var(--nce-green); font-size: .56rem; font-style: normal; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-home-journey__body strong { max-width: 14ch; margin-top: .85rem; color: var(--nce-ink); font-family: var(--nce-editorial); font-size: clamp(1.85rem,2.35vw,2.6rem); font-weight: 500; line-height: 1; }
.nce-home-journey__body em { max-width: 29rem; margin-top: .8rem; color: rgba(6,45,107,.6); font-size: .78rem; font-style: normal; line-height: 1.6; }
.nce-home-journey__body b { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.2rem; color: var(--nce-ink); border-top: 1px solid var(--nce-border); font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nce-home-journey__body b span { color: var(--nce-green); font-size: 1.1rem; transition: transform .25s ease; }
.nce-home-journey:hover .nce-home-journey__body b span { transform: translateX(.35rem); }
.nce-home-journey--map .nce-home-journey__media img { object-position: center 72%; filter: saturate(.72) contrast(1.04); }
.nce-home-journey--map .nce-home-journey__media::after { background: linear-gradient(0deg,rgba(6,45,107,.16),transparent 55%); }

.nce-map-story { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(25rem, .65fr); min-height: 46rem; background: var(--nce-ink); color: var(--nce-ivory); transition: grid-template-columns .42s cubic-bezier(.22,.7,.16,1); }
.nce-map-story__visual { position: relative; min-height: 38rem; overflow: hidden; background: #f7f6f2; }
.nce-map-story__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 62%, rgba(6,45,107,.34)); pointer-events: none; }
.nce-map-story__visual img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.08) saturate(.7) contrast(1.02); }
.nce-map-story__visual > span { position: absolute; z-index: 2; left: 1.35rem; bottom: 1.2rem; padding: .5rem .65rem; background: rgba(6,45,107,.86); color: rgba(255,255,255,.72); font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nce-map-story__visual--interactive::after { display: none; }
.nce-map-story__visual--interactive .nce-map-frame { height: 100%; min-height: 46rem; }
.nce-map-story__visual--interactive .nce-map-modes { display: none; }
.nce-map-story__content { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; overflow: hidden; padding: clamp(3rem, 6vw, 7rem); opacity: 1; transition: opacity .22s ease, transform .42s cubic-bezier(.22,.7,.16,1), padding .42s cubic-bezier(.22,.7,.16,1); }
.nce-map-story__content h2 { max-width: 8.5ch; margin-bottom: .45em; }
.nce-map-story__content .nce-lede { color: rgba(241,238,230,.7); }
.nce-map-story__facts { display: grid; grid-template-columns: 1fr 1fr; width: 100%; margin: 1.4rem 0 2rem; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.nce-map-story__facts span { padding: 1.15rem 1rem 1.15rem 0; color: rgba(241,238,230,.58); font-size: .74rem; }
.nce-map-story__facts span + span { padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.16); }
.nce-map-story__facts strong { display: block; margin-bottom: .25rem; color: var(--nce-ivory); font-family: var(--nce-display); font-size: 1.35rem; font-weight: 400; }

.nce-home-estates { padding-block: clamp(3.25rem,4.5vw,5rem); background: #062d6b; }
.nce-home-estates .nce-section-heading { margin-bottom: 2rem; }
.nce-home-estates .nce-section-heading > div { max-width: none; }
.nce-home-estates .nce-section-heading h2 { max-width: none; margin-bottom: 0; font-size: clamp(2.7rem,4.25vw,4.85rem); line-height: .98; white-space: nowrap; }
.nce-home-estates .nce-card-grid { gap: clamp(1.4rem, 2.4vw, 2.5rem); align-items: stretch; }
.nce-home-estates .nce-estate-card:nth-child(2) { margin-top: 0; }
.nce-home-estates .nce-card-media { aspect-ratio: 4 / 3; }
.nce-home-estates .nce-card-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,20,18,.25), transparent 45%); }
.nce-home-estates .nce-card-number { position: absolute; z-index: 2; top: 1rem; right: 1rem; display: grid; width: 2.4rem; aspect-ratio: 1; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.6); font-size: .66rem; letter-spacing: .08em; }
.nce-home-estates .nce-card-body { min-height: 17.25rem; border-color: rgba(255,255,255,.16); }
.nce-home-estates .nce-card-body p:not(.nce-eyebrow) { color: rgba(6,45,107,.6); }
@media (max-width: 960px) {
  .nce-home-estates .nce-section-heading h2 { white-space: normal; }
}

.nce-card-media { background: #f7f6f2; }
.nce-card-media img { filter: saturate(.82); }
.nce-card-media:hover img, .nce-estate-card:hover .nce-card-media img, .nce-listing-card:hover .nce-card-media img, .nce-development-card:hover .nce-card-media img { transform: scale(1.025); }
.nce-estate-card > a,
.nce-listing-card > a,
.nce-development-card > a { height: 100%; display: flex; flex-direction: column; }
.nce-card-body { flex: 1; display: flex; flex-direction: column; padding: 1.55rem 1.6rem 1.7rem; background: #fff; border: 1px solid var(--nce-border); border-top: 0; }
.nce-card-body .nce-eyebrow { margin: 0 0 .85rem; color: rgba(6,45,107,.62); font-size: .58rem; line-height: 1.45; }
.nce-card-body h3 { display: -webkit-box; overflow: hidden; margin: 0; color: var(--nce-ink); font-family: var(--nce-editorial,var(--nce-display)); font-size: clamp(1.75rem,2.15vw,2.45rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.02; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.nce-card-body p { line-height: 1.65; }
.nce-card-body .nce-card-summary { display: -webkit-box; overflow: hidden; margin: .85rem 0 0; color: rgba(6,45,107,.6); font-size: .82rem; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.nce-estate-card .nce-card-body,
.nce-development-card .nce-card-body { min-height: 16.75rem; }
.nce-listing-card .nce-card-body { min-height: 20rem; }
.nce-card-cta { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.15rem; color: var(--nce-ink); border-top: 1px solid var(--nce-border); font-size: .61rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.nce-card-cta > span { color: var(--nce-green); font-size: 1.05rem; transition: transform .22s ease; }
.nce-estate-card:hover .nce-card-cta > span,
.nce-listing-card:hover .nce-card-cta > span,
.nce-development-card:hover .nce-card-cta > span { transform: translateX(.3rem); }
.nce-listing-card .nce-card-price { margin: .95rem 0 0; color: rgba(6,45,107,.72); font-family: var(--nce-editorial,var(--nce-display)); font-size: clamp(1.65rem,2.05vw,2.15rem); font-weight: 400; line-height: 1.05; }
.nce-listing-card .nce-card-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem 1rem; margin: 1.15rem 0; padding-top: 1.1rem; color: rgba(6,45,107,.58); border-top: 1px solid var(--nce-border); font-size: .65rem; line-height: 1.3; }
.nce-listing-card .nce-card-meta span { min-width: 0; display: grid; align-content: start; gap: .2rem; }
.nce-listing-card .nce-card-meta strong { display: block; color: var(--nce-ink); font-family: var(--nce-sans); font-size: .92rem; font-weight: 650; line-height: 1.1; }
.nce-listing-card--land { align-self: start; }
.nce-listing-card--land > a { height: auto; }
.nce-listing-card--land .nce-card-body { min-height: 0; }
.nce-listing-card--land .nce-card-meta { grid-template-columns: minmax(0,1fr); margin-bottom: 1.35rem; }
.nce-listing-card--land .nce-card-cta { margin-top: 0; }
.nce-card-number { display: none; }

.nce-featured-property {
  width: var(--nce-shell);
  margin-inline: auto;
}
.nce-featured-property .nce-section-heading { padding-left: 0; }
.nce-featured-property .nce-section-heading h2 { max-width: 10ch; }
.nce-featured-property__grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.nce-featured-property__grid > .nce-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.nce-featured-property .nce-listing-card .nce-card-media { aspect-ratio: 4 / 3; min-height: 0; }

.nce-home-developments .nce-section-heading h2 { max-width: 10ch; }
.nce-home-developments .nce-card-grid { grid-template-columns: 1fr; }
.nce-home-developments .nce-development-card > a { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .55fr); background: var(--nce-ivory); }
.nce-home-developments .nce-development-card .nce-card-media { aspect-ratio: 16 / 9; }
.nce-home-developments .nce-development-card .nce-card-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 5rem); border: 0; }
.nce-home-developments .nce-development-card h3 { font-size: clamp(2.4rem, 4vw, 4.5rem); }

.nce-seller-story { position: relative; min-height: 44rem; display: grid; align-items: center; overflow: hidden; color: var(--nce-ivory); background: var(--nce-ink); isolation: isolate; }
.nce-seller-story__media { position: absolute; z-index: -2; inset: 0; }
.nce-seller-story__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65) contrast(1.08); }
.nce-seller-story::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(6,45,107,.93) 0%, rgba(6,45,107,.74) 48%, rgba(6,45,107,.18) 82%); }
.nce-seller-story__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 7rem; }
.nce-seller-story h2 { max-width: 10ch; }
.nce-seller-story .nce-lede { max-width: 34rem; color: rgba(241,238,230,.76); }
.nce-seller-story .nce-button { margin-top: 1rem; background: var(--nce-ivory); border-color: var(--nce-ivory); color: var(--nce-ink); }

.nce-estate-hero--media { position: relative; min-height: min(47rem, calc(100svh - 5rem)); display: grid; overflow: hidden; color: var(--nce-ivory); background: var(--nce-ink); isolation: isolate; }
.nce-estate-hero__media { position: absolute; z-index: -2; inset: 0; }
.nce-estate-hero__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.08); }
.nce-estate-hero--media::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(6,45,107,.86), rgba(6,45,107,.38) 58%, rgba(6,45,107,.1)), linear-gradient(0deg, rgba(6,45,107,.72), transparent 58%); }
.nce-estate-hero--media .nce-estate-hero__content { min-height: inherit; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding-block: 7rem 5rem; }
.nce-estate-hero--media h1 { max-width: 14ch; margin-bottom: .22em; font-size: clamp(3.45rem, 5vw, 5.8rem); line-height: .97; }
.nce-estate-hero--media .nce-lede { max-width: 40rem; color: rgba(241,238,230,.78); }
.nce-estate-hero--media .nce-button { background: var(--nce-ivory); border-color: var(--nce-ivory); color: var(--nce-ink); }
.nce-estate-hero--media .nce-button--ghost { color: var(--nce-ivory); border-color: rgba(255,255,255,.5); background: transparent; }

@media (max-width: 960px) {
  :root { --nce-shell: min(100% - 2.5rem, 91rem); }
  .nce-home-hero__caption { right: 1.25rem; }
  .nce-home-journeys__heading { grid-template-columns: 1fr; gap: 1rem; }
  .nce-home-journeys__heading > p { max-width: 46rem; }
  .nce-home-journeys__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-home-journey--property { grid-column: 1 / -1; grid-template-columns: minmax(0,1.15fr) minmax(18rem,.85fr); grid-template-rows: 1fr; }
  .nce-map-story { grid-template-columns: 1fr; }
  .nce-map-story__visual { min-height: 34rem; }
  .nce-map-story__visual--interactive .nce-map-frame { min-height: 34rem; }
  .nce-map-story__content { padding: 5rem max(1.25rem,calc((100vw - min(100% - 2.5rem,91rem)) / 2)); }
  .nce-featured-property__grid { grid-template-columns: 1fr; }
  .nce-featured-property__grid > .nce-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-home-developments .nce-development-card > a { grid-template-columns: 1fr; }
  .nce-home-developments .nce-development-card .nce-card-body { padding: 3rem; }
}

@media (max-width: 640px) {
  :root { --nce-shell: calc(100% - 1.5rem); }
  h1 { font-size: clamp(3.1rem, 15vw, 4.4rem); }
  h2 { font-size: clamp(2.5rem, 11.5vw, 3.5rem); }
  .nce-header { height: 4.8rem; }
  .nce-home-hero { min-height: 42rem; }
  .nce-home-hero .nce-hero__content { justify-content: flex-end; padding-top: 5.5rem; padding-bottom: 4rem; }
  .nce-home-hero h1 { font-size: clamp(3.7rem, 17vw, 5rem); }
  .nce-home-hero__actions { gap: .5rem; }
  .nce-home-hero__actions .nce-button { min-width: 0; flex: 1 1 auto; padding-inline: .8rem; }
  .nce-home-hero__caption { display: none; }
  .nce-home-journeys { padding-block: 3.25rem; }
  .nce-home-journeys__heading { margin-bottom: 1.75rem; }
  .nce-home-journeys__heading h2 { font-size: clamp(2.75rem,12.5vw,3.65rem); }
  .nce-home-journeys__grid { grid-template-columns: 1fr; }
  .nce-home-journey,
  .nce-home-journey--property { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: 12.5rem 1fr; }
  .nce-home-journey__body { min-height: 14rem; }
  .nce-map-story__visual { min-height: 24rem; }
  .nce-map-story__visual--interactive .nce-map-frame { min-height: 34rem; }
  .nce-map-story__content { padding: 4rem 1rem; }
  .nce-home-estates .nce-estate-card:nth-child(2) { margin-top: 0; }
  .nce-home-estates .nce-card-media { aspect-ratio: 5 / 6; }
  .nce-featured-property__grid > .nce-card-grid { grid-template-columns: 1fr; }
  .nce-home-developments .nce-development-card .nce-card-body { padding: 2rem 1.4rem; }
  .nce-seller-story { min-height: 40rem; }
  .nce-seller-story::after { background: linear-gradient(0deg, rgba(6,45,107,.92), rgba(6,45,107,.43)); }
  .nce-estate-hero--media { min-height: 42rem; }
  .nce-estate-hero--media .nce-estate-hero__content { padding-block: 6rem 3rem; }
}

/* Dedicated estate microsites */
body.nce-estate-microsite { overflow-x: clip; }
body.nce-estate-microsite--seaton { --nce-estate-accent: #9a694a; }
body.nce-estate-microsite--zululami { --nce-estate-accent: #56705c; }
body.nce-estate-microsite--zimbali { --nce-estate-accent: #9b8258; }

.nce-microsite-header { position: sticky; z-index: 120; top: 0; height: 6rem; background: rgba(251,250,246,.97); border-bottom: 1px solid rgba(6,45,107,.1); backdrop-filter: blur(18px); transition: height .2s ease; }
.nce-microsite-header[data-scrolled] { height: 5rem; }
.nce-microsite-header__inner { position: relative; width: var(--nce-shell); height: 100%; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.nce-microsite-parent { display: inline-flex; align-items: center; gap: .8rem; min-width: 15rem; color: var(--nce-ink); text-decoration: none; }
.nce-microsite-parent .nce-brand__mark { width: 2.35rem; }
.nce-microsite-parent span:last-child { display: grid; line-height: 1.1; }
.nce-microsite-parent small { color: var(--nce-stone); font-size: .55rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nce-microsite-parent strong { margin-top: .25rem; font-family: var(--nce-display); font-size: 1rem; font-weight: 400; }
.nce-microsite-wordmark { position: absolute; left: 50%; color: var(--nce-ink); font-family: var(--nce-display); font-size: clamp(1.5rem, 2vw, 2rem); line-height: 1; text-decoration: none; transform: translateX(-50%); }
.nce-microsite-wordmark::after { content: "Estate"; display: block; margin-top: .28rem; color: var(--nce-estate-accent); font-family: var(--nce-sans); font-size: .42em; font-weight: 760; letter-spacing: .23em; text-align: center; text-transform: uppercase; }
.nce-microsite-nav { display: flex; align-items: center; gap: 1rem; }
.nce-microsite-nav ul { display: flex; align-items: center; gap: clamp(.7rem, 1.35vw, 1.25rem); margin: 0; padding: 0; list-style: none; }
.nce-microsite-nav ul a { font-size: .67rem; font-weight: 720; letter-spacing: .035em; text-decoration: none; }
.nce-microsite-nav ul a:hover, .nce-microsite-nav ul a[aria-current="page"] { color: var(--nce-estate-accent); }
.nce-microsite-nav ul a[aria-current="page"] { box-shadow: inset 0 -2px var(--nce-estate-accent); }
.nce-microsite-nav .nce-button { min-height: 2.65rem; padding: .55rem .9rem; background: var(--nce-estate-accent); border-color: var(--nce-estate-accent); }

.nce-estate-site { --nce-estate-accent: #10c7c7; }
.nce-estate-site .nce-eyebrow { color: var(--nce-estate-accent); }
.nce-estate-site .nce-estate-hero { min-height: min(52rem, calc(100svh - 6rem)); }
.nce-estate-site .nce-estate-hero__media img { object-position: center; }
.nce-estate-site--zululami .nce-estate-hero__media img { object-position: center 58%; }
.nce-estate-site .nce-estate-hero__content { padding-bottom: clamp(4rem, 8vw, 7.5rem); }
.nce-estate-site .nce-estate-hero__content .nce-eyebrow { color: #d7bc8f; }
.nce-estate-site .nce-estate-hero__content h1 { max-width: 13ch; font-size: clamp(3.7rem, 6.1vw, 6.8rem); }
.nce-estate-site .nce-estate-hero__content .nce-lede { max-width: 42rem; }
.nce-estate-site .nce-estate-hero__content .nce-button { background: var(--nce-estate-accent); border-color: var(--nce-estate-accent); color: #fff; }
.nce-estate-site .nce-estate-hero__content .nce-button--ghost { background: rgba(0,0,0,.05); border-color: rgba(255,255,255,.55); color: #fff; }
.nce-estate-hero__index { position: absolute; right: max(2.5rem,calc((100vw - min(91rem,calc(100vw - 5rem))) / 2)); bottom: 2rem; display: grid; justify-items: end; color: rgba(255,255,255,.72); }
.nce-estate-hero__index span { font-size: .58rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.nce-estate-hero__index strong { margin-top: .2rem; color: #fff; font-family: var(--nce-display); font-size: 1.3rem; font-weight: 400; }

.nce-estate-home-intro { position: relative; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(25rem, .82fr); gap: clamp(3rem, 7vw, 7.5rem); align-items: center; padding-block: clamp(5rem, 8vw, 8rem); }
.nce-estate-home-intro__copy { min-width: 0; }
.nce-estate-home-intro h2 { max-width: 13ch; margin-bottom: .55em; font-size: clamp(3.8rem, 6vw, 6.8rem); line-height: .94; }
.nce-estate-home-intro .nce-lede { max-width: 39rem; color: rgba(6,45,107,.67); font-size: clamp(1.05rem,1.5vw,1.25rem); }
.nce-estate-home-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; max-width: 39rem; margin-top: 2.3rem; padding-block: 1.1rem; border-top: 1px solid var(--nce-border); border-bottom: 1px solid var(--nce-border); color: rgba(6,45,107,.56); font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nce-estate-home-facts span { display: grid; gap: .3rem; }
.nce-estate-home-facts span + span { padding-left: 1.6rem; border-left: 1px solid var(--nce-border); }
.nce-estate-home-facts strong { overflow: hidden; color: var(--nce-estate-accent); font-family: var(--nce-display); font-size: clamp(1.55rem,2.4vw,2.15rem); font-weight: 400; letter-spacing: -.03em; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.nce-estate-home-intro .nce-actions { align-items: center; margin-top: 1.8rem; }
.nce-estate-home-intro__media { position: relative; min-height: 34rem; margin: 0; overflow: hidden; background: #17342d; box-shadow: 0 28px 70px rgba(7,24,20,.16); }
.nce-estate-home-intro__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(5,19,15,.78),transparent 52%); }
.nce-estate-home-intro__media img { width: 100%; height: 100%; min-height: 34rem; object-fit: cover; filter: saturate(.78) contrast(1.04); }
.nce-estate-home-intro__media figcaption { position: absolute; z-index: 1; right: 1.7rem; bottom: 1.6rem; left: 1.7rem; display: grid; gap: .2rem; color: #fff; }
.nce-estate-home-intro__media figcaption span { color: #d8c6a3; font-size: .54rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nce-estate-home-intro__media figcaption strong { font-family: var(--nce-display); font-size: 2rem; font-weight: 400; }
.nce-estate-site-directory { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding-top: 0; background: var(--nce-border); }
.nce-estate-site-directory > a { position: relative; min-height: 20rem; display: flex; flex-direction: column; padding: clamp(1.6rem, 3vw, 3rem); overflow: hidden; background: var(--nce-paper); color: var(--nce-ink); text-decoration: none; transition: color .25s, background .25s; }
.nce-estate-site-directory > a > span { color: var(--nce-estate-accent); font-size: .65rem; font-weight: 760; letter-spacing: .12em; }
.nce-estate-site-directory h2 { max-width: none; margin: auto 0 .65rem; font-size: clamp(2rem, 3vw, 3.35rem); }
.nce-estate-site-directory p { max-width: 18rem; margin: 0; color: rgba(6,45,107,.58); }
.nce-estate-site-directory > a > strong { position: absolute; right: 1.5rem; top: 1rem; color: color-mix(in srgb, var(--nce-estate-accent) 40%, transparent); font-family: var(--nce-display); font-size: 2.5rem; font-weight: 400; transition: transform .25s; }
.nce-estate-site-directory > a:hover { background: var(--nce-estate-accent); color: #fff; }
.nce-estate-site-directory > a:hover p, .nce-estate-site-directory > a:hover > span, .nce-estate-site-directory > a:hover > strong { color: rgba(255,255,255,.78); }
.nce-estate-site-directory > a:hover > strong { transform: translateX(.35rem); }
.nce-estate-home-feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(24rem, .8fr); min-height: 42rem; background: #062d6b; color: var(--nce-ivory); }
.nce-estate-home-feature__media { min-height: 32rem; overflow: hidden; }
.nce-estate-home-feature__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); }
.nce-estate-home-feature > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem, 7vw, 7rem); }
.nce-estate-home-feature h2 { max-width: 9ch; }
.nce-estate-home-feature p:not(.nce-eyebrow) { color: rgba(241,238,230,.65); }
.nce-estate-home-feature .nce-text-link { color: #fff; }
.nce-estate-image-story { padding: clamp(4.5rem,8vw,8rem) 0 clamp(3rem,5vw,5rem); overflow: hidden; background: #f4f1ea; color: var(--nce-blue); }
.nce-estate-image-story__heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(22rem,.55fr); gap: clamp(2rem,6vw,7rem); align-items: end; margin-bottom: clamp(2rem,4vw,3.5rem); }
.nce-estate-image-story__heading h2 { max-width: 12ch; margin-bottom: 0; font-family: var(--nce-sans); font-size: clamp(2.8rem,5vw,5.6rem); font-weight: 510; letter-spacing: -.055em; line-height: .95; }
.nce-estate-image-story__heading > p { max-width: 32rem; margin: 0 0 .45rem; color: rgba(6,45,107,.64); font-size: 1rem; line-height: 1.7; }
.nce-estate-image-story__rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(24rem,38vw); gap: .65rem; overflow-x: auto; overscroll-behavior-inline: contain; padding: 0 max(1rem,calc((100vw - var(--nce-shell)) / 2)) 1.2rem; scroll-padding-inline: max(1rem,calc((100vw - var(--nce-shell)) / 2)); scroll-snap-type: inline mandatory; scrollbar-width: thin; scrollbar-color: rgba(6,45,107,.28) transparent; }
.nce-estate-image-story__rail:focus-visible { outline: 2px solid var(--nce-green); outline-offset: -2px; }
.nce-estate-image-story__rail figure { position: relative; min-height: clamp(22rem,38vw,38rem); margin: 0; overflow: hidden; scroll-snap-align: start; background: #dcd8ce; }
.nce-estate-image-story__rail figure:nth-child(3n + 2) { margin-top: clamp(1.5rem,4vw,4rem); min-height: clamp(19rem,31vw,32rem); }
.nce-estate-image-story__rail img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88); transition: transform .75s cubic-bezier(.2,.8,.2,1),filter .4s ease; }
.nce-estate-image-story__rail figure:hover img { transform: scale(1.025); filter: saturate(1); }
.nce-estate-image-story__rail figure span { position: absolute; left: 1.1rem; bottom: 1rem; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(6,45,107,.72); color: #fff; font-size: .58rem; font-weight: 760; letter-spacing: .12em; backdrop-filter: blur(10px); }
.nce-estate-image-story__hint { display: flex; gap: .75rem; justify-content: flex-end; align-items: center; padding-top: 1.1rem; color: rgba(6,45,107,.54); }
.nce-estate-image-story__hint p { margin: 0; font-size: .62rem; font-weight: 720; letter-spacing: .12em; text-transform: uppercase; }

.nce-estate-subhero { position: relative; min-height: 36rem; display: flex; align-items: end; overflow: hidden; color: var(--nce-ivory); background: var(--nce-ink); isolation: isolate; }
.nce-estate-subhero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(6,45,107,.92), rgba(6,45,107,.42) 65%, rgba(6,45,107,.15)), linear-gradient(0deg, rgba(6,45,107,.55), transparent 60%); }
.nce-estate-subhero__media { position: absolute; z-index: -2; inset: 0; }
.nce-estate-subhero__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); }
.nce-estate-subhero__content { padding-block: clamp(4rem, 8vw, 7rem); }
.nce-estate-subhero h1 { max-width: 13ch; color: #fff; font-size: clamp(3.2rem, 5.4vw, 6rem); text-shadow: 0 .3rem 1.8rem rgba(3,18,44,.28); }
.nce-estate-subhero .nce-eyebrow { color: #d7bc8f; }
.nce-estate-subhero .nce-lede { max-width: 42rem; color: rgba(255,255,255,.88); }
.nce-estate-breadcrumbs { display: flex; gap: .55rem; margin-bottom: clamp(3rem, 8vw, 6rem); color: rgba(255,255,255,.86); font-size: .68rem; font-weight: 720; letter-spacing: .07em; text-transform: uppercase; }
.nce-estate-breadcrumbs a { color: #fff; text-decoration: none; }
.nce-estate-breadcrumbs a:hover { color: #d7bc8f; }
.nce-estate-lifestyle--page { min-height: 62rem; }
.nce-estate-map-section--page { padding-bottom: 0; }
.nce-estate-enquire--page { min-height: 46rem; display: flex; align-items: center; }
.nce-estate-page-intro { max-width: 48rem; margin: -1rem 0 3rem; color: rgba(6,45,107,.62); }

.nce-estate-overview { position: relative; display: grid; grid-template-columns: 7rem minmax(0, 1fr) minmax(20rem, .58fr); gap: clamp(2rem, 5vw, 6rem); align-items: start; }
.nce-estate-overview h2 { max-width: 10ch; }
.nce-estate-overview > div:nth-child(2) > p:last-child { max-width: 42rem; color: rgba(6,45,107,.64); }
.nce-estate-section-number { color: color-mix(in srgb, var(--nce-estate-accent) 18%, transparent); font-family: var(--nce-display); font-size: clamp(5rem, 8vw, 8rem); line-height: .8; }
.nce-estate-overview aside { padding-top: .3rem; }
.nce-estate-facts { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--nce-border); border-left: 1px solid var(--nce-border); }
.nce-estate-facts span { min-height: 7.6rem; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.2rem; border-right: 1px solid var(--nce-border); border-bottom: 1px solid var(--nce-border); color: rgba(6,45,107,.58); font-size: .68rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.nce-estate-facts strong { margin-bottom: .35rem; color: var(--nce-ink); font-family: var(--nce-display); font-size: 1.45rem; font-weight: 400; letter-spacing: -.02em; text-transform: none; }
.nce-estate-overview .nce-disclaimer { margin-top: 1.2rem; padding: 1.1rem 0 0; border: 0; border-top: 1px solid var(--nce-border); background: transparent; color: rgba(6,45,107,.55); font-size: .72rem; }

.nce-estate-lifestyle { display: grid; grid-template-columns: minmax(22rem, .55fr) minmax(0, 1.45fr); min-height: 55rem; background: #062d6b; color: var(--nce-ivory); }
.nce-estate-lifestyle__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem, 7vw, 8rem); }
.nce-estate-lifestyle__copy h2 { max-width: 8ch; }
.nce-estate-lifestyle__copy > p:not(.nce-eyebrow) { max-width: 29rem; color: rgba(241,238,230,.66); }
.nce-estate-lifestyle__copy .nce-text-link { margin-top: 1.3rem; color: #fff; }
.nce-estate-lifestyle__gallery { display: grid; grid-template-columns: 1.2fr .8fr; grid-template-rows: 1fr 1fr; gap: .45rem; padding: .45rem .45rem .45rem 0; }
.nce-estate-lifestyle__gallery figure { position: relative; min-height: 20rem; margin: 0; overflow: hidden; }
.nce-estate-lifestyle__gallery figure:first-child { grid-row: 1 / span 2; }
.nce-estate-lifestyle__gallery img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.nce-estate-lifestyle__gallery figure:hover img { transform: scale(1.025); }
.nce-estate-lifestyle__gallery figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: .42rem .55rem; background: rgba(6,45,107,.82); color: rgba(255,255,255,.76); font-size: .56rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.nce-estate-map-section { padding-top: clamp(6rem, 9vw, 9rem); background: var(--nce-ivory); }
.nce-estate-map-section__intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .45fr); gap: 4rem; align-items: end; margin-bottom: 3rem; }
.nce-estate-map-section__intro h2 { max-width: 10ch; }
.nce-estate-map-section .nce-map-frame { border-top: 1px solid var(--nce-border); border-bottom: 1px solid var(--nce-border); }
.nce-estate-map-section .nce-map-toolbar { border: 1px solid rgba(6,45,107,.12); }

.nce-estate-developments .nce-section-heading h2, .nce-estate-property .nce-section-heading h2 { max-width: 11ch; }
.nce-estate-developments .nce-card-grid { grid-template-columns: 1fr; }
.nce-estate-developments .nce-development-card > a { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(22rem, .75fr); background: var(--nce-ivory); }
.nce-estate-developments .nce-development-card .nce-card-media { aspect-ratio: 16 / 9; }
.nce-estate-developments .nce-development-card .nce-card-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(2.5rem, 6vw, 6rem); border: 0; }
.nce-estate-developments .nce-development-card h3 { font-size: clamp(2.4rem, 4vw, 4.6rem); }
.nce-estate-editorial-note { display: grid; grid-template-columns: 10rem minmax(0, 42rem); gap: 3rem; align-items: end; padding-block: 3rem; border-top: 1px solid var(--nce-border); border-bottom: 1px solid var(--nce-border); }
.nce-estate-editorial-note span { color: var(--nce-estate-accent); font-family: var(--nce-display); font-size: 6rem; line-height: 1; }
.nce-estate-editorial-note p { margin: 0; color: rgba(6,45,107,.64); font-size: 1.05rem; }
.nce-estate-property .nce-listing-card .nce-card-status { background: var(--nce-estate-accent); }

.nce-estate-enquire { padding-block: clamp(6rem, 10vw, 10rem); background: color-mix(in srgb, var(--nce-estate-accent) 34%, #062d6b); color: var(--nce-ivory); }
.nce-estate-enquire__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(24rem, .66fr); gap: clamp(3rem, 9vw, 9rem); }
.nce-estate-enquire h2 { max-width: 10ch; }
.nce-estate-enquire .nce-lede { color: rgba(241,238,230,.72); }
.nce-estate-enquire .nce-form { padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--nce-paper); color: var(--nce-ink); }
.nce-estate-enquire .nce-button { background: var(--nce-estate-accent); border-color: var(--nce-estate-accent); }

.nce-microsite-footer { padding: clamp(5rem, 8vw, 8rem) 0 1.5rem; background: #062d6b; color: var(--nce-ivory); }
.nce-microsite-footer__grid { display: grid; grid-template-columns: 1.2fr .7fr .8fr; gap: clamp(2rem, 6vw, 7rem); }
.nce-microsite-footer__name { margin-bottom: 1rem; font-family: var(--nce-display); font-size: clamp(2.5rem, 4vw, 4.2rem); line-height: 1; }
.nce-microsite-footer__name + p { max-width: 28rem; color: rgba(241,238,230,.58); }
.nce-microsite-footer nav { display: grid; gap: .55rem; }
.nce-microsite-footer nav a { color: rgba(241,238,230,.72); text-decoration: none; }
.nce-microsite-footer .nce-text-link { color: #fff; }
.nce-microsite-footer__legal { display: flex; justify-content: space-between; gap: 1rem; margin-top: 5rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.14); color: rgba(241,238,230,.45); font-size: .67rem; }

@media (max-width: 1120px) {
  .nce-microsite-wordmark { position: static; margin-right: auto; transform: none; }
  .nce-microsite-parent { min-width: auto; }
  .nce-microsite-parent span:last-child { display: none; }
  .nce-microsite-header .nce-nav-toggle { display: block; margin-left: auto; }
  .nce-microsite-nav { position: fixed; inset: 6rem 0 0; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; padding: 2rem 1.25rem max(2rem,env(safe-area-inset-bottom)); background: var(--nce-ivory); transform: translateX(100%); visibility: hidden; transition: transform .3s ease, visibility .3s; }
  .nce-microsite-header[data-scrolled] .nce-microsite-nav { inset-block-start: 5rem; }
  .nce-microsite-nav[data-open] { transform: none; visibility: visible; }
  .nce-microsite-nav ul { display: grid; gap: 0; }
  .nce-microsite-nav ul a { display: block; padding: .9rem 0; border-bottom: 1px solid var(--nce-border); font-family: var(--nce-display); font-size: 1.75rem; font-weight: 400; }
  .nce-estate-overview { grid-template-columns: 5rem 1fr; }
  .nce-estate-overview aside { grid-column: 2; }
  .nce-estate-lifestyle { grid-template-columns: 1fr; }
  .nce-estate-lifestyle__copy { min-height: 32rem; }
  .nce-estate-lifestyle__gallery { min-height: 48rem; padding-left: .45rem; }
  .nce-estate-site-directory { grid-template-columns: repeat(2, 1fr); }
  .nce-estate-home-feature { grid-template-columns: 1fr; }
  .nce-estate-image-story__heading { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .nce-microsite-header { height: 4.8rem; }
  .nce-microsite-header__inner { gap: .75rem; }
  .nce-microsite-parent .nce-brand__mark { width: 2.25rem; }
  .nce-microsite-wordmark { font-size: 1.45rem; }
  .nce-microsite-nav, .nce-microsite-header[data-scrolled] .nce-microsite-nav { inset-block-start: 4.8rem; }
  .nce-estate-site .nce-estate-hero { min-height: 43rem; }
  .nce-estate-site .nce-estate-hero__content h1 { font-size: clamp(3.3rem, 15vw, 4.7rem); }
  .nce-estate-hero__index { display: none; }
  .nce-estate-home-intro, .nce-estate-site-directory { grid-template-columns: 1fr; }
  .nce-estate-site-directory > a { min-height: 15rem; }
  .nce-estate-home-feature > div:last-child { padding: 4rem 1rem; }
  .nce-estate-image-story__rail { grid-auto-columns: minmax(20rem,76vw); }
  .nce-estate-subhero { min-height: 34rem; }
  .nce-estate-subhero__content { padding-block: 3.5rem; }
  .nce-estate-breadcrumbs { margin-bottom: 4rem; }
  .nce-estate-overview { grid-template-columns: 1fr; }
  .nce-estate-section-number { font-size: 5rem; }
  .nce-estate-overview aside { grid-column: auto; }
  .nce-estate-lifestyle__copy { min-height: 28rem; padding: 4rem 1rem; }
  .nce-estate-lifestyle__gallery { grid-template-columns: 1fr; grid-template-rows: repeat(3, 22rem); min-height: 0; }
  .nce-estate-lifestyle__gallery figure:first-child { grid-row: auto; }
  .nce-estate-map-section__intro, .nce-estate-enquire__grid { grid-template-columns: 1fr; gap: 2rem; }
  .nce-estate-map-section__intro { padding-inline: .75rem; }
  .nce-estate-developments .nce-development-card > a { grid-template-columns: 1fr; }
  .nce-estate-developments .nce-development-card .nce-card-body { padding: 2rem 1.4rem; }
  .nce-estate-editorial-note { grid-template-columns: 1fr; gap: 1rem; }
  .nce-microsite-footer__grid { grid-template-columns: 1fr; }
  .nce-microsite-footer__legal { flex-direction: column; }
}

/* Premium navigation system */
html.nce-menu-open { overflow: hidden; }

.nce-header {
  height: 6.35rem;
  color: #f7f6f2;
  background: rgba(13, 31, 27, .985);
  border-bottom: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 40px rgba(4,17,14,.12);
}
.nce-header[data-scrolled] { height: 5.4rem; border-bottom-color: rgba(255,255,255,.14); }
.nce-header__inner { gap: clamp(2rem, 4vw, 4.8rem); }
.nce-brand { flex: 0 0 auto; gap: 1rem; }
.nce-header .nce-brand__mark { width: 3.5rem; border-color: rgba(245,241,232,.62); color: #f7f6f2; box-shadow: 0 0 0 1px rgba(215,182,126,.08), inset 0 0 0 1px rgba(215,182,126,.05); }
.nce-brand__identity { display: grid; gap: .42rem; }
.nce-header .nce-brand__name { color: #fff; font-size: 1.48rem; letter-spacing: -.035em; }
.nce-header .nce-brand__name em { color: #d8c6a3; }
.nce-brand__identity small { color: rgba(245,241,232,.48); font-size: .47rem; font-weight: 720; letter-spacing: .185em; line-height: 1; text-transform: uppercase; }
.nce-footer .nce-brand__mark { color: #f7f6f2; border-color: rgba(245,241,232,.56); }
.nce-footer .nce-brand__name { color: #f7f6f2; }
.nce-footer .nce-brand__name em { color: #d8c6a3; }
.nce-footer .nce-brand__identity small { color: rgba(245,241,232,.42); }
.nce-header .nce-nav { margin-left: auto; gap: clamp(1.4rem, 2.2vw, 2.5rem); }
.nce-header .nce-nav__list { counter-reset: nce-primary-nav; gap: clamp(1.1rem, 2vw, 2.2rem); }
.nce-header .nce-nav__list li { counter-increment: nce-primary-nav; }
.nce-header .nce-nav__list a {
  display: grid;
  gap: .3rem;
  padding: .75rem 0 .55rem;
  color: rgba(245,241,232,.76);
  font-size: .7rem;
  font-weight: 720;
  letter-spacing: .105em;
  line-height: 1;
  text-transform: uppercase;
  transition: color .2s ease;
}
.nce-header .nce-nav__list a::before { content: "0" counter(nce-primary-nav); color: #d8c6a3; font-size: .48rem; font-weight: 760; letter-spacing: .16em; }
.nce-header .nce-nav__list a::after { bottom: 0; height: 1px; background: #d8c6a3; }
.nce-header .nce-nav__list a:hover,
.nce-header .nce-nav__list .current-menu-item a { color: #fff; }
.nce-header .nce-button {
  min-height: 3.15rem;
  padding-inline: 1.35rem;
  background: #d8c6a3;
  border-color: #d8c6a3;
  color: #062d6b;
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.nce-header .nce-button:hover { background: #f7f6f2; border-color: #f7f6f2; color: #062d6b; }
.nce-header .nce-nav-toggle { color: #f7f6f2; }
.nce-mobile-menu-experience,
.nce-mobile-menu-actions__quick { display: none; }
.nce-mobile-menu-actions { display: contents; }

@media (min-width: 961px) {
  .nce-header .nce-nav__list > li { position: relative; display: flex; align-items: center; gap: .28rem; }
  .nce-nav__mega-toggle { width: 1.25rem; height: 2.5rem; display: grid; place-items: center; margin-left: -.2rem; padding: 0; color: rgba(245,241,232,.62); border: 0; background: transparent; cursor: pointer; }
  .nce-nav__mega-toggle::before { content: ""; width: .38rem; height: .38rem; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-.12rem) rotate(45deg); transition: transform .2s ease, color .2s ease; }
  .nce-nav__mega-toggle:hover,
  .nce-nav__mega-toggle[aria-expanded="true"] { color: #d8c6a3; }
  .nce-nav__mega-toggle[aria-expanded="true"]::before { transform: translateY(.1rem) rotate(225deg); }

  .nce-mega-menu {
    position: fixed;
    z-index: 90;
    top: 6.35rem;
    right: 0;
    left: 0;
    width: 100vw;
    color: #062d6b;
    background: rgba(248,246,239,.99);
    border-top: 1px solid rgba(216,183,126,.3);
    border-bottom: 1px solid rgba(6,45,107,.13);
    box-shadow: 0 34px 80px rgba(4,17,14,.22);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-.7rem);
    transition: opacity .22s ease, transform .28s cubic-bezier(.2,.8,.2,1), visibility .22s;
  }
  .nce-header[data-scrolled] .nce-mega-menu { top: 5.4rem; }
  .nce-mega-menu[data-open] { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
  .nce-mega-menu__inner { width: var(--nce-shell); margin-inline: auto; display: grid; grid-template-columns: minmax(14rem,.55fr) minmax(0,1.55fr) minmax(13rem,.48fr); align-items: stretch; gap: clamp(1.6rem,3vw,3.4rem); padding-block: 2rem 2.25rem; }
  .nce-mega-menu__intro { align-self: center; padding-right: clamp(1rem,2vw,2rem); border-right: 1px solid rgba(6,45,107,.14); }
  .nce-mega-menu__intro .nce-eyebrow { margin-bottom: .8rem; font-size: .54rem; }
  .nce-mega-menu__intro .nce-eyebrow::before { width: 1.65rem; }
  .nce-mega-menu__intro h2 { max-width: 9ch; margin-bottom: .55rem; font-size: clamp(2rem,2.8vw,3rem); line-height: .95; }
  .nce-mega-menu__intro > p:not(.nce-eyebrow) { max-width: 23rem; margin-bottom: 1rem; color: rgba(6,45,107,.62); font-size: .72rem; line-height: 1.65; }
  .nce-mega-menu__intro .nce-text-link { color: #10c7c7; font-size: .66rem; }

  .nce-mega-menu__featured { min-width: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; }
  .nce-mega-card { min-width: 0; display: grid; grid-template-rows: 8.5rem auto; color: #062d6b; background: #ffffff; border: 1px solid rgba(6,45,107,.11); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
  .nce-mega-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(7,24,20,.13); }
  .nce-mega-card__media { display: block; overflow: hidden; background: #d9d2c4; }
  .nce-mega-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.02); transition: transform .5s ease; }
  .nce-mega-card:hover .nce-mega-card__media img { transform: scale(1.035); }
  .nce-mega-card__copy { min-width: 0; display: grid; gap: .22rem; padding: .8rem .85rem .9rem; }
  .nce-mega-card__copy small { color: #d8c6a3; font-size: .48rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
  .nce-mega-card__copy strong { overflow: hidden; font-family: var(--nce-display); font-size: 1.3rem; font-weight: 400; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
  .nce-mega-card__copy > span { color: rgba(6,45,107,.56); font-size: .6rem; line-height: 1.45; }

  .nce-mega-menu__links { align-self: center; display: grid; }
  .nce-mega-menu__links > p { margin: 0 0 .65rem; color: #d8c6a3; font-size: .5rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
  .nce-mega-menu__links a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 0; color: #062d6b; border-bottom: 1px solid rgba(6,45,107,.14); font-family: var(--nce-display); font-size: 1.05rem; line-height: 1.2; text-decoration: none; }
  .nce-mega-menu__links a:first-of-type { border-top: 1px solid rgba(6,45,107,.14); }
  .nce-mega-menu__links i { color: #d8c6a3; font-family: var(--nce-sans); font-size: .8rem; font-style: normal; transition: transform .2s ease; }
  .nce-mega-menu__links a:hover i { transform: translateX(.25rem); }

  .nce-mega-menu__inner--development { grid-template-columns: minmax(14rem,.55fr) minmax(25rem,1.4fr) minmax(13rem,.5fr); }
  .nce-mega-development { min-width: 0; display: grid; grid-template-columns: minmax(14rem,.9fr) minmax(14rem,1fr); color: #f7f6f2; background: #062d6b; text-decoration: none; overflow: hidden; }
  .nce-mega-development__media { min-height: 13rem; overflow: hidden; }
  .nce-mega-development__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) contrast(1.06); transition: transform .55s ease; }
  .nce-mega-development:hover .nce-mega-development__media img { transform: scale(1.035); }
  .nce-mega-development__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 1.4rem; }
  .nce-mega-development__copy small { color: #d8c6a3; font-size: .48rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
  .nce-mega-development__copy strong { margin-top: .45rem; font-family: var(--nce-display); font-size: clamp(2rem,2.6vw,3rem); font-weight: 400; line-height: .95; }
  .nce-mega-development__copy > span { margin-top: .65rem; color: rgba(245,241,232,.63); font-size: .65rem; line-height: 1.55; }
  .nce-mega-development__copy em { margin-top: 1rem; color: #f7f6f2; font-size: .58rem; font-style: normal; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
  .nce-mega-development__copy em i { color: #d8c6a3; font-style: normal; }
}

@media (min-width: 961px) and (max-width: 1180px) {
  .nce-mega-menu__inner { grid-template-columns: minmax(13rem,.65fr) minmax(0,1.35fr) minmax(12rem,.55fr); gap: 1.4rem; }
  .nce-mega-menu__featured { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-mega-menu__featured .nce-mega-card:nth-child(3) { display: none; }
  .nce-mega-menu__inner--development { grid-template-columns: minmax(13rem,.62fr) minmax(23rem,1.25fr) minmax(12rem,.55fr); }
  .nce-mega-development { grid-template-columns: minmax(11rem,.8fr) minmax(12rem,1fr); }
}

@media (max-width: 960px) {
  .nce-mega-menu,
  .nce-nav__mega-toggle { display: none !important; }

  .nce-header,
  .nce-header[data-scrolled] { height: 5.25rem; background: #062d6b; border-bottom-color: rgba(217,184,125,.22); box-shadow: none; }
  .nce-header__inner { width: calc(100% - 2rem); }
  .nce-header .nce-brand__mark { width: 3rem; }
  .nce-header .nce-nav-toggle { position: relative; z-index: 3; width: 3.65rem; height: 3.65rem; display: grid; align-content: center; color: #f7f6f2; border: 1px solid rgba(217,184,125,.65); transition: background-color .25s ease,border-color .25s ease; }
  .nce-header .nce-nav-toggle > span:not(.screen-reader-text) { width: 1.45rem; margin-block: .24rem; transition: transform .28s cubic-bezier(.2,.8,.2,1),opacity .18s ease,width .2s ease; transform-origin: center; }
  .nce-header .nce-nav-toggle[aria-expanded="true"] { background: #b99058; border-color: #b99058; }
  .nce-header .nce-nav-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(.49rem) rotate(45deg); }
  .nce-header .nce-nav-toggle[aria-expanded="true"] > span:nth-child(2) { width: 0; opacity: 0; }
  .nce-header .nce-nav-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-.49rem) rotate(-45deg); }

  .nce-header .nce-nav { position: fixed; z-index: 2; inset: 5.25rem 0 0; display: grid; grid-template-rows: clamp(17rem,35svh,22rem) auto auto; align-content: start; align-items: stretch; gap: 0; margin: 0; padding: 0 0 max(1rem,env(safe-area-inset-bottom)); overflow-x: hidden; overflow-y: auto; color: #f7f6f2; background: #062d6b; opacity: 0; visibility: hidden; transform: translateY(-1.2rem) scale(.992); transform-origin: top; transition: opacity .3s ease,transform .42s cubic-bezier(.16,.84,.28,1),visibility .3s; overscroll-behavior: contain; }
  .nce-header .nce-nav[data-open] { opacity: 1; visibility: visible; transform: none; }

  .nce-mobile-menu-experience { position: relative; width: 100%; min-height: 0; display: block; overflow: hidden; background: #062d6b; isolation: isolate; }
  .nce-mobile-menu-experience::after { display: none; }
  .nce-mobile-menu-experience__scenes,
  .nce-mobile-menu-experience__scenes figure { position: absolute; inset: 0; margin: 0; }
  .nce-mobile-menu-experience__scenes figure { opacity: 0; transform: scale(1.055); transition: opacity .65s ease,transform 1.15s cubic-bezier(.2,.8,.2,1); }
  .nce-mobile-menu-experience__scenes figure::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(4,20,16,.9) 0%,rgba(4,20,16,.43) 56%,rgba(4,20,16,.08) 100%),linear-gradient(0deg,rgba(4,20,16,.88) 0%,transparent 66%); pointer-events: none; }
  .nce-mobile-menu-experience__scenes figure[data-active] { opacity: 1; transform: scale(1); }
  .nce-mobile-menu-experience__scenes img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.08); }
  .nce-mobile-menu-experience__scenes figcaption { position: absolute; z-index: 3; left: clamp(1.5rem,5vw,3.5rem); bottom: clamp(1.5rem,4vw,2.6rem); width: min(36rem,calc(100% - 7rem)); display: grid; justify-items: start; color: #f7f6f2; }
  .nce-mobile-menu-experience__scenes figcaption small { margin-bottom: .6rem; color: #e1bd7c; font-size: .51rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
  .nce-mobile-menu-experience__scenes figcaption strong { max-width: 15ch; font-family: var(--nce-display); font-size: clamp(2.5rem,6vw,4rem); font-weight: 400; letter-spacing: -.025em; line-height: .92; text-wrap: balance; }
  .nce-mobile-menu-experience__scenes figcaption > span { max-width: 31rem; margin-top: .65rem; color: rgba(255,250,240,.66); font-size: .68rem; line-height: 1.55; }
  .nce-mobile-menu-experience__edition { position: absolute; z-index: 3; top: 1.2rem; right: 1.5rem; left: 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: rgba(255,250,240,.6); font-size: .46rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
  .nce-mobile-menu-experience__edition em { color: rgba(255,250,240,.42); font-style: normal; }
  .nce-mobile-menu-experience__progress { position: absolute; z-index: 3; right: 1.5rem; bottom: 2rem; display: grid; gap: .42rem; }
  .nce-mobile-menu-experience__progress span { width: 1.25rem; height: 1px; background: rgba(255,255,255,.38); transition: width .3s ease,background-color .3s ease; }
  .nce-mobile-menu-experience__progress span[data-active] { width: 2.8rem; background: #e1bd7c; transform: translateX(-1.55rem); }
  .nce-mobile-menu-experience__gesture { position: absolute; z-index: 3; top: 50%; right: .85rem; color: rgba(255,250,240,.45); font-size: .42rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; transform: translateY(-50%); writing-mode: vertical-rl; }

  .nce-header .nce-nav__list { position: relative; z-index: 2; width: 100%; display: grid; gap: 0; margin: 0; padding: .75rem clamp(1.5rem,5vw,3.5rem) 0; counter-reset: nce-mobile-nav; background: #062d6b; }
  .nce-header .nce-nav__list li { min-width: 0; counter-increment: nce-mobile-nav; opacity: 0; transform: translateY(1rem); transition: opacity .35s ease,transform .42s cubic-bezier(.2,.8,.2,1); }
  .nce-header .nce-nav[data-entered] .nce-nav__list li { opacity: 1; transform: none; }
  .nce-header .nce-nav[data-entered] .nce-nav__list li:nth-child(1) { transition-delay: .06s; }
  .nce-header .nce-nav[data-entered] .nce-nav__list li:nth-child(2) { transition-delay: .1s; }
  .nce-header .nce-nav[data-entered] .nce-nav__list li:nth-child(3) { transition-delay: .14s; }
  .nce-header .nce-nav[data-entered] .nce-nav__list li:nth-child(4) { transition-delay: .18s; }
  .nce-header .nce-nav[data-entered] .nce-nav__list li:nth-child(5) { transition-delay: .22s; }
  .nce-header .nce-nav__list a { min-height: 4.1rem; display: grid; grid-template-columns: 2.6rem minmax(0,1fr) auto; align-items: center; gap: .9rem; padding: .55rem 0; color: rgba(255,250,240,.82); border-top: 1px solid rgba(255,255,255,.13); font-family: var(--nce-display); font-size: clamp(2rem,4.8vw,3rem); font-weight: 400; letter-spacing: -.025em; line-height: 1; transition: color .2s ease,padding-left .25s ease; }
  .nce-header .nce-nav__list li:last-child a { border-bottom: 1px solid rgba(255,255,255,.13); }
  .nce-header .nce-nav__list a::before { content: "0" counter(nce-mobile-nav); color: #d8c6a3; font-family: var(--nce-sans); font-size: .48rem; font-weight: 800; letter-spacing: .16em; }
  .nce-header .nce-nav__list a::after { content: "↗"; position: static; width: auto; height: auto; color: rgba(217,184,125,.8); background: transparent; font-family: var(--nce-sans); font-size: .85rem; opacity: 0; transform: translate(-.5rem,.25rem); transition: opacity .2s ease,transform .25s ease; }
  .nce-header .nce-nav__list a:hover,
  .nce-header .nce-nav__list a:focus-visible,
  .nce-header .nce-nav__list .current-menu-item a { padding-left: .45rem; color: #fff; outline: 0; }
  .nce-header .nce-nav__list a:hover::after,
  .nce-header .nce-nav__list a:focus-visible::after,
  .nce-header .nce-nav__list .current-menu-item a::after { right: auto; opacity: 1; transform: none; }

  .nce-mobile-menu-actions { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(11rem,16rem) minmax(0,1fr); gap: 1.25rem; align-items: center; padding: 1rem clamp(1.5rem,5vw,3.5rem) 1.6rem; background: #062d6b; }
  .nce-header .nce-mobile-menu-actions > .nce-button { min-height: 3.65rem; display: flex; justify-content: space-between; padding-inline: 1.15rem; background: linear-gradient(135deg,#dcb97c,#bc8d50); border-color: #dcb97c; box-shadow: 0 .9rem 2.2rem rgba(1,15,12,.28); }
  .nce-header .nce-mobile-menu-actions > .nce-button span { font-family: var(--nce-display); font-size: 1.15rem; font-weight: 400; }
  .nce-mobile-menu-actions__quick { display: flex; flex-wrap: wrap; gap: .35rem 1.3rem; }
  .nce-mobile-menu-actions__quick a { color: rgba(255,250,240,.58); border-bottom: 1px solid rgba(217,184,125,.34); font-size: .55rem; font-weight: 760; letter-spacing: .09em; line-height: 1.8; text-decoration: none; text-transform: uppercase; }
  .nce-mobile-menu-actions__quick a:hover { color: #fff; border-bottom-color: #d8c6a3; }

  html.nce-menu-open .nce-property-mobile-contact { opacity: 0; pointer-events: none; transform: translateY(calc(100% + 2rem)); }
}

@media (max-width: 640px) {
  .nce-header,
  .nce-header[data-scrolled] { height: 4.8rem; }
  .nce-header__inner { width: calc(100% - 1.25rem); }
  .nce-header .nce-brand__mark { width: 2.55rem; }
  .nce-header .nce-nav-toggle { width: 3.25rem; height: 3.25rem; }
  .nce-header .nce-nav { inset-block-start: 4.8rem; grid-template-rows: clamp(15.5rem,35svh,19rem) auto auto; }
  .nce-mobile-menu-experience__edition { top: .9rem; right: 1rem; left: 1rem; }
  .nce-mobile-menu-experience__edition em { display: none; }
  .nce-mobile-menu-experience__scenes figcaption { right: 3rem; bottom: 1.25rem; left: 1rem; width: auto; }
  .nce-mobile-menu-experience__scenes figcaption small { margin-bottom: .4rem; font-size: .45rem; }
  .nce-mobile-menu-experience__scenes figcaption strong { font-size: clamp(2.25rem,10.5vw,3rem); }
  .nce-mobile-menu-experience__scenes figcaption > span { max-width: 27rem; margin-top: .45rem; font-size: .6rem; }
  .nce-mobile-menu-experience__progress { right: 1rem; bottom: 1.45rem; }
  .nce-mobile-menu-experience__gesture { display: none; }
  .nce-header .nce-nav__list { padding: .4rem 1rem 0; }
  .nce-header .nce-nav__list a { min-height: 3.5rem; grid-template-columns: 2.25rem minmax(0,1fr) auto; gap: .5rem; padding-block: .45rem; font-size: clamp(1.75rem,8vw,2.3rem); }
  .nce-header .nce-nav__list a::after { font-size: .72rem; }
  .nce-mobile-menu-actions { grid-template-columns: minmax(10rem,1fr) auto; gap: .8rem; padding: .8rem 1rem 1.2rem; }
  .nce-header .nce-mobile-menu-actions > .nce-button { min-height: 3.3rem; }
  .nce-mobile-menu-actions__quick { display: grid; gap: .15rem; }
  .nce-mobile-menu-actions__quick a { font-size: .47rem; white-space: nowrap; }
}

@media (max-height: 720px) and (max-width: 640px) {
  .nce-header .nce-nav { grid-template-rows: 13.5rem auto auto; }
  .nce-mobile-menu-experience__scenes figcaption > span { display: none; }
  .nce-header .nce-nav__list a { min-height: 3.15rem; }
}

.nce-microsite-header {
  display: grid;
  grid-template-rows: 2.15rem 5.65rem;
  height: 7.8rem;
  background: rgba(250,248,242,.985);
  border-bottom: 1px solid rgba(6,45,107,.12);
  box-shadow: 0 14px 40px rgba(4,17,14,.08);
  backdrop-filter: blur(18px);
}
.nce-microsite-header[data-scrolled] { height: 7.8rem; }
.nce-microsite-utility { color: rgba(245,241,232,.78); background: #062d6b; }
.nce-microsite-utility__inner {
  width: var(--nce-shell);
  height: 100%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.nce-microsite-parent { min-width: 0; gap: .55rem; color: #f7f6f2; font-size: .61rem; font-weight: 720; letter-spacing: .1em; text-transform: uppercase; }
.nce-microsite-parent .nce-brand__mark { width: 1.45rem; border-color: rgba(245,241,232,.48); }
.nce-microsite-parent .nce-brand__mark > span { font-size: .4rem; }
.nce-microsite-parent .nce-brand__mark > i { margin-top: .18rem; font-size: .12rem; }
.nce-microsite-parent .nce-brand__mark::before { inset: .11rem; }
.nce-microsite-parent .nce-brand__mark::after { right: .32rem; bottom: .42rem; left: .32rem; }
.nce-microsite-parent__name { display: inline; }
.nce-microsite-utility__note { padding-left: 1.25rem; border-left: 1px solid rgba(255,255,255,.18); color: rgba(245,241,232,.46); font-size: .56rem; font-weight: 680; letter-spacing: .12em; text-transform: uppercase; }
.nce-microsite-all-estates { display: inline-flex; align-items: center; gap: .65rem; margin-left: auto; color: rgba(245,241,232,.72); font-size: .57rem; font-weight: 720; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.nce-microsite-all-estates:hover { color: #fff; }
.nce-microsite-all-estates span { color: #d8c6a3; font-size: .9rem; transition: transform .2s ease; }
.nce-microsite-all-estates:hover span { transform: translateX(.2rem); }
.nce-microsite-header__inner { height: 5.65rem; justify-content: flex-start; gap: clamp(2rem, 4vw, 5rem); }
.nce-microsite-wordmark { position: static; flex: 0 0 auto; margin-right: auto; font-size: clamp(1.65rem, 2.2vw, 2.15rem); text-align: left; transform: none; }
.nce-microsite-wordmark::after { margin-top: .34rem; font-size: .34em; letter-spacing: .28em; text-align: left; }
.nce-microsite-nav { gap: clamp(1rem, 1.8vw, 1.8rem); }
.nce-microsite-nav ul { gap: clamp(.9rem, 1.45vw, 1.45rem); }
.nce-microsite-nav ul a {
  position: relative;
  display: block;
  padding: 1.85rem 0 1.7rem;
  color: rgba(6,45,107,.66);
  font-size: .65rem;
  font-weight: 760;
  letter-spacing: .095em;
  text-transform: uppercase;
  transition: color .2s ease;
}
.nce-microsite-nav ul a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 1.2rem; height: 1px; background: var(--nce-estate-accent); transition: right .2s ease; }
.nce-microsite-nav ul a:hover::after,
.nce-microsite-nav ul a[aria-current="page"]::after { right: 0; }
.nce-microsite-nav ul a[aria-current="page"] { box-shadow: none; }
.nce-microsite-nav .nce-button { min-height: 3rem; padding-inline: 1.15rem; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 1180px) {
  .nce-brand__identity small { display: none; }
  .nce-header__inner { gap: 1.6rem; }
  .nce-header .nce-nav__list { gap: 1.1rem; }
  .nce-header .nce-nav { gap: 1.2rem; }
}

@media (max-width: 1120px) {
  .nce-microsite-header,
  .nce-microsite-header[data-scrolled] { grid-template-rows: 2rem 4.95rem; height: 6.95rem; }
  .nce-microsite-header__inner { height: 4.95rem; }
  .nce-microsite-wordmark { margin-right: auto; }
  .nce-microsite-header .nce-nav-toggle { color: var(--nce-ink); }
  .nce-microsite-nav,
  .nce-microsite-header[data-scrolled] .nce-microsite-nav {
    inset: 6.95rem 0 auto;
    z-index: 2;
    height: calc(100svh - 6.95rem);
    justify-content: flex-start;
    gap: 2.5rem;
    padding: clamp(2rem, 6vw, 4rem) max(1.5rem,calc((100vw - var(--nce-shell)) / 2)) max(2rem,env(safe-area-inset-bottom));
    overflow-y: auto;
    color: #f7f6f2;
    background: #062d6b;
  }
  .nce-microsite-nav ul a { padding: 1rem 0; color: rgba(245,241,232,.76); border-color: rgba(255,255,255,.14); font-size: clamp(1.9rem, 5vw, 3rem); letter-spacing: -.02em; text-transform: none; }
  .nce-microsite-nav ul a::after { display: none; }
  .nce-microsite-nav ul a:hover,
  .nce-microsite-nav ul a[aria-current="page"] { color: #fff; }
  .nce-microsite-nav .nce-button { align-self: flex-start; min-width: 12rem; }
}

@media (max-width: 960px) {
  .nce-header,
  .nce-header[data-scrolled] { height: 5.35rem; }
  .nce-header .nce-nav {
    inset: 5.35rem 0 0;
    z-index: 2;
    height: calc(100svh - 5.35rem);
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: clamp(17rem,35svh,22rem) auto auto;
    justify-content: flex-start;
    gap: 0;
    padding: 0 0 max(1rem,env(safe-area-inset-bottom));
    overflow-y: auto;
    color: #f7f6f2;
    background: #062d6b;
  }
  .nce-mobile-menu-experience,
  .nce-header .nce-nav__list,
  .nce-mobile-menu-actions { grid-column: 1 / -1; width: 100%; max-width: none; justify-self: stretch; }
  .nce-header .nce-nav__list { gap: 0; }
  .nce-header .nce-nav__list a {
    min-height: 4.1rem;
    grid-template-columns: 2.6rem minmax(0,1fr) auto;
    align-items: center;
    gap: .9rem;
    padding: .55rem 0;
    color: rgba(245,241,232,.8);
    border-top: 1px solid rgba(255,255,255,.13);
    border-bottom: 0;
    font-family: var(--nce-display);
    font-size: clamp(2rem,4.8vw,3rem);
    font-weight: 400;
    letter-spacing: -.025em;
    text-transform: none;
  }
  .nce-header .nce-nav__list a::before { font-family: var(--nce-sans); font-size: .55rem; }
  .nce-header .nce-nav__list a::after { display: block; }
  .nce-header .nce-button { align-self: flex-start; min-width: 12rem; }
  .nce-filter-bar { top: 5.35rem; }
}

@media (max-width: 640px) {
  .nce-header,
  .nce-header[data-scrolled] { height: 4.9rem; }
  .nce-header .nce-nav { inset-block-start: 4.9rem; height: calc(100svh - 4.9rem); grid-template-rows: clamp(15.5rem,35svh,19rem) auto auto; }
  .nce-header .nce-brand__mark { width: 2.65rem; }
  .nce-brand__identity { display: none; }
  .nce-filter-bar { top: 4.9rem; }
  .nce-microsite-header,
  .nce-microsite-header[data-scrolled] { grid-template-rows: 1.85rem 4.75rem; height: 6.6rem; }
  .nce-microsite-utility__note { display: none; }
  .nce-microsite-parent__name { font-size: .51rem; }
  .nce-microsite-all-estates { font-size: .5rem; }
  .nce-microsite-header__inner { height: 4.75rem; }
  .nce-microsite-wordmark { font-size: 1.5rem; }
  .nce-microsite-nav,
  .nce-microsite-header[data-scrolled] .nce-microsite-nav { inset-block-start: 6.6rem; height: calc(100svh - 6.6rem); }
}

/* Property detail experience */
.nce-property-page { background: var(--nce-ivory); }
.nce-property-hero {
  position: relative;
  min-height: calc(100svh - 6.35rem);
  display: grid;
  color: #fff;
  background: linear-gradient(135deg, #062d6b, #062d6b);
  isolation: isolate;
}
.nce-property-hero__media,
.nce-property-hero__shade { position: absolute; inset: 0; }
.nce-property-hero__media { z-index: -2; overflow: hidden; }
.nce-property-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.nce-property-hero__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(8,24,20,.9) 0%, rgba(8,24,20,.58) 43%, rgba(8,24,20,.05) 75%),
    linear-gradient(0deg, rgba(8,24,20,.78) 0%, transparent 46%);
}
.nce-property-hero__content { min-height: inherit; display: flex; flex-direction: column; padding-block: clamp(2rem, 4vw, 4.5rem); }
.nce-property-back {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: rgba(255,255,255,.72);
  font-size: .67rem;
  font-weight: 740;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}
.nce-property-back span { color: #d8c6a3; font-size: 1rem; transition: transform .2s ease; }
.nce-property-back:hover { color: #fff; }
.nce-property-back:hover span { transform: translateX(-.25rem); }
.nce-property-hero__body { margin-top: auto; }
.nce-property-identity { max-width: 62rem; }
.nce-property-demo-flag {
  width: fit-content;
  margin: 0 0 1.5rem;
  padding: .55rem .75rem;
  color: #302819;
  background: #d8c6a3;
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.nce-property-hero .nce-eyebrow { color: #e0c28f; }
.nce-property-hero h1 { max-width: 12ch; margin-bottom: 1.25rem; font-size: clamp(3.8rem, 7vw, 7.4rem); line-height: .92; }
.nce-property-hero__lede { max-width: 44rem; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.65; }
.nce-property-hero__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-top: clamp(2.5rem, 5vw, 5rem);
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.28);
}
.nce-property-hero__footer > div:first-child { display: grid; gap: .2rem; }
.nce-property-hero__footer > div:first-child span { color: rgba(255,255,255,.55); font-size: .62rem; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; }
.nce-property-hero__footer strong { font-family: var(--nce-display); font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 400; line-height: 1; }
.nce-property-hero .nce-button { border-color: #d8c6a3; background: #d8c6a3; color: #062d6b; }
.nce-property-hero .nce-button--ghost { border-color: rgba(255,255,255,.45); background: rgba(10,28,24,.28); color: #fff; backdrop-filter: blur(12px); }
.nce-property-hero__caption {
  position: absolute;
  right: clamp(1rem, 3vw, 3.5rem);
  bottom: clamp(1.25rem, 2vw, 2.25rem);
  display: grid;
  justify-items: end;
  gap: .2rem;
  margin: 0;
  color: rgba(255,255,255,.7);
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}
.nce-property-hero__caption span { color: #e0c28f; font-weight: 760; }

.nce-property-overview { padding-block: clamp(.8rem, 1.25vw, 1.3rem) clamp(4rem, 7vw, 7rem); background: #f7f6f2; }
.nce-property-overview .nce-property-layout { grid-template-columns: minmax(0, 1.25fr) minmax(22rem, .62fr); align-items: start; gap: clamp(3rem, 8vw, 9rem); }
.nce-property-overview main > h2 { max-width: 13ch; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); font-size: clamp(2.8rem, 4.9vw, 5.4rem); }
.nce-property-story__mobile-heading { display: none; }
.nce-property-overview .nce-property-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  border-color: rgba(6,45,107,.22);
}
.nce-property-overview .nce-property-facts span { min-height: 6.25rem; display: grid; align-content: center; padding: 1rem 1.25rem; border-right: 1px solid var(--nce-border); font-size: .67rem; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.nce-property-overview .nce-property-facts span:nth-child(3n) { border-right: 0; }
.nce-property-overview .nce-property-facts span:nth-child(n+4) { border-top: 1px solid var(--nce-border); }
.nce-property-overview .nce-property-facts strong { display: block; margin-bottom: .15rem; font-family: var(--nce-display); font-size: 1.9rem; font-weight: 400; letter-spacing: -.02em; text-transform: none; }
.nce-property-story { max-width: 48rem; margin-top: 0; }
.nce-property-story p { color: rgba(6,45,107,.72); font-size: 1.02rem; line-height: 1.85; }
.nce-property-story p:first-child::first-letter { float: left; margin: .11em .12em 0 0; color: var(--nce-green); font-family: var(--nce-display); font-size: 4.6rem; line-height: .72; }
.nce-property-features { margin-top: clamp(3.5rem, 6vw, 6rem); padding-top: 2rem; border-top: 1px solid var(--nce-border); }
.nce-property-features ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--nce-border); }
.nce-property-features li { display: flex; align-items: center; gap: .8rem; min-height: 4.25rem; padding: .75rem 0; border-bottom: 1px solid var(--nce-border); color: rgba(6,45,107,.76); font-size: .82rem; }
.nce-property-features li:nth-child(odd) { padding-right: 1.25rem; border-right: 1px solid var(--nce-border); }
.nce-property-features li:nth-child(even) { padding-left: 1.25rem; }
.nce-property-features li span { color: var(--nce-brass); font-family: var(--nce-display); font-size: 1.45rem; }
.nce-property-enquiry { top: 7rem; padding: clamp(1.5rem, 3vw, 2.6rem); color: #f7f6f2; background: #062d6b; box-shadow: 0 32px 80px rgba(6,45,107,.18); }
.nce-property-enquiry .nce-eyebrow { color: #d8c6a3; }
.nce-property-enquiry h2 { max-width: 11ch; margin-bottom: 1.5rem; font-size: clamp(2.35rem, 3.5vw, 3.6rem); }
.nce-property-agent { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.6rem; padding-block: 1.15rem; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.nce-property-agent > span { width: 3rem; aspect-ratio: 1; display: grid; place-items: center; flex: 0 0 auto; color: #062d6b; background: #d8c6a3; border-radius: 50%; font-family: var(--nce-display); font-size: 1.45rem; }
.nce-property-agent div { display: grid; gap: .2rem; }
.nce-property-agent small { color: rgba(255,255,255,.5); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.nce-property-agent strong { font-size: .86rem; }
.nce-property-enquiry .nce-form { gap: .8rem; }
.nce-property-enquiry .nce-form label { color: rgba(255,255,255,.68); font-size: .7rem; }
.nce-property-enquiry .nce-form input,
.nce-property-enquiry .nce-form textarea { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; }
.nce-property-enquiry .nce-form input:focus,
.nce-property-enquiry .nce-form textarea:focus { border-color: #d8c6a3; outline: 1px solid #d8c6a3; }
.nce-property-enquiry .nce-form__consent { color: rgba(255,255,255,.55); font-size: .62rem; line-height: 1.45; }
.nce-property-enquiry .nce-button { width: 100%; color: #062d6b; background: #d8c6a3; border-color: #d8c6a3; }

.nce-property-gallery-section { scroll-margin-top: 6rem; color: #f7f6f2; background: #062d6b; }
.nce-property-gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.nce-property-gallery-heading h2 { max-width: 12ch; }
.nce-property-gallery-heading > p { display: grid; justify-items: end; gap: .25rem; margin: 0; color: rgba(255,255,255,.55); font-size: .68rem; font-weight: 720; letter-spacing: .1em; text-transform: uppercase; }
.nce-property-gallery-heading > p span { color: #d8c6a3; font-family: var(--nce-display); font-size: 2rem; font-weight: 400; letter-spacing: -.02em; }
.nce-property-gallery-section .nce-property-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: dense;
  grid-auto-rows: 4.5rem;
  gap: clamp(.65rem, 1.3vw, 1.15rem);
  margin: 0;
}
.nce-property-gallery__item { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #263542; }
.nce-property-gallery__item--1 { grid-column: 1 / span 8; grid-row: span 7; }
.nce-property-gallery__item--2 { grid-column: 9 / span 4; grid-row: span 4; }
.nce-property-gallery__item--3 { grid-column: 9 / span 4; grid-row: span 3; }
.nce-property-gallery__item--4 { grid-column: 1 / span 6; grid-row: span 5; }
.nce-property-gallery__item--5 { grid-column: 7 / span 6; grid-row: span 5; }
.nce-property-gallery__item--6 { grid-column: 1 / span 4; grid-row: span 4; }
.nce-property-gallery__item--7 { grid-column: 5 / span 4; grid-row: span 4; }
.nce-property-gallery__item--8 { grid-column: 9 / span 4; grid-row: span 4; }
.nce-property-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.nce-property-gallery__item:hover img { transform: scale(1.025); }
.nce-property-gallery__item figcaption { position: absolute; inset: auto 0 0; display: flex; gap: .75rem; padding: 2.75rem 1rem 1rem; color: rgba(255,255,255,.88); background: linear-gradient(0deg, rgba(5,18,15,.75), transparent); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.nce-property-gallery__item figcaption span { color: #d8c6a3; font-weight: 760; }
.nce-property-gallery-note { max-width: 52rem; margin: 2rem 0 0; padding-left: 1rem; color: rgba(255,255,255,.5); border-left: 2px solid #d8c6a3; font-size: .7rem; line-height: 1.65; }

.nce-property-place { background: #e7e1d5; }
.nce-property-place__intro { display: grid; grid-template-columns: 1.15fr .7fr; align-items: end; gap: clamp(2rem, 8vw, 10rem); }
.nce-property-place__intro h2 { max-width: 12ch; margin: 0; }
.nce-property-place__intro > div:last-child p { color: rgba(6,45,107,.65); line-height: 1.7; }
.nce-property-place .nce-map-frame { min-height: 42rem; }
.nce-property-location-map { position: relative; min-height: 36rem; overflow: hidden; background: #d8d7cf; }
.nce-property-location-map__canvas { position: absolute; inset: 0; }
.nce-property-location-map::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(6,45,107,.08),transparent 45%); pointer-events: none; }
.nce-property-location-map > aside { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; width: min(25rem,calc(100% - 2rem)); padding: 1rem 1.15rem; color: #f7f6f2; background: rgba(6,45,107,.92); border-top: 2px solid #d8c6a3; box-shadow: 0 18px 50px rgba(6,45,107,.24); backdrop-filter: blur(15px); }
.nce-property-location-map > aside span { color: #d8c6a3; font-size: .56rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-property-location-map > aside p { margin: .45rem 0 0; color: rgba(255,250,240,.72); font-size: .72rem; line-height: 1.55; }
.nce-property-location-pin { display: block; width: 1.35rem; aspect-ratio: 1; background: #d8c6a3; border: 4px solid #f7f6f2; border-radius: 50%; box-shadow: 0 0 0 2px #10c7c7,0 12px 28px rgba(6,45,107,.3); }
.nce-property-location-pin--approximate { width: .85rem; background: #10c7c7; box-shadow: 0 0 0 2px rgba(16,199,199,.55),0 10px 24px rgba(6,45,107,.24); }
.nce-property-location-pin--estate_centroid { width: 1.1rem; background: #062d6b; border-color: #d8c6a3; }

@media (max-width: 960px) {
  .nce-property-hero { min-height: 58rem; }
  .nce-property-hero__footer { display: grid; }
  .nce-property-overview .nce-property-layout { grid-template-columns: 1fr; }
  .nce-property-enquiry { position: static; max-width: 42rem; }
  .nce-property-place__intro { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 720px) {
  .nce-property-hero { min-height: calc(100svh - 4.9rem); }
  .nce-property-hero__content { padding-block: 1.5rem 2rem; }
  .nce-property-hero__shade { background: linear-gradient(0deg, rgba(8,24,20,.94) 0%, rgba(8,24,20,.42) 68%, rgba(8,24,20,.2)); }
  .nce-property-hero h1 { max-width: 10ch; font-size: clamp(3.25rem, 14.5vw, 4.9rem); }
  .nce-property-hero__lede { max-width: 32rem; font-size: .95rem; }
  .nce-property-hero__footer { margin-top: 2rem; }
  .nce-property-hero__footer .nce-actions { display: grid; width: 100%; }
  .nce-property-hero__footer .nce-button { width: 100%; }
  .nce-property-hero__caption { display: none; }
  .nce-property-overview main > h2 { font-size: clamp(2.6rem, 12vw, 4rem); }
  .nce-property-overview .nce-property-facts { grid-template-columns: 1fr 1fr; }
  .nce-property-overview .nce-property-facts span,
  .nce-property-overview .nce-property-facts span:nth-child(3n) { border-right: 1px solid var(--nce-border); }
  .nce-property-overview .nce-property-facts span:nth-child(even) { border-right: 0; }
  .nce-property-overview .nce-property-facts span:nth-child(n+3) { border-top: 1px solid var(--nce-border); }
  .nce-property-features ul { grid-template-columns: 1fr; }
  .nce-property-features li:nth-child(odd),
  .nce-property-features li:nth-child(even) { padding-inline: 0; border-right: 0; }
  .nce-property-enquiry { padding: 1.4rem; }
  .nce-property-enquiry h2 { font-size: 2.65rem; }
  .nce-property-gallery-heading { display: block; }
  .nce-property-gallery-heading > p { justify-items: start; margin-top: 1rem; }
  .nce-property-gallery-section .nce-property-gallery { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: auto; gap: .8rem; }
  .nce-property-gallery-section .nce-property-gallery > .nce-property-gallery__item,
  .nce-property-gallery-section .nce-property-gallery > .nce-property-gallery__item:first-child { grid-column: 1 / -1; grid-row: auto; height: 21rem; }
  .nce-property-gallery-section .nce-property-gallery > .nce-property-gallery__item:nth-child(3n+1) { height: 28rem; }
  .nce-property-place .nce-map-frame { min-height: 35rem; }
  .nce-property-location-map { min-height: 31rem; }
}

/* Familiar portal-style property media with a premium full-screen gallery. */
.nce-property-showcase {
  padding: clamp(1.5rem, 3vw, 3.25rem) 0 clamp(.8rem, 1.25vw, 1.3rem);
  color: #062d6b;
  background: #f7f6f2;
}
.nce-property-mobile-results,
.nce-property-mobile-gallery,
.nce-property-showcase__mobile-facts { display: none; }
.nce-property-desktop-results {
  display: flex;
  align-items: center;
  margin-bottom: clamp(1rem, 1.6vw, 1.4rem);
}
.nce-property-desktop-results .nce-property-back span { color: var(--nce-green); }
.nce-property-showcase__utility,
.nce-property-showcase__heading,
.nce-property-showcase__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.nce-property-showcase__utility { align-items: center; margin-bottom: clamp(1.5rem, 3vw, 2.75rem); }
.nce-property-showcase .nce-property-back { color: rgba(6,45,107,.62); }
.nce-property-showcase .nce-property-back:hover { color: #062d6b; }
.nce-property-showcase__actions { display: flex; align-items: center; gap: 1.5rem; }
.nce-property-showcase__actions button {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .3rem 0;
  color: #062d6b;
  border: 0;
  border-bottom: 1px solid rgba(6,45,107,.28);
  background: transparent;
  font: inherit;
  font-size: .75rem;
  font-weight: 720;
  cursor: pointer;
}
.nce-property-showcase__actions button:hover { border-color: #9b7542; }
.nce-property-showcase__actions button[aria-pressed="true"] { color: #8c6230; border-color: #8c6230; }
.nce-property-showcase__actions button span[aria-hidden="true"] { font-size: 1.2rem; line-height: .8; }
.nce-property-showcase__heading { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.nce-property-showcase__heading > div:first-child { min-width: 0; }
.nce-property-showcase__heading .nce-property-demo-flag { margin-bottom: .9rem; }
.nce-property-showcase__heading .nce-eyebrow { margin: .85rem 0 0; color: #8b6939; }
.nce-property-showcase__heading h1 { max-width: 20ch; margin: 0; font-size: clamp(2.6rem, 4.8vw, 5.25rem); line-height: .96; }
.nce-property-showcase__price { flex: 0 0 auto; display: grid; justify-items: end; gap: .25rem; padding-bottom: .25rem; }
.nce-property-showcase__price span { color: rgba(6,45,107,.54); font-size: .61rem; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.nce-property-showcase__price strong { font-family: var(--nce-display); font-size: clamp(2rem, 3.4vw, 3.5rem); font-weight: 400; line-height: 1; }
.nce-property-mosaic {
  position: relative;
  height: clamp(29rem, 55vw, 43rem);
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: .5rem;
  overflow: hidden;
  background: #d9d5cb;
  border-radius: 1rem;
}
@media (min-width: 621px) {
  .nce-property-mosaic + .nce-property-showcase__heading { margin-top: clamp(1.75rem, 3vw, 3rem); }
}
.nce-property-mosaic__item { position: relative; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border: 0; background: #d9d5cb; cursor: zoom-in; }
.nce-property-mosaic__item--1 { grid-column: 1; grid-row: 1 / span 2; }
.nce-property-mosaic__item--2 { grid-column: 2; grid-row: 1; }
.nce-property-mosaic__item--3 { grid-column: 3; grid-row: 1; }
.nce-property-mosaic__item--4 { grid-column: 2; grid-row: 2; }
.nce-property-mosaic__item--5 { grid-column: 3; grid-row: 2; }
.nce-property-mosaic__item img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1), filter .3s ease; }
.nce-property-mosaic__item:hover img,
.nce-property-mosaic__item:focus-visible img { transform: scale(1.025); filter: brightness(.94); }
.nce-property-mosaic__item:focus-visible { z-index: 2; outline: 3px solid #d8c6a3; outline-offset: -3px; }
.nce-property-page[data-nce-property-reference^="LUXE-"] .nce-property-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 1.05fr 1fr; }
.nce-property-page[data-nce-property-reference^="LUXE-"] .nce-property-mosaic__item--1 { grid-column: 1 / span 2; grid-row: 1; }
.nce-property-page[data-nce-property-reference^="LUXE-"] .nce-property-mosaic__item--2 { grid-column: 1; grid-row: 2; }
.nce-property-page[data-nce-property-reference^="LUXE-"] .nce-property-mosaic__item--3 { grid-column: 2; grid-row: 2; }
.nce-property-page[data-nce-property-reference^="LUXE-"] .nce-property-mosaic__item--4,
.nce-property-page[data-nce-property-reference^="LUXE-"] .nce-property-mosaic__item--5 { display: none; }
.nce-property-mosaic__all {
  position: absolute;
  z-index: 4;
  right: 1rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .72rem 1rem;
  color: #062d6b;
  border: 1px solid rgba(6,45,107,.18);
  border-radius: .55rem;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 28px rgba(5,22,18,.18);
  font: inherit;
  font-size: .72rem;
  font-weight: 780;
  cursor: pointer;
  backdrop-filter: blur(12px);
}
.nce-property-mosaic__all:hover { background: #fff; transform: translateY(-1px); }
.nce-property-mosaic__all span { font-size: 1.2rem; line-height: .8; }
.nce-property-showcase__footer { align-items: center; margin-top: clamp(1.5rem, 3vw, 2.75rem); padding-top: 1.5rem; border-top: 1px solid rgba(6,45,107,.16); }
.nce-property-showcase__footer p { max-width: 52rem; margin: 0; color: rgba(6,45,107,.67); line-height: 1.7; }
.nce-property-showcase__footer .nce-button { flex: 0 0 auto; }
.nce-property-showcase__note { margin: 1rem 0 0; color: rgba(6,45,107,.46); font-size: .66rem; }

html.nce-gallery-open { overflow: hidden; }
.nce-property-lightbox[hidden] { display: none; }
.nce-property-lightbox {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  color: #f7f3ea;
  background: rgba(6,17,14,.985);
  backdrop-filter: blur(24px);
}
.nce-property-lightbox__header { min-height: 5.25rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1rem clamp(1rem,3vw,3rem); border-bottom: 1px solid rgba(255,255,255,.12); }
.nce-property-lightbox__header > div { display: flex; align-items: baseline; gap: 1.25rem; min-width: 0; }
.nce-property-lightbox__header p { overflow: hidden; margin: 0; font-family: var(--nce-display); font-size: clamp(1.25rem,2vw,1.8rem); text-overflow: ellipsis; white-space: nowrap; }
.nce-property-lightbox__header span { flex: 0 0 auto; color: #d8c6a3; font-size: .67rem; font-weight: 760; letter-spacing: .12em; }
.nce-property-lightbox__header button,
.nce-property-lightbox__nav {
  width: 3rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  color: #fff;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  font: inherit;
  font-size: 1.45rem;
  cursor: pointer;
}
.nce-property-lightbox__header button:hover,
.nce-property-lightbox__nav:hover { color: #062d6b; background: #d8c6a3; border-color: #d8c6a3; }
.nce-property-lightbox__stage { min-height: 0; display: grid; grid-template-columns: 4rem minmax(0,1fr) 4rem; align-items: center; gap: clamp(.5rem,2vw,2rem); padding: clamp(1rem,2.5vw,2.5rem); touch-action: pan-y; }
.nce-property-lightbox__stage figure { min-width: 0; min-height: 0; height: 100%; display: grid; grid-template-rows: minmax(0,1fr) auto; place-items: center; gap: .75rem; margin: 0; }
.nce-property-lightbox__stage img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: .35rem; box-shadow: 0 24px 80px rgba(0,0,0,.34); transition: opacity .18s ease; }
.nce-property-lightbox[data-loading] .nce-property-lightbox__stage img { opacity: .3; }
.nce-property-lightbox__stage figcaption { min-height: 1.2rem; color: rgba(255,255,255,.58); font-size: .68rem; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.nce-property-lightbox__filmstrip { display: flex; gap: .65rem; overflow-x: auto; overscroll-behavior-inline: contain; padding: .8rem clamp(1rem,3vw,3rem) 1rem; border-top: 1px solid rgba(255,255,255,.1); scrollbar-color: #a9844f rgba(255,255,255,.08); scrollbar-width: thin; }
.nce-property-lightbox__filmstrip button { width: 7.4rem; height: 5rem; flex: 0 0 auto; padding: 0; overflow: hidden; opacity: .48; border: 2px solid transparent; border-radius: .35rem; background: #142820; cursor: pointer; transition: opacity .2s ease, border-color .2s ease, transform .2s ease; }
.nce-property-lightbox__filmstrip button:hover { opacity: .82; }
.nce-property-lightbox__filmstrip button[aria-current] { opacity: 1; border-color: #d8c6a3; transform: translateY(-2px); }
.nce-property-lightbox__filmstrip img { width: 100%; height: 100%; display: block; object-fit: cover; }

@media (max-width: 850px) {
  .nce-property-showcase__heading { display: grid; }
  .nce-property-showcase__price { justify-items: start; }
  .nce-property-mosaic { height: 34rem; grid-template-columns: 1.65fr 1fr; }
  .nce-property-mosaic__item--1 { grid-column: 1; }
  .nce-property-mosaic__item--2 { grid-column: 2; grid-row: 1; }
  .nce-property-mosaic__item--3 { grid-column: 2; grid-row: 2; }
  .nce-property-mosaic__item--4,
  .nce-property-mosaic__item--5 { display: none; }
}

@media (max-width: 620px) {
  .nce-property-showcase { padding: 0 0 1.75rem; }
  .nce-property-showcase > .nce-shell { width: 100%; }
  .nce-property-desktop-results { display: none; }
  .nce-property-mobile-results {
    position: sticky;
    z-index: 145;
    top: 0;
    min-height: 3.45rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem 1rem;
    color: rgba(255,255,255,.72);
    background: var(--nce-ink);
    border-bottom: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 .65rem 1.8rem rgba(6,45,107,.16);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .nce-property-mobile-results a { display: inline-flex; align-items: center; gap: .55rem; color: #fff; text-decoration: none; }
  .nce-property-mobile-results a span { color: var(--nce-green); font-size: 1.05rem; line-height: 1; }
  .nce-property-mobile-results > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .nce-property-mobile-gallery { position: relative; display: block; overflow: hidden; color: #fff; background: var(--nce-ink); }
  .nce-property-mobile-gallery__rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
  }
  .nce-property-mobile-gallery__rail::-webkit-scrollbar { display: none; }
  .nce-property-mobile-gallery__rail figure { height: clamp(20.5rem,102vw,29rem); margin: 0; overflow: hidden; scroll-snap-align: start; scroll-snap-stop: always; background: #dce3e5; }
  .nce-property-mobile-gallery__rail img { width: 100%; height: 100%; display: block; object-fit: cover; }
  .nce-property-mobile-gallery__nav {
    position: absolute;
    z-index: 3;
    top: 50%;
    width: 2.65rem;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    padding: 0;
    transform: translateY(-50%);
    color: var(--nce-ink);
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    box-shadow: 0 .6rem 1.8rem rgba(6,45,107,.22);
    font: inherit;
    font-size: 1rem;
    cursor: pointer;
    backdrop-filter: blur(10px);
  }
  .nce-property-mobile-gallery__nav--previous { left: .8rem; }
  .nce-property-mobile-gallery__nav--next { right: .8rem; }
  .nce-property-mobile-gallery__nav:disabled { opacity: .28; pointer-events: none; }
  .nce-property-mobile-gallery__counter,
  .nce-property-mobile-gallery__all {
    position: absolute;
    z-index: 4;
    bottom: .85rem;
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    padding: .5rem .72rem;
    color: #fff;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 1.3rem;
    background: rgba(6,45,107,.82);
    box-shadow: 0 .55rem 1.5rem rgba(6,45,107,.2);
    font-size: .62rem;
    line-height: 1;
    backdrop-filter: blur(12px);
  }
  .nce-property-mobile-gallery__counter { right: .85rem; letter-spacing: .08em; }
  .nce-property-mobile-gallery__counter strong { font-weight: 800; }
  .nce-property-mobile-gallery__all { left: .85rem; border-color: rgba(255,255,255,.42); font: inherit; font-size: .62rem; font-weight: 750; cursor: pointer; }
  .nce-property-mobile-gallery__all span { color: var(--nce-green); font-size: 1rem; }
  .nce-property-mosaic { display: none; }
  .nce-property-showcase__heading { display: flex; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 1.45rem 1rem 0; }
  .nce-property-showcase__heading > div:first-child { order: 2; }
  .nce-property-showcase__heading h1 { max-width: none; margin-top: .95rem; font-family: var(--nce-sans); font-size: clamp(1.35rem,6vw,1.75rem); font-weight: 720; letter-spacing: -.025em; line-height: 1.18; }
  .nce-property-showcase__heading .nce-eyebrow { margin: .55rem 0 0; color: rgba(6,45,107,.6); font-size: .58rem; letter-spacing: .1em; }
  .nce-property-showcase__price { order: 1; justify-items: start; width: 100%; padding: 0 0 1.2rem; border-bottom: 1px solid var(--nce-border); }
  .nce-property-showcase__price span { color: rgba(6,45,107,.5); }
  .nce-property-showcase__price strong { font-family: var(--nce-sans); font-size: clamp(2rem,9vw,2.65rem); font-weight: 650; letter-spacing: -.04em; }
  .nce-property-showcase__mobile-facts { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.15rem; padding-block: 1rem; border-top: 1px solid var(--nce-border); border-bottom: 1px solid var(--nce-border); }
  .nce-property-showcase__mobile-facts span { display: inline-flex; align-items: baseline; gap: .25rem; color: rgba(6,45,107,.58); font-size: .66rem; text-transform: uppercase; }
  .nce-property-showcase__mobile-facts strong { color: var(--nce-ink); font-size: 1rem; font-weight: 750; }
  .nce-property-showcase__footer { display: block; margin: 0; padding: 1rem; border: 0; }
  .nce-property-showcase__footer p { font-size: .82rem; line-height: 1.6; }
  .nce-property-showcase__contact-actions { display: none; }
  .nce-property-overview { padding-block: 2rem 3.25rem; }
  .nce-property-overview .nce-property-layout { gap: 2.5rem; }
  .nce-property-overview main > .nce-eyebrow,
  .nce-property-overview main > h2:not(.nce-property-story__mobile-heading),
  .nce-property-overview main > .nce-property-facts { display: none; }
  .nce-property-overview main > .nce-property-story__mobile-heading { max-width: none; display: block; margin: 0 0 1rem; font-family: var(--nce-sans); font-size: 1.25rem; font-weight: 750; letter-spacing: -.02em; }
  .nce-property-story { margin-top: 0; }
  .nce-property-story p { font-size: .9rem; line-height: 1.72; }
  .nce-property-story p:first-child::first-letter { float: none; margin: 0; color: inherit; font-family: inherit; font-size: inherit; line-height: inherit; }
  .nce-property-lightbox__header { min-height: 4.5rem; }
  .nce-property-lightbox__header > div { display: grid; gap: .15rem; }
  .nce-property-lightbox__stage { position: relative; display: block; padding: .75rem; }
  .nce-property-lightbox__stage figure { height: 100%; padding-bottom: 3.3rem; }
  .nce-property-lightbox__nav { position: absolute; z-index: 2; bottom: .75rem; width: 2.75rem; }
  .nce-property-lightbox__nav--previous { left: calc(50% - 3.2rem); }
  .nce-property-lightbox__nav--next { right: calc(50% - 3.2rem); }
  .nce-property-lightbox__filmstrip button { width: 5.8rem; height: 4rem; }
}

/* Premium master-map markers and editorial estate preview. */
.nce-estate-marker {
  width: 8.5rem;
  min-height: 5.9rem;
  display: grid;
  justify-items: center;
  padding: 0;
  color: #fff;
  border: 0;
  background: transparent;
  cursor: pointer;
  filter: drop-shadow(0 12px 16px rgba(6, 45, 107, .24));
}
.nce-estate-marker__portrait {
  position: relative;
  z-index: 1;
  width: 3.9rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--nce-estate-marker-accent, #10c7c7);
  border: 3px solid #f7f6f2;
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--nce-estate-marker-accent, #10c7c7), 0 8px 24px rgba(6,45,107,.24);
  transition: transform .22s ease, box-shadow .22s ease;
}
.nce-estate-marker__portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg, transparent 42%, rgba(7,25,21,.28)); }
.nce-estate-marker__portrait img { width: 100%; height: 100%; object-fit: cover; }
.nce-estate-marker__portrait > span { font-family: var(--nce-display); font-size: 1.25rem; }
.nce-estate-marker__label {
  width: max-content;
  max-width: 9.5rem;
  display: grid;
  gap: .1rem;
  margin-top: -.12rem;
  padding: .48rem .72rem .42rem;
  color: #fff;
  background: rgba(13,36,31,.94);
  border-bottom: 2px solid var(--nce-estate-marker-accent, #d8c6a3);
  box-shadow: 0 8px 24px rgba(6,45,107,.18);
  text-align: center;
  backdrop-filter: blur(12px);
}
.nce-estate-marker__label strong { overflow: hidden; font-family: var(--nce-display); font-size: .96rem; font-weight: 500; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.nce-estate-marker__label small { overflow: hidden; color: rgba(255,255,255,.63); font-size: .48rem; font-weight: 760; letter-spacing: .11em; line-height: 1.2; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.nce-estate-marker:hover .nce-estate-marker__portrait,
.nce-estate-marker:focus-visible .nce-estate-marker__portrait,
.nce-estate-marker[data-selected] .nce-estate-marker__portrait { transform: translateY(-3px) scale(1.08); box-shadow: 0 0 0 4px color-mix(in srgb, var(--nce-estate-marker-accent, #10c7c7) 70%, white), 0 12px 28px rgba(6,45,107,.3); }
.nce-estate-marker:hover,
.nce-estate-marker:focus-visible,
.nce-estate-marker[data-selected] { z-index: 1000 !important; }
.nce-estate-marker:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
.nce-estate-marker[data-selected] .nce-estate-marker__label { background: var(--nce-estate-marker-accent, #10c7c7); }

.nce-map-canvas[data-marker-density="compact"] .nce-estate-marker,
.nce-map-canvas[data-marker-density="medium"] .nce-estate-marker {
  position: absolute;
  width: 3rem;
  min-height: 3rem;
}
.nce-map-canvas[data-marker-density="compact"] .nce-estate-marker__portrait { width: 2.65rem; border-width: 2px; }
.nce-map-canvas[data-marker-density="medium"] .nce-estate-marker { width: 3.55rem; min-height: 3.55rem; }
.nce-map-canvas[data-marker-density="medium"] .nce-estate-marker__portrait { width: 3.25rem; }
.nce-map-canvas[data-marker-density="compact"] .nce-estate-marker__label,
.nce-map-canvas[data-marker-density="medium"] .nce-estate-marker__label {
  position: absolute;
  z-index: 1001;
  top: auto;
  bottom: calc(100% + .38rem);
  left: 50%;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, .2rem);
  transition: opacity .18s ease, transform .18s ease;
}
.nce-map-canvas[data-marker-density="compact"] .nce-estate-marker:hover .nce-estate-marker__label,
.nce-map-canvas[data-marker-density="compact"] .nce-estate-marker:focus-visible .nce-estate-marker__label,
.nce-map-canvas[data-marker-density="compact"] .nce-estate-marker[data-selected] .nce-estate-marker__label,
.nce-map-canvas[data-marker-density="medium"] .nce-estate-marker:hover .nce-estate-marker__label,
.nce-map-canvas[data-marker-density="medium"] .nce-estate-marker:focus-visible .nce-estate-marker__label,
.nce-map-canvas[data-marker-density="medium"] .nce-estate-marker[data-selected] .nce-estate-marker__label {
  opacity: 1;
  transform: translate(-50%, 0);
}

.nce-map-key__estate { width: 1rem; height: 1rem; background: #d8c6a3; border: 3px solid #f7f6f2; border-radius: 50%; box-shadow: 0 0 0 1px #10c7c7; }
.nce-map-drawer {
  z-index: 1200;
  width: min(33rem, 100%);
  padding: 0;
  color: #f4efe5;
  background: #062d6b;
  border-top: 0;
  border-left: 1px solid rgba(216,183,126,.28);
  box-shadow: -32px 0 80px rgba(6,24,20,.3);
}

/* Master-map estate lens: the preview grows from, and returns to, its marker. */
@media (min-width: 761px) {
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer-scrim { z-index: 1190; background: rgba(4,22,50,.2); }
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer {
    --nce-drawer-origin-x: 50%;
    --nce-drawer-origin-y: 50%;
    top: clamp(1.4rem, 3.2vw, 2.8rem);
    right: clamp(2rem, 4.5vw, 5rem);
    bottom: clamp(1.4rem, 3.2vw, 2.8rem);
    left: clamp(2rem, 4.5vw, 5rem);
    width: auto;
    height: auto;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 50%;
    box-shadow: 0 0 0 rgba(3,18,42,0);
    transform: scale(.035);
    transform-origin: var(--nce-drawer-origin-x) var(--nce-drawer-origin-y);
    will-change: transform, opacity, border-radius;
    transition:
      transform .62s cubic-bezier(.16,.84,.22,1),
      border-radius .5s cubic-bezier(.16,.84,.22,1),
      box-shadow .52s ease,
      opacity .12s ease .46s,
      visibility 0s linear .62s;
  }
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer[data-open] {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    border-radius: .2rem;
    box-shadow: 0 2.4rem 7rem rgba(3,18,42,.42), 0 0 0 1px rgba(16,199,199,.1);
    transform: scale(1);
    transition:
      transform .62s cubic-bezier(.16,.84,.22,1),
      border-radius .5s cubic-bezier(.16,.84,.22,1),
      box-shadow .52s ease,
      opacity .1s ease,
      visibility 0s linear;
  }
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer[data-closing] { pointer-events: none; }
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer [data-drawer-content],
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer .nce-map-estate-preview { height: 100%; min-height: 0; }
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer .nce-map-estate-preview {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(22rem, .88fr);
    overflow: hidden;
  }
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer .nce-map-estate-preview__media { height: 100%; min-height: 0; }
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer .nce-map-estate-preview__body { min-height: 0; overflow-y: auto; scrollbar-color: rgba(216,198,163,.55) rgba(255,255,255,.05); scrollbar-width: thin; }
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer .nce-map-estate-preview__hero-copy h2 { font-size: clamp(4.4rem, 7vw, 7.4rem); }
}

@media (prefers-reduced-motion: reduce) {
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer { transition-duration: .01ms; }
  .nce-map-drawer-scrim { transition-duration: .01ms; }
}

/* The homepage map becomes the whole experience while an estate is open. */
@media (min-width: 961px) {
  .nce-map-story[data-map-focus] { grid-template-columns: minmax(0, 1fr) minmax(0, 0fr); }
  .nce-map-story[data-map-focus] .nce-map-story__content {
    padding-inline: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateX(2rem);
  }
}

.nce-map-frame[data-map-scope="master"] .nce-map-toolbar,
.nce-map-frame[data-map-scope="master"] .nce-map-key,
.nce-map-frame[data-map-scope="master"] .maplibregl-ctrl-top-right,
.nce-map-frame[data-map-scope="master"] .maplibregl-ctrl-bottom-right {
  transition: opacity .2s ease, visibility .2s ease, transform .25s ease;
}
.nce-map-frame[data-map-scope="master"][data-drawer-open] .nce-map-toolbar,
.nce-map-frame[data-map-scope="master"][data-drawer-open] .nce-map-key,
.nce-map-frame[data-map-scope="master"][data-drawer-open] .maplibregl-ctrl-top-right,
.nce-map-frame[data-map-scope="master"][data-drawer-open] .maplibregl-ctrl-bottom-right {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-.65rem);
}
.nce-map-frame[data-map-scope="master"] .nce-map-key {
  width: auto;
  max-width: min(23rem, calc(100% - 2rem));
  padding: .78rem .9rem;
}
.nce-map-frame[data-map-scope="master"] .nce-map-key > p,
.nce-map-frame[data-map-scope="master"] .nce-map-key > small { display: none; }
.nce-map-frame[data-map-scope="master"][data-drawer-open] .nce-estate-marker:not([data-selected]) {
  opacity: .14 !important;
  pointer-events: none;
  filter: none;
}
.nce-map-frame[data-map-scope="master"] .nce-estate-marker { transition: opacity .2s ease, filter .2s ease; }
.nce-map-frame[data-map-scope="master"][data-drawer-preparing] .nce-estate-marker[data-selected] .nce-estate-marker__portrait {
  animation: nce-estate-marker-preparing .62s ease-in-out infinite alternate;
}
@keyframes nce-estate-marker-preparing {
  to { box-shadow: 0 0 0 7px rgba(16,199,199,.25), 0 14px 34px rgba(6,45,107,.32); transform: translateY(-3px) scale(1.1); }
}
.nce-map-frame[data-map-scope="master"][data-drawer-open] .nce-estate-marker[data-selected] .nce-estate-marker__label {
  opacity: 0;
  transform: translate(-50%, .2rem);
}
.nce-map-drawer__close {
  position: absolute;
  z-index: 12;
  top: 1.15rem;
  right: auto;
  left: 1.15rem;
  margin: 0;
  width: 3rem;
  color: #062d6b;
  border-color: rgba(255,255,255,.58);
  border-radius: 50%;
  background: rgba(244,239,229,.88);
  box-shadow: 0 8px 24px rgba(7,22,18,.24);
  backdrop-filter: blur(12px);
}
.nce-map-drawer__close:hover { background: #fff; }
.nce-map-drawer [data-drawer-content] { min-height: 100%; }
.nce-poi-drawer { min-height: 100%; margin: 0; color: #062d6b; background: #f4efe5; }
.nce-poi-drawer__gallery { position: relative; min-height: 17rem; overflow: hidden; background: #17342d; }
.nce-poi-drawer__gallery::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(7,26,21,.2),transparent 48%,rgba(7,26,21,.78)); pointer-events: none; }
.nce-poi-drawer__gallery > img { height: 17rem; aspect-ratio: auto; object-fit: cover; filter: saturate(.78) contrast(1.04); }
.nce-poi-drawer__stamp { position: absolute; z-index: 2; right: 1.35rem; bottom: 1.2rem; padding: .5rem .7rem; color: #f7f6f2; border: 1px solid rgba(255,255,255,.44); background: rgba(8,29,23,.66); font-size: .52rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; backdrop-filter: blur(10px); }
.nce-poi-drawer__body { padding: clamp(1.8rem,4vw,2.7rem); }
.nce-poi-drawer__body .nce-eyebrow { display: flex; align-items: center; gap: .75rem; margin: 0 0 .9rem; color: #9b7041; }
.nce-poi-drawer__body .nce-eyebrow::before { content: ""; width: 2rem; height: 1px; background: #d8c6a3; }
.nce-poi-drawer__body h2 { max-width: 10ch; margin: 0 0 1.1rem; color: #062d6b; font-size: clamp(3rem,5vw,4.35rem); line-height: .9; }
.nce-poi-drawer__lead { margin: 0; color: #40514d; font-family: var(--nce-display); font-size: 1.25rem; line-height: 1.38; }
.nce-poi-drawer__facts { gap: .45rem; margin: 1.5rem 0; background: transparent; border: 0; }
.nce-poi-drawer__facts span { min-height: 5.3rem; align-content: center; padding: 1rem 1.1rem; background: #f7f6f2; border: 1px solid rgba(6,45,107,.13); }
.nce-poi-drawer__facts strong { color: #10c7c7; font-family: var(--nce-display); font-size: 1.35rem; font-weight: 500; }
.nce-poi-drawer__description { margin: 0; color: #596661; font-size: .82rem; line-height: 1.72; }
.nce-poi-drawer .nce-map-geometry-status { margin: 1.7rem 0 0; padding: 1.05rem 0 0; color: rgba(6,45,107,.48); background: transparent; border-top: 1px solid rgba(6,45,107,.13); border-left: 0; font-size: .62rem; }
.nce-map-estate-preview { min-height: 100%; background: #062d6b; }
.nce-map-estate-preview__media { position: relative; height: clamp(20rem, 43vh, 27rem); overflow: hidden; background: #17342d; }
.nce-map-estate-preview__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,19,15,.94) 0%, rgba(5,19,15,.22) 58%, rgba(5,19,15,.2) 100%); }
.nce-map-estate-preview__media img { width: 100%; height: 100%; object-fit: cover; }
.nce-map-estate-preview__stamp { position: absolute; z-index: 1; top: 1.4rem; right: 1.5rem; left: auto; padding: .48rem .7rem; color: #f4efe5; background: rgba(12,35,29,.72); border: 1px solid rgba(216,183,126,.52); font-size: .52rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; backdrop-filter: blur(12px); }
.nce-map-estate-preview__hero-copy { position: absolute; z-index: 1; right: clamp(1.5rem, 4vw, 2.5rem); bottom: clamp(1.7rem, 4vw, 2.8rem); left: clamp(1.5rem, 4vw, 2.5rem); }
.nce-map-estate-preview__hero-copy .nce-eyebrow { margin: 0 0 .7rem; color: #d8c6a3; }
.nce-map-estate-preview__hero-copy h2 { max-width: 9ch; margin: 0; color: #f7f6f2; font-size: clamp(4rem, 7vw, 5.8rem); line-height: .82; text-shadow: 0 8px 30px rgba(3,16,12,.35); }
.nce-map-estate-preview__body { padding: clamp(1.7rem, 4vw, 2.6rem); background: #062d6b; }
.nce-map-estate-preview__section-label { display: flex; align-items: center; gap: .7rem; margin: 0 0 .75rem; color: #d8c6a3; font-size: .54rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.nce-map-estate-preview__section-label::before { content: ""; width: 2.25rem; height: 1px; background: #d8c6a3; }
.nce-map-estate-preview__summary { max-width: 37rem; margin: 0; color: rgba(255,250,240,.76); font-family: var(--nce-display); font-size: clamp(1.15rem, 2.5vw, 1.45rem); line-height: 1.48; }
.nce-map-estate-preview__facts { display: grid; grid-template-columns: .9fr 1.1fr; margin-top: 1.75rem; padding-block: 1.1rem; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.nce-map-estate-preview__facts > div { min-width: 0; display: grid; gap: .15rem; align-content: center; padding-inline: 1rem; }
.nce-map-estate-preview__facts > div:first-child { padding-left: 0; border-right: 1px solid rgba(255,255,255,.16); }
.nce-map-estate-preview__facts > div:last-child { padding-right: 0; }
.nce-map-estate-preview__facts strong { overflow: hidden; color: #f7f6f2; font-family: var(--nce-display); font-size: 1.35rem; font-weight: 500; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.nce-map-estate-preview__facts > div:first-child strong { color: #d8c6a3; font-size: 1.55rem; }
.nce-map-estate-preview__facts span { color: rgba(255,255,255,.45); font-size: .51rem; font-weight: 760; letter-spacing: .1em; line-height: 1.3; text-transform: uppercase; }
.nce-map-estate-preview__properties { margin-top: 1.8rem; }
.nce-map-estate-preview__properties-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .55rem; }
.nce-map-estate-preview__properties-heading h3 { margin: 0; color: #f4efe5; font-family: var(--nce-sans); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nce-map-estate-preview__properties-heading span { color: rgba(255,255,255,.4); font-size: .58rem; }
.nce-map-estate-preview__property { display: grid; grid-template-columns: 6.5rem minmax(0,1fr); min-height: 6rem; color: #062d6b; background: #f4efe5; border-top: 1px solid rgba(6,45,107,.14); text-decoration: none; transition: background .18s ease, transform .18s ease; }
.nce-map-estate-preview__property:last-child { border-bottom: 1px solid rgba(6,45,107,.14); }
.nce-map-estate-preview__property:hover { background: #f7f6f2; transform: translateX(3px); }
.nce-map-estate-preview__property-media { min-height: 6rem; display: grid; place-items: center; overflow: hidden; color: #d8c6a3; background: #17342d; font-family: var(--nce-display); }
.nce-map-estate-preview__property-media img { width: 100%; height: 100%; object-fit: cover; }
.nce-map-estate-preview__property-copy { min-width: 0; display: grid; align-content: center; gap: .25rem; padding: .75rem 1rem; }
.nce-map-estate-preview__property-copy small { color: rgba(6,45,107,.48); font-size: .52rem; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.nce-map-estate-preview__property-copy strong { overflow: hidden; font-family: var(--nce-display); font-size: 1.1rem; font-weight: 500; line-height: 1.12; text-overflow: ellipsis; white-space: nowrap; }
.nce-map-estate-preview__property-copy > span { color: #10c7c7; font-size: .7rem; font-weight: 760; }
.nce-map-estate-preview__property-loading { display: grid; gap: .35rem; padding: 1.15rem 1.25rem; color: #f4efe5; background: linear-gradient(90deg,rgba(255,255,255,.035),rgba(16,199,199,.11),rgba(255,255,255,.035)); background-size: 220% 100%; border: 1px solid rgba(16,199,199,.22); animation: nce-estate-opening-line 1.1s ease-in-out infinite; }
.nce-map-estate-preview__property-loading span { color: #10c7c7; font-size: .5rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nce-map-estate-preview__property-loading strong { font-family: var(--nce-display); font-size: 1.18rem; font-weight: 500; }
.nce-map-estate-preview__empty { display: grid; gap: .35rem; padding: 1.15rem 1.25rem; color: #f4efe5; background: linear-gradient(135deg, rgba(216,183,126,.12), rgba(255,255,255,.025)); border: 1px solid rgba(216,183,126,.28); }
.nce-map-estate-preview__empty > span { color: #d8c6a3; font-size: .5rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nce-map-estate-preview__empty strong { font-family: var(--nce-display); font-size: 1.18rem; font-weight: 500; }
.nce-map-estate-preview__empty p { margin: 0; color: rgba(255,255,255,.55); font-size: .68rem; line-height: 1.55; }
.nce-map-estate-preview__independent { margin: 1.6rem 0 0; padding-top: 1rem; color: rgba(255,255,255,.34); border-top: 1px solid rgba(255,255,255,.1); font-size: .57rem; line-height: 1.55; }
.nce-map-estate-preview--opening { position: relative; overflow: hidden; background: #062d6b; }
.nce-map-estate-preview--opening .nce-map-estate-preview__media { height: auto; min-height: 18rem; }
.nce-map-estate-preview--opening .nce-map-estate-preview__media::after { background: linear-gradient(135deg,rgba(6,45,107,.12),transparent 58%,rgba(3,20,44,.34)); }
.nce-map-estate-preview--opening .nce-map-estate-preview__media img { filter: saturate(.78) contrast(1.03); transform: scale(1.015); }
.nce-map-estate-preview__opening-body { min-height: 21rem; display: grid; align-content: center; padding: clamp(2rem,4vw,3.4rem); background: #062d6b; }
.nce-map-estate-preview__opening-title { max-width: 9ch; margin: .2rem 0 1rem; color: #f7f6f2; font-family: var(--nce-display); font-size: clamp(3rem,5vw,5.2rem); font-weight: 500; line-height: .86; }
.nce-map-estate-preview__opening-status { max-width: 25rem; margin: 0; color: rgba(255,255,255,.62); font-size: .72rem; line-height: 1.6; }
.nce-map-estate-preview__opening-skeleton { display: grid; gap: .65rem; margin-top: 2rem; }
.nce-map-estate-preview__opening-skeleton i { width: 100%; height: .45rem; overflow: hidden; background: linear-gradient(90deg,rgba(255,255,255,.08),rgba(16,199,199,.32),rgba(255,255,255,.08)); background-size: 220% 100%; animation: nce-estate-opening-line 1.1s ease-in-out infinite; }
.nce-map-estate-preview__opening-skeleton i:nth-child(2) { width: 82%; animation-delay: .1s; }
.nce-map-estate-preview__opening-skeleton i:nth-child(3) { width: 58%; animation-delay: .2s; }
.nce-map-estate-preview--opening::after { content: ""; position: absolute; right: 1.5rem; bottom: 1.5rem; width: 1.6rem; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.2); border-top-color: #10c7c7; border-radius: 50%; animation: nce-estate-opening .75s linear infinite; }
@keyframes nce-estate-opening { to { transform: rotate(1turn); } }
@keyframes nce-estate-opening-line { 0% { background-position: 100% 0; } 100% { background-position: -120% 0; } }
@media (min-width: 761px) {
  .nce-map-frame[data-map-scope="master"] > .nce-map-drawer .nce-map-estate-preview--opening .nce-map-estate-preview__media { height: 100%; min-height: 100%; }
}
.nce-map-estate-preview .nce-map-drawer__actions { margin-top: 1.35rem; }
.nce-map-estate-preview .nce-map-drawer__actions--top { margin-top: 1.5rem; }
.nce-map-estate-preview .nce-map-drawer__actions .nce-button { width: 100%; justify-content: center; color: #062d6b; background: #d8c6a3; border-color: #d8c6a3; }
.nce-map-estate-preview .nce-map-drawer__actions .nce-button:hover { background: #e2c792; border-color: #e2c792; }
.nce-map-estate-preview .nce-map-drawer__actions .nce-text-link { justify-self: start; color: #f4efe5; }

@media (max-width: 640px) {
  .nce-estate-marker { width: 7.3rem; min-height: 5.2rem; }
  .nce-estate-marker__portrait { width: 3.3rem; }
  .nce-estate-marker__label { max-width: 8rem; padding: .4rem .58rem .36rem; }
  .nce-estate-marker__label strong { font-size: .84rem; }
  .nce-estate-marker__label small { font-size: .43rem; }
  .nce-map-drawer { height: min(90%, 50rem); padding-bottom: max(0px, env(safe-area-inset-bottom)); }
  .nce-map-estate-preview__media { height: 18rem; }
  .nce-map-estate-preview__hero-copy { right: 1.3rem; bottom: 1.5rem; left: 1.3rem; }
  .nce-map-estate-preview__hero-copy h2 { font-size: 3.8rem; }
  .nce-map-estate-preview__stamp { top: 1rem; right: 1rem; left: auto; }
  .nce-map-estate-preview__body { padding: 1.4rem 1.3rem 1.8rem; }
  .nce-map-estate-preview__property { grid-template-columns: 5.5rem minmax(0,1fr); }
}

/* Development microsites */
.nce-development-page { color: #062d6b; background: #f4efe5; }
.nce-development-hero {
  position: relative;
  min-height: min(54rem, calc(100svh - 7rem));
  overflow: hidden;
  color: #f7f6f2;
  background: #062d6b;
}
.nce-development-hero__media,
.nce-development-hero__shade { position: absolute; inset: 0; }
.nce-development-hero__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); }
.nce-development-hero__shade { background: linear-gradient(90deg, rgba(5,19,15,.92) 0%, rgba(5,19,15,.55) 48%, rgba(5,19,15,.16) 100%), linear-gradient(0deg, rgba(5,19,15,.78), transparent 52%); }
.nce-development-hero__content { position: relative; z-index: 1; min-height: inherit; display: flex; flex-direction: column; justify-content: space-between; padding-block: clamp(2rem, 4vw, 3.5rem); }
.nce-development-back { width: max-content; display: inline-flex; align-items: center; gap: .75rem; color: rgba(255,255,255,.76); font-size: .64rem; font-weight: 760; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.nce-development-back span { color: #d8c6a3; font-size: 1rem; }
.nce-development-back:hover { color: #fff; }
.nce-development-hero__body { max-width: 55rem; margin-block: auto; padding-block: clamp(3rem, 8vh, 7rem); }
.nce-development-hero__body .nce-eyebrow { color: #d8c6a3; }
.nce-development-hero h1 { max-width: 11ch; margin: .65rem 0 1.2rem; color: #f7f6f2; font-size: clamp(4.7rem, 9.2vw, 8.8rem); line-height: .82; letter-spacing: -.045em; }
.nce-development-hero__lede { max-width: 44rem; margin: 0; color: rgba(255,255,255,.76); font-size: clamp(1rem, 1.7vw, 1.2rem); line-height: 1.72; }
.nce-development-hero .nce-actions { margin-top: 2rem; }
.nce-development-hero .nce-button { color: #062d6b; background: #d8c6a3; border-color: #d8c6a3; }
.nce-development-hero .nce-button--ghost { color: #fff; background: rgba(10,30,25,.26); border-color: rgba(255,255,255,.42); backdrop-filter: blur(12px); }
.nce-development-hero__facts { display: grid; grid-template-columns: .7fr 1fr 1.25fr; max-width: 62rem; border-top: 1px solid rgba(255,255,255,.24); }
.nce-development-hero__facts > div { min-width: 0; display: grid; gap: .35rem; padding: 1.15rem 1.35rem 0; border-left: 1px solid rgba(255,255,255,.18); }
.nce-development-hero__facts > div:first-child { padding-left: 0; border-left: 0; }
.nce-development-hero__facts span { color: rgba(255,255,255,.5); font-size: .55rem; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.nce-development-hero__facts strong { overflow: hidden; color: #f7f6f2; font-family: var(--nce-display); font-size: clamp(1.2rem, 2vw, 1.7rem); font-weight: 400; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }

.nce-development-overview { background: #f4efe5; }
.nce-development-overview__grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(20rem,.55fr); align-items: start; gap: clamp(4rem, 9vw, 10rem); }
.nce-development-overview main h2 { max-width: 11ch; margin-bottom: clamp(2rem, 4vw, 3.5rem); font-size: clamp(3.2rem, 5.8vw, 6.2rem); }
.nce-development-story { max-width: 48rem; }
.nce-development-story p { color: rgba(6,45,107,.72); font-size: 1.02rem; line-height: 1.9; }
.nce-development-story p:first-child::first-letter { float: left; margin: .12em .12em 0 0; color: var(--nce-development-accent, #56705c); font-family: var(--nce-display); font-size: 4.8rem; line-height: .7; }
.nce-development-context { padding: clamp(1.6rem, 3vw, 2.5rem); color: #f4efe5; background: #062d6b; border-top: 3px solid #d8c6a3; box-shadow: 0 30px 70px rgba(7,25,20,.12); }
.nce-development-context .nce-eyebrow { color: #d8c6a3; }
.nce-development-context h3 { margin: .7rem 0 1rem; color: #f7f6f2; font-size: clamp(2rem, 3.2vw, 3rem); }
.nce-development-context p:not(.nce-eyebrow) { color: rgba(255,255,255,.64); font-size: .8rem; line-height: 1.75; }
.nce-development-context .nce-text-link { margin-top: 1rem; color: #f7f6f2; }

.nce-development-gallery { padding: 0; color: #fff; background: #062d6b; }
.nce-development-gallery__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-template-rows: repeat(2,18rem); gap: .8rem; padding: .8rem; }
.nce-development-gallery figure { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #18342d; }
.nce-development-gallery figure:first-child { grid-column: 1 / span 8; grid-row: 1 / span 2; }
.nce-development-gallery figure:nth-child(2),
.nce-development-gallery figure:nth-child(3) { grid-column: 9 / span 4; }
.nce-development-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.nce-development-gallery figure:hover img { transform: scale(1.025); }
.nce-development-gallery figcaption { position: absolute; inset: auto 0 0; display: flex; align-items: center; gap: .75rem; padding: 3.25rem 1.25rem 1.1rem; color: rgba(255,255,255,.8); background: linear-gradient(0deg, rgba(5,18,14,.8), transparent); font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nce-development-gallery figcaption span { color: #d8c6a3; }

.nce-development-availability { scroll-margin-top: 6rem; background: #e8e1d5; }
.nce-development-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.nce-development-section-heading h2 { max-width: 12ch; margin: 0; }
.nce-development-section-heading > p { display: grid; justify-items: end; gap: .15rem; margin: 0; color: rgba(6,45,107,.52); font-size: .58rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.nce-development-section-heading > p strong { color: var(--nce-development-accent, #56705c); font-family: var(--nce-display); font-size: 2.8rem; font-weight: 400; line-height: 1; }
.nce-development-availability .nce-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.nce-development-availability .nce-listing-card { background: #f8f4ec; box-shadow: 0 22px 55px rgba(6,45,107,.08); }
.nce-development-private { max-width: 56rem; padding: clamp(2rem, 4vw, 4rem); color: #f4efe5; background: #062d6b; border-top: 3px solid #d8c6a3; }
.nce-development-private .nce-eyebrow { color: #d8c6a3; }
.nce-development-private h3 { max-width: 14ch; margin: .5rem 0 1rem; color: #f7f6f2; font-size: clamp(2.6rem, 4vw, 4.6rem); }
.nce-development-private > p:not(.nce-eyebrow) { max-width: 42rem; color: rgba(255,255,255,.62); line-height: 1.7; }
.nce-development-private .nce-button { margin-top: 1rem; color: #062d6b; background: #d8c6a3; border-color: #d8c6a3; }

.nce-development-map { color: #062d6b; background: #f4efe5; }
.nce-development-map__intro { display: grid; grid-template-columns: 1.1fr .75fr; align-items: end; gap: clamp(3rem, 8vw, 9rem); }
.nce-development-map__intro h2 { max-width: 12ch; margin: 0; }
.nce-development-map__intro > div:last-child p { color: rgba(6,45,107,.66); line-height: 1.75; }
.nce-development-map .nce-map-frame { min-height: 43rem; }

.nce-development-enquiry { scroll-margin-top: 6rem; color: #f4efe5; background: #062d6b; }
.nce-development-enquiry__grid { display: grid; grid-template-columns: 1fr minmax(22rem,.72fr); align-items: start; gap: clamp(4rem, 10vw, 11rem); }
.nce-development-enquiry .nce-eyebrow { color: #d8c6a3; }
.nce-development-enquiry h2 { max-width: 12ch; margin: .6rem 0 1.2rem; color: #f7f6f2; font-size: clamp(3.5rem, 6vw, 6.5rem); }
.nce-development-enquiry .nce-lede { max-width: 43rem; color: rgba(255,255,255,.68); }
.nce-development-independent { max-width: 38rem; margin-top: 2rem; padding-top: 1rem; color: rgba(255,255,255,.38); border-top: 1px solid rgba(255,255,255,.14); font-size: .64rem; line-height: 1.6; }
.nce-development-enquiry aside { padding: clamp(1.5rem, 3vw, 2.6rem); color: #062d6b; background: #f4efe5; box-shadow: 0 30px 80px rgba(3,17,13,.28); }
.nce-development-enquiry aside .nce-button { width: 100%; justify-content: center; }

@media (max-width: 960px) {
  .nce-development-hero { min-height: 50rem; }
  .nce-development-overview__grid,
  .nce-development-enquiry__grid { grid-template-columns: 1fr; }
  .nce-development-context { max-width: 38rem; }
  .nce-development-availability .nce-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-development-map__intro { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 720px) {
  .nce-development-hero { min-height: calc(100svh - 5rem); }
  .nce-development-hero__shade { background: linear-gradient(0deg, rgba(5,19,15,.96) 0%, rgba(5,19,15,.52) 72%, rgba(5,19,15,.35)); }
  .nce-development-hero__content { padding-block: 1.5rem 2rem; }
  .nce-development-hero__body { padding-block: 3.5rem 2.5rem; }
  .nce-development-hero h1 { font-size: clamp(3.8rem, 16vw, 5.5rem); }
  .nce-development-hero__lede { font-size: .92rem; }
  .nce-development-hero .nce-actions { display: grid; }
  .nce-development-hero .nce-button { width: 100%; }
  .nce-development-hero__facts { grid-template-columns: 1fr 1fr; }
  .nce-development-hero__facts > div { padding: .9rem .8rem 0; }
  .nce-development-hero__facts > div:nth-child(3) { display: none; }
  .nce-development-overview main h2 { font-size: clamp(3rem, 13vw, 4.5rem); }
  .nce-development-gallery__grid { grid-template-columns: 1fr; grid-template-rows: none; gap: .45rem; padding: .45rem; }
  .nce-development-gallery__grid figure,
  .nce-development-gallery__grid figure:first-child,
  .nce-development-gallery__grid figure:nth-child(2),
  .nce-development-gallery__grid figure:nth-child(3) { grid-column: 1; grid-row: auto; height: 18rem; }
  .nce-development-gallery__grid figure:first-child { height: 27rem; }
  .nce-development-section-heading { display: block; }
  .nce-development-section-heading > p { justify-items: start; margin-top: 1rem; }
  .nce-development-availability .nce-card-grid { grid-template-columns: 1fr; }
  .nce-development-enquiry h2 { font-size: clamp(3.2rem, 13vw, 4.8rem); }
  .nce-development-enquiry aside { padding: 1.3rem; }
  .nce-development-map .nce-map-frame { min-height: 36rem; }
}

/* Development mini-site identity and section pages */
.nce-development-wordmark { min-width: 0; display: flex; align-items: baseline; gap: .65rem; margin-right: auto; white-space: nowrap; }
.nce-development-wordmark a { color: inherit; text-decoration: none; }
.nce-development-wordmark a:first-child { color: rgba(6,45,107,.58); font-size: .62rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-development-wordmark span { color: #d8c6a3; font-family: var(--nce-display); font-size: 1.45rem; font-weight: 300; }
.nce-development-wordmark a:last-child { color: #062d6b; font-family: var(--nce-display); font-size: clamp(1.7rem,2.25vw,2.25rem); line-height: 1; }
.nce-development-wordmark a:hover { color: var(--nce-estate-accent); }
.nce-development-nav ul { gap: clamp(.75rem,1.15vw,1.15rem); }
.nce-development-nav ul a { font-size: .6rem; letter-spacing: .08em; }

.nce-development-subhero { position: relative; min-height: 35rem; overflow: hidden; color: #f7f6f2; background: #062d6b; }
.nce-development-subhero__media,
.nce-development-subhero__shade { position: absolute; inset: 0; }
.nce-development-subhero__media img { width: 100%; height: 100%; object-fit: cover; }
.nce-development-subhero__shade { background: linear-gradient(90deg, rgba(5,19,15,.92), rgba(5,19,15,.46) 56%, rgba(5,19,15,.13)), linear-gradient(0deg, rgba(5,19,15,.58), transparent 60%); }
.nce-development-subhero__content { position: relative; z-index: 1; min-height: 35rem; display: flex; flex-direction: column; justify-content: space-between; padding-block: clamp(2rem,4vw,3rem) clamp(3.5rem,7vw,6rem); }
.nce-development-subhero__content > div { max-width: 64rem; }
.nce-development-subhero .nce-eyebrow { color: #d8c6a3; }
.nce-development-subhero h1 { max-width: 12ch; margin: .65rem 0 1rem; color: #f7f6f2; font-size: clamp(4rem,7.5vw,7.4rem); line-height: .84; letter-spacing: -.04em; }
.nce-development-subhero .nce-lede { max-width: 45rem; margin: 0; color: rgba(255,255,255,.72); }
.nce-development-section-page .nce-development-context dl { display: grid; gap: 0; margin: 1.4rem 0 1.8rem; }
.nce-development-section-page .nce-development-context dl div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1rem; padding: .85rem 0; border-top: 1px solid rgba(255,255,255,.14); }
.nce-development-section-page .nce-development-context dl div:last-child { border-bottom: 1px solid rgba(255,255,255,.14); }
.nce-development-section-page .nce-development-context dt { color: rgba(255,255,255,.42); font-size: .54rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.nce-development-section-page .nce-development-context dd { margin: 0; color: #f7f6f2; font-family: var(--nce-display); font-size: 1.06rem; line-height: 1.15; }
.nce-development-gallery--page { padding-bottom: .8rem; }
.nce-development-section-page--homes .nce-development-availability,
.nce-development-section-page--contact .nce-development-enquiry { min-height: 42rem; }
.nce-development-section-page--map .nce-development-map__intro { padding-top: clamp(4rem,7vw,7rem); }

/* Lux Collection source-backed development profile */
.nce-development-page--lux-collection { --nce-luxe-ink: #242724; --nce-luxe-gold: #c8a46a; --nce-luxe-stone: #cfc8be; --nce-luxe-sage: #b7c1b0; background: #f8f6f2; }
.nce-development-page--lux-collection .nce-development-hero__shade { background: linear-gradient(90deg,rgba(18,23,20,.9),rgba(18,23,20,.42) 58%,rgba(18,23,20,.08)),linear-gradient(0deg,rgba(18,23,20,.6),transparent 54%); }
.nce-development-page--lux-collection .nce-development-hero h1 { max-width: 9ch; font-size: clamp(4.8rem,9vw,9.4rem); font-weight: 300; letter-spacing: -.055em; }
.nce-development-page--lux-collection .nce-development-hero__body .nce-eyebrow,
.nce-development-page--lux-collection .nce-development-subhero .nce-eyebrow { color: #e0c18c; }
.nce-development-page--lux-collection .nce-development-hero .nce-button,
.nce-development-page--lux-collection .nce-development-private .nce-button { background: var(--nce-luxe-gold); border-color: var(--nce-luxe-gold); }

.nce-luxe-profile { color: var(--nce-luxe-ink); background: #f8f6f2; border-top: 1px solid rgba(36,39,36,.12); }
.nce-luxe-profile__intro { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(18rem,.55fr); align-items: end; gap: clamp(3rem,8vw,9rem); margin-bottom: clamp(3rem,6vw,6rem); }
.nce-luxe-profile__intro h2 { max-width: 12ch; margin: .6rem 0 0; font-size: clamp(3.4rem,6vw,6.5rem); }
.nce-luxe-profile__intro > div:last-child > p { color: rgba(36,39,36,.66); line-height: 1.8; }
.nce-luxe-profile__intro .nce-text-link { margin-top: 1.4rem; }
.nce-luxe-residences { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,2vw,1.7rem); }
.nce-luxe-residence { min-width: 0; background: #fff; border: 1px solid rgba(36,39,36,.12); box-shadow: 0 24px 70px rgba(36,39,36,.07); }
.nce-luxe-residence__media { position: relative; display: block; aspect-ratio: 1.42; overflow: hidden; background: #d9ddd4; }
.nce-luxe-residence__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.2,.8,.2,1); }
.nce-luxe-residence__media:hover img { transform: scale(1.035); }
.nce-luxe-residence__media > span { position: absolute; top: 1rem; left: 1rem; display: grid; width: 2.8rem; height: 2.8rem; place-items: center; color: #fff; background: rgba(36,39,36,.86); border: 1px solid rgba(255,255,255,.35); font-family: var(--nce-display); font-size: 1.1rem; }
.nce-luxe-residence__body { padding: clamp(1.4rem,2.6vw,2.2rem); }
.nce-luxe-residence__body h3 { margin: .35rem 0 .8rem; font-size: clamp(2.4rem,3.2vw,3.5rem); }
.nce-luxe-residence__body > p:not(.nce-eyebrow) { min-height: 6.2em; color: rgba(36,39,36,.66); font-size: .78rem; line-height: 1.75; }
.nce-luxe-residence dl { display: grid; grid-template-columns: repeat(3,1fr); margin: 1.4rem 0; border-block: 1px solid rgba(36,39,36,.12); }
.nce-luxe-residence dl div { min-width: 0; padding: .9rem .55rem .9rem 0; border-right: 1px solid rgba(36,39,36,.12); }
.nce-luxe-residence dl div + div { padding-left: .65rem; }
.nce-luxe-residence dl div:last-child { border-right: 0; }
.nce-luxe-residence dt { color: rgba(36,39,36,.44); font-size: .47rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nce-luxe-residence dd { margin: .25rem 0 0; color: var(--nce-luxe-ink); font-family: var(--nce-display); font-size: 1.12rem; white-space: nowrap; }

.nce-luxe-specification { display: grid; grid-template-columns: minmax(0,1fr) minmax(20rem,.72fr) minmax(17rem,.52fr); gap: clamp(2rem,5vw,5rem); align-items: start; margin-top: clamp(5rem,9vw,9rem); padding-top: clamp(3rem,6vw,5rem); border-top: 1px solid rgba(36,39,36,.14); }
.nce-luxe-specification__copy h2 { max-width: 11ch; margin: .5rem 0 1.4rem; font-size: clamp(3rem,5vw,5.2rem); }
.nce-luxe-specification__copy > p:not(.nce-eyebrow,.nce-source-note) { max-width: 46rem; color: rgba(36,39,36,.68); line-height: 1.85; }
.nce-luxe-palette { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid rgba(36,39,36,.12); }
.nce-luxe-palette > span { min-width: 0; display: grid; grid-template-columns: 2.6rem minmax(0,1fr); align-items: center; gap: .15rem .7rem; padding: .9rem; border-right: 1px solid rgba(36,39,36,.1); border-bottom: 1px solid rgba(36,39,36,.1); }
.nce-luxe-palette > span:nth-child(even) { border-right: 0; }
.nce-luxe-palette i { grid-row: span 2; width: 2.6rem; height: 2.6rem; background: var(--swatch); border: 1px solid rgba(36,39,36,.14); border-radius: 50%; }
.nce-luxe-palette strong { overflow: hidden; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.nce-luxe-palette small { color: rgba(36,39,36,.42); font-size: .52rem; letter-spacing: .07em; }
.nce-luxe-developer { padding: 1.5rem; background: #fff; border: 1px solid rgba(36,39,36,.12); }
.nce-luxe-developer img { width: 100%; max-width: 17rem; height: auto; margin: 1.2rem 0; mix-blend-mode: multiply; }
.nce-luxe-developer > p:last-child { margin-bottom: 0; color: rgba(36,39,36,.6); font-size: .68rem; line-height: 1.65; }
.nce-luxe-source-disclaimer { margin: clamp(3rem,6vw,5rem) 0 0; padding-top: 1.3rem; color: rgba(36,39,36,.46); border-top: 1px solid rgba(36,39,36,.12); font-size: .64rem; line-height: 1.65; }

.nce-luxe-library { color: var(--nce-luxe-ink,#242724); background: #ede8df; }
.nce-luxe-library__intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(18rem,.48fr); align-items: end; gap: clamp(3rem,8vw,9rem); margin-bottom: clamp(2.5rem,5vw,4.5rem); }
.nce-luxe-library__intro h2 { max-width: 13ch; margin: .6rem 0 0; font-size: clamp(3.2rem,5.8vw,6rem); }
.nce-luxe-library__intro > p { color: rgba(36,39,36,.62); line-height: 1.8; }
.nce-luxe-library__homes { border-top: 1px solid rgba(36,39,36,.18); }
.nce-luxe-drawing-set { border-bottom: 1px solid rgba(36,39,36,.18); }
.nce-luxe-drawing-set summary { display: grid; grid-template-columns: 3rem minmax(10rem,.55fr) 1fr 2rem; align-items: center; gap: 1rem; padding: 1.35rem .2rem; cursor: pointer; list-style: none; }
.nce-luxe-drawing-set summary::-webkit-details-marker { display: none; }
.nce-luxe-drawing-set summary > span { color: var(--nce-luxe-gold,#c8a46a); font-family: var(--nce-display); font-size: 1.5rem; }
.nce-luxe-drawing-set summary strong { font-family: var(--nce-display); font-size: clamp(1.8rem,3vw,2.7rem); font-weight: 400; }
.nce-luxe-drawing-set summary small { color: rgba(36,39,36,.48); font-size: .58rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.nce-luxe-drawing-set summary i { color: var(--nce-luxe-gold,#c8a46a); font-family: var(--nce-display); font-size: 2rem; font-style: normal; text-align: right; transition: transform .25s ease; }
.nce-luxe-drawing-set[open] summary i { transform: rotate(45deg); }
.nce-luxe-drawing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; padding: .5rem 0 2rem 4rem; }
.nce-luxe-drawing-grid a { color: inherit; text-decoration: none; }
.nce-luxe-drawing-grid figure { margin: 0; overflow: hidden; background: #f8f6f2; border: 1px solid rgba(36,39,36,.12); }
.nce-luxe-drawing-grid img { width: 100%; aspect-ratio: 1.48; object-fit: cover; object-position: center; transition: transform .45s ease; }
.nce-luxe-drawing-grid a:hover img { transform: scale(1.018); }
.nce-luxe-drawing-grid figcaption { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; color: rgba(36,39,36,.72); font-size: .6rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.nce-luxe-drawing-grid figcaption span { color: var(--nce-luxe-gold,#c8a46a); font-size: 1rem; }

.nce-development-page--lux-collection .nce-development-gallery--page .nce-development-gallery__grid { grid-template-rows: repeat(2,20rem); grid-auto-rows: 16rem; }
.nce-development-page--lux-collection .nce-development-gallery--page figure:nth-child(n+4) { grid-column: span 4; grid-row: auto; }

@media (max-width: 1050px) {
  .nce-luxe-residences { grid-template-columns: 1fr; }
  .nce-luxe-residence { display: grid; grid-template-columns: minmax(16rem,.82fr) 1fr; }
  .nce-luxe-residence__media { min-height: 100%; aspect-ratio: auto; }
  .nce-luxe-residence__body > p:not(.nce-eyebrow) { min-height: 0; }
  .nce-luxe-specification { grid-template-columns: 1fr 1fr; }
  .nce-luxe-specification__copy { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .nce-luxe-profile__intro,
  .nce-luxe-library__intro { grid-template-columns: 1fr; align-items: start; gap: 1.5rem; }
  .nce-luxe-residence { display: block; }
  .nce-luxe-residence__media { aspect-ratio: 1.42; }
  .nce-luxe-specification { grid-template-columns: 1fr; }
  .nce-luxe-palette { grid-template-columns: 1fr; }
  .nce-luxe-palette > span { border-right: 0; }
  .nce-luxe-drawing-set summary { grid-template-columns: 2rem 1fr 1.5rem; gap: .7rem; }
  .nce-luxe-drawing-set summary small { grid-column: 2; }
  .nce-luxe-drawing-set summary i { grid-column: 3; grid-row: 1 / span 2; }
  .nce-luxe-drawing-grid { grid-template-columns: 1fr; padding-left: 0; }
  .nce-development-page--lux-collection .nce-development-gallery--page .nce-development-gallery__grid { grid-template-rows: none; grid-auto-rows: auto; }
  .nce-development-page--lux-collection .nce-development-gallery--page figure:nth-child(n+4) { grid-column: 1; height: 18rem; }
}

/* Source-backed estate profiles */
.nce-estate-source-profile { border-block: 1px solid rgba(6,45,107,.12); }
.nce-estate-source-profile .nce-section-heading { align-items: end; }
.nce-estate-source-profile__stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: clamp(2rem,4vw,3.5rem); border: 1px solid rgba(6,45,107,.14); }
.nce-estate-source-profile__stats > div { min-width: 0; padding: clamp(1.25rem,2.6vw,2.2rem); border-right: 1px solid rgba(6,45,107,.14); }
.nce-estate-source-profile__stats > div:last-child { border-right: 0; }
.nce-estate-source-profile__stats strong { display: block; color: var(--nce-estate-accent,#10c7c7); font-family: var(--nce-display); font-size: clamp(2rem,3.5vw,3.7rem); font-weight: 400; line-height: 1; }
.nce-estate-source-profile__stats span { display: block; margin-top: .7rem; color: rgba(6,45,107,.55); font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nce-source-note { max-width: 52rem; margin: 1rem 0 0; color: rgba(6,45,107,.5); font-size: .68rem; line-height: 1.6; }
.nce-estate-source-list { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(6,45,107,.14); }
.nce-estate-source-list h3 { margin: 0 0 1rem; font-size: 1.6rem; }
.nce-estate-source-list ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.nce-estate-source-list li { color: rgba(6,45,107,.72); font-size: .78rem; }
.nce-estate-source-list li::before { content: "\2192"; margin-right: .55rem; color: var(--nce-estate-accent,#10c7c7); }
.nce-estate-guide-metrics { background: #062d6b; color: #f8f6f0; }
.nce-estate-guide-metrics__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.nce-estate-guide-metrics article { min-height: 14rem; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.5rem,3vw,2.75rem); border-left: 1px solid rgba(255,255,255,.16); }
.nce-estate-guide-metrics article:last-child { border-right: 1px solid rgba(255,255,255,.16); }
.nce-estate-guide-metrics strong { color: #d8b879; font-family: var(--nce-display); font-size: clamp(3rem,5vw,5.5rem); font-weight: 400; letter-spacing: -.05em; line-height: .9; }
.nce-estate-guide-metrics span { margin-top: 1.2rem; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nce-estate-guide-metrics small { max-width: 15rem; margin-top: .55rem; color: rgba(248,246,240,.58); font-size: .7rem; line-height: 1.55; }
.nce-estate-guide-atlas { display: grid; grid-template-columns: minmax(18rem,.55fr) minmax(0,1.45fr); gap: clamp(2.5rem,6vw,7rem); align-items: center; }
.nce-estate-guide-atlas__copy h2 { max-width: 9ch; }
.nce-estate-guide-atlas__copy > p:not(.nce-eyebrow,.nce-source-note) { max-width: 34rem; color: rgba(6,45,107,.72); font-size: 1.05rem; line-height: 1.75; }
.nce-estate-guide-atlas__copy .nce-button { margin-top: 1.8rem; }
.nce-estate-guide-atlas__map { position: relative; min-height: 34rem; display: block; overflow: hidden; background: #dcd6ca; box-shadow: 0 35px 85px rgba(6,45,107,.16); }
.nce-estate-guide-atlas__map::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(0deg,rgba(6,45,107,.82),transparent); pointer-events: none; }
.nce-estate-guide-atlas__map img { width: 100%; height: 100%; min-height: 34rem; display: block; object-fit: cover; transition: transform .9s cubic-bezier(.2,.75,.2,1); }
.nce-estate-guide-atlas__map:hover img { transform: scale(1.025); }
.nce-estate-guide-atlas__map span { position: absolute; z-index: 1; right: 2rem; bottom: 1.8rem; left: 2rem; display: flex; justify-content: space-between; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-estate-place-guide { padding-block: clamp(5rem,10vw,10rem); background: #041f4e; color: #f8f6f0; }
.nce-estate-place-guide__intro { display: grid; grid-template-columns: minmax(0,.9fr) minmax(18rem,.55fr); gap: clamp(3rem,10vw,11rem); align-items: end; margin-bottom: clamp(3rem,6vw,6rem); }
.nce-estate-place-guide .nce-eyebrow { color: #55d9db; }
.nce-estate-place-guide__intro h2 { max-width: 12ch; color: inherit; font-size: clamp(3rem,6vw,6.5rem); }
.nce-estate-place-guide__intro > div:last-child p { color: rgba(248,246,240,.67); font-size: 1rem; line-height: 1.75; }
.nce-estate-place-guide .nce-text-link { color: #f8f6f0; }
.nce-estate-place-guide__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.17); border-left: 1px solid rgba(255,255,255,.17); }
.nce-estate-place-guide__grid article { min-width: 0; display: grid; grid-template-columns: 4rem minmax(0,1fr); gap: clamp(1.25rem,2.5vw,2.75rem); padding: clamp(1.75rem,3.5vw,3.5rem); border-right: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }
.nce-estate-place-guide__number { color: #d8b879; font-family: var(--nce-display); font-size: 2rem; line-height: 1; }
.nce-estate-place-guide__grid h3 { max-width: 15ch; margin: .85rem 0 1rem; color: inherit; font-family: var(--nce-display); font-size: clamp(1.8rem,3vw,3rem); font-weight: 400; line-height: 1.02; }
.nce-estate-place-guide__grid article p:not(.nce-eyebrow) { max-width: 34rem; margin: 0; color: rgba(248,246,240,.64); font-size: .83rem; line-height: 1.78; }
.nce-estate-place-guide__status { margin-top: 1.4rem; display: inline-flex; padding: .52rem .68rem; border: 1px solid rgba(85,217,219,.35); color: #80e5e6; font-size: .6rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.nce-estate-amenities { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,9rem); align-items: start; background: #f4efe5; }
.nce-estate-amenities h2 { max-width: 13ch; margin: .5rem 0 0; }
.nce-estate-amenities ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: 0; border-top: 1px solid rgba(6,45,107,.16); list-style: none; }
.nce-estate-amenities li { padding: 1rem .4rem 1rem 0; border-bottom: 1px solid rgba(6,45,107,.16); color: rgba(6,45,107,.75); font-size: .78rem; }
.nce-estate-amenities li:nth-child(odd) { border-right: 1px solid rgba(6,45,107,.16); }
.nce-estate-amenities li:nth-child(even) { padding-left: 1rem; }
.nce-estate-guide-detail { background: #f4efe5; }
.nce-estate-guide-detail__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(6,45,107,.18); border-bottom: 1px solid rgba(6,45,107,.18); }
.nce-estate-guide-detail__grid article { min-width: 0; padding: clamp(1.75rem,3.5vw,3.25rem); }
.nce-estate-guide-detail__grid article + article { border-left: 1px solid rgba(6,45,107,.18); }
.nce-estate-guide-detail__grid span { color: #9b713c; font-size: .58rem; font-weight: 800; letter-spacing: .16em; }
.nce-estate-guide-detail__grid h3 { margin: 1.6rem 0 .85rem; font-family: var(--nce-display); font-size: clamp(1.7rem,2.5vw,2.4rem); font-weight: 400; }
.nce-estate-guide-detail__grid p { margin: 0; color: rgba(6,45,107,.7); line-height: 1.8; }
.nce-estate-guide-detail__grid--chapters { grid-template-columns: repeat(2,minmax(0,1fr)); }
.nce-estate-guide-detail__grid--chapters article:nth-child(odd) { border-left: 0; }
.nce-estate-guide-detail__grid--chapters article:nth-child(n+3) { border-top: 1px solid rgba(6,45,107,.18); }
.nce-estate-guide-detail__grid ul { display: grid; gap: .6rem; margin: 1.35rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid rgba(6,45,107,.13); list-style: none; }
.nce-estate-guide-detail__grid li { position: relative; padding-left: 1.25rem; color: rgba(6,45,107,.62); font-size: .72rem; line-height: 1.55; }
.nce-estate-guide-detail__grid li::before { content: "+"; position: absolute; left: 0; color: #9b713c; font-weight: 800; }
.nce-estate-guide-detail__source { margin: 1.5rem 0 0; color: rgba(6,45,107,.56); font-size: .72rem; }
.nce-estate-guide-sources { display: grid; grid-template-columns: minmax(18rem,.62fr) minmax(0,1.15fr); gap: clamp(3rem,9vw,10rem); align-items: start; }
.nce-estate-guide-sources h2 { max-width: 10ch; }
.nce-estate-guide-sources > div > p:last-child { max-width: 32rem; color: rgba(6,45,107,.66); line-height: 1.75; }
.nce-estate-guide-sources aside ul { margin: 0; padding: 0; border-top: 1px solid rgba(6,45,107,.18); list-style: none; }
.nce-estate-guide-sources aside li { border-bottom: 1px solid rgba(6,45,107,.18); }
.nce-estate-guide-sources aside li a { display: flex; justify-content: space-between; gap: 1.5rem; padding: 1.15rem 0; color: #062d6b; font-size: .78rem; font-weight: 700; text-decoration: none; }
.nce-estate-guide-sources aside li a:hover span { text-decoration: underline; text-underline-offset: .25rem; }
.nce-estate-guide-sources aside > p { margin: 1.5rem 0 0; padding: 1.25rem; background: #f4efe5; color: rgba(6,45,107,.64); font-size: .72rem; line-height: 1.65; }
.nce-estate-guide-sources aside > p strong { display: block; margin-bottom: .4rem; color: #062d6b; font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.nce-estate-faq { display: grid; grid-template-columns: minmax(16rem,.58fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,9rem); align-items: start; }
.nce-estate-faq h2 { max-width: 10ch; }
.nce-estate-faq details { border-top: 1px solid rgba(6,45,107,.18); }
.nce-estate-faq details:last-child { border-bottom: 1px solid rgba(6,45,107,.18); }
.nce-estate-faq summary { position: relative; padding: 1.35rem 2.5rem 1.35rem 0; cursor: pointer; font-family: var(--nce-display); font-size: clamp(1.25rem,2vw,1.75rem); list-style: none; }
.nce-estate-faq summary::-webkit-details-marker { display: none; }
.nce-estate-faq summary::after { content: "+"; position: absolute; right: .35rem; color: #9b713c; font-family: var(--nce-sans); }
.nce-estate-faq details[open] summary::after { content: "−"; }
.nce-estate-faq details p { max-width: 48rem; margin: -.25rem 0 1.5rem; color: rgba(6,45,107,.7); line-height: 1.75; }
.nce-estate-guide-actions { padding-block: clamp(4rem,8vw,7rem); background: #10c7c7; color: #062d6b; }
.nce-estate-guide-actions .nce-shell { display: grid; grid-template-columns: minmax(18rem,.75fr) minmax(0,1.25fr); gap: clamp(3rem,10vw,11rem); align-items: end; }
.nce-estate-guide-actions h2 { max-width: 11ch; margin-bottom: 0; color: inherit; }
.nce-estate-guide-actions nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(6,45,107,.28); border-left: 1px solid rgba(6,45,107,.28); }
.nce-estate-guide-actions nav a { min-height: 10rem; display: grid; grid-template-columns: 2.25rem 1fr auto; gap: 1rem; align-items: end; padding: 1.4rem; border-right: 1px solid rgba(6,45,107,.28); border-bottom: 1px solid rgba(6,45,107,.28); color: inherit; text-decoration: none; transition: background .2s,color .2s; }
.nce-estate-guide-actions nav a:hover { background: #062d6b; color: #fff; }
.nce-estate-guide-actions nav span { font-size: .58rem; font-weight: 800; }
.nce-estate-guide-actions nav strong { max-width: 11rem; font-family: var(--nce-display); font-size: 1.45rem; font-weight: 400; line-height: 1.05; }

/* A complete lifestyle guide: estate, village, Ballito and the wider coast. */
.nce-estate-subsite-page--lifestyle .nce-estate-subhero { min-height: min(70vh,46rem); }
.nce-lifestyle-intro { display: grid; grid-template-columns: minmax(20rem,.82fr) minmax(0,1.18fr); gap: clamp(3rem,9vw,10rem); align-items: center; }
.nce-lifestyle-intro__copy h2 { max-width: 11ch; margin: .7rem 0 1.5rem; font-size: clamp(3rem,5.2vw,5.7rem); }
.nce-lifestyle-intro__copy .nce-lede { max-width: 43rem; color: #062d6b; }
.nce-lifestyle-intro__copy > p:not(.nce-eyebrow,.nce-lede,.nce-source-note) { max-width: 41rem; color: rgba(6,45,107,.7); font-size: .95rem; line-height: 1.8; }
.nce-lifestyle-intro__metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(6,45,107,.18); border-left: 1px solid rgba(6,45,107,.18); }
.nce-lifestyle-intro__metrics article { min-height: 14rem; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.4rem,3vw,2.5rem); border-right: 1px solid rgba(6,45,107,.18); border-bottom: 1px solid rgba(6,45,107,.18); }
.nce-lifestyle-intro__metrics strong { color: #0a6f78; font-family: var(--nce-display); font-size: clamp(2.2rem,3.7vw,4rem); font-weight: 400; letter-spacing: -.04em; line-height: .95; }
.nce-lifestyle-intro__metrics span { margin-top: 1.05rem; color: #062d6b; font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-lifestyle-intro__metrics small { max-width: 15rem; margin-top: .45rem; color: rgba(6,45,107,.5); font-size: .67rem; line-height: 1.5; }
.nce-lifestyle-ballito { min-height: 46rem; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(25rem,.85fr); background: #062d6b; color: #f8f6f0; }
.nce-lifestyle-ballito__media { position: relative; min-height: 40rem; overflow: hidden; }
.nce-lifestyle-ballito__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 60%,rgba(6,45,107,.45)),linear-gradient(0deg,rgba(6,45,107,.55),transparent 45%); pointer-events: none; }
.nce-lifestyle-ballito__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.02); }
.nce-lifestyle-ballito__media span { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; color: #fff; font-size: .6rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nce-lifestyle-ballito__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem,6vw,7rem); }
.nce-lifestyle-ballito__copy .nce-eyebrow { color: #55d9db; }
.nce-lifestyle-ballito__copy h2 { max-width: 10ch; margin: .8rem 0 1.6rem; color: inherit; font-size: clamp(3rem,5vw,5.5rem); }
.nce-lifestyle-ballito__copy p:not(.nce-eyebrow) { max-width: 35rem; color: rgba(248,246,240,.68); line-height: 1.78; }
.nce-lifestyle-ballito__copy .nce-text-link { margin-top: 1rem; color: #fff; }
.nce-lifestyle-orbit { padding-block: clamp(5rem,10vw,10rem); background: #f4efe5; }
.nce-lifestyle-orbit__intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(19rem,.52fr); gap: clamp(3rem,10vw,11rem); align-items: end; margin-bottom: clamp(3rem,6vw,5.5rem); }
.nce-lifestyle-orbit__intro h2 { max-width: 12ch; margin-bottom: 0; font-size: clamp(3rem,5vw,5.5rem); }
.nce-lifestyle-orbit__intro > p { max-width: 33rem; margin: 0; color: rgba(6,45,107,.65); font-size: .9rem; line-height: 1.8; }
.nce-lifestyle-orbit__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(6,45,107,.18); border-left: 1px solid rgba(6,45,107,.18); }
.nce-lifestyle-orbit__grid article { min-width: 0; padding: clamp(1.6rem,3.5vw,3rem); border-right: 1px solid rgba(6,45,107,.18); border-bottom: 1px solid rgba(6,45,107,.18); background: rgba(255,255,255,.28); }
.nce-lifestyle-orbit__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nce-lifestyle-orbit__top span { color: #9b713c; font-family: var(--nce-display); font-size: 1.4rem; }
.nce-lifestyle-orbit__top p { margin: 0; color: rgba(6,45,107,.5); font-size: .55rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-lifestyle-orbit__grid h3 { max-width: 13ch; margin: 2rem 0 .6rem; font-family: var(--nce-display); font-size: clamp(1.9rem,3vw,3rem); font-weight: 400; line-height: 1; }
.nce-lifestyle-orbit__grid article > strong { display: block; margin-bottom: 1.3rem; color: #0a6f78; font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nce-lifestyle-orbit__grid article > p { min-height: 7rem; color: rgba(6,45,107,.66); font-size: .78rem; line-height: 1.72; }
.nce-lifestyle-orbit__grid ul { display: grid; gap: .55rem; margin: 1.4rem 0 0; padding: 1.3rem 0 0; border-top: 1px solid rgba(6,45,107,.13); list-style: none; }
.nce-lifestyle-orbit__grid li { position: relative; padding-left: 1.15rem; color: rgba(6,45,107,.72); font-size: .68rem; line-height: 1.45; }
.nce-lifestyle-orbit__grid li::before { content: "+"; position: absolute; left: 0; color: #9b713c; font-weight: 800; }
.nce-lifestyle-rhythm { display: grid; grid-template-columns: minmax(18rem,.58fr) minmax(0,1.2fr); gap: clamp(3rem,9vw,10rem); align-items: start; }
.nce-lifestyle-rhythm header { position: sticky; top: 7rem; }
.nce-lifestyle-rhythm h2 { max-width: 10ch; margin-bottom: 0; }
.nce-lifestyle-rhythm__timeline { border-top: 1px solid rgba(6,45,107,.18); }
.nce-lifestyle-rhythm__timeline article { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: clamp(1.5rem,3vw,3rem); padding: 1.8rem 0; border-bottom: 1px solid rgba(6,45,107,.18); }
.nce-lifestyle-rhythm__timeline time { padding-top: .35rem; color: #0a6f78; font-size: .62rem; font-weight: 850; letter-spacing: .13em; }
.nce-lifestyle-rhythm__timeline h3 { margin: 0 0 .55rem; font-family: var(--nce-display); font-size: clamp(1.55rem,2.3vw,2.25rem); font-weight: 400; }
.nce-lifestyle-rhythm__timeline p { max-width: 43rem; margin: 0; color: rgba(6,45,107,.63); font-size: .78rem; line-height: 1.7; }
.nce-lifestyle-inside { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(26rem,.8fr); background: #041f4e; color: #f8f6f0; }
.nce-lifestyle-inside__gallery { min-height: 50rem; display: grid; grid-template-columns: 1.2fr .8fr; grid-template-rows: repeat(2,1fr); gap: .45rem; padding: .45rem 0 .45rem .45rem; }
.nce-lifestyle-inside__gallery figure { min-height: 20rem; margin: 0; overflow: hidden; }
.nce-lifestyle-inside__gallery figure:first-child { grid-row: 1 / span 2; }
.nce-lifestyle-inside__gallery img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.nce-lifestyle-inside__gallery figure:hover img { transform: scale(1.025); }
.nce-lifestyle-inside__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem,6vw,6.5rem); }
.nce-lifestyle-inside__copy .nce-eyebrow { color: #55d9db; }
.nce-lifestyle-inside__copy h2 { max-width: 10ch; color: inherit; font-size: clamp(3rem,4.8vw,5.2rem); }
.nce-lifestyle-inside__copy > p:not(.nce-eyebrow) { color: rgba(248,246,240,.65); line-height: 1.75; }
.nce-lifestyle-inside__copy ul { width: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 1.6rem 0 2rem; padding: 0; border-top: 1px solid rgba(255,255,255,.15); list-style: none; }
.nce-lifestyle-inside__copy li { position: relative; padding: .8rem .4rem .8rem 1rem; border-bottom: 1px solid rgba(255,255,255,.15); color: rgba(248,246,240,.74); font-size: .67rem; line-height: 1.4; }
.nce-lifestyle-inside__copy li::before { content: "+"; position: absolute; left: 0; color: #55d9db; }
.nce-lifestyle-inside__copy .nce-button { background: #10c7c7; color: #062d6b; }
.nce-lifestyle-sources { display: grid; grid-template-columns: minmax(18rem,.62fr) minmax(0,1.15fr); gap: clamp(3rem,9vw,10rem); align-items: start; }
.nce-lifestyle-sources h2 { max-width: 10ch; }
.nce-lifestyle-sources > div > p:last-child { max-width: 34rem; color: rgba(6,45,107,.66); line-height: 1.75; }
.nce-lifestyle-sources ul { margin: 0; padding: 0; border-top: 1px solid rgba(6,45,107,.18); list-style: none; }
.nce-lifestyle-sources li { border-bottom: 1px solid rgba(6,45,107,.18); }
.nce-lifestyle-sources a { display: flex; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 0; color: #062d6b; font-size: .75rem; font-weight: 750; text-decoration: none; }
.nce-lifestyle-sources a:hover span { text-decoration: underline; text-underline-offset: .25rem; }
.nce-lifestyle-actions { padding-block: clamp(4rem,8vw,7rem); background: #10c7c7; color: #062d6b; }
.nce-lifestyle-actions .nce-shell { display: grid; grid-template-columns: minmax(18rem,.75fr) minmax(0,1.25fr); gap: clamp(3rem,10vw,11rem); align-items: end; }
.nce-lifestyle-actions h2 { max-width: 12ch; margin-bottom: 0; color: inherit; }
.nce-lifestyle-actions nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(6,45,107,.28); border-left: 1px solid rgba(6,45,107,.28); }
.nce-lifestyle-actions nav a { min-height: 10rem; display: grid; grid-template-columns: 2.25rem 1fr auto; gap: 1rem; align-items: end; padding: 1.4rem; border-right: 1px solid rgba(6,45,107,.28); border-bottom: 1px solid rgba(6,45,107,.28); color: inherit; text-decoration: none; transition: background .2s,color .2s; }
.nce-lifestyle-actions nav a:hover { background: #062d6b; color: #fff; }
.nce-lifestyle-actions nav a span { font-size: .58rem; font-weight: 800; }
.nce-lifestyle-actions nav a strong { max-width: 11rem; font-family: var(--nce-display); font-size: 1.45rem; font-weight: 400; line-height: 1.05; }

@media (max-width: 1120px) {
  .nce-development-wordmark { margin-right: auto; }
  .nce-development-wordmark a:last-child { font-size: 1.9rem; }
  .nce-development-nav ul a { font-size: clamp(1.9rem,5vw,3rem); letter-spacing: -.02em; }
  .nce-lifestyle-intro,
  .nce-lifestyle-ballito,
  .nce-lifestyle-rhythm,
  .nce-lifestyle-inside { grid-template-columns: 1fr; }
  .nce-lifestyle-ballito__media { min-height: 36rem; }
  .nce-lifestyle-ballito__copy { min-height: 35rem; }
  .nce-lifestyle-orbit__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-lifestyle-rhythm header { position: static; }
  .nce-lifestyle-inside__gallery { min-height: 42rem; order: 2; }
}

@media (max-width: 640px) {
  .nce-development-wordmark { gap: .4rem; }
  .nce-development-wordmark a:first-child { font-size: .48rem; letter-spacing: .09em; }
  .nce-development-wordmark span { font-size: 1rem; }
  .nce-development-wordmark a:last-child { max-width: 9rem; overflow: hidden; font-size: 1.45rem; text-overflow: ellipsis; }
  .nce-development-subhero,
  .nce-development-subhero__content { min-height: 31rem; }
  .nce-development-subhero__shade { background: linear-gradient(0deg, rgba(5,19,15,.94), rgba(5,19,15,.34)); }
  .nce-development-subhero h1 { font-size: clamp(3.5rem,15vw,5rem); }
  .nce-development-subhero__content { padding-block: 1.5rem 3rem; }
  .nce-estate-source-profile__stats { grid-template-columns: 1fr 1fr; }
  .nce-estate-source-profile__stats > div:nth-child(2) { border-right: 0; }
  .nce-estate-source-profile__stats > div:nth-child(-n+2) { border-bottom: 1px solid rgba(6,45,107,.14); }
  .nce-estate-source-list ul,
  .nce-estate-amenities,
  .nce-estate-amenities ul { grid-template-columns: 1fr; }
  .nce-estate-amenities li:nth-child(odd) { border-right: 0; }
  .nce-estate-amenities li:nth-child(even) { padding-left: 0; }
  .nce-estate-guide-detail__grid,
  .nce-estate-faq { grid-template-columns: 1fr; }
  .nce-estate-guide-detail__grid article + article { border-top: 1px solid rgba(6,45,107,.18); border-left: 0; }
  .nce-estate-guide-metrics__grid,
  .nce-estate-place-guide__grid,
  .nce-estate-guide-actions nav { grid-template-columns: 1fr 1fr; }
  .nce-estate-guide-metrics article { min-height: 11rem; }
  .nce-estate-guide-metrics article:nth-child(3) { border-top: 1px solid rgba(255,255,255,.16); }
  .nce-estate-guide-metrics article:nth-child(odd) { border-left: 1px solid rgba(255,255,255,.16); }
  .nce-estate-guide-atlas,
  .nce-estate-place-guide__intro,
  .nce-estate-guide-sources,
  .nce-estate-guide-actions .nce-shell { grid-template-columns: 1fr; }
  .nce-estate-guide-atlas__map,
  .nce-estate-guide-atlas__map img { min-height: 20rem; }
  .nce-estate-place-guide__grid article { grid-template-columns: 2.5rem minmax(0,1fr); padding: 1.4rem; }
  .nce-estate-guide-detail__grid--chapters { grid-template-columns: 1fr; }
  .nce-estate-guide-actions nav a { min-height: 9rem; grid-template-columns: 1fr auto; }
  .nce-estate-guide-actions nav a span { grid-column: 1 / -1; }
  .nce-estate-subsite-page--lifestyle .nce-estate-subhero { min-height: 35rem; }
  .nce-lifestyle-intro__metrics,
  .nce-lifestyle-orbit__grid,
  .nce-lifestyle-inside__copy ul,
  .nce-lifestyle-actions nav { grid-template-columns: 1fr; }
  .nce-lifestyle-intro__metrics article { min-height: 10rem; }
  .nce-lifestyle-ballito__media { min-height: 25rem; }
  .nce-lifestyle-ballito__copy { min-height: 0; padding: 4rem 1rem; }
  .nce-lifestyle-orbit__intro,
  .nce-lifestyle-sources,
  .nce-lifestyle-actions .nce-shell { grid-template-columns: 1fr; }
  .nce-lifestyle-orbit__grid article > p { min-height: 0; }
  .nce-lifestyle-rhythm__timeline article { grid-template-columns: 4rem minmax(0,1fr); }
  .nce-lifestyle-inside__gallery { min-height: 0; grid-template-columns: 1fr; grid-template-rows: repeat(3,20rem); padding-left: .45rem; }
  .nce-lifestyle-inside__gallery figure:first-child { grid-row: auto; }
  .nce-lifestyle-inside__copy { padding: 4rem 1rem; }
  .nce-lifestyle-actions nav a { min-height: 9rem; grid-template-columns: 1fr auto; }
  .nce-lifestyle-actions nav a span { grid-column: 1 / -1; }
}

/* Development inventory is a render-led product release, not a resale listing grid. */
.nce-development-residences { display: grid; gap: clamp(2.5rem,6vw,5.5rem); }
.nce-development-residence-card {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(25rem,.92fr);
  overflow: hidden;
  background: #faf8f3;
  border: 1px solid rgba(36,39,36,.13);
  box-shadow: 0 32px 85px rgba(28,35,31,.1);
}
.nce-development-residence-card:nth-child(even) .nce-development-residence-card__media { grid-column: 2; grid-row: 1; }
.nce-development-residence-card:nth-child(even) .nce-development-residence-card__body { grid-column: 1; grid-row: 1; }
.nce-development-residence-card__media { position: relative; min-width: 0; min-height: 42rem; display: grid; grid-template-rows: minmax(0,1fr) 8.5rem; gap: .28rem; overflow: hidden; color: inherit; background: #262d28; text-decoration: none; }
.nce-development-residence-card__hero { position: relative; min-height: 0; margin: 0; overflow: hidden; }
.nce-development-residence-card__hero::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(0deg,rgba(9,23,18,.76),transparent); pointer-events: none; }
.nce-development-residence-card__hero img,
.nce-development-residence-card__filmstrip img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1),filter .25s ease; }
.nce-development-residence-card__media:hover img { transform: scale(1.018); filter: saturate(.88); }
.nce-development-residence-card__hero figcaption { position: absolute; z-index: 1; right: 1.2rem; bottom: 1.05rem; left: 1.2rem; color: rgba(255,255,255,.78); font-size: .57rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.nce-development-residence-card__filmstrip { min-width: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .28rem; }
.nce-development-residence-card__filmstrip figure { min-width: 0; margin: 0; overflow: hidden; }
.nce-development-residence-card__number { position: absolute; z-index: 2; top: 1.25rem; left: 1.25rem; display: grid; width: 3.2rem; aspect-ratio: 1; place-items: center; color: #f7f6f2; background: rgba(25,31,27,.78); border: 1px solid rgba(216,183,126,.7); font-family: var(--nce-display); font-size: 1.3rem; backdrop-filter: blur(12px); }
.nce-development-residence-card__body { min-width: 0; align-content: center; display: grid; padding: clamp(2rem,4.5vw,4.8rem); }
.nce-development-residence-card__identity { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nce-development-residence-card__identity .nce-eyebrow { margin: 0; color: #9a6f36; }
.nce-development-residence-card__identity > span { flex: 0 0 auto; color: rgba(36,39,36,.48); font-size: .5rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nce-development-residence-card__body h3 { max-width: 10ch; margin: .75rem 0 .5rem; font-size: clamp(3.2rem,5.4vw,5.9rem); line-height: .86; }
.nce-development-residence-card__price { margin: .4rem 0 1.35rem; color: #9a6f36; font-family: var(--nce-display); font-size: 1.55rem; }
.nce-development-residence-card__summary { max-width: 40rem; margin: 0; color: rgba(36,39,36,.66); font-size: .82rem; line-height: 1.8; }
.nce-development-residence-card__facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1.7rem 0 1.35rem; border-block: 1px solid rgba(36,39,36,.14); }
.nce-development-residence-card__facts div { min-width: 0; padding: 1rem .7rem 1rem 0; border-right: 1px solid rgba(36,39,36,.12); }
.nce-development-residence-card__facts div + div { padding-left: .75rem; }
.nce-development-residence-card__facts div:last-child { border-right: 0; }
.nce-development-residence-card__facts dt { color: rgba(36,39,36,.44); font-size: .48rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nce-development-residence-card__facts dd { margin: .28rem 0 0; color: #242724; font-family: var(--nce-display); font-size: 1.25rem; line-height: 1; white-space: nowrap; }
.nce-development-residence-card__features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem 1rem; margin: 0; padding: 0; list-style: none; }
.nce-development-residence-card__features li { min-width: 0; display: grid; grid-template-columns: 1rem minmax(0,1fr); align-items: baseline; color: rgba(36,39,36,.7); font-size: .67rem; }
.nce-development-residence-card__features li > span { color: #c8a46a; font-family: var(--nce-display); font-size: 1rem; }
.nce-development-residence-card__features small { grid-column: 2; color: rgba(36,39,36,.46); font-size: .55rem; }
.nce-development-residence-card__library { display: flex; flex-wrap: wrap; gap: .45rem 1rem; margin: 1.5rem 0 0; padding-top: 1rem; color: rgba(36,39,36,.45); border-top: 1px solid rgba(36,39,36,.1); font-size: .55rem; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.nce-development-residence-card__library span + span::before { content: "·"; margin-right: 1rem; color: #c8a46a; }
.nce-development-residence-card__actions { display: flex; align-items: center; gap: 1.5rem; margin-top: 1.5rem; }
.nce-development-residence-card__actions .nce-button { color: #fff; background: #242724; border-color: #242724; }

/* A development plan deliberately excludes estate POIs and unrelated stock. */
.nce-map-frame[data-map-context="development"] { --nce-development-map-gold:#c8a46a; background: #1b241f; }
.nce-development-plan-bar {
  position: absolute;
  z-index: 9;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  gap: clamp(1.5rem,4vw,4rem);
  max-width: calc(100% - 12rem);
  padding: .85rem 1rem;
  color: #f7f6f2;
  background: rgba(20,29,24,.93);
  border: 1px solid rgba(200,164,106,.45);
  box-shadow: 0 18px 55px rgba(7,22,17,.26);
  backdrop-filter: blur(16px);
}
.nce-development-plan-bar > div { min-width: 0; display: grid; grid-template-columns: auto auto; align-items: baseline; gap: .15rem .8rem; }
.nce-development-plan-bar > div span { grid-column: 1 / -1; color: #d8c6a3; font-size: .48rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.nce-development-plan-bar strong { overflow: hidden; font-family: var(--nce-display); font-size: 1.5rem; font-weight: 400; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.nce-development-plan-bar small { color: rgba(255,255,255,.48); font-size: .55rem; white-space: nowrap; }
.nce-development-plan-bar nav { display: flex; gap: .35rem; }
.nce-development-plan-bar nav a { padding: .58rem .75rem; color: #f7f6f2; border: 1px solid rgba(255,255,255,.2); font-size: .55rem; font-weight: 780; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.nce-development-plan-bar nav a:hover { color: #062d6b; background: #d8c6a3; border-color: #d8c6a3; }
.nce-estate-plan-bar {
  position: absolute;
  z-index: 9;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.5rem,4vw,4rem);
  max-width: calc(100% - 12rem);
  padding: .85rem 1rem;
  color: #f7f6f2;
  background: rgba(6,45,107,.94);
  border: 1px solid rgba(216,183,126,.42);
  box-shadow: 0 18px 55px rgba(7,22,17,.25);
  backdrop-filter: blur(16px);
}
.nce-estate-plan-bar > div { min-width: 0; display: grid; grid-template-columns: auto auto; align-items: baseline; gap: .15rem .8rem; }
.nce-estate-plan-bar > div span { grid-column: 1 / -1; color: #d8c6a3; font-size: .48rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.nce-estate-plan-bar strong { overflow: hidden; font-family: var(--nce-display); font-size: 1.5rem; font-weight: 400; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.nce-estate-plan-bar small { color: rgba(255,255,255,.5); font-size: .55rem; white-space: nowrap; }
.nce-estate-plan-bar nav { display: flex; gap: .35rem; }
.nce-estate-plan-bar nav a { padding: .58rem .75rem; color: #f7f6f2; border: 1px solid rgba(255,255,255,.2); font-size: .55rem; font-weight: 780; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.nce-estate-plan-bar nav a:hover { color: #062d6b; background: #d8c6a3; border-color: #d8c6a3; }
.nce-map-frame[data-map-context="estate"] .nce-estate-plan-controls { top: 6.35rem; }

.nce-estate-inventory-map { position: relative; margin: 2.5rem 0 3.5rem; overflow: hidden; color: #f7f6f2; background: #062d6b; box-shadow: 0 25px 70px rgba(6,45,107,.16); }
.nce-estate-inventory-map > header { min-height: 9rem; display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: 1.7rem 2rem; border-bottom: 1px solid rgba(255,255,255,.13); }
.nce-estate-inventory-map > header .nce-eyebrow { margin: 0 0 .45rem; color: #d8c6a3; }
.nce-estate-inventory-map > header h2 { margin: 0; color: #f7f6f2; font-size: clamp(2.2rem,4vw,3.65rem); }
.nce-estate-inventory-map > header > p { max-width: 23rem; margin: 0; color: rgba(255,250,240,.55); font-size: .68rem; line-height: 1.55; }
.nce-estate-inventory-map > header > p strong { display: block; margin-bottom: .25rem; color: #f7f6f2; font-family: var(--nce-display); font-size: 1.25rem; font-weight: 400; }
.nce-estate-inventory-map__canvas { min-height: 34rem; background: #d8d7cf; }
.nce-estate-inventory-map__key { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .55rem 1rem; max-width: min(35rem,calc(100% - 2rem)); padding: .8rem 1rem; color: #062d6b; background: rgba(255,250,240,.94); border: 1px solid rgba(6,45,107,.14); box-shadow: 0 15px 45px rgba(6,45,107,.18); backdrop-filter: blur(14px); }
.nce-estate-inventory-map__key span { display: inline-flex; align-items: center; gap: .4rem; font-size: .62rem; font-weight: 700; }
.nce-estate-inventory-map__key i { width: .7rem; aspect-ratio: 1; background: #d8c6a3; border: 2px solid #f7f6f2; border-radius: 50%; box-shadow: 0 0 0 1px #10c7c7; }
.nce-estate-inventory-map__key span:nth-child(2) i { background: #10c7c7; }
.nce-estate-inventory-map__key small { flex-basis: 100%; color: rgba(6,45,107,.55); font-size: .56rem; }
.nce-map-frame[data-map-context="development"] .nce-map-key { width: auto; max-width: calc(100% - 2rem); padding: .8rem 1rem; }
.nce-map-frame[data-map-context="development"] .nce-map-key > p { display: inline; margin-right: 1rem; color: #8b6335; }
.nce-map-frame[data-map-context="development"] .nce-map-key > small { display: inline; margin: 0 0 0 .45rem; padding: 0 0 0 1rem; border-top: 0; border-left: 1px solid rgba(6,45,107,.15); }
.nce-map-frame[data-map-context="development"] .nce-estate-plan-controls { top: 1rem; }
.nce-map-frame[data-map-context="development"][data-map-size="full"] .nce-development-plan-bar,
.nce-map-frame[data-map-context="development"][data-map-size="full"] .nce-estate-plan-controls { top: 7.5rem; }
.nce-map-frame[data-map-context="development"] .nce-estate-plan-pin--property { z-index: 5; width: 2.8rem; height: 2.8rem; color: #062d6b; background: #d8c6a3; border: 3px solid #f7f6f2; box-shadow: 0 0 0 2px #8b6335,0 12px 28px rgba(10,28,22,.32); transition: transform .2s ease,box-shadow .2s ease; }
.nce-map-frame[data-map-context="development"] .nce-estate-plan-pin--property > i { font-family: var(--nce-display); font-size: .75rem; font-weight: 700; }
.nce-map-frame[data-map-context="development"] .nce-estate-plan-pin--property > span { right: calc(100% + .75rem); bottom: calc(100% + .15rem); left: auto; padding: .52rem .72rem; color: #f7f6f2; background: rgba(20,33,27,.94); border-bottom: 2px solid #d8c6a3; font-family: var(--nce-display); font-size: .82rem; font-weight: 500; box-shadow: 0 10px 28px rgba(7,22,17,.25); opacity: 1; transform: none; }
.nce-map-frame[data-map-context="development"] .nce-estate-plan-pin--property:hover > span,
.nce-map-frame[data-map-context="development"] .nce-estate-plan-pin--property:focus-visible > span { transform: translateY(-2px); }
.nce-map-frame[data-map-context="development"] .nce-estate-plan-pin--property:hover,
.nce-map-frame[data-map-context="development"] .nce-estate-plan-pin--property:focus-visible { z-index: 10; transform: translate(-50%,-50%) scale(1.12); box-shadow: 0 0 0 4px rgba(216,183,126,.4),0 16px 32px rgba(10,28,22,.38); }

/* Render-led development residence drawer. */
.nce-map-drawer--development { width: min(43rem,68vw); color: #242724; background: #f8f6f2; border-left: 1px solid rgba(200,164,106,.5); box-shadow: -38px 0 95px rgba(8,24,18,.34); }
.nce-map-drawer--development .nce-map-drawer__close { position: sticky; z-index: 20; top: 1rem; left: 1rem; float: left; margin: 1rem 0 -4rem 1rem; color: #062d6b; border-color: rgba(255,255,255,.7); background: rgba(248,246,242,.92); }
.nce-development-home-drawer { min-height: 100%; background: #f8f6f2; }
.nce-development-home-drawer__gallery { display: grid; grid-template-columns: minmax(0,3.35fr) minmax(6.5rem,1fr); height: clamp(22rem,44vh,29rem); gap: .28rem; overflow: hidden; background: #252d28; }
.nce-development-home-drawer__hero { position: relative; min-width: 0; overflow: hidden; color: #fff; text-decoration: none; }
.nce-development-home-drawer__hero::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(0deg,rgba(7,21,16,.8),transparent); }
.nce-development-home-drawer__hero > img,
.nce-development-home-drawer__strip img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.nce-development-home-drawer__hero:hover > img,
.nce-development-home-drawer__strip a:hover img { transform: scale(1.025); }
.nce-development-home-drawer__hero-copy { position: absolute; z-index: 1; right: 1.25rem; bottom: 1.2rem; left: 1.25rem; display: grid; gap: .22rem; }
.nce-development-home-drawer__hero-copy small { color: #d8c6a3; font-size: .5rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nce-development-home-drawer__hero-copy strong { font-family: var(--nce-display); font-size: 1.25rem; font-weight: 400; }
.nce-development-home-drawer__strip { min-width: 0; display: grid; grid-template-rows: repeat(3,minmax(0,1fr)); gap: .28rem; }
.nce-development-home-drawer__strip a { min-height: 0; overflow: hidden; }
.nce-development-home-drawer__body { padding: clamp(1.8rem,4vw,3.2rem); }
.nce-development-home-drawer__identity { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nce-development-home-drawer__identity .nce-eyebrow { margin: 0; color: #946b36; }
.nce-development-home-drawer__identity > span { flex: 0 0 auto; color: rgba(36,39,36,.46); font-size: .48rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nce-development-home-drawer__body h2 { max-width: 12ch; margin: .8rem 0 .7rem; color: #242724; font-size: clamp(3.5rem,6vw,5.8rem); line-height: .85; }
.nce-development-home-drawer__availability { display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; margin: 1.2rem 0 1.35rem; padding-block: .95rem; border-block: 1px solid rgba(36,39,36,.14); }
.nce-development-home-drawer__availability small { color: rgba(36,39,36,.45); font-size: .5rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nce-development-home-drawer__availability strong { color: #946b36; font-family: var(--nce-display); font-size: 1.45rem; font-weight: 400; text-align: right; }
.nce-development-home-drawer__lead { margin: 0; color: #39443f; font-family: var(--nce-display); font-size: 1.22rem; line-height: 1.45; }
.nce-development-home-drawer__facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1.55rem 0; border: 1px solid rgba(36,39,36,.13); }
.nce-development-home-drawer__facts div { min-width: 0; padding: .9rem; border-right: 1px solid rgba(36,39,36,.12); }
.nce-development-home-drawer__facts div:last-child { border-right: 0; }
.nce-development-home-drawer__facts dt { color: rgba(36,39,36,.43); font-size: .47rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nce-development-home-drawer__facts dd { overflow: hidden; margin: .3rem 0 0; color: #242724; font-family: var(--nce-display); font-size: 1.18rem; text-overflow: ellipsis; white-space: nowrap; }
.nce-development-home-drawer__story { margin: 0; color: rgba(36,39,36,.64); font-size: .76rem; line-height: 1.78; }
.nce-development-home-drawer__features { margin-top: 1.6rem; }
.nce-development-home-drawer__features h3 { margin: 0 0 .75rem; font-family: var(--nce-sans); font-size: .55rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-development-home-drawer__features ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem 1rem; margin: 0; padding: 0; list-style: none; }
.nce-development-home-drawer__features li { min-width: 0; display: grid; grid-template-columns: .9rem minmax(0,1fr); align-items: baseline; color: rgba(36,39,36,.68); font-size: .66rem; }
.nce-development-home-drawer__features li > span { color: #c8a46a; font-family: var(--nce-display); font-size: 1rem; }
.nce-development-home-drawer__features li strong { font-weight: 650; }
.nce-development-home-drawer__features li small { grid-column: 2; color: rgba(36,39,36,.46); font-size: .53rem; }
.nce-development-home-drawer__library { display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; align-items: end; margin-top: 1.65rem; padding: 1rem 1.1rem; background: #ebe6dc; border-left: 3px solid #c8a46a; }
.nce-development-home-drawer__library span { color: rgba(36,39,36,.45); font-size: .47rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nce-development-home-drawer__library strong { grid-row: 2; font-family: var(--nce-display); font-size: 1.1rem; font-weight: 500; }
.nce-development-home-drawer__library a { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #10c7c7; font-size: .59rem; font-weight: 760; }
.nce-development-home-drawer__actions { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1.2rem; margin-top: 1.4rem; }
.nce-development-home-drawer__actions .nce-button { justify-content: center; color: #062d6b; background: #d8c6a3; border-color: #d8c6a3; }
.nce-development-home-drawer__actions .nce-text-link { color: #10c7c7; font-size: .63rem; }
.nce-development-home-drawer__note { margin: 1.35rem 0 0; padding-top: 1rem; color: rgba(36,39,36,.42); border-top: 1px solid rgba(36,39,36,.11); font-size: .56rem; line-height: 1.6; }
.nce-map-frame[data-map-context="development"][data-drawer-open] .nce-estate-plan-controls { right: clamp(1rem,calc(68vw + 1rem),44rem); }
.nce-map-frame[data-map-context="development"][data-map-size="full"][data-drawer-open] .nce-estate-plan-controls { top: 12.35rem; }

@media (max-width: 980px) {
  .nce-development-residence-card { grid-template-columns: 1fr; }
  .nce-development-residence-card:nth-child(even) .nce-development-residence-card__media,
  .nce-development-residence-card:nth-child(even) .nce-development-residence-card__body { grid-column: 1; grid-row: auto; }
  .nce-development-residence-card__media { min-height: 35rem; }
  .nce-map-drawer--development { width: min(39rem,72vw); }
}

@media (max-width: 700px) {
  .nce-development-residence-card__media { min-height: 29rem; grid-template-rows: minmax(0,1fr) 6.5rem; }
  .nce-development-residence-card__body { padding: 1.6rem 1.3rem 2rem; }
  .nce-development-residence-card__identity { align-items: flex-start; flex-direction: column; gap: .55rem; }
  .nce-development-residence-card__facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-development-residence-card__facts div:nth-child(2) { border-right: 0; }
  .nce-development-residence-card__facts div:nth-child(-n+2) { border-bottom: 1px solid rgba(36,39,36,.12); }
  .nce-development-residence-card__features { grid-template-columns: 1fr; }
  .nce-development-residence-card__actions { align-items: stretch; flex-direction: column; }
  .nce-development-plan-bar { top: .6rem; left: .6rem; max-width: calc(100% - 1.2rem); padding: .7rem .8rem; }
  .nce-development-plan-bar > div { display: grid; grid-template-columns: 1fr; }
  .nce-development-plan-bar small { display: none; }
  .nce-development-plan-bar nav a:first-child { display: none; }
  .nce-development-plan-bar nav a { white-space: nowrap; }
  .nce-estate-plan-bar { top: .6rem; left: .6rem; max-width: calc(100% - 1.2rem); padding: .7rem .8rem; }
  .nce-estate-plan-bar > div { grid-template-columns: 1fr; }
  .nce-estate-plan-bar small { display: none; }
  .nce-estate-plan-bar nav a:first-child { display: none; }
  .nce-map-frame[data-map-context="estate"] .nce-estate-plan-controls { top: 5.65rem; right: .6rem; }
  .nce-estate-inventory-map > header { align-items: flex-start; flex-direction: column; padding: 1.4rem; }
  .nce-estate-inventory-map__canvas { min-height: 30rem; }
  .nce-map-frame[data-map-context="development"] .nce-map-key { left: .6rem; bottom: .6rem; max-width: calc(100% - 1.2rem); }
  .nce-map-frame[data-map-context="development"] .nce-estate-plan-controls { top: 5.2rem; right: .6rem; }
  .nce-map-frame[data-map-context="development"] .nce-map-key > small { display: block; margin: .55rem 0 0; padding: .5rem 0 0; border-top: 1px solid rgba(6,45,107,.15); border-left: 0; }
  .nce-map-drawer--development { width: 100%; height: min(88%,52rem); }
  .nce-development-home-drawer__gallery { height: 20rem; grid-template-columns: minmax(0,3fr) minmax(5rem,1fr); }
  .nce-development-home-drawer__body { padding: 1.55rem 1.25rem 2rem; }
  .nce-development-home-drawer__identity { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .nce-development-home-drawer__body h2 { font-size: clamp(3.2rem,13vw,4.7rem); }
  .nce-development-home-drawer__facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-development-home-drawer__facts div:nth-child(2) { border-right: 0; }
  .nce-development-home-drawer__facts div:nth-child(-n+2) { border-bottom: 1px solid rgba(36,39,36,.12); }
  .nce-development-home-drawer__features ul { grid-template-columns: 1fr; }
  .nce-development-home-drawer__library { grid-template-columns: 1fr; }
  .nce-development-home-drawer__library a { grid-column: 1; grid-row: auto; margin-top: .5rem; }
  .nce-development-home-drawer__actions { grid-template-columns: 1fr; }
  .nce-map-frame[data-map-context="development"][data-drawer-open] .nce-estate-plan-controls { right: .6rem; }
  .nce-map-frame[data-map-context="development"][data-map-size="full"] .nce-development-plan-bar,
  .nce-map-frame[data-map-context="development"][data-map-size="full"] .nce-estate-plan-controls,
  .nce-map-frame[data-map-context="development"][data-map-size="full"][data-drawer-open] .nce-estate-plan-controls { top: 7.2rem; }
}

/* Development residence editorial experience */
.nce-development-property { --nce-dev-gold: #c8a46a; --nce-dev-ink: #181c19; --nce-dev-paper: #f4efe6; color: var(--nce-dev-ink); background: var(--nce-dev-paper); }
.nce-development-property__hero { position: relative; min-height: calc(100svh - 7.8rem); display: grid; overflow: hidden; color: #f7f6f2; background: #263542; isolation: isolate; }
.nce-development-property__hero-media,
.nce-development-property__hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.nce-development-property__hero-media { z-index: -2; object-fit: cover; object-position: center; }
.nce-development-property__hero-shade { z-index: -1; background: linear-gradient(90deg,rgba(7,15,13,.82) 0%,rgba(7,15,13,.35) 48%,rgba(7,15,13,.13) 72%),linear-gradient(0deg,rgba(7,15,13,.68),transparent 58%); }
.nce-development-property__hero-inner { min-height: inherit; display: grid; grid-template-columns: minmax(0,1fr) minmax(20rem,25rem); align-items: end; gap: clamp(2rem,5vw,6.5rem); padding-block: clamp(4rem,8vw,8rem); }
.nce-development-property__identity { max-width: 51rem; }
.nce-development-property__back { display: inline-flex; align-items: center; gap: .75rem; margin-bottom: clamp(2.5rem,8vh,6.5rem); color: rgba(255,250,240,.78); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.nce-development-property__back span { color: var(--nce-dev-gold); font-size: 1rem; }
.nce-development-property__identity .nce-eyebrow { margin: 0 0 1.25rem; color: #e4c48d; }
.nce-development-property__identity h1 { max-width: 11ch; margin: 0 0 1.25rem; color: #f7f6f2; font-size: clamp(4.7rem,8.8vw,9.5rem); line-height: .82; letter-spacing: -.035em; }
.nce-development-property__identity > .nce-development-property__summary { max-width: 43rem; margin: 0; color: rgba(255,250,240,.76); font-size: clamp(.84rem,1.15vw,1.03rem); line-height: 1.72; }
.nce-development-property__hero-card { align-self: end; padding: clamp(1.6rem,3vw,2.5rem); color: #f7f6f2; background: rgba(11,22,18,.78); border: 1px solid rgba(255,255,255,.2); box-shadow: 0 2rem 5rem rgba(0,0,0,.25); backdrop-filter: blur(18px); }
.nce-development-property__hero-card > small { color: rgba(255,250,240,.58); font-size: .5rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nce-development-property__hero-card > strong { display: block; margin: .45rem 0 1.4rem; color: #f0d6a5; font-family: var(--nce-display); font-size: clamp(2rem,3.1vw,3.25rem); font-weight: 400; line-height: 1; }
.nce-development-property__hero-card dl { margin: 0 0 1.35rem; border-top: 1px solid rgba(255,255,255,.18); }
.nce-development-property__hero-card dl div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .78rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.nce-development-property__hero-card dt { color: rgba(255,250,240,.62); font-size: .6rem; }
.nce-development-property__hero-card dd { margin: 0; color: #f7f6f2; font-family: var(--nce-display); font-size: 1.08rem; }
.nce-development-property__hero-card .nce-button { width: 100%; justify-content: center; color: #18211d; background: #d9b87e; border-color: #d9b87e; }
.nce-development-property__hero-card > p { margin: 1rem 0 0; color: rgba(255,250,240,.44); font-size: .52rem; line-height: 1.6; }
.nce-development-property__section-nav { position: sticky; z-index: 105; top: 7.8rem; background: rgba(248,245,238,.97); border-bottom: 1px solid rgba(24,28,25,.12); backdrop-filter: blur(18px); }
.nce-development-property__section-nav .nce-shell { min-height: 4.3rem; display: flex; align-items: stretch; justify-content: space-between; gap: 2rem; }
.nce-development-property__section-nav .nce-shell > div { min-width: 0; display: flex; align-items: stretch; gap: clamp(1.2rem,2.6vw,2.75rem); overflow-x: auto; scrollbar-width: none; }
.nce-development-property__section-nav .nce-shell > div::-webkit-scrollbar { display: none; }
.nce-development-property__section-nav a { display: flex; align-items: center; color: rgba(24,28,25,.7); font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.nce-development-property__section-nav .nce-shell > div a:hover { color: #9b7137; }
.nce-development-property__section-cta { flex: 0 0 auto; gap: 1rem; padding-inline: 2rem; color: #f7f6f2 !important; background: var(--nce-dev-ink); }
.nce-development-property__overview,
.nce-development-property__drawings,
.nce-development-property__gallery,
.nce-development-property__purchase,
.nce-development-property__enquire { scroll-margin-top: 12rem; padding-block: clamp(5rem,10vw,10rem); }
.nce-development-property__overview-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.58fr); gap: clamp(3rem,9vw,10rem); align-items: start; }
.nce-development-property__overview main > h2 { max-width: 13ch; margin: 1rem 0 2rem; font-size: clamp(3.4rem,6.3vw,7rem); line-height: .9; }
.nce-development-property__overview .nce-prose { max-width: 54rem; color: rgba(24,28,25,.68); font-size: .86rem; line-height: 1.85; }
.nce-development-property__features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: clamp(2.5rem,5vw,4.5rem) 0 0; padding: 0; border-block: 1px solid rgba(24,28,25,.14); list-style: none; }
.nce-development-property__features li { min-width: 0; display: grid; grid-template-columns: 1.1rem minmax(0,1fr); align-content: start; padding: 1.25rem 1rem 1.25rem 0; border-right: 1px solid rgba(24,28,25,.12); }
.nce-development-property__features li:nth-child(3n) { border-right: 0; }
.nce-development-property__features li > span { color: var(--nce-dev-gold); font-family: var(--nce-display); font-size: 1.15rem; }
.nce-development-property__features strong { font-size: .66rem; font-weight: 650; line-height: 1.4; }
.nce-development-property__features small { grid-column: 2; margin-top: .25rem; color: rgba(24,28,25,.48); font-size: .57rem; }
.nce-development-property__schedule { position: sticky; top: 13.5rem; padding: clamp(1.8rem,3.5vw,3rem); background: #ffffff; border-top: 3px solid var(--nce-dev-gold); box-shadow: 0 1.5rem 4rem rgba(31,30,25,.08); }
.nce-development-property__schedule dl { margin: 1.4rem 0; border-top: 1px solid rgba(24,28,25,.14); }
.nce-development-property__schedule dl div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(24,28,25,.13); }
.nce-development-property__schedule dt { color: rgba(24,28,25,.54); font-size: .59rem; }
.nce-development-property__schedule dd { margin: 0; font-family: var(--nce-display); font-size: 1.35rem; }
.nce-development-property__schedule > p:last-child { margin: 0; color: rgba(24,28,25,.46); font-size: .56rem; line-height: 1.65; }
.nce-development-property__drawings { background: #ded7ca; }
.nce-development-property__section-heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(18rem,.55fr); align-items: end; gap: clamp(3rem,10vw,11rem); margin-bottom: clamp(2.8rem,6vw,5.5rem); }
.nce-development-property__section-heading h2 { max-width: 14ch; margin: .8rem 0 0; font-size: clamp(3.4rem,6vw,6.6rem); line-height: .9; }
.nce-development-property__section-heading > p { max-width: 36rem; margin: 0; color: rgba(24,28,25,.62); font-size: .82rem; line-height: 1.75; }
.nce-development-property__drawing-viewer { background: #fffdfa; box-shadow: 0 2rem 5rem rgba(41,36,27,.09); }
.nce-development-property__drawing-tabs { display: flex; align-items: stretch; gap: 0; overflow-x: auto; border-bottom: 1px solid rgba(24,28,25,.14); scrollbar-width: none; }
.nce-development-property__drawing-tabs::-webkit-scrollbar { display: none; }
.nce-development-property__drawing-tabs button { min-height: 4.4rem; padding: 1rem 1.5rem; color: rgba(24,28,25,.52); background: transparent; border: 0; border-right: 1px solid rgba(24,28,25,.12); font-size: .54rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; cursor: pointer; }
.nce-development-property__drawing-tabs button[aria-selected="true"] { color: #fff; background: var(--nce-dev-ink); }
.nce-development-property__drawing-stage figure { margin: 0; }
.nce-development-property__drawing-stage figure[hidden] { display: none; }
.nce-development-property__drawing-stage figure > button { width: 100%; height: clamp(32rem,66vw,58rem); display: block; padding: clamp(1rem,3vw,3rem); background: #f7f4ed; border: 0; cursor: zoom-in; }
.nce-development-property__drawing-stage img { width: 100%; height: 100%; display: block; object-fit: contain; }
.nce-development-property__drawing-stage figcaption { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.5rem; color: rgba(24,28,25,.58); border-top: 1px solid rgba(24,28,25,.12); font-size: .6rem; }
.nce-development-property__drawing-stage figcaption span { color: #a67b42; font-family: var(--nce-display); font-size: 1.15rem; }
.nce-development-property__gallery { overflow: hidden; background: #f7f3eb; }
.nce-development-property__gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: clamp(2.5rem,5vw,4.5rem); }
.nce-development-property__gallery-heading h2 { margin: .8rem 0 0; font-size: clamp(3.4rem,6.3vw,7rem); line-height: .88; }
.nce-development-property__gallery-controls { flex: 0 0 auto; display: flex; align-items: center; gap: .8rem; }
.nce-development-property__gallery-controls span { margin-right: .5rem; color: rgba(24,28,25,.46); font-size: .5rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nce-development-property__gallery-controls button { width: 3.15rem; aspect-ratio: 1; color: var(--nce-dev-ink); background: transparent; border: 1px solid rgba(24,28,25,.5); border-radius: 50%; font-size: 1rem; cursor: pointer; }
.nce-development-property__gallery-controls button:hover { color: #fff; background: var(--nce-dev-ink); }
.nce-development-property__gallery-rail { display: grid; grid-auto-flow: column; grid-auto-columns: min(72vw,62rem); gap: 1rem; overflow-x: auto; overscroll-behavior-inline: contain; padding: 0 max(1rem,calc((100vw - var(--nce-shell)) / 2)) 2rem; scroll-padding-inline: max(1rem,calc((100vw - var(--nce-shell)) / 2)); scroll-snap-type: inline mandatory; scrollbar-color: var(--nce-dev-gold) rgba(24,28,25,.12); scrollbar-width: thin; }
.nce-development-property__gallery-rail figure { min-width: 0; margin: 0; scroll-snap-align: start; }
.nce-development-property__gallery-rail figure > button { width: 100%; height: clamp(25rem,52vw,44rem); display: block; padding: 0; overflow: hidden; background: #d9d4ca; border: 0; cursor: zoom-in; }
.nce-development-property__gallery-rail img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.nce-development-property__gallery-rail button:hover img { transform: scale(1.018); }
.nce-development-property__gallery-rail figcaption { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; color: rgba(24,28,25,.58); font-size: .6rem; }
.nce-development-property__gallery-rail figcaption span { color: #a67b42; font-family: var(--nce-display); font-size: 1.2rem; }
.nce-development-property__purchase { color: #f8f2e8; background: #151816; }
.nce-development-property__purchase .nce-eyebrow { color: #d8c6a3; }
.nce-development-property__purchase .nce-development-property__section-heading > p { color: rgba(248,242,232,.58); }
.nce-development-property__purchase h2 { color: #f8f2e8; }
.nce-development-property__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid rgba(255,255,255,.17); }
.nce-development-property__steps article { min-height: 19rem; padding: clamp(1.5rem,3vw,2.7rem); border-right: 1px solid rgba(255,255,255,.17); }
.nce-development-property__steps article:last-child { border-right: 0; }
.nce-development-property__steps span { color: #d8c6a3; font-family: var(--nce-display); font-size: 1.1rem; }
.nce-development-property__steps h3 { margin: 5.5rem 0 .9rem; color: #f8f2e8; font-size: clamp(1.65rem,2.5vw,2.35rem); font-weight: 400; }
.nce-development-property__steps p { margin: 0; color: rgba(248,242,232,.58); font-size: .7rem; line-height: 1.7; }
.nce-development-property__enquire { background: #d9bc88; }
.nce-development-property__enquire-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(24rem,.72fr); gap: clamp(3rem,10vw,11rem); align-items: start; }
.nce-development-property__enquire-grid h2 { max-width: 11ch; margin: 1rem 0 1.5rem; font-size: clamp(3.7rem,7vw,7.5rem); line-height: .86; }
.nce-development-property__enquire-grid > div > p:not(.nce-eyebrow) { max-width: 38rem; color: rgba(24,28,25,.68); font-size: .85rem; line-height: 1.75; }
.nce-development-property__enquire-grid .nce-text-link { margin-top: 2rem; color: var(--nce-dev-ink); }
.nce-development-property__enquire-grid aside { padding: clamp(1.7rem,3vw,2.7rem); background: #f7f6f2; box-shadow: 0 2rem 5rem rgba(49,36,18,.12); }
.nce-development-property__location { scroll-margin-top: 12rem; background: #e6e0d5; }
.nce-development-property__location-intro { display: grid; grid-template-columns: 1.2fr .65fr; align-items: end; gap: clamp(3rem,9vw,10rem); }
.nce-development-property__location-intro h2 { max-width: 12ch; margin: .8rem 0 0; }
.nce-development-property__location-intro > div:last-child p { color: rgba(24,28,25,.64); line-height: 1.75; }
.nce-development-property__location .nce-map-frame { min-height: 42rem; }

@media (max-width: 980px) {
  .nce-development-property__hero-inner { grid-template-columns: minmax(0,1fr) minmax(18rem,21rem); }
  .nce-development-property__overview-grid,
  .nce-development-property__enquire-grid { grid-template-columns: 1fr; }
  .nce-development-property__schedule { position: static; }
  .nce-development-property__section-heading { grid-template-columns: 1fr; align-items: start; gap: 1.5rem; }
  .nce-development-property__steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-development-property__steps article:nth-child(2) { border-right: 0; }
  .nce-development-property__steps article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.17); }
}

@media (max-width: 700px) {
  .nce-development-property__hero { min-height: 49rem; }
  .nce-development-property__hero-inner { grid-template-columns: 1fr; align-content: end; gap: 1.5rem; padding-block: 3rem 1.2rem; }
  .nce-development-property__hero-shade { background: linear-gradient(0deg,rgba(7,15,13,.94) 0%,rgba(7,15,13,.56) 58%,rgba(7,15,13,.18)); }
  .nce-development-property__back { margin-bottom: 2rem; }
  .nce-development-property__identity h1 { font-size: clamp(4.3rem,20vw,6.7rem); }
  .nce-development-property__identity > .nce-development-property__summary { display: none; }
  .nce-development-property__hero-card { width: 100%; padding: 1.25rem; }
  .nce-development-property__hero-card > strong { margin-bottom: 1rem; }
  .nce-development-property__hero-card dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-development-property__hero-card dl div { display: grid; gap: .15rem; padding: .65rem .5rem .65rem 0; }
  .nce-development-property__hero-card dl div:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.16); }
  .nce-development-property__hero-card dl div:nth-child(even) { padding-left: .75rem; }
  .nce-development-property__hero-card > p { display: none; }
  .nce-development-property__section-nav { top: 6.6rem; }
  .nce-development-property__section-nav .nce-shell { width: 100%; min-height: 3.75rem; padding-left: 1rem; }
  .nce-development-property__section-nav .nce-shell > div { gap: 1.3rem; }
  .nce-development-property__section-cta { padding-inline: 1.2rem; }
  .nce-development-property__overview,
  .nce-development-property__drawings,
  .nce-development-property__gallery,
  .nce-development-property__purchase,
  .nce-development-property__enquire { padding-block: 4.5rem; }
  .nce-development-property__overview main > h2,
  .nce-development-property__section-heading h2,
  .nce-development-property__gallery-heading h2 { font-size: clamp(3.1rem,14vw,4.5rem); }
  .nce-development-property__features { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-development-property__features li,
  .nce-development-property__features li:nth-child(3n) { border-right: 1px solid rgba(24,28,25,.12); }
  .nce-development-property__features li:nth-child(even) { border-right: 0; padding-left: .75rem; }
  .nce-development-property__drawing-tabs button { min-height: 3.8rem; padding-inline: 1rem; }
  .nce-development-property__drawing-stage figure > button { height: 27rem; padding: .5rem; }
  .nce-development-property__gallery-heading { display: grid; gap: 1.5rem; }
  .nce-development-property__gallery-controls { justify-content: flex-end; }
  .nce-development-property__gallery-controls span { margin-right: auto; }
  .nce-development-property__gallery-rail { grid-auto-columns: 88vw; gap: .7rem; }
  .nce-development-property__gallery-rail figure > button { height: 25rem; }
  .nce-development-property__steps { grid-template-columns: 1fr; }
  .nce-development-property__steps article { min-height: 14rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
  .nce-development-property__steps article:last-child { border-bottom: 0; }
  .nce-development-property__steps h3 { margin-top: 3rem; }
  .nce-development-property__enquire-grid { grid-template-columns: 1fr; }
  .nce-development-property__enquire-grid h2 { font-size: clamp(3.5rem,16vw,5rem); }
  .nce-development-property__location-intro { grid-template-columns: 1fr; align-items: start; gap: 1.4rem; }
  .nce-development-property__location .nce-map-frame { min-height: 35rem; }
}

/* Customer-facing estate comparison */
.nce-compare-page { background: #f7f6f2; }
.nce-compare-hero { position: relative; overflow: hidden; padding-block: clamp(3.5rem,5vw,5rem); color: #f8f3e9; background: #102622; }
.nce-compare-hero::before { content: ""; position: absolute; inset: -45% -5% auto 48%; height: 42rem; border: 1px solid rgba(217,184,125,.22); border-radius: 50%; transform: rotate(-12deg); }
.nce-compare-hero::after { content: ""; position: absolute; inset: auto -12rem -22rem auto; width: 38rem; aspect-ratio: 1; border: 1px solid rgba(217,184,125,.14); border-radius: 50%; }
.nce-compare-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(25rem,.6fr); gap: clamp(4rem,10vw,10rem); align-items: end; }
.nce-compare-hero .nce-eyebrow { color: #d8c6a3; }
.nce-compare-hero h1 { max-width: 12ch; margin: 0 0 1.25rem; color: #f7f6f2; font-size: clamp(3.5rem,5.5vw,6rem); line-height: .9; }
.nce-compare-hero__inner > div > p:last-child { max-width: 45rem; margin: 0; color: rgba(248,243,233,.7); font-size: clamp(1rem,1.35vw,1.2rem); line-height: 1.7; }
.nce-compare-hero dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; border-block: 1px solid rgba(255,255,255,.18); }
.nce-compare-hero dl div { min-width: 0; padding: 1.25rem 1rem 1.25rem 0; border-right: 1px solid rgba(255,255,255,.16); }
.nce-compare-hero dl div:not(:first-child) { padding-left: 1rem; }
.nce-compare-hero dl div:last-child { border-right: 0; }
.nce-compare-hero dt { margin-bottom: .4rem; color: rgba(248,243,233,.52); font-size: .62rem; font-weight: 800; letter-spacing: .11em; line-height: 1.35; text-transform: uppercase; }
.nce-compare-hero dd { margin: 0; color: #e0bf83; font-family: var(--nce-display); font-size: clamp(1.65rem,2.5vw,2.35rem); line-height: 1; }

.nce-compare-directory { padding-block: clamp(3.5rem,6vw,6rem); }
.nce-compare-directory__heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(23rem,.55fr); gap: clamp(3rem,9vw,9rem); align-items: end; margin-bottom: 1.75rem; }
.nce-compare-directory__heading h2 { margin: .6rem 0 0; font-size: clamp(3rem,4.3vw,4.9rem); line-height: .9; }
.nce-compare-directory__heading > p { max-width: 37rem; margin: 0; color: rgba(6,45,107,.64); font-size: .94rem; line-height: 1.75; }
.nce-compare-toolbar { display: grid; grid-template-columns: minmax(15rem,21rem) minmax(0,1fr) auto; gap: 1rem; align-items: end; margin-bottom: 1.25rem; padding: 1.2rem; background: #f8f4ec; border: 1px solid rgba(6,45,107,.14); box-shadow: 0 1rem 3rem rgba(35,39,33,.06); }
.nce-compare-toolbar label { display: grid; gap: .45rem; }
.nce-compare-toolbar label span { color: rgba(6,45,107,.58); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nce-compare-toolbar input { width: 100%; height: 3.15rem; padding: 0 1rem; color: var(--nce-ink); background: #fffdf9; border: 1px solid rgba(6,45,107,.22); border-radius: 0; }
.nce-compare-toolbar input::placeholder { color: rgba(6,45,107,.4); }
.nce-compare-filters { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.nce-compare-filters button { min-height: 3.15rem; padding: .65rem 1rem; color: rgba(6,45,107,.72); background: transparent; border: 1px solid rgba(6,45,107,.18); border-radius: 0; font-size: .68rem; font-weight: 750; letter-spacing: .025em; cursor: pointer; transition: color .2s,background .2s,border-color .2s; }
.nce-compare-filters button:hover { border-color: #10c7c7; }
.nce-compare-filters button[aria-pressed="true"] { color: #fff; background: #062d6b; border-color: #062d6b; }
.nce-compare-toolbar__status { align-self: center; margin: 1.35rem 0 0; color: rgba(6,45,107,.5); font-size: .66rem; white-space: nowrap; }

.nce-comparison { position: relative; overflow: auto; background: #ffffff; border: 1px solid rgba(6,45,107,.16); box-shadow: 0 2rem 5rem rgba(40,39,31,.07); scrollbar-color: #d8c6a3 rgba(6,45,107,.08); scrollbar-width: thin; }
.nce-comparison table { width: 100%; min-width: 73rem; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.nce-comparison th,.nce-comparison td { min-width: 0; padding: 1.25rem 1rem; vertical-align: top; text-align: left; border-right: 1px solid rgba(6,45,107,.1); border-bottom: 1px solid rgba(6,45,107,.1); }
.nce-comparison tr > :last-child { border-right: 0; }
.nce-comparison tbody tr:last-child > * { border-bottom: 0; }
.nce-comparison thead th { position: sticky; z-index: 3; top: 0; padding-block: .9rem; color: rgba(255,255,255,.64); background: #16322d; font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nce-comparison thead th:nth-child(1) { width: 21%; }
.nce-comparison thead th:nth-child(2) { width: 18%; }
.nce-comparison thead th:nth-child(3) { width: 10%; }
.nce-comparison thead th:nth-child(4),.nce-comparison thead th:nth-child(5) { width: 18%; }
.nce-comparison thead th:nth-child(6) { width: 15%; }
.nce-comparison tbody tr { transition: background-color .18s ease,box-shadow .18s ease; }
.nce-comparison tbody tr:hover { background: #f7f2e8; box-shadow: inset .2rem 0 #b5894d; }
.nce-comparison tr[hidden] { display: none !important; }
.nce-comparison tbody th { position: relative; padding-left: 3.35rem; }
.nce-compare-estate__number { position: absolute; left: 1rem; top: 1.45rem; color: #d8c6a3; font-family: var(--nce-display); font-size: 1rem; font-weight: 400; }
.nce-comparison tbody th > a:first-of-type { display: block; margin-bottom: .25rem; font-family: var(--nce-display); font-size: clamp(1.15rem,1.5vw,1.45rem); font-weight: 400; line-height: 1.06; text-decoration: none; }
.nce-comparison tbody th > a:first-of-type:hover { color: #10c7c7; }
.nce-comparison tbody th small,.nce-comparison tbody td small { display: block; margin-top: .35rem; color: rgba(6,45,107,.5); font-size: .65rem; font-weight: 500; line-height: 1.5; }
.nce-compare-estate__open { display: inline-flex; gap: .35rem; margin-top: .85rem; color: #10c7c7; font-size: .61rem; font-weight: 800; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.nce-compare-estate__open span { transition: transform .2s; }
.nce-compare-estate__open:hover span { transform: translateX(.2rem); }
.nce-comparison tbody td > strong { display: block; font-size: .76rem; font-weight: 720; line-height: 1.35; }
.nce-compare-scale { color: #8b6230; font-family: var(--nce-display); font-size: 1.2rem !important; font-weight: 400 !important; }
.nce-compare-pet { display: grid; grid-template-columns: .55rem minmax(0,1fr); gap: .55rem; align-items: start; font-size: .67rem; line-height: 1.5; }
.nce-compare-pet i { width: .48rem; aspect-ratio: 1; margin-top: .24rem; background: #b78949; border-radius: 50%; box-shadow: 0 0 0 .22rem rgba(183,137,73,.12); }
.nce-compare-pet--not_allowed i { background: #9b4b40; box-shadow: 0 0 0 .22rem rgba(155,75,64,.1); }
.nce-compare-pet--confirm i { background: #8f958e; box-shadow: 0 0 0 .22rem rgba(143,149,142,.12); }
.nce-compare-pet--allowed i { background: #42745d; box-shadow: 0 0 0 .22rem rgba(66,116,93,.12); }
.nce-compare-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.nce-compare-tags span { display: inline-flex; padding: .34rem .5rem; color: #38564f; background: #edf1eb; border: 1px solid rgba(16,199,199,.13); font-size: .56rem; font-weight: 750; line-height: 1.2; }
.nce-compare-empty { padding: 4rem 2rem; text-align: center; }
.nce-compare-empty h3 { margin-bottom: .5rem; font-size: 2.5rem; }
.nce-compare-empty p { color: rgba(6,45,107,.58); }
.nce-compare-note { display: grid; grid-template-columns: 12rem minmax(0,1fr) auto; gap: 2rem; align-items: start; margin-top: 1.25rem; padding: 1.2rem 1.35rem; color: rgba(248,243,233,.68); background: #18332e; }
.nce-compare-note strong { color: #e0bf83; font-size: .66rem; letter-spacing: .09em; text-transform: uppercase; }
.nce-compare-note p { max-width: 66rem; margin: 0; font-size: .68rem; line-height: 1.7; }
.nce-compare-note > span { color: rgba(248,243,233,.42); font-size: .59rem; white-space: nowrap; }

@media (max-width: 1080px) {
  .nce-compare-hero__inner { grid-template-columns: 1fr; gap: 3rem; }
  .nce-compare-hero dl { max-width: 48rem; }
  .nce-compare-toolbar { grid-template-columns: minmax(15rem,20rem) 1fr; }
  .nce-compare-toolbar__status { grid-column: 1 / -1; margin: 0; }
  .nce-compare-note { grid-template-columns: 10rem minmax(0,1fr); }
  .nce-compare-note > span { grid-column: 2; }
}

@media (max-width: 760px) {
  .nce-compare-hero { padding-block: 3.5rem; }
  .nce-compare-hero::before,.nce-compare-hero::after { display: none; }
  .nce-compare-hero h1 { font-size: clamp(3.25rem,14vw,5rem); }
  .nce-compare-hero dl { grid-template-columns: 1fr; }
  .nce-compare-hero dl div,.nce-compare-hero dl div:not(:first-child) { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .nce-compare-hero dl div:last-child { border-bottom: 0; }
  .nce-compare-hero dt { margin: 0; }
  .nce-compare-hero dd { font-size: 1.6rem; }
  .nce-compare-directory { padding-block: 3.8rem; }
  .nce-compare-directory__heading { grid-template-columns: 1fr; gap: 1.2rem; }
  .nce-compare-directory__heading h2 { font-size: 3.6rem; }
  .nce-compare-toolbar { grid-template-columns: 1fr; padding: 1rem; }
  .nce-compare-toolbar__status { grid-column: auto; }
  .nce-compare-filters { flex-wrap: nowrap; overflow-x: auto; margin-inline: -1rem; padding-inline: 1rem; scrollbar-width: none; }
  .nce-compare-filters::-webkit-scrollbar { display: none; }
  .nce-compare-filters button { flex: 0 0 auto; min-height: 2.8rem; }
  .nce-comparison { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .nce-comparison table,.nce-comparison tbody { width: 100%; min-width: 0; display: block; }
  .nce-comparison thead { display: none; }
  .nce-comparison tbody { display: grid; gap: .8rem; }
  .nce-comparison tbody tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); background: #ffffff; border: 1px solid rgba(6,45,107,.14); box-shadow: 0 1rem 2.5rem rgba(40,39,31,.05); }
  .nce-comparison tbody th,.nce-comparison tbody td { display: block; padding: 1rem; border-right: 1px solid rgba(6,45,107,.09); border-bottom: 1px solid rgba(6,45,107,.09); }
  .nce-comparison tbody th { grid-column: 1 / -1; padding-left: 3.25rem; }
  .nce-comparison tbody td:nth-child(odd) { border-right: 0; }
  .nce-comparison tbody td:last-child { grid-column: 1 / -1; border: 0; }
  .nce-comparison tbody td::before { content: attr(data-label); display: block; margin-bottom: .55rem; color: rgba(6,45,107,.44); font-size: .54rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
  .nce-compare-note { grid-template-columns: 1fr; gap: .6rem; }
  .nce-compare-note > span { grid-column: auto; white-space: normal; }
}

@media (max-width: 480px) {
  .nce-comparison tbody tr { grid-template-columns: 1fr; }
  .nce-comparison tbody th,.nce-comparison tbody td,.nce-comparison tbody td:last-child { grid-column: 1; border-right: 0; }
}

/* Property contact experience */
.nce-property-showcase__contact-actions { display: flex; align-items: stretch; justify-content: flex-end; gap: .7rem; flex: 0 0 auto; }
.nce-property-whatsapp {
  min-height: 3.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .72rem 1.15rem;
  color: #fff;
  background: #168c50;
  border: 1px solid #168c50;
  text-decoration: none;
  box-shadow: 0 .7rem 1.7rem rgba(14,111,62,.2);
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.nce-property-whatsapp:hover { color: #fff; background: #107541; transform: translateY(-2px); box-shadow: 0 1rem 2.2rem rgba(14,111,62,.27); }
.nce-property-whatsapp svg { width: 1.55rem; height: 1.55rem; flex: 0 0 auto; }
.nce-property-whatsapp > span { min-width: 0; display: grid; gap: .08rem; text-align: left; }
.nce-property-whatsapp small { color: rgba(255,255,255,.7); font-size: .48rem; font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.nce-property-whatsapp strong { color: #fff; font-size: .74rem; font-weight: 800; line-height: 1.25; }

.nce-development-property__contact-actions { display: grid; gap: .65rem; }
.nce-development-property__contact-actions .nce-property-whatsapp,
.nce-development-property__contact-actions .nce-button { width: 100%; }
.nce-development-property__contact-actions .nce-button { min-height: 3.4rem; }

.nce-property-contact-card { color: #f8f3e9; background: #17312c; border: 1px solid rgba(222,190,133,.26); box-shadow: 0 1.5rem 3.5rem rgba(4,18,15,.18); }
.nce-property-contact-card__profile { display: grid; grid-template-columns: 6.3rem minmax(0,1fr); gap: 1.15rem; align-items: center; padding: 1.25rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.nce-property-agent__portrait { width: 6.3rem; height: 7rem; display: grid; place-items: center; overflow: hidden; color: #062d6b; background: #d8c6a3; font-family: var(--nce-display); font-size: 2.1rem; }
.nce-property-agent__portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 25%; }
.nce-property-contact-card__profile small { display: block; margin-bottom: .35rem; color: #d8c6a3; font-size: .52rem; font-weight: 800; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.nce-property-contact-card__profile h3 { margin: 0 0 .35rem; color: #f7f6f2; font-size: clamp(1.65rem,2.2vw,2.2rem); font-weight: 400; line-height: .95; }
.nce-property-contact-card__profile p { margin: 0; color: rgba(255,255,255,.55); font-size: .66rem; }
.nce-property-contact-card__promise { margin: 0; padding: 1.1rem 1.25rem 0; color: rgba(255,255,255,.66); font-size: .7rem; line-height: 1.65; }
.nce-property-contact-card__actions { display: grid; gap: .6rem; padding: 1.1rem 1.25rem; }
.nce-property-contact-card__actions .nce-property-whatsapp { width: 100%; min-height: 4.2rem; }
.nce-property-enquire-button { min-height: 3.6rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; color: #062d6b; background: #d8c6a3; border: 1px solid #d8c6a3; font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; transition: color .2s,background .2s; }
.nce-property-enquire-button i { font-family: var(--nce-display); font-size: 1.3rem; font-style: normal; font-weight: 400; }
.nce-property-enquire-button:hover { color: #fff; background: transparent; }
.nce-property-contact-card__phone { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .9rem 1.25rem 1rem; color: rgba(255,255,255,.62); border-top: 1px solid rgba(255,255,255,.12); font-size: .6rem; text-decoration: none; }
.nce-property-contact-card__phone strong { color: #f7f6f2; font-size: .74rem; }
.nce-property-contact-card__phone:hover strong { color: #d8c6a3; }

body.nce-property-enquiry-open { overflow: hidden; }
.nce-property-enquiry-modal[hidden] { display: none; }
.nce-property-enquiry-modal { position: fixed; z-index: 100100; inset: 0; display: grid; place-items: center; padding: 1.5rem; opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s ease; }
.nce-property-enquiry-modal[data-open] { opacity: 1; visibility: visible; }
.nce-property-enquiry-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; background: rgba(5,17,14,.82); border: 0; backdrop-filter: blur(12px); cursor: pointer; }
.nce-property-enquiry-modal__panel { position: relative; z-index: 1; width: min(49rem,100%); max-height: calc(100svh - 3rem); overflow: auto; color: #062d6b; background: #f7f6f2; box-shadow: 0 2.5rem 8rem rgba(0,0,0,.38); transform: translateY(1rem) scale(.985); transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.nce-property-enquiry-modal[data-open] .nce-property-enquiry-modal__panel { transform: translateY(0) scale(1); }
.nce-property-enquiry-modal__close { position: absolute; z-index: 2; top: .85rem; right: .85rem; width: 2.7rem; aspect-ratio: 1; display: grid; place-items: center; padding: 0; color: #fff; background: rgba(8,28,23,.84); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; font: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.nce-property-enquiry-modal__close:hover { color: #062d6b; background: #d8c6a3; }
.nce-property-enquiry-modal__header { display: grid; grid-template-columns: 8rem minmax(0,1fr); gap: 1.6rem; align-items: center; padding: 1.5rem 4.8rem 1.5rem 1.5rem; color: #f7f6f2; background: #062d6b; }
.nce-property-enquiry-modal__header .nce-property-agent__portrait { width: 8rem; height: 9rem; }
.nce-property-enquiry-modal__header .nce-eyebrow { margin: 0 0 .55rem; color: #d8c6a3; }
.nce-property-enquiry-modal__header h2 { max-width: 13ch; margin: 0 0 .55rem; color: #f7f6f2; font-size: clamp(2rem,4vw,3.2rem); line-height: .94; }
.nce-property-enquiry-modal__header p:last-child { max-width: 30rem; margin: 0; color: rgba(255,255,255,.61); font-size: .72rem; line-height: 1.55; }
.nce-property-enquiry-modal__body { padding: 1.5rem; }
.nce-property-enquiry-modal__body .nce-form { gap: .85rem; }
.nce-property-enquiry-modal__body .nce-form label { color: rgba(6,45,107,.7); font-size: .68rem; }
.nce-property-enquiry-modal__body .nce-form input,
.nce-property-enquiry-modal__body .nce-form textarea { background: #ffffff; border-color: rgba(6,45,107,.22); }
.nce-property-enquiry-modal__body .nce-form textarea { min-height: 6.5rem; }
.nce-property-enquiry-modal__body .nce-form .nce-button { min-height: 3.5rem; color: #fff; background: #062d6b; border-color: #062d6b; }
.nce-property-enquiry-modal__body .nce-form .nce-button:hover { background: #28534a; }
.nce-property-enquiry-modal__body .nce-form__consent { color: rgba(6,45,107,.61); font-size: .62rem; line-height: 1.45; }
.nce-property-enquiry-modal__panel > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; color: rgba(255,255,255,.58); background: #062d6b; font-size: .65rem; }
.nce-property-enquiry-modal__panel > footer a { min-height: 2.8rem; display: inline-flex; align-items: center; gap: .55rem; padding: .6rem .9rem; color: #fff; background: #168c50; font-weight: 800; text-decoration: none; }
.nce-property-enquiry-modal__panel > footer svg { width: 1.25rem; height: 1.25rem; }

.nce-property-mobile-contact { display: none; }

@media (max-width: 760px) {
  .nce-property-page,.nce-development-property { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom)); }
  .nce-property-showcase__contact-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  .nce-property-showcase__contact-actions .nce-property-whatsapp,
  .nce-property-showcase__contact-actions .nce-button { width: 100%; }
  .nce-property-mobile-contact { position: fixed; z-index: 1000; left: max(.7rem,env(safe-area-inset-left)); right: max(.7rem,env(safe-area-inset-right)); bottom: calc(.7rem + env(safe-area-inset-bottom)); min-height: 5.15rem; display: grid; grid-template-columns: 3.65rem minmax(0,1fr) 7rem 6.15rem; gap: .6rem; align-items: center; padding: .55rem; color: #f7f6f2; background: linear-gradient(112deg,rgba(8,31,26,.985),rgba(18,55,46,.985)); border: 1px solid rgba(219,184,123,.46); border-radius: .3rem; box-shadow: 0 1.25rem 4rem rgba(2,16,12,.42),0 0 0 1px rgba(255,255,255,.04) inset; backdrop-filter: blur(20px); isolation: isolate; transition: opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1); }
  .nce-property-mobile-contact::before { content: ""; position: absolute; z-index: 2; top: -1px; left: 1.15rem; width: 4.2rem; height: 2px; background: #d8c6a3; }
  .nce-property-mobile-contact .nce-property-agent__portrait { width: 3.65rem; height: 3.65rem; padding: 2px; font-size: 1.1rem; background: #f6f0e5; border: 1px solid rgba(217,184,125,.8); border-radius: .15rem; box-shadow: 0 0 0 3px rgba(217,184,125,.08); }
  .nce-property-mobile-contact .nce-property-agent__portrait img { border-radius: .05rem; }
  .nce-property-mobile-contact__agent { min-width: 0; display: grid; align-content: center; gap: .2rem; align-self: stretch; padding-right: .75rem; border-right: 1px solid rgba(255,255,255,.12); }
  .nce-property-mobile-contact__agent small { color: #d8c6a3; font-size: .45rem; font-weight: 800; letter-spacing: .13em; line-height: 1.35; text-transform: uppercase; }
  .nce-property-mobile-contact__agent strong { overflow: hidden; color: #f7f6f2; font-family: var(--nce-display); font-size: 1rem; font-weight: 400; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
  .nce-property-mobile-contact__whatsapp,.nce-property-mobile-contact > button { min-height: 3.65rem; display: inline-flex; align-items: center; justify-content: center; gap: .48rem; padding: .65rem .7rem; border-radius: .16rem; font: inherit; font-size: .62rem; font-weight: 800; letter-spacing: .01em; text-decoration: none; cursor: pointer; transition: transform .18s ease,box-shadow .18s ease,filter .18s ease; }
  .nce-property-mobile-contact__whatsapp { color: #fff; background: linear-gradient(135deg,#0c9c58,#16b769); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 .65rem 1.4rem rgba(4,88,47,.25); }
  .nce-property-mobile-contact__whatsapp svg { width: 1.35rem; height: 1.35rem; }
  .nce-property-mobile-contact > button { color: #062d6b; background: linear-gradient(135deg,#e5c78e,#d3aa67); border: 1px solid #e4c990; box-shadow: 0 .65rem 1.4rem rgba(89,58,18,.18); }
  .nce-property-mobile-contact > button::after { content: "→"; margin-left: .1rem; font-family: var(--nce-display); font-size: 1rem; font-weight: 400; line-height: 1; }
  .nce-property-mobile-contact__whatsapp:hover,.nce-property-mobile-contact > button:hover { transform: translateY(-1px); filter: brightness(1.04); }
  .nce-property-mobile-contact__whatsapp:focus-visible,.nce-property-mobile-contact > button:focus-visible { outline: 2px solid #f7f6f2; outline-offset: 2px; }
  .nce-property-enquiry-modal { align-items: end; padding: 0; }
  .nce-property-enquiry-modal__panel { width: 100%; max-height: 92svh; border-radius: 1rem 1rem 0 0; transform: translateY(2rem); }
  .nce-property-enquiry-modal__header { grid-template-columns: 4.6rem minmax(0,1fr); gap: 1rem; padding: 1.1rem 4.1rem 1.1rem 1rem; }
  .nce-property-enquiry-modal__header .nce-property-agent__portrait { width: 4.6rem; height: 5.25rem; }
  .nce-property-enquiry-modal__header h2 { font-size: clamp(1.8rem,8vw,2.5rem); }
  .nce-property-enquiry-modal__header p:last-child { display: none; }
  .nce-property-enquiry-modal__body { padding: 1rem; }
  .nce-property-enquiry-modal__body .nce-form__row { grid-template-columns: 1fr 1fr; gap: .65rem; }
  .nce-property-enquiry-modal__panel > footer { padding: .75rem 1rem; }
}

@media (max-width: 480px) {
  .nce-property-page,.nce-development-property { padding-bottom: calc(5.8rem + env(safe-area-inset-bottom)); }
  .nce-property-mobile-contact { left: max(.4rem,env(safe-area-inset-left)); right: max(.4rem,env(safe-area-inset-right)); bottom: calc(.4rem + env(safe-area-inset-bottom)); grid-template-columns: 3rem minmax(0,1fr) 3.25rem 5.2rem; gap: .4rem; min-height: 4.8rem; padding: .45rem; }
  .nce-property-mobile-contact::before { left: .9rem; width: 3.4rem; }
  .nce-property-mobile-contact .nce-property-agent__portrait { width: 3rem; height: 3rem; }
  .nce-property-mobile-contact__agent { padding-right: .45rem; }
  .nce-property-mobile-contact__agent small { font-size: .4rem; letter-spacing: .1em; }
  .nce-property-mobile-contact__agent strong { font-size: .86rem; }
  .nce-property-mobile-contact__whatsapp,.nce-property-mobile-contact > button { width: 100%; min-height: 3.15rem; padding-inline: .4rem; }
  .nce-property-mobile-contact__whatsapp span { display: none; }
  .nce-property-mobile-contact__whatsapp svg { width: 1.4rem; height: 1.4rem; }
  .nce-property-mobile-contact > button::after { display: none; }
  .nce-property-enquiry-modal__body .nce-form__row { grid-template-columns: 1fr; }
  .nce-property-enquiry-modal__panel > footer > span { display: none; }
  .nce-property-enquiry-modal__panel > footer a { width: 100%; justify-content: center; }
}

/* Property discovery — a focused search experience without a promotional hero. */
.nce-property-search-stage {
  position: relative;
  padding: clamp(1.25rem,2vw,2rem) 0 0;
  overflow: hidden;
  color: #062d6b;
  background:
    radial-gradient(circle at 92% 0%,rgba(192,151,91,.2),transparent 24rem),
    linear-gradient(180deg,#f7f6f2 0,#f3efe6 32rem);
}
.nce-property-search-stage::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 1px; background: linear-gradient(90deg,transparent,#d8c6a3,transparent); opacity: .75; }
.nce-property-search-stage__inner { position: relative; }
.nce-property-search-stage__intro { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.55fr); align-items: end; gap: clamp(2rem,7vw,8rem); }
.nce-property-search-stage__intro .nce-eyebrow { margin-bottom: .65rem; color: #8b642f; }
.nce-property-search-stage__intro h1 { max-width: 13ch; margin: 0; color: #062d6b; font-size: clamp(3.2rem,5.2vw,5.6rem); letter-spacing: -.045em; line-height: .9; text-wrap: balance; }
.nce-property-search-stage__intro > p { max-width: 32rem; margin: 0 0 .4rem; padding-top: 1.25rem; color: rgba(6,45,107,.66); border-top: 1px solid rgba(6,45,107,.2); font-size: .9rem; line-height: 1.65; }

.nce-property-discovery { margin-top: 0; color: #062d6b; box-shadow: 0 2.6rem 6rem rgba(27,40,34,.14); }
.nce-property-discovery__topline { min-height: 5.6rem; display: flex; align-items: stretch; justify-content: space-between; gap: 2rem; padding: 0 clamp(1.4rem,2.4vw,2.3rem); color: #f7f6f2; background: #062d6b; }
.nce-property-discovery .nce-property-search__modes { display: flex; align-items: stretch; gap: clamp(.35rem,1vw,.9rem); margin: 0; padding: 0; border: 0; }
.nce-property-discovery .nce-property-search__modes legend { align-self: center; margin-right: 1rem; color: rgba(255,250,240,.46); font-size: .5rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nce-property-discovery .nce-property-search__modes label { position: relative; display: flex; cursor: pointer; }
.nce-property-discovery .nce-property-search__modes input { position: absolute; opacity: 0; pointer-events: none; }
.nce-property-discovery .nce-property-search__modes span { min-width: 4.6rem; display: grid; place-items: center; padding: 1rem .85rem .8rem; color: rgba(255,250,240,.58); border: 0; border-bottom: 3px solid transparent; font-family: var(--nce-sans); font-size: .67rem; font-weight: 800; letter-spacing: .09em; line-height: 1; text-transform: uppercase; transition: color .2s ease,background-color .2s ease,border-color .2s ease; }
.nce-property-discovery .nce-property-search__modes input:checked + span { color: #f7f6f2; border-color: #d8c6a3; background: rgba(255,255,255,.045); }
.nce-property-discovery .nce-property-search__modes input:focus-visible + span { outline: 2px solid #d8c6a3; outline-offset: -5px; }
.nce-property-discovery__intent { display: grid; align-content: center; justify-items: end; margin: 0; text-align: right; }
.nce-property-discovery__intent span { color: #d8c6a3; font-size: .47rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-property-discovery__intent strong { max-width: 24rem; margin-top: .25rem; overflow: hidden; color: rgba(255,250,240,.72); font-family: var(--nce-display); font-size: 1rem; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }

.nce-property-discovery__more-toggle {
  width: 100%;
  min-height: 5rem;
  display: grid;
  grid-template-columns: minmax(12rem,.7fr) minmax(16rem,1fr) 2rem 1.2rem;
  align-items: center;
  gap: 1.2rem;
  padding: .85rem clamp(1.4rem,2.4vw,2.3rem);
  color: var(--nce-ink);
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--nce-border);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color .22s ease,color .22s ease;
}
.nce-property-discovery__more-toggle > span { display: grid; gap: .18rem; }
.nce-property-discovery__more-toggle small { color: #927044; font-size: .48rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-property-discovery__more-toggle strong { font-family: var(--nce-display); font-size: 1.25rem; font-weight: 560; line-height: 1.05; }
.nce-property-discovery__more-toggle em { color: rgba(6,45,107,.52); font-size: .68rem; font-style: normal; letter-spacing: .025em; }
.nce-property-discovery__more-toggle b { width: 2rem; aspect-ratio: 1; display: grid; place-items: center; color: var(--nce-ink); background: color-mix(in srgb,var(--nce-green) 30%,#fff); border-radius: 50%; font-size: .63rem; }
.nce-property-discovery__more-toggle > i { position: relative; width: 1rem; height: 1rem; }
.nce-property-discovery__more-toggle > i::before,
.nce-property-discovery__more-toggle > i::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: var(--nce-green); transition: transform .25s ease; }
.nce-property-discovery__more-toggle > i::after { transform: rotate(90deg); }
.nce-property-discovery[data-search-more-open] .nce-property-discovery__more-toggle { color: #fff; background: var(--nce-ink); border-color: rgba(255,255,255,.14); }
.nce-property-discovery[data-search-more-open] .nce-property-discovery__more-toggle small,
.nce-property-discovery[data-search-more-open] .nce-property-discovery__more-toggle em { color: rgba(255,255,255,.62); }
.nce-property-discovery[data-search-more-open] .nce-property-discovery__more-toggle > i::after { transform: rotate(0); }
.nce-property-discovery__more-panel { display: grid; grid-template-rows: 0fr; opacity: 0; visibility: hidden; transition: grid-template-rows .48s cubic-bezier(.2,.8,.2,1),opacity .3s ease,visibility 0s linear .48s; }
.nce-property-discovery__more-panel > .nce-property-search__surface { min-height: 0; overflow: hidden; }
.nce-property-discovery[data-search-more-open] .nce-property-discovery__more-panel { grid-template-rows: 1fr; opacity: 1; visibility: visible; transition-delay: 0s; }

.nce-property-discovery .nce-property-search__surface { background: #ffffff; box-shadow: none; }
.nce-property-discovery__primary { display: grid; grid-template-columns: minmax(15rem,1.55fr) minmax(9rem,.85fr) minmax(7rem,.55fr) minmax(14rem,1.15fr) minmax(12rem,.92fr); align-items: stretch; border-bottom: 1px solid rgba(6,45,107,.13); }
.nce-property-discovery__primary > label,
.nce-property-discovery__price { min-width: 0; display: grid; align-content: center; gap: .45rem; min-height: 8.6rem; margin: 0; padding: 1.2rem clamp(1rem,1.7vw,1.55rem); border-right: 1px solid rgba(6,45,107,.13); }
.nce-property-discovery__primary > label > span,
.nce-property-discovery__price > span { color: #8a6a3d; font-size: .53rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nce-property-discovery__primary select,
.nce-property-discovery__primary input[type="number"] { min-height: 2.5rem; padding: .25rem 1.5rem .25rem 0; color: #062d6b; background-color: transparent; border: 0; box-shadow: none; font-family: var(--nce-display); font-size: 1.15rem; }
.nce-property-discovery__primary select:focus,
.nce-property-discovery__primary input[type="number"]:focus { box-shadow: inset 0 -1px #10c7c7; }
.nce-property-discovery__destination select { font-size: clamp(1.35rem,2vw,1.8rem); }
.nce-property-discovery__destination > small { color: rgba(6,45,107,.48); font-size: .55rem; line-height: 1.35; }
.nce-property-discovery__price > div { display: grid; grid-template-columns: minmax(0,1fr) .9rem minmax(0,1fr); align-items: center; gap: .35rem; }
.nce-property-discovery__price label { min-width: 0; }
.nce-property-discovery__price input[type="number"],
.nce-property-discovery__price select { width: 100%; padding-right: 1.25rem; font-family: var(--nce-sans); font-size: .76rem; font-weight: 650; }
.nce-property-discovery__price select option:disabled { color: rgba(6,45,107,.34); }
.nce-property-discovery__price i { width: .7rem; height: 1px; background: rgba(6,45,107,.35); }
.nce-property-discovery__submit { position: relative; min-width: 0; display: grid; align-content: center; justify-items: start; gap: .32rem; padding: 1.2rem 3.2rem 1.2rem 1.5rem; color: #062d6b; background: linear-gradient(135deg,#dfbd80,#c39455); border: 0; cursor: pointer; text-align: left; transition: color .25s ease,background-color .25s ease; }
.nce-property-discovery__submit span { font-family: var(--nce-display); font-size: 1.35rem; line-height: 1; }
.nce-property-discovery__submit small { color: rgba(6,45,107,.6); font-size: .5rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.nce-property-discovery__submit i { position: absolute; top: 50%; right: 1.35rem; font-family: var(--nce-display); font-size: 1.5rem; font-style: normal; transform: translateY(-50%); transition: transform .2s ease; }
.nce-property-discovery__submit:hover { color: #f7f6f2; background: #10c7c7; }
.nce-property-discovery__submit:hover small { color: rgba(255,250,240,.64); }
.nce-property-discovery__submit:hover i { transform: translate(.3rem,-50%); }
.nce-property-discovery__submit:focus-visible { outline: 3px solid #10c7c7; outline-offset: -5px; }

.nce-property-discovery__lifestyle { padding: clamp(1.7rem,3vw,2.8rem) clamp(1.2rem,2.5vw,2.5rem); background: #f4efe5; border-bottom: 1px solid rgba(6,45,107,.13); }
.nce-property-discovery__lifestyle > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,.5fr); align-items: end; gap: 2rem; margin-bottom: 1.4rem; }
.nce-property-discovery__lifestyle .nce-eyebrow { margin-bottom: .35rem; color: #9a7138; }
.nce-property-discovery__lifestyle h2 { margin: 0; color: #062d6b; font-size: clamp(2rem,3vw,3rem); letter-spacing: -.035em; }
.nce-property-discovery__lifestyle > header > p { max-width: 27rem; margin: 0; color: rgba(6,45,107,.54); font-size: .72rem; line-height: 1.55; }
.nce-property-discovery__chips { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
.nce-property-discovery__chip { position: relative; display: block !important; cursor: pointer; }
.nce-property-discovery__chip input { position: absolute; opacity: 0; pointer-events: none; }
.nce-property-discovery__chip > span { position: relative; min-height: 5.6rem; display: grid; grid-template-columns: 2.35rem minmax(0,1fr) 1.15rem; grid-template-rows: auto auto; align-content: center; column-gap: .8rem; padding: .9rem .85rem; color: #062d6b !important; background: rgba(255,253,248,.78); border: 1px solid rgba(6,45,107,.15); letter-spacing: 0 !important; text-transform: none !important; transition: color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease; }
.nce-property-discovery__chip svg { grid-row: 1 / span 2; width: 2.25rem; height: 2.25rem; align-self: center; padding: .48rem; color: #10c7c7; border: 1px solid rgba(16,199,199,.25); border-radius: 50%; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.nce-property-discovery__chip strong { align-self: end; font-family: var(--nce-display); font-size: 1rem; font-weight: 400; line-height: 1.05; }
.nce-property-discovery__chip small { align-self: start; margin-top: .22rem; color: rgba(6,45,107,.5); font-size: .49rem; font-weight: 650; letter-spacing: .02em; }
.nce-property-discovery__chip i { grid-column: 3; grid-row: 1 / span 2; width: 1.05rem; height: 1.05rem; align-self: center; border: 1px solid rgba(6,45,107,.28); border-radius: 50%; }
.nce-property-discovery__chip input:checked + span { color: #f7f6f2 !important; background: #10c7c7; border-color: #10c7c7; transform: translateY(-2px); }
.nce-property-discovery__chip input:checked + span svg { color: #d8c6a3; border-color: rgba(240,201,135,.55); }
.nce-property-discovery__chip input:checked + span small { color: rgba(255,250,240,.62); }
.nce-property-discovery__chip input:checked + span i { border-color: #d8c6a3; background: #d8c6a3; box-shadow: inset 0 0 0 3px #10c7c7; }
.nce-property-discovery__chip input:focus-visible + span { outline: 2px solid #10c7c7; outline-offset: 3px; }

.nce-property-discovery .nce-property-search__advanced { min-width: 0; background: #ffffff; }
.nce-property-discovery .nce-property-search__advanced summary { position: relative; min-height: 5.3rem; display: grid; grid-template-columns: minmax(0,1fr) 1.5rem; align-items: center; gap: 1rem; padding: 1rem clamp(1.2rem,2.5vw,2.5rem); background: transparent; border: 0; cursor: pointer; list-style: none; }
.nce-property-discovery .nce-property-search__advanced summary::-webkit-details-marker { display: none; }
.nce-property-discovery .nce-property-search__advanced summary > span { display: grid; gap: .2rem; color: #062d6b; letter-spacing: 0; text-transform: none; }
.nce-property-discovery .nce-property-search__advanced summary small { color: #9a7138; font-size: .49rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nce-property-discovery .nce-property-search__advanced summary span strong { width: auto; aspect-ratio: auto; display: block; place-items: normal; color: #062d6b; background: transparent; border-radius: 0; font-family: var(--nce-display); font-size: 1.2rem; font-weight: 400; }
.nce-property-discovery .nce-property-search__advanced summary > i { position: relative; width: 1rem; height: 1rem; }
.nce-property-discovery .nce-property-search__advanced summary > i::before,
.nce-property-discovery .nce-property-search__advanced summary > i::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: #10c7c7; transition: transform .2s ease; }
.nce-property-discovery .nce-property-search__advanced summary > i::after { transform: rotate(90deg); }
.nce-property-discovery .nce-property-search__advanced[open] summary > i::after { transform: rotate(0); }
.nce-property-discovery .nce-property-search__advanced[open] { grid-column: auto; padding-top: 0; }
.nce-property-discovery .nce-property-search__advanced[open] summary { width: 100%; border-bottom: 1px solid rgba(6,45,107,.12); }
.nce-property-discovery .nce-property-search__advanced-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 1.4rem clamp(1.2rem,2.5vw,2.5rem) 1.8rem; background: #f7f6f2; border: 0; }
.nce-property-discovery .nce-property-search__advanced-grid label > span { color: rgba(6,45,107,.58); font-size: .53rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.nce-property-discovery .nce-property-search__advanced-grid select { min-height: 3.35rem; background-color: #ffffff; }
.nce-property-discovery .nce-property-search__check { align-self: stretch; min-height: 3.35rem; margin-top: 1rem; background: #ffffff; }
.nce-property-discovery .nce-property-search__footer { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1rem clamp(1.2rem,2.5vw,2.5rem) 1.2rem; color: rgba(6,45,107,.48); background: #ffffff; border-top: 1px solid rgba(6,45,107,.1); font-size: .62rem; }
.nce-property-discovery .nce-property-search__footer > span { display: flex; align-items: center; gap: .9rem; }
.nce-property-discovery .nce-property-search__footer strong { color: #10c7c7; font-size: .59rem; letter-spacing: .07em; text-transform: uppercase; }
.nce-property-discovery .nce-property-search__footer a { color: #10c7c7; font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nce-property-search-stage + .nce-section,
.nce-property-search-page > .nce-property-results { padding-top: clamp(3.5rem,6vw,6rem); }

@media (max-width: 1120px) {
  .nce-property-discovery__primary { grid-template-columns: 1.55fr .9fr .6fr 1.15fr; }
  .nce-property-discovery__submit { grid-column: 1 / -1; min-height: 5.2rem; }
  .nce-property-discovery__chips { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .nce-property-search-stage { padding-top: .75rem; }
  .nce-property-search-stage__intro { grid-template-columns: 1fr; gap: 1.3rem; }
  .nce-property-search-stage__intro h1 { max-width: 11ch; font-size: clamp(2.8rem,12vw,4rem); }
  .nce-property-search-stage__intro > p { max-width: none; padding-top: 1rem; }
  .nce-property-discovery { margin-top: 0; }
  .nce-property-discovery__topline { min-height: 0; display: block; padding: 0; }
  .nce-property-discovery .nce-property-search__modes { width: 100%; gap: 0; padding: 0 .75rem; overflow-x: auto; scrollbar-width: none; }
  .nce-property-discovery .nce-property-search__modes::-webkit-scrollbar { display: none; }
  .nce-property-discovery .nce-property-search__modes legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .nce-property-discovery .nce-property-search__modes label { flex: 1 0 auto; }
  .nce-property-discovery .nce-property-search__modes span { min-height: 4.25rem; min-width: 5.2rem; padding-inline: .8rem; }
  .nce-property-discovery__intent { display: none; }
  .nce-property-discovery__more-toggle { min-height: 4.65rem; grid-template-columns: minmax(0,1fr) 2rem 1.2rem; gap: .8rem; padding-inline: 1rem; }
  .nce-property-discovery__more-toggle em { display: none; }
  .nce-property-discovery__more-toggle strong { font-size: 1.1rem; }
  .nce-property-discovery__primary { grid-template-columns: 1fr 1fr; }
  .nce-property-discovery__primary > label,
  .nce-property-discovery__price { min-height: 6.8rem; padding: 1rem; }
  .nce-property-discovery__destination,
  .nce-property-discovery__price,
  .nce-property-discovery__submit { grid-column: 1 / -1; }
  .nce-property-discovery__primary > label:nth-of-type(3) { border-right: 0; }
  .nce-property-discovery__destination select { font-size: 1.3rem; }
  .nce-property-discovery__submit { min-height: 5rem; }
  .nce-property-discovery__lifestyle { padding: 1.5rem 1rem; }
  .nce-property-discovery__lifestyle > header { grid-template-columns: 1fr; gap: .6rem; }
  .nce-property-discovery__lifestyle h2 { font-size: 2.25rem; }
  .nce-property-discovery__chips { gap: .5rem; }
  .nce-property-discovery__chip > span { min-height: 5rem; grid-template-columns: 2rem minmax(0,1fr) .9rem; column-gap: .55rem; padding: .7rem .65rem; }
  .nce-property-discovery__chip svg { width: 1.9rem; height: 1.9rem; padding: .42rem; }
  .nce-property-discovery__chip strong { font-size: .88rem; }
  .nce-property-discovery__chip small { font-size: .43rem; }
  .nce-property-discovery .nce-property-search__advanced-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding-inline: 1rem; }
  .nce-property-discovery .nce-property-search__footer { align-items: flex-start; flex-direction: row; padding-inline: 1rem; }
  .nce-property-discovery .nce-property-search__footer > span { display: grid; gap: .2rem; }
}

@media (max-width: 420px) {
  .nce-property-search-stage__intro > p { font-size: .8rem; }
  .nce-property-discovery .nce-property-search__modes { padding-inline: .35rem; }
  .nce-property-discovery .nce-property-search__modes span { min-width: 4.8rem; padding-inline: .55rem; font-size: .6rem; }
  .nce-property-discovery__chips { grid-template-columns: 1fr 1fr; }
  .nce-property-discovery__chip > span { grid-template-columns: minmax(0,1fr) .9rem; }
  .nce-property-discovery__chip svg { display: none; }
  .nce-property-discovery .nce-property-search__advanced-grid { grid-template-columns: 1fr; }
  .nce-property-discovery .nce-property-search__footer > span { max-width: 13rem; }
}

/* CI v1.0 — August 2026. Portal-first identity, premium property experience. */
:root {
  --nce-ink: #062d6b;
  --nce-ink-2: #263542;
  --nce-ivory: #f7f6f2;
  --nce-paper: #ffffff;
  --nce-sand: #d8c6a3;
  --nce-stone: #263542;
  --nce-green: #10c7c7;
  --nce-ocean: #10c7c7;
  --nce-brass: #d8c6a3;
  --nce-error: #a53a3a;
  --nce-success: #277a58;
  --nce-attention: #a86d15;
  --nce-display: Manrope, Arial, Helvetica, sans-serif;
  --nce-editorial: Newsreader, Georgia, serif;
  --nce-sans: Manrope, Arial, Helvetica, sans-serif;
  --nce-border: rgba(6, 45, 107, .14);
  --nce-shadow: 0 24px 70px rgba(6, 45, 107, .12);
}

body { color: var(--nce-ink-2); background: var(--nce-ivory); font-family: var(--nce-sans); }
h1, h2, h3, h4 { color: var(--nce-ink); font-family: var(--nce-display); font-weight: 600; }
.nce-home-hero h1,
.nce-estate-microsite main h1,
.nce-property-showcase h1,
.nce-development-property__identity h1,
.nce-reel__copy h2,
.nce-journal-card h2 { font-family: var(--nce-editorial); font-weight: 500; }
.nce-estate-hero h1 { color: #fff; }
.nce-eyebrow { color: var(--nce-ink); }
.nce-eyebrow::before { background: var(--nce-green); }
.nce-text-link { color: var(--nce-ink); }
.nce-text-link:hover { color: #08418f; }
:focus-visible { outline-color: var(--nce-green); }

.nce-brand { flex: 0 0 auto; }
.nce-brand__logo { width: clamp(13.5rem, 18vw, 18.5rem); height: auto; }
.nce-brand__logo--micro { width: clamp(10.5rem, 13vw, 13.5rem); }
.nce-brand__logo--reversed { width: min(20rem, 100%); }
.nce-brand__mark,
.nce-brand__identity { display: none; }

.nce-header,
.nce-header[data-scrolled] { color: var(--nce-ink); background: rgba(247,246,242,.97); border-bottom-color: var(--nce-border); box-shadow: 0 8px 26px rgba(6,45,107,.05); }
.nce-nav__list a { color: var(--nce-ink); font-family: var(--nce-sans); font-weight: 600; }
.nce-nav__list a::after { background: var(--nce-green); }
.nce-header .nce-button,
.nce-button,
.nce-property-enquiry .nce-button { color: #fff; background: var(--nce-ink); border-color: var(--nce-ink); }
.nce-header .nce-button:hover,
.nce-button:hover { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
.nce-button--ghost { color: currentColor; background: transparent; border-color: color-mix(in srgb,currentColor 36%,transparent); }
.nce-demo-banner { color: var(--nce-ink); background: var(--nce-sand); }

.nce-mega-menu { color: var(--nce-ink); background: var(--nce-ivory); border-color: var(--nce-border); }
.nce-mega-card { color: var(--nce-ink); background: #fff; border-color: var(--nce-border); }
.nce-mega-development { color: #fff; background: var(--nce-ink); }
.nce-mega-menu__links i { color: var(--nce-green); }

.nce-home-hero,
.nce-map-story,
.nce-home-estates,
.nce-home-reels,
.nce-reels-page,
.nce-footer,
.nce-microsite-footer,
.nce-property-gallery-section,
.nce-property-contact-card,
.nce-property-enquiry-modal__header,
.nce-compare-hero { background-color: var(--nce-ink); }
.nce-home-hero h1,
.nce-home-hero h2,
.nce-home-hero h3,
.nce-map-story h2,
.nce-home-estates h2,
.nce-home-estates h3,
.nce-home-reels h2,
.nce-footer h2,
.nce-microsite-footer h2,
.nce-property-gallery-section h2,
.nce-property-contact-card h2,
.nce-property-contact-card h3,
.nce-property-enquiry-modal__header h2,
.nce-compare-hero h1 { color: #fff; }
.nce-seller-story h2,
.nce-seller-story .nce-eyebrow { color: #fff; }
.nce-home-hero::after { background: linear-gradient(90deg,rgba(6,45,107,.9) 0%,rgba(6,45,107,.58) 44%,rgba(6,45,107,.12) 76%),linear-gradient(0deg,rgba(6,45,107,.58),transparent 52%); }
.nce-map-story__visual::after { background: linear-gradient(90deg,transparent 62%,rgba(6,45,107,.36)); }
.nce-map-story__visual > span { background: rgba(6,45,107,.88); }

.nce-microsite-utility { color: var(--nce-ink-2); background: var(--nce-ivory); border-bottom: 1px solid var(--nce-border); }
.nce-microsite-parent { min-width: 13.5rem; color: var(--nce-ink); }
.nce-microsite-utility__note { color: color-mix(in srgb,var(--nce-ink-2) 70%,transparent); }
.nce-microsite-all-estates { color: var(--nce-ink); }
.nce-microsite-header { background: #fff; }
.nce-microsite-header__inner { background: transparent; }
.nce-microsite-nav a { color: var(--nce-ink-2); font-family: var(--nce-sans); }
.nce-microsite-nav a[aria-current="page"] { color: var(--nce-ink); border-bottom-color: var(--nce-green); }
.nce-microsite-nav a.nce-button,
.nce-microsite-nav a.nce-button[aria-current="page"] { color: #fff; }
.nce-microsite-nav a.nce-button::after { display: none; }
.nce-development-wordmark { color: var(--nce-ink); font-family: var(--nce-sans); font-weight: 600; }
.nce-microsite-wordmark {
  position: relative;
  left: auto;
  display: grid;
  align-content: center;
  min-width: clamp(11rem,14vw,14rem);
  padding: .45rem 0 .45rem 1.15rem;
  color: var(--nce-ink);
  font-family: var(--nce-editorial);
  font-size: clamp(2rem,2.5vw,2.65rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .82;
  transform: none;
  transition: color .2s ease;
}
.nce-microsite-wordmark::before {
  content: "";
  position: absolute;
  top: .34rem;
  bottom: .34rem;
  left: 0;
  width: 2px;
  background: linear-gradient(180deg,var(--nce-green),color-mix(in srgb,var(--nce-green) 25%,transparent));
}
.nce-microsite-wordmark::after {
  margin-top: .58rem;
  color: color-mix(in srgb,var(--nce-ink) 72%,transparent);
  font-family: var(--nce-sans);
  font-size: .25em;
  font-weight: 780;
  letter-spacing: .34em;
  line-height: 1;
}
.nce-microsite-wordmark:hover { color: color-mix(in srgb,var(--nce-ink) 78%,var(--nce-green)); }
.nce-microsite-footer .nce-eyebrow { color: #fff; }
.nce-microsite-footer .nce-eyebrow::before { background: var(--nce-green); }

.nce-card-body,
.nce-agent-card,
.nce-property-discovery,
.nce-poi-drawer,
.nce-property-enquiry-modal__panel { background-color: #fff; border-color: var(--nce-border); }
.nce-card-body h2,
.nce-card-body h3,
.nce-poi-drawer h2 { color: var(--nce-ink); }
.nce-listing-card__save[aria-pressed="true"],

.nce-map-toolbar__compare,
.nce-map-estate-preview,
.nce-estate-inventory-map,
.nce-map-frame[data-map-context="development"] .nce-map-drawer { background: var(--nce-ink); }
.nce-estate-marker__portrait,
.nce-estate-plan-pin--poi { border-color: #fff; background: var(--nce-green); }
.nce-estate-marker[data-active] .nce-estate-marker__portrait { box-shadow: 0 0 0 3px var(--nce-green),0 14px 30px rgba(6,45,107,.25); }
.nce-estate-marker__label { color: #fff; background: var(--nce-ink); }
.nce-property-location-pin,
.nce-estate-plan-pin--property { background: var(--nce-ink); border-color: #fff; box-shadow: 0 0 0 2px var(--nce-green),0 12px 28px rgba(6,45,107,.25); }

.nce-property-contact-card,
.nce-property-mobile-contact { color: #fff; background: var(--nce-ink); border-color: rgba(16,199,199,.5); }
.nce-property-contact-card__profile small,
.nce-property-mobile-contact__agent small { color: var(--nce-green); }
.nce-property-enquire-button,
.nce-property-mobile-contact > button { color: #fff; background: var(--nce-ink); border-color: rgba(255,255,255,.45); box-shadow: none; }
.nce-property-enquire-button:hover,
.nce-property-mobile-contact > button:hover { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
.nce-property-mobile-contact__whatsapp { background: var(--nce-success); }

.nce-property-discovery__topline { background: var(--nce-ink); }
.nce-property-discovery__submit { color: #fff; background: var(--nce-ink); }
.nce-property-discovery__submit:hover { color: var(--nce-ink); background: var(--nce-green); }
.nce-property-discovery__chip svg { color: var(--nce-ink); border-color: rgba(6,45,107,.22); }
.nce-property-discovery__chip input:checked + span { color: var(--nce-ink) !important; background: color-mix(in srgb,var(--nce-green) 20%,#fff); border-color: var(--nce-green); }
.nce-property-discovery__chip input:checked + span small { color: rgba(6,45,107,.7); }
.nce-property-discovery .nce-property-search__advanced summary > b { color: var(--nce-ink); background: var(--nce-green); }
.nce-property-discovery .nce-property-search__advanced-grid { background: color-mix(in srgb,var(--nce-sand) 30%,#fff); }

.nce-development-hero .nce-button { color: #fff; background: var(--nce-ink); border-color: var(--nce-ink); }
.nce-development-hero .nce-button:hover { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
.nce-development-hero .nce-button--ghost { color: #fff; background: transparent; border-color: rgba(255,255,255,.62); }
.nce-development-hero .nce-button--ghost:hover { color: var(--nce-ink); background: #fff; border-color: #fff; }
.nce-estate-hero .nce-button { color: #fff; background: var(--nce-ink); border-color: var(--nce-ink); }
.nce-estate-hero .nce-button:hover { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
.nce-estate-hero .nce-button--ghost { color: #fff; background: transparent; border-color: rgba(255,255,255,.62); }
.nce-estate-hero .nce-button--ghost:hover { color: var(--nce-ink); background: #fff; border-color: #fff; }

@media (max-width: 960px) {
  .nce-brand__logo { width: clamp(12.5rem, 43vw, 16rem); }
  .nce-header .nce-nav { color: #fff; background: var(--nce-ink); }
  .nce-header .nce-nav__list { background: var(--nce-ink); }
  .nce-header .nce-nav__list a { color: rgba(255,255,255,.86); font-family: var(--nce-sans); font-weight: 500; }
  .nce-header .nce-nav__list a::before,
  .nce-header .nce-nav__list a::after { color: var(--nce-green); }
  .nce-mobile-menu-actions { background: var(--nce-ink); }
  .nce-mobile-menu-actions .nce-button { color: var(--nce-ink); background: var(--nce-green); background-image: none; border-color: var(--nce-green); }
  .nce-mobile-menu-experience { background: var(--nce-ink); }
  .nce-nav-toggle span:not(.screen-reader-text) { background: var(--nce-ink); }
  body.nce-menu-open .nce-nav-toggle,
  .nce-nav-toggle[aria-expanded="true"] { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
  body.nce-menu-open .nce-nav-toggle span:not(.screen-reader-text) { background: #fff; }
  .nce-microsite-nav { background: #fff; }
  .nce-microsite-nav a { color: var(--nce-ink); }
}

@media (max-width: 640px) {
  .nce-brand__logo { width: 12.75rem; }
  .nce-brand__logo--micro { width: 10.5rem; }
  .nce-microsite-parent { min-width: auto; }
  .nce-microsite-utility__note { display: none; }
}

@media (min-width: 961px) {
  .nce-header .nce-nav__list a { color: var(--nce-ink); }
  .nce-header .nce-nav__list a::before { color: var(--nce-green); }
  .nce-header .nce-nav__list a::after { background: var(--nce-green); }
  .nce-header .nce-nav__list a:hover,
  .nce-header .nce-nav__list a:focus-visible,
  .nce-header .nce-nav__list .current-menu-item a { color: #08418f; }
  .nce-header .nce-nav__mega-toggle { color: rgba(6,45,107,.64); }
  .nce-header .nce-nav__mega-toggle:hover,
  .nce-header .nce-nav__mega-toggle[aria-expanded="true"] { color: var(--nce-green); }
}

/* Seaton conversion-led estate homepage prototype. */
.nce-seaton-home { color: var(--nce-ink); background: var(--nce-ivory); }
.nce-seaton-hero {
  position: relative;
  min-height: clamp(36rem,calc(100svh - 7.8rem),48rem);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
  background: var(--nce-ink);
  isolation: isolate;
}
.nce-seaton-hero__media,
.nce-seaton-hero__shade { position: absolute; inset: 0; }
.nce-seaton-hero__media { z-index: -2; }
.nce-seaton-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; filter: saturate(.88) contrast(1.03); transform: scale(1.005); }
.nce-seaton-hero__shade {
  z-index: -1;
  background:
    linear-gradient(90deg,rgba(6,45,107,.88) 0%,rgba(6,45,107,.62) 42%,rgba(6,45,107,.12) 75%),
    linear-gradient(0deg,rgba(6,45,107,.72) 0%,transparent 58%);
}
.nce-seaton-hero__content { padding-block: clamp(3rem,6vw,6rem) clamp(5.5rem,8vw,7.5rem); }
.nce-seaton-hero .nce-eyebrow { color: #fff; }
.nce-seaton-hero .nce-eyebrow::before { background: var(--nce-green); }
.nce-seaton-hero h1 { max-width: 11ch; margin-bottom: .34em; color: #fff; font-family: var(--nce-editorial); font-size: clamp(3.75rem,6.4vw,7.1rem); font-weight: 500; letter-spacing: -.055em; line-height: .91; }
.nce-seaton-hero h1 span { display: block; color: rgba(255,255,255,.82); font-size: .54em; font-weight: 430; letter-spacing: -.045em; line-height: 1.03; }
.nce-seaton-hero .nce-lede { max-width: 43rem; color: rgba(255,255,255,.78); font-size: clamp(1rem,1.4vw,1.2rem); }
.nce-seaton-hero .nce-actions { margin-top: 2rem; }
.nce-seaton-hero .nce-button { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
.nce-seaton-hero .nce-button:hover { color: var(--nce-ink); background: #fff; border-color: #fff; }
.nce-seaton-hero .nce-button--ghost { color: #fff; background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.48); backdrop-filter: blur(8px); }
.nce-seaton-hero .nce-button--ghost:hover { color: var(--nce-ink); background: #fff; }
.nce-seaton-hero__availability { position: absolute; right: max(2rem,calc((100vw - var(--nce-shell)) / 2)); bottom: 8rem; min-width: 14.5rem; display: grid; gap: .32rem; padding: 1.25rem 1.4rem; background: rgba(255,255,255,.94); color: var(--nce-ink); border-top: 3px solid var(--nce-green); box-shadow: 0 18px 60px rgba(6,45,107,.24); backdrop-filter: blur(16px); }
.nce-seaton-hero__availability > span { color: var(--nce-ink-2); font-size: .57rem; font-weight: 730; letter-spacing: .13em; text-transform: uppercase; }
.nce-seaton-hero__availability strong { font-size: 2.35rem; font-weight: 520; letter-spacing: -.04em; line-height: 1; }
.nce-seaton-hero__availability a { display: flex; justify-content: space-between; gap: 1rem; margin-top: .35rem; padding-top: .7rem; color: var(--nce-ink); border-top: 1px solid var(--nce-border); font-size: .68rem; font-weight: 720; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.nce-seaton-hero__availability i { color: var(--nce-green); font-style: normal; }

.nce-seaton-search { position: relative; z-index: 4; display: grid; grid-template-columns: minmax(15rem,.34fr) minmax(0,1fr); gap: clamp(2rem,4vw,4.5rem); margin-top: -4.3rem; padding: clamp(1.7rem,2.7vw,2.7rem); color: #fff; background: var(--nce-ink); box-shadow: 0 24px 70px rgba(6,45,107,.2); }
.nce-seaton-search .nce-eyebrow { margin-bottom: .7rem; color: var(--nce-green); }
.nce-seaton-search__intro h2 { margin-bottom: .35rem; color: #fff; font-family: var(--nce-sans); font-size: clamp(2rem,3.2vw,3.4rem); font-weight: 540; letter-spacing: -.045em; }
.nce-seaton-search__intro > p:last-child { max-width: 24rem; margin: 0; color: rgba(255,255,255,.6); font-size: .82rem; }
.nce-seaton-search__form { min-width: 0; }
.nce-seaton-search__intent { display: flex; gap: clamp(1rem,2vw,2.1rem); margin: 0 0 1.2rem; padding: 0; border: 0; }
.nce-seaton-search__intent label { position: relative; cursor: pointer; }
.nce-seaton-search__intent input { position: absolute; opacity: 0; pointer-events: none; }
.nce-seaton-search__intent span { display: block; padding: .2rem 0 .62rem; color: rgba(255,255,255,.52); border-bottom: 2px solid transparent; font-size: .66rem; font-weight: 730; letter-spacing: .1em; text-transform: uppercase; transition: color .2s,border-color .2s; }
.nce-seaton-search__intent input:checked + span { color: #fff; border-color: var(--nce-green); }
.nce-seaton-search__intent input:focus-visible + span { outline: 2px solid var(--nce-green); outline-offset: .35rem; }
.nce-seaton-search__fields { display: grid; grid-template-columns: minmax(9rem,1.05fr) minmax(6.5rem,.65fr) minmax(8.5rem,.9fr) minmax(8.5rem,.9fr) auto; gap: .5rem; align-items: end; }
.nce-seaton-search__fields label { min-width: 0; }
.nce-seaton-search__fields label > span { display: block; margin-bottom: .42rem; color: rgba(255,255,255,.5); font-size: .53rem; font-weight: 720; letter-spacing: .11em; text-transform: uppercase; }
.nce-seaton-search__fields select { width: 100%; height: 3.55rem; padding: 0 2rem 0 .9rem; color: var(--nce-ink); background-color: #fff; border: 1px solid rgba(255,255,255,.12); border-radius: 0; font: 500 .82rem/1 var(--nce-sans); }
.nce-seaton-search__fields .nce-button { min-height: 3.55rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 1.4rem; padding-inline: 1.25rem; color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); white-space: nowrap; }
.nce-seaton-search__fields .nce-button:hover { color: var(--nce-ink); background: #fff; border-color: #fff; }

.nce-seaton-property { padding-top: clamp(5rem,8vw,8rem); padding-bottom: clamp(2.5rem,4vw,4rem); }
.nce-seaton-property .nce-section-heading { align-items: end; }
.nce-seaton-property .nce-section-heading h2 { max-width: 14ch; font-family: var(--nce-sans); font-size: clamp(2.8rem,4.8vw,5.2rem); font-weight: 520; letter-spacing: -.055em; }
.nce-seaton-property .nce-section-heading p:not(.nce-eyebrow) { max-width: 38rem; color: var(--nce-ink-2); }
.nce-seaton-property > .nce-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.25rem,2.2vw,2.5rem); }
.nce-seaton-property .nce-listing-card { border: 1px solid var(--nce-border); background: #fff; box-shadow: 0 18px 55px rgba(6,45,107,.07); }
.nce-seaton-property .nce-listing-card .nce-card-media { aspect-ratio: 16/10; }
.nce-seaton-property .nce-listing-card .nce-card-body { padding: clamp(1.25rem,2vw,2rem); }
.nce-seaton-property .nce-listing-card h3 { max-width: 22ch; font-family: var(--nce-sans); font-size: clamp(1.55rem,2.2vw,2.3rem); font-weight: 520; letter-spacing: -.04em; line-height: 1.08; }

.nce-seaton-story { min-height: 43rem; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(28rem,.92fr); margin-top: 0; color: #fff; background: var(--nce-ink); }
.nce-seaton-story__media { position: relative; min-height: 35rem; overflow: hidden; }
.nce-seaton-story__media::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(0deg,rgba(6,45,107,.68),transparent); }
.nce-seaton-story__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); }
.nce-seaton-story__media > span { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.35rem; left: 1.5rem; color: rgba(255,255,255,.78); font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nce-seaton-story__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem,6vw,6.5rem); }
.nce-seaton-story__copy .nce-eyebrow { color: var(--nce-green); }
.nce-seaton-story__copy h2 { max-width: 10ch; color: #fff; font-family: var(--nce-sans); font-size: clamp(2.7rem,4.4vw,4.8rem); font-weight: 510; letter-spacing: -.055em; line-height: .98; }
.nce-seaton-story__copy > p:not(.nce-eyebrow) { color: rgba(255,255,255,.67); }
.nce-seaton-story__facts { display: grid; grid-template-columns: 1fr 1fr; margin: 2rem 0 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.nce-seaton-story__facts > div { min-height: 6.7rem; display: flex; flex-direction: column-reverse; justify-content: flex-start; gap: .45rem; padding: 1.1rem; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.nce-seaton-story__facts dt { color: rgba(255,255,255,.48); font-size: .52rem; font-weight: 720; letter-spacing: .12em; text-transform: uppercase; }
.nce-seaton-story__facts dd { margin: 0; color: #fff; font-size: clamp(1rem,1.4vw,1.25rem); font-weight: 540; line-height: 1.15; }
.nce-seaton-story__copy .nce-actions { margin-top: 2rem; }
.nce-seaton-story__copy .nce-button { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
.nce-seaton-story__copy .nce-text-link { color: #fff; }

.nce-seaton-map-preview { display: grid; grid-template-columns: minmax(20rem,.38fr) minmax(0,.62fr); gap: clamp(2.5rem,6vw,7rem); align-items: center; padding-block: clamp(5rem,9vw,9rem); }
.nce-seaton-map-preview__copy h2 { max-width: 10ch; font-family: var(--nce-sans); font-size: clamp(2.7rem,4.5vw,4.8rem); font-weight: 520; letter-spacing: -.055em; line-height: .98; }
.nce-seaton-map-preview__copy > p:not(.nce-eyebrow) { max-width: 34rem; color: var(--nce-ink-2); }
.nce-seaton-map-preview__copy .nce-button { margin-top: 1.2rem; }
.nce-seaton-map-preview__visual { position: relative; display: block; min-height: 31rem; overflow: hidden; color: #fff; background: var(--nce-ink); box-shadow: 0 26px 70px rgba(6,45,107,.17); }
.nce-seaton-map-preview__visual::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(0deg,rgba(6,45,107,.48),transparent); pointer-events: none; }
.nce-seaton-map-preview__visual img { width: 100%; height: 100%; min-height: 31rem; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.nce-seaton-map-preview__visual:hover img { transform: scale(1.025); }
.nce-seaton-map-preview__visual > span { position: absolute; z-index: 1; right: 1.25rem; bottom: 1.25rem; display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem; color: var(--nce-ink); background: #fff; font-size: .62rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.nce-seaton-map-preview__visual i { color: var(--nce-green); font-style: normal; font-size: 1rem; }

.nce-seaton-lifestyle { min-height: 44rem; display: grid; grid-template-columns: minmax(28rem,.78fr) minmax(0,1.22fr); color: #fff; background: var(--nce-ink); }
.nce-seaton-lifestyle__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem,6vw,6.5rem); }
.nce-seaton-lifestyle__copy .nce-eyebrow { color: var(--nce-green); }
.nce-seaton-lifestyle__copy h2 { max-width: 10ch; color: #fff; font-family: var(--nce-sans); font-size: clamp(2.7rem,4.4vw,4.8rem); font-weight: 510; letter-spacing: -.055em; line-height: .98; }
.nce-seaton-lifestyle__copy > p:not(.nce-eyebrow) { max-width: 34rem; color: rgba(255,255,255,.64); }
.nce-seaton-lifestyle__copy ul { width: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 1.6rem 0; padding: 0; border-top: 1px solid rgba(255,255,255,.14); list-style: none; }
.nce-seaton-lifestyle__copy li { padding: .75rem .35rem .75rem 1rem; border-bottom: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.76); font-size: .75rem; }
.nce-seaton-lifestyle__copy li::before { content: "+"; margin-left: -1rem; margin-right: .45rem; color: var(--nce-green); }
.nce-seaton-lifestyle__copy .nce-text-link { color: #fff; }
.nce-seaton-lifestyle__media { position: relative; min-height: 34rem; overflow: hidden; }
.nce-seaton-lifestyle__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(6,45,107,.25),transparent 50%),linear-gradient(0deg,rgba(6,45,107,.55),transparent 45%); }
.nce-seaton-lifestyle__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); }
.nce-seaton-lifestyle__media > span { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.4rem; padding: .6rem .8rem; background: rgba(6,45,107,.78); font-size: .56rem; font-weight: 720; letter-spacing: .12em; text-transform: uppercase; }

.nce-seaton-depth { display: grid; grid-template-columns: minmax(20rem,.42fr) minmax(0,.58fr); gap: clamp(3rem,7vw,8rem); padding-block: clamp(5rem,9vw,9rem); }
.nce-seaton-depth__heading h2 { max-width: 12ch; font-family: var(--nce-sans); font-size: clamp(2.7rem,4.5vw,4.8rem); font-weight: 520; letter-spacing: -.055em; line-height: .98; }
.nce-seaton-depth__links { border-top: 1px solid var(--nce-border); }
.nce-seaton-depth__links a { position: relative; display: grid; grid-template-columns: 3rem minmax(0,1fr) auto; grid-template-areas: "number title arrow" ". copy arrow"; gap: .3rem 1rem; padding: 1.55rem .3rem; color: var(--nce-ink); border-bottom: 1px solid var(--nce-border); text-decoration: none; transition: padding-color .2s,background .2s; }
.nce-seaton-depth__links a:hover { padding-inline: 1rem; background: #fff; }
.nce-seaton-depth__links span { grid-area: number; color: var(--nce-green); font-size: .59rem; font-weight: 780; letter-spacing: .1em; }
.nce-seaton-depth__links strong { grid-area: title; font-size: 1.25rem; font-weight: 580; }
.nce-seaton-depth__links small { grid-area: copy; color: var(--nce-ink-2); font-size: .75rem; }
.nce-seaton-depth__links i { grid-area: arrow; align-self: center; color: var(--nce-green); font-style: normal; font-size: 1.15rem; }

.nce-seaton-faq > .nce-shell { display: grid; grid-template-columns: minmax(20rem,.42fr) minmax(0,.58fr); gap: clamp(3rem,7vw,8rem); }
.nce-seaton-faq h2 { max-width: 11ch; font-family: var(--nce-sans); font-size: clamp(2.5rem,4vw,4.25rem); font-weight: 520; letter-spacing: -.05em; }
.nce-seaton-faq details { border-top: 1px solid var(--nce-border); }
.nce-seaton-faq details:last-child { border-bottom: 1px solid var(--nce-border); }
.nce-seaton-faq summary { padding: 1.3rem 2.5rem 1.3rem 0; cursor: pointer; font-size: 1rem; font-weight: 590; }
.nce-seaton-faq details p { max-width: 44rem; padding: 0 2rem 1.4rem 0; color: var(--nce-ink-2); }

.nce-seaton-final { padding-block: clamp(4.5rem,7vw,7rem); color: #fff; background: var(--nce-ink); }
.nce-seaton-final > .nce-shell { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; }
.nce-seaton-final .nce-eyebrow { color: var(--nce-green); }
.nce-seaton-final h2 { max-width: 18ch; margin: 0; color: #fff; font-family: var(--nce-sans); font-size: clamp(2.5rem,4.2vw,4.5rem); font-weight: 510; letter-spacing: -.055em; line-height: 1; }
.nce-seaton-final .nce-button { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
.nce-seaton-final .nce-button--ghost { color: #fff; background: transparent; border-color: rgba(255,255,255,.42); }
.nce-seaton-mobile-actions { display: none; }

@media (max-width: 1100px) {
  .nce-seaton-hero__availability { right: 1.5rem; }
  .nce-seaton-search { grid-template-columns: 1fr; gap: 1.5rem; }
  .nce-seaton-search__intro { display: grid; grid-template-columns: auto 1fr; gap: 0 1.25rem; align-items: end; }
  .nce-seaton-search__intro .nce-eyebrow { grid-column: 1 / -1; }
  .nce-seaton-search__intro p:last-child { align-self: center; }
  .nce-seaton-story,
  .nce-seaton-lifestyle { grid-template-columns: 1fr; }
  .nce-seaton-story__media { min-height: 34rem; }
  .nce-seaton-lifestyle__media { min-height: 38rem; order: -1; }
}

@media (max-width: 840px) {
  .nce-seaton-search__fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-seaton-search__fields .nce-button { grid-column: 1 / -1; }
  .nce-seaton-map-preview,
  .nce-seaton-depth,
  .nce-seaton-faq > .nce-shell { grid-template-columns: 1fr; }
  .nce-seaton-map-preview__visual { min-height: 26rem; }
  .nce-seaton-map-preview__visual img { min-height: 26rem; }
  .nce-seaton-final > .nce-shell { display: grid; }
}

@media (max-width: 640px) {
  body.nce-estate-microsite--seaton { padding-bottom: 4.2rem; }
  .nce-seaton-hero { min-height: 34rem; }
  .nce-seaton-hero__content { padding-block: 3.5rem 7.5rem; }
  .nce-seaton-hero h1 { font-size: clamp(3.15rem,15vw,4.55rem); }
  .nce-seaton-hero .nce-lede { font-size: .94rem; }
  .nce-seaton-hero .nce-actions { display: grid; grid-template-columns: 1fr; }
  .nce-seaton-hero__availability { right: 1rem; bottom: 2rem; left: 1rem; min-width: 0; grid-template-columns: 1fr auto; align-items: end; gap: .15rem 1rem; padding: .9rem 1rem; }
  .nce-seaton-hero__availability > span { grid-column: 1; }
  .nce-seaton-hero__availability strong { grid-column: 1; grid-row: 2; font-size: 1.6rem; }
  .nce-seaton-hero__availability a { grid-column: 2; grid-row: 1 / span 2; align-self: stretch; align-items: center; margin: 0; padding: 0 0 0 1rem; border-top: 0; border-left: 1px solid var(--nce-border); }
  .nce-seaton-search { width: calc(100% - 1.5rem); margin-top: -1rem; padding: 1.3rem; }
  .nce-seaton-search__intro { display: block; }
  .nce-seaton-search__intro h2 { font-size: 2.25rem; }
  .nce-seaton-search__intro p:last-child { display: none; }
  .nce-seaton-search__intent { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .25rem 1rem; }
  .nce-seaton-search__intent span { padding-block: .55rem; }
  .nce-seaton-search__fields { grid-template-columns: 1fr; }
  .nce-seaton-search__fields .nce-button { grid-column: auto; }
  .nce-seaton-property { padding-top: 4.5rem; }
  .nce-seaton-property .nce-section-heading { align-items: flex-start; }
  .nce-seaton-property > .nce-card-grid { grid-template-columns: 1fr; }
  .nce-seaton-story__media,
  .nce-seaton-lifestyle__media { min-height: 25rem; }
  .nce-seaton-story__copy,
  .nce-seaton-lifestyle__copy { padding: 3.5rem 1rem; }
  .nce-seaton-story__copy h2,
  .nce-seaton-lifestyle__copy h2 { font-size: 2.75rem; }
  .nce-seaton-story__facts { grid-template-columns: 1fr; }
  .nce-seaton-story__facts > div { min-height: 5.7rem; }
  .nce-seaton-map-preview { padding-block: 4.5rem; }
  .nce-seaton-map-preview__visual,
  .nce-seaton-map-preview__visual img { min-height: 19rem; }
  .nce-seaton-lifestyle__copy ul { grid-template-columns: 1fr; }
  .nce-seaton-depth { padding-block: 4.5rem; }
  .nce-seaton-depth__links a { grid-template-columns: 2rem minmax(0,1fr) auto; }
  .nce-seaton-faq > .nce-shell { padding-block: 4.5rem; }
  .nce-seaton-final { padding-block: 4rem; }
  .nce-seaton-final .nce-actions { display: grid; grid-template-columns: 1fr; }
  .nce-seaton-mobile-actions { position: fixed; z-index: 150; right: 0; bottom: 0; left: 0; height: 4.2rem; display: grid; grid-template-columns: 1fr 1fr; padding: .45rem max(.45rem,env(safe-area-inset-right)) max(.45rem,env(safe-area-inset-bottom)) max(.45rem,env(safe-area-inset-left)); background: rgba(255,255,255,.96); border-top: 1px solid var(--nce-border); box-shadow: 0 -12px 36px rgba(6,45,107,.12); backdrop-filter: blur(16px); }
  .nce-seaton-mobile-actions a { display: flex; align-items: center; justify-content: center; color: #fff; background: var(--nce-ink); font-size: .64rem; font-weight: 760; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
  .nce-seaton-mobile-actions a:last-child { color: var(--nce-ink); background: var(--nce-green); }
}

/* Homepage hero: natural editorial photography with a quiet paper text field. */
.nce-home-hero { color: var(--nce-ink); background: var(--nce-ivory); border-bottom: 1px solid var(--nce-border); }
.nce-home-hero h1 { color: var(--nce-ink); }
.nce-home-hero .nce-eyebrow { color: var(--nce-ink); }
.nce-home-hero .nce-hero__content > p:not(.nce-eyebrow) { color: var(--nce-ink-2); }
.nce-home-hero .nce-hero__media img { filter: saturate(.94) contrast(1.015) brightness(1.025); transform: scale(1.005); }
.nce-home-hero__actions .nce-button { color: #fff; background: var(--nce-ink); border-color: var(--nce-ink); }
.nce-home-hero__actions .nce-button:hover { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
.nce-home-hero__actions .nce-button--ghost { color: var(--nce-ink); background: transparent; border-color: rgba(6,45,107,.38); }
.nce-home-hero__actions .nce-button--ghost:hover { color: var(--nce-ink); background: color-mix(in srgb,var(--nce-green) 18%,#fff); border-color: var(--nce-green); }
.nce-footer a { color: rgba(255,255,255,.88); }
.nce-footer a:hover,
.nce-footer a:focus-visible { color: var(--nce-green); }

@media (min-width: 961px) {
  .nce-home-hero { min-height: min(52rem,calc(100svh - 5.65rem)); }
  .nce-home-hero .nce-hero__media { left: 42%; }
  .nce-home-hero::after {
    inset: 0 0 0 42%;
    background: linear-gradient(90deg,rgba(247,246,242,.3) 0%,transparent 18%),linear-gradient(0deg,rgba(6,45,107,.1),transparent 38%);
  }
  .nce-home-hero .nce-hero__content { padding-right: 61%; }
  .nce-home-hero h1 { font-size: clamp(4.15rem,5.5vw,6rem); }
}

@media (max-width: 960px) {
  .nce-home-hero { display: grid; min-height: 0; }
  .nce-home-hero::after { display: none; }
  .nce-home-hero .nce-hero__media { position: relative; z-index: 0; height: clamp(16rem,40svh,26rem); }
  .nce-home-hero .nce-hero__media img { object-position: 58% center; }
  .nce-home-hero .nce-hero__content { min-height: 0; padding-top: clamp(2.5rem,8vw,4.5rem); padding-bottom: clamp(3rem,9vw,5rem); }
  .nce-home-hero h1 { font-size: clamp(3.55rem,13vw,5rem); }
}

/* Keep desktop property narratives connected to their gallery and overview. */
.nce-property-enquiry > h2 { color: #fff; }

@media (min-width: 961px) {
  .nce-property-showcase { padding-bottom: 1rem; }
  .nce-property-overview {
    padding-top: 1rem;
    padding-bottom: clamp(5rem,7vw,7rem);
  }
}

/* Homepage master map: full-width, click to focus, scroll to regain context. */
.nce-map-story--map-only {
  position: relative;
  display: block;
  min-height: 0;
  background: var(--nce-ivory);
}
.nce-map-story--map-only .nce-map-story__visual,
.nce-map-story--map-only .nce-map-frame {
  height: clamp(40rem,78svh,54rem);
  min-height: 40rem;
}
.nce-map-story__interaction-cue {
  position: absolute;
  z-index: 12;
  left: 50%;
  bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin: 0;
  padding: .85rem 1.15rem;
  transform: translateX(-50%);
  color: #fff;
  background: rgba(6,45,107,.92);
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: 0 16px 42px rgba(6,45,107,.24);
  font-size: .68rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  pointer-events: none;
  backdrop-filter: blur(12px);
}
.nce-map-story__interaction-cue strong { color: #fff; font-weight: 750; }
.nce-map-story--map-only[data-map-focus] .nce-map-story__interaction-cue { opacity: 0; }

@media (max-width: 960px) {
  .nce-map-story--map-only .nce-map-story__visual,
  .nce-map-story--map-only .nce-map-frame { height: 36rem; min-height: 36rem; }
  .nce-map-story__interaction-cue {
    width: calc(100% - 2rem);
    bottom: 1rem;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem .85rem;
    font-size: .58rem;
  }
}

/* Premium listing onboarding for agencies and private homeowners. */
.nce-list-with-page { color: var(--nce-ink-2); background: var(--nce-ivory); }
.nce-list-with-hero { position: relative; min-height: 43rem; display: grid; overflow: hidden; color: #fff; background: var(--nce-ink); isolation: isolate; }
.nce-list-with-hero__media,
.nce-list-with-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.nce-list-with-hero__media { z-index: -2; object-fit: cover; object-position: center 58%; filter: saturate(.72) contrast(1.06); }
.nce-list-with-hero__shade { z-index: -1; background: linear-gradient(90deg,rgba(6,45,107,.94) 0%,rgba(6,45,107,.72) 47%,rgba(6,45,107,.2) 80%),linear-gradient(0deg,rgba(6,45,107,.62),transparent 58%); }
.nce-list-with-hero__inner { min-height: inherit; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(22rem,.55fr); align-items: end; gap: clamp(3rem,9vw,10rem); padding-block: clamp(6rem,10vw,9rem) clamp(4rem,7vw,6rem); }
.nce-list-with-hero .nce-eyebrow { color: #fff; }
.nce-list-with-hero .nce-eyebrow::before { background: var(--nce-green); }
.nce-list-with-hero h1 { max-width: 12ch; margin: .75rem 0 1.25rem; color: #fff; font-family: var(--nce-editorial); font-size: clamp(4.25rem,7vw,7.5rem); font-weight: 500; letter-spacing: -.04em; line-height: .88; }
.nce-list-with-hero__inner > div > p:last-child { max-width: 43rem; margin: 0; color: rgba(255,255,255,.72); font-size: clamp(.96rem,1.3vw,1.15rem); line-height: 1.7; }
.nce-list-with-hero dl { margin: 0; border-top: 1px solid rgba(255,255,255,.28); border-bottom: 1px solid rgba(255,255,255,.28); }
.nce-list-with-hero dl div { padding: 1.25rem 0; }
.nce-list-with-hero dl div + div { border-top: 1px solid rgba(255,255,255,.18); }
.nce-list-with-hero dt { margin-bottom: .42rem; color: var(--nce-green); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nce-list-with-hero dd { margin: 0; color: rgba(255,255,255,.76); font-size: .78rem; line-height: 1.6; }

.nce-list-with-routes { padding-block: clamp(4.5rem,7vw,7rem); }
.nce-list-with-routes__heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(22rem,.5fr); align-items: end; gap: clamp(3rem,9vw,9rem); margin-bottom: clamp(2.5rem,4vw,4rem); }
.nce-list-with-routes__heading h2 { max-width: 13ch; margin: .65rem 0 0; font-family: var(--nce-editorial); font-size: clamp(3.2rem,5vw,5.6rem); font-weight: 500; line-height: .91; }
.nce-list-with-routes__heading > p { max-width: 37rem; margin: 0; color: rgba(6,45,107,.62); font-size: .9rem; line-height: 1.75; }
.nce-list-with-routes__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1rem,2.2vw,2.25rem); }
.nce-list-route { min-width: 0; display: grid; grid-template-rows: 21rem 1fr; background: #fff; border: 1px solid var(--nce-border); box-shadow: 0 1.7rem 4.5rem rgba(6,45,107,.09); }
.nce-list-route__media { position: relative; display: block; overflow: hidden; background: #d9e0df; }
.nce-list-route__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(6,45,107,.32),transparent 56%); }
.nce-list-route__media img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.76); transition: transform .65s cubic-bezier(.22,.7,.16,1),filter .3s ease; }
.nce-list-route:hover .nce-list-route__media img { transform: scale(1.03); filter: saturate(.92); }
.nce-list-route__media > span { position: absolute; z-index: 1; top: 1.2rem; right: 1.2rem; width: 2.7rem; aspect-ratio: 1; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.7); font-size: .62rem; letter-spacing: .08em; }
.nce-list-route__body { min-height: 31rem; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(2rem,3.8vw,3.5rem); }
.nce-list-route__body h3 { max-width: 14ch; margin: .85rem 0 1.15rem; font-family: var(--nce-editorial); font-size: clamp(2.3rem,3.5vw,3.8rem); font-weight: 500; line-height: .94; }
.nce-list-route__body > p:not(.nce-eyebrow) { max-width: 38rem; margin: 0; color: rgba(6,45,107,.63); font-size: .84rem; line-height: 1.72; }
.nce-list-route__body ul { width: 100%; display: grid; gap: 0; margin: 1.75rem 0 2rem; padding: 0; list-style: none; border-top: 1px solid var(--nce-border); }
.nce-list-route__body li { position: relative; padding: .82rem 0 .82rem 1.2rem; color: rgba(6,45,107,.7); border-bottom: 1px solid var(--nce-border); font-size: .72rem; }
.nce-list-route__body li::before { content: "+"; position: absolute; left: 0; color: var(--nce-green); font-weight: 800; }
.nce-list-route__body .nce-button { width: 100%; justify-content: space-between; margin-top: auto; }
.nce-list-route--agent .nce-list-route__body { color: #fff; background: var(--nce-ink); }
.nce-list-route--agent .nce-eyebrow,
.nce-list-route--agent h3 { color: #fff; }
.nce-list-route--agent .nce-eyebrow::before { background: var(--nce-green); }
.nce-list-route--agent .nce-list-route__body > p:not(.nce-eyebrow),
.nce-list-route--agent .nce-list-route__body li { color: rgba(255,255,255,.66); }
.nce-list-route--agent .nce-list-route__body ul,
.nce-list-route--agent .nce-list-route__body li { border-color: rgba(255,255,255,.17); }
.nce-list-route--agent .nce-button { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }

.nce-list-with-process { padding-block: clamp(4.5rem,7vw,7rem); color: #fff; background: var(--nce-ink); }
.nce-list-with-process .nce-shell { display: grid; grid-template-columns: minmax(18rem,.55fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,9rem); align-items: start; }
.nce-list-with-process .nce-eyebrow,
.nce-list-with-process h2 { color: #fff; }
.nce-list-with-process h2 { max-width: 10ch; margin: .7rem 0 0; font-family: var(--nce-editorial); font-size: clamp(3rem,4.8vw,5.2rem); font-weight: 500; line-height: .91; }
.nce-list-with-process ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.nce-list-with-process li { min-height: 16rem; display: flex; flex-direction: column; padding: 1.4rem; border-right: 1px solid rgba(255,255,255,.17); }
.nce-list-with-process li:last-child { border-right: 0; }
.nce-list-with-process li > span { color: var(--nce-green); font-size: .58rem; font-weight: 800; letter-spacing: .1em; }
.nce-list-with-process li > strong { max-width: 12ch; margin-top: auto; color: #fff; font-family: var(--nce-editorial); font-size: 1.65rem; font-weight: 500; line-height: 1; }
.nce-list-with-process li > p { margin: .75rem 0 0; color: rgba(255,255,255,.58); font-size: .7rem; line-height: 1.6; }

body.nce-listing-onboarding-open { overflow: hidden; }
.nce-listing-onboarding-modal[hidden] { display: none; }
.nce-listing-onboarding-modal { position: fixed; z-index: 100200; inset: 0; display: grid; place-items: center; padding: 1.5rem; opacity: 0; visibility: hidden; transition: opacity .22s ease,visibility .22s ease; }
.nce-listing-onboarding-modal[data-open] { opacity: 1; visibility: visible; }
.nce-listing-onboarding-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; background: rgba(3,21,49,.86); border: 0; backdrop-filter: blur(14px); cursor: pointer; }
.nce-listing-onboarding-modal__panel { position: relative; z-index: 1; width: min(68rem,100%); max-height: calc(100svh - 3rem); overflow: auto; color: var(--nce-ink-2); background: #fff; box-shadow: 0 3rem 9rem rgba(0,0,0,.42); transform: translateY(1rem) scale(.985); transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.nce-listing-onboarding-modal[data-open] .nce-listing-onboarding-modal__panel { transform: translateY(0) scale(1); }
.nce-listing-onboarding-modal__close { position: absolute; z-index: 2; top: 1.15rem; right: 1.15rem; width: 3rem; aspect-ratio: 1; display: grid; place-items: center; padding: 0; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.42); border-radius: 50%; font: inherit; font-size: 1.5rem; cursor: pointer; }
.nce-listing-onboarding-modal__close:hover { color: var(--nce-ink); background: var(--nce-green); border-color: var(--nce-green); }
.nce-listing-onboarding-modal__panel > header { padding: clamp(2rem,4vw,3.5rem) 5.5rem clamp(2rem,3.5vw,3rem) clamp(2rem,4vw,3.5rem); color: #fff; background: var(--nce-ink); }
.nce-listing-onboarding-modal__panel > header .nce-eyebrow { color: #fff; }
.nce-listing-onboarding-modal__panel > header h2 { max-width: 17ch; margin: .7rem 0 .8rem; color: #fff; font-family: var(--nce-editorial); font-size: clamp(2.6rem,4.4vw,4.5rem); font-weight: 500; line-height: .93; }
.nce-listing-onboarding-modal__panel > header > p:last-child { max-width: 42rem; margin: 0; color: rgba(255,255,255,.62); font-size: .78rem; line-height: 1.65; }
.nce-listing-onboarding-form { padding: clamp(1.5rem,3.5vw,3rem) clamp(1.5rem,4vw,3.5rem); gap: 1rem; }
.nce-listing-onboarding-form label { color: rgba(6,45,107,.72); font-size: .67rem; letter-spacing: .015em; }
.nce-listing-onboarding-form input,
.nce-listing-onboarding-form select,
.nce-listing-onboarding-form textarea { width: 100%; color: var(--nce-ink); background: #f8f8f5; border: 1px solid rgba(6,45,107,.2); }
.nce-listing-onboarding-form input,
.nce-listing-onboarding-form select { min-height: 3.35rem; padding-inline: .9rem; }
.nce-listing-onboarding-form textarea { min-height: 7rem; padding: .9rem; }
.nce-listing-onboarding-form input:focus,
.nce-listing-onboarding-form select:focus,
.nce-listing-onboarding-form textarea:focus { border-color: var(--nce-green); outline: 2px solid color-mix(in srgb,var(--nce-green) 25%,transparent); outline-offset: 0; }
.nce-listing-onboarding-form .nce-form__consent { color: rgba(6,45,107,.58); font-size: .61rem; line-height: 1.5; }
.nce-listing-onboarding-form > .nce-button { min-height: 3.7rem; justify-content: center; margin-top: .25rem; }
.nce-listing-onboarding-form .nce-form-status { margin: 0; }

@media (max-width: 900px) {
  .nce-list-with-hero__inner,
  .nce-list-with-routes__heading,
  .nce-list-with-process .nce-shell { grid-template-columns: 1fr; }
  .nce-list-with-hero__inner { align-content: end; gap: 2.5rem; }
  .nce-list-with-hero dl { display: grid; grid-template-columns: 1fr 1fr; }
  .nce-list-with-hero dl div + div { padding-left: 1.25rem; border-top: 0; border-left: 1px solid rgba(255,255,255,.18); }
  .nce-list-with-routes__heading { gap: 1.25rem; }
  .nce-list-route { grid-template-rows: 17rem 1fr; }
  .nce-list-route__body { min-height: 32rem; }
  .nce-list-with-process .nce-shell { gap: 2.5rem; }
}

@media (max-width: 650px) {
  .nce-list-with-hero { min-height: 42rem; }
  .nce-list-with-hero__shade { background: linear-gradient(0deg,rgba(6,45,107,.96),rgba(6,45,107,.44)); }
  .nce-list-with-hero__inner { padding-block: 6rem 2.5rem; }
  .nce-list-with-hero h1 { font-size: clamp(3.65rem,16vw,5rem); }
  .nce-list-with-hero dl { display: none; }
  .nce-list-with-routes { padding-block: 3.75rem; }
  .nce-list-with-routes__heading h2 { font-size: clamp(3rem,13vw,4rem); }
  .nce-list-with-routes__grid { grid-template-columns: 1fr; }
  .nce-list-route { grid-template-rows: 15rem 1fr; }
  .nce-list-route__body { min-height: 29rem; padding: 1.65rem; }
  .nce-list-route__body h3 { font-size: clamp(2.45rem,11vw,3.3rem); }
  .nce-list-with-process ol { grid-template-columns: 1fr; }
  .nce-list-with-process li { min-height: 12rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
  .nce-list-with-process li:last-child { border-bottom: 0; }
  .nce-listing-onboarding-modal { align-items: end; padding: 0; }
  .nce-listing-onboarding-modal__panel { width: 100%; max-height: 94svh; border-radius: 1rem 1rem 0 0; transform: translateY(2rem); }
  .nce-listing-onboarding-modal__panel > header { padding: 1.6rem 4.4rem 1.5rem 1.2rem; }
  .nce-listing-onboarding-modal__panel > header h2 { font-size: clamp(2.25rem,10vw,3.1rem); }
  .nce-listing-onboarding-modal__panel > header > p:last-child { display: none; }
  .nce-listing-onboarding-modal__close { top: .8rem; right: .8rem; width: 2.7rem; }
  .nce-listing-onboarding-form { padding: 1.2rem; }
}

/* Estate property pages: compact live inventory search replaces the editorial hero. */
.nce-estate-property-search {
  padding: clamp(2.6rem,5vw,4.8rem) 0 clamp(2.2rem,4vw,3.7rem);
  color: #062d6b;
  background: linear-gradient(135deg,#f7f6f2 0%,#eef3f3 68%,#e5f6f4 100%);
  border-bottom: 1px solid rgba(6,45,107,.13);
}
.nce-estate-property-search__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.75rem; }
.nce-estate-property-search__heading .nce-eyebrow { margin-bottom: .5rem; color: #168f95; }
.nce-estate-property-search__heading h1 { max-width: 15ch; margin: 0; color: #062d6b; font-size: clamp(2.9rem,5.1vw,5.25rem); line-height: .92; letter-spacing: -.045em; }
.nce-estate-property-search__count { min-width: 10rem; display: grid; gap: .2rem; margin: 0; padding: 1.15rem 1.3rem; color: #fff; background: #062d6b; border-top: 3px solid #10c7c7; }
.nce-estate-property-search__count strong { font-family: var(--nce-display); font-size: 2.6rem; font-weight: 400; line-height: .85; }
.nce-estate-property-search__count span { color: rgba(255,255,255,.62); font-size: .55rem; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }
.nce-estate-property-search__form { overflow: hidden; background: rgba(255,255,255,.94); border: 1px solid rgba(6,45,107,.13); box-shadow: 0 1.4rem 4rem rgba(6,45,107,.11); }
.nce-estate-property-search__intent { display: flex; gap: 0; margin: 0; padding: 0 1.15rem; color: #fff; background: #062d6b; border: 0; }
.nce-estate-property-search__intent { scrollbar-width: none; }
.nce-estate-property-search__intent::-webkit-scrollbar { display: none; }
.nce-estate-property-search__intent label { position: relative; cursor: pointer; }
.nce-estate-property-search__intent input { position: absolute; opacity: 0; pointer-events: none; }
.nce-estate-property-search__intent span { min-height: 3.65rem; display: grid; place-items: center; padding: 0 1.15rem; color: rgba(255,255,255,.58); border-bottom: 3px solid transparent; font-size: .62rem; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; transition: color .18s ease,border-color .18s ease; }
.nce-estate-property-search__intent input:checked + span { color: #fff; border-bottom-color: #10c7c7; }
.nce-estate-property-search__intent input:focus-visible + span { outline: 2px solid #fff; outline-offset: -4px; }
.nce-estate-property-search__controls { display: grid; grid-template-columns: 1.15fr repeat(4,1fr); padding: 1.2rem; }
.nce-estate-property-search__controls > label { min-width: 0; display: grid; gap: .45rem; padding: .15rem 1rem; border-right: 1px solid rgba(6,45,107,.13); }
.nce-estate-property-search__controls > label:first-child { padding-left: .25rem; }
.nce-estate-property-search__controls > label:last-child { padding-right: .25rem; border-right: 0; }
.nce-estate-property-search__controls label > span { color: rgba(6,45,107,.53); font-size: .52rem; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
.nce-estate-property-search__controls select { width: 100%; min-height: 2.8rem; padding: 0 1.8rem 0 0; color: #062d6b; background-color: transparent; border: 0; border-bottom: 1px solid rgba(6,45,107,.25); border-radius: 0; font-family: var(--nce-display); font-size: 1.05rem; outline: 0; }
.nce-estate-property-search__controls select:focus { border-bottom-color: #10c7c7; }
.nce-estate-property-search__extras { min-height: 4rem; display: flex; align-items: center; gap: 1.25rem; padding: .75rem 1.4rem; background: #f7f6f2; border-top: 1px solid rgba(6,45,107,.12); }
.nce-estate-property-search__extras > div { display: flex; align-items: center; gap: .7rem; }
.nce-estate-property-search__extras > div > span { margin-right: .25rem; color: rgba(6,45,107,.46); font-size: .52rem; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
.nce-estate-property-search__extras label { position: relative; display: inline-flex; align-items: center; gap: .45rem; color: #294b74; font-size: .66rem; font-weight: 720; cursor: pointer; }
.nce-estate-property-search__extras label input { position: absolute; opacity: 0; }
.nce-estate-property-search__extras label i { width: 1.2rem; aspect-ratio: 1; display: grid; place-items: center; background: #fff; border: 1px solid rgba(6,45,107,.28); }
.nce-estate-property-search__extras label input:checked + i { background: #10c7c7; border-color: #10c7c7; box-shadow: inset 0 0 0 3px #fff; }
.nce-estate-property-search__extras label input:focus-visible + i { outline: 2px solid #062d6b; outline-offset: 2px; }
.nce-estate-property-search__extras > button { margin-left: auto; padding: .55rem .75rem; color: #062d6b; background: transparent; border: 0; border-bottom: 1px solid rgba(6,45,107,.35); font: inherit; font-size: .62rem; font-weight: 760; cursor: pointer; }
.nce-estate-property-search__extras > p { min-width: 8.5rem; margin: 0; color: rgba(6,45,107,.52); font-size: .61rem; text-align: right; }
.nce-estate-property-results { padding-top: clamp(3.25rem,5vw,5.5rem); }
.nce-estate-property-results__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; padding-bottom: 1.4rem; border-bottom: 1px solid rgba(6,45,107,.15); }
.nce-estate-property-results__heading .nce-eyebrow { color: #168f95; }
.nce-estate-property-results__heading h2 { margin: .45rem 0 0; color: #062d6b; font-size: clamp(2.5rem,4vw,4.25rem); }
.nce-estate-property-results .nce-listing-card { transition: opacity .2s ease,transform .2s ease; }
.nce-estate-property-results .nce-listing-card[hidden] { display: none; }
.nce-estate-property-results__empty { padding: clamp(2.5rem,6vw,5rem); color: #062d6b; background: #eef3f3; border: 1px solid rgba(6,45,107,.13); text-align: center; }
.nce-estate-property-results__empty[hidden] { display: none; }
.nce-estate-property-results__empty strong { font-family: var(--nce-display); font-size: clamp(2rem,4vw,3.4rem); font-weight: 400; }
.nce-estate-property-results__empty p { margin: .6rem auto 0; color: rgba(6,45,107,.6); }

@media (max-width: 960px) {
  .nce-estate-property-search__controls { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 0; }
  .nce-estate-property-search__controls > label { border-right: 1px solid rgba(6,45,107,.13); }
  .nce-estate-property-search__controls > label:nth-child(even) { border-right: 0; }
  .nce-estate-property-search__controls > label:last-child { padding-left: 1rem; }
}
@media (max-width: 640px) {
  .nce-estate-property-search { padding-top: 2rem; }
  .nce-estate-property-search__heading { align-items: start; }
  .nce-estate-property-search__heading h1 { font-size: clamp(2.75rem,13vw,4rem); }
  .nce-estate-property-search__count { min-width: 5.7rem; padding: .85rem; }
  .nce-estate-property-search__count strong { font-size: 2rem; }
  .nce-estate-property-search__intent { overflow-x: auto; padding-inline: .35rem; }
  .nce-estate-property-search__intent label { flex: 0 0 auto; }
  .nce-estate-property-search__intent span { padding-inline: .85rem; }
  .nce-estate-property-search__controls { grid-template-columns: 1fr; padding: 1rem; }
  .nce-estate-property-search__controls > label,
  .nce-estate-property-search__controls > label:first-child,
  .nce-estate-property-search__controls > label:last-child { padding: .35rem 0; border-right: 0; }
  .nce-estate-property-search__extras { align-items: flex-start; flex-wrap: wrap; }
  .nce-estate-property-search__extras > div { width: 100%; flex-wrap: wrap; }
  .nce-estate-property-search__extras > button { margin-left: 0; }
  .nce-estate-property-search__extras > p { margin-left: auto; }
  .nce-estate-property-results__heading { align-items: start; flex-direction: column; }
}

/* Premium mobile navigation for estate and new-home microsites. */
.nce-microsite-nav__intro,
.nce-microsite-nav__secondary { display: none; }
.nce-microsite-nav__actions { display: contents; }

@media (max-width: 1120px) {
  .nce-microsite-header .nce-nav-toggle {
    position: relative;
    z-index: 4;
    width: 3.65rem;
    height: 3.65rem;
    display: grid;
    align-content: center;
    flex: 0 0 auto;
    color: var(--nce-ink);
    background: var(--nce-green);
    border: 1px solid var(--nce-green);
    transition: background-color .2s ease,border-color .2s ease;
  }
  .nce-microsite-header .nce-nav-toggle > span:not(.screen-reader-text) {
    width: 1.45rem;
    margin-block: .24rem;
    background: currentColor;
    transform-origin: center;
    transition: transform .26s cubic-bezier(.2,.8,.2,1),opacity .16s ease,width .18s ease;
  }
  .nce-microsite-header .nce-nav-toggle[aria-expanded="true"] { color: #fff; background: var(--nce-ink); border-color: var(--nce-ink); }
  .nce-microsite-header .nce-nav-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(.49rem) rotate(45deg); }
  .nce-microsite-header .nce-nav-toggle[aria-expanded="true"] > span:nth-child(2) { width: 0; opacity: 0; }
  .nce-microsite-header .nce-nav-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-.49rem) rotate(-45deg); }

  .nce-microsite-nav,
  .nce-microsite-header[data-scrolled] .nce-microsite-nav {
    inset: 6.95rem 0 auto;
    z-index: 3;
    height: calc(100svh - 6.95rem);
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    align-items: stretch;
    justify-content: stretch;
    gap: clamp(1.35rem,3.5svh,2.5rem);
    padding: clamp(1.5rem,4svh,2.8rem) max(1.25rem,calc((100vw - var(--nce-shell)) / 2)) max(1rem,env(safe-area-inset-bottom));
    overflow-y: auto;
    color: #fff;
    background:
      radial-gradient(circle at 94% 5%,rgba(16,199,199,.18),transparent 31rem),
      linear-gradient(145deg,#062d6b 0%,#041f4f 100%);
    box-shadow: 0 2rem 5rem rgba(4,31,79,.28);
    transform: translateY(-1rem);
    opacity: 0;
    visibility: hidden;
    transition: transform .32s cubic-bezier(.2,.8,.2,1),opacity .22s ease,visibility .32s;
  }
  .nce-microsite-nav::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -7rem;
    bottom: -8rem;
    width: 23rem;
    aspect-ratio: 1;
    border: 1px solid rgba(16,199,199,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 3rem rgba(16,199,199,.025),0 0 0 6rem rgba(16,199,199,.018);
    pointer-events: none;
  }
  .nce-microsite-nav[data-open] { transform: none; opacity: 1; visibility: visible; }

  .nce-microsite-nav__intro { display: grid; gap: .32rem; max-width: 34rem; }
  .nce-microsite-nav__intro > span { color: var(--nce-green); font-size: .54rem; font-weight: 780; letter-spacing: .16em; text-transform: uppercase; }
  .nce-microsite-nav__intro > strong { color: #fff; font-family: var(--nce-editorial); font-size: clamp(2.1rem,5.5vw,3.4rem); font-weight: 500; letter-spacing: -.035em; line-height: 1; }
  .nce-microsite-nav__intro > small { max-width: 31rem; color: rgba(255,255,255,.58); font-size: .7rem; line-height: 1.55; }

  .nce-microsite-nav ul {
    align-content: start;
    align-self: start;
    counter-reset: estate-menu;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 clamp(2rem,6vw,6rem);
    width: 100%;
  }
  .nce-microsite-nav li { counter-increment: estate-menu; border-top: 1px solid rgba(255,255,255,.14); }
  .nce-microsite-nav li:nth-last-child(-n + 2) { border-bottom: 1px solid rgba(255,255,255,.14); }
  .nce-microsite-nav ul a,
  .nce-microsite-nav a,
  .nce-microsite-nav a[aria-current="page"] {
    color: rgba(255,255,255,.8);
  }
  .nce-microsite-nav ul a {
    min-height: 4.25rem;
    display: grid;
    grid-template-columns: 2rem minmax(0,1fr) auto;
    gap: .7rem;
    align-items: center;
    padding: .65rem .15rem;
    border: 0;
    font-family: var(--nce-sans);
    font-size: clamp(1.15rem,3vw,1.65rem);
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.05;
    text-transform: none;
    transition: color .18s ease,padding-left .18s ease;
  }
  .nce-microsite-nav ul a::before { content: "0" counter(estate-menu); color: var(--nce-green); font-size: .48rem; font-weight: 780; letter-spacing: .1em; }
  .nce-microsite-nav ul a::after { content: "\2192"; position: static; display: block; width: auto; height: auto; color: rgba(16,199,199,.72); background: none; font-size: 1rem; opacity: 0; transform: translateX(-.35rem); transition: opacity .18s ease,transform .18s ease; }
  .nce-microsite-nav ul a:hover,
  .nce-microsite-nav ul a:focus-visible,
  .nce-microsite-nav ul a[aria-current="page"] { padding-left: .35rem; color: #fff; }
  .nce-microsite-nav ul a:hover::after,
  .nce-microsite-nav ul a:focus-visible::after,
  .nce-microsite-nav ul a[aria-current="page"]::after { opacity: 1; transform: none; }

  .nce-microsite-nav__actions { width: 100%; display: grid; grid-template-columns: minmax(10rem,.75fr) minmax(12rem,1fr); gap: .7rem; align-self: end; justify-self: stretch; }
  .nce-microsite-nav .nce-microsite-nav__actions .nce-button,
  .nce-microsite-nav .nce-microsite-nav__secondary {
    min-height: 3.7rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: .8rem 1rem;
    color: var(--nce-ink);
    background: var(--nce-green);
    border: 1px solid var(--nce-green);
    font-size: .61rem;
    font-weight: 780;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
  }
  .nce-microsite-nav .nce-microsite-nav__secondary { color: #fff; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.28); }
  .nce-microsite-nav__secondary span { color: var(--nce-green); font-size: 1rem; }
  html.nce-menu-open .nce-seaton-mobile-actions { opacity: 0; pointer-events: none; transform: translateY(calc(100% + 1rem)); }
}

@media (max-width: 640px) {
  .nce-microsite-header .nce-nav-toggle { width: 3.25rem; height: 3.25rem; }
  .nce-microsite-nav,
  .nce-microsite-header[data-scrolled] .nce-microsite-nav {
    inset-block-start: 6.6rem;
    height: calc(100svh - 6.6rem);
    gap: clamp(1rem,2.7svh,1.5rem);
    padding: clamp(1.2rem,2.8svh,1.7rem) 1rem max(.8rem,env(safe-area-inset-bottom));
  }
  .nce-microsite-nav__intro > strong { font-size: clamp(2rem,9vw,2.65rem); }
  .nce-microsite-nav__intro > small { display: none; }
  .nce-microsite-nav ul { grid-template-columns: 1fr; }
  .nce-microsite-nav li:nth-last-child(-n + 2) { border-bottom: 0; }
  .nce-microsite-nav li:last-child { border-bottom: 1px solid rgba(255,255,255,.14); }
  .nce-microsite-nav ul a { min-height: clamp(3.35rem,8.1svh,4rem); font-size: clamp(1.1rem,5.2vw,1.5rem); }
  .nce-microsite-nav__actions { grid-template-columns: 1fr 1fr; }
  .nce-microsite-nav .nce-microsite-nav__actions .nce-button,
  .nce-microsite-nav .nce-microsite-nav__secondary { min-width: 0; min-height: 3.5rem; padding-inline: .8rem; }
}

@media (max-height: 700px) and (max-width: 640px) {
  .nce-microsite-nav__intro { display: none; }
  .nce-microsite-nav ul a { min-height: 3.15rem; }
  .nce-microsite-nav__actions { grid-template-columns: 1fr; }
  .nce-microsite-nav .nce-microsite-nav__secondary { display: none; }
}

/* Saved-property journey, search alerts and verified operator layer. */
.nce-header-saved { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .48rem; color: #fff; font-size: .58rem; font-weight: 780; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.nce-header-saved > span { min-width: 1.55rem; min-height: 1.55rem; display: inline-grid; place-items: center; color: var(--nce-ink); background: var(--nce-green); border-radius: 50%; font-size: .64rem; letter-spacing: 0; }
.nce-header-saved--micro { margin-left: auto; padding-inline: 1rem; color: rgba(245,241,232,.76); border-inline: 1px solid rgba(255,255,255,.15); }
.nce-header-saved--micro + .nce-microsite-all-estates { margin-left: 0; }
.nce-footer__grid { grid-template-columns: 1.05fr .52fr .7fr .9fr; gap: clamp(2rem,4vw,5rem); }
.nce-footer__trust p { color: rgba(245,241,232,.68); font-size: .78rem; line-height: 1.7; }
.nce-footer__trust nav { display: flex; flex-wrap: wrap; gap: .55rem 1rem; font-size: .72rem; }
.nce-microsite-footer__legal nav { display: inline-flex; flex-wrap: wrap; gap: .8rem; }

.nce-card-fresh { position: absolute; z-index: 3; top: .8rem; left: 50%; padding: .43rem .65rem; color: #062d6b; background: #bfeaea; border-radius: 2rem; font-size: .58rem; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; transform: translateX(-50%); }
.nce-listing-card__save,.nce-listing-card__compare { min-height: 2.75rem; }
.nce-listing-card__compare { position: absolute; z-index: 5; right: .75rem; bottom: .75rem; display: inline-flex; align-items: center; gap: .42rem; padding: .45rem .7rem; color: #062d6b; background: rgba(255,253,248,.96); border: 1px solid rgba(6,45,107,.14); border-radius: 2rem; box-shadow: 0 8px 24px rgba(7,23,19,.15); cursor: pointer; font-size: .65rem; font-weight: 760; }
.nce-listing-card__compare input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--nce-green); }

.nce-search-alert { margin: .8rem 0 2.2rem; color: #062d6b; background: #edf7f5; border: 1px solid rgba(6,45,107,.12); }
.nce-search-alert summary { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.35rem; cursor: pointer; list-style: none; }
.nce-search-alert summary::-webkit-details-marker { display: none; }
.nce-search-alert summary span { display: grid; gap: .25rem; }
.nce-search-alert summary small { color: rgba(6,45,107,.54); font-size: .58rem; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }
.nce-search-alert summary strong { font-family: var(--nce-display); font-size: 1.35rem; font-weight: 500; }
.nce-search-alert summary i { font-size: 1.5rem; font-style: normal; transition: transform .2s ease; }
.nce-search-alert[open] summary i { transform: rotate(45deg); }
.nce-search-alert__body { display: grid; grid-template-columns: minmax(0,.75fr) minmax(22rem,1.25fr); gap: clamp(2rem,5vw,6rem); padding: clamp(1.4rem,3vw,2.5rem); border-top: 1px solid rgba(6,45,107,.12); }
.nce-search-alert__body h3 { max-width: 19ch; margin: .35rem 0 1rem; font-size: clamp(1.8rem,3vw,3rem); }
.nce-search-alert__body > div > p:last-child { color: rgba(6,45,107,.68); line-height: 1.72; }
.nce-search-alert__form { align-self: start; padding: 0; background: transparent; box-shadow: none; }

.nce-saved-hero { padding: clamp(5rem,9vw,9rem) 0 clamp(3.5rem,6vw,6rem); color: #f7f6f2; background: radial-gradient(circle at 82% 14%,rgba(16,199,199,.22),transparent 34%),#062d6b; }
.nce-saved-hero .nce-eyebrow { color: #8ee2df; }
.nce-saved-hero h1 { max-width: 12ch; margin: .45rem 0 1rem; color: #f7f6f2; font-size: clamp(3.3rem,8vw,8rem); line-height: .88; }
.nce-saved-hero .nce-lede { max-width: 47rem; color: rgba(247,246,242,.72); }
.nce-saved-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.2rem; padding: 1.15rem 0; border-bottom: 1px solid var(--nce-border); }
.nce-saved-toolbar p { display: grid; gap: .25rem; margin: 0; }
.nce-saved-toolbar p strong { font-family: var(--nce-display); font-size: 1.55rem; font-weight: 500; }
.nce-saved-toolbar p span { color: rgba(6,45,107,.58); font-size: .72rem; }
.nce-saved-toolbar > div { display: flex; align-items: center; gap: .8rem; }
.nce-saved-empty { max-width: 48rem; margin: 3rem auto 5rem; padding: clamp(2rem,5vw,4.5rem); text-align: center; background: #f4f1e9; border: 1px solid var(--nce-border); }
.nce-saved-empty h2 { margin: .4rem 0 1rem; font-size: clamp(2.2rem,4vw,4rem); }
.nce-saved-empty p:not(.nce-eyebrow) { margin-inline: auto; max-width: 39rem; color: rgba(6,45,107,.65); line-height: 1.7; }
.nce-saved-results { margin-block: 2rem 5rem; }
.nce-property-comparison { margin: 5rem 0; padding-top: 2rem; border-top: 1px solid var(--nce-border); scroll-margin-top: 8rem; }
.nce-property-comparison > header,.nce-saved-searches > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.6rem; }
.nce-property-comparison h2,.nce-saved-searches h2 { margin: .35rem 0 0; font-size: clamp(2rem,3.8vw,3.8rem); }
.nce-property-comparison [data-nce-comparison-table] { overflow-x: auto; }
.nce-property-comparison table { width: 100%; min-width: 44rem; border-collapse: collapse; }
.nce-property-comparison th,.nce-property-comparison td { padding: 1rem; text-align: left; border-bottom: 1px solid var(--nce-border); }
.nce-property-comparison th { width: 10rem; color: rgba(6,45,107,.55); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.nce-property-comparison td { font-weight: 650; }
.nce-saved-searches { margin-top: 5rem; padding: clamp(1.5rem,4vw,3rem); background: #edf7f5; }
[data-nce-saved-search-list] { display: grid; }
[data-nce-saved-search-list] > p { color: rgba(6,45,107,.62); }
[data-nce-saved-search-list] article { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-top: 1px solid rgba(6,45,107,.12); }
[data-nce-saved-search-list] article > div:first-child { display: grid; gap: .25rem; }
[data-nce-saved-search-list] article strong { text-transform: capitalize; }
[data-nce-saved-search-list] article span { color: rgba(6,45,107,.55); font-size: .7rem; }
[data-nce-saved-search-list] article > div:last-child { display: flex; gap: .65rem; }
[data-nce-saved-search-list] a,[data-nce-saved-search-list] button { min-height: 2.5rem; display: inline-flex; align-items: center; padding: .45rem .7rem; color: #062d6b; background: transparent; border: 1px solid rgba(6,45,107,.25); cursor: pointer; font: inherit; font-size: .68rem; font-weight: 740; text-decoration: none; }

.nce-property-showcase__utility,.nce-development-property__utility { display: flex; gap: .55rem; margin-top: .7rem; }
.nce-property-showcase__utility button,.nce-development-property__utility button { min-height: 2.55rem; padding: .55rem .85rem; color: #062d6b; background: transparent; border: 1px solid rgba(6,45,107,.23); cursor: pointer; font: inherit; font-size: .68rem; font-weight: 760; }
.nce-property-showcase__utility button span,.nce-development-property__utility button span { color: inherit; font: inherit; letter-spacing: inherit; text-transform: none; }
.nce-property-showcase__utility button[aria-pressed="true"] { color: #062d6b; background: #bfeaea; border-color: #bfeaea; }
.nce-development-property__utility { margin: 0 0 1rem; }
.nce-development-property__utility button { color: #fff; border-color: rgba(255,255,255,.3); }
.nce-development-property__utility button[aria-pressed="true"] { color: #13221d; background: #8ee2df; border-color: #8ee2df; }
.nce-related-property { padding-block: clamp(4rem,7vw,7rem); }

@media (max-width: 1180px) {
  .nce-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nce-header-saved:not(.nce-header-saved--micro) { display: none; }
}
@media (max-width: 760px) {
  .nce-header-saved--micro { padding-inline: .55rem; border-left: 0; font-size: 0; }
  .nce-header-saved--micro::before { content: "Saved"; font-size: .5rem; }
  .nce-search-alert__body { grid-template-columns: 1fr; }
  .nce-saved-toolbar,.nce-property-comparison > header,.nce-saved-searches > header,[data-nce-saved-search-list] article { align-items: flex-start; flex-direction: column; }
  .nce-saved-toolbar > div { width: 100%; justify-content: space-between; }
  .nce-saved-hero h1 { font-size: clamp(3.1rem,17vw,5.2rem); }
  .nce-footer__grid { grid-template-columns: 1fr; }
  .nce-footer__grid > :first-child { grid-column: auto; }
}

/* Restore the original slim parent strip above the estate header. */
.nce-microsite-header,
.nce-microsite-header[data-scrolled] {
  display: grid;
  grid-template-rows: 2.15rem 5.65rem;
  height: 7.8rem;
  overflow: visible;
}
.nce-microsite-utility,
.nce-microsite-utility__inner { overflow: hidden; }
.nce-microsite-header__inner { height: 5.65rem; }
.nce-microsite-utility .nce-brand__logo--micro {
  width: auto;
  height: 1.9rem;
  max-width: 9.75rem;
  object-fit: contain;
}
.nce-microsite-nav .nce-button {
  background: var(--nce-estate-accent, var(--nce-ink));
  border-color: var(--nce-estate-accent, var(--nce-ink));
}
.nce-microsite-nav .nce-button:hover,
.nce-microsite-nav .nce-button:focus-visible {
  color: var(--nce-ink);
  background: var(--nce-green);
  border-color: var(--nce-green);
}
.nce-microsite-all-estates:hover,
.nce-microsite-all-estates:focus-visible {
  color: color-mix(in srgb, var(--nce-ink) 72%, var(--nce-green));
}

@media (max-width: 1120px) {
  .nce-microsite-header,
  .nce-microsite-header[data-scrolled] {
    grid-template-rows: 2rem 4.95rem;
    height: 6.95rem;
  }
  .nce-microsite-header__inner { height: 4.95rem; }
  .nce-microsite-utility .nce-brand__logo--micro { height: 1.7rem; }
  .nce-microsite-nav,
  .nce-microsite-header[data-scrolled] .nce-microsite-nav {
    inset-block-start: 6.95rem;
    height: calc(100svh - 6.95rem);
  }
}

@media (max-width: 640px) {
  .nce-microsite-header,
  .nce-microsite-header[data-scrolled] {
    grid-template-rows: 1.85rem 4.75rem;
    height: 6.6rem;
  }
  .nce-microsite-header__inner { height: 4.75rem; }
  .nce-microsite-utility .nce-brand__logo--micro { height: 1.55rem; }
  .nce-microsite-nav,
  .nce-microsite-header[data-scrolled] .nce-microsite-nav {
    inset-block-start: 6.6rem;
    height: calc(100svh - 6.6rem);
  }
}

/* Helmsley source refresh: bypass the previous one-year static-image cache. */
img[src*="/assets/images/optimized/helmsley.webp"],
img[src*="/assets/images/estate-galleries/helmsley/01.webp"] {
  content: url("../images/estate-galleries/helmsley/01.webp?ver=1.1.13");
}
img[src*="/assets/images/estate-galleries/helmsley/02.webp"] {
  content: url("../images/estate-galleries/helmsley/02.webp?ver=1.1.13");
}
img[src*="/assets/images/estate-galleries/helmsley/03.webp"] {
  content: url("../images/estate-galleries/helmsley/03.webp?ver=1.1.13");
}
img[src*="/assets/images/estate-galleries/helmsley/04.webp"] {
  content: url("../images/estate-galleries/helmsley/04.webp?ver=1.1.13");
}
img[src*="/assets/images/estate-galleries/helmsley/05.webp"] {
  content: url("../images/estate-galleries/helmsley/05.webp?ver=1.1.13");
}
img[src*="/assets/images/estate-galleries/helmsley/06.webp"] {
  content: url("../images/estate-galleries/helmsley/06.webp?ver=1.1.13");
}
