@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
    --public-navy: #171613;
    --public-teal: #9b742d;
    --public-teal-bright: #d4ad5c;
    --public-sky: #c49a47;
    --public-mint: #f3ead8;
    --public-ice: #f8f5ef;
    --public-ink: #211f1a;
    --public-muted: #746e64;
    --public-line: #e4ded3;
    --public-white: #fff;
    --public-shadow: 0 22px 70px rgba(28, 24, 17, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--public-ink); background: var(--public-white); font-family: "DM Sans", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }

.site-header {
    position: absolute; z-index: 20; inset: 0 0 auto; height: 92px; padding: 0 clamp(24px, 5vw, 78px);
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px;
    color: #fff; border-bottom: 1px solid rgba(255,255,255,.16);
}
.public-brand { display: flex; align-items: center; gap: 12px; width: max-content; }
.public-brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.56); border-radius: 13px; font: 800 13px/1 "Manrope", sans-serif; letter-spacing: .05em; }
.public-brand strong,.public-brand small { display: block; }
.public-brand strong { font: 800 12px/1.1 "Manrope",sans-serif; letter-spacing: .14em; }
.public-brand small { margin-top: 5px; color: rgba(255,255,255,.62); font-size: 8px; font-weight: 700; letter-spacing: .25em; }
.public-nav { display: flex; align-items: center; gap: clamp(22px, 2.5vw, 42px); }
.public-nav a { position: relative; padding: 37px 0 34px; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 600; }
.public-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:25px; height:2px; border-radius:2px; background:#d4ad5c; transition:.22s ease; }
.public-nav a:hover,.public-nav a.active { color:#fff; }
.public-nav a:hover::after,.public-nav a.active::after { right:0; }
.header-actions { justify-self: end; display:flex; align-items:center; gap:12px; }
.portal-link { min-height: 43px; padding: 0 17px; display:flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.28); border-radius:12px; background:rgba(255,255,255,.08); backdrop-filter:blur(10px); font-size:11px; font-weight:700; transition:.2s ease; }
.portal-link:hover { color:var(--public-navy); background:#fff; }
.nav-toggle { display:none; width:43px; height:43px; border:1px solid rgba(255,255,255,.28); border-radius:12px; place-items:center; background:rgba(255,255,255,.08); }
.nav-toggle i { font-size:20px; }

.public-hero { position:relative; isolation:isolate; min-height: min(880px,100vh); padding: 160px clamp(24px, 8vw, 126px) 90px; display:flex; align-items:center; overflow:hidden; color:#fff; background-image:linear-gradient(90deg,rgba(17,15,12,.94) 0%,rgba(43,35,22,.68) 48%,rgba(80,58,20,.2) 100%),var(--hero-image); background-size:cover; background-position:center; }
.public-hero::before { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(180deg,rgba(3,27,36,.22),transparent 35%,rgba(4,35,40,.18)); }
.hero-atmosphere { position:absolute; z-index:1; width:560px; height:560px; right:-130px; bottom:-210px; border-radius:50%; border:1px solid rgba(212,173,92,.22); box-shadow:0 0 0 70px rgba(183,138,52,.05),0 0 0 140px rgba(183,138,52,.03); }
.home-hero-building { position:absolute; z-index:1; right:clamp(65px,7vw,115px); bottom:-72px; width:clamp(300px,30vw,470px); pointer-events:none; filter:drop-shadow(0 30px 45px rgba(0,0,0,.52)); }
.home-hero-building::before { content:""; position:absolute; inset:14% -10% 3%; border-radius:50%; background:radial-gradient(ellipse,rgba(212,173,92,.18),transparent 67%); filter:blur(8px); }
.home-hero-building img { position:relative; display:block; width:100%; height:auto; }
.hero-content { position:relative; z-index:2; max-width:720px; }
.public-kicker { margin:0 0 22px; display:flex; align-items:center; gap:10px; color:#e3c374; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.public-kicker span { width:34px; height:1px; background:currentColor; }
.public-hero h1 { margin:0; font:700 clamp(54px,7vw,104px)/.95 "Manrope",sans-serif; letter-spacing:-.068em; }
.public-hero h1 em { color:#e3c374; font-style:normal; font-weight:600; }
.hero-copy { max-width:565px; margin:30px 0 35px; color:rgba(255,255,255,.72); font-size:clamp(15px,1.25vw,18px); line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.public-button { min-height:54px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:14px; font-size:12px; font-weight:800; transition:.2s ease; }
.public-button.primary { color:#211706; background:#d4ad5c; box-shadow:0 14px 35px rgba(93,65,16,.26); }
.public-button.primary:hover { transform:translateY(-2px); background:#e3c57f; }
.public-button.glass { border:1px solid rgba(255,255,255,.2); color:#fff; background:rgba(255,255,255,.07); backdrop-filter:blur(10px); }
.public-button.glass:hover { background:rgba(255,255,255,.14); }
.hero-availability { position:absolute; z-index:3; right:clamp(24px,5vw,78px); bottom:45px; min-width:310px; padding:16px; display:grid; grid-template-columns:44px 1fr 38px; align-items:center; gap:13px; border:1px solid rgba(255,255,255,.2); border-radius:17px; background:rgba(24,21,16,.72); backdrop-filter:blur(18px); box-shadow:0 20px 55px rgba(9,7,4,.25); }
.availability-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:#e3c374; background:rgba(212,173,92,.13); }
.availability-icon i { font-size:21px; }
.hero-availability small,.hero-availability strong { display:block; }
.hero-availability small { color:rgba(255,255,255,.55); font-size:9px; }
.hero-availability strong { margin-top:4px; font-size:12px; }
.hero-availability > a { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#211706; background:#d4ad5c; }
.hero-scroll { position:absolute; z-index:2; left:clamp(24px,5vw,78px); bottom:45px; display:flex; align-items:center; gap:10px; transform:rotate(-90deg) translateX(100%); transform-origin:left bottom; color:rgba(255,255,255,.55); font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.hero-scroll i { width:48px; height:1px; background:rgba(255,255,255,.35); }

.portfolio-intro { padding:clamp(80px,9vw,130px) clamp(24px,7vw,110px); background:var(--public-ice); }
.section-heading-public { max-width:1400px; margin:0 auto 46px; display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:60px; }
.public-kicker.dark { margin-bottom:18px; color:var(--public-teal); }
.section-heading-public h2 { margin:0; font:700 clamp(37px,4.5vw,65px)/1.02 "Manrope",sans-serif; letter-spacing:-.055em; }
.section-heading-public > p { margin:0 0 4px; color:var(--public-muted); font-size:15px; line-height:1.8; }
.public-property-grid { max-width:1400px; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.public-property-card { min-width:0; }
.public-property-image { position:relative; height:clamp(300px,34vw,510px); overflow:hidden; border-radius:24px; background-size:cover; background-position:center; box-shadow:var(--public-shadow); }
.public-property-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,47,58,.05),rgba(7,47,58,.45)); }
.public-property-image > span { position:absolute; z-index:2; top:20px; left:20px; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:13px; color:#fff; background:rgba(9,53,61,.25); backdrop-filter:blur(9px); font-size:10px; font-weight:700; }
.public-property-image > a { position:absolute; z-index:2; right:20px; bottom:20px; width:49px; height:49px; display:grid; place-items:center; border-radius:15px; color:var(--public-navy); background:#fff; transition:.2s ease; }
.public-property-card:hover .public-property-image > a { color:#fff; background:var(--public-teal); transform:translateY(-3px); }
.public-property-copy { padding:20px 4px; display:flex; align-items:end; justify-content:space-between; gap:14px; }
.public-property-copy small { color:var(--public-teal); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.public-property-copy h3 { margin:5px 0 0; font:700 25px/1.1 "Manrope",sans-serif; letter-spacing:-.035em; }
.public-property-copy > span { color:var(--public-muted); font-size:11px; white-space:nowrap; }

@media (max-width: 1050px) {
    .site-header { grid-template-columns:1fr auto; }
    .public-nav { position:absolute; top:80px; left:22px; right:22px; padding:18px; display:none; flex-direction:column; align-items:stretch; gap:2px; border-radius:18px; color:var(--public-ink); background:#fff; box-shadow:var(--public-shadow); }
    .public-nav.open { display:flex; }
    .public-nav a { padding:12px 10px; color:var(--public-muted); }
    .public-nav a::after { display:none; }
    .public-nav a:hover,.public-nav a.active { color:var(--public-teal); }
    .nav-toggle { display:grid; }
    .home-hero-building { right:clamp(30px,5vw,60px); width:clamp(245px,32vw,330px); opacity:.75; }
    .public-property-grid { grid-template-columns:1fr 1fr; }
    .public-property-card:last-child { grid-column:1/-1; max-width:calc(50% - 10px); }
}
@media (max-width: 720px) {
    .site-header { height:76px; padding:0 18px; }
    .public-brand-mark { width:38px; height:38px; border-radius:11px; }
    .public-brand strong { font-size:10px; }.public-brand small { font-size:7px; }
    .portal-link { width:43px; padding:0; justify-content:center; }.portal-link i { font-size:18px; }.portal-link { font-size:0; }
    .public-hero { min-height:780px; padding:125px 22px 145px; align-items:flex-start; }
    .public-hero h1 { font-size:53px; }
    .home-hero-building { right:-15px; bottom:94px; width:clamp(170px,55vw,230px); opacity:.58; }
    .hero-copy { margin:25px 0 30px; font-size:15px; }
    .hero-actions { display:grid; }.public-button { width:100%; }
    .hero-availability { left:22px; right:22px; bottom:26px; min-width:0; }
    .hero-scroll { display:none; }
    .section-heading-public { grid-template-columns:1fr; gap:24px; }
    .public-property-grid { grid-template-columns:1fr; }
    .public-property-card:last-child { grid-column:auto; max-width:none; }
    .public-property-image { height:430px; }
}

.site-header.scrolled { position:fixed; height:76px; color:var(--public-ink); border-bottom:1px solid var(--public-line); background:rgba(255,255,255,.94); box-shadow:0 8px 35px rgba(32,27,19,.09); backdrop-filter:blur(18px); animation:header-in .25s ease; }
.site-header.scrolled .public-brand-mark { color:#fff; border-color:var(--public-teal); background:var(--public-teal); }
.site-header.scrolled .public-brand small { color:var(--public-muted); }
.site-header.scrolled .public-nav a { padding-block:29px 26px; color:var(--public-muted); }
.site-header.scrolled .public-nav a:hover,.site-header.scrolled .public-nav a.active { color:var(--public-teal); }
.site-header.scrolled .public-nav a::after { bottom:18px; background:var(--public-teal); }
.site-header.scrolled .portal-link,.site-header.scrolled .nav-toggle { color:var(--public-teal); border-color:#dfd1b5; background:#faf5ea; }
@keyframes header-in { from { transform:translateY(-100%); } }

.public-stats { min-height:190px; padding:35px clamp(24px,7vw,110px); display:grid; grid-template-columns:repeat(4,1fr); align-items:center; color:#fff; background:linear-gradient(110deg,#171613,#5d461c); }
.public-stats > div { min-height:90px; padding:0 clamp(18px,3vw,48px); display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(255,255,255,.14); }
.public-stats > div:first-child { padding-left:0; }.public-stats > div:last-child { padding-right:0; border:0; }
.public-stats strong { color:#e3c374; font:700 clamp(34px,4vw,56px)/1 "Manrope",sans-serif; letter-spacing:-.05em; }
.public-stats span { margin-top:9px; color:rgba(255,255,255,.66); font-size:11px; line-height:1.45; }
.public-stats i { color:#e3c374; font-size:36px; }

.experience-section { padding:clamp(85px,10vw,150px) clamp(24px,7vw,110px); display:grid; grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr); gap:clamp(55px,8vw,125px); align-items:center; }
.experience-visual { position:relative; min-height:680px; border-radius:26px; background-size:cover; background-position:center; box-shadow:var(--public-shadow); }
.experience-visual::before { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(180deg,transparent 48%,rgba(20,17,12,.52)); }
.experience-badge { position:absolute; left:25px; right:25px; bottom:25px; padding:20px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid rgba(255,255,255,.2); border-radius:17px; color:#fff; background:rgba(26,22,15,.68); backdrop-filter:blur(16px); }
.experience-badge strong,.experience-badge span { display:block; }.experience-badge strong { font:700 14px/1.2 "Manrope",sans-serif; }.experience-badge span { color:rgba(255,255,255,.63); font-size:10px; }
.experience-copy h2,.about-heading h2,.resident-journey h2,.contact-copy h2,.property-story h2,.property-convenience h2,.detail-cta h2 { margin:0; font:700 clamp(39px,5vw,68px)/1.03 "Manrope",sans-serif; letter-spacing:-.058em; }
.experience-copy > p:not(.public-kicker) { margin:25px 0 36px; max-width:590px; color:var(--public-muted); font-size:15px; line-height:1.8; }
.experience-list { border-top:1px solid var(--public-line); }
.experience-list article { padding:22px 0; display:grid; grid-template-columns:42px 1fr; gap:18px; border-bottom:1px solid var(--public-line); }
.experience-list article > span { color:var(--public-teal); font:700 11px/1 "Manrope",sans-serif; }
.experience-list h3 { margin:0 0 6px; font:700 16px/1.2 "Manrope",sans-serif; }
.experience-list p { margin:0; color:var(--public-muted); font-size:12px; line-height:1.55; }
.public-text-link { margin-top:28px; display:inline-flex; align-items:center; gap:12px; color:var(--public-teal); font-size:12px; font-weight:800; }
.public-text-link i { width:35px; height:35px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--public-teal); transition:.2s ease; }
.public-text-link:hover i { transform:translateX(4px); }

.about-section { padding:clamp(85px,10vw,145px) clamp(24px,7vw,110px); color:#fff; background:radial-gradient(circle at 90% 10%,rgba(212,173,92,.18),transparent 28%),linear-gradient(120deg,#171613,#4a3818); }
.about-heading { max-width:1400px; margin:auto; }.about-heading .public-kicker { color:#e3c374; }
.about-grid { max-width:1400px; margin:65px auto 0; display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; }
.about-copy p { margin:0 0 22px; color:rgba(255,255,255,.68); font-size:15px; line-height:1.85; }
.about-values { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.12); }
.about-values article { min-height:190px; padding:30px; display:flex; flex-direction:column; align-items:flex-start; background:#342a18; }
.about-values i { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; color:#e3c374; background:rgba(212,173,92,.11); font-size:21px; }
.about-values strong { margin-top:25px; font:700 15px/1.2 "Manrope",sans-serif; }
.about-values span { margin-top:8px; color:rgba(255,255,255,.56); font-size:11px; line-height:1.55; }

.resident-journey { padding:clamp(85px,9vw,135px) clamp(24px,7vw,110px); background:#fff; }
.section-heading-public.compact { margin-bottom:56px; }
.journey-steps { max-width:1400px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--public-line); border-bottom:1px solid var(--public-line); }
.journey-steps article { position:relative; min-height:310px; padding:36px 40px; border-right:1px solid var(--public-line); }
.journey-steps article:last-child { border:0; }
.journey-steps article > span { position:absolute; top:28px; right:30px; color:#a7b9bb; font-size:10px; font-weight:700; }
.journey-steps i { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:var(--public-teal); background:var(--public-mint); font-size:27px; }
.journey-steps h3 { margin:58px 0 12px; font:700 24px/1.1 "Manrope",sans-serif; }
.journey-steps p { margin:0; color:var(--public-muted); font-size:12px; line-height:1.7; }

.public-contact { padding:clamp(75px,9vw,130px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(50px,8vw,120px); color:#fff; background:radial-gradient(circle at 10% 100%,rgba(183,138,52,.23),transparent 30%),#171613; }
.contact-copy > p:not(.public-kicker) { max-width:520px; margin:28px 0; color:rgba(255,255,255,.63); font-size:14px; line-height:1.8; }
.contact-details { margin-top:40px; display:grid; gap:15px; }
.contact-details span,.contact-details a { display:flex; align-items:center; gap:11px; color:rgba(255,255,255,.72); font-size:12px; }
.contact-details i { color:#e3c374; font-size:17px; }
.public-enquiry-form { padding:clamp(27px,4vw,48px); border:1px solid rgba(255,255,255,.12); border-radius:24px; background:rgba(255,255,255,.07); backdrop-filter:blur(14px); }
.form-heading span,.form-heading strong { display:block; }.form-heading span { color:#e3c374; font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.form-heading strong { margin-top:7px; font:700 23px/1.2 "Manrope",sans-serif; }
.public-form-grid { margin:28px 0 22px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.public-form-grid label { color:rgba(255,255,255,.68); font-size:10px; font-weight:600; }
.public-form-grid input,.public-form-grid select,.public-form-grid textarea { width:100%; margin-top:8px; padding:0 14px; border:1px solid rgba(255,255,255,.15); border-radius:11px; outline:0; color:#fff; background:rgba(255,255,255,.06); font:500 12px "DM Sans",sans-serif; }
.public-form-grid input,.public-form-grid select { height:48px; }.public-form-grid textarea { padding-block:13px; resize:vertical; }
.public-form-grid input::placeholder,.public-form-grid textarea::placeholder { color:rgba(255,255,255,.35); }.public-form-grid select option { color:var(--public-ink); }.full-field { grid-column:1/-1; }
.public-enquiry-form .public-button { border:0; cursor:pointer; }
.form-assurance { margin:16px 0 0; display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.42); font-size:9px; }
.enquiry-success { min-height:420px; display:grid; place-items:center; text-align:center; }.enquiry-success > div { max-width:430px; }.enquiry-success i { width:64px; height:64px; margin:auto; display:grid; place-items:center; border-radius:50%; color:#211706; background:#e3c374; font-size:28px; }.enquiry-success h3 { margin:24px 0 9px; font:700 27px/1.2 "Manrope",sans-serif; }.enquiry-success p { margin:0; color:rgba(255,255,255,.64); font-size:13px; line-height:1.65; }

.public-footer { padding:70px clamp(24px,7vw,110px) 24px; color:#d5cfc4; background:#0f0e0c; }
.footer-top { padding-bottom:45px; display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:45px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-brand { color:#fff; }.footer-top > p { margin:0; max-width:440px; color:#7f9ca0; font-size:12px; line-height:1.7; }
.footer-enquire { min-height:48px; padding:0 18px; display:flex; align-items:center; gap:15px; border-radius:12px; color:#211706; background:#e3c374; font-size:11px; font-weight:800; }
.footer-links { padding:50px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:45px; }
.footer-links > div { display:flex; flex-direction:column; gap:12px; }.footer-links strong { margin-bottom:7px; color:#fff; font:700 11px "Manrope",sans-serif; }.footer-links a,.footer-links span { color:#8e887e; font-size:10px; }.footer-links a:hover { color:#e3c374; }
.footer-bottom { padding-top:23px; display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.08); color:#58777d; font-size:9px; }

.property-detail-hero { position:relative; min-height:760px; padding:170px clamp(24px,7vw,110px) 70px; display:flex; align-items:flex-end; color:#fff; background-image:linear-gradient(90deg,rgba(17,15,12,.91),rgba(73,52,18,.27)),var(--detail-image); background-size:cover; background-position:center; }
.property-detail-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(4,31,39,.68)); }
.detail-hero-content { position:relative; z-index:2; max-width:800px; }.detail-hero-content > a { margin-bottom:45px; display:inline-flex; align-items:center; gap:9px; color:rgba(255,255,255,.7); font-size:10px; font-weight:700; }.detail-hero-content > a:hover { color:#fff; }.detail-hero-content h1 { margin:0; font:700 clamp(62px,9vw,128px)/.9 "Manrope",sans-serif; letter-spacing:-.075em; }.detail-hero-content > p:last-child { margin:24px 0 0; color:#e3c374; font-size:clamp(17px,2vw,24px); }
.detail-hero-stats { position:absolute; z-index:3; right:clamp(24px,7vw,110px); bottom:70px; width:min(490px,42vw); padding:20px; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(255,255,255,.2); border-radius:20px; background:rgba(24,21,16,.74); backdrop-filter:blur(16px); }
.detail-hero-stats > div { padding:6px 16px; border-right:1px solid rgba(255,255,255,.13); }.detail-hero-stats > div:nth-child(3) { border:0; }.detail-hero-stats strong,.detail-hero-stats span { display:block; }.detail-hero-stats strong { font:700 20px "Manrope",sans-serif; }.detail-hero-stats span { margin-top:4px; color:rgba(255,255,255,.55); font-size:8px; }.detail-hero-stats > a { grid-column:1/-1; min-height:47px; margin-top:18px; display:flex; align-items:center; justify-content:center; gap:12px; border-radius:12px; color:#211706; background:#e3c374; font-size:10px; font-weight:800; }
.property-story { padding:clamp(80px,9vw,130px) clamp(24px,7vw,110px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(45px,8vw,120px); align-items:start; }.property-story > div:last-child > p { margin:35px 0; color:var(--public-muted); font-size:15px; line-height:1.85; }.property-story ul { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; list-style:none; }.property-story li { min-height:50px; padding:0 14px; display:flex; align-items:center; gap:9px; border:1px solid var(--public-line); border-radius:11px; font-size:11px; font-weight:600; }.property-story li i { color:var(--public-teal); }
.property-gallery { padding:0 clamp(24px,7vw,110px) clamp(80px,9vw,130px); display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:290px 290px; gap:15px; }.gallery-image { position:relative; overflow:hidden; border:0; border-radius:20px; background-size:cover; background-position:center; cursor:pointer; }.gallery-image::before { content:""; position:absolute; inset:0; background:rgba(25,20,13,0); transition:.25s ease; }.gallery-image:hover::before { background:rgba(25,20,13,.26); }.gallery-1 { grid-row:1/-1; }.gallery-image span { position:absolute; right:18px; bottom:18px; width:43px; height:43px; display:grid; place-items:center; border-radius:12px; color:var(--public-navy); background:#fff; opacity:0; transform:translateY(8px); transition:.22s ease; }.gallery-image:hover span { opacity:1; transform:none; }
.property-convenience { padding:clamp(80px,9vw,130px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; background:var(--public-ice); }.property-convenience > div:first-child > p:not(.public-kicker) { margin:25px 0 0; color:var(--public-muted); font-size:14px; line-height:1.8; }.convenience-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.convenience-grid article { min-height:210px; padding:28px; border:1px solid var(--public-line); border-radius:18px; background:#fff; }.convenience-grid i { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:var(--public-teal); background:var(--public-mint); font-size:22px; }.convenience-grid strong,.convenience-grid span { display:block; }.convenience-grid strong { margin-top:37px; font:700 15px "Manrope",sans-serif; }.convenience-grid span { margin-top:8px; color:var(--public-muted); font-size:11px; line-height:1.55; }
.detail-cta { padding:clamp(80px,9vw,130px) clamp(24px,7vw,110px); display:grid; grid-template-columns:1fr .7fr; align-items:end; gap:90px; color:#fff; background:linear-gradient(120deg,#171613,#5d461c); }.detail-cta > div:last-child p { margin:0 0 25px; color:rgba(255,255,255,.65); font-size:14px; line-height:1.75; }
.public-lightbox { position:fixed; z-index:100; inset:0; padding:40px; display:none; place-items:center; background:rgba(10,8,5,.92); backdrop-filter:blur(12px); }.public-lightbox.open { display:grid; }.public-lightbox img { max-width:min(1100px,92vw); max-height:86vh; border-radius:18px; box-shadow:0 30px 90px rgba(0,0,0,.35); }.public-lightbox button { position:absolute; top:25px; right:25px; width:46px; height:46px; border:1px solid rgba(255,255,255,.2); border-radius:50%; display:grid; place-items:center; color:#fff; background:rgba(255,255,255,.08); cursor:pointer; }.public-lightbox button i { font-size:23px; }

@media (max-width: 1050px) {
    .site-header.scrolled .public-nav { top:68px; }.site-header.scrolled .public-nav a { padding:12px 10px; }
    .public-stats { grid-template-columns:1fr 1fr; padding-block:25px; }.public-stats > div { padding:24px; border-bottom:1px solid rgba(255,255,255,.13); }.public-stats > div:nth-child(2) { border-right:0; }.public-stats > div:nth-child(3),.public-stats > div:nth-child(4) { border-bottom:0; }
    .experience-section { grid-template-columns:1fr; }.experience-visual { min-height:620px; }.experience-copy { max-width:760px; }
    .about-grid { grid-template-columns:1fr; gap:40px; }.about-copy { max-width:720px; }
    .property-detail-hero { min-height:720px; }.detail-hero-stats { left:24px; right:24px; bottom:30px; width:auto; }.detail-hero-content { align-self:start; }
    .property-story,.property-convenience { grid-template-columns:1fr; gap:45px; }.property-gallery { grid-template-rows:240px 240px; }
}
@media (max-width: 720px) {
    .site-header.scrolled { height:68px; }.site-header.scrolled .public-nav { top:62px; }
    .public-stats { grid-template-columns:1fr 1fr; }.public-stats > div { min-height:110px; padding:18px 10px; }.public-stats strong { font-size:37px; }.public-stats span { font-size:9px; }
    .experience-visual { min-height:480px; }.experience-badge { display:block; }.experience-badge span { margin-top:6px; }
    .about-values { grid-template-columns:1fr; }.about-values article { min-height:165px; }
    .journey-steps { grid-template-columns:1fr; }.journey-steps article { min-height:240px; border-right:0; border-bottom:1px solid var(--public-line); }.journey-steps h3 { margin-top:35px; }
    .public-contact { grid-template-columns:1fr; }.public-form-grid { grid-template-columns:1fr; }.full-field { grid-column:auto; }
    .footer-top { grid-template-columns:1fr; }.footer-links { grid-template-columns:1fr 1fr; }.footer-bottom { flex-direction:column; }
    .property-detail-hero { min-height:760px; padding:125px 22px 210px; align-items:flex-start; }.detail-hero-content h1 { font-size:62px; }.detail-hero-stats { grid-template-columns:repeat(3,1fr); }.detail-hero-stats > div { padding:4px 8px; }.detail-hero-stats strong { font-size:16px; }
    .property-story { grid-template-columns:1fr; }.property-story ul { grid-template-columns:1fr; }.property-gallery { grid-template-columns:1fr; grid-template-rows:390px 240px 240px; }.gallery-1 { grid-row:auto; }.convenience-grid { grid-template-columns:1fr; }.detail-cta { grid-template-columns:1fr; gap:32px; }
    .public-lightbox { padding:20px; }
}

/* Phase 4 residence application */
.application-page { background:var(--public-ice); }
.application-intro { position:relative; isolation:isolate; overflow:hidden; min-height:520px; padding:155px clamp(24px,7vw,110px) 80px; display:grid; grid-template-columns:1fr 390px; align-items:end; gap:70px; color:#fff; background:radial-gradient(circle at 85% 20%,rgba(212,173,92,.2),transparent 27%),linear-gradient(120deg,#171613,#4d3a19); }
.application-intro-copy { position:relative; z-index:2; }
.application-intro h1 { margin:0; font:700 clamp(54px,7vw,96px)/.95 "Manrope",sans-serif; letter-spacing:-.068em; }
.application-intro h1 em { color:#e3c374; font-style:normal; }
.application-intro > div > p:last-child { max-width:650px; margin:28px 0 0; color:rgba(255,255,255,.66); font-size:15px; line-height:1.75; }
.application-building { position:absolute; z-index:1; right:clamp(350px,29vw,445px); bottom:-44px; width:clamp(220px,19vw,310px); pointer-events:none; filter:drop-shadow(0 25px 38px rgba(0,0,0,.4)); }
.application-building img { display:block; width:100%; height:auto; }
.application-intro aside { position:relative; z-index:3; padding:21px; display:grid; grid-template-columns:52px 1fr; gap:15px; align-items:center; border:1px solid rgba(255,255,255,.15); border-radius:18px; background:rgba(255,255,255,.07); backdrop-filter:blur(14px); }
.application-intro aside > span { width:52px; height:52px; display:grid; place-items:center; border-radius:15px; color:#211706; background:#e3c374; font-size:24px; }
.application-intro aside strong,.application-intro aside small { display:block; }
.application-intro aside strong { font:700 13px "Manrope",sans-serif; }
.application-intro aside small { margin-top:5px; color:rgba(255,255,255,.56); font-size:10px; line-height:1.55; }
.application-shell { max-width:1500px; margin:auto; padding:clamp(70px,8vw,120px) clamp(24px,7vw,110px); display:grid; grid-template-columns:minmax(270px,.55fr) minmax(600px,1.45fr); gap:clamp(45px,7vw,100px); align-items:start; }
.application-steps { position:sticky; top:110px; }
.application-steps h2 { margin:0; font:700 clamp(35px,4vw,52px)/1.04 "Manrope",sans-serif; letter-spacing:-.052em; }
.application-steps ol { margin:38px 0 0; padding:0; list-style:none; border-top:1px solid var(--public-line); }
.application-steps li { padding:20px 0; display:grid; grid-template-columns:38px 1fr; gap:15px; border-bottom:1px solid var(--public-line); }
.application-steps li > span { color:var(--public-teal); font:700 10px "Manrope",sans-serif; }
.application-steps strong,.application-steps small { display:block; }
.application-steps strong { font:700 13px "Manrope",sans-serif; }
.application-steps small { margin-top:5px; color:var(--public-muted); font-size:10px; line-height:1.5; }
.application-form { padding:clamp(28px,4vw,48px); border:1px solid var(--public-line); border-radius:25px; background:#fff; box-shadow:var(--public-shadow); }
.application-form > header { padding-bottom:28px; border-bottom:1px solid var(--public-line); }
.application-form > header small { color:var(--public-teal); font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.application-form > header h2 { margin:7px 0 8px; font:700 29px "Manrope",sans-serif; letter-spacing:-.04em; }
.application-form > header p { margin:0; color:var(--public-muted); font-size:11px; }
.application-form-section { padding:30px 0; border-bottom:1px solid var(--public-line); }
.application-form-section h3 { margin:0 0 22px; display:flex; align-items:center; gap:11px; font:700 15px "Manrope",sans-serif; }
.application-form-section h3 span { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:var(--public-teal); background:var(--public-mint); font-size:9px; }
.application-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.application-form-grid.three-columns { grid-template-columns:repeat(3,1fr); }
.application-form-grid label { color:#514d45; font-size:10px; font-weight:700; }
.application-form-grid input,.application-form-grid select { width:100%; height:48px; margin-top:7px; padding:0 13px; border:1px solid #ded8cb; border-radius:11px; outline:0; color:var(--public-ink); background:#fff; font:500 11px "DM Sans",sans-serif; }
.application-form-grid input:focus,.application-form-grid select:focus { border-color:#b78a34; box-shadow:0 0 0 3px rgba(183,138,52,.1); }
.application-upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.application-upload-grid label { min-height:170px; padding:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px dashed #cbbfaa; border-radius:16px; text-align:center; cursor:pointer; background:#fbf8f1; }
.application-upload-grid label:hover { border-color:#b78a34; background:#f8f0df; }
.application-upload-grid i { color:#9a752f; font-size:29px; }
.application-upload-grid strong { margin-top:10px; font:700 12px "Manrope",sans-serif; }
.application-upload-grid small { margin-top:5px; color:var(--public-muted); font-size:9px; }
.application-upload-grid input { max-width:230px; margin-top:15px; color:var(--public-muted); font-size:9px; }
.application-consent { margin:26px 0 20px; display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; color:var(--public-muted); font-size:10px; line-height:1.6; }
.application-consent input { margin-top:2px; accent-color:#9a752f; }
.application-submit { width:100%; border:0; cursor:pointer; }
.application-submit:disabled { cursor:wait; opacity:.65; }
.application-form-status { display:none; margin:0 0 14px; padding:12px 14px; border-radius:10px; color:#6c531f; background:#fbf3df; font-size:10px; }
.application-form-status.active { display:block; }
.application-form-status.error { color:#8d322e; background:#fff0ef; }
.application-success { min-height:540px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.application-success > i { width:68px; height:68px; display:grid; place-items:center; border-radius:50%; color:#211706; background:#e3c374; font-size:30px; }
.application-success h2 { margin:25px 0 10px; font:700 31px "Manrope",sans-serif; }
.application-success p { max-width:470px; margin:0 0 27px; color:var(--public-muted); font-size:12px; line-height:1.7; }
.application-success strong { color:var(--public-ink); }

@media (max-width: 1050px) {
    .application-intro { grid-template-columns:1fr; }
    .application-building { right:clamp(24px,7vw,72px); bottom:-30px; width:clamp(205px,28vw,270px); opacity:.68; }
    .application-intro aside { max-width:520px; }
    .application-shell { grid-template-columns:1fr; }
    .application-steps { position:static; max-width:720px; }
    .application-form-grid.three-columns { grid-template-columns:1fr 1fr; }
}

@media (max-width: 720px) {
    .application-intro { min-height:620px; padding:125px 22px 65px; }
    .application-intro h1 { font-size:53px; }
    .application-building { right:-25px; bottom:-22px; width:clamp(155px,46vw,205px); opacity:.5; }
    .application-shell { padding-inline:18px; }
    .application-form { padding:24px 18px; }
    .application-form-grid,.application-form-grid.three-columns,.application-upload-grid { grid-template-columns:1fr; }
}

/* Phase 9 public story */
.home-gallery{padding:clamp(90px,10vw,150px) clamp(24px,7vw,110px);background:#fff}.gallery-heading{max-width:1400px;margin:0 auto 52px;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:70px}.gallery-heading h2,.purpose-lead h2,.community-copy h2{margin:0;font:700 clamp(42px,5vw,72px)/1.01 "Manrope",sans-serif;letter-spacing:-.06em}.gallery-heading>p{margin:0;color:var(--public-muted);font-size:15px;line-height:1.8}.home-gallery-grid{max-width:1400px;height:760px;margin:auto;display:grid;grid-template-columns:1.22fr .78fr .78fr;grid-template-rows:1fr 1fr;gap:16px}.home-gallery-card{position:relative;isolation:isolate;overflow:hidden;padding:0;border:0;border-radius:24px;background:0 0;cursor:pointer;box-shadow:0 18px 55px rgba(28,24,17,.12)}.home-gallery-card:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(16,13,9,.82))}.home-gallery-card:after{content:"";position:absolute;z-index:-2;inset:0;background-image:var(--gallery-image);background-size:cover;background-position:center;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.home-gallery-card:hover:after{transform:scale(1.045)}.home-gallery-card>span{position:absolute;left:24px;right:72px;bottom:24px;color:#fff;text-align:left;font:700 17px "Manrope",sans-serif}.home-gallery-card small{margin-top:6px;display:block;color:rgba(255,255,255,.62);font:500 10px "DM Sans",sans-serif}.home-gallery-card>i{position:absolute;right:22px;bottom:22px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#211706;background:#e3c374;font-size:19px;transition:.25s ease}.home-gallery-card:hover>i{transform:rotate(90deg)}.gallery-feature{grid-row:1/-1}.gallery-wide{grid-column:2/-1}
.purpose-section{padding:clamp(90px,10vw,150px) clamp(24px,7vw,110px);display:grid;grid-template-columns:1.05fr .95fr .95fr;gap:18px;background:var(--public-ice)}.purpose-lead{padding:25px clamp(10px,3vw,45px) 25px 0;align-self:center}.purpose-lead>p:last-child{max-width:530px;margin:26px 0 0;color:var(--public-muted);font-size:14px;line-height:1.8}.purpose-card{position:relative;min-height:440px;padding:38px;display:flex;flex-direction:column;border:1px solid var(--public-line);border-radius:25px;background:#fff;box-shadow:0 18px 55px rgba(27,23,16,.08)}.purpose-card>span{position:absolute;top:35px;right:35px;color:#b4ada2;font-size:10px;font-weight:700}.purpose-card>i{width:62px;height:62px;display:grid;place-items:center;border-radius:19px;color:var(--public-teal);background:var(--public-mint);font-size:28px}.purpose-card small{margin-top:auto;color:var(--public-teal);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.purpose-card h3{margin:13px 0 0;font:600 clamp(18px,1.65vw,25px)/1.45 "Manrope",sans-serif;letter-spacing:-.025em}.vision-card{color:#fff;border-color:#372d1d;background:radial-gradient(circle at 90% 10%,rgba(212,173,92,.22),transparent 36%),#211d16}.vision-card>i{color:#e3c374;background:rgba(212,173,92,.12)}.vision-card small{color:#e3c374}.vision-card>span{color:rgba(255,255,255,.4)}
.values-section{padding:clamp(85px,9vw,135px) clamp(24px,7vw,110px);background:#fff}.values-ribbon{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--public-line);border-radius:25px;overflow:hidden;box-shadow:0 18px 60px rgba(28,24,17,.07)}.values-ribbon article{position:relative;min-height:300px;padding:35px;border-right:1px solid var(--public-line);background:#fff;transition:.25s ease}.values-ribbon article:last-child{border-right:0}.values-ribbon article:hover{background:var(--public-ice);transform:translateY(-4px)}.values-ribbon article>span{position:absolute;top:30px;right:30px;color:#b5afa5;font-size:9px;font-weight:700}.values-ribbon i{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:var(--public-teal);background:var(--public-mint);font-size:24px}.values-ribbon h3{margin:70px 0 10px;font:700 21px "Manrope",sans-serif}.values-ribbon p{margin:0;color:var(--public-muted);font-size:11px;line-height:1.7}
.community-section{min-height:800px;display:grid;grid-template-columns:1fr 1fr;color:#fff;background:#171613}.community-visual{position:relative;min-height:700px;background-image:linear-gradient(180deg,rgba(20,16,10,.05),rgba(20,16,10,.52)),var(--community-image);background-size:cover;background-position:center}.community-mark{position:absolute;left:35px;right:35px;bottom:35px;padding:24px;display:flex;align-items:center;gap:18px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(27,22,14,.66);backdrop-filter:blur(15px)}.community-mark i{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;color:#211706;background:#e3c374;font-size:24px}.community-mark span{font:700 15px/1.45 "Manrope",sans-serif}.community-copy{padding:clamp(70px,8vw,120px);background:radial-gradient(circle at 100% 0,rgba(212,173,92,.18),transparent 32%)}.community-copy>p:not(.public-kicker){margin:28px 0 32px;color:rgba(255,255,255,.65);font-size:14px;line-height:1.8}.community-pillars{border-top:1px solid rgba(255,255,255,.12)}.community-pillars article{padding:19px 0;display:grid;grid-template-columns:42px 1fr;gap:16px;border-bottom:1px solid rgba(255,255,255,.12)}.community-pillars i{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#e3c374;background:rgba(212,173,92,.1);font-size:19px}.community-pillars strong,.community-pillars span{display:block}.community-pillars strong{font:700 13px "Manrope",sans-serif}.community-pillars span{margin-top:5px;color:rgba(255,255,255,.52);font-size:10px;line-height:1.55}.community-note{margin-top:28px;padding:18px 20px;border-left:2px solid #e3c374;background:rgba(255,255,255,.05)}.community-note>span{color:#e3c374;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.community-note p{margin:7px 0 0;color:rgba(255,255,255,.63);font-size:10px;line-height:1.6}
@media(max-width:1050px){.home-gallery-grid{height:680px;grid-template-columns:1fr 1fr}.gallery-feature{grid-row:1/-1}.gallery-wide{grid-column:auto}.home-gallery-card:nth-child(2){display:none}.purpose-section{grid-template-columns:1fr 1fr}.purpose-lead{grid-column:1/-1;max-width:760px}.values-ribbon{grid-template-columns:1fr 1fr}.values-ribbon article:nth-child(2){border-right:0}.values-ribbon article:nth-child(-n+2){border-bottom:1px solid var(--public-line)}.community-section{grid-template-columns:.85fr 1.15fr}.community-copy{padding:70px 55px}}
@media(max-width:720px){.gallery-heading{grid-template-columns:1fr;gap:22px}.home-gallery-grid{height:auto;grid-template-columns:1fr;grid-template-rows:430px 250px 250px}.home-gallery-card:nth-child(2){display:block}.gallery-feature,.gallery-wide{grid-column:auto;grid-row:auto}.purpose-section{grid-template-columns:1fr}.purpose-lead{grid-column:auto;padding-right:0}.purpose-card{min-height:350px;padding:28px}.values-ribbon{grid-template-columns:1fr}.values-ribbon article{min-height:240px;border-right:0;border-bottom:1px solid var(--public-line)}.values-ribbon article:last-child{border-bottom:0}.values-ribbon h3{margin-top:42px}.community-section{grid-template-columns:1fr}.community-visual{min-height:500px}.community-copy{padding:70px 24px}.community-mark{left:20px;right:20px;bottom:20px}}
