*{box-sizing:border-box} :root{font-family:Arial,'PingFang SC',sans-serif;color:#203e30;background:#ece8dc}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #af7336;outline-offset:5px}[hidden]{display:none!important}#experience{position:relative;height:100svh;min-height:650px;overflow:hidden}#exterior,#interior{position:absolute;inset:0}#exterior img{width:100%;height:100%;object-fit:cover}#exterior .veil{position:absolute;inset:0;background:linear-gradient(90deg,#fff9eacc,transparent 44%),linear-gradient(0deg,#203e3050,transparent 25%)}header{position:absolute;z-index:5;top:32px;left:3%;right:3%;display:flex;justify-content:space-between;align-items:center}.wordmark{font:bold clamp(30px,3.6vw,54px) Georgia,serif;letter-spacing:-2px}.wordmark small{display:block;font:10px Arial;letter-spacing:5px;margin-top:8px}.header-links{display:flex;gap:30px;align-items:center}.shop{display:inline-block;border-radius:40px;background:#203e30;color:#fffaf0;padding:18px 28px;font-size:14px}#intro{position:absolute;left:3%;top:25%;z-index:2}h1{font:normal clamp(38px,4.5vw,72px) Georgia,'Songti SC',serif;margin:25px 0;line-height:1.3}#intro p:not(.eyebrow){line-height:1.9;font-size:18px}.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase}.text-link{padding:20px 0;border-bottom:1px solid #203e3080}.text-link span{margin-left:30px}.hotspot{position:absolute;z-index:3;background:#203e30dc;color:#fff;border:1px solid #ffffff80;border-radius:30px;padding:12px 20px;font-size:13px;box-shadow:0 6px 25px #13291c30}.hotspot span{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:1px solid #fff;background:#203e3033;position:absolute;bottom:55px;left:calc(50% - 25px);font:24px Georgia}.hotspot:hover{background:#456548;transform:translateY(-3px)}.gallery{left:52%;top:57%}.company{left:78%;top:74%}footer{position:absolute;bottom:22px;left:3%;right:3%;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:15px}footer>span,footer>button{font-size:11px;color:#fff;text-shadow:0 1px 8px #203e30}nav{display:flex;padding:6px;border:1px solid #fff7;background:#eeeadc;box-shadow:0 8px 40px #203e3019;border-radius:45px;gap:4px}nav button{padding:17px 25px;font-size:13px;border-radius:30px}nav button.active{color:#fff;background:#203e30}.inside header{top:22px}.inside .wordmark{font-size:32px}.inside header .shop{padding:13px 22px}.inside footer>span,.inside footer>button{color:#203e30;text-shadow:none}.inside #interior{background:#e5dfd0}.inside canvas{display:block;width:100%;height:100%;touch-action:none}#room-heading{position:absolute;top:115px;left:3%;z-index:4;pointer-events:none;max-width:420px;text-shadow:0 1px 12px #fff}#room-heading>button{pointer-events:auto;border-bottom:1px solid #203e3060;padding:0 0 9px;margin-bottom:14px;font-size:12px}#room-heading .eyebrow{margin:8px 0}#room-heading h1{font-size:27px;margin:8px 0}#room-description{font-size:12px;line-height:1.6}#room-tools{position:absolute;right:3%;top:120px;z-index:5;display:flex;gap:4px;background:#f7f3eade;border:1px solid #fff;border-radius:28px;padding:5px}#room-tools button{padding:10px;border-radius:20px;font-size:12px}#room-tools button:hover{background:#dfdfcc}#catalog{position:absolute;bottom:109px;left:50%;transform:translateX(-50%);width:min(900px,94%);z-index:5}#catalog-hint{text-align:center;font-size:11px;text-shadow:0 1px 10px #fff}#item-list{display:flex;gap:8px;overflow-x:auto;padding:5px 3px 10px;scrollbar-width:thin}#item-list button{flex:1;min-width:130px;padding:15px 10px;background:#fbf7ebee;box-shadow:0 4px 15px #213c3012;border:1px solid #fff;border-radius:8px;text-align:left;font-size:12px;white-space:nowrap}#item-list button:hover{background:#203e30;color:white}#item-list small{display:block;font:11px Georgia;margin-bottom:8px;opacity:.65}#loading{position:absolute;z-index:4;top:42%;left:50%;transform:translate(-50%,-50%);background:#f8f4eaf5;padding:28px 35px;border:1px solid #fff;border-radius:15px;text-align:center;max-width:430px;width:85%;box-shadow:0 20px 80px #17332315}#loading h2{font:25px Georgia,'Songti SC',serif}#loading p{font-size:13px;line-height:1.7}#loading button{border-bottom:1px solid;padding:8px}dialog{border:1px solid #fff;border-radius:18px;background:#f5f0e5;color:#203e30;box-shadow:0 30px 120px #10251c50;padding:0;max-height:88svh;overflow:auto}dialog::backdrop{background:#11281ec0;backdrop-filter:blur(5px)}#detail[open]{display:grid;grid-template-columns:1fr 1fr;width:min(900px,92vw)}.close{position:absolute;right:15px;top:10px;font-size:28px;z-index:2;background:#f5f0e5cc;border-radius:50%;width:40px;height:40px}.detail-media{min-height:410px;background:#e3dece;display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-media img,.detail-media video{width:100%;max-height:65svh;object-fit:contain}#empty-image,#empty-video{text-align:center;padding:30px}#empty-image>span{font:100px Georgia;color:#203e3040}#empty-video>span{font:80px Georgia;color:#203e3060}.detail-media small{font-size:11px;opacity:.65}.detail-copy{padding:70px 35px 35px}.detail-copy h2{font:32px Georgia,'Songti SC',serif;line-height:1.4}.detail-copy>p:not(.eyebrow){font-size:14px;line-height:1.9}.muted{opacity:.55;font-size:11px!important}#media-tabs{display:flex;gap:20px;margin:25px 0;border-bottom:1px solid #203e3020}#media-tabs button{padding:10px 0;font-size:13px}#media-tabs .active{border-bottom:2px solid #203e30}.service-detail[open]{grid-template-columns:1fr!important;width:min(600px,92vw)!important}.service-detail .detail-media{display:none}#info{padding:40px;width:min(560px,90vw);line-height:1.8}#info p{font-size:14px}#info h2{font-family:Georgia,'Songti SC',serif}@media(max-width:800px){header{top:25px}.header-links{gap:10px}#story{display:none}.shop{padding:14px 18px}#intro{top:23%}#intro h1{font-size:48px}#intro p:not(.eyebrow){font-size:15px}#exterior img{object-position:57%}.gallery{left:53%;top:57%}.company{left:64%;top:75%}footer{justify-content:center;bottom:18px;flex-wrap:wrap}footer>span{display:none}footer>button{position:absolute;bottom:75px;right:0;font-size:9px}nav button{padding:15px 19px}#room-heading{top:110px;max-width:85%}#room-heading h1{font-size:23px}#room-heading p:last-child{display:none}#room-tools{top:auto;bottom:213px;right:3%}#catalog{bottom:95px}#catalog-hint{text-align:left}#item-list button{min-width:143px}#detail[open]{grid-template-columns:1fr;width:92vw}.detail-media{min-height:220px;max-height:35svh}#empty-image>span{font-size:65px}.detail-copy{padding:25px}.detail-copy h2{font-size:26px;margin-top:12px}.inside footer>button{display:none}.inside .wordmark{font-size:29px}.inside .wordmark small{font-size:8px;letter-spacing:3px}.inside header .shop{font-size:12px;padding:12px 16px}}@media(prefers-reduced-motion:no-preference){.hotspot{transition:transform .2s,background .2s}#interior{animation:reveal .6s ease}@keyframes reveal{from{opacity:0}to{opacity:1}}}
.inside:after{content:'';position:absolute;inset:0 0 auto;height:110px;background:linear-gradient(#f3efe5f5,#f3efe5a0,transparent);pointer-events:none;z-index:3}
@media(max-width:600px){#exterior .company{display:none}#exterior .veil{background:linear-gradient(90deg,#fff9ead9,transparent 82%),linear-gradient(0deg,#203e3050,transparent 25%)}#intro{top:22%}#intro h1{font-size:45px}}
#item-list button{white-space:normal;line-height:1.5;min-height:80px}html[lang=en] #intro h1{font-size:clamp(36px,4.2vw,64px)}
/* Room labels remain readable over both dark rafters and light ceilings. */
.inside #room-heading{top:104px;padding:15px 19px;background:#f7f3e8ed;border:1px solid #ffffffa0;border-radius:12px;backdrop-filter:blur(12px);text-shadow:none;max-width:360px;box-shadow:0 8px 30px #1c352015}
.inside #room-heading h1{font-size:24px}.inside #room-heading>button{margin-bottom:8px}.inside #room-heading p:last-child{margin:9px 0 0}
@media(max-width:800px){.inside #room-heading{top:91px;padding:11px 14px;max-width:92%;}.inside #room-heading h1{font-size:20px;margin:5px 0}.inside #room-heading .eyebrow{font-size:9px;margin:5px 0}.inside #room-heading>button{margin-bottom:3px;padding-bottom:5px}}
