:root{--ink:#33483f;--muted:#6b756d;--line:#dce2da;--paper:#fbfaf5;--green:#e4e8e0;font-family:Arial,"PingFang TC","Noto Sans TC",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #6589b8;outline-offset:5px}button{background:none;border:0}button:disabled{opacity:.4;cursor:default}.skip{position:fixed;z-index:10;left:20px;top:10px;transform:translateY(-200%);padding:12px 18px;background:var(--ink);color:white}.skip:focus{transform:none}.site-header{height:90px;max-width:1600px;margin:auto;padding:0 5%;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:28px}.wordmark{font-size:35px;letter-spacing:-2px;font-weight:700;text-decoration:none}.wordmark span{font-size:10px;vertical-align:top;letter-spacing:0;margin:7px 0 0 4px;display:inline-block}.header-note{font-size:9px;letter-spacing:2px;color:var(--muted)}.text-button{font-size:12px;margin-left:auto;display:flex;gap:30px;align-items:center;padding:12px 0}.text-button span{font-size:18px}main{max-width:1600px;margin:auto;padding:0 5%}.welcome{padding:37px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:28px}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#65765c;margin:0 0 13px}h1{font-size:clamp(25px,3.2vw,45px);font-weight:500;letter-spacing:-1.5px;margin:0}h1 span{font-family:Georgia,serif;font-style:italic;font-weight:400}.mission{font-size:13px;line-height:1.9;letter-spacing:.4px;margin:0;color:#656e63}.gallery{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#e9eeeb}.gallery-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 25px 0;position:relative;z-index:1}.gallery-heading p{font-size:12px;margin:0;display:flex;gap:9px;align-items:center}.live-dot{width:6px;height:6px;border-radius:50%;background:#698bb6}.muted{color:#6c7865}.space-label{font-size:9px;letter-spacing:1.5px;color:#75806e}#scene-host{height:clamp(430px,56vh,650px);position:relative}#space-canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}#space-canvas:active{cursor:grabbing}#scene-message{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);font-size:13px;white-space:nowrap;color:var(--muted);pointer-events:none}#scene-message[hidden]{display:none}.scene-signature{position:absolute;left:27px;top:30px;font-size:9px;letter-spacing:1.6px;line-height:1.8;color:#6e7b65;pointer-events:none}.scene-signature em{font-family:Georgia,serif;font-size:14px;letter-spacing:0;font-weight:400}.scene-toolbar{position:absolute;bottom:18px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.scene-toolbar span{font-size:10px;color:#66755d;letter-spacing:.4px}.scene-toolbar button{pointer-events:auto;font-size:11px;background:#fbfaf5eb;border:1px solid #d5dcd4;border-radius:25px;padding:10px 16px;display:flex;align-items:center;gap:16px}.scene-toolbar button:hover{background:#e5e9e4}.scene-toolbar button span{font-size:19px;line-height:1}.service-nav{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);background:#fbfaf5}.service-nav button{display:flex;align-items:flex-start;flex-direction:column;gap:9px;padding:17px 14px 19px;text-align:left;min-height:76px;border-right:1px solid var(--line);transition:background .2s}.service-nav button:last-child{border:0}.service-nav button span{font-size:9px;letter-spacing:1px;color:#6a7c60}.service-nav button strong{font-weight:500;font-size:12px;white-space:nowrap}.service-nav button:hover,.service-nav button.is-highlighted{background:#edf0ec}.service-nav button:focus-visible{outline-offset:-4px}footer{max-width:1600px;padding:17px 5% 21px;margin:auto;display:flex;justify-content:space-between;gap:20px;color:#74806d;font-size:10px}footer p{margin:0}footer span{font-size:9px;letter-spacing:1px}dialog{position:fixed;inset:0 0 0 auto;margin:0;width:540px;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--line);padding:0;background:#fbfaf5;color:var(--ink);box-shadow:-15px 0 80px #1a382024}dialog::backdrop{background:#172e243d;backdrop-filter:blur(4px)}.dialog-top{position:sticky;top:0;z-index:1;background:#fbfaf5f5;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;border-bottom:1px solid var(--line)}.dialog-top span{font-size:9px;letter-spacing:1.5px}.dialog-top button{border:1px solid var(--line);border-radius:50%;width:36px;height:36px;font-size:23px;font-weight:300}#detail-content{padding:35px 32px 45px}.detail-number{font:italic 50px Georgia,serif;color:#82966c;margin:0 0 12px}#detail-title{font-size:27px;font-weight:500;letter-spacing:-.8px;margin:0 0 15px}.detail-intro{font-size:14px;line-height:1.95;color:#52624c;margin:0 0 30px}.detail-section{padding:23px 0;border-top:1px solid var(--line)}.detail-section h3{font-size:12px;letter-spacing:1px;margin:0 0 14px}.detail-section p,.detail-section li{font-size:13px;line-height:1.9;color:#56664e;margin:0}.detail-section ul{padding-left:18px;margin:0}.detail-section li+li{margin-top:8px}.detail-section details summary{cursor:pointer;font-size:12px;padding:6px 0}.detail-section details p{padding-top:12px}.cta{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#faf6eb;font-size:13px;text-decoration:none;padding:17px 20px;margin:12px 0 16px;border-radius:2px}.cta:hover{background:#4b6154}.detail-note{font-size:10px;line-height:1.8;color:#79866e}.noscript{padding:30px}.fallback #scene-host{height:190px}.fallback #space-canvas,.fallback .scene-signature,.fallback .scene-toolbar{display:none}.fallback .service-nav{grid-template-columns:repeat(3,1fr)}.fallback #scene-message{white-space:normal;text-align:center;width:80%;line-height:1.9}
@media(min-width:1600px){.welcome{padding-top:45px;padding-bottom:30px}#scene-host{height:650px}}
@media(max-width:900px){.site-header{height:75px;padding:0 4%}main{padding:0 4%}.welcome{padding:25px 0 22px}.mission{font-size:11px}.service-nav{grid-template-columns:repeat(3,1fr)}.service-nav button{min-height:61px;padding:12px 16px;flex-direction:row;align-items:center;gap:12px}.service-nav button:nth-child(3){border-right:0}.service-nav button:nth-child(-n+3){border-bottom:1px solid var(--line)}#scene-host{height:460px}.scene-signature{top:16px}.space-label{display:none}footer{padding-left:4%;padding-right:4%}}
@media(max-width:560px){.site-header{height:70px;padding:0 6%}.wordmark{font-size:31px}.header-note{display:none}.text-button{font-size:11px;gap:12px}main{padding:0 4%}.welcome{display:block;padding:27px 2% 22px}.eyebrow{font-size:8px;margin-bottom:13px}h1{font-size:31px}.mission{margin-top:13px;font-size:12px;line-height:1.8}.mission br{display:none}.gallery-heading{padding:17px 16px 0}.gallery-heading p{font-size:11px;gap:6px}.muted{font-size:10px}.scene-signature{display:none}#scene-host{height:450px}.scene-toolbar{left:15px;right:15px;bottom:15px}.scene-toolbar span{font-size:9px}.service-nav button{padding:14px 9px;gap:5px;flex-direction:column;align-items:flex-start;min-height:70px}.service-nav button strong{font-size:11px;letter-spacing:-.3px}.service-nav button span{font-size:8px}footer{font-size:9px;padding:15px 5%;gap:10px}footer span{font-size:8px;white-space:nowrap}.dialog-top{padding:15px 23px}#detail-content{padding:26px 23px}#detail-title{font-size:25px}.detail-number{font-size:40px}.detail-intro{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.skip:not(:focus){clip-path:inset(50%);height:1px;width:1px;overflow:hidden;padding:0}

.wordmark{display:flex;align-items:center;gap:10px}.brand-tiles{display:grid!important;grid-template-columns:repeat(2,7px);gap:3px;margin:0!important}.brand-tiles i{width:7px;height:7px;border-radius:2px;background:#6485b0}.brand-tiles i:nth-child(2){background:#d78368}.brand-tiles i:nth-child(3){background:#e4bf5b}.brand-tiles i:nth-child(4){background:#8aa28e}.service-nav button{box-shadow:inset 0 3px var(--service-color)}.service-nav button:nth-child(1){--service-color:#5b7fae}.service-nav button:nth-child(2){--service-color:#d78368}.service-nav button:nth-child(3){--service-color:#e4bf5b}.service-nav button:nth-child(4){--service-color:#9eaf9c}.service-nav button:nth-child(5){--service-color:#b2bacf}.service-nav button:nth-child(6){--service-color:#dcc4a1}#scene-host{height:clamp(410px,56vh,650px)}@media(max-width:900px){#scene-host{height:490px}}@media(max-width:560px){#scene-host{height:490px}.brand-tiles{grid-template-columns:repeat(2,6px);gap:2px}.brand-tiles i{width:6px;height:6px}}

:root{--paper:#ffffff;background:#fff}.gallery{background:#fff;border-color:#e9e9e3}.service-nav,.site-header{background:#fff}.scene-toolbar button{background:#fffffff2}.scene-signature{color:#7b817b}dialog,.dialog-top{background:#fff}.welcome .mission{color:#646e65}

.scene-controls{display:flex;gap:8px;pointer-events:auto}.scene-toolbar{gap:14px}.scene-toolbar .enter-space{background:#344c40;color:#fff9ed;border-color:#344c40;padding:13px 20px}.scene-toolbar .enter-space span{color:#fff9ed}#scene-hint{text-align:center;background:#ffffffd9;padding:7px 12px;border-radius:20px}.greeting-bubble{position:absolute;left:26px;top:72px;padding:16px 22px;background:#fffefa;border:1px solid #e0e3d9;border-radius:14px;box-shadow:0 8px 25px #4657460c;color:#34483d;z-index:2}.greeting-bubble[hidden]{display:none}.greeting-bubble small{display:block;font-size:10px;color:#7b8778;margin-bottom:7px}.greeting-bubble strong{font-size:15px;font-weight:500}.nearby-action{position:absolute;bottom:79px;left:50%;transform:translateX(-50%);background:#fffef5f5;padding:13px 22px;border:1px solid #d5dfcc;border-radius:25px;font-size:12px;box-shadow:0 5px 20px #41503a12;z-index:2}.nearby-action[hidden]{display:none}.welcome-services button{width:100%;display:flex;align-items:center;padding:18px 0;border-top:1px solid var(--line);font-size:13px;text-align:left;gap:17px}.welcome-services small{font-size:10px;color:#73816d}.welcome-services button span{margin-left:auto}.scene-signature{display:none}#scene-host{height:clamp(460px,64vh,720px)}@media(max-width:900px){#scene-hint{font-size:9px}.scene-toolbar{flex-wrap:wrap;justify-content:space-between}.scene-toolbar #scene-hint{order:3;flex-basis:100%;padding:5px;margin-bottom:-8px}#scene-host{height:540px}.nearby-action{bottom:105px}}@media(max-width:560px){.scene-toolbar .enter-space{padding:11px 15px;font-size:11px}.scene-toolbar{bottom:20px;gap:10px}.scene-controls{gap:5px}.scene-controls button{padding:9px 12px}.greeting-bubble{left:15px;top:25px;padding:12px 16px}.greeting-bubble strong{font-size:13px}.greeting-bubble small{font-size:9px}#scene-host{height:530px}}

.scene-toolbar .enter-space:hover{background:#4b6556;color:#fff9ed}.fallback .greeting-bubble,.fallback .nearby-action{display:none}#space-canvas:focus-visible{outline:2px solid #6f88ab;outline-offset:-3px}

/* Reception gets the foreground; services remain together and immediately accessible. */
.site-header{height:68px;padding-inline:3%}main{padding-inline:3%}.welcome{padding:24px 0 20px}.gallery-heading{padding:16px 22px 0}.gallery{border-radius:3px}#scene-host{height:clamp(550px,73vh,820px)}.entry-actions{display:flex;align-items:center;gap:9px;pointer-events:auto}.scene-toolbar .choose-service{background:#344c40;color:#fff;border-color:#344c40;padding:14px 20px;font-size:12px}.scene-toolbar .choose-service span{color:white}.scene-toolbar .enter-space{background:#fffffff0;border-color:#d5ded7;color:#43594d;padding:12px 17px}.scene-toolbar .enter-space span{color:#43594d}.scene-toolbar .enter-space:hover{background:#edf1e9;color:#43594d}.scene-toolbar .choose-service:hover{background:#496554}.is-menu{width:740px}.is-menu #detail-content{padding-top:32px}.service-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-choice-grid button{display:grid;gap:9px;text-align:left;padding:20px;border:1px solid #dce4dd;border-radius:8px;background:#f8faf6;min-height:135px}.service-choice-grid button:hover{background:#edf3e8;border-color:#91aa91}.service-choice-grid small{font-size:10px;color:#748575;letter-spacing:1px}.service-choice-grid strong{font-size:17px;font-weight:500}.service-choice-grid span{font-size:12px;line-height:1.6;color:#69756c}.founder-services{width:100%;text-align:left}.is-menu .detail-intro{margin-bottom:22px}@media(max-width:900px){#scene-host{height:620px}.scene-toolbar{left:20px;right:20px}.entry-actions{gap:6px}}@media(max-width:560px){.site-header{height:60px}.welcome{padding-top:20px}.scene-toolbar{left:12px;right:12px;bottom:15px}.entry-actions{width:100%}.scene-toolbar .choose-service{flex:1;justify-content:space-between}.scene-toolbar .enter-space{flex:1;justify-content:space-between}.scene-controls{margin-left:auto}.scene-toolbar #scene-hint{flex-basis:auto;order:0;background:none;padding:0}.scene-toolbar{gap:8px}#scene-host{height:590px}.service-choice-grid{gap:8px}.service-choice-grid button{padding:14px 12px;min-height:128px}.service-choice-grid strong{font-size:14px}.service-choice-grid span{font-size:11px}.is-menu #detail-content{padding:28px 18px}.nearby-action{bottom:126px}}

.back-services{padding:0 0 22px;font-size:12px;color:#6a7d6c}.back-services:hover{color:#294a36}

/* Let longer English labels wrap without pushing service tiles outside the space. */
.service-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
.service-nav button{min-width:0}
.service-nav button strong{white-space:normal;line-height:1.45}
.service-choice-grid strong{line-height:1.4}
@media(max-width:900px){.service-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.scene-toolbar #scene-hint{flex-basis:100%;order:3;line-height:1.5}.service-nav button{min-height:82px}.scene-toolbar .choose-service,.scene-toolbar .enter-space{gap:8px;padding-inline:13px}.book-card{min-width:0}.book-card span{line-height:1.5}}

/* One calm conversation, with a complete, inspectable founder character. */
.is-founder{width:960px}.is-library{width:760px}.is-founder #detail-content{padding-top:27px}.founder-intro{font-size:13px;line-height:1.8;color:#637063;margin:0 0 22px}.founder-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(300px,1fr);gap:25px}.founder-character{align-self:start;border-radius:16px;background:#f7f8f2;padding:0 12px 15px;overflow:hidden}.founder-portrait{height:360px;position:relative}.founder-portrait canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.founder-portrait canvas:active{cursor:grabbing}.portrait-loading{position:absolute;inset:45% 0 auto;text-align:center;font-size:12px;color:#6d7e6a}.portrait-hint{font-size:11px;line-height:1.7;text-align:center;margin:0 0 12px;color:#687960}.portrait-actions{display:flex;gap:5px;justify-content:center}.portrait-actions button{border:1px solid #d6dfd0;border-radius:20px;padding:9px 11px;font-size:11px;background:#fff}.portrait-actions button:hover{background:#eaf0e2}.chat-log{height:250px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 8px 8px 0}.chat-message{margin-bottom:12px;padding:12px 15px;background:#f3f5ef;border-radius:12px 12px 12px 2px}.chat-message.visitor{margin-left:35px;background:#e8eef2;border-radius:12px 12px 2px 12px}.chat-message small{font-size:10px;color:#6d7d70}.chat-message p{margin:5px 0 0;font-size:13px;line-height:1.85;overflow-wrap:anywhere}.chat-topics{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.chat-topics button{font-size:11px;border:1px solid #dbe4d8;border-radius:20px;padding:8px 11px;text-align:left}.chat-topics button:hover{background:#edf3e8}#founder-chat label{display:block;font-size:11px;margin:15px 0 7px}#founder-chat>div{display:flex;gap:8px}#founder-message{min-width:0;width:100%;border:1px solid #ccd9c9;border-radius:5px;background:#fff;padding:11px;font:inherit;font-size:12px;color:#33483f}#founder-chat button{flex-shrink:0;background:#344c40;color:#fff;border-radius:5px;padding:10px 15px;font-size:12px}.prototype-note{font-size:10px;line-height:1.7;color:#6c786b;margin-top:10px}.room-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.room-actions button{padding:12px 15px;border:1px solid #d9e2d5;border-radius:5px;font-size:12px;text-align:left}.room-actions button:first-child{background:#344c40;color:white;border-color:#344c40}.room-actions button:hover{box-shadow:0 0 0 1px #91a589}.room-choices{display:flex;gap:8px;flex-wrap:wrap}.room-choices button{font-size:12px;padding:12px 15px;border:1px solid #d6dfd3;border-radius:22px}.room-choices button[aria-pressed=true]{background:#344c40;color:#fff}.room-result{margin-top:20px;background:#f5f7f0;border-radius:9px;padding:24px;min-height:200px}.room-result h3,.book-detail h3{font-size:17px;font-weight:500;margin:0 0 15px}.room-result p,.book-detail p{font-size:13px;line-height:1.9;margin:0}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.book-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;justify-content:space-between;aspect-ratio:3/4;background:#d5dfd1;border-radius:3px 8px 8px 3px;border-left:7px solid #acbba5;padding:20px 15px;box-shadow:3px 5px 0 #eff1eb}.book-card:nth-child(2){background:#e9d4c8;border-left-color:#c9a593}.book-card:nth-child(3){background:#d4e1e9;border-left-color:#a6bdcc}.book-card small{font-size:9px;letter-spacing:1px}.book-card strong{font-size:17px;font-weight:500;line-height:1.6}.book-card span{font-size:11px}.book-card[aria-pressed=true]{outline:2px solid #435e46;outline-offset:4px}.book-detail{margin-top:25px;padding:24px;border:1px solid #dbe3d5;border-radius:8px}.book-detail[hidden]{display:none}.book-detail small{font-size:11px;color:#76806c}.book-detail p{margin-top:13px}.book-detail p:last-child{font-size:11px;color:#73806e}
@media(max-width:700px){.founder-layout{grid-template-columns:1fr}.founder-character{padding-bottom:12px}.founder-portrait{height:245px}.chat-log{height:220px}.founder-layout{gap:23px}.is-founder #detail-content{padding:24px 20px}.is-founder #detail-title{font-size:23px}.book-grid{gap:9px}.book-card{padding:15px 10px;border-left-width:5px}.book-card strong{font-size:14px}.book-card small{font-size:8px}.book-card span{font-size:10px}.room-actions button{font-size:11px}}

/* A clear architectural view, with controls outside the room. */
.gallery{border:1px solid #e5e9e4;border-radius:16px;background:#fff;box-shadow:0 10px 40px #233e2e05}
.gallery-heading{padding:18px 23px;border-bottom:1px solid #f0f1ed}
#scene-host{height:clamp(420px,58vw,650px);isolation:isolate}
.scene-toolbar{position:relative;inset:auto;padding:15px 20px;gap:16px;background:#fafbf8;border-top:1px solid #edf0e9;z-index:2}
.scene-toolbar #scene-hint{background:none;font-size:10px;line-height:1.5;padding:0;color:#657367}
.scene-toolbar button{background:#fff;box-shadow:0 2px 4px #263b2b04}
.scene-toolbar .choose-service{padding:12px 18px}
.scene-toolbar .enter-space{padding:11px 15px}
.service-nav button{min-height:86px;padding:18px 16px;box-shadow:inset 0 2px var(--service-color);transition:background .18s}
.service-nav button strong{font-size:12px;line-height:1.55}
.service-nav button:hover{background:#f3f6f0}
.space-signs{position:absolute;inset:0;pointer-events:none;z-index:1}
.space-signs[hidden]{display:none}
.space-signs button{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;pointer-events:auto;padding:8px 12px;border:1px solid #dce4dd;background:#ffffffed;border-radius:7px;box-shadow:0 3px 12px #20382a0a;font-size:11px;letter-spacing:.15px;font-weight:500;color:#354b3e}
.space-signs button::after{content:'';display:block;position:absolute;top:100%;left:50%;height:10px;border-left:1px solid #aab9aa}
.space-signs button:hover{background:#eef4e9;border-color:#98b095}
.nearby-action{bottom:22px}.greeting-bubble{top:22px;left:22px}
.fallback .space-signs{display:none}
@media(min-width:1400px){#scene-host{height:650px}}
@media(max-width:900px){#scene-host{height:520px}.scene-toolbar{padding:14px 17px;gap:12px}.scene-toolbar #scene-hint{flex-basis:100%;order:3;margin:0}.service-nav button{padding:15px 13px;min-height:70px;gap:10px}.space-signs button{font-size:10px;padding:7px 10px}}
@media(max-width:560px){.gallery{border-radius:12px}.gallery-heading{padding:15px 14px}.gallery-heading .muted{display:none}#scene-host{height:clamp(230px,76vw,330px)}.scene-toolbar{padding:13px 12px;gap:10px}.entry-actions{width:100%}.scene-controls{margin:0 auto}.scene-toolbar #scene-hint{font-size:9px}.service-nav button{min-height:92px;padding:13px 10px;gap:7px}.service-nav button strong{font-size:11px}.space-signs button{font-size:9px;padding:6px 8px}.greeting-bubble{max-width:calc(100% - 30px);left:15px;top:15px}.nearby-action{font-size:11px;bottom:16px}}

/* Two everyday actions; optional controls live in a small disclosure. */
.scene-toolbar{flex-wrap:nowrap;padding:10px 18px;gap:12px;min-height:63px}
.scene-controls{align-items:center;flex-wrap:nowrap;margin:0;width:auto;gap:8px}
.scene-toolbar .choose-service{flex:none;padding:11px 17px;gap:20px}
.scene-toolbar #reset-view{padding:10px 16px;gap:12px}
.view-options{position:relative;pointer-events:auto;flex:none}
.view-options>summary{width:38px;height:38px;display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;border-radius:50%;color:#54685c;position:relative}
.view-options>summary::-webkit-details-marker{display:none}
.view-options>summary:hover,.view-options[open]>summary{background:#e9eee7}
.view-options>summary:focus-visible{outline:3px solid #6589b8;outline-offset:3px}
.view-options:has(#pause-space[aria-pressed=true])>summary::after{content:'';position:absolute;width:6px;height:6px;right:5px;top:5px;border-radius:50%;background:#a77a37}
.view-options-panel{position:absolute;right:0;bottom:calc(100% + 17px);width:252px;max-width:calc(100vw - 46px);max-height:min(350px,calc(100dvh - 170px));overflow:auto;padding:13px;background:#fff;border:1px solid #dde4dc;border-radius:14px;box-shadow:0 10px 36px #243c2c1c}
.view-options-title{font-size:11px;font-weight:600;margin:2px 8px 9px;color:#344c40}
.scene-toolbar .view-options-panel>button{width:100%;min-height:36px;padding:9px 10px;border:0;border-radius:7px;box-shadow:none;justify-content:flex-start;background:transparent;font-size:11px}
.scene-toolbar .view-options-panel>button:hover{background:#f0f4ed}
.scene-toolbar .view-options-panel>button[aria-pressed=true]{background:#e5eee6}
.view-height{display:flex;align-items:center;gap:6px;border-top:1px solid #edf0e9;margin-top:7px;padding-top:10px}
.scene-toolbar .view-height>span{font-size:11px;letter-spacing:0;margin-right:auto}
.scene-toolbar .camera-step{width:32px;height:32px;padding:0;justify-content:center;font-size:16px;gap:0;box-shadow:none}
.view-help{font-size:10px;line-height:1.8;margin:10px 2px 0;color:#68786b}
.scene-toolbar #scene-hint.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;flex-basis:auto}
@media(min-width:561px){#scene-host{height:clamp(280px,calc(100dvh - 305px),650px)}}
@media(max-width:560px){.scene-toolbar{padding:10px;gap:8px}.scene-toolbar .choose-service{font-size:11px;padding:10px 12px;gap:10px;justify-content:center}.scene-toolbar #reset-view{font-size:11px;padding:10px 12px;gap:7px}.scene-controls{margin:0;gap:2px}.view-options>summary{width:34px;height:36px}.view-options-panel{bottom:calc(100% + 16px);max-height:calc(76vw + 20px)}}

/* A quiet conversation at reception, with the room still visible behind it. */
.reception-chat{position:absolute;right:20px;bottom:20px;width:342px;max-width:calc(100% - 40px);max-height:calc(100% - 32px);overflow:auto;z-index:3;padding:18px;border:1px solid #ffffffce;border-radius:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 42px #273e3021;color:#344c40}
.reception-chat[hidden]{display:none}
.reception-chat-top{display:flex;align-items:center;gap:10px}
.host-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;background:#e2ebe1;border:1px solid #d1dfce;border-radius:12px;font:italic 24px Georgia,serif;color:#46614b}
.reception-chat-top strong{display:block;font-size:11px;font-weight:600;letter-spacing:.2px}
.reception-chat-top div>span{display:block;font-size:10px;color:#637769;margin-top:4px}
#close-reception{margin-left:auto;align-self:flex-start;width:28px;height:28px;border-radius:50%;font-size:21px;line-height:1;flex-shrink:0;color:#637769}
#close-reception:hover{background:#dfe8dd99}
.reception-message{margin:18px 0 16px}
.reception-message h2{margin:0 0 8px;font:400 22px Georgia,serif;letter-spacing:-.3px}
.reception-message p{margin:0;font-size:12px;line-height:1.7;max-width:28ch;color:#485e50}
.reception-replies{display:flex;flex-direction:column;gap:6px}
.reception-replies button{border-radius:10px;padding:11px 12px;font-size:11px;line-height:1.4;text-align:left}
#reception-guide{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#344c40;color:#fff;border:1px solid #344c40}
#reception-guide:hover{background:#496554}
#reception-guide span{font-size:17px;line-height:1}
#reception-browse{background:#ffffff70;border:1px solid #d6e1d2;color:#425d49}
#reception-browse:hover{background:#fff}
#scene-host:has(.reception-chat:not([hidden])) .nearby-action{display:none}
.fallback .reception-chat{display:none}
dialog.is-reception-guide{inset:0;margin:auto;width:700px;height:fit-content;max-height:calc(100dvh - 48px);border:1px solid #ffffffc9;border-radius:22px;background:rgba(251,253,248,.87);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 24px 80px #1e392229}
dialog.is-reception-guide::backdrop{background:#1c36211a;backdrop-filter:none}
.is-reception-guide .dialog-top{background:#f7faf3b8}
.is-reception-guide .service-choice-grid button{background:#ffffff70;border-color:#d3dece}
.is-reception-guide .service-choice-grid button:hover{background:#fff;border-color:#93ab8f}
@media(max-width:560px){.reception-chat{right:12px;bottom:12px;padding:14px;width:310px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);border-radius:15px}.reception-message{margin:12px 0}.reception-message h2{font-size:20px}.reception-message p{font-size:11px;max-width:none}.reception-replies{gap:5px}.reception-replies button{padding:9px 10px}dialog.is-reception-guide{width:calc(100% - 24px);max-height:calc(100dvh - 32px);border-radius:18px}.is-reception-guide .dialog-top{padding:14px 18px}.is-reception-guide #dialog-kicker{font-size:8px;letter-spacing:.8px}}

/* The host introduces each place while the visit continues in the room. */
.tour-panel{width:310px;padding:16px;background:rgba(255,255,255,.8)}
.tour-panel .reception-message{margin:14px 0 12px}.tour-panel .reception-message h2{font-size:20px}.tour-panel .reception-message p{max-width:none;font-size:11px;line-height:1.65}
#close-tour{margin-left:auto;width:28px;height:28px;flex-shrink:0;border-radius:50%;font-size:21px;color:#637769}
#close-tour:hover{background:#dfe8dd99}
#tour-action{border:1px solid #cad9c5;background:#ffffff85;color:#344c40}
#tour-action:hover{background:#fff}
#tour-next,#tour-email{border:1px solid #344c40;background:#344c40;color:#fff}
#tour-next:hover,#tour-email:hover{background:#496554}
#tour-email{display:flex;flex-direction:column;gap:5px;border-radius:10px;padding:12px;font-size:12px;text-decoration:none;overflow-wrap:anywhere}
#tour-email small{font-size:11px;font-weight:400;opacity:.9}
#tour-email[hidden]{display:none}
.tour-panel[data-phase="closing"] #tour-next{background:#ffffff85;border-color:#cad9c5;color:#344c40}
#tour-leave{font-size:10px;color:#607364;padding:7px 4px}
.tour-panel .reception-replies [hidden]{display:none}
body:has(#service-dialog[open]) .tour-panel{visibility:hidden}
#scene-host:has(.tour-panel:not([hidden])) .nearby-action{display:none}
@media(max-width:560px){.tour-panel{width:280px;padding:12px}.tour-panel .reception-message{margin:10px 0}.tour-panel .reception-message h2{font-size:18px}.tour-panel .reception-message p{font-size:10px}.tour-panel .reception-replies button{padding:8px 10px}}

/* Enter the office directly; the reception host provides the welcome. */
main{padding-top:18px}
h1.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:560px){main{padding-top:12px}}

/* Conversations float on the right while the office stays full size. */
.visit-stage{position:relative;display:block}
.visit-stage #scene-host{min-width:0}
.visit-stage>.reception-chat{position:absolute;inset:auto 18px 18px auto;width:clamp(260px,27vw,320px);max-width:calc(100% - 36px);max-height:calc(100% - 36px);min-height:0;margin:0;padding:20px;border:1px solid rgba(255,255,255,.85);border-radius:20px;box-shadow:0 12px 36px #233e2e20,inset 0 1px 0 #ffffffb3;background:rgba(250,252,248,.80);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;overflow:auto;z-index:3}
.visit-stage>.reception-chat[hidden]{display:none}
.visit-stage>.reception-chat .reception-message{margin:16px 0 14px;flex:initial}
.visit-stage>.reception-chat .reception-message h2{font-size:22px;line-height:1.3;margin-bottom:10px}
.visit-stage>.reception-chat .reception-message p{font-size:12px;line-height:1.8;max-width:none;min-height:3.6em}
.visit-stage>.reception-chat .reception-replies{margin-top:0;flex-direction:column;gap:7px}
.visit-stage>.reception-chat .reception-replies button{font-size:12px;padding:10px 12px;flex:initial;min-width:0}
.visit-stage>.reception-chat #tour-leave{font-size:11px;padding:9px 3px}
.visit-stage:has(.reception-chat:not([hidden])) .nearby-action{display:none}
@media(max-width:560px){
 .visit-stage:has(.reception-chat:not([hidden])) #scene-host{height:min(680px,calc(100dvh - 120px));min-height:520px}
 .visit-stage>.reception-chat{right:12px;bottom:12px;width:288px;max-width:calc(100% - 24px);max-height:55%;padding:16px;border-radius:17px}
 .visit-stage>.reception-chat .reception-message{margin:12px 0}
 .visit-stage>.reception-chat .reception-message h2{font-size:21px}
}
/* Reception choices and small, local feedback keep the space in view. */
#reception-chat .reception-replies{display:flex;flex-direction:column;gap:8px}
#reception-chat #reception-services{background:#edf3ec;color:#344c40;border:1px solid #cbd8ca}
#reception-chat #reception-guide{background:#344c40;color:white}
#reception-chat #reception-browse{background:transparent;border:0;color:#69766b}
.typing-skip{display:inline-block;font:500 10px/1.4 Arial,"PingFang TC",sans-serif!important;padding:5px 0!important;border:0!important;border-radius:0!important;background:none!important;color:#718076!important;text-align:left}
.typing-skip[hidden]{display:none!important}
#tour-pause{background:transparent;border:1px solid #cbd8ca}
#tour-panel[data-phase="stopped"] .reception-replies{gap:7px}
#tour-panel .reception-message{flex:1}
.visit-moment{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);z-index:4;padding:12px 18px;border:1px solid #d7dfd1;border-radius:16px;background:#fffdf2ed;box-shadow:0 5px 22px #3a483515;color:#344c40;font-size:12px;line-height:1.6;pointer-events:auto}
.visit-moment[hidden]{display:none}
.visit-moment p{margin:0}
.visit-moment button{font-size:11px;text-decoration:underline;padding:7px 0 0;color:#5a6c58}
.chat-message .typing-skip{margin-top:4px}
.reception-message p .visually-hidden,.chat-message p .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.reception-message p{min-height:3.4em}

/* The approved artwork is displayed in its original proportions. */
.wordmark{flex:0 0 auto;line-height:0}.orgaro-logo{display:block;width:168px;height:auto;max-width:100%;mix-blend-mode:multiply}.service-nav button[data-service="career"]{--service-color:#b294c3}.service-nav button[data-service="people"]{--service-color:#5b7fae}.service-nav button[data-service="service"]{--service-color:#d78368}.service-nav button[data-service="attendance"]{--service-color:#e4bf5b}.service-nav button[data-service="payroll"]{--service-color:#88ae97}.service-nav button[data-service="performance"]{--service-color:#9aacc9}
@media(max-width:560px){.orgaro-logo{width:130px}.site-header{gap:12px}.text-button{gap:8px}}

/* The bilingual brand line uses the same rhythm beside the logo. */
.header-note{font-size:10px;line-height:1.65;letter-spacing:.08em;flex-shrink:0}

/* Carry the wall card's color into the selected service, keeping body copy on a light surface. */
.service-choice-grid button{border-top:4px solid var(--service-accent,#dce4dd);background:color-mix(in srgb,var(--service-accent,#dce4dd) 12%,white)}
.service-choice-grid button:hover{background:color-mix(in srgb,var(--service-accent,#dce4dd) 24%,white);border-color:var(--service-accent,#91aa91)}
dialog.is-service{border-top:5px solid var(--service-accent);background:linear-gradient(180deg,color-mix(in srgb,var(--service-accent) 18%,white),white 360px)}
.is-service .dialog-top{background:color-mix(in srgb,var(--service-accent) 32%,white);border-bottom-color:color-mix(in srgb,var(--service-accent) 65%,white)}
.is-service .detail-number{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 0 20px;border-radius:14px;background:var(--service-accent);color:#293d34;font:600 17px Arial,sans-serif}
.is-service .detail-section{border-color:color-mix(in srgb,var(--service-accent) 50%,white)}
.is-service .cta{background:var(--service-accent);color:#263b32;border:1px solid color-mix(in srgb,var(--service-accent) 85%,#263b32);border-radius:10px}
.is-service .cta:hover{background:color-mix(in srgb,var(--service-accent) 80%,white)}
.tour-panel[data-service]:not([data-service=""]){border-left:4px solid var(--service-accent)}

/* Small screens: keep the room visible and the conversation choices reachable. */
.touch-camera,.touch-hint{display:none}
.basic-services{display:block;margin:16px 24px;padding:14px 18px;background:#344c40;color:#fff;border-radius:12px;text-align:center;text-decoration:none}
.basic-services[hidden]{display:none}
.fallback .visit-stage>.reception-chat,.fallback .touch-camera,.fallback .touch-hint{display:none}
.fallback .visit-stage #scene-host{height:160px;min-height:0}
.visit-stage>.reception-chat .reception-chat-top,.visit-stage>.reception-chat .reception-replies{flex-shrink:0}
.visit-stage>.reception-chat .reception-message{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
dialog{height:100vh;max-height:100vh}
@supports(height:100dvh){dialog{height:100dvh;max-height:100dvh}}
@supports not (background:color-mix(in srgb,white,black)){
 .service-choice-grid button,dialog.is-service{background:#f8faf7}
 .is-service .dialog-top{background:#edf3ec;border-bottom-color:var(--service-accent)}
 .is-service .detail-section{border-color:#dce2da}
 .is-service .cta{border-color:var(--service-accent)}
}
@media(max-width:900px),(any-pointer:coarse){
 .touch-camera{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #d4dfd5;border-radius:12px;background:#fff;font-size:12px;flex-shrink:0}
 .touch-camera[aria-pressed=true]{background:#344c40;color:#fff}
 .gallery-heading .space-label{display:none}
 .touch-hint{display:block;margin:0;padding:10px 16px;background:#f8faf6;color:#53665a;font-size:12px;line-height:1.6}
 .gallery-heading{gap:12px;padding-block:8px}
 #close-reception,#close-tour,.dialog-top #close-dialog{min-width:44px;min-height:44px;width:44px;height:44px;flex-shrink:0}
 .visit-stage>.reception-chat .reception-replies button,.typing-skip,.room-actions button,.chat-topics button,.view-options-panel button,.space-signs button,#moment-stand{min-height:44px}
 .view-options>summary,.scene-toolbar #reset-view{min-width:44px;min-height:44px}
 .visit-stage>.reception-chat .reception-message p{font-size:14px;line-height:1.65}
 .visit-stage>.reception-chat .reception-replies button{font-size:13px}
 .detail-section p,.detail-section li,.detail-intro{font-size:14px}
 #founder-message{font-size:16px}
 #founder-chat button,.portrait-actions button{min-height:44px}
 .view-help{display:none}
}
@media(max-width:560px){
 .gallery-heading p{font-size:11px}
 .visit-stage>.reception-chat{width:310px;max-width:calc(100% - 24px);max-height:70%;padding:14px}
 .visit-stage>.reception-chat .reception-message{margin:10px 0}
 .visit-stage>.reception-chat .reception-message h2{font-size:20px;margin-bottom:8px}
 .visit-stage>.reception-chat .reception-replies{gap:6px}
 .visit-stage:has(.reception-chat:not([hidden])) #scene-host{height:min(680px,calc(100vh - 140px));min-height:520px}
 @supports(height:100dvh){.visit-stage:has(.reception-chat:not([hidden])) #scene-host{height:min(680px,calc(100dvh - 140px))}}
 .dialog-top{padding:10px 16px}
 .dialog-top>span{min-width:0;overflow-wrap:anywhere}
}
/* A short landscape screen uses a wider card: text left, choices right. */
@media(min-width:561px) and (max-width:1000px) and (max-height:500px){
 .site-header{height:52px}.header-note{display:none}.orgaro-logo{width:124px}
 main{padding-top:6px}.gallery-heading{padding:0 12px;min-height:48px}
 .gallery-heading .muted,.gallery-heading .space-label{display:none}
 .visit-stage #scene-host{height:calc(100vh - 116px);min-height:226px}
 @supports(height:100dvh){.visit-stage #scene-host{height:calc(100dvh - 116px)}}
 .visit-stage>.reception-chat{inset:8px 8px 8px auto;width:64%;max-width:540px;height:calc(100% - 16px);max-height:calc(100% - 16px);padding:8px 12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:44px minmax(0,1fr);gap:6px 12px;overflow:hidden;border-radius:16px}
 .visit-stage>.reception-chat .reception-chat-top{grid-column:1/-1}
 .visit-stage>.reception-chat .reception-chat-top .host-avatar,.visit-stage>.reception-chat .reception-chat-top div>span{display:none}
 .visit-stage>.reception-chat .reception-message{margin:0;overflow:auto;align-self:stretch}
 .visit-stage>.reception-chat .reception-message h2{font-size:18px;margin:0 0 7px}
 .visit-stage>.reception-chat .reception-message p{font-size:13px;line-height:1.55;margin:0;min-height:0}
 .visit-stage>.reception-chat .reception-replies{gap:5px;margin:0;min-height:0;overflow:auto;align-self:stretch;justify-content:center}
 .visit-stage>.reception-chat .reception-replies button{min-height:44px;padding:7px 10px;font-size:12px}
}
