@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400&display=swap');
:root{--background:#f4f2ec;--ink:#353b37;--quiet:#74766c}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font-family:'Manrope',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:1px solid var(--ink);outline-offset:8px}header{height:110px;margin:0 6%;display:flex;align-items:center;justify-content:space-between}.logo{display:block;width:86px;height:86px}.logo img{width:100%;height:100%;object-fit:contain}.inquire{font-size:11px;letter-spacing:.04em}.inquire span{margin-left:20px}main{max-width:1120px;margin:auto;padding:22px 48px 0}.identity{text-align:center}.location{font-size:8px;letter-spacing:.3em;margin:0 0 24px;color:var(--quiet)}h1{font-size:clamp(76px,11.5vw,150px);font-weight:200;letter-spacing:.23em;text-indent:.23em;line-height:1;margin:0}.thought{font-size:12px;letter-spacing:.14em;font-weight:300;margin:27px 0 52px}.drawing{width:100%;max-width:790px;margin:0 auto}.sheet{background:#fff;padding:34px 48px 27px;box-shadow:0 12px 45px #30352a05,0 1px 4px #30352a04}.sheet img{width:100%;height:auto;display:block}.drawing>a{display:block}.drawing>a:hover+.caption{color:var(--ink)}figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:21px;font-size:9px;letter-spacing:.15em;color:var(--quiet)}figcaption a{padding:8px 0;color:var(--ink)}figcaption a span{margin-left:18px}footer{display:flex;justify-content:space-between;gap:20px;margin:75px 6% 30px;font-size:8px;letter-spacing:.15em;color:var(--quiet)}@media(min-width:1400px){main{padding-top:35px}.thought{margin-bottom:60px}}@media(max-width:600px){header{height:90px;margin:0 7%}.logo{width:65px;height:65px}.inquire{font-size:10px}.inquire span{margin-left:8px}main{padding:34px 6% 0}.location{font-size:7px;letter-spacing:.22em;margin-bottom:25px}h1{font-size:clamp(58px,17vw,100px);letter-spacing:.17em;text-indent:.17em}.thought{font-size:10px;margin:24px 0 43px}.sheet{padding:24px 18px}.drawing{max-width:460px}figcaption{font-size:8px;margin-top:16px}footer{margin:65px 7% 26px;font-size:7px;letter-spacing:.1em}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Four-property gallery */
main{max-width:1320px;padding-top:30px}h1{font-size:clamp(23px,3.3vw,44px);font-weight:300;letter-spacing:.2em;text-indent:.2em}.location{margin-bottom:25px}.thought{margin-top:20px;margin-bottom:65px;font-size:11px}.properties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 40px}.property{margin:0;min-width:0}.sheet{display:block;width:100%;border:0;padding:28px;background:#fff;cursor:pointer}.image-pair{position:relative;display:block;aspect-ratio:4/3}.sheet .image-pair img{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}.realized{opacity:0;transition:opacity 900ms ease}.property.is-realized .realized{opacity:1}.sheet:focus-visible,.view-toggle:focus-visible{outline:1px solid #353b37;outline-offset:6px}.view-toggle{background:none;border:0;padding:12px 0 12px 12px;min-height:44px;color:#535a52;font:inherit;letter-spacing:.04em;cursor:pointer}.vision-label{opacity:.5}.sketch-label{border-bottom:1px solid}.is-realized .vision-label{opacity:1;border-bottom:1px solid}.is-realized .sketch-label{opacity:.5;border-bottom:0}figcaption{margin-top:10px;gap:12px}figcaption small{font-size:7px;letter-spacing:.12em;display:block;margin-top:7px;color:#777b70}@media(hover:hover) and (pointer:fine){.sheet:hover .realized{opacity:1}}@media(max-width:650px){.properties{grid-template-columns:1fr;gap:38px}main{padding:25px 6% 0}h1{font-size:clamp(20px,5.1vw,31px);letter-spacing:.13em;text-indent:.13em}.thought{margin-bottom:42px}.sheet{padding:22px}.location{font-size:7px}figcaption{font-size:9px}.view-toggle{font-size:10px}}@media(prefers-reduced-motion:reduce){.realized{transition:none}}

.identity{margin-bottom:65px}figcaption{min-height:44px}@media(max-width:650px){.identity{margin-bottom:42px}}

.identity .location{margin:25px 0 0}
/* Shared title typography across the homepage and property pages. */
:root{--title-size:clamp(23px,3.3vw,44px)}
body h1,body h2,body .project-heading h1,body .gallery-heading h2{font-family:'Manrope',sans-serif;font-size:var(--title-size);font-weight:300;letter-spacing:.2em;line-height:1.2;text-indent:0;text-transform:uppercase}
@media(max-width:650px){:root{--title-size:clamp(20px,5.1vw,31px)}}
.home-tagline{font-family:'Manrope',sans-serif;font-size:clamp(15px,1.8vw,23px);font-weight:300;letter-spacing:.08em;line-height:1.5;margin:20px 0 0}.identity .home-tagline+.location{margin-top:17px}@media(max-width:650px){.home-tagline{margin-top:16px}}
/* Balance the three-line homepage identity as a single typographic group. */
.identity:has(.home-tagline){display:flex;flex-direction:column;align-items:center;gap:18px}
.identity .home-tagline{margin:0;font-size:clamp(15px,1.6vw,21px);line-height:1.4;letter-spacing:.045em;text-transform:none}
.identity .home-tagline+.location{margin:0;line-height:1.5}
@media(max-width:650px){.identity:has(.home-tagline){gap:15px}}
/* Match the homepage's inline descriptor typography. */
.identity .location{font-family:'Manrope',sans-serif;font-size:10px;font-weight:300;letter-spacing:.25em;line-height:1.5;text-transform:uppercase;margin:10px 0 0}
@media(max-width:600px){.identity .location{font-size:9px;margin-top:16px}}
