@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@1,500&display=swap');
:root { --ink:#182019; --forest:#263629; --moss:#87977b; --clay:#b65f3d; --gold:#d8b86d; --linen:#f3efe7; --paper:#fcfaf5; --white:#fff; }
* { 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; }
button { font:inherit; }
button:focus-visible,a:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
svg { width:1.1em; height:1.1em; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.site-header { position:absolute; z-index:20; top:0; left:0; right:0; height:105px; padding:0 4vw; display:flex; align-items:center; justify-content:space-between; color:white; border-bottom:1px solid rgba(255,255,255,.24); }
.brand { display:flex; align-items:center; gap:12px; width:194px; }
.brand-number { font-size:29px; line-height:1; font-weight:600; letter-spacing:-.06em; }
.brand-divider { width:1px; height:29px; background:currentColor; opacity:.5; }
.brand-address { font-size:10px; line-height:1.2; letter-spacing:.14em; text-transform:uppercase; }
nav { display:flex; align-items:center; gap:34px; font-size:13px; }
nav a { position:relative; }
nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:currentColor; transition:right .25s ease; }
nav a:hover::after { right:0; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:0 24px; border:1px solid var(--ink); background:var(--ink); color:white; font-size:13px; font-weight:600; letter-spacing:.02em; transition:all .25s ease; }
.button:hover { background:var(--clay); border-color:var(--clay); }
.button-small { min-height:43px; padding:0 18px; color:var(--ink); background:white; border-color:white; }
.button-small:hover { color:white; }
.button-light { background:white; border-color:white; color:var(--ink); }
.button-light:hover { color:white; }

.hero { min-height:760px; height:100vh; position:relative; display:flex; align-items:flex-end; overflow:hidden; background:var(--forest); color:white; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,20,14,.86) 0%,rgba(13,20,14,.52) 47%,rgba(13,20,14,.1) 79%),linear-gradient(0deg,rgba(13,20,14,.58) 0%,transparent 50%); }
.hero-content { position:relative; z-index:2; max-width:890px; padding:0 5vw 10vh; }
.eyebrow { margin:0 0 22px; color:var(--clay); font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow.light { color:var(--gold); }
h1,h2 { margin:0; font-size:clamp(54px,7.2vw,108px); line-height:.96; font-weight:500; letter-spacing:-.055em; }
h1 em,h2 em { font-family:"Playfair Display",Georgia,serif; font-weight:500; }
.hero-copy { max-width:650px; margin:32px 0 0; font-size:18px; line-height:1.65; color:rgba(255,255,255,.83); }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:38px; }
.text-link { font-size:13px; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:6px; }
.hero-note { position:absolute; z-index:2; right:4vw; bottom:8vh; display:flex; gap:15px; align-items:flex-start; }
.hero-note span { color:var(--gold); font-size:11px; }
.hero-note p { margin:0; padding-left:15px; border-left:1px solid rgba(255,255,255,.3); color:rgba(255,255,255,.75); font-size:12px; line-height:1.5; text-transform:uppercase; letter-spacing:.1em; }

.section { padding:135px 5vw; display:grid; grid-template-columns:minmax(135px,.6fr) minmax(400px,1.6fr) minmax(260px,.75fr); gap:6vw; }
.section-kicker { display:flex; gap:14px; align-items:flex-start; color:var(--moss); font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.section-kicker p { margin:0; padding-left:14px; border-left:1px solid currentColor; line-height:1.5; }
.section-kicker.light { color:var(--gold); }
.intro h2,.location h2,.gallery-heading h2 { font-size:clamp(44px,5.2vw,78px); }
.intro-copy .lead { font-size:20px; line-height:1.7; margin-top:42px; color:var(--ink); }
.intro-copy>p:not(.eyebrow):not(.lead) { max-width:660px; color:#667068; font-size:15px; line-height:1.8; }
.inline-link { display:inline-flex; gap:14px; align-items:center; margin-top:24px; padding-bottom:7px; border-bottom:1px solid var(--ink); font-size:13px; font-weight:600; }
.incentive-card { align-self:end; min-height:430px; padding:38px 34px; background:var(--forest); color:white; display:flex; flex-direction:column; }
.incentive-card>p:first-child { margin:0; color:var(--gold); text-transform:uppercase; letter-spacing:.14em; font-size:10px; }
.incentive-card strong { display:flex; align-items:baseline; gap:10px; margin-top:42px; font-size:18px; font-weight:400; }
.incentive-card strong small { color:var(--gold); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.incentive-card strong span { font-family:"Playfair Display",Georgia,serif; font-style:italic; font-size:80px; line-height:1; color:var(--gold); }
.incentive-card h3 { margin:4px 0 0; font-size:39px; font-weight:500; }
.card-rule { height:1px; margin:auto 0 20px; background:rgba(255,255,255,.2); }
.incentive-card .small { margin:0; font-size:13px; line-height:1.6; color:rgba(255,255,255,.74); }
.incentive-card .fine-print { margin:15px 0 0; font-size:9px; line-height:1.5; color:rgba(255,255,255,.4); }

.section-dark { padding:130px 5vw; display:grid; grid-template-columns:minmax(135px,.6fr) 2.35fr; gap:6vw; background:var(--ink); color:white; }
.possibilities-title h2 { font-size:clamp(44px,5.7vw,84px); }
.use-grid { grid-column:2; margin-top:65px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.17); }
.use-grid article { min-height:300px; padding:28px 30px 20px 0; border-right:1px solid rgba(255,255,255,.17); }
.use-grid article+article { padding-left:30px; }
.use-grid article:last-child { border-right:0; }
.use-grid span { color:var(--gold); font-size:11px; }
.use-grid h3 { margin:70px 0 22px; font-size:28px; line-height:1.12; font-weight:500; }
.use-grid p { margin:0; color:rgba(255,255,255,.6); font-size:13px; line-height:1.7; }

.gallery-section { padding:135px 5vw; background:var(--linen); }
.gallery-heading { display:grid; grid-template-columns:1.4fr .7fr; gap:12vw; align-items:end; }
.gallery-heading>p { margin:0 0 7px; color:#667068; font-size:15px; line-height:1.8; }
.gallery-tabs { margin-top:70px; display:flex; flex-wrap:wrap; column-gap:32px; row-gap:18px; border-bottom:1px solid #cfc8ba; }
.gallery-tabs button { position:relative; padding:0 0 16px; border:0; background:none; color:#7a7a73; cursor:pointer; font-size:15px; }
.gallery-tabs button span { margin-left:7px; font-size:9px; vertical-align:top; }
.gallery-tabs button.active { color:var(--ink); font-weight:600; }
.gallery-tabs button.active::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--clay); }
.gallery-grid { margin-top:28px; display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:285px; gap:13px; }
.gallery-item { position:relative; grid-column:span 4; overflow:hidden; padding:0; border:0; background:#d8d3c9; cursor:zoom-in; color:white; }
.gallery-item-1,.gallery-item-6 { grid-column:span 8; }
.gallery-item-4 { grid-column:span 5; }
.gallery-item-5 { grid-column:span 7; }
.gallery-grid.gallery-compact { grid-auto-rows:340px; }
.gallery-grid.gallery-compact .gallery-item { grid-column:span 6; }
.gallery-item img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery-item::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(13,20,14,.48),transparent 45%); opacity:.75; transition:opacity .3s; }
.gallery-item:hover img { transform:scale(1.035); }
.gallery-item:hover::after { opacity:1; }
.image-label,.expand { position:absolute; z-index:2; bottom:18px; font-size:11px; text-transform:uppercase; letter-spacing:.11em; }
.image-label { left:20px; }
.expand { right:20px; font-size:18px; }
.concept-note { max-width:750px; margin:25px 0 0 auto; color:#7a7a73; font-size:10px; line-height:1.6; }

.location { grid-template-columns:minmax(135px,.6fr) minmax(350px,1fr) minmax(420px,1.25fr); align-items:center; }
.location-copy>p:not(.eyebrow) { margin:36px 0 0; color:#667068; line-height:1.8; }
.map-wrap { position:relative; height:520px; overflow:hidden; background:#ddd8ce; }
.map-wrap iframe { width:100%; height:100%; border:0; filter:grayscale(1) sepia(.12) contrast(.92); }
.map-address { position:absolute; left:22px; bottom:22px; display:flex; gap:13px; align-items:center; padding:17px 20px; background:var(--ink); color:white; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.map-address svg { color:var(--gold); }
.map-address p { margin:0; font-size:12px; line-height:1.5; }

.leasing { padding:115px 5vw 125px; display:grid; grid-template-columns:minmax(290px,.75fr) 2fr; gap:9vw; border-top:1px solid #ddd7ca; background:var(--paper); }
.leasing-heading h2 { font-size:clamp(42px,4.7vw,70px); }
.leasing-heading>p:last-child { max-width:480px; margin:30px 0 0; color:#667068; font-size:14px; line-height:1.8; }
.details-grid { display:grid; grid-template-columns:repeat(3,1fr); align-content:start; border-top:1px solid #cfc8ba; }
.details-grid article { min-height:150px; padding:25px 22px 25px 0; border-bottom:1px solid #cfc8ba; }
.details-grid article:not(:nth-child(3n+1)) { padding-left:22px; border-left:1px solid #cfc8ba; }
.details-grid span { display:block; margin-bottom:34px; color:#7a7a73; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.details-grid strong { display:block; font-size:20px; line-height:1.35; font-weight:500; }
.details-grid small { display:block; margin-top:8px; color:#7a7a73; font-size:10px; line-height:1.5; }

.contact { position:relative; overflow:hidden; padding:145px 5vw; background:var(--clay); color:white; text-align:center; }
.contact-mark { position:absolute; left:50%; top:47%; transform:translate(-50%,-50%); font-size:min(32vw,470px); line-height:1; font-weight:600; letter-spacing:-.08em; color:rgba(255,255,255,.055); pointer-events:none; }
.contact>*:not(.contact-mark) { position:relative; z-index:1; }
.contact h2 { font-size:clamp(48px,6.7vw,96px); }
.contact>p:not(.eyebrow) { max-width:610px; margin:32px auto 0; color:rgba(255,255,255,.76); font-size:16px; line-height:1.8; }
.contact-actions { margin-top:42px; display:flex; align-items:center; justify-content:center; gap:38px; }
.contact-link { display:flex; align-items:center; gap:13px; text-align:left; }
.contact-link svg { width:24px; height:24px; }
.contact-link span { font-size:17px; }
.contact-link small { display:block; margin-bottom:3px; color:rgba(255,255,255,.62); font-size:9px; text-transform:uppercase; letter-spacing:.13em; }

footer { padding:48px 5vw; display:grid; grid-template-columns:1fr 1fr 1fr auto; align-items:end; gap:30px; background:var(--ink); color:white; }
.brand-footer { color:white; }
footer p { margin:0; color:rgba(255,255,255,.5); font-size:11px; line-height:1.7; }
.footer-contact a:hover { color:white; }
.copyright { text-align:right; }

.lightbox { position:fixed; z-index:100; inset:0; display:grid; grid-template-columns:80px 1fr 80px; align-items:center; padding:30px; background:rgba(10,14,11,.96); color:white; }
.lightbox[hidden] { display:none; }
.lightbox figure { max-width:1200px; max-height:88vh; margin:0 auto; }
.lightbox figure img { display:block; max-width:100%; max-height:80vh; object-fit:contain; }
.lightbox figcaption { display:flex; justify-content:space-between; padding-top:14px; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.lightbox figcaption small { color:rgba(255,255,255,.5); }
.lightbox button { border:0; background:none; color:white; cursor:pointer; font-size:34px; }
.lightbox-close { position:absolute; top:22px; right:30px; }

@media (max-width:900px) {
  .site-header { height:84px; padding:0 24px; } nav { display:none; } .button-small { min-height:39px; padding:0 13px; } .button-small svg { display:none; }
  .hero-content { padding:0 24px 85px; } .hero-note { display:none; }
  .section,.section-dark { padding:95px 24px; grid-template-columns:1fr; gap:48px; } .section-kicker,.intro-copy,.location-copy { grid-column:1; }
  .incentive-card { min-height:360px; } .use-grid { grid-column:1; margin-top:20px; }
  .gallery-section { padding:95px 24px; } .gallery-heading { grid-template-columns:1fr; gap:30px; }
  .gallery-grid,.gallery-grid.gallery-compact { grid-auto-rows:230px; } .gallery-item,.gallery-item-1,.gallery-item-4,.gallery-item-5,.gallery-item-6,.gallery-grid.gallery-compact .gallery-item { grid-column:span 6; }
  .leasing { padding:95px 24px; grid-template-columns:1fr; gap:52px; }
  .map-wrap { height:430px; } footer { grid-template-columns:1fr 1fr; } .copyright { text-align:left; }
}

@media (max-width:580px) {
  .brand { width:auto; } .brand-number { font-size:24px; } .brand-address,.brand-divider { display:none; } .button-small { font-size:11px; }
  .hero { min-height:720px; } h1 { font-size:50px; } .hero-copy { font-size:16px; } .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .section,.section-dark,.gallery-section { padding-top:78px; padding-bottom:78px; } .intro-copy .lead { font-size:18px; }
  .use-grid { grid-template-columns:1fr; } .use-grid article,.use-grid article+article { min-height:0; padding:26px 0 32px; border-right:0; border-bottom:1px solid rgba(255,255,255,.17); } .use-grid h3 { margin:32px 0 15px; }
  .gallery-tabs { flex-wrap:nowrap; gap:24px; overflow-x:auto; } .gallery-tabs button { white-space:nowrap; } .gallery-grid,.gallery-grid.gallery-compact { grid-auto-rows:220px; }
  .gallery-item,.gallery-item-1,.gallery-item-4,.gallery-item-5,.gallery-item-6 { grid-column:span 12; }
  .gallery-grid.gallery-compact .gallery-item { grid-column:span 12; }
  .details-grid { grid-template-columns:1fr 1fr; } .details-grid article:not(:nth-child(3n+1)) { padding-left:0; border-left:0; } .details-grid article:nth-child(even) { padding-left:18px; border-left:1px solid #cfc8ba; } .details-grid article:nth-child(odd) { padding-right:18px; }
  .map-wrap { height:390px; } .map-address { left:12px; right:12px; bottom:12px; }
  .contact { padding:100px 24px; } .contact-actions { flex-direction:column; }
  footer { grid-template-columns:1fr; } .brand-footer { margin-bottom:15px; }
  .lightbox { grid-template-columns:45px 1fr 45px; padding:15px 4px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
