*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;color:#1d2a26;line-height:1.55;background:#fafaf7}
a{color:#2f5d50}.wrap{max-width:1080px;margin:auto;padding:0 18px}
header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e2da;z-index:9}header .wrap{display:flex;justify-content:space-between;align-items:center;height:58px}
.logo{font-weight:800}.btn{display:inline-block;background:#d9822b;color:#fff;padding:12px 20px;border-radius:8px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-size:1rem}
.btn.alt{background:#fff;color:#2f5d50;border:2px solid #2f5d50}.lang{background:none;border:1px solid #ccc;border-radius:6px;padding:6px 10px;cursor:pointer}
.hero{background:linear-gradient(135deg,#2f5d50,#1d3b33);color:#fff;padding:56px 0}.hero h1{font-size:2rem;margin:0 0 12px}.hero p{font-size:1.1rem;opacity:.92}
section{padding:48px 0}h2{font-size:1.6rem;margin-top:0}.grid{display:grid;gap:18px}
@media(min-width:760px){.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:1fr 1fr}.g4{grid-template-columns:repeat(4,1fr)}.hero h1{font-size:2.7rem}}
.card{background:#fff;border:1px solid #e5e2da;border-radius:12px;padding:22px}.card.feat{border:2px solid #d9822b}
.price{font-size:1.5rem;font-weight:800;color:#2f5d50}.ph{background:#fff3cd;color:#7a5b00;font-size:.75rem;padding:2px 6px;border-radius:4px;font-weight:600}
ul.chk{padding-left:0;list-style:none}ul.chk li:before{content:"✓ ";color:#2f5d50;font-weight:700}
.step b{display:inline-flex;width:34px;height:34px;border-radius:50%;background:#d9822b;color:#fff;align-items:center;justify-content:center;margin-bottom:8px}
.areas span{display:inline-block;background:#fff;border:1px solid #ddd;border-radius:20px;padding:6px 14px;margin:4px}
.gal img{width:100%;border-radius:8px;display:block}.alt-bg{background:#f0eee8}
details{background:#fff;border:1px solid #e5e2da;border-radius:8px;padding:14px;margin-bottom:10px}summary{font-weight:700;cursor:pointer}
form label{display:block;font-weight:600;margin:12px 0 4px}input,select,textarea{width:100%;padding:11px;border:1px solid #bbb;border-radius:8px;font:inherit}
footer{background:#1d2a26;color:#cfd8d4;padding:30px 0;font-size:.9rem}
[data-lang=zh] .en{display:none}[data-lang=en] .zh{display:none}
/* door theme */
:root{--wood:#b07a45;--ink:#161412;--warm:#f6f1ea}
body{background:var(--warm)}header{background:var(--ink);border-bottom:3px solid var(--wood)}header .logo{color:#fff;display:flex;gap:8px;align-items:center}.lang{color:#fff;border-color:#555}
.btn{background:var(--wood)}.btn.alt{color:var(--ink)!important;border-color:var(--ink)}
.hero{background-size:cover;background-position:center right;padding:90px 0 110px;min-height:560px;position:relative}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:repeating-linear-gradient(90deg,var(--wood) 0 60px,#8a5a2e 60px 64px)}
.hero h1{max-width:620px;text-shadow:0 2px 12px rgba(0,0,0,.4)}.hero p{max-width:560px}
.pimg{width:calc(100% + 44px);margin:-22px -22px 14px;height:180px;object-fit:cover;border-radius:12px 12px 0 0;display:block}
.card{position:relative;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05)}.card.feat{border-color:var(--wood)}
.card:after{content:"";position:absolute;right:16px;bottom:16px;width:30px;height:46px;border:2px solid rgba(176,122,69,.25);border-radius:3px;background:radial-gradient(circle at 70% 55%,rgba(176,122,69,.35) 2px,transparent 3px)}
.price{color:var(--ink)}ul.chk li:before{color:var(--wood)}.step b{background:var(--ink);border:2px solid var(--wood);border-radius:4px 4px 0 0}
.alt-bg{background:#ece4d8 repeating-linear-gradient(90deg,transparent 0 119px,rgba(176,122,69,.08) 119px 121px)}
h2{position:relative;padding-left:18px}h2:before{content:"";position:absolute;left:0;top:.2em;width:8px;height:1.1em;border:2px solid var(--wood);border-radius:2px}
figure{margin:0;position:relative}figcaption{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.65);color:#fff;font-size:.72rem;padding:3px 8px;border-radius:4px}
.gal img{aspect-ratio:16/9;object-fit:cover}.feature{background:#fff}footer{background:var(--ink);border-top:3px solid var(--wood)}
@media(max-width:759px){.hero{padding:56px 0 70px;min-height:480px;background-position:72% center}}
header .wrap>span:last-child{display:flex;gap:6px;align-items:center;flex-shrink:0}
@media(max-width:759px){header .btn{padding:8px 12px;font-size:.85rem}.lang{padding:5px 7px;font-size:.8rem}header .logo{font-size:.9rem}}
.hdr-actions{display:flex!important;gap:6px;align-items:center;white-space:nowrap}
.trust{background:var(--ink);color:#fff;padding:16px 0}.trust .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center}
.trust .wrap>div{display:flex;flex-direction:column;align-items:center;font-size:.8rem;min-width:120px;text-align:center}.trust b{color:#e2b07a;font-size:1rem}
.typ{display:block;font-size:.72rem;font-weight:500;color:#6b5a48;margin-top:4px}
#photo-quote ol{padding-left:20px}
.card .badge{position:absolute;top:12px;right:12px;z-index:2;background:var(--wood);color:#fff;font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:20px;letter-spacing:.04em}
.price small{font-size:.85rem;font-weight:600;color:#6b5a48}.typical{margin:2px 0 0;font-weight:700;color:var(--wood)}
.tag{font-weight:600;margin:8px 0}.tiers{font-size:.82rem;background:var(--warm);border-radius:8px;padding:8px 10px}.note{color:#6b5a48}
dl.grp{margin:6px 0}dl.grp dt{font-weight:800;font-size:.85rem;color:var(--wood);margin-top:8px}dl.grp dd{margin:0;font-size:.9rem}
.card.custom,.card.addons{margin-top:18px}.addons table{width:100%;border-collapse:collapse}.addons td{padding:8px 4px;border-bottom:1px solid #eee}.addons td:last-child{text-align:right;font-weight:700;white-space:nowrap}
.upgrade{margin-top:18px;padding:14px 16px;border-left:4px solid var(--wood);background:#fff;border-radius:6px}
#packages .card:after{display:none}
