:root{--navy:#2d2661;--navy-d:#1d1842;--yellow:#ffe000;--ink:#1c1b2e;--mute:#5d5b75;--bg:#fff;--soft:#f5f4f9;--line:#e3e1ee;--max:1180px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'Barlow',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.02em;line-height:1.05;color:var(--navy)}
h1{font-size:clamp(2.8rem,7vw,5.2rem);font-weight:600}
h2{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:600}
h3{font-size:1.5rem;font-weight:600}
.script{font-family:'Caveat',cursive;text-transform:none;letter-spacing:0;font-weight:500}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
section{padding:88px 0}
.rule{display:block;width:72px;height:5px;background:var(--yellow);margin:14px 0 26px}
.eyebrow{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:var(--mute);font-size:.95rem}
.btn{display:inline-block;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:1.05rem;padding:13px 28px;text-decoration:none;background:var(--yellow);color:var(--navy);border:2px solid var(--yellow);transition:.2s;cursor:pointer}
.btn:hover{background:var(--navy);color:var(--yellow);border-color:var(--navy)}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}
.btn.ghost:hover{background:#fff;color:var(--navy)}
.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.dark:hover{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}
/* header */
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
header img{height:38px;width:auto}
nav{display:flex;gap:30px;align-items:center}
nav a{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:600;text-decoration:none;color:var(--navy);padding:4px 0;border-bottom:3px solid transparent}
nav a:hover,nav a.active{border-bottom-color:var(--yellow)}
nav a.cta{background:var(--navy);color:#fff;padding:8px 18px;border:0}
nav a.cta:hover{background:var(--yellow);color:var(--navy)}
.burger{display:none;background:none;border:0;font-size:1.8rem;color:var(--navy);cursor:pointer}
/* hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;color:#fff;padding:0;background:var(--navy-d)}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,24,66,.25) 0%,rgba(29,24,66,.88) 100%)}
.hero .wrap{position:relative;z-index:1;padding-bottom:72px;padding-top:120px}
.hero h1{color:#fff;max-width:14ch}
.hero .script{font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--yellow);margin-bottom:6px}
.hero p.lead{max-width:52ch;font-size:1.2rem;margin:20px 0 32px;color:#ece9ff}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap}
.page-hero{background:var(--navy);color:#fff;padding:80px 0 64px;position:relative}
.page-hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4rem)}
.page-hero p{max-width:60ch;color:#d8d4f5;margin-top:10px;font-size:1.15rem}
.page-hero::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:6px;background:var(--yellow)}
/* stats */
.stats{background:var(--navy);color:#fff;padding:0}
.stats .wrap{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}
.stat{padding:40px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}
.stat:last-child{border:0}
.stat b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:3.2rem;color:var(--yellow);font-weight:600;line-height:1}
.stat span{font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;color:#cfcbef}
/* about */
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.about p{margin-bottom:16px;color:#33324a}
.about .quote{margin-top:24px;padding-left:20px;border-left:5px solid var(--yellow);font-size:1.7rem;color:var(--navy);line-height:1.2}
.about .imgs{position:relative}
.about .imgs img{width:100%;aspect-ratio:4/5;object-fit:cover}
.about .imgs::before{content:"";position:absolute;right:-16px;bottom:-16px;width:60%;height:60%;background:var(--yellow);z-index:-1}
.about .imgs{z-index:0}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}
.pillar{padding:28px;background:var(--soft);border-top:5px solid var(--navy)}
.pillar h3{margin-bottom:8px}
.pillar p{color:var(--mute);font-size:1rem}
/* cards */
.soft{background:var(--soft)}
.head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.card .ph{position:relative;aspect-ratio:3/2;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .ph img{transform:scale(1.04)}
.tag{position:absolute;top:16px;left:16px;background:var(--yellow);color:var(--navy);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:700;padding:5px 14px;font-size:.95rem}
.tag.sold{background:var(--navy);color:#fff}
.card .body{padding:28px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .loc{color:var(--mute);font-size:.95rem}
.card p{color:#3d3c55}
.card .btn{margin-top:auto;align-self:flex-start}
/* land band */
.land{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.land h2{color:#fff}
.land .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.land ul{list-style:none;padding:0}
.land li{padding:14px 0 14px 34px;border-bottom:1px solid rgba(255,255,255,.14);position:relative;color:#e9e6ff}
.land li::before{content:"";position:absolute;left:0;top:22px;width:14px;height:14px;background:var(--yellow)}
.land p{color:#d8d4f5;margin-bottom:24px}
/* care */
.care{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.steps{display:grid;gap:18px}
.step{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.step b{font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;background:var(--yellow);color:var(--navy);min-width:88px;text-align:center;padding:6px 10px;text-transform:uppercase;letter-spacing:.05em}
.step p{color:#3d3c55}
.badges{display:flex;gap:28px;align-items:center;margin-top:36px;flex-wrap:wrap;color:var(--mute);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.badges span{border:2px solid var(--line);padding:8px 16px}
/* contact */
.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.contact{padding:32px;border:1px solid var(--line);border-top:5px solid var(--yellow);background:#fff}
.contact h3{margin-bottom:10px}
.contact a{display:block;text-decoration:none;color:var(--navy);font-weight:600;margin-top:4px}
.contact a:hover{text-decoration:underline}
.contact p{color:var(--mute);font-size:.98rem}
/* developments page */
.subnav{position:sticky;top:72px;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:28px;overflow-x:auto}
.subnav a{padding:14px 0;text-decoration:none;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--navy);white-space:nowrap;border-bottom:3px solid transparent}
.subnav a:hover{border-bottom-color:var(--yellow)}
.feature{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:1px solid var(--line);margin-bottom:32px;background:#fff}
.feature:nth-child(even){grid-template-columns:1fr 1.2fr}
.feature:nth-child(even) .ph{order:2}
.feature .ph{position:relative;min-height:340px}
.feature .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature .txt{padding:40px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.feature ul{padding-left:0;list-style:none;color:#3d3c55}
.feature li{padding:3px 0 3px 22px;position:relative}
.feature li::before{content:"";position:absolute;left:0;top:14px;width:9px;height:9px;background:var(--yellow)}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mini div{background:#fff;padding:26px;border-left:5px solid var(--navy)}
.mini h3{font-size:1.35rem}
.mini p{color:var(--mute);font-size:.98rem}
.mini .n{display:block;color:var(--navy);font-weight:600;margin-top:6px}
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line)}
.table th{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.1em;background:var(--navy);color:#fff;font-weight:600}
.table td:first-child{font-weight:600;color:var(--navy)}
/* land page */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards3 .pillar{border-top-color:var(--yellow);background:#fff;border:1px solid var(--line);border-top:5px solid var(--yellow)}
.person{display:flex;gap:20px;align-items:center;margin:24px 0}
.avatar{width:72px;height:72px;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-family:'Barlow Condensed';font-size:2rem;font-weight:700}
form{display:grid;gap:14px}
label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--navy);font-size:.95rem}
input,textarea{width:100%;padding:13px 14px;border:1px solid #c9c6dd;font:inherit;background:#fff}
input:focus,textarea:focus{outline:3px solid var(--yellow);border-color:var(--navy)}
/* footer */
footer{background:var(--navy-d);color:#c9c5ea;padding:56px 0 28px;border-top:6px solid var(--yellow);font-size:.95rem}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
footer img{height:40px;filter:brightness(0) invert(1);margin-bottom:14px}
footer h4{font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.12em;color:var(--yellow);margin-bottom:10px;font-size:1.1rem}
footer a{display:block;text-decoration:none;padding:3px 0}
footer a:hover{color:#fff}
footer .bot{padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.85rem;color:#9994c8}
.reveal{opacity:0;transform:translateY(22px);transition:.7s}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
@media(max-width:900px){
 section{padding:60px 0}
 .burger{display:block}
 nav{position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px;gap:16px;border-bottom:1px solid var(--line);display:none}
 nav.open{display:flex}
 .stats .wrap{grid-auto-flow:row;grid-template-columns:1fr 1fr}
 .stat{padding:26px 12px}
 .stat b{font-size:2.5rem;white-space:nowrap}
 .stat span{font-size:.8rem;letter-spacing:.08em;line-height:1.3;display:block;margin-top:4px}
 .stat:nth-child(2){border-right:0}
 .stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
 .about,.land .grid,.care,.split,.feature,.feature:nth-child(even),.cards,.pillars,.contacts,.mini,.cards3,footer .top{grid-template-columns:1fr}
 .feature:nth-child(even) .ph{order:0}
 .feature .ph{min-height:240px}
 .about .imgs{margin-right:16px}
 .table{font-size:.92rem}.table th,.table td{padding:12px 8px}
}
/* future development pages */
.ph-empty{background:repeating-linear-gradient(135deg,var(--navy) 0 22px,#352e75 22px 44px);display:grid;place-items:center;color:var(--yellow);text-align:center;padding:20px}
.ph-empty span{font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.dev-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:0}
.dev-hero .ph-empty,.dev-hero img{min-height:420px;width:100%;height:100%;object-fit:cover}
.dev-hero .txt{background:var(--navy);color:#fff;padding:56px 40px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.dev-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,3.8rem)}
.dev-hero .txt p{color:#d8d4f5;font-size:1.1rem}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0}
.facts div{border-left:5px solid var(--yellow);padding:6px 0 6px 18px}
.facts b{display:block;font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.1em;color:var(--mute);font-weight:600;font-size:.9rem}
.facts span{font-size:1.25rem;color:var(--navy);font-weight:600}
.others{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.others a{padding:8px 16px;border:2px solid var(--line);text-decoration:none;font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--navy)}
.others a:hover{border-color:var(--yellow);background:var(--yellow)}
a.mini-link{text-decoration:none;display:block}
a.mini-link:hover h3{text-decoration:underline}
@media(max-width:900px){.dev-hero,.facts{grid-template-columns:1fr}.dev-hero .ph-empty,.dev-hero img{min-height:240px}}
/* cms content */
.prose p{margin-bottom:14px;color:#33324a}.prose h3{margin:22px 0 8px}.prose ul{padding-left:0;list-style:none;margin-bottom:14px}.prose li{padding:3px 0 3px 22px;position:relative}.prose li::before{content:"";position:absolute;left:0;top:14px;width:9px;height:9px;background:var(--yellow)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.gallery a{display:block;aspect-ratio:3/2;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery a:hover img{transform:scale(1.05)}
.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px}.videos figure{margin:0}.videos iframe,.videos video{width:100%;aspect-ratio:16/9;border:0;background:#000;display:block}.videos figcaption{padding:10px 0;color:var(--mute)}
.lb{position:fixed;inset:0;background:rgba(20,16,50,.92);display:grid;place-items:center;z-index:100;cursor:zoom-out}.lb img{max-width:92vw;max-height:90vh}
.table td a{color:var(--navy)}
.dev-hero>img{min-height:420px;width:100%;height:100%;object-fit:cover}
#team{padding:56px 0}
#team h2{font-size:clamp(1.6rem,3vw,2.2rem)}
#team .rule{margin:10px 0 24px}
.team{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.member{margin:0;text-align:center}
.member img{width:100%;max-width:120px;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:0 auto;display:block;border:3px solid var(--yellow);background:#e9e7f4}
.member figcaption{padding-top:12px}
.member h3{font-size:1.05rem;line-height:1.15}
.member span{display:block;color:var(--mute);font-size:.85rem;line-height:1.3;margin-top:2px}
.member p{display:none}
@media(max-width:900px){.team{grid-template-columns:repeat(3,1fr)}#team{padding:44px 0}}
@media(max-width:480px){.team{grid-template-columns:repeat(2,1fr)}}
.housetypes{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.house{background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);display:flex;flex-direction:column}
.house img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.hph{position:relative}
.house.is-sold .hph img{filter:grayscale(1);opacity:.55}
.house.is-sold .btn.dark{background:#8a889c;border-color:#8a889c}
.house .tag.sold{top:14px;left:14px;font-size:1rem;letter-spacing:.14em}
.hb{padding:20px;display:flex;flex-direction:column;gap:4px}
.hb .plot{font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--mute);font-size:.9rem}
.hb strong{color:var(--navy)}.hb p{color:#3d3c55;font-size:.96rem;margin-top:6px}
.side{align-self:start;display:grid;gap:28px}
.siteplan{display:block;text-decoration:none}.siteplan img{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect}
.siteplan .hint{display:block;color:var(--mute);font-size:.85rem;margin-top:6px;text-align:center}
.btn.small{padding:9px 18px;font-size:.95rem;align-self:flex-start;margin-top:12px}
.hb{flex:1}.hb .btn{margin-top:auto}
.lb img{background:#fff}
/* home film */
.film{background:var(--navy);color:#fff}
.film h2{color:#fff}.film .eyebrow{color:var(--yellow)}
.film-head{max-width:640px;margin-bottom:36px}.film-head p:last-child{color:#d8d4f5;font-size:1.1rem}
.film-frame{position:relative;aspect-ratio:16/9;background:#000;box-shadow:0 0 0 6px var(--yellow)}
.film-frame iframe,.film-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.film-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--yellow);background:repeating-linear-gradient(135deg,#231d4f 0 22px,#2a2360 22px 44px)}
.film-empty span{font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.16em;font-weight:600;font-size:1.2rem}
@media(max-width:900px){.film-frame{box-shadow:0 0 0 4px var(--yellow);margin:0 4px}}
.legal{max-width:760px}.legal h2{font-size:1.8rem;margin:36px 0 10px}.legal p{margin-bottom:12px;color:#33324a}.legal ul{padding-left:20px;margin:0 0 14px;color:#33324a}.legal li{margin:4px 0}.legal a{color:var(--navy)}
.timeline{display:grid;gap:12px;margin:8px 0 8px}.timeline div{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}.timeline b{font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.06em;background:var(--yellow);color:var(--navy);padding:4px 10px;text-align:center}
@media(max-width:600px){.timeline div{grid-template-columns:1fr;gap:6px}.timeline b{justify-self:start}}
.legal ol{padding-left:22px;margin:0 0 16px;color:#33324a}.legal ol li{margin:0 0 12px;padding-left:4px}
