/* Shared with the V8 parent: native sans typography, no external font request. */
:root{--island-font:Inter,"Helvetica Neue",Arial,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;--island-ink:#12374a;--island-paper:#fcfbf6}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:var(--island-font);font-size:14px;line-height:1.5;color:var(--island-ink);background:#f7f5ee;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button:focus-visible,a:focus-visible{outline:3px solid #d28b42;outline-offset:4px}a{color:inherit;text-decoration:none}
.site-header{height:80px;flex:none;display:flex;align-items:center;gap:20px;padding:12px 28px;border-bottom:1px solid #17394a18;z-index:3;background:var(--island-paper)}.brand{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex:none}.brand img{display:block;width:100%;height:100%;object-fit:contain}.identity{min-width:0;flex-shrink:0}.identity h1{margin:0;font-family:var(--island-font);font-size:27px;line-height:1.15;font-weight:700;letter-spacing:-.035em;white-space:nowrap}.identity span{display:block;margin-top:7px;font-size:9px;line-height:1.25;letter-spacing:.11em;font-weight:500;white-space:nowrap}html:lang(en) .identity h1{font-size:21px;letter-spacing:-.035em}.tagline{font-size:12px;line-height:1.5;border-left:1px solid #16374c25;padding-left:20px;white-space:nowrap}.site-header nav{margin-left:auto;display:flex;gap:20px;align-items:center;font-size:12px;line-height:1.3;white-space:nowrap}.site-header nav>button,.site-header nav>a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.site-header nav #lang{min-width:36px}.primary{background:var(--island-ink);border-radius:8px;color:#fff;padding:13px 18px;font-weight:500;letter-spacing:.015em}
#viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:#3cabb7;touch-action:none}#scene{display:block;width:100%;height:100%;cursor:grab;background:#40aeb7}#scene:active{cursor:grabbing}#actor-controls,#island-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.person{position:absolute;min-width:44px;min-height:24px;padding:5px 7px;border-radius:30px;background:#fffdf5e8;box-shadow:0 2px 9px #0b374d23;font-size:9px;line-height:1;letter-spacing:0;font-weight:600;pointer-events:auto;transform:translate(-50%,-50%);transition:background .2s;white-space:nowrap}.person:hover,.person:focus-visible{background:var(--island-ink);color:#fff}.person[data-phase="chat"]:after{content:" ···";color:#bc7d3a}
/* Keep each island name intact, with the index in its own aligned column. */
.island-label{position:absolute;display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:8px;background:#fffdf5f3;padding:11px 15px;border-radius:12px;box-shadow:0 5px 18px #173b4f12;pointer-events:auto;transform:translate(-50%,-50%);min-width:150px;max-width:220px;text-align:left}.island-label small{grid-column:1;grid-row:1;align-self:center;margin:0;color:#647e88;font-size:10px;line-height:1.4;font-weight:500;font-variant-numeric:tabular-nums}.island-label strong{grid-column:2;grid-row:1;display:block;min-width:0;font-family:var(--island-font);font-size:21px;line-height:1.2;letter-spacing:-.025em;font-weight:650;white-space:nowrap;word-break:normal;overflow-wrap:normal;hyphens:none}.island-label span{grid-column:2;display:block;font-size:10px;line-height:1.45;margin-top:6px;letter-spacing:0;font-weight:400;color:#607681;text-wrap:pretty}html:lang(en) .island-label{min-width:159px;max-width:218px}html:lang(en) .island-label strong{font-size:19px;letter-spacing:-.035em}html:lang(en) .island-label span{font-size:10px;line-height:1.45}
.scene-tools{position:absolute;right:20px;top:16px;display:flex;gap:7px;align-items:center;z-index:2}.scene-tools>button,.zoom{background:#fffdf5f0;border-radius:24px;box-shadow:0 2px 12px #0c394327;min-height:40px;font-size:12px;line-height:1.3;white-space:nowrap}.scene-tools>button{padding:0 14px}.scene-tools [aria-pressed="true"]{background:var(--island-ink);color:#fff}.zoom{display:flex;align-items:center}.zoom button{padding:7px 10px;min-width:32px;min-height:40px;line-height:1}.zoom button:first-child,.zoom button:last-child{font-size:22px}.scene-note{position:absolute;bottom:18px;left:24px;color:#fff;display:flex;gap:7px;align-items:center;font-size:11px;text-shadow:0 1px 4px #12374a;pointer-events:none}.live-dot{width:6px;height:6px;border-radius:50%;background:#f4e2b6;display:inline-block}.build-note{position:absolute;left:24px;top:16px;font-size:10px;color:var(--island-ink);padding:6px 9px;background:#fffdf5d9;border-radius:6px;pointer-events:none}
.motion-tools{position:absolute;right:20px;bottom:16px;display:flex;align-items:stretch;gap:8px;z-index:2}.motion-tools button,.motion-tools .mobile-home{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:24px;padding:0 16px;background:#fffdf5ee;font-size:12px;line-height:1.25;letter-spacing:0;white-space:nowrap}.motion-tools #project{background:var(--island-ink);color:#fff}.motion-tools #music{min-width:44px}.motion-tools #music svg{width:16px;height:16px;flex:none}.motion-tools #music[aria-pressed="true"]{background:var(--island-ink);color:#fff}.motion-tools #music:disabled{opacity:.6;cursor:progress}.motion-tools .mobile-home{display:none}
.island-nav{display:flex;flex:none;height:88px;background:var(--island-paper);z-index:3;border-top:1px solid #15394b20}.island-nav button{flex:1;min-width:0;display:flex;gap:14px;align-items:center;justify-content:center;border-right:1px solid #15394b1b;padding:12px 10px}.island-nav button:last-child{border-right:0}.island-nav button:hover{background:#e8edeb}.island-nav button[aria-current="true"]{background:#e6eeec}.nav-index{font-size:13px;line-height:1.3;font-weight:500;letter-spacing:.03em;font-variant-numeric:tabular-nums;color:#9b825e}.nav-name{text-align:left;font-size:15px;line-height:1.3;letter-spacing:-.015em;font-weight:600;white-space:nowrap}.nav-name span{display:block;font-size:10px;line-height:1.4;font-weight:400;margin-top:6px;color:#72848a;letter-spacing:0;white-space:normal;text-wrap:pretty}html:lang(en) .nav-name{font-size:14px;letter-spacing:-.025em}
#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f7f5eef5;z-index:6;margin:0;letter-spacing:.02em;font-size:14px}#loading[hidden]{display:none}.islands-content .ic-quick{display:none!important}.islands-content .ic-dialog{z-index:10}dialog{border:1px solid #bfc9c5;border-radius:16px;color:var(--island-ink);background:#fbfaf5}dialog::backdrop{background:#0c2f45aa;backdrop-filter:blur(4px)}#team-dialog{padding:36px;width:min(720px,calc(100% - 28px));max-height:85dvh}#team-dialog h2{font-family:var(--island-font);font-size:28px;line-height:1.25;letter-spacing:-.035em;font-weight:600}#team-dialog .eyebrow{font-size:9px;line-height:1.6;letter-spacing:.12em}.dialog-close{position:absolute;right:12px;top:8px;min-width:44px;min-height:44px;font-size:28px;line-height:1}#team-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}#team-list button{background:#f0f0e8;border:1px solid #16394b22;border-radius:8px;min-height:56px;font-size:13px;letter-spacing:.01em}.team-note{font-size:12px;line-height:1.7;color:#6e8189}
@media(max-width:1200px){.tagline{display:none}.site-header{gap:16px;padding:12px 22px}.site-header nav{gap:16px}.island-nav button{gap:10px}.nav-name span{max-width:160px}}
@media(max-width:1100px){.site-header nav>a{display:none}}
@media(max-width:850px){.site-header{padding:11px 18px;gap:14px}.brand{width:48px;height:48px}.identity h1{font-size:25px}html:lang(en) .identity h1{font-size:19px}.identity span{font-size:8px;letter-spacing:.09em}.site-header nav{gap:10px}.site-header nav .primary{padding:12px 14px}.island-nav{height:82px}.island-nav button{gap:8px;padding:10px 7px}.nav-name{font-size:13px}html:lang(en) .nav-name{font-size:12px}.nav-name span{font-size:9px}.nav-index{font-size:11px}.scene-tools{right:14px;top:12px;gap:6px}.scene-tools>button{padding:0 12px;font-size:11px}.island-label{min-width:135px;padding:9px 12px;column-gap:6px;max-width:200px}.island-label strong{font-size:19px}html:lang(en) .island-label{min-width:151px;max-width:200px}html:lang(en) .island-label strong{font-size:18px}.motion-tools{right:14px;bottom:14px}}
@media(max-width:650px){.site-header{height:70px;padding:9px 12px;gap:10px}.brand{height:43px;width:43px}.identity{flex:1;flex-shrink:1}.identity h1{font-size:23px;line-height:1.1;letter-spacing:-.035em}.identity span{font-size:7px;letter-spacing:.06em;margin-top:6px}html:lang(en) .identity h1{font-size:clamp(11px,3.05vw,16px);letter-spacing:-.04em}.site-header nav{gap:4px;font-size:11px;margin-left:0}.site-header nav #team,.site-header nav>a{display:none}.site-header nav #lang{min-width:36px;padding:0 3px}.site-header nav .primary{font-size:11px;padding:10px 11px;border-radius:7px;letter-spacing:0}.scene-tools{top:12px;left:12px;right:12px;gap:6px;justify-content:space-between;pointer-events:none}.scene-tools>*{pointer-events:auto}.scene-tools>button{padding:0 12px;font-size:10px;min-height:38px}.zoom{min-height:38px;font-size:10px}.zoom button{padding:4px 10px;min-height:38px;font-size:10px}.zoom button:first-child,.zoom button:last-child{font-size:19px}.island-label{min-width:112px;max-width:172px;padding:8px 10px;border-radius:10px;grid-template-columns:14px minmax(0,1fr);column-gap:5px}.island-label strong{font-size:16px;line-height:1.2}.island-label small{font-size:8px}.island-label span{font-size:9px;line-height:1.4;margin-top:4px}html:lang(en) .island-label{min-width:131px;max-width:180px}html:lang(en) .island-label strong{font-size:15px;letter-spacing:-.03em}html:lang(en) .island-label span{font-size:9px;line-height:1.4}.island-nav{height:74px;padding-bottom:env(safe-area-inset-bottom)}.island-nav button{padding:7px 2px;gap:4px;flex-direction:column}.nav-index{font-size:10px;margin:0;line-height:1.2}.nav-name{font-size:12px;line-height:1.3;letter-spacing:-.025em}.nav-name span{display:none}html:lang(en) .nav-name{font-size:clamp(9px,2.7vw,12px);line-height:1.4;letter-spacing:-.035em}.person{font-size:9px}.motion-tools{left:10px;right:10px;bottom:12px;gap:5px;justify-content:space-between}.motion-tools button,.motion-tools .mobile-home{font-size:11px;min-height:44px;padding:0 10px;gap:5px}.motion-tools .mobile-home{display:inline-flex}.motion-tools #music{min-width:44px}.motion-tools #music svg{width:14px;height:14px}.motion-tools #project{margin-left:auto}.scene-note{left:12px;bottom:68px;font-size:9px}.build-note{font-size:9px;top:10px;left:12px}#team-list{grid-template-columns:repeat(2,1fr)}#team-dialog{padding:28px}}
@media(max-width:370px){.site-header{padding-left:9px;padding-right:9px;gap:7px}.brand{width:38px;height:42px}.identity span{font-size:6.5px;letter-spacing:.015em}.site-header nav #lang{min-width:30px}.site-header nav .primary{font-size:10px;padding-left:9px;padding-right:9px}.motion-tools{left:7px;right:7px;gap:4px}.motion-tools button,.motion-tools .mobile-home{font-size:10px;padding:0 8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Native audio is controlled by the compact music button. */
audio{display:none}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Company discovery first; commercial enquiries continue on the main website. */
.site-header nav .return-home{display:inline-flex;min-height:44px;padding:12px 18px;border-radius:8px;background:#223b61;color:#fff;font-weight:500;letter-spacing:0;transition:background .15s}
.site-header nav .return-home:hover{background:#192e4e}
.island-label{row-gap:0;padding-top:9px;padding-bottom:9px}
.island-label strong{line-height:1.15}
.island-label span{grid-row:2;margin-top:2px;line-height:1.35}
.nav-name span{margin-top:3px;line-height:1.35}
@media(max-width:650px){
 .site-header{height:105px;display:grid;grid-template-columns:43px minmax(0,1fr);grid-template-rows:32px 44px;column-gap:12px;row-gap:4px;padding:10px 13px 11px}
 .brand{grid-column:1;grid-row:1/3;align-self:center}
 .identity{grid-column:2;grid-row:1;align-self:center}
 .identity h1{font-size:24px;line-height:1.1}
 html:lang(en) .identity h1{font-size:19px;letter-spacing:-.035em}
 .site-header nav{grid-column:2;grid-row:2;width:100%;margin:0;gap:7px;font-size:11px;justify-content:flex-end}
 .site-header nav #team{display:inline-flex;margin-right:auto;padding:0;min-height:44px}
 .site-header nav #lang{min-width:32px}
 .site-header nav .return-home{display:inline-flex;padding:10px 12px;min-height:44px}
 .island-label{padding-top:7px;padding-bottom:7px}
 .island-label span{margin-top:2px;line-height:1.35}
 .motion-tools{left:auto;right:12px;justify-content:flex-end;gap:7px}
}
@media(max-width:370px){
 .site-header{padding-left:10px;padding-right:10px;column-gap:9px}
 html:lang(en) .identity h1{font-size:18px}
 .site-header nav{gap:5px}
 .site-header nav .return-home{padding-left:10px;padding-right:10px}
}

.identity .tagline{display:block;margin:5px 0 0;padding:0;border:0;font-size:11px;line-height:1.35;letter-spacing:.01em;font-weight:400;white-space:nowrap}
#team-list button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;gap:5px}
#team-list canvas{display:block;width:64px;height:88px;object-fit:contain}
html:lang(en) .island-label[data-island="collaboration"]{min-width:225px;max-width:245px}
html:lang(en) .island-label[data-island="circular"]{min-width:191px}
html:lang(en) .island-label span{max-width:185px}
html:lang(ja){--island-font:Inter,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif}
html:lang(ja) .identity h1{font-size:21px;letter-spacing:-.035em}
html:lang(ja) .island-label strong{font-size:17px;letter-spacing:-.025em}
html:lang(ja) .island-label{max-width:245px}
html:lang(ja) .nav-name{font-size:13px;letter-spacing:-.025em}
html:lang(ja) .nav-name span{font-size:10px}
@media(max-width:650px){
 .site-header{height:116px;grid-template-rows:43px 44px}
 .identity .tagline{display:block;font-size:10px;line-height:1.3;margin-top:3px;letter-spacing:0}
 .site-header nav #team{margin-right:0}
 .site-header nav #lang{margin-right:auto;max-width:100px}
 html:lang(en) .island-label[data-island="collaboration"]{min-width:174px;max-width:195px}
 html:lang(en) .island-label[data-island="collaboration"] strong{font-size:14px;letter-spacing:-.04em}
 html:lang(en) .island-label[data-island="circular"]{min-width:151px}
 html:lang(ja) .island-label[data-island="library"]{min-width:147px}
 html:lang(en) .nav-name{font-size:clamp(8px,2.15vw,10px);letter-spacing:-.045em}
 html:lang(ja) .identity h1{font-size:19px}
 html:lang(ja) .island-label strong{font-size:14px}
 html:lang(ja) .island-label{max-width:190px}
 html:lang(ja) .nav-name{font-size:clamp(8.5px,2.45vw,10px);letter-spacing:-.04em}
}

/* Scene title and people controls retain priority over exhibit-board targets. */
#actor-controls,#island-labels{z-index:2}

/* Parent-site inline language links, then the single return-to-website action. */
.site-header nav{gap:18px}.site-header nav #lang{display:inline-flex;align-items:center;gap:4px;padding:0;min-width:0;max-width:none;margin:0;flex:none}.language-links>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 5px;font-size:12px;line-height:1.2;letter-spacing:0;color:var(--island-ink);white-space:nowrap}.language-links>span{font-size:10px;color:#819092;user-select:none}.language-links>button[aria-pressed=true]{font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.language-links>button:hover{color:#536d77}.scene-tools #team{display:inline-flex;align-items:center;justify-content:center;min-height:40px}.scene-tools{justify-content:flex-end}
@media(max-width:850px){.site-header nav{gap:10px}.language-links>button{font-size:11px;padding:0 4px}}
@media(max-width:650px){.site-header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px;width:100%}.site-header nav #lang{margin:0;max-width:none;gap:3px}.language-links>button{font-size:11px;min-height:44px;padding:0 5px}.site-header nav .return-home{margin-left:auto;padding:10px 12px;flex:none}.scene-tools{left:auto;right:12px;justify-content:flex-end;gap:7px}.scene-tools #team{display:inline-flex;min-height:38px;padding:0 14px;font-size:11px}}
@media(max-width:370px){.site-header nav{gap:6px}.site-header nav #lang{gap:2px}.language-links>button{padding:0 4px}.site-header nav .return-home{font-size:10px;padding:10px}}
@media(max-width:650px){.site-header>.brand{grid-row:1;align-self:center}}
/* Requested first adjustment: only the Chinese island wordmark is 20% smaller. */
html:lang(zh-Hant) .identity h1{font-size:21.6px}
@media(max-width:850px){html:lang(zh-Hant) .identity h1{font-size:20px}}
@media(max-width:650px){html:lang(zh-Hant) .identity h1{font-size:19.2px}}
