:root{color-scheme:light;--paper:#f7f4ed;--white:#fffdf8;--ink:#20352d;--muted:#4d6057;--accent:#9e5037;--line:#d9dcd2;--forest:#234239;--serif:Georgia,"Times New Roman",serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,sans-serif}
a{color:inherit}
img{display:block;width:100%;height:auto}
figure,p,h1,h2,dl,dd{margin:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.053em;line-height:1}
h2{font-size:clamp(2.65rem,5vw,4.7rem)}
.wrap{width:min(100% - 112px,1320px);margin-inline:auto}
.skip{position:fixed;z-index:2;top:8px;left:8px;padding:10px 14px;background:var(--white);transform:translateY(-150%)}
.skip:focus{transform:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.mast{border-bottom:1px solid var(--line)}
.mast-inner{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:1.15rem/1.05 var(--serif)}
.mark{display:grid;place-items:center;width:40px;height:42px;border:1px solid var(--forest);font-size:1.45rem}
.brand small{display:block;margin-top:5px;font:600 .59rem/1.2 system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase}
nav{display:flex;gap:clamp(14px,3vw,43px)}
nav a{font-size:.86rem;text-decoration:none}
nav a:hover,.text-link:hover{text-decoration-color:var(--accent)}
nav a:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:51px;padding:12px 19px;background:var(--forest);border:1px solid var(--forest);color:var(--white);font-size:.85rem;font-weight:650;text-decoration:none;transition:background .15s}
.button:hover{background:#34594d}
.button.small{min-height:40px;padding:8px 13px;font-size:.78rem}
.hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(28px,5vw,78px);padding-block:48px 37px}
.eyebrow{font-size:.71rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}
.eyebrow span{display:inline-block;width:20px;margin:0 7px 3px 0;border-top:1px solid currentColor}
h1{font-size:clamp(4.2rem,8.4vw,8.3rem);margin-top:18px;line-height:.89}
.accent{color:var(--accent)}
.unit{margin-top:17px;font-size:.86rem;font-weight:720;letter-spacing:.12em;text-transform:uppercase}
.unit span{color:var(--accent);margin-inline:5px}
.intro,.body-copy{max-width:39ch;color:var(--muted);line-height:1.68}
.intro{margin-top:18px;font-size:1.04rem}
.rent{margin-top:18px}
.rent strong{font:2.2rem/1.25 var(--serif)}
.rent span{font-size:.9rem;color:var(--muted)}
.hero-links{margin-top:18px;display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.text-link{font-size:.87rem;font-weight:650;text-decoration:underline;text-underline-offset:5px}
.hero-image img{aspect-ratio:1.19;object-fit:cover;object-position:center}
figcaption,.note{margin-top:8px;color:var(--muted);font-size:.75rem}
.facts dl{display:grid;grid-template-columns:repeat(5,1fr);border-block:1px solid var(--line);padding-block:22px}
.facts dl div{text-align:center;border-left:1px solid var(--line)}
.facts dl div:first-child{border-left:none}
.facts dt,.details dt{color:var(--muted);text-transform:uppercase;font-size:.69rem;letter-spacing:.1em;font-weight:720}
.facts dd{font:clamp(1.3rem,2.25vw,2.05rem)/1.2 var(--serif);margin-top:5px}
.apartment,.neighborhood{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,7vw,112px);padding-block:clamp(55px,8vw,112px);align-items:center}
section h2{margin-top:14px}
.body-copy{margin-top:18px}
.details{border-top:1px solid var(--line)}
.details div{display:grid;grid-template-columns:100px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:16px 0;align-items:baseline}
.details dd{font-size:.94rem}
.gallery-section{background:#edf0e8;padding-block:clamp(45px,7vw,94px)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:29px}
.gallery a{background:var(--white);text-decoration:none;min-width:0}
.gallery img{aspect-ratio:1.44;object-fit:cover}
.gallery a:hover img{filter:brightness(.92)}
.gallery span{display:flex;justify-content:space-between;padding:11px 14px;font-weight:650;font-size:.85rem}
.gallery i{font-style:normal}
.note{margin-top:16px}
.neighborhood img{aspect-ratio:1.46;object-fit:cover}
.neighborhood .text-link{display:inline-block;margin-top:20px}
.apply{background:var(--forest);color:var(--white)}
.apply-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:60px}
.apply .eyebrow{color:#efd1ae}
.apply p:last-child{margin-top:14px;color:#e1eae2;max-width:58ch}
.apply .button{flex-shrink:0}
.light{background:var(--white);color:var(--forest);border-color:var(--white)}
.light:hover{background:#e3e9e1}
.footer{display:flex;justify-content:space-between;gap:12px;padding-block:20px;color:var(--muted);font-size:.73rem}
dialog{padding:0;border:0;background:transparent;color:var(--white);max-width:min(92vw,1060px);max-height:95dvh;overflow:auto}
dialog::backdrop{background:#101b16ec}
.viewer{position:relative}
.viewer img{width:auto;max-width:100%;max-height:78dvh;margin:auto;object-fit:contain}
.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px}
.viewer button{width:44px;height:44px;flex:none;border:1px solid #d9dcd2;color:var(--white);background:#20352d;font-size:1.35rem;cursor:pointer}
.viewer .close{position:absolute;right:8px;top:8px}
.controls p{text-align:center;font-size:.88rem}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero-links{gap:12px}}
@media(max-width:760px){.wrap{width:calc(100% - 38px)}.mast-inner{min-height:65px;gap:8px}nav{display:none}.hero,.apartment,.neighborhood{grid-template-columns:1fr}.hero{padding-block:28px 20px;gap:24px}h1{font-size:clamp(3.65rem,14vw,6rem)}.hero-image img{aspect-ratio:1.44}.facts dl{padding-block:15px}.facts dt{font-size:.54rem;letter-spacing:.03em}.facts dd{font-size:clamp(.91rem,3.5vw,1.32rem)}.details div{padding-block:12px}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}.gallery span{padding:8px;font-size:.75rem}.neighborhood figure{order:2}.apply-inner,.footer{align-items:flex-start;flex-direction:column}.apply-inner{padding-block:42px}.footer{gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
