/* GlobalStellar AI — typography layer. Visual assets and case data remain in V12; layout refinements are documented in optimization-v2. */
@font-face{font-family:"GlobalStellar Serif";font-style:normal;font-weight:700;font-display:swap;src:url("./xx/noto-serif-sc-700.8d95915f3a.woff2") format("woff2")}
@font-face{font-family:"GlobalStellar Serif";font-style:normal;font-weight:900;font-display:swap;src:url("./xx/noto-serif-sc-900.d3448204ee.woff2") format("woff2")}
:root{--type-display:"GlobalStellar Serif","Songti SC",STSong,serif;--type-body:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--ink:#18272d;--ink2:rgba(24,39,45,.82);--ink3:rgba(24,39,45,.65);--line:rgba(24,39,45,.19)}
body{font-family:var(--type-body);font-kerning:normal;text-rendering:optimizeLegibility}
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:9px;margin:0;text-decoration:none;line-height:1}
.brand-name{font:700 clamp(24px,2vw,32px)/1.15 var(--type-display);letter-spacing:.09em;white-space:nowrap}
.brand-ai{font:600 .86em/1 var(--type-body);letter-spacing:-.045em;margin-left:.15em}
.brand-en{font:500 11px/1.2 var(--type-body);letter-spacing:.16em;color:var(--ink2);white-space:nowrap}
.tl .brand-descriptor{font:400 11px/1.5 var(--type-body);letter-spacing:.14em;margin:12px 0 0;color:var(--ink3)}
.brand-descriptor span{color:var(--acc);margin:0 .3em}
.btns{gap:8px}
.btns button{font:500 12px/1.35 var(--type-body);letter-spacing:.05em;padding:10px 16px;background:rgba(242,246,246,.7);border-color:rgba(24,39,45,.22)}
.mani{font-size:14px;line-height:1.95;max-width:350px;text-wrap:pretty}
.mani .m{font:500 10px/1.6 var(--mono);letter-spacing:.18em;padding-bottom:9px;margin-bottom:11px;border-bottom:1px solid var(--line)}
.hero-t{font:700 clamp(42px,4.4vw,70px)/1.22 var(--type-display);letter-spacing:.015em;margin:0 0 22px}
.hero-intro{display:block;margin-bottom:20px;font:500 12px/1.6 var(--type-body);letter-spacing:.08em;color:var(--ink2)}
.hero-separator{color:var(--acc);margin:0 .4em}
.hero-domain{font-weight:400;letter-spacing:.12em}
.hero-line{display:block;white-space:nowrap}
.hero-t em{font-style:normal;color:var(--ink);-webkit-text-stroke:0;text-decoration-line:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:.17em}
.entry{font:500 13px/1.5 var(--type-body);letter-spacing:.08em;padding:11px 20px;border-color:rgba(24,39,45,.32);background:rgba(246,249,249,.86)}
.cue{font-family:var(--type-body);font-size:12px;letter-spacing:.08em}
.geo{letter-spacing:.08em}.snd{font-family:var(--type-body);letter-spacing:.06em}
.card h2,.sys h2,.sys.wk h2,.end h2,.sheet h2{font-family:var(--type-display);font-weight:700;letter-spacing:.025em;line-height:1.3}
.card>.m,.sys>.m,.end>.m{font-size:10px;letter-spacing:.12em;line-height:1.8;color:var(--ink2)}
.card p,.wk-tag,.wk dd,.end>p{line-height:1.85;text-wrap:pretty}
.co .t{font-family:var(--type-display);font-weight:700;letter-spacing:.025em;line-height:1.5}
.co .k{font-size:10px;letter-spacing:.12em}.co .x{line-height:1.8}
.sys li b{font-weight:600;letter-spacing:.015em}.sys li p{line-height:1.85}
.sys li small{font:400 11px/1.6 var(--type-body);letter-spacing:.02em}
.sys li.grp{font:500 11px/1.8 var(--type-body);letter-spacing:.12em;color:var(--ink2)}
.pill{font-family:var(--type-body);font-weight:500;letter-spacing:.035em}
.ph{font:500 clamp(24px,2.3vw,32px)/1.3 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.sheet{background:rgba(244,247,247,.94)}
.sheet h2{margin-top:30px;margin-bottom:14px;font-size:clamp(28px,3.1vw,42px);text-wrap:pretty}
.sheet h3{font:700 19px/1.6 var(--type-display);letter-spacing:.025em;margin:28px 0 12px}
.sheet p,.sheet .cv-t p{font-size:15px;line-height:1.95;text-wrap:pretty}
.sheet #sheetBody>.m:first-child{font:500 11px/1.8 var(--type-body);letter-spacing:.12em;color:var(--ink3)}
.sheet .case-brief{border-radius:4px;padding:18px 20px;gap:16px}
.sheet .case-brief dt{font-weight:500;font-size:11px;letter-spacing:.12em;color:var(--ink3)}
.sheet .case-brief dd{font-size:15px;line-height:1.9}
.panel-grid{gap:20px}
.panel-grid article{padding:16px;border-radius:8px;background:rgba(255,255,255,.55)}
.panel-grid h3{font:700 19px/1.6 var(--type-display);letter-spacing:.025em;margin:10px 0!important;text-wrap:pretty}
.panel-grid p{font-size:13px;line-height:1.85}
.panel-grid article>.m{font-size:10px;letter-spacing:.07em;color:var(--ink3)}
.project-reference figcaption,.case-gallery figcaption{font-family:var(--type-body);line-height:1.8;color:var(--ink2)}
.case-scope{border-left-color:var(--acc);line-height:1.95}
@media(max-width:760px),(max-aspect-ratio:21/20){
 .hud.tl{max-width:47vw}.logo{gap:7px}.brand-name{font-size:22px;letter-spacing:.065em}.brand-en{font-size:9px;letter-spacing:.12em}.tl .brand-descriptor{font-size:10px;letter-spacing:.08em;margin-top:10px}.brand-descriptor span{margin:0 .1em}
 .hud.tr{right:var(--gut);top:calc(var(--gut) + env(safe-area-inset-top,0px));width:44vw;max-width:190px}
 .btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}.btns button{min-width:0;min-height:44px;padding:8px 5px;font-size:11px;letter-spacing:.02em;white-space:nowrap}
 .hero-t{font-size:clamp(33px,9.2vw,44px);line-height:1.28;letter-spacing:.015em;margin-bottom:20px}.hero-intro{font-size:10px;letter-spacing:.035em;margin-bottom:15px}.hero-domain{letter-spacing:.04em}.hero-separator{margin:0 .25em}
 .entry{font-size:12px;margin-top:8px;margin-bottom:10px}.cue{font-size:11px;letter-spacing:.06em}.geo{font-size:9px}.snd{font-size:11px}
 .sys.abl h2{font-size:clamp(20px,5.6vw,25px);white-space:normal;line-height:1.45;letter-spacing:0}.sys.wk h2{font-size:24px;line-height:1.4}.sys h2{font-size:26px;line-height:1.4}
 .end h2{font-size:clamp(24px,7vw,30px);line-height:1.4}.end>p{font-size:14px;line-height:1.85}.contact{gap:12px}.ph{font-size:25px}
 .sheet{padding-left:20px;padding-right:20px}.sheet h2{font-size:28px;line-height:1.45;letter-spacing:.01em}.sheet h3{font-size:18px}.sheet p,.sheet .cv-t p,.sheet .case-brief dd{font-size:14px;line-height:1.9}
 .sheet .case-brief{padding:15px;gap:14px}.panel-grid{gap:10px}.panel-grid article{padding:11px}.panel-grid h3{font-size:17px;line-height:1.6;letter-spacing:0}.panel-grid p{font-size:12px;line-height:1.8}.panel-grid .pill{font-size:12px;letter-spacing:0}
}
@media(max-width:350px){.brand-name{font-size:19px}.brand-en{font-size:8px;letter-spacing:.09em}.tl .brand-descriptor{font-size:9px}.hero-intro{font-size:9px}.hero-t{font-size:31px}.sheet{padding-left:16px;padding-right:16px}.panel-grid h3{font-size:16px}.contact-actions .pill{font-size:12px;padding:9px 13px}}
@media(max-height:700px) and (max-width:760px){.hero-t{font-size:30px;line-height:1.2;margin-bottom:10px}.hero-intro{margin-bottom:8px}.geo{display:none}.entry{margin-top:4px;margin-bottom:4px}.hero-domain{display:none}.end{max-height:calc(100dvh - 170px);overflow-y:auto}}
/* Review refinement: hierarchy, readable controls and bounded reading surfaces. */
.menu-toggle,.hero-service,.wk-reading-hint{display:none}
.brand-en,.tl .brand-descriptor{font-size:12px}
.entry,.pill{background:var(--ink);color:#fff;border:1px solid var(--ink);min-height:44px;padding:11px 18px;border-radius:5px}
.entry:hover,.pill:hover{background:#30434b;color:#fff}
.pill.ghost{background:transparent;color:var(--ink)}
.snd{font-size:12px;min-height:44px;display:inline-flex;align-items:center}.sc{font-size:12px}
.card,.sys,.abl{filter:none!important;transform:none!important;transition:opacity .3s ease!important}
.sys.wk{box-sizing:border-box;width:330px;max-width:calc(100vw - 40px);top:180px;bottom:auto;padding:22px;background:rgba(247,250,250,.92);border:1px solid rgba(24,39,45,.13);border-radius:10px;box-shadow:0 14px 50px #24383d0b}
.sys.wk h2{font-size:30px;line-height:1.4;margin:12px 0;text-wrap:balance;word-break:normal;overflow-wrap:normal}
.sys.wk>.m,.wk-tag{font-size:12px;letter-spacing:.03em}.wk-tag{line-height:1.7}
.wk dl{max-height:calc(100dvh - 480px);min-height:60px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:16px 0}
.wk dt{font-size:12px}.wk dd{font-size:14px;line-height:1.85;margin:5px 0 12px}
#wkStack:empty,#wkPage{display:none}.wk-reading-hint{font-size:12px;color:var(--ink3);margin:10px 0}.wk.is-scrollable .wk-reading-hint{display:block}
.wk-row{display:flex;flex-wrap:wrap;gap:8px}.wk-row button{min-height:44px;font-size:12px}.wk-row .pill.ghost{padding:9px 11px}
.panel-grid article{display:flex;flex-direction:column}.panel-grid article>p{flex:1}.case-actions{display:grid;gap:7px;margin-top:12px}.case-actions .pill{width:100%;margin:0}.case-scene-link{min-height:36px;font:500 12px/1.5 var(--type-body);background:transparent;border:0;color:var(--ink2);text-align:left;padding:5px 0}.case-scene-spacer{height:36px}
.project-reference figcaption,.case-gallery figcaption{font-size:12px!important;line-height:1.7!important}.panel-grid article>.m,.sheet #sheetBody>.m:first-child{font-size:12px}
body.at-home .say,body.at-home #co{visibility:hidden}
@media(max-width:760px),(max-aspect-ratio:21/20){
 .hud.tl{max-width:70vw}.brand-name{font-size:22px}.brand-en{font-size:10px;letter-spacing:.1em}.tl .brand-descriptor{font-size:11px}
 .hud.tr{width:auto;max-width:none}.menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:84px;min-height:44px;padding:10px 14px;font:500 12px var(--type-body);color:var(--ink);background:rgba(247,250,250,.92);border:1px solid var(--line);border-radius:5px}
 .btns{display:none;position:absolute;right:0;top:52px;min-width:160px;padding:8px;grid-template-columns:1fr;gap:4px;background:rgba(247,250,250,.98);border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 40px #18272d12}.tr.menu-open .btns{display:grid}.btns button{font-size:13px;text-align:left;padding:12px 14px;background:transparent;border:0;min-height:44px}
 .hero-intro{display:none}.hero-t{font-size:clamp(32px,9.5vw,42px);line-height:1.25;margin-bottom:14px}.hero-service{display:block;font-size:13px;line-height:1.85;margin:0 0 12px;color:var(--ink2);letter-spacing:.02em}.entry{font-size:13px;margin:0 0 7px}.cue{display:none}.geo{display:none}
 .sys.wk{top:auto;bottom:96px;left:var(--gut);width:calc(100vw - var(--gut)*2);padding:16px;max-height:calc(100dvh - 250px);overflow:auto}.sys.wk h2{font-size:24px;line-height:1.4;margin:7px 0}.wk-tag{margin:6px 0}.wk dl{max-height:100px;min-height:0;margin:10px 0}.wk dd{font-size:13px;line-height:1.8}.wk dt{font-size:12px}.wk-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6px}.wk-row .pill{padding:8px 5px;font-size:12px;letter-spacing:0}.wk-reading-hint{font-size:11px;margin:6px 0}
 .panel-grid p{font-size:13px}.panel-grid article>.m{font-size:11px}.sheet .case-brief dt{font-size:12px}
}
@media(max-width:350px){.brand-name{font-size:19px}.brand-en{font-size:9px}.tl .brand-descriptor{font-size:10px}.hero-t{font-size:31px}.panel-grid{grid-template-columns:1fr}.sys.wk{bottom:84px;padding:13px}.sys.wk h2{font-size:22px}}
@media(max-height:700px) and (max-width:760px){.hero-service{font-size:12px;line-height:1.6;margin-bottom:7px}.hero-t{font-size:29px;margin-bottom:9px}.sys.wk{bottom:78px;max-height:calc(100dvh - 205px)}.wk dl{max-height:70px}}
.sys.wk{translate:none!important;max-height:calc(100dvh - 300px)}
.wk dd.wk-a{display:block;-webkit-line-clamp:unset;overflow:visible}.wk-more{display:none}
.wk-row{display:grid;grid-template-columns:1fr 1fr}.wk-row #wkOpen{grid-column:1 / -1}
body.at-home .co{visibility:hidden}
@media(max-width:760px),(max-aspect-ratio:21/20){.sys.wk{max-height:calc(100dvh - 250px)}.wk-row{grid-template-columns:1.2fr 1fr 1fr}.wk-row #wkOpen{grid-column:auto}.wk dd.wk-a{display:none}}
.sys.wk{display:flex;flex-direction:column}.sys.wk>*{flex-shrink:0}.sys.wk dl{flex:1 1 auto;min-height:0;max-height:none}.wk-row{margin-top:12px}.wk-word{white-space:nowrap}
@media(max-width:760px),(max-aspect-ratio:21/20){.sys.wk dl{max-height:100px;flex:0 1 auto}}
@media(min-width:761px) and (min-aspect-ratio:21/20){.sys.wk{max-height:calc(100dvh - 330px)}.cue{display:none}}
.sys.wk dl{padding-bottom:10px;scroll-padding-bottom:14px}.wk.is-scrollable dl{mask-image:linear-gradient(#000 0%,#000 calc(100% - 9px),transparent 100%)}
.wk-reading-hint{padding-top:4px}
.case-scene-link,.case-scene-spacer{box-sizing:border-box;height:36px;min-height:36px}
.sys.abl{box-sizing:border-box;top:180px;bottom:auto;translate:none;display:flex;flex-direction:column;width:330px;max-height:calc(100dvh - 330px);padding:22px;border:1px solid var(--line);border-radius:10px;background:rgba(247,250,250,.92)}
.sys.abl h2{font-size:29px;line-height:1.45;margin:10px 0}.sys.abl ol{min-height:0;max-height:none;flex:1 1 auto}.application-reading-hint{font-size:12px;line-height:1.6;margin:3px 0 10px;color:var(--ink3)}.sys.abl li b{font-size:14px}.sys.abl li p{font-size:13px}.sys.abl li{padding:10px 0;grid-template-columns:28px minmax(0,1fr)}
@media(max-width:760px),(max-aspect-ratio:21/20){.sys.abl{top:auto;bottom:100px;width:calc(100vw - var(--gut)*2);max-height:190px;padding:14px 16px}.sys.abl h2{font-size:22px;margin:4px 0}.application-reading-hint{font-size:11px;margin:2px 0 7px}.sys.abl ol{overflow:auto}.sys.abl li{padding:8px 0;flex-shrink:0}}

/* Brand4 case review refinements */
.panel-grid .case-actions{margin-top:auto;padding-top:8px}.wk.is-scrollable dl{mask-image:none}.wk-reading-hint{color:var(--ink2)}.case-lede figcaption{color:#4b6268}
body:has(#sheet.open) .hud.bl{visibility:hidden}
@media(max-width:760px),(max-aspect-ratio:21/20){.sys.wk dl{max-height:108px}}
.panel-grid .case-scene-link{margin:0}

/* Complete mobile case audit: stable reading bar, semantic titles and fitted gallery. */
.keep-word{white-space:nowrap}
.sheet-toolbar{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;box-sizing:border-box;background:#f4f7f7;border-bottom:1px solid var(--line);margin-bottom:8px}
.sheet-toolbar .x{position:static;float:none;translate:none;flex-shrink:0;margin:0;min-height:44px}
.sheet-toolbar [data-close]{margin-left:auto}
.sheet .case-heading{padding-top:24px}
#sheet:has(.project-reference) #sheetBody>.m:first-child{padding-top:22px}
.lb .lbz{max-height:calc(100dvh - 170px);max-width:100vw}
.lb .lbz img{width:auto;height:auto;max-width:94vw;max-height:calc(100dvh - 170px);object-fit:contain}
.lb.is-zoomed .lbz img{width: max(94vw, min(1800px, 180vw));max-width:none;max-height:none;height:auto}
.lb .lb-fit{top:18px;left:18px;translate:none;width:auto;min-width:100px;height:46px;padding:0 16px;border-radius:24px;font:500 13px var(--type-body)}
.lb p{bottom:20px;padding:0 65px;box-sizing:border-box;line-height:1.6;max-height:58px;overflow:auto}
@media(max-width:760px),(max-aspect-ratio:21/20){
 .sheet-toolbar{top:-18px;margin-top:-18px;margin-left:-20px;margin-right:-20px;padding:10px 20px;min-height:70px}
 .sheet .case-heading{padding-top:22px}.case-heading h2{text-wrap:pretty}
 .wk-row .pill{white-space:nowrap}
 .lb.is-zoomed .lbz img{width:230vw}
}
@media(max-width:350px){.sheet-toolbar{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.wk-row{grid-template-columns:1.4fr 1fr 1fr}.wk-row .pill{font-size:11px;padding:8px 3px}}
