:root{--cream:#f7f2e7;--paper:#eee7d8;--ink:#1c231a;--dark:#141b15;--dark2:#202a20;--gold:#d8bd83;--bronze:#795725;--line:#d5cbb7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--width:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}body:has(dialog[open]){overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a66c19;outline-offset:4px}.skip{position:fixed;top:10px;left:10px;z-index:10;background:var(--cream);padding:8px 16px;transform:translateY(-150%)}.skip:focus{transform:none}.wrap{width:min(var(--width),calc(100% - 112px));margin-inline:auto}.section{padding-block:clamp(72px,9vw,132px)}.eyebrow{font-weight:700;font-size:.68rem;letter-spacing:.19em;line-height:1.6;margin:0 0 16px}.eyebrow span{color:var(--bronze);margin-right:11px}.header{height:74px;padding-inline:clamp(24px,4vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#131a15;color:var(--cream);border-bottom:1px solid #c6a66d3d;position:sticky;top:0;z-index:5}.brand{display:inline-flex;gap:12px;align-items:center;letter-spacing:.17em;line-height:1.15;font:700 1.15rem var(--serif);flex-shrink:0}.brand span{letter-spacing:.14em}.brand small{display:block;font:700 .53rem var(--sans);letter-spacing:.16em;color:var(--gold);margin-top:5px}.header nav{display:flex;gap:clamp(15px,2.5vw,39px);align-items:center}.header nav a{font-size:.81rem;color:#e4dfd2;transition:color .2s}.header nav a:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:11px 20px;border:1px solid transparent;background:var(--gold);color:#1e2117;font-size:.84rem;font-weight:700;transition:background .25s,border-color .25s,color .25s;line-height:1.3}.button:hover{background:#edd5a0}.button span{font-size:1.1em}.header-cta{min-height:40px;white-space:nowrap}.button.ghost{border-color:#e7ddc780;background:#161a1670;color:var(--cream)}.button.ghost:hover{background:#e7ddc725;border-color:var(--gold)}.menu-toggle{display:none}
.hero{min-height:clamp(640px,calc(100svh - 74px),960px);position:relative;isolation:isolate;display:grid;align-items:center;overflow:hidden;background:var(--dark);color:#fff9ec}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;z-index:-2}.hero-image{animation:arrive 1.65s ease-out both}.hero-shade{z-index:-1;background:linear-gradient(90deg,#101811f5 0%,#101811b8 28%,#10181131 68%,#10181119),linear-gradient(0deg,#101811dc 0%,transparent 29%)}.hero-content{padding-block:52px 80px;animation:hero-in .9s ease-out both}.status{display:inline-flex;align-items:center;gap:9px;border:1px solid #e3c9946b;background:#1e281b77;color:#fff4d9;font-size:.65rem;letter-spacing:.18em;font-weight:700;padding:7px 11px;margin-bottom:28px}.status span{width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 10px #efd69c96}.hero-location{color:#f1dba9;margin-bottom:13px}.hero h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02;margin:0;letter-spacing:-.045em}.hero h1{font-size:clamp(58px,8.6vw,132px);text-wrap:balance}.hero em{color:#e4c58e;font-weight:400}.hero-copy{max-width:430px;color:#eee8da;margin:23px 0 29px;font-size:clamp(16px,1.55vw,20px)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-bottom{position:absolute;bottom:21px;left:0;right:0;display:flex;justify-content:space-between;color:#f3e8d1;border-top:1px solid #e8d7b461;padding-top:13px;font-size:.64rem;letter-spacing:.16em}.section-head{display:grid;grid-template-columns:1.45fr .65fr;gap:40px;align-items:end;margin-bottom:42px}.section-head>p,.residence-copy>p,.location-grid p,.enquiry-grid p{max-width:460px;margin:0;color:#575c4d}.section-head>p{padding-bottom:4px}.section h2{font-size:clamp(46px,6.4vw,90px)}.section h2 em{color:var(--bronze);font-weight:400}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:0}.stats div{padding:23px 20px;border-left:1px solid var(--line)}.stats div:first-child{border-left:0;padding-left:0}.stats dt{font:400 clamp(31px,4vw,59px)/1.15 var(--serif);letter-spacing:-.05em}.stats dt small{font:400 .4em var(--sans);letter-spacing:0}.stats dd{margin:5px 0 0;color:#585a50;font-size:.8rem}
.residence{background:var(--paper)}.residence-grid{display:grid;grid-template-columns:.95fr 1fr;align-items:center;gap:clamp(45px,8vw,128px)}.elevation{margin:0;position:relative;overflow:hidden;background:#a4b8c9}.elevation img{width:100%;height:clamp(450px,54vw,650px);object-fit:cover;object-position:center 40%}.elevation figcaption{position:absolute;inset:auto 0 0;background:#151d16e6;color:var(--cream);padding:12px 16px;font-size:.61rem;letter-spacing:.16em}.residence-copy>p{margin:20px 0 27px}.residence-copy>.eyebrow{margin:0 0 16px}.unit{display:grid;grid-template-columns:1fr 1.1fr auto;align-items:center;gap:12px;border-top:1px solid #b9ab90;padding:16px 0}.unit:last-child{border-bottom:1px solid #b9ab90}.unit strong{font:400 clamp(27px,3.2vw,43px)/1 var(--serif)}.unit span{font-size:.88rem}.unit a{width:44px;height:44px;display:grid;place-items:center;border:1px solid #b9ab90;transition:background .2s}.unit a:hover{background:var(--gold)}
.amenities,.location{background:var(--dark2);color:var(--cream)}.amenities .eyebrow span,.location .eyebrow span,.enquiry .eyebrow span,.amenities h2 em,.location h2 em,.enquiry h2 em{color:var(--gold)}.amenities .section-head>p,.location .location-grid p,.enquiry .enquiry-grid>div:first-child>p{color:#d4cebc}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #8b785552}.amenity-grid article{padding:30px 25px;border-right:1px solid #8b785552}.amenity-grid article:last-child{border-right:0}.amenity-grid article>span{font-size:.68rem;color:var(--gold);letter-spacing:.2em}.amenity-grid h3,.form-card h3{font-size:clamp(29px,4vw,48px);margin:12px 0 16px}.amenity-grid ul{padding-left:1rem;margin:0;color:#e2dbcb}.amenity-grid li{padding:3px 0;font-size:.94rem}.amenity-grid li::marker{color:var(--gold)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery-tile{position:relative;display:block;overflow:hidden;min-height:310px;background:var(--dark2);color:var(--cream)}.gallery-tile.wide{grid-column:span 2}.gallery-tile img{height:100%;width:100%;max-height:460px;object-fit:cover;transition:transform .55s}.gallery-tile:hover img{transform:scale(1.045)}.gallery-tile.poster img{max-height:none;height:auto;aspect-ratio:4/5;object-fit:contain}.gallery-tile span{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:5px;padding:28px 15px 12px;background:linear-gradient(transparent,#101710e8);font-size:.8rem}.gallery-tile.poster span{position:static;background:#171e16;padding:10px 14px}.gallery-tile b{color:var(--gold)}
.location-grid,.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,120px);align-items:center}.location-grid p:not(.eyebrow){margin:22px 0}.location-grid .eyebrow,.enquiry-grid .eyebrow{margin-bottom:16px}.places{padding:0;margin:0;list-style:none;border-top:1px solid #8b785570}.places li{display:flex;gap:18px;align-items:center;min-height:60px;border-bottom:1px solid #8b785570;padding:7px 0}.places li span,.places li small{color:var(--gold);font-size:.65rem;letter-spacing:.12em}.places strong{font:400 clamp(23px,3vw,35px) var(--serif)}.places small{margin-left:auto}
.enquiry{background:var(--dark);color:var(--cream)}.enquiry-grid>div:first-child>p:not(.eyebrow){margin:20px 0}.price{margin-top:27px;border-top:1px solid #8b785570;padding-top:18px}.price>span{display:block;font-size:.66rem;letter-spacing:.16em;color:var(--gold)}.price strong{font:400 clamp(47px,6vw,79px)/1.1 var(--serif);color:var(--gold);letter-spacing:-.06em}.price p{margin-top:6px;color:#d4cebc}.contact-list{display:flex;flex-wrap:wrap;gap:8px 21px;margin-top:23px}.contact-list a{border-bottom:1px solid var(--gold);color:var(--cream);padding-bottom:4px;font-size:.87rem}.contact-list span{color:var(--gold)}.form-card{color:var(--ink);background:var(--cream);padding:clamp(24px,4vw,50px)}.form-card .eyebrow{color:var(--bronze);margin-bottom:0}.form-card h3{margin-bottom:9px}.form-card form{display:grid;gap:7px;margin-top:22px}.form-card label{font-size:.78rem;font-weight:700;margin-top:7px}.form-card input,.form-card select{width:100%;min-width:0;min-height:44px;padding:8px 11px;background:#fffaf0;border:1px solid #c8baa1;border-radius:0;color:var(--ink)}.form-card button{margin-top:10px}.form-card .fine{font-size:.76rem;margin-top:4px}.footer{background:#101610;color:#d4cebc;border-top:1px solid #8b78554d;padding:29px 0 40px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:18px}.footer-top>a:last-child{font-size:.81rem}.footer p{max-width:780px;font-size:.75rem;margin:22px 0 0}.mobile-actions{display:none}
dialog{width:min(100% - 24px,1050px);max-height:95dvh;border:0;padding:0;background:#111810;color:var(--cream)}dialog::backdrop{background:#080b08e8}.lightbox-shell{position:relative;display:grid;justify-items:center}.lightbox-shell img{width:100%;height:min(78dvh,780px);object-fit:contain}.lightbox-shell button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #e5d2a88a;color:var(--cream);background:#141a14e6;font-size:1.15rem}.lightbox-close{position:absolute;top:8px;right:8px;z-index:1}.lightbox-controls{display:grid;grid-template-columns:auto 1fr auto;gap:11px;width:100%;padding:8px;align-items:center;text-align:center}.lightbox-controls p{margin:0;font-size:.78rem}
.reveal{transition:opacity .75s ease,transform .75s ease}.reveal.waiting{opacity:0;transform:translateY(22px)}.reveal.waiting:focus-within{opacity:1;transform:none}@keyframes arrive{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes hero-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:970px){.wrap{width:calc(100% - 64px)}.header{gap:16px}.header nav{gap:14px}.header-cta{padding-inline:12px}.header .brand small{display:none}.section-head{grid-template-columns:1.25fr .8fr}.gallery-tile{min-height:240px}}
@media(max-width:760px){html{scroll-padding-top:64px}.wrap{width:calc(100% - 36px)}.header{height:62px;padding-inline:18px}.header .brand small{display:block}.header-cta{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--cream);background:transparent;border:1px solid #e7ddc76d;padding:5px 10px;min-height:40px;font-size:.83rem}.header nav{display:none;position:absolute;top:61px;inset-inline:0;background:#131a15;padding:10px 18px 16px;border-bottom:1px solid #c6a66d3d}.header nav.open{display:grid;gap:0}.header nav a{padding:11px 6px}.hero{min-height:675px;min-height:clamp(590px,calc(100svh - 62px),760px);align-items:end}.hero-image{object-position:58% 33%}.hero-shade{background:linear-gradient(0deg,#111911 1%,#111911c9 34%,#11191115 79%),linear-gradient(90deg,#1119113a,transparent)}.hero-content{padding-block:40px 79px}.hero h1{font-size:clamp(50px,11.7vw,84px)}.status{margin-bottom:15px}.hero-copy{margin:15px 0 19px}.hero-bottom{font-size:.54rem;letter-spacing:.1em}.hero-actions{gap:8px}.hero-actions .button{padding-inline:10px;gap:7px}.section-head,.residence-grid,.location-grid,.enquiry-grid{grid-template-columns:1fr;gap:24px}.section-head{margin-bottom:26px}.section{padding-block:65px}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(3){border-left:0;padding-left:0}.stats div:nth-child(n+3){border-top:1px solid var(--line)}.stats div{padding-block:15px}.elevation{order:2}.elevation img{height:clamp(390px,115vw,550px)}.amenity-grid{grid-template-columns:1fr}.amenity-grid article{border-right:0;border-bottom:1px solid #8b785552;padding:21px}.amenity-grid article:last-child{border-bottom:0}.gallery{grid-template-columns:repeat(2,1fr);gap:10px}.gallery-tile{min-height:0}.gallery-tile.wide{grid-column:span 1}.gallery-tile:not(.poster) img{height:210px}.gallery-tile span{font-size:.72rem;padding-inline:10px}.footer{padding-bottom:84px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;padding-bottom:env(safe-area-inset-bottom);background:#151d16;color:var(--cream);z-index:4;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #a58b61}.mobile-actions a{padding:12px 5px;text-align:center;font-size:.81rem;font-weight:700}.mobile-actions a:last-child{background:var(--gold);color:#151d16}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal.waiting{opacity:1;transform:none}}

.whatsapp-launcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 6;
  color: var(--ink);
}
#whatsapp-toggle {
  display: grid;
  place-items: center;
  min-height: 48px;
  padding: 8px 18px;
  border-radius: 30px;
  background: #116344;
  color: white;
  font-weight: 700;
  box-shadow: 0 4px 18px #0005;
}
#whatsapp-panel {
  position: absolute;
  right: 0;
  bottom: 60px;
  width: min(330px, calc(100vw - 36px));
  padding: 24px;
  background: var(--cream);
  border: 1px solid var(--line);
  box-shadow: 0 8px 30px #0005;
}
#whatsapp-panel h2 { font-size: 27px; padding-right: 18px; }
#whatsapp-panel p { font-size: .9rem; margin: 12px 0; }
#whatsapp-close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 24px;
}
.popup-call { display: block; margin-top: 10px; font-size: .9rem; text-decoration: underline; }
.form-card .form-error { color: #942925; margin-top: 12px; }
@media (max-width: 760px) {
  .whatsapp-launcher { bottom: calc(62px + env(safe-area-inset-bottom)); right: 14px; }
}

.reference-section { background: var(--paper); }
.reference-section h3 { font-size: clamp(25px, 3vw, 38px); margin: 0 0 16px; }
.reference-section .brochure-renders { margin-bottom: 42px; }
.reference-section .gallery-tile { min-height: 0; }
.reference-section .gallery-tile img { height: auto; }
.reference-section .gallery-tile span { position: static; padding: 10px 14px; background: var(--dark); }
.reference-section .brochure-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.reference-section p + .gallery { margin-top: 20px; }
@media (max-width: 600px) {
  .reference-section .gallery { grid-template-columns: 1fr; }
}

.location-map {
  margin-top: clamp(24px, 4vw, 48px);
  margin-bottom: 0;
}
.location-map iframe {
  display: block;
  width: 100%;
  height: clamp(280px, 46vw, 450px);
  border: 0;
}
.location-map figcaption {
  margin-top: 10px;
  font-size: .85rem;
  color: var(--cream);
}
