
:root { --ink:#1f2220; --cream:#f4f0e8; --paper:#fbfaf6; --lime:#d7e35f; --line:rgba(31,34,32,.17); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; } a { color:inherit; text-decoration:none; }
.site-header { position:absolute; inset:0 0 auto; z-index:10; height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 4.5vw; color:white; border-bottom:1px solid rgba(255,255,255,.26); }
.brand { display:flex; align-items:center; gap:12px; letter-spacing:.12em; }.brand-mark { width:45px; height:45px; display:grid; place-items:center; border:1px solid white; font-family:Georgia,serif; font-size:28px; }.brand strong,.brand small { display:block; line-height:1.15; }.brand strong { font-size:15px; }.brand small { margin-top:4px; font-size:9px; }
nav { display:flex; align-items:center; gap:30px; font-size:13px; font-weight:500; } nav a:not(.nav-cta):hover { opacity:.72; }.nav-cta { padding:13px 18px; background:var(--lime); color:var(--ink); display:inline-flex; gap:18px; align-items:center; }
.hero { position:relative; min-height:790px; height:94vh; color:white; display:flex; align-items:center; overflow:hidden; }.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,15,14,.79) 0%,rgba(12,15,14,.25) 62%,rgba(12,15,14,.1)); }.hero-content { position:relative; z-index:2; max-width:780px; margin:85px 0 0 8.5vw; }
.eyebrow { margin:0 0 18px; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:600; }.eyebrow.dark { color:#777c78; } h1,h2 { margin:0; font-family:"Playfair Display",Georgia,serif; font-weight:600; letter-spacing:-.045em; line-height:.88; } h1 { font-size:clamp(78px,10vw,156px); }.hero-lead { max-width:590px; margin:30px 0 0; font-size:clamp(20px,2vw,29px); line-height:1.35; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }.button { min-height:54px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:24px; font-size:13px; font-weight:600; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button-light { background:var(--lime); color:var(--ink); }.button-ghost { border:1px solid rgba(255,255,255,.55); color:white; }.fine-print { margin-top:20px; font-size:10px; opacity:.72; }
.offer-card { position:absolute; z-index:3; right:5vw; bottom:0; width:260px; padding:25px 28px 30px; color:var(--ink); background:var(--lime); display:flex; flex-direction:column; }.offer-card span { font-size:10px; text-transform:uppercase; letter-spacing:.16em; }.offer-card strong { margin-top:15px; font-family:"Playfair Display",Georgia,serif; font-size:38px; line-height:1; }.offer-card i { margin:3px 0; font-family:Georgia,serif; font-size:25px; }.offer-card b { font-size:17px; }.offer-card small { margin-top:5px; font-size:11px; }
.floor-section { padding:110px 7vw 90px; background:var(--cream); }.section-heading { max-width:1180px; margin:0 auto 65px; display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:80px; } h2 { font-size:clamp(58px,7vw,102px); }.section-heading>p { max-width:520px; margin:0 0 5px; color:#555a56; font-size:17px; line-height:1.7; }
.plan-grid { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:18px; }.plan-card { background:var(--paper); }.plan-bedroom { margin-top:72px; }.plan-photo { position:relative; height:370px; overflow:hidden; }.plan-photo img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }.plan-card:hover .plan-photo img { transform:scale(1.025); }.plan-number { position:absolute; left:0; bottom:0; min-width:58px; padding:13px; text-align:center; background:var(--lime); font-size:11px; font-weight:600; }
.plan-content { padding:30px 32px 34px; display:grid; grid-template-columns:1fr 1fr; gap:24px; }.plan-content .eyebrow { margin-bottom:8px; }.plan-content h3 { margin:0; font-family:"Playfair Display",Georgia,serif; font-size:31px; line-height:1.05; }.plan-content p { margin:0; color:#626763; font-size:13px; line-height:1.65; }.plan-content a { grid-column:1/-1; padding-top:20px; border-top:1px solid var(--line); display:flex; justify-content:space-between; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.availability-bar { max-width:1240px; margin:55px auto 0; padding:24px 0 0; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:24px; }.availability-bar p { margin:0; color:#555a56; font-size:13px; }.button-dark { background:var(--ink); color:white; } #knock-chatbot-root { position:fixed; right:24px; bottom:24px; z-index:50; }
.amenities-section { min-height:780px; display:grid; grid-template-columns:1.05fr .95fr; background:var(--ink); color:white; }.amenity-image-wrap { position:relative; min-height:700px; overflow:hidden; }.amenity-image-wrap>img { width:100%; height:100%; object-fit:cover; }.image-note { position:absolute; left:0; bottom:0; padding:25px 30px; background:var(--lime); color:var(--ink); }.image-note span { display:block; margin-bottom:7px; text-transform:uppercase; letter-spacing:.14em; font-size:9px; }.image-note strong { font-family:"Playfair Display",Georgia,serif; font-size:30px; line-height:1; }.amenity-copy { padding:100px 8vw 80px 7vw; }.amenity-copy h2 { font-size:clamp(54px,6vw,92px); }.amenity-copy h2 em,.final-cta h2 em { color:var(--lime); font-weight:600; }.amenity-intro { max-width:530px; margin:35px 0 42px; color:#c6cac7; font-size:16px; line-height:1.75; }.amenity-copy ul { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.2); }.amenity-copy li { padding:18px 0; border-bottom:1px solid rgba(255,255,255,.2); font-size:14px; }.amenity-copy li span { display:inline-block; width:45px; color:var(--lime); font-size:10px; }
.location-section { min-height:610px; padding:105px 9vw; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:9vw; background:var(--paper); }.location-kicker { width:360px; height:360px; border-radius:50%; display:flex; align-items:center; justify-content:center; gap:20px; background:var(--orange,#e85f2d); color:white; transform:rotate(-5deg); }.location-kicker span { font-family:"Playfair Display",Georgia,serif; font-size:78px; }.location-kicker p { margin:0; font-size:12px; line-height:1.3; text-transform:uppercase; letter-spacing:.12em; }.location-copy h2 { font-size:clamp(58px,7vw,104px); }.location-copy>p:not(.eyebrow) { max-width:570px; margin:30px 0; color:#5f635f; font-size:16px; line-height:1.75; }.location-copy>a { display:flex; justify-content:space-between; max-width:570px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.final-cta { padding:105px 20px 90px; text-align:center; background:#dfe86d; }.final-cta h2 { font-size:clamp(64px,8vw,118px); }.final-cta h2 em { color:var(--ink); }.final-cta>p:not(.eyebrow):not(.offer-legal) { max-width:660px; margin:30px auto; font-size:20px; line-height:1.5; }.final-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }.final-actions .button-light { background:var(--ink); color:white; }.button-outline-dark { border:1px solid var(--ink); }.offer-legal { max-width:650px; margin:22px auto 0; font-size:10px; opacity:.65; }
footer { padding:55px 5vw; display:grid; grid-template-columns:1.2fr 1fr 1.2fr .9fr; gap:45px; background:var(--ink); color:white; font-size:12px; }.footer-brand { display:flex; align-items:flex-start; gap:12px; letter-spacing:.12em; }.footer-brand strong,.footer-brand small { display:block; }.footer-brand small { margin-top:4px; font-size:8px; } footer p { margin:0 0 13px; color:#bdc1be; line-height:1.7; } footer small { color:#8f9490; line-height:1.6; }.footer-links { display:flex; flex-direction:column; gap:12px; color:#bdc1be; }.mobile-bar { display:none; }
@media (max-width:900px) { .site-header { height:76px; padding:0 20px; }.site-header nav a:not(.nav-cta) { display:none; }.nav-cta { padding:11px 14px; }.hero { min-height:720px; height:90vh; }.hero-content { margin:65px 24px 70px; }.offer-card { right:20px; width:210px; padding:19px; }.offer-card strong { font-size:30px; }.floor-section { padding:78px 20px 70px; }.section-heading { grid-template-columns:1fr; gap:28px; margin-bottom:42px; }.plan-grid { grid-template-columns:1fr; }.plan-bedroom { margin-top:0; }.amenities-section { grid-template-columns:1fr; }.amenity-image-wrap { min-height:520px; }.amenity-copy { padding:75px 8vw; }.location-section { grid-template-columns:1fr; }.location-kicker { width:270px; height:270px; }.location-kicker span { font-size:58px; } footer { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { body { padding-bottom:62px; }.brand-mark { width:38px; height:38px; }.brand strong { font-size:12px; }.nav-cta { font-size:11px; gap:8px; }.hero { min-height:760px; align-items:flex-start; }.hero-content { margin-top:150px; }.hero-lead { font-size:19px; }.hero-actions { flex-direction:column; align-items:stretch; }.offer-card { right:0; bottom:0; width:100%; display:grid; grid-template-columns:1fr auto; gap:2px 20px; }.offer-card strong,.offer-card i { margin:0; }.offer-card i { display:none; }.offer-card small { margin:0; }.fine-print { display:none; }.plan-photo { height:260px; }.plan-content { grid-template-columns:1fr; }.plan-content a { grid-column:auto; }.availability-bar { align-items:stretch; flex-direction:column; }.button-dark { width:100%; }.amenity-image-wrap { min-height:360px; }.amenity-copy { padding:65px 22px; }.amenity-copy li { font-size:12px; }.location-section { padding:70px 22px; gap:55px; }.location-kicker { width:220px; height:220px; }.location-kicker span { font-size:48px; }.final-cta { padding:75px 22px 65px; }.final-actions { flex-direction:column; }.final-actions .button { width:100%; } footer { grid-template-columns:1fr; padding:48px 22px; }.mobile-bar { position:fixed; z-index:45; left:0; right:0; bottom:0; height:62px; display:grid; grid-template-columns:.7fr 1.3fr; box-shadow:0 -8px 28px rgba(0,0,0,.18); }.mobile-bar a { display:grid; place-items:center; background:white; color:var(--ink); font-size:12px; font-weight:600; }.mobile-bar a:last-child { background:var(--lime); } #knock-chatbot-root { bottom:82px; right:16px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
