:root{color-scheme:light;--ink:#203132;--muted:#61706f;--cream:#f6f4ef;--paper:#fffefa;--line:#deded7;--forest:#33534e;--sage:#dbe7dc;--peach:#e8d8c4;--shadow:0 22px 70px rgba(39,53,49,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;line-height:1.6}button,a{font:inherit}button{cursor:pointer}a{color:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.site-header{height:78px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:19px;font-weight:800;letter-spacing:.05em;line-height:1.2}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.19em;margin-top:6px}.brand-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--forest);color:white;font-size:26px;font-weight:400}.scope-pill{padding:5px 12px;border:1px solid #bdd0c2;border-radius:30px;color:var(--forest);font-size:12px;font-weight:700;letter-spacing:.08em}
.intro{padding:78px 0 56px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--forest);font-size:11px;font-weight:800;margin:0 0 17px}.intro h1{margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(46px,6vw,78px);line-height:1.22;letter-spacing:-.07em;font-weight:600}.intro h1 em{font-style:normal;color:#71947d}.intro-copy{max-width:640px;margin:25px 0 22px;color:var(--muted);font-size:17px}.intro-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.text-button{border:0;border-bottom:1px solid var(--forest);padding:0 0 4px;background:none;color:var(--forest);font-weight:700}.text-button:hover,.quiet-link:hover{color:#71947d}.quiet-link{text-decoration:none;color:var(--muted);font-size:14px}.experience{padding-bottom:80px}.experience-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.experience-top h2,.reference h2{font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(26px,3vw,37px);letter-spacing:-.04em;line-height:1.35;margin:0}.photo-count{color:var(--muted);font-size:14px}.view-switch{display:flex;gap:10px;margin-bottom:17px}.view-button{width:220px;padding:12px 16px;text-align:left;color:var(--muted);background:#eceee8;border:1px solid transparent;border-radius:10px;transition:background .15s,border-color .15s}.view-button span{display:block;font-size:12px}.view-button strong{display:block;color:var(--ink);font-size:15px;font-weight:700}.view-button:hover{border-color:#afc3b8}.view-button.is-active{background:var(--forest);color:#dfece1}.view-button.is-active strong{color:white}.experience-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);gap:17px}.photo-card{margin:0;background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.photo-frame{height:620px;position:relative;display:flex;align-items:center;justify-content:center;background:#e6e7e1}.photo-frame img{display:block;width:100%;height:100%;object-fit:contain}.photo-badge{position:absolute;left:18px;top:18px;padding:6px 12px;background:rgba(255,254,250,.91);border-radius:20px;color:var(--forest);font-size:12px;font-weight:700}.photo-card figcaption{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 23px 20px}.photo-card figcaption strong{font-size:17px}.photo-card figcaption p{margin:5px 0 0;color:var(--muted);font-size:13px}.photo-card figcaption a{flex:none;text-decoration:none;border-bottom:1px solid var(--forest);color:var(--forest);font-size:13px;padding-top:2px}.future-card{display:flex;flex-direction:column;min-height:620px;padding:31px;background:#e8ede6;border-radius:16px;overflow:hidden}.future-art{height:260px;position:relative;display:grid;place-items:center;margin:14px 0 32px;border:1px solid rgba(62,93,78,.22);border-radius:11px;background:linear-gradient(140deg,#f2f4ed,#d7e3d9);overflow:hidden}.future-circle{width:210px;height:210px;border:1px solid rgba(81,114,96,.32);border-radius:50%;box-shadow:0 0 0 42px rgba(233,242,232,.5),0 0 0 84px rgba(233,242,232,.22)}.future-lines{position:absolute;font-family:serif;font-size:130px;font-weight:100;color:#75947f;transform:rotate(-25deg);line-height:1}.future-card h2{font-family:"Noto Serif SC","Songti SC",serif;font-size:28px;margin:0 0 9px}.future-card>p:not(.eyebrow){margin:0;color:#50645a;font-size:14px}.compare-control{margin-top:auto;padding-top:26px}.compare-control button{width:100%;padding:13px 18px;border:0;border-radius:8px;background:#aec1b0;color:#f7faf7;font-weight:700;cursor:not-allowed}.compare-control p{font-size:12px;color:#52675a;margin:9px 0 0}.evidence-note{margin:13px 0 0;color:var(--muted);font-size:13px}.reference{padding:55px 0 90px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.reference-copy>p:not(.eyebrow){max-width:430px;color:var(--muted);font-size:15px}.reference-copy .reference-footnote{font-size:12px!important;margin-top:22px}.video-card{padding:15px;background:var(--paper);border-radius:15px;box-shadow:var(--shadow)}.video-card video{display:block;width:100%;max-height:430px;aspect-ratio:592/680;background:#18201e;object-fit:contain;border-radius:8px}.video-card span{display:block;margin:12px 5px 2px;color:var(--muted);font-size:12px}.site-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:30px;color:var(--muted);font-size:12px}.site-footer p{margin:0}
dialog{width:min(680px,calc(100vw - 32px));max-height:90vh;border:0;border-radius:15px;padding:22px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #1a312b55}dialog::backdrop{background:#14231fc4}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between}.dialog-head h2{font-family:"Noto Serif SC","Songti SC",serif;font-size:28px;margin:0}.dialog-head button{border:0;background:none;color:var(--forest)}dialog>p{color:var(--muted);font-size:13px}dialog img{display:block;max-width:100%;max-height:56vh;margin:15px auto;object-fit:contain}dialog form{text-align:right}dialog form button{border:0;background:var(--forest);color:white;padding:9px 18px;border-radius:7px}button:focus-visible,a:focus-visible,video:focus-visible{outline:3px solid #ab8d5a;outline-offset:3px}
@media(max-width:800px){.intro{padding:50px 0 45px}.experience-grid,.reference{grid-template-columns:1fr}.photo-frame{height: min(66vh,660px)}.future-card{min-height:unset}.future-art{height:170px;margin:0 0 22px}.future-circle{width:130px;height:130px}.future-lines{font-size:80px}.reference{gap:25px;padding:55px 0}.video-card video{max-height:500px}}@media(max-width:520px){.wrap{width:calc(100% - 30px)}.site-header{height:65px;padding:0 15px}.intro h1{font-size:44px}.view-button{width:50%;padding:10px}.view-button strong{font-size:13px}.photo-frame{height:62vh}.photo-card figcaption{display:block;padding:16px}.photo-card figcaption a{display:inline-block;margin-top:12px}.future-card{padding:23px}.site-footer{display:block}}

.media-error{position:absolute;inset:auto 16px 16px;margin:0;padding:14px 18px;border-radius:9px;background:rgba(255,254,250,.95);font-size:13px;color:var(--ink)}.media-error a,.video-links a,dialog>a{color:var(--forest);font-weight:700}.video-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:9px 5px 1px;font-size:12px}.video-links span{margin:0;color:#8b4d38}dialog>a{display:inline-block;margin:0 0 10px;font-size:13px}#plan-error{color:#8b4d38}

[hidden]{display:none!important}

.concept-frame{position:relative;height:340px;display:flex;align-items:center;justify-content:center;margin:12px 0 22px;border:1px solid rgba(62,93,78,.22);border-radius:11px;background:#dde4da;overflow:hidden}
.concept-frame img{display:block;width:100%;height:100%;object-fit:contain}
.concept-badge{position:absolute;left:12px;top:12px;padding:5px 10px;border-radius:20px;background:rgba(255,254,250,.94);color:var(--forest);font-size:12px;font-weight:700}
.concept-link{display:inline-block;align-self:flex-start;margin-top:12px;color:var(--forest);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.concept-frame{height:min(52vh,400px)}}
@media(max-width:520px){.concept-frame{height:280px}}

/* Full-home room navigation */
.intro{padding-bottom:62px}
.room-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:34px}
.room-button{min-width:0;min-height:110px;padding:14px 15px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--muted);transition:background .15s,border-color .15s,transform .15s}
.room-button:hover{border-color:#8daa97;transform:translateY(-2px)}
.room-button span,.room-button strong,.room-button small{display:block}
.room-button span{font-size:11px;letter-spacing:.15em}
.room-button strong{margin:10px 0 1px;color:var(--ink);font-size:14px;line-height:1.3}
.room-button small{font-size:11px}
.room-button.is-active{background:var(--forest);border-color:var(--forest);color:#e0ebdf}
.room-button.is-active strong{color:#fff}
.room-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px}
.room-heading .eyebrow{margin-bottom:5px}
.room-heading h3{font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.04em;line-height:1.3;margin:0}
.room-heading p:not(.eyebrow){color:var(--muted);font-size:13px;margin:6px 0 0}
.room-status{flex:none;padding:6px 11px;border-radius:100px;background:#e3ebe1;color:var(--forest);font-size:12px;font-weight:700}
.room-status.is-pending{background:#eee7d7;color:#76613e}
.view-switch[hidden]{display:none!important}
.image-actions{display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap}
.image-actions a,.image-button{flex:none;color:var(--forest);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.image-button{padding:0;border:0;background:none}
.concept-actions{justify-content:flex-start;margin-top:12px}
.boundary-note{margin:14px 0 0;padding:13px 17px;border-left:3px solid #a4b8a5;background:#eaf0e8;color:#4c6153;font-size:13px}
.image-dialog{width:min(1100px,calc(100vw - 24px));height:min(94vh,1000px);max-height:94vh;display:flex;flex-direction:column}
.image-dialog:not([open]){display:none}
.image-dialog img{min-height:0;max-width:100%;max-height:none;flex:1;object-fit:contain}
.image-dialog>a{align-self:flex-start;margin-top:10px}
@media(max-width:960px){.room-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.intro{padding-bottom:38px}.room-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:26px}.room-button{min-height:92px;padding:11px}.room-button strong{font-size:13px;margin-top:6px}.room-heading{display:block}.room-status{display:inline-block;margin-top:12px}.image-actions{justify-content:flex-start}.photo-card figcaption .image-actions{margin-top:12px}.image-dialog{width:calc(100vw - 12px);height:95vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.room-button{transition:none}}


/* Keep the room imagery visible in a typical desktop first screen. */
.site-header{height:70px}
.intro{padding:46px 0 34px}
.intro h1{font-size:clamp(42px,5vw,64px);line-height:1.16}
.intro-copy{margin:17px 0 16px}
.experience-top{margin-bottom:18px}
.room-nav{margin-bottom:24px}
.room-button{min-height:96px}
.room-heading{margin-bottom:12px}
.view-switch{margin-bottom:13px}
@media(max-width:520px){.site-header{height:65px}.intro{padding:42px 0 34px}.intro h1{font-size:42px}.room-button{min-height:90px}}

/* Show the room inside the tall phone capture; the zoom dialog retains the full source. */
.photo-frame img{object-fit:cover;object-position:center 44%}
@media(max-width:520px){.photo-frame{height:auto;aspect-ratio:4/3}}
