/* The same soft miniature language, from the road into each object. */
body[data-departure=riding] .story{transform:none;width:min(340px,28vw);top:17%}
body[data-departure=riding] .story:before,body[data-departure=riding] .story:after{display:none!important}
body[data-departure=riding] #narration{font-size:clamp(30px,3vw,43px);text-shadow:0 1px 0 #e5eac238}
body[data-departure=riding] #narration em{font-size:.68em;line-height:1.25;color:#885e47}
.place-caption{border-radius:14px;background:#f6e4be;border:1px solid #fff0ce;box-shadow:0 5px 0 #c6ae83,0 9px 15px #49655b20;bottom:-26px}.place-sublabel{bottom:-52px}
.object-approach #world,.object-approach #rider,.object-approach .story,.object-approach .journey-footer,.object-approach #end-message,.modal-open #world,.modal-open #rider,.modal-open .story,.modal-open .journey-footer,.modal-open #end-message,.modal-open .masthead{opacity:0;pointer-events:none}
#world,#rider,.story,.journey-footer,.masthead{transition:opacity .25s}
#explore-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:transparent;color:#345064;overflow:hidden;box-shadow:none}
#explore-dialog::backdrop{background:#719da44d;backdrop-filter:blur(2px)}
#explore-dialog .room-shell{position:relative;width:100%;height:100%;max-height:none;display:block;background:radial-gradient(ellipse at 40% 40%,#edf0de,#c8dfdb 75%);border:0;border-radius:0;overflow:hidden;box-shadow:none}
#room-stage{position:absolute;inset:0;z-index:0}#room-stage canvas{display:block;width:100%;height:100%}
#explore-dialog .room-topbar{position:absolute;top:0;left:0;right:0;z-index:20;height:68px;background:transparent;padding:16px 28px;border:0;color:#37586a}
#explore-dialog .room-topbar button{background:#f9edcfcc;border:1px solid #fff0d7;border-radius:18px;padding:8px 13px;color:#37586a;font-size:12px;box-shadow:0 3px 0 #a9b7a635}
#explore-dialog .room-crumbs{font-size:11px;gap:9px}#explore-dialog .room-top-actions{gap:8px}
#explore-dialog .room-footer{position:absolute;bottom:0;left:0;right:0;z-index:15;background:transparent;border:0;color:#456373;padding:14px 28px;height:52px;font-size:11px}
#explore-dialog .room-footer button{border:0;border-radius:16px;background:#f8eccf;padding:8px 13px;color:#385767;box-shadow:0 3px 0 #bdc7b3}
#explore-dialog #room-scroll{position:absolute;inset:0;z-index:2;padding:0;overflow:hidden;pointer-events:none;background:transparent}
#explore-dialog #room-body{min-height:100%;max-width:none;margin:0;padding:0;background:none;pointer-events:none}
#explore-dialog #room-body :is(button,a){pointer-events:auto}
#explore-dialog button:focus-visible,#explore-dialog a:focus-visible{outline:3px solid #c98455;outline-offset:4px}
.atelier{position:relative;min-height:100dvh;color:#345064}
.atelier-heading{position:absolute;top:100px;left:6%;max-width:460px;z-index:5;pointer-events:none}
.atelier-heading h2{font:500 clamp(24px,2.4vw,35px)/1.4 Caveat,'PingFang SC',sans-serif;margin:10px 0 6px;color:#2e4f63}
.atelier-heading p{font-size:13px;line-height:1.8;margin:0;color:#526d78}.atelier-heading .room-eyebrow{font:11px Shantell,Arial,sans-serif;color:#55777d;letter-spacing:1.2px}
.atelier-return{display:block;border:0;background:none;padding:0;margin:0 0 14px;color:#4b6c73;font-size:12px}
.atelier-hint{position:absolute;bottom:70px;left:7%;font-size:14px;color:#506e75}
/* Real CRT geometry is drawn behind this fitted, scrollable screen. */
#explore-dialog[data-room=projects] #room-scroll{left:var(--screen-left);top:var(--screen-top);width:var(--screen-width);height:var(--screen-height);right:auto;bottom:auto;background:#f3e7cf;border-radius:3% 3% 3.5% 3.5%;overflow:auto;overscroll-behavior:contain;pointer-events:auto;box-shadow:inset 0 0 18px #8b977e27;scrollbar-width:thin;scrollbar-color:#afbb9c transparent}
#explore-dialog[data-room=projects] #room-body{padding:18px 22px;pointer-events:auto;color:#3c5e60;min-height:100%}
#explore-dialog[data-room=projects] .room-heading{margin:0 0 18px;padding:0 0 12px}#explore-dialog[data-room=projects] .room-heading h2{font-size:22px;margin:6px 0}#explore-dialog[data-room=projects] .room-intro{font-size:12px;line-height:1.7}
.computer-desktop{min-height:100%;background:radial-gradient(ellipse at 85% 15%,#e9ddb2,transparent 60%)}
.desktop-greeting{display:flex;align-items:center;gap:15px;color:#365963;margin:3px 0 19px}.desktop-greeting>span{color:#d7a14e;font-size:34px}.desktop-greeting h3{font:600 27px Caveat,cursive;margin:0}.desktop-greeting p{margin:3px 0 0;font-size:11px}
.computer-folders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.computer-folders button{border:0;padding:8px 3px 10px;background:#fff3da70;border-radius:12px;color:#3f5b5b;text-align:center;box-shadow:0 3px 0 #c2b99a55;transition:transform .2s}.computer-folders button:hover{transform:translateY(-4px)}.solid-folder{display:block;width:49px;height:40px;margin:auto;filter:drop-shadow(0 4px 0 #b19b71)}.solid-folder svg{width:100%;height:100%}.computer-folders b{font-size:11px;font-weight:500;display:block;margin-top:8px}.computer-folders small{display:block;font-size:9px;margin-top:4px;color:#7b856f}
.desktop-little-label{font-size:10px;margin:23px 0 9px;color:#7a826a}.computer-objects{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.computer-objects button{padding:3px;border:0;background:none;min-width:0;color:#415a5d}.computer-objects img{display:block;object-fit:contain;width:100%;height:65px;filter:drop-shadow(2px 5px 1px #6d796d3b)}.computer-objects span{display:block;font:12px Caveat,'PingFang SC',sans-serif;margin-top:5px;overflow-wrap:anywhere}
#explore-dialog[data-room=projects] .folder-switcher{gap:9px;flex-wrap:wrap;margin-bottom:5px}#explore-dialog[data-room=projects] .folder-switcher button{font-size:10px;padding:7px 0}#explore-dialog[data-room=projects] .project-files{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#explore-dialog[data-room=projects] .project-file{border-radius:13px;background:#fcf0d8;padding:10px;box-shadow:0 4px 0 #c5bc9c40}#explore-dialog[data-room=projects] .project-object{height:85px;margin-bottom:7px}#explore-dialog[data-room=projects] .project-file h3{font-size:12px}#explore-dialog[data-room=projects] .project-file p{font-size:10px;line-height:1.6;margin-bottom:9px}#explore-dialog[data-room=projects] .project-file-kind{font-size:8px}
#explore-dialog[data-room=projects] .project-detail-lead{display:block}#explore-dialog[data-room=projects] .project-story>p{font-size:13px;line-height:1.85}#explore-dialog[data-room=projects] .project-facts{margin-top:16px;padding:14px;border-radius:14px;background:#e2dfc7}#explore-dialog[data-room=projects] .project-detail-foot{display:block}#explore-dialog[data-room=projects] .project-work li p{font-size:12px;line-height:1.8}#explore-dialog[data-room=projects] .project-image-strip{display:block}#explore-dialog[data-room=projects] .project-image-strip figure{margin-bottom:15px}#explore-dialog[data-room=projects] .project-outlinks{flex-direction:row;flex-wrap:wrap;gap:14px}
/* Six actual furnished cutaway rooms, with semantic controls in front. */
.atelier-floor-list{position:absolute;right:7%;top:190px;width:300px;display:flex;flex-direction:column;gap:9px;pointer-events:auto}.atelier-floor-list button{display:flex;align-items:center;gap:14px;min-height:62px;border:1px solid #fff1db;background:#f8ecd5ed;color:#3b5c67;border-radius:13px;padding:10px 14px;text-align:left;box-shadow:0 4px 0 #b4b9a855}.atelier-floor-list button>b{font:25px Caveat,cursive;width:28px}.atelier-floor-list button>b small{font-size:10px;margin-left:3px}.atelier-floor-list button>span{font-size:12px;line-height:1.5;flex:1}.atelier-floor-list button>span small{display:block;font-size:10px;color:#7d8979;margin-top:3px}.atelier-floor-list i{font-style:normal;color:#c3885b}.atelier-floor-list button:hover{transform:translateX(-5px);background:#fff0d0}
.office-hotspots button,.photo-picks button{position:fixed;transform:translate(-50%,8px);background:#fbf0d3e8;border:1px solid #fff3db;border-radius:14px;padding:8px 12px;box-shadow:0 4px 0 #adbaaa66;color:#3e606b;font-size:11px;white-space:nowrap}.office-hotspots button>span{font-size:16px;color:#bc8358;margin-right:5px}.office-hotspots button[aria-expanded=true]{background:#ecd09c}
.mini-elevator{position:absolute;bottom:78px;left:7%;display:flex;align-items:center;gap:7px;background:#e2d6b9dd;padding:9px 12px;border-radius:20px;box-shadow:0 4px 0 #b3b8a7}.mini-elevator>span{font-size:10px;margin-right:6px}.mini-elevator button{border:0;border-radius:50%;width:31px;height:31px;background:#f8ecd3;color:#4d676d}.mini-elevator button[aria-pressed=true]{background:#c18d69;color:#fff4dc}
.office-note{position:absolute;right:6%;top:250px;width:min(340px,28vw);padding:29px;background:#fff0d4;border:1px solid #fff6e4;border-radius:24px;box-shadow:0 7px 0 #c9b28b,0 16px 45px #41646227;pointer-events:auto;color:#395866;max-height:calc(100dvh - 325px);overflow:auto}.office-note>button{position:absolute;right:12px;top:9px;border:0;background:none;color:#8c7b63;font-size:25px}.office-note h3{font-size:21px;line-height:1.5;margin:14px 0}.office-note p{font-size:14px;line-height:1.95;margin:0}.office-note blockquote{font-size:12px;line-height:1.85;color:#718077;border-left:2px solid #cbb28b;margin:20px 0;padding:0 0 0 12px}.office-note>small{font:12px Caveat,cursive;color:#9c8e73}
.programme-card{position:absolute;right:6%;top:180px;width:350px;background:#fbecd4;border:1px solid #fff2dd;border-radius:24px;padding:22px;box-shadow:0 7px 0 #c3ac8b,0 15px 35px #395b6b22;pointer-events:auto;max-height:calc(100dvh - 260px);overflow:auto}.programme-title{display:flex;justify-content:space-between}.programme-channels{display:flex;gap:14px;margin:18px 0 7px;border-bottom:1px solid #d8cdb1}.programme-channels button{padding:7px 0 10px;border:0;border-bottom:2px solid transparent;background:none;font-size:12px;color:#718273}.programme-channels button[aria-pressed=true]{border-color:#ba835e;color:#345864}.programme{display:flex;align-items:center;gap:14px;text-decoration:none;border-bottom:1px solid #deceb0;padding:15px 0;color:#345864}.programme-cover{display:block;position:relative;width:76px;height:80px;flex-shrink:0;background:#d9cbae;border-radius:8px;overflow:hidden;box-shadow:0 4px 0 #c5ad8a}.programme-cover img{width:100%;height:100%;object-fit:cover}.programme-cover i{position:absolute;right:5px;bottom:5px;color:white;text-shadow:0 1px 4px #344c5a;font-style:normal}.programme>span:last-child small{font-size:9px;color:#94876a}.programme b{display:block;font-size:13px;line-height:1.7;margin:3px 0}.programme em{font-size:10px;font-style:normal;color:#988265}.programme-social{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #deceb0;font-size:14px;text-decoration:none;color:#46636a}
.hobby-pebbles{position:absolute;right:7%;bottom:90px;display:flex;gap:9px;flex-wrap:wrap;max-width:360px}.hobby-pebbles span{padding:11px 15px;background:#fbedd2;border-radius:20px;box-shadow:0 4px 0 #bfb397;font-family:LifeHand,'PingFang SC',sans-serif;font-size:13px}.hobby-pebbles b{font-size:19px;font-weight:400;color:#b48a5c;margin-right:8px}
#explore-dialog[data-room=life][data-view=photo] #room-stage{display:none}#explore-dialog[data-room=life][data-view=photo] #room-scroll{inset:95px 5% 65px;pointer-events:auto;overflow:auto}#explore-dialog[data-room=life][data-view=photo] #room-body{pointer-events:auto}#explore-dialog[data-room=life][data-view=photo] .life-corkboard{background:transparent;box-shadow:none;padding:15px;border:0;min-height:0}#explore-dialog[data-room=life][data-view=photo] .photo-album figure{background:#f9e7c5;border-radius:18px;box-shadow:0 6px 0 #c7ad89;overflow:hidden}#explore-dialog[data-room=life][data-view=photo] .photo-album img{background:transparent;max-height:57vh}
/* Keep the phone itself in the world; only a small connection card overlays it. */
#explore-dialog[data-room=contact]::backdrop{background:transparent;backdrop-filter:none}#explore-dialog[data-room=contact] .room-shell{background:transparent}#explore-dialog[data-room=contact] #room-scroll{left:auto;right:8%;top:22%;bottom:auto;width:340px;max-height:65dvh;overflow:auto;pointer-events:auto}#explore-dialog[data-room=contact] #room-body{pointer-events:auto;min-height:0}
.phone-contact{padding:28px;background:#fff0d5;border:1px solid #fff5df;border-radius:26px;box-shadow:0 7px 0 #d1b896,0 20px 40px #38556122;color:#345664}.connection-light{font:10px Shantell,Arial,sans-serif;letter-spacing:1px;color:#829b6d}.phone-contact h2{font:30px/1.3 Caveat,'PingFang SC',sans-serif;margin:18px 0 14px}.phone-contact>p{font-size:13px;line-height:1.8}.contact-links{display:flex;flex-direction:column;gap:0;margin:17px 0}.contact-links a{padding:11px 0;color:#486970;text-decoration:none;font-size:12px;border-bottom:1px solid #e1d2b6}.contact-links a>span{float:right}.contact-links a.solid-link{background:#cfaa7f;color:#fff8e5;padding:12px 15px;border:0;border-radius:13px;box-shadow:0 3px 0 #ad8d68;margin-bottom:9px}.phone-contact .contact-signoff{font:18px/1.5 Caveat,'PingFang SC',sans-serif;color:#a18763;margin-top:20px}
#explore-dialog[data-room=start] #room-scroll,#explore-dialog[data-room=thoughts] #room-scroll{inset:90px 6% 65px;overflow:auto;pointer-events:auto}#explore-dialog[data-room=start] #room-body,#explore-dialog[data-room=thoughts] #room-body{pointer-events:auto}#explore-dialog[data-room=start] .room-heading h2{font-size:32px}.about-notebook{background:#f6e7c9;border-radius:24px;box-shadow:0 7px 0 #c6b38f;padding:20px}.thought-board{border-radius:22px!important;border:10px solid #ccb68d!important;box-shadow:0 8px 0 #ad9f81,0 18px 45px #55787324!important}
@media(max-width:700px){
 body[data-departure=riding] .story{top:13%;left:7%;width:85%;max-width:360px}body[data-departure=riding] #narration{font-size:33px}body[data-departure=riding] #narration em{font-size:23px}
 #explore-dialog .room-topbar{height:68px;padding:12px 15px}#explore-dialog .room-crumbs>span:not(.crumb-star),#explore-dialog #room-crumb{display:none}#explore-dialog .room-topbar button{font-size:11px;padding:8px 10px}#room-close>span{display:none}#explore-dialog .room-footer{height:44px;padding:10px 15px;font-size:9px}#room-position{max-width:66%;line-height:1.5}
 .atelier-heading{top:94px;left:7%;max-width:87%}.atelier-heading h2{font-size:25px;margin:6px 0}.atelier-heading p{font-size:11px;max-width:320px}.atelier-heading .room-eyebrow{font-size:9px;letter-spacing:.8px}
 .atelier-floor-list{top:220px;right:4%;width:155px;gap:8px}.atelier-floor-list button{min-height:64px;padding:8px;gap:6px;border-radius:12px}.atelier-floor-list button>span{font-size:10px}.atelier-floor-list button>span small{font-size:8px}.atelier-floor-list button>b{font-size:21px;width:21px}.atelier-hint{left:7%;bottom:65px;font-size:11px}
 .office-hotspots button,.photo-picks button{font-size:9px;padding:7px 8px;white-space:normal;max-width:140px;line-height:1.4}.office-hotspots button>span{font-size:12px}.mini-elevator{left:5%;bottom:66px;gap:5px;padding:7px 9px}.mini-elevator button{width:27px;height:27px;font-size:11px}.mini-elevator>span{font-size:8px;margin-right:2px}
 .office-note{top:auto;left:5%;right:auto;bottom:120px;width:90%;max-height:240px;padding:23px;border-radius:20px}.office-note h3{font-size:18px;margin:10px 0}.office-note p{font-size:12px;line-height:1.8}.office-note blockquote{font-size:10px;line-height:1.6;margin:12px 0}
 .programme-card{top:auto;bottom:65px;right:5%;width:90%;max-height:300px;padding:15px 19px}.programme-channels{margin-top:9px}.programme{padding:10px 0;gap:12px}.programme-cover{width:54px;height:58px}.programme b{font-size:11px;line-height:1.5}.programme em{font-size:9px}.programme-social{font-size:12px;padding:13px 0}
 .hobby-pebbles{left:6%;right:auto;bottom:88px;gap:7px;max-width:90%}.hobby-pebbles span{font-size:11px;padding:8px 11px}.hobby-pebbles b{font-size:16px}
 #explore-dialog[data-room=projects] #room-body{padding:12px 13px}.desktop-greeting{gap:9px;margin:0 0 10px}.desktop-greeting h3{font-size:22px}.desktop-greeting p{font-size:9px}.desktop-greeting>span{font-size:25px}.computer-folders{gap:5px}.computer-folders button{padding:5px 2px}.solid-folder{width:36px;height:30px}.computer-folders b{font-size:9px;margin-top:6px}.computer-folders small{font-size:8px}.desktop-little-label{margin:14px 0 7px;font-size:9px}.computer-objects{gap:4px}.computer-objects img{height:42px}.computer-objects span{font-size:9px}.computer-objects button{padding:0}
 #explore-dialog[data-room=projects] .project-files{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#explore-dialog[data-room=projects] .project-object{height:70px}#explore-dialog[data-room=projects] .room-heading h2{font-size:20px}#explore-dialog[data-room=projects] .project-file p{font-size:9px}
 #explore-dialog[data-room=contact] #room-scroll{top:auto;right:5%;bottom:65px;width:90%;max-height:45dvh}.phone-contact{padding:22px}.phone-contact h2{font-size:26px;margin:12px 0}.phone-contact>p{font-size:11px;line-height:1.7}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin:12px 0}.contact-links a{font-size:10px;padding:9px 0}.contact-links .solid-link{grid-column:1/-1}.phone-contact .contact-signoff{font-size:16px;margin:12px 0 0}
 #explore-dialog[data-room=life][data-view=photo] #room-scroll{inset:85px 4% 60px}#explore-dialog[data-room=life][data-view=photo] .photo-album{gap:5px;grid-template-columns:26px minmax(0,1fr) 26px}#explore-dialog[data-room=life][data-view=photo] .photo-nav{width:26px;height:26px;font-size:14px}#explore-dialog[data-room=life][data-view=photo] .photo-album figure{padding:9px 9px 0}#explore-dialog[data-room=life][data-view=photo] .photo-album figcaption{font-size:11px}
}
@media(prefers-reduced-motion:reduce){#world,#rider,.story,.journey-footer,.masthead{transition:none}}

/* Retire the collage-era :has() modal frames as well as the body content. */
#explore-dialog[data-room]{inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
#explore-dialog[data-room]::before{display:none}
#explore-dialog[data-room] .room-shell{position:relative;display:block;width:100%;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none}
#explore-dialog[data-room] .room-topbar{inset:0 0 auto;height:68px;min-height:0;display:flex;justify-content:space-between;align-items:center;padding:16px 28px;z-index:20}
#explore-dialog[data-room] .room-crumbs{display:flex}
#explore-dialog[data-room] .room-top-actions{display:flex;gap:8px}
#explore-dialog[data-room] .room-top-actions button{display:inline-flex;justify-content:center;align-items:center;gap:8px;width:auto;min-width:35px;height:auto;min-height:34px;border:1px solid #fff0d7;border-radius:18px;padding:8px 13px;background:#f9edcfcc;color:#37586a;box-shadow:0 3px 0 #a9b7a635;text-shadow:none}
#explore-dialog[data-room] #room-close{width:auto;gap:8px}
#explore-dialog[data-room] #room-close>span{display:inline}
#explore-dialog[data-room] .room-footer{inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;height:52px;padding:14px 28px;z-index:15}
#explore-dialog[data-room] #room-position{display:block}
#explore-dialog[data-room]:not([data-room=projects]) #room-scroll{height:auto}
#explore-dialog[data-room] #room-back{padding:8px 13px;background:#f8eccf;border-radius:16px;transform:none;color:#385767}
.office-interior .atelier-heading{max-width:300px}.office-interior .atelier-heading h2{font-size:28px}
.programme-card{top:155px;max-height:calc(100dvh - 225px)}
.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.contact-links .solid-link{grid-column:1/-1}
#explore-dialog[data-room=contact] #room-scroll{top:19%;max-height:calc(100dvh - 200px);border-radius:26px}
#end-message{top:auto;bottom:150px;right:7%;width:27vw}
@media(max-width:700px){
 #explore-dialog[data-room] .room-topbar{height:68px;padding:12px 15px}#explore-dialog[data-room] .room-top-actions button{padding:8px 10px;min-height:32px}#explore-dialog[data-room] #room-close>span{display:none}#explore-dialog[data-room] .room-crumbs>span:not(.crumb-star),#explore-dialog[data-room] #room-crumb{display:none}
 #explore-dialog[data-room] .room-footer{height:44px;padding:10px 15px}.office-interior .atelier-heading{max-width:87%}.office-interior .atelier-heading h2{font-size:23px}.programme-card{top:auto;max-height:300px}
 #explore-dialog[data-room=contact] #room-scroll{top:auto;bottom:65px;max-height:45dvh}
 #end-message{left:7%;right:auto;width:77%;bottom:155px}
}
.contact-links .contact-email,.contact-links .contact-wechat{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;padding:12px 14px;margin:0 0 8px;border:1px solid #f1dfba;border-radius:13px;background:#f4e2bf;color:#45646b;box-shadow:0 3px 0 #d3ba92;font:12px Arial,'PingFang SC',sans-serif}
.contact-links :is(.contact-email,.contact-wechat) small{grid-column:1;font-size:9px;color:#998568;letter-spacing:.8px}.contact-links :is(.contact-email,.contact-wechat) b{grid-column:1;font-weight:400;margin-top:5px;font-size:13px;user-select:text}.contact-links :is(.contact-email,.contact-wechat)>span{grid-column:2;grid-row:1/3;float:none;font-size:11px;color:#a7835c}
.contact-copy-status{font-size:11px!important;color:#8b956d}.photo-album figure>button{background:#f6e7c8!important}
@media(max-width:700px){.contact-links .contact-email,.contact-links .contact-wechat{padding:9px 12px}.contact-links :is(.contact-email,.contact-wechat) b{font-size:12px}.contact-links :is(.contact-email,.contact-wechat) small{font-size:8px}.phone-contact{padding:19px 22px}}

@keyframes interior-arrive{from{opacity:0}to{opacity:1}}
#explore-dialog[open] .room-shell{animation:interior-arrive .3s ease-out}
@media(prefers-reduced-motion:reduce){#explore-dialog[open] .room-shell{animation:none}}

.interior-scroll-cue{display:none;pointer-events:none}
@media(max-width:700px){.interior-scroll-cue:not([hidden]){display:block;position:absolute;right:7%;bottom:49px;z-index:16;padding:2px 8px;border-radius:9px;background:#f9edcfdd;color:#637c78;font-size:9px;line-height:1.4}}

/* Round three: an invitation, a familiar landscape, a lift, and tactile views. */
.wake-invite{position:absolute;right:-23px;top:-100px;min-width:190px;text-align:center;font:23px/1.4 Caveat,'PingFang SC',sans-serif;color:#39596a;transform:rotate(-5deg);text-shadow:0 1px 0 #fff0c9}
.wake-invite small{display:block;font:16px/1.25 Caveat,cursive;color:#8b654b}
body:not([data-departure=sleeping]) .wake-invite{opacity:0}
#explore-dialog[data-room=projects][data-view=home] #room-scroll{background:#7ca7ac url('assets/content/desktop/wallpaper-clay.png') center/cover no-repeat}
#explore-dialog[data-room=projects][data-view=home] #room-body{height:100%}
.computer-desktop{display:flex;flex-direction:column;min-height:100%;background:none}
.desktop-greeting{margin-bottom:25px}.desktop-greeting h3{font-size:34px;color:#fff3d1;text-shadow:0 2px 2px #41646b55}.desktop-greeting p{color:#fff1d0;font-size:13px}.desktop-greeting>span{color:#f3d488}
.computer-folders{width:78%;gap:13px}.computer-folders button{background:#fff0d8dd;box-shadow:0 4px 0 #5a7d7b44;padding:12px 6px}.computer-folders b{font-size:13px}.solid-folder{width:58px;height:45px}.computer-folders small{font-size:10px;color:#6b7e72}
.desktop-little-label{color:#fff0cd;font-size:12px;text-shadow:0 1px 2px #365b6999;margin-top:auto;padding-top:32px}
.computer-objects{gap:20px;margin-bottom:9px}.computer-objects img{height:83px}.computer-objects span{display:inline-block;background:#fff0d9e8;border-radius:9px;padding:4px 7px;font-size:12px;box-shadow:0 2px 0 #798e7740}
.experience-atrium .atelier-floor-list{top:180px;gap:10px}.experience-atrium .atelier-floor-list button{background:#fbefd9f0;min-height:67px}
.experience-atrium .atelier-hint{color:#6c8178}
#room-stage canvas[data-draggable=true]{cursor:grab}#room-stage canvas.dragging{cursor:grabbing}
#room-stage canvas:focus-visible{outline:2px dashed #9e8b64;outline-offset:-8px}
.room-orbit-controls{position:absolute;left:7%;bottom:78px;display:flex;gap:7px;align-items:center;pointer-events:auto;color:#607b7b;z-index:8}
.office-interior .room-orbit-controls{left:auto;right:6%}
.room-orbit-controls>span{font-size:11px;margin-right:5px}.room-orbit-controls button{border:1px solid #fff1d4;border-radius:15px;background:#faecccdd;color:#47656b;padding:7px 11px;font-size:11px;box-shadow:0 3px 0 #aebeaa77}
.room-orbit-controls button[data-orbit-step]{font-size:18px;width:35px;height:33px;padding:2px}
@media(max-width:700px){
 .wake-invite{top:-102px;right:-10px;font-size:22px}
 #explore-dialog[data-room=projects] #room-body{padding:14px 17px}
 .desktop-greeting{margin-bottom:18px}.desktop-greeting h3{font-size:25px}.desktop-greeting p{font-size:10px}.computer-folders{width:100%;gap:7px}.computer-folders button{padding:8px 3px}.computer-folders b{font-size:10px}.computer-folders small{font-size:8px}.solid-folder{width:36px;height:30px}
 .desktop-little-label{font-size:10px;padding-top:25px}.computer-objects{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 9px}.computer-objects img{height:50px}.computer-objects span{font-size:9px;padding:3px 4px}
 .experience-atrium .atelier-floor-list{top:auto;bottom:80px;left:5%;right:auto;width:90%;display:grid;grid-template-columns:1fr 1fr;gap:9px}.experience-atrium .atelier-floor-list button{min-height:58px;padding:8px 10px;gap:8px}.experience-atrium .atelier-floor-list button>span{font-size:10px}.experience-atrium .atelier-floor-list button>b{font-size:23px;width:24px}.experience-atrium .atelier-hint{bottom:53px;font-size:10px;margin:0}
 .room-orbit-controls,.office-interior .room-orbit-controls{top:185px;bottom:auto;left:7%;right:auto;gap:5px}.room-orbit-controls>span{font-size:10px;margin-right:4px}.room-orbit-controls button{font-size:10px;padding:5px 9px}.room-orbit-controls button[data-orbit-step]{font-size:17px;width:29px;height:28px}.office-interior .room-orbit-controls{top:235px}
}
@media(max-height:700px) and (max-width:700px){.experience-atrium .atelier-floor-list{bottom:76px;gap:6px}.experience-atrium .atelier-floor-list button{min-height:49px}.experience-atrium .atelier-floor-list button>span small{font-size:7px}.experience-atrium .atelier-heading{top:84px}.experience-atrium .atelier-heading h2{font-size:22px}.experience-atrium .atelier-heading p{font-size:10px}}

.desktop-greeting p{display:inline-block;background:#3e676c70;border-radius:8px;padding:3px 7px;text-shadow:none}

.desktop-little-label{align-self:flex-start;background:#fff0d6e6;padding:5px 8px;border-radius:8px;color:#436569;text-shadow:none}
@media(max-width:700px){
 .computer-folders{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.computer-folders b{font-size:12px}.computer-folders small{font-size:10px}.solid-folder{width:43px;height:34px}.computer-folders button{padding:10px 4px}.desktop-greeting{margin-bottom:16px}.desktop-little-label{padding:5px 8px;margin-top:22px}.computer-objects span{font-size:10px}
 .room-orbit-controls,.office-interior .room-orbit-controls{top:var(--orbit-controls-top,185px)}
 .room-orbit-controls button[data-orbit-step]{width:34px;height:34px}.room-orbit-controls button[data-orbit-reset]{min-height:34px}
 #explore-dialog[data-room=projects] .interior-scroll-cue:not([hidden]){bottom:auto;top:calc(var(--screen-top) + var(--screen-height) - 23px);right:calc(100vw - var(--screen-left) - var(--screen-width) + 9px);background:#fff0d6f5;box-shadow:0 1px 3px #55777144}
}

@media(max-width:360px){.photo-atelier .atelier-heading h2{font-size:22px}}

/* Scene four: give the words and the miniature their own physical space. */
.room-orbit-controls{display:none!important}
#explore-dialog[data-room=content] #room-stage{left:5%;right:34%;top:225px;bottom:95px}
#explore-dialog[data-room=content] .atelier-heading{max-width:650px}
#explore-dialog[data-room=content] .programme-card{right:5%;top:190px;width:330px;max-height:calc(100dvh - 280px)}
#explore-dialog[data-room=experience][data-view=home] #room-stage{left:6%;right:35%;top:205px;bottom:95px}
#explore-dialog[data-room=experience][data-view=experience-trip] #room-stage{left:5%;right:5%;top:175px;bottom:75px}
.experience-atrium .atelier-heading{max-width:620px}.experience-atrium .atelier-floor-list{top:200px}
.lift-journey .atelier-heading{top:95px;max-width:90%}.lift-journey .atelier-heading h2{font-size:30px}
@font-face{font-family:ThoughtHand;src:url('assets/fonts/thoughts-xiaolai.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
#explore-dialog[data-room=thoughts] #room-stage{left:4%;right:36%;top:195px;bottom:75px}
#explore-dialog[data-room=thoughts] #room-scroll{inset:0;overflow:hidden;pointer-events:none}
#explore-dialog[data-room=thoughts] #room-body{pointer-events:none}
.thought-atelier .atelier-heading{max-width:650px}
.thought-card-picks button{position:fixed;transform:translate(-50%,-50%);width:140px;height:65px;padding:8px 10px;border:0;background:none;color:#536962;font-family:Caveat,ThoughtHand,cursive;font-size:20px;line-height:1.4;text-align:center;pointer-events:auto}
.thought-card-picks button small{display:block;font:12px Caveat,cursive;opacity:.6;margin-bottom:3px}.thought-card-picks button[aria-pressed=true]{color:#966b42}.thought-card-picks button[aria-pressed=true] span{text-decoration:underline;text-decoration-color:#bd997466;text-underline-offset:6px}
.thought-reading{position:absolute;right:5%;top:205px;width:360px;max-height:calc(100dvh - 300px);padding:27px 30px;background:#fff0d4;border:1px solid #fff5df;border-radius:22px;box-shadow:0 7px 0 #c7b18c,0 14px 35px #49645b1c;overflow:auto;pointer-events:auto;color:#45615d}
.thought-reading h3{font:30px/1.4 Caveat,ThoughtHand,cursive;margin:12px 0 20px}.thought-reading p{font:22px/1.95 Caveat,ThoughtHand,cursive;margin:0;white-space:pre-wrap}.thought-signature{display:block;text-align:right;font:24px Caveat,cursive;margin-top:24px;color:#a48b65}
@media(max-width:700px){
 #explore-dialog[data-room=content] .programme-card{left:5%;right:auto;top:auto;bottom:65px;width:90%;height:clamp(210px,32dvh,300px);max-height:none}
 #explore-dialog[data-room=content] #room-stage{left:5%;right:5%;top:195px;bottom:calc(clamp(210px,32dvh,300px) + 95px)}
 #explore-dialog[data-room=experience][data-view=home] #room-stage{left:4%;right:4%;top:185px;bottom:295px}
 #explore-dialog[data-room=experience][data-view=experience-trip] #room-stage{left:0;right:0;top:155px;bottom:65px}
 .lift-journey .atelier-heading{top:94px}.lift-journey .atelier-heading h2{font-size:24px}
 #explore-dialog[data-room=thoughts] #room-stage{left:3%;right:3%;top:185px;bottom:calc(clamp(205px,29dvh,270px) + 95px)}
 .thought-atelier .atelier-heading{top:90px}.thought-atelier .atelier-heading h2{font-size:23px}
 .thought-card-picks button{width:80px;height:50px;padding:5px 2px;font-size:14px}.thought-card-picks button small{font-size:10px;margin-bottom:0}
 .thought-reading{left:5%;right:auto;top:auto;bottom:65px;width:90%;height:clamp(205px,29dvh,270px);max-height:none;padding:17px 23px}.thought-reading h3{font-size:25px;margin:6px 0 10px}.thought-reading p{font-size:19px;line-height:1.85}.thought-signature{font-size:21px;margin-top:17px}
}
@media(max-height:700px) and (max-width:700px){
 #explore-dialog[data-room=experience][data-view=home] #room-stage{top:165px;bottom:265px}
 #explore-dialog[data-room=thoughts] #room-stage{top:160px;bottom:290px}
 .thought-atelier .atelier-heading h2{font-size:21px}
}
@media(min-width:701px){
 #explore-dialog[data-room=projects][data-view=home] .desktop-greeting{margin-bottom:15px}
 #explore-dialog[data-room=projects][data-view=home] .desktop-greeting h3{font-size:28px}
 #explore-dialog[data-room=projects][data-view=home] .computer-folders{width:100%;gap:9px}
 #explore-dialog[data-room=projects][data-view=home] .computer-folders button{padding:7px 4px}
 #explore-dialog[data-room=projects][data-view=home] .solid-folder{height:36px;width:46px}
 #explore-dialog[data-room=projects][data-view=home] .computer-folders b{font-size:12px}
 #explore-dialog[data-room=projects][data-view=home] .computer-objects{gap:12px}
 #explore-dialog[data-room=projects][data-view=home] .computer-objects img{height:62px}
 #explore-dialog[data-room=projects][data-view=home] .computer-objects span{font-size:11px}
}
@keyframes room-arrival{from{opacity:.25}to{opacity:1}}
#explore-dialog[data-room=experience][data-view=experience-room] #room-stage{animation:room-arrival .3s ease-out}
@media(prefers-reduced-motion:reduce){#explore-dialog #room-stage{animation:none!important}}

@media(max-width:700px){.thought-card-picks button{padding:2px 0}}
@media(max-width:360px){.thought-card-picks button small{display:none}}

/* Keep the familiar green board; add depth to its frame and clipped paper cards. */
#explore-dialog[data-room=thoughts] #room-stage{left:2%;right:2%;top:70px;bottom:45px}
#explore-dialog[data-room=thoughts] #room-scroll{inset:auto;left:var(--chalk-left);top:var(--chalk-top);width:var(--chalk-width);height:var(--chalk-height)!important;overflow:auto;pointer-events:auto;scrollbar-width:thin;scrollbar-color:#b2bd88 #65704b}
#explore-dialog[data-room=thoughts] #room-body{height:100%;min-height:100%;pointer-events:auto}
#explore-dialog[data-room=thoughts] .thought-board{height:100%;min-height:100%;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent;overflow:visible}
#explore-dialog[data-room=thoughts] .thought-viewport{background-color:transparent}
#explore-dialog[data-room=thoughts] .thought-board-tools{left:18px;right:auto;top:7px;gap:10px;background:none;border:0}
#explore-dialog[data-room=thoughts] .board-camera-tools{display:none}
#explore-dialog[data-room=thoughts] .thought-stage{transform-style:preserve-3d}
#explore-dialog[data-room=thoughts] .thought-sticky{border-radius:3px 5px 11px 3px;box-shadow:1px 1px 0 #d1bb91,2px 2px 0 #c4ae88,3px 4px 0 #ac9575,6px 11px 13px #27362055;transform:perspective(900px) rotateX(1.4deg) rotate(var(--note-tilt));border-top:1px solid #fff2d79c}
#explore-dialog[data-room=thoughts] .thought-sticky h3{font:400 27px/1.4 Caveat,ThoughtHand,cursive}
#explore-dialog[data-room=thoughts] .thought-sticky p{font:400 20px/1.75 Caveat,ThoughtHand,cursive;letter-spacing:.15px}
#explore-dialog[data-room=thoughts] .sticky-signature{font:24px Caveat,cursive}
#explore-dialog[data-room=thoughts] .sticky-tape{left:45%;top:-12px;width:35px;height:25px;border:2px solid #8c8770;border-radius:6px;background:#d4c39d;background-image:none;box-shadow:0 3px 0 #8a8168,1px 5px 4px #28352844;transform:rotate(-3deg)}
#explore-dialog[data-room=thoughts] .sticky-tape:after{content:'';position:absolute;inset:4px 7px;border:1px solid #8e8064;border-radius:2px;background:#e3d5ad}
#explore-dialog[data-room=thoughts] .thought-board[data-mode=read]{height:auto}
#explore-dialog[data-room=thoughts] .thought-board[data-mode=read] .thought-viewport{padding:75px 35px 35px}
#explore-dialog[data-room=thoughts] .thought-board[data-mode=read] .thought-stage{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}
@media(max-width:1000px){#explore-dialog[data-room=thoughts] .thought-board[data-mode=read] .thought-stage{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 #explore-dialog[data-room=thoughts] #room-stage{left:0;right:0;top:62px;bottom:42px}
 #explore-dialog[data-room=thoughts] .thought-board[data-mode=read] .thought-viewport{padding:69px 18px 28px}
 #explore-dialog[data-room=thoughts] .thought-board[data-mode=read] .thought-stage{grid-template-columns:1fr;gap:34px}
 #explore-dialog[data-room=thoughts] .thought-sticky{padding-left:20px;padding-right:20px}
 #explore-dialog[data-room=thoughts] .thought-sticky h3{font-size:25px}
 #explore-dialog[data-room=thoughts] .thought-sticky p{font-size:19px;line-height:1.85}
 #explore-dialog[data-room=thoughts] .sticky-drag-handle{width:calc(100% + 40px);margin-left:-20px}
}

/* Desktop windows live inside the CRT and keep one final reading scale. */
@font-face{font-family:WorldHand;src:url('assets/fonts/world-hand.woff2') format('woff2');font-weight:400;font-display:swap}
.wake-invite{font-family:Caveat,WorldHand,cursive;font-size:25px;text-shadow:none;color:#375867}
.masthead>p{font-family:WorldHand,Caveat,cursive!important;font-size:15px!important;letter-spacing:.3px}
#world-occlusion{position:absolute;inset:0;z-index:5;pointer-events:none}
.object-approach #world-occlusion,.modal-open #world-occlusion{opacity:0}
#peek-current[hidden]{display:none!important}
#explore-dialog[data-room=projects] #room-scroll{border-radius:4.2% / 6.2%;background:#7ca7ac url('assets/content/desktop/wallpaper-clay.png') center/cover no-repeat;isolation:isolate}
#explore-dialog[data-room=projects] #room-body{height:100%;min-height:100%;padding:16px 20px;position:relative}
#explore-dialog[data-room=projects] .computer-desktop{min-height:100%;display:flex;flex-direction:column;gap:16px;background:none}
#explore-dialog[data-room=projects] .desktop-greeting{margin:0;gap:10px;flex-shrink:0}
#explore-dialog[data-room=projects] .desktop-greeting h3{font-size:28px;white-space:nowrap}
#explore-dialog[data-room=projects] .computer-folders{width:100%;gap:9px}
#explore-dialog[data-room=projects] .computer-objects{margin-top:auto;gap:10px}
.computer-window{position:absolute;inset:11px;border:1px solid #fff5d9;border-radius:11px;background:#f7edd8;box-shadow:0 4px 0 #b4ae8c,0 10px 24px #30565e40;display:flex;flex-direction:column;min-height:0;overflow:hidden;pointer-events:auto;z-index:5}
.computer-window-bar{height:36px;min-height:36px;display:flex;align-items:center;gap:12px;padding:4px 10px;background:#e4d8ba;border-bottom:1px solid #c6b799;color:#4c645f}
.computer-window-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.computer-window-actions button{border:1px solid #c2926e;background:#dfb898;color:#6e5345;border-radius:50%;width:23px;height:23px;line-height:18px;padding:0;font-size:17px;text-align:center;box-shadow:0 2px 0 #a88c6d}
.computer-window-actions button[data-window-minimize]{background:#e9d297;border-color:#c9b475}
.computer-window-actions button[data-window-back]{background:#d3d8b6;border-color:#b0b79a}
.computer-window-bar>span{font-size:11px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.computer-window-content{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:19px 23px;scrollbar-width:thin;scrollbar-color:#b9b49a transparent}
.computer-dock-item{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);max-width:88%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:6;border:1px solid #fff4d6;border-radius:9px;padding:7px 13px;background:#efddb5;color:#416468;font-size:11px;box-shadow:0 3px 0 #bba681}
#explore-dialog[data-room=projects] .room-footer #room-back{display:none}
.programme-metrics{display:block!important;color:#72806c!important;font-size:9px!important;margin-top:6px;line-height:1.6}
.programme-metrics>span{display:block;color:#a29375;font-size:8px}
/* A small address card, with the same paper edge and clip as the green board. */
.phone-contact{position:relative;transform:rotate(-.7deg);padding:30px 29px 23px;border-radius:9px 12px 17px 9px;background:#f7e7c5;border:1px solid #fff0d0;box-shadow:1px 2px 0 #d7c49b,2px 4px 0 #c8b38c,4px 7px 0 #b8a17b,0 15px 30px #47645e2b}
.phone-contact:before{content:'';position:absolute;top:-12px;left:25px;width:31px;height:24px;border:2px solid #9d8e71;border-radius:5px;background:#dfd0a9;box-shadow:0 3px 0 #8d8066,1px 6px 4px #3c51402b}
.phone-contact h2{font-family:Caveat,WorldHand,cursive;font-weight:400}
.phone-contact .contact-signoff{font-family:Caveat,WorldHand,cursive;font-size:18px;color:#8c7653}
.contact-links .contact-email,.contact-links .contact-wechat{background:transparent;border:0;border-bottom:1px solid #d5c4a3;border-radius:0;box-shadow:none;padding:12px 0;margin-bottom:4px}
.contact-links :is(.contact-email,.contact-wechat) b{font-family:Caveat,Arial,WorldHand,sans-serif;font-size:18px}
.contact-links .contact-wechat>span{font-family:WorldHand,Arial,sans-serif}
.contact-voice{border-top:1px solid #d5c4a3;padding-top:14px}.contact-voice button{border:0;background:#e1caa0;border-radius:12px;box-shadow:0 3px 0 #baa17b;color:#4c6a68;padding:8px 13px;font-family:WorldHand,Caveat,cursive}.contact-voice p{font-family:WorldHand,Caveat,cursive;font-size:12px;line-height:1.8}
@media(max-width:700px){
 #explore-dialog[data-room=projects] #room-body{padding:12px 13px}
 #explore-dialog[data-room=projects] .computer-desktop{gap:13px}
 #explore-dialog[data-room=projects] .desktop-greeting h3{font-size:22px}
 .computer-window{inset:7px;border-radius:9px}.computer-window-bar{height:34px;min-height:34px;padding:3px 7px;gap:8px}.computer-window-actions{gap:6px}.computer-window-actions button{width:25px;height:25px;font-size:18px}.computer-window-content{padding:13px 14px}.computer-window-bar>span{font-size:10px}
 .phone-contact{padding:27px 22px 20px}.contact-links :is(.contact-email,.contact-wechat) b{font-size:17px}
}
#explore-dialog[data-room=projects]:not([data-view=home]) #room-scroll{overflow:hidden}
#explore-dialog[data-room=projects][data-minimized-window=true] .computer-desktop{padding-bottom:36px}
@media(max-width:700px){#explore-dialog[data-room=projects] .desktop-greeting>span{display:none}#explore-dialog[data-room=projects] .desktop-greeting h3{font-size:20px}}

/* Restore the original little landscape: folders at left, a large traveller,
   the car on the road, and individual objects across the hills. */
#explore-dialog[data-room=projects] #room-body{padding:0;height:100%;min-height:0;width:100%;max-width:none}
#explore-dialog[data-room=projects] #room-scroll{overflow:hidden;box-shadow:none;border:0;border-radius:var(--screen-radius-x) / var(--screen-radius-y)}
#explore-dialog[data-room=projects] .desktop-landscape{display:block;position:absolute;inset:0;min-height:0;padding:0;container-type:inline-size;background:none}
.landscape-slogan{position:absolute;left:46%;right:3%;top:10%;font:600 4.5cqw/1.15 Caveat,cursive;white-space:nowrap;color:#fff0ca;text-shadow:0 2px 1px #34556a30;text-align:center}
.landscape-folders{position:absolute;left:4%;top:12%;width:29%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3cqw 1.5cqw;z-index:3}
.landscape-folders button{display:flex;align-items:center;flex-direction:column;border:0;background:none;padding:2px 0;color:#fff4d9;text-shadow:0 1px 3px #25494d;gap:3px;border-radius:7px;min-width:0}
.landscape-folders button:hover{background:#fff1cd25}
.landscape-folders svg{width:9cqw;height:7.5cqw;filter:drop-shadow(0 3px 1px #31504d55);flex-shrink:0}
.landscape-folders span{font-size:clamp(8px,1.8cqw,13px);line-height:1.4;white-space:nowrap}
.landscape-folders small{font-size:clamp(7px,1.35cqw,10px);line-height:1.4;opacity:.85}
.landscape-object{position:absolute;border:0;background:none;padding:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;flex-direction:column}
.landscape-object img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 5px 2px #213f3d40);transition:transform .2s}
.landscape-object span{position:absolute;bottom:-7px;max-width:170%;white-space:nowrap;padding:3px 7px;border-radius:5px;background:#f7e9c9ed;color:#345962;font:clamp(9px,1.7cqw,13px) Caveat,WorldHand,sans-serif;opacity:0;transition:opacity .2s}
.landscape-object:hover img{transform:translateY(-4px)}
.landscape-object:hover span,.landscape-object:focus-visible span{opacity:1}
.landscape-french{left:31%;bottom:6%;width:24%;height:45%}
.landscape-commute{left:67%;bottom:16%;width:16%;height:18%;transform:rotate(-8deg)}
.landscape-mindverse{right:8%;top:34%;width:18%;height:25%;transform:rotate(7deg)}
.landscape-later{left:11%;bottom:10%;width:14%;height:24%}
.landscape-deeptalk{right:5%;bottom:3%;width:16%;height:25%;transform:rotate(-7deg)}
#explore-dialog[data-room=projects] .computer-window{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none}
#explore-dialog[data-room=projects] .computer-window-bar{padding-left:clamp(12px,2.3cqw,24px);padding-right:14px}
#explore-dialog[data-room=projects] .computer-window-content{padding:20px 26px 30px;pointer-events:auto}
#explore-dialog[data-room=projects][data-minimized-window=true] .desktop-landscape{padding:0}
@media(max-width:700px){
 .landscape-slogan{font-size:4.4cqw;left:43%;right:2%}
 .landscape-folders{width:32%;left:3%;top:12%;gap:4cqw 1cqw}
 .landscape-folders svg{width:11cqw;height:9cqw}
 .landscape-folders span{font-size:clamp(7px,2.2cqw,10px)}
 .landscape-folders small{font-size:7px}
 .landscape-french{left:32%;width:25%;height:44%}
 #explore-dialog[data-room=projects] .computer-window-content{padding:15px 16px 24px}
 #explore-dialog[data-room=projects] .computer-window-bar{padding-left:14px}
}

#end-message{opacity:var(--end-reveal,0)}
#explore-dialog[data-room=contact] #room-scroll{padding:17px 10px 14px;border-radius:0}
#explore-dialog[data-room=contact] #room-body{height:auto;min-height:0}
.phone-contact:before{top:-10px}
#explore-dialog[data-room=projects] #room-scroll{background-size:100% 100%}

/* A cream voice from the receiver: one quiet edge, with no paper hardware. */
#explore-dialog[data-room=contact] #room-scroll{left:50%;right:7%;top:18%;bottom:auto;width:auto;height:auto;max-height:none;padding:12px 12px 20px 46px;overflow:visible;border-radius:0;pointer-events:none}
#explore-dialog[data-room=contact] #room-body{padding:0;min-height:0;pointer-events:none}
.phone-contact.contact-speech{--bubble-cream:#f7e7c5;padding:0;transform:none;background:var(--bubble-cream);border:0;border-radius:38px 42px 43px 35px;box-shadow:none;filter:drop-shadow(1px 2px 0 #d7c49b) drop-shadow(0 8px 11px #36554e18);pointer-events:auto;color:#456370}
.phone-contact.contact-speech:before{content:'';position:absolute;left:-42px;top:38%;width:46px;height:49px;border:0;border-radius:0;box-shadow:none;transform:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 50'%3E%3Cpath d='M48 0Q28 27 0 45Q28 37 48 48Z' fill='%23f7e7c5'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.contact-speech-copy{position:relative;padding:29px 32px 25px;max-height:calc(100dvh - 230px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5b58f transparent;border-radius:inherit;pointer-events:auto}
.contact-speech .connection-light{font-size:9px;letter-spacing:.6px;color:#819b86}
.contact-speech h2{font:400 32px/1.45 Caveat,WorldHand,cursive;margin:16px 0 12px;color:#3d5b69}
.contact-speech-copy>p{font-size:14px;line-height:1.9;margin:0 0 18px}
.contact-speech .contact-links{margin:18px 0 0;gap:0 18px}
.contact-speech .contact-links :is(.contact-email,.contact-wechat){padding:12px 0;margin:0;border-color:#d5c4a3}
.contact-speech .contact-links a{border-color:#dfcfaf;font-size:12px}
.contact-speech .contact-links :is(.contact-email,.contact-wechat) small{color:#998568;letter-spacing:.4px}
.contact-speech .contact-links :is(.contact-email,.contact-wechat) b{font-size:20px;color:#456370}
.contact-speech .contact-links :is(.contact-email,.contact-wechat)>span,.contact-speech .contact-links a>span{color:#a7835c}
.contact-speech .contact-signoff{font:400 17px/1.8 Caveat,WorldHand,cursive;color:#8c7653;margin:20px 0 0}
.contact-speech .contact-voice{border-color:#d5c4a3}.contact-speech .contact-voice button{background:#e8d5ae;box-shadow:0 2px 0 #cbb68e;color:#496b68}
@media(min-width:701px) and (max-width:1000px){
 #explore-dialog[data-room=contact] #room-scroll{left:48%;right:4%;padding-left:36px}
 .contact-speech-copy{padding:24px}.contact-speech h2{font-size:27px}
}
@media(max-width:700px){
 #explore-dialog[data-room=contact] #room-scroll{left:6%;right:6%;top:auto;bottom:73px;width:auto;height:auto;max-height:none;padding:0;overflow:visible}
 .phone-contact.contact-speech{border-radius:29px 34px 32px 28px}
 .phone-contact.contact-speech:before{left:65%;top:-30px;width:42px;height:35px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 38'%3E%3Cpath d='M2 38Q30 20 48 0Q43 22 39 38Z' fill='%23f7e7c5'/%3E%3C/svg%3E")}
 .contact-speech-copy{padding:22px 24px 25px;max-height:46dvh;overflow:auto}
 .contact-speech h2{font-size:27px;margin:12px 0 9px}
 .contact-speech-copy>p{font-size:12px;line-height:1.85;margin-bottom:14px}
 .contact-speech .contact-links{margin:12px 0 0;gap:0 14px}
 .contact-speech .contact-links :is(.contact-email,.contact-wechat){padding:10px 0}
 .contact-speech .contact-links :is(.contact-email,.contact-wechat) b{font-size:18px}
 .contact-speech .contact-signoff{font-size:16px;margin:17px 0 0}
}

/* Three storeys and six furnished rooms in one cutaway house. */
#explore-dialog[data-room=experience][data-view=home] #room-stage{left:29%;right:3%;top:80px;bottom:62px}
.experience-house .atelier-heading{max-width:300px;top:105px;left:6%}
.experience-house .atelier-heading h2{font-size:32px}.experience-house .atelier-heading p{font-size:13px}
.house-room-links{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.house-room-links button{position:absolute;transform:translate(-50%,-50%);border:0;padding:1px 3px;background:none;box-shadow:none;color:#3e5f65;min-height:0;text-align:center;line-height:1.3}
.house-room-links button b{display:block;font-size:11px;font-weight:500}
.house-room-links button span{display:block;font-size:11px;line-height:1.4;color:#5b776e}
.house-room-links button small{display:block;font-size:9px;color:#7d846e;margin:2px 0 0}
.house-room-links button:hover,.house-room-links button:focus-visible{color:#9b6e40}
#explore-dialog[data-entering-experience=true] .house-room-links{opacity:0;pointer-events:none}
#explore-dialog[data-entering-experience=true] .house-room-links button{pointer-events:none}
.experience-room-switcher{position:absolute;left:6%;right:6%;bottom:72px;display:flex;gap:8px;overflow:auto;padding:5px 2px 9px;scrollbar-width:thin;pointer-events:auto}
.experience-room-switcher button{flex-shrink:0;border:1px solid #e8ddbd;border-radius:15px;background:#f6e8c9;color:#577471;padding:8px 12px;font-size:11px}
.experience-room-switcher button[aria-pressed=true]{background:#a9beb1;color:#fffbea;border-color:#a9beb1}
@media(max-width:700px){
 #explore-dialog[data-room=experience][data-view=home] #room-stage{left:0;right:0;top:185px;bottom:65px}
 .experience-house .atelier-heading{left:7%;right:6%;top:91px;max-width:none}
 .experience-house .atelier-heading h2{font-size:26px;line-height:1.4}.experience-house .atelier-heading p{font-size:12px}
 .house-room-links button b{display:none}.house-room-links button span{font-size:10px;line-height:1.3}
 .house-room-links button small{font-size:8px;margin:1px 0 0}
 .experience-room-switcher{bottom:63px;gap:7px}.experience-room-switcher button{font-size:10px;padding:8px 10px}
}
