:root{--ink:#10223c;--gold:#ac8c54;--paper:#fff;--mist:#edf2f5;--line:#d5dfe5;--muted:#5a6979}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang HK","Microsoft JhengHei",Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#806436}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}header{min-height:86px;padding:18px max(4vw,20px);display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:#fff}header a:hover{color:#d9c59e}.brand{font-family:Georgia,serif;font-size:22px;letter-spacing:.12em;line-height:1.1}.brand span{display:block;font:10px/1.8 Arial,sans-serif;letter-spacing:.45em;color:#d6c49e}header nav{display:flex;gap:18px;font-size:12px}header [aria-current]{color:#d6c49e;border-bottom:1px solid}main{max-width:1400px;margin:auto;padding:28px max(4vw,24px) 75px}.back{font-size:12px;color:var(--muted)}.opening{padding:28px 0 22px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--muted);margin:0 0 14px}.opening h1,.directory h1{font:400 clamp(32px,4.1vw,62px)/1.15 Georgia,"Songti TC",serif;letter-spacing:-.025em;max-width:1050px;margin:0 0 18px;text-wrap:balance}.sub{margin:0;color:var(--muted)}.hero{margin:0 0 54px;position:relative;background:var(--mist);overflow:hidden}.hero>img{display:block;width:100%;height:min(66vw,650px);min-height:340px;object-fit:cover}.hero figcaption{position:absolute;bottom:0;right:0;max-width:85%;padding:10px 20px;background:rgba(16,34,60,.88);color:#fff;font-size:11px;line-height:1.5}.project-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:65px}.project-grid h2,.directory h2{font:400 29px/1.35 Georgia,"Songti TC",serif;margin:0 0 20px}.intro{font-size:18px;line-height:1.95;max-width:850px}dl{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:30px 0;gap:0 25px}dl>div{padding:18px 0;border-bottom:1px solid var(--line)}dt{font-size:12px;color:var(--muted)}dd{margin:4px 0 0;overflow-wrap:anywhere}aside{position:sticky;top:22px;align-self:start;background:var(--mist);padding:30px}aside .amount{font:400 31px/1.4 Georgia,serif;display:block}aside small,aside .source{display:block;margin-top:15px;font-size:11px}.fine{font-size:12px;color:var(--muted);line-height:1.8}.primary{background:var(--ink);color:#fff;padding:15px 22px;display:block;text-align:center;font-size:14px;transition:background .2s}.primary:hover{background:#273d59;color:#fff}.phone{display:block;text-align:center;border-bottom:1px solid var(--line);padding:15px 0}.source{text-decoration:underline;text-underline-offset:4px;font-size:12px}.rich-section{margin-top:60px;padding-top:30px;border-top:1px solid var(--line)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gallery button{display:block;position:relative;padding:0;border:0;background:var(--mist);cursor:zoom-in;overflow:hidden}.gallery img{display:block;aspect-ratio:4/3;width:100%;object-fit:cover;transition:transform .35s}.gallery button:hover img{transform:scale(1.025)}.gallery button:first-child:nth-last-child(odd){grid-column:1/-1}.gallery span{position:absolute;right:10px;bottom:8px;background:rgba(16,34,60,.85);color:white;padding:1px 8px;font-size:11px}.map-frame{border:0;width:100%;height:430px;background:var(--mist)}.documents{list-style:none;padding:0}.documents a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0}.documents a:after{content:'↗';color:var(--gold)}.layout-table{width:100%;border-collapse:collapse;font-size:14px}.layout-table td,.layout-table th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}.related{display:flex;gap:10px;flex-wrap:wrap}.related a{padding:8px 14px;border:1px solid var(--line);font-size:13px}footer{background:var(--ink);color:#fff;padding:30px max(4vw,24px);font-size:12px;letter-spacing:.08em}footer a{color:#d6c49e}dialog{border:0;background:var(--ink);color:#fff;max-width:96vw;padding:20px}dialog::backdrop{background:rgba(4,14,24,.92)}dialog img{display:block;max-width:90vw;max-height:78vh;object-fit:contain}dialog button{border:1px solid #73808e;background:transparent;color:#fff;padding:8px 16px;cursor:pointer;font:inherit}dialog .dialog-controls{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}.directory{max-width:1280px}.directory>h1{margin-top:30px}.directory>section{margin-top:55px;scroll-margin-top:20px}.directory h2 small{font:13px Arial;color:var(--muted);margin-left:10px}.directory-row{display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line);padding:18px 0}.directory-row:hover{background:var(--mist)}.directory-row small{display:block;color:var(--muted);font-size:12px}.directory-row>span:last-child{white-space:nowrap;font:14px ui-monospace,monospace}.directory-row b{color:var(--gold);padding-left:15px}.filters{display:grid;grid-template-columns:1fr 2fr;gap:25px;padding:25px;background:var(--mist);margin-top:35px}.filters span{display:block;font-size:12px;margin-bottom:6px}input,select{background:#fff;border:1px solid var(--line);padding:13px 14px;color:var(--ink);font:inherit;width:100%}[hidden]{display:none!important}.mobile-contact{display:none}.image-failed{min-height:120px;padding:20px;color:var(--muted)}
@media(max-width:850px){header{align-items:flex-start;gap:15px}.brand{font-size:17px}header nav{gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:200px;font-size:11px}main{padding:22px 20px 60px}.opening{padding-top:20px}.opening h1{font-size:36px}.hero{margin-bottom:32px}.hero>img{height:55vw;min-height:280px}.project-grid{grid-template-columns:1fr;gap:30px}aside{position:static;grid-row:1;padding:23px}.project-grid aside .amount{font-size:28px}.project-grid article h2{font-size:27px}.rich-section{margin-top:40px}.hero figcaption{font-size:10px;padding:8px 12px}.intro{font-size:16px}.gallery{gap:8px}.map-frame{height:330px}.directory h1{font-size:37px}.filters{grid-template-columns:1fr;padding:18px;gap:15px}.directory-row{align-items:flex-start;gap:15px}.directory-row>span:last-child{font-size:12px}.directory-row strong{font-size:14px}.directory-row b{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:850px){body:has(main[data-project]){padding-bottom:70px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30;background:white;box-shadow:0 -2px 14px #10223c1a;padding:9px 12px;gap:10px}.mobile-contact>a{display:flex;align-items:center;justify-content:center;font-size:13px;min-height:44px}body:has(dialog[open]) .mobile-contact{display:none}}

.plan-gallery a{display:block;border:1px solid #e1e5e8;color:inherit;text-decoration:none;background:#fff}.plan-gallery img{object-fit:contain;background:#fff;height:240px;width:100%}.plan-gallery span{display:block;padding:12px;font-size:13px;line-height:1.5}

.plan-gallery a{position:relative}.plan-gallery span{position:static;background:#f2f5f7;color:#172a40;white-space:normal}

.project-video{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;background:#132438;border-radius:2px}
