
:root{--ink:#f2f1e8;--dim:#b8c2ba;--lime:#cbe88b;--bg:#0b1011;--line:#ffffff24}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,'Microsoft YaHei',sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:5px}.notice{background:#d2e2a4;color:#203126;padding:8px 20px;text-align:center;font-size:12px}.nav{height:75px;position:absolute;z-index:5;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 6%;border-bottom:1px solid #ffffff24}.logo{font-weight:800;letter-spacing:.12em;font-size:20px}.logo small{display:block;letter-spacing:.18em;font-size:8px;font-weight:400;color:#b6c4bb}.menu{display:flex;align-items:center;gap:30px;font-size:13px}.menu button,.primary{border:1px solid #d7e5cb;background:#d7e5cb;color:#18211b;padding:12px 19px}.hero{height:min(900px,100vh);min-height:660px;position:relative;overflow:hidden;display:flex;align-items:center;background:#101b1a}.hero-bg{position:absolute;inset:-4%;background:linear-gradient(90deg,rgba(8,17,16,.86) 0%,rgba(8,17,16,.55) 45%,rgba(8,17,16,.15) 100%),url('assets/hero.jpg') center/cover;transform:scale(1.07);transition:transform .2s ease-out}.canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.7}.hero-content{position:relative;z-index:2;margin-left:8%;max-width:740px;padding-top:50px}.eyebrow{color:#cfe3a6;letter-spacing:.24em;text-transform:uppercase;font-size:11px}.hero h1{font-weight:500;font-size:clamp(48px,6.5vw,92px);letter-spacing:.02em;line-height:1.19;margin:25px 0}.hero h1 span{font-family:Georgia,'Songti SC',serif;font-style:italic;font-weight:400;color:#d5e4bf}.hero p{color:#d0d9d0;font-size:15px;line-height:2;max-width:420px}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:33px}.primary{display:inline-block}.primary:hover,.menu button:hover{background:var(--lime);border-color:var(--lime)}.link{font-size:13px;border-bottom:1px solid #b4c8bb;padding:12px 0}.hero-bottom{position:absolute;bottom:32px;left:6%;right:6%;z-index:2;display:flex;justify-content:space-between;color:#d4ded5;font-size:11px;letter-spacing:.16em}.ticker{overflow:hidden;background:#d4e9b4;color:#25342b;padding:15px 0;white-space:nowrap;font-size:12px;letter-spacing:.22em}.ticker-inner{display:inline-block;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:120px 7%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.number{font:italic 16px Georgia;color:#c8dbaf}.section h2{font:400 clamp(34px,4.5vw,62px)/1.35 Georgia,'Songti SC',serif;margin:20px 0;letter-spacing:.04em}.bodycopy{color:var(--dim);font-size:14px;line-height:2.1}.intro-visual{height:450px;perspective:1000px;position:relative;display:flex;align-items:center;justify-content:center}.layer{position:absolute;width:75%;height:77%;border:1px solid #d2ebbd77;transform:rotateY(-20deg) rotateX(5deg) translateZ(var(--z));box-shadow:0 30px 100px #0008}.layer.one{--z:-65px;background:#172d2a;left:5%;top:5%}.layer.two{--z:0px;left:12%;top:12%;background:url('assets/bedroom.jpg') center/cover}.layer.three{--z:65px;left:19%;top:19%;background:linear-gradient(135deg,#d9f1be24,transparent 45%);pointer-events:none}.layer-label{position:absolute;right:0;bottom:5%;background:#d3e9b3;color:#24372c;padding:16px 20px;font-size:11px;letter-spacing:.13em}.explore{background:#e4e9dc;color:#202d24}.explore .bodycopy{color:#697a6e}.explore-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.room-showcase{margin-top:40px;display:grid;grid-template-columns:1.2fr .8fr;min-height:490px;background:#f7f8f2}.room-photo{background:url('assets/apartment.jpg') center/cover;position:relative}.room-photo span{position:absolute;left:20px;bottom:20px;background:#f3f6e9;padding:8px 12px;font-size:11px}.room-copy{padding:50px;display:flex;flex-direction:column;justify-content:center}.room-copy h3{font:400 36px Georgia,'Songti SC',serif;margin:15px 0}.facts{border-top:1px solid #ccd5ca;border-bottom:1px solid #ccd5ca;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px 0;margin:20px 0}.facts span{display:block;font-size:11px;color:#8c9a8f;margin-bottom:8px}.facts b{font-size:13px}.darkbtn{background:#263f34;color:white;border:0;padding:15px 20px;align-self:start}.experience{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.hover-frame{perspective:900px}.photo-card{height:450px;position:relative;transform-style:preserve-3d;transition:transform .16s ease-out;background:linear-gradient(0deg,#0d1919aa,transparent 50%),url('assets/details.jpg') center/cover;border:1px solid #718475}.photo-card:after{content:'';position:absolute;inset:20px;border:1px solid #ffffff83;transform:translateZ(30px);pointer-events:none}.hotspot{position:absolute;z-index:2;width:44px;height:44px;border:1px solid white;border-radius:50%;background:#223c30b5;color:#fff;font-size:20px;transform:translateZ(45px)}.hotspot:nth-child(1){left:38%;top:32%}.hotspot:nth-child(2){left:69%;top:58%}.hotspot:nth-child(3){left:19%;top:49%}.readout{margin-top:32px;padding-top:22px;border-top:1px solid var(--line);min-height:110px}.readout strong{font-size:19px}.readout p{color:#b6c6bb;font-size:13px;line-height:1.8}.contact{margin:0 7% 100px;padding:60px;background:#c7e2a9;color:#263b2c;display:flex;justify-content:space-between;align-items:center;gap:25px}.contact h2{font:400 clamp(31px,4vw,52px) Georgia,'Songti SC',serif;margin:12px 0}.contact p{color:#526b56;font-size:14px;line-height:1.8}.contact-info{min-width:300px;border-top:1px solid #526b5660}.contact-row{display:flex;justify-content:space-between;gap:24px;padding:13px 0;border-bottom:1px solid #526b5660;font-size:14px}.contact-row span{color:#526b56}.contact-note{font-size:12px!important;margin-top:14px}.room-contact{font-size:13px;color:#526b56;line-height:1.8}footer{border-top:1px solid var(--line);padding:35px 7%;display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:2;color:#a6b5ac}.dialog{border:0;padding:35px;width:min(90%,500px);background:#eff2e8;color:#20372a}.dialog::backdrop{background:#000b}.dialog p{font-size:14px;line-height:1.9;color:#66786b}.close{float:right;border:0;background:none;font-size:26px}.mobilebar{display:none}@media(max-width:800px){.nav{height:65px}.menu a{display:none}.hero{height:78vh;min-height:600px}.hero-bg{background-position:60% center}.hero-content{margin:0 7%;padding-top:40px}.hero h1{font-size:clamp(43px,10vw,64px)}.hero-bottom{font-size:9px}.section{padding:75px 7%}.intro,.experience{grid-template-columns:1fr;gap:40px}.intro-visual{height:330px}.explore-head{display:block}.room-showcase{grid-template-columns:1fr}.room-photo{min-height:290px}.room-copy{padding:28px}.photo-card{height:360px}.contact{display:block;margin:0 7% 85px;padding:32px}.contact h2{font-size:32px}footer{display:block;padding-bottom:90px}.mobilebar{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;background:#15221c;padding:10px 6% calc(10px + env(safe-area-inset-bottom));font-size:12px}.mobilebar button{background:#d7e5cb;color:#18211b;border:0;padding:12px 16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-inner{animation:none}.hero-bg,.photo-card{transition:none}}

/* Hide touch tap flash while keeping keyboard focus-visible outlines. */
a,button,[role="button"]{-webkit-tap-highlight-color:transparent}

.hotspot[aria-pressed="true"]{background:#d7e5cb;color:#20372a;border-color:#fff}

/* Translucent hotspots keep the image visible in both states. */
.hotspot{background:rgba(25,48,37,.32);color:#fff;border:1px solid rgba(255,255,255,.9);text-shadow:0 1px 4px rgba(0,0,0,.8)}
.hotspot[aria-pressed="true"]{background:rgba(213,232,192,.30);color:#fff;border:2px solid #fff;box-shadow:0 0 0 3px rgba(255,255,255,.28);text-shadow:0 1px 5px rgba(0,0,0,.9)}

/* Align the English tagline with the full Chinese logo width. */
.logo small{width:100%;text-align:justify;text-align-last:justify;letter-spacing:.12em;white-space:nowrap}

/* Natural tracking for the longer English wordmark. */
.logo small{width:auto;text-align:left;text-align-last:auto;letter-spacing:.07em;font-size:8px;white-space:nowrap}

/* Mobile contact is already provided by the fixed bottom bar. */
@media(max-width:800px){.nav .menu{display:none}}
