:root{--ink:#201c19;--paper:#f5f1ec;--warm:#e8e0d8;--line:#d9d0c7;--wine:#793337;--muted:#746b64;--white:#fff;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbfaf8;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}.topbar{height:68px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(251,250,248,.94);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{font:700 19px/1 Georgia,serif;letter-spacing:.12em;color:var(--ink);text-decoration:none}.project-meta{display:flex;gap:16px;font-size:12px;color:var(--muted)}.project-meta b{color:var(--wine)}.menu-button{display:none}.chapter-nav{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:20;display:grid;gap:7px}.chapter-nav a{width:54px;padding:7px 5px;text-align:center;background:rgba(255,255,255,.9);border:1px solid var(--line);color:var(--muted);font-size:11px;text-decoration:none}.chapter-nav a:hover{background:var(--wine);color:#fff}.hero{height:calc(100svh - 68px);min-height:620px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,13,.7),rgba(18,15,13,.08) 68%)}.hero-copy{position:absolute;left:max(7vw,calc((100vw - var(--max))/2));top:50%;transform:translateY(-50%);color:white;max-width:610px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:#d8c6b4}.eyebrow.dark{color:var(--wine)}h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(48px,6vw,82px);line-height:1.08;margin:16px 0 22px;font-weight:400}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:510px}.hero-actions{display:flex;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border:1px solid transparent;text-decoration:none;font-weight:650;font-size:14px;cursor:pointer}.button.light{background:white;color:var(--ink)}.button.ghost{border-color:rgba(255,255,255,.6);color:#fff}.button.wide{width:100%;margin-top:20px}.status-strip{position:absolute;bottom:0;left:0;right:0;padding:16px max(7vw,calc((100vw - var(--max))/2));display:flex;gap:36px;background:rgba(28,23,20,.82);color:#ddd3ca;font-size:12px}.status{margin-left:auto;color:white}.section{max-width:var(--max);margin:auto;padding:95px 40px}.intro{max-width:900px;text-align:center}.intro h2{font:400 clamp(32px,4vw,52px)/1.35 Georgia,"Songti SC",serif;margin:18px 0}.intro>p:last-child{line-height:2;color:var(--muted)}h2{font:400 38px/1.2 Georgia,"Songti SC",serif;margin:8px 0 14px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.tag,.total-inline{font-size:13px;color:var(--wine);border-bottom:1px solid var(--wine);padding:6px 0}.video-poster{padding:0;border:0;width:100%;height:520px;position:relative;overflow:hidden;background:#111;cursor:pointer}.video-poster img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:.5s}.video-poster:hover img{transform:scale(1.015);opacity:.6}.play{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:76px;height:76px;border:1px solid white;border-radius:50%;display:grid;place-items:center;color:white;font-size:21px}.video-label{position:absolute;left:50%;top:62%;transform:translateX(-50%);color:white;font-size:14px}.caption{font-size:12px;color:var(--muted)}.plan-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:38px;align-items:start}.plan-layout>img{width:100%;background:white}.plan-index{background:var(--paper);padding:30px}.plan-index h3{margin-top:0}.plan-index ol{list-style:none;margin:0;padding:0}.plan-index li{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}.plan-index b{background:var(--wine);color:#fff;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-size:12px}.text-link{border:0;background:none;color:var(--wine);cursor:pointer}.materials{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:32px}.materials article{border-top:1px solid var(--line);padding-top:14px}.materials h3{font-size:15px;margin:12px 0 5px}.materials p{font-size:12px;color:var(--muted);margin:0}.swatch{display:block;height:135px;background:#ddd}.swatch.fabric{background:repeating-radial-gradient(circle at 30% 30%,#f4eee5 0 2px,#e8dfd4 3px 5px)}.swatch.oak{background:repeating-linear-gradient(92deg,#171310 0 5px,#2c2520 6px 9px)}.swatch.leather{background:linear-gradient(140deg,#0d0c0b,#292522)}.swatch.lacquer{background:linear-gradient(135deg,#3d1016,#7a2d38 48%,#2b0b0f)}.swatch.rug{background:repeating-linear-gradient(7deg,#83786d 0 1px,#9c9083 2px 4px)}.product-list{border-top:1px solid var(--ink)}.product{border-bottom:1px solid var(--line)}.product-head{display:grid;grid-template-columns:55px 1fr auto auto;gap:20px;align-items:center;padding:22px 0;cursor:pointer}.number{width:42px;height:42px;border-radius:50%;background:var(--wine);color:white;display:grid;place-items:center;font-size:12px}.product-name b{display:block}.product-name small{color:var(--muted)}.product-price{font:400 19px Georgia,serif}.choice{display:flex;align-items:center;gap:8px}.choice input{accent-color:var(--wine);width:18px;height:18px}.product-detail{display:none;padding:0 0 25px 75px;color:var(--muted);font-size:13px;line-height:1.8}.product.open .product-detail{display:block}.product-detail a{color:var(--wine)}.styling-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}.styling-card{background:var(--paper);padding:25px;border-top:3px solid var(--wine)}.styling-card h3{margin:0 0 10px}.styling-card p{color:var(--muted);font-size:13px;line-height:1.8}.styling-card label{display:flex;gap:8px;font-size:13px}.budget{max-width:none;background:var(--ink);color:white;padding-left:max(40px,calc((100vw - var(--max))/2));padding-right:max(40px,calc((100vw - var(--max))/2))}.budget .eyebrow{color:#cab7a5}.budget h2{font-size:50px}.budget-row{display:flex;justify-content:space-between;border-top:1px solid #665e58;padding:18px 0}.budget-row.total{font-size:22px}.budget p{color:#bfb5ad;font-size:12px;line-height:1.8}.downloads{padding-bottom:130px}.download-row{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.download-row small{display:block;color:var(--muted);margin-top:5px}.download-row em{font-style:normal;color:var(--wine)}footer{padding:30px max(24px,calc((100vw - var(--max))/2));border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}dialog{border:0;padding:0;max-width:min(1000px,92vw);background:#111;color:white}dialog::backdrop{background:rgba(0,0,0,.75)}dialog img{max-width:90vw;max-height:85vh;display:block}.dialog-close{position:absolute;right:12px;top:8px;background:#fff;border:0;width:36px;height:36px;border-radius:50%;z-index:2}.dialog-message{padding:55px;max-width:520px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,130px);background:var(--wine);color:white;padding:14px 22px;z-index:50;transition:.3s}.toast.show{transform:translate(-50%,0)}@media(max-width:780px){.topbar{padding:0 18px}.project-meta span{display:none}.menu-button{display:block;border:0;background:none}.chapter-nav{display:none;position:fixed;right:12px;top:75px;transform:none;background:white;padding:10px}.chapter-nav.open{display:grid;grid-template-columns:repeat(4,1fr)}.hero{height:78svh;min-height:590px}.hero-copy{left:24px;right:24px;top:47%}.hero-copy h1{font-size:48px}.hero-actions{flex-wrap:wrap}.status-strip{padding:13px 18px;gap:10px;overflow:auto}.status{margin-left:0}.section{padding:68px 20px}.section-heading{align-items:flex-start;gap:15px}.video-poster{height:300px}.plan-layout{grid-template-columns:1fr}.materials{grid-template-columns:repeat(2,1fr)}.materials article:last-child{grid-column:span 2}.product-head{grid-template-columns:45px 1fr;gap:10px}.product-price,.choice{grid-column:2}.product-detail{padding-left:55px}.styling-list{grid-template-columns:1fr}.budget{padding:68px 20px}footer{padding:26px 20px}.hero-actions .button{flex:1}.chapter-nav a{width:auto}}
/* Official brand artwork replaces the temporary text wordmark. */
.topbar .brand{display:flex;align-items:center;width:150px;height:34px;text-decoration:none}
.topbar .brand img{display:block;width:100%;height:auto;max-height:28px;object-fit:contain;object-position:left center}
.product-head{grid-template-columns:132px minmax(260px,1fr) auto auto auto;padding:16px 0}
.product-media{position:relative;display:block;width:132px;height:94px;overflow:hidden;background:#f3f0ec}
.product-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.product-head:hover .product-media img{transform:scale(1.035)}
.product-media .number{position:absolute;left:8px;top:8px;width:34px;height:34px;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.official-link{color:var(--wine);font-size:12px;text-decoration:none;white-space:nowrap;border-bottom:1px solid currentColor;padding:5px 0}
.official-link:hover{color:var(--ink)}
.official-link.unavailable{color:var(--muted);border-bottom:0}
@media(max-width:780px){.section-heading{flex-direction:column}.section-heading .tag,.section-heading .total-inline{align-self:flex-start}.product-head{grid-template-columns:104px 1fr}.product-media{width:104px;height:82px;grid-row:1 / span 4}.product-name,.official-link,.product-price,.choice{grid-column:2}.official-link{justify-self:start}}
.download-notice{display:grid;grid-template-columns:180px 1fr;gap:24px;margin:26px 0 18px;padding:22px 24px;background:var(--paper);border-left:3px solid var(--wine)}
.download-notice b{color:var(--wine)}.download-notice span{color:var(--muted);font-size:13px;line-height:1.7}
.download-row.locked{cursor:not-allowed;color:#746b64}.download-row.locked em{color:#8b8179}
@media(max-width:780px){.download-notice{grid-template-columns:1fr;gap:8px;padding:18px}}

/* Keep WeChat from inflating Chinese text and keep cloud-delivery CTAs on brand. */
html,body{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
.button.light{background:var(--wine)!important;color:#fff!important;border-color:var(--wine)!important}
