@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--bg:#100d14;--surface:#1b1421;--ink:#f8f3f8;--muted:#c5bacb;--purple:#b78bdd;--gold:#d7bd8a;--line:#ffffff24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a,button{touch-action:manipulation}a:hover{color:var(--purple)}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:20;background:black;padding:12px}.announcement{text-align:center;background:#372040;color:#eee0f6;padding:7px 20px;font-size:12px;letter-spacing:2px;text-transform:uppercase}header{background:#100d14f5;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav-wrap{max-width:1440px;margin:auto;padding:13px 4%;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}.brand img{width:65px;height:60px;object-fit:contain}.brand span{font:19px 'Playfair Display',Georgia,serif;letter-spacing:2px}.brand small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:4px;margin-top:7px}nav{display:flex;gap:21px;align-items:center;margin-left:auto}nav a{text-decoration:none;font-size:14px;white-space:nowrap}nav a[aria-current=page]{color:var(--purple)}.button{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;padding:14px 23px;background:var(--purple);color:#160c20;font-size:14px;font-weight:600;border:1px solid var(--purple);line-height:1.4}.button:hover{background:#cca5ed;color:#160c20}.button.outline{background:transparent;color:var(--ink);border-color:#ffffff70}.button.outline:hover{border-color:var(--purple);color:var(--purple)}.menu-button{display:none;background:none;color:white;border:1px solid var(--line);padding:10px;font:inherit}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;max-width:1600px;margin:auto}.hero-copy{padding:90px 8% 80px 12%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:2.8px;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 24px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(48px,5.6vw,84px);letter-spacing:-2px}h1 em,h2 em{font-weight:400;color:var(--purple)}h2{font-size:clamp(35px,4vw,55px);letter-spacing:-1px}h3{font-size:29px}p{color:var(--muted);margin:22px 0;max-width:65ch}.hero-copy>p:not(.eyebrow){max-width:440px;font-size:17px}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:15px}.hero-photo{position:relative;min-height:550px;margin:0}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:60% center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#100d1430,transparent 30%)}figcaption{font-size:12px;color:var(--muted)}.hero-photo figcaption{position:absolute;bottom:15px;left:20px;background:#100d14cf;padding:5px 12px;z-index:1}.ribbon{display:flex;justify-content:center;gap:70px;padding:25px 5%;border-block:1px solid var(--line);color:#dbcfdf;font-size:12px;letter-spacing:2px;text-transform:uppercase}.section{padding:100px 6%;max-width:1440px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-head p{max-width:400px;margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.card{padding:30px 0;border-top:1px solid var(--line)}.card .number{font-size:13px;color:var(--gold);display:block;margin-bottom:28px}.card p{font-size:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.photo{margin:0}.photo img{width:100%;display:block;max-height:590px;object-fit:cover}.photo figcaption{margin-top:8px}.panel{background:var(--surface)}.statement{text-align:center;padding:90px 8%;background:#2c1937}.statement h2{max-width:800px;margin:auto}.statement p{margin:25px auto}.statement .actions{justify-content:center}.page-hero{padding:80px 6% 55px;max-width:1440px;margin:auto}.page-hero h1{max-width:1000px}.page-hero>p:not(.eyebrow){font-size:19px;max-width:750px}.note{padding:22px 28px;border-left:2px solid var(--gold);background:var(--surface);color:var(--muted);margin:28px 0}.two{grid-template-columns:1fr 1fr}.event-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}.event{border-top:1px solid var(--line);padding:28px 0;display:flex;gap:25px}.event span{color:var(--gold);font-size:13px}.event h3{font-size:26px}.event p{margin:10px 0}.faq{max-width:950px}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:25px}summary:after{content:'+';color:var(--purple);font-size:25px}details[open] summary:after{content:'−'}details p{margin-bottom:0}.text-link{font-size:14px;color:var(--ink)}footer{padding:60px 6% 25px;border-top:1px solid var(--line)}.footer-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid p{font-size:14px;max-width:360px}.footer-links{display:flex;flex-direction:column;gap:7px}.footer-links a{font-size:14px;text-decoration:none}.footer-title{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin-bottom:15px}.legal{max-width:1280px;margin:40px auto 0;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.resident{border:1px solid var(--line);padding:35px;background:var(--surface)}.resident h3{font-size:42px}.resident small{color:var(--gold);text-transform:uppercase;letter-spacing:2px}.socials{display:flex;flex-wrap:wrap;gap:25px;margin-top:28px}.compact{padding-top:30px}.muted{color:var(--muted)}@media(min-width:1200px){nav .optional{display:none}}@media(max-width:1199px){.nav-wrap{justify-content:space-between;flex-wrap:wrap;gap:10px}.menu-button{display:block}nav{display:none;width:100%;margin:0;padding:20px 0;flex-wrap:wrap}nav.open{display:flex}.hero-copy{padding:60px 9%}.hero{min-height:570px}.ribbon{gap:30px}.split{gap:40px}}@media(max-width:700px){.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7%}.hero-photo{min-height:440px}.hero-photo img{object-position:center 38%}h1{font-size:54px}.ribbon{gap:15px;flex-wrap:wrap;font-size:10px}.section{padding:65px 7%}.grid,.two,.split,.event-list,.footer-grid{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:25px}.split{gap:35px}.page-hero{padding:55px 7% 20px}.page-hero h1{font-size:47px}.footer-grid{gap:30px}.legal{flex-direction:column}.brand span{font-size:17px}.brand img{width:50px;height:50px}.announcement{font-size:10px}.statement{padding:65px 7%}.compact{padding-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.resident-photo { width: 25%; max-width: 180px; height: auto; display: block; margin: 12px 0; border-radius: 8px; }

.resident-photo{width:360px!important;max-width:360px!important;height:auto!important;display:block!important}

.resident{text-align:center}.resident-photo{margin:12px auto!important}

/* Architectural concept gallery */
.concept-figure{margin:0}.concept-figure img{display:block;width:100%;height:auto;border:1px solid var(--line)}.concept-figure figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:15px 0;color:var(--muted)}.concept-figure figcaption span{font-family:"Playfair Display",Georgia,serif;font-size:24px;color:var(--ink)}.concept-gallery{display:grid;gap:46px}.concept-preview .actions{margin-top:20px}@media(max-width:700px){.concept-figure figcaption{flex-direction:column;gap:3px}.concept-gallery{gap:30px}}

@media(min-width:1200px) and (max-width:1450px){.nav-wrap{gap:16px;padding-inline:3%}nav{gap:14px}nav a{font-size:13px}nav .button{padding:12px 14px}.brand span{font-size:17px}.brand img{width:50px}}
