:root{
  --ink:#14150f; --ink-2:#1d1e16; --ink-3:#26271e;
  --paper:#f2efe8; --paper-2:#e8e4da;
  --gold:#8f7444; --gold-lift:#c6a86e;
  --rule:#d2cbba; --rule-dark:rgba(242,239,232,0.16);
  --muted:#6b6659; --muted-dark:rgba(242,239,232,0.66);
  --ok:#3f6b4f;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Be Vietnam Pro',system-ui,sans-serif;font-size:16px;
  line-height:1.62;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;margin:0;
  letter-spacing:-0.005em;line-height:1.1;font-weight:600;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){.wrap{padding:0 18px;}}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* utility bar + masthead (same as rest of site) */
.bar{background:var(--ink);color:var(--muted-dark);font-size:13px;}
.bar .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:10px;padding-bottom:10px;}
.bar a{color:rgba(242,239,232,0.86);} .bar a:hover{color:var(--gold-lift);}
.bar .right{display:flex;gap:22px;}
@media (max-width:640px){.bar .right span{display:none;}.bar{font-size:12.5px;}}
.mast{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--rule);}
.mast-in{max-width:1140px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;gap:28px;}
@media (max-width:640px){.mast-in{padding:12px 18px;gap:14px;}}
.logo{flex-shrink:0;display:block;} .logo img{height:54px;width:auto;}
@media (max-width:640px){.logo img{height:44px;}}
nav{flex:1;display:flex;gap:26px;overflow-x:auto;scrollbar-width:none;}
nav::-webkit-scrollbar{display:none;}
nav a{font-size:14.5px;color:var(--muted);white-space:nowrap;padding-bottom:2px;border-bottom:2px solid transparent;}
nav a:hover,nav a[aria-current]{color:var(--ink);border-bottom-color:var(--gold);}
nav a.hot{color:var(--gold);font-weight:600;}
.call{flex-shrink:0;background:var(--ink);color:var(--paper);font-weight:600;font-size:14px;padding:10px 18px;}
.call:hover{background:var(--gold);}
@media (max-width:520px){.call{padding:9px 13px;font-size:13.5px;}}

/* buttons */
.btn{display:inline-block;font-weight:600;font-size:14.5px;padding:13px 22px;cursor:pointer;border:0;font-family:inherit;}
.btn-gold{background:var(--gold-lift);color:var(--ink);} .btn-gold:hover{background:#d8bd85;}
.btn-ink{background:var(--ink);color:var(--paper);} .btn-ink:hover{background:var(--gold);}
.btn-line{border:1px solid var(--rule-dark);color:var(--paper);background:none;}
.btn-line:hover{border-color:var(--gold-lift);color:var(--gold-lift);}
.btn-line-dark{border:1px solid var(--rule);color:var(--ink);background:none;}
.btn-line-dark:hover{border-color:var(--gold);color:var(--gold);}

/* page head (dark) */
.phead{background:var(--ink);color:var(--paper);padding:60px 0 54px;}
.phead .kicker{font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-lift);font-weight:600;}
.phead h1{font-size:clamp(36px,5.4vw,60px);margin-top:12px;}
.phead p{margin:16px 0 0;color:var(--muted-dark);max-width:58ch;font-size:16.5px;}
.rule{display:block;width:56px;height:4px;background:var(--gold-lift);margin-bottom:20px;}

/* stats strip */
.stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:720px;border-top:1px solid var(--rule-dark);margin-top:40px;}
.stats div{padding:20px 20px 0 0;}
.stats b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:36px;font-weight:600;color:var(--gold-lift);line-height:1;}
.stats span{font-size:13.5px;color:var(--muted-dark);}
@media (max-width:520px){.stats b{font-size:28px;}}

section{padding:70px 0;}
@media (max-width:640px){section{padding:50px 0;}}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:30px;}
.shead h2{font-size:clamp(30px,4vw,42px);}
.shead p{margin:8px 0 0;color:var(--muted);max-width:52ch;}
.alt{background:var(--paper-2);}

/* project cards */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:940px){.pgrid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.pgrid{grid-template-columns:1fr;}}
.pcard{background:var(--ink);color:var(--paper);display:flex;flex-direction:column;position:relative;overflow:hidden;}
.pcard .pc-img{aspect-ratio:4/3;width:100%;object-fit:cover;transition:transform .5s ease;}
.pcard:hover .pc-img{transform:scale(1.04);}
.pc-ph{aspect-ratio:4/3;width:100%;display:flex;align-items:flex-end;padding:24px;
  background:radial-gradient(120% 90% at 85% 10%,rgba(198,168,110,0.28),transparent 60%),
             linear-gradient(160deg,#2a2b21,#14150f 70%);}
.pc-ph span{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:26px;line-height:1.05;color:rgba(242,239,232,0.9);}
.pc-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1;border-top:2px solid var(--gold-lift);}
.pc-body h3{font-size:25px;}
.pc-meta{font-size:13.5px;color:var(--muted-dark);}
.pc-foot{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.badge{font-size:11.5px;font-weight:600;padding:4px 10px;letter-spacing:0.02em;}
.badge-gold{background:var(--gold-lift);color:var(--ink);}
.badge-dim{background:rgba(242,239,232,0.1);color:var(--muted-dark);}
.pc-go{font-size:13.5px;font-weight:600;color:var(--gold-lift);}

/* filters */
.filters{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:10px;margin-bottom:22px;}
@media (max-width:900px){.filters{grid-template-columns:1fr 1fr;}}
.filters input,.filters select{width:100%;font-family:inherit;font-size:14.5px;padding:11px 12px;
  border:1px solid var(--rule);background:#fbfaf6;color:var(--ink);border-radius:0;appearance:none;}
.filters select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px;}
.count{font-size:13.5px;color:var(--muted);margin-bottom:12px;}

/* unit cards */
.ugrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:940px){.ugrid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.ugrid{grid-template-columns:1fr;}}
.ucard{border:1px solid var(--rule);background:#fbfaf6;display:flex;flex-direction:column;transition:border-color .2s;}
.ucard:hover{border-color:var(--gold);}
.u-img{position:relative;aspect-ratio:16/10;background:var(--paper-2);overflow:hidden;}
.u-img img{width:100%;height:100%;object-fit:cover;}
.u-img .badge{position:absolute;top:12px;left:12px;}
.u-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:4px;flex:1;}
.u-proj{font-size:12.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.u-code{font-size:28px;}
.u-price{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;font-weight:600;color:var(--ink);line-height:1.1;margin-top:4px;}
.u-price small{font-family:'Be Vietnam Pro',sans-serif;font-size:12px;color:var(--muted);font-weight:400;}
.u-spec{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);margin-top:12px;padding-top:12px;gap:8px;}
.u-spec div{font-size:12.5px;color:var(--muted);}
.u-spec b{display:block;font-size:14.5px;color:var(--ink);font-weight:600;}
.u-acts{display:flex;gap:8px;margin-top:16px;}
.u-acts a{flex:1;text-align:center;padding:10px 8px;font-size:13.5px;font-weight:600;}
.none{grid-column:1/-1;padding:48px 24px;text-align:center;color:var(--muted);border:1px dashed var(--rule);}

/* facts */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rule);background:#fbfaf6;}
.facts div{padding:18px 20px;border-right:1px solid var(--rule);}
.facts div:last-child{border-right:0;}
.facts dt{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;}
.facts dd{margin:4px 0 0;font-weight:600;}
@media (max-width:720px){.facts{grid-template-columns:1fr 1fr;}.facts div:nth-child(2){border-right:0;}
  .facts div:nth-child(-n+2){border-bottom:1px solid var(--rule);}}

/* zones */
.zgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:880px){.zgrid{grid-template-columns:1fr;}}
.zone{background:var(--ink);color:var(--paper);display:flex;flex-direction:column;}
.zone img{aspect-ratio:4/3;object-fit:cover;width:100%;cursor:zoom-in;}
.zone .zb{padding:18px 20px 22px;}
.zone h3{font-size:26px;}
.zone p{margin:6px 0 0;font-size:14px;color:var(--muted-dark);}
.zone .zb a{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:600;color:var(--gold-lift);border-bottom:1px solid currentColor;}

/* hero for project */
.phero{position:relative;background:var(--ink);color:var(--paper);min-height:460px;display:flex;align-items:flex-end;overflow:hidden;}
.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%;opacity:0.62;}
.phero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,21,15,0.15) 20%,rgba(20,21,15,0.92));}
.phero .wrap{position:relative;z-index:2;padding-top:90px;padding-bottom:48px;width:100%;}
.phero h1{font-size:clamp(40px,6vw,72px);margin-top:10px;}
.phero p{max-width:58ch;color:rgba(242,239,232,0.8);margin:14px 0 0;}
.phero .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.crumb{font-size:13px;color:var(--muted-dark);} .crumb a:hover{color:var(--gold-lift);}

/* lead form */
.lead{background:var(--ink);color:var(--paper);}
.lead-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
@media (max-width:820px){.lead-in{grid-template-columns:1fr;gap:28px;}}
.lead h2{font-size:clamp(30px,4vw,42px);}
.lead p{color:var(--muted-dark);}
.lead ul{padding:0;margin:18px 0 0;list-style:none;}
.lead li{padding:10px 0;border-top:1px solid var(--rule-dark);font-size:14.5px;color:rgba(242,239,232,0.86);}
.lead li:before{content:"— ";color:var(--gold-lift);}
.lf{display:grid;gap:12px;}
.lf label{font-size:13px;color:var(--muted-dark);display:block;margin-bottom:5px;}
.lf input,.lf select,.lf textarea{width:100%;font-family:inherit;font-size:15px;padding:12px 13px;
  background:var(--ink-3);border:1px solid var(--rule-dark);color:var(--paper);border-radius:0;}
.lf input:focus,.lf select:focus,.lf textarea:focus{border-color:var(--gold-lift);outline:none;}
.lf .two{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:480px){.lf .two{grid-template-columns:1fr;}}
.lf .msg{font-size:14px;min-height:20px;}
.lf .msg.ok{color:#9fcfad;} .lf .msg.err{color:#e5a48f;}
.small{font-size:12.5px;color:var(--muted-dark);}

/* unit detail */
.ud{display:grid;grid-template-columns:1.25fr 1fr;gap:44px;align-items:start;}
@media (max-width:880px){.ud{grid-template-columns:1fr;gap:26px;}}
.gal-main{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--paper-2);cursor:zoom-in;}
.gal-th{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;}
.gal-th img{width:84px;height:64px;object-fit:cover;cursor:pointer;opacity:0.7;border:2px solid transparent;}
.gal-th img.on{opacity:1;border-color:var(--gold);}
.ud-box{border:1px solid var(--rule);background:#fbfaf6;padding:26px;}
.ud-box h1{font-size:44px;margin-top:6px;}
.ud-price{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;font-weight:600;line-height:1;margin-top:14px;}
.ud-split{display:flex;gap:18px;font-size:13.5px;color:var(--muted);margin-top:6px;flex-wrap:wrap;}
.ud-spec{margin:20px 0 0;border-top:1px solid var(--rule);}
.ud-spec div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:14.5px;}
.ud-spec dt{color:var(--muted);} .ud-spec dd{margin:0;font-weight:600;text-align:right;}
.ud-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;}
.ud-acts a{text-align:center;}
.ud-note{margin-top:18px;font-size:13.5px;color:var(--muted);}

/* lightbox */
.lb{display:none;position:fixed;inset:0;z-index:200;background:rgba(12,12,9,0.95);align-items:center;justify-content:center;}
.lb.on{display:flex;}
.lb img{max-width:92vw;max-height:86vh;object-fit:contain;}
.lb button{position:absolute;top:16px;right:18px;background:none;border:0;color:#fff;font-size:32px;cursor:pointer;width:44px;height:44px;}

footer{background:var(--ink-2);color:var(--muted-dark);font-size:13.5px;}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;padding-top:30px;padding-bottom:30px;}
.foot-logo{height:80px;width:auto;opacity:0.9;}
footer a:hover{color:var(--gold-lift);}
.disclaim{font-size:12.5px;color:var(--muted);margin-top:22px;}
@media (max-width:620px){.pc-ph,.pcard .pc-img{aspect-ratio:16/9;}}
