/* Local brand display face with native CJK text for reliable, legible rendering. */
@font-face{font-family:LusonDisplay;src:url('../assets/fonts/Breton.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--font-body:'Helvetica Neue',Arial,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;--font-display:LusonDisplay,'PingFang SC','Microsoft YaHei',sans-serif;--font-editorial:Georgia,'Songti SC',SimSun,serif}
html body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font-family:var(--font-body)}
body :is(p,li,dd,.about-sub,.profile-description,.profile-identity p,.profile-capabilities p,.skill-body-inner,.detail-desc,.contact-dispo,.experience,.honors,.card-meta,.modal-info p){font-family:var(--font-body)}
body :is(h1,h2,h3,h4,.about-text,.skills-text,.contact-title,.detail-title,.footer-name,.contact-signature,.reveal-phrase,.proj-item,.skill-header-title){font-family:var(--font-display);font-weight:400;letter-spacing:-.025em}
#about .profile-copy :is(h2,h3,h4){font-family:var(--font-display);font-weight:400;letter-spacing:-.02em}
body :is(.eyebrow,.skills-subtitle,.awards-subtitle,.profile-topline,.profile-en,.profile-index,.proj-meta,.proj-date,.proj-label,.award-item,.contact-socials,.hero-tagline,.all-work-link,.filters,.text-button,.modal-toolbar){font-family:var(--font-body)}
body :is(.profile-metrics strong,.stats strong,.profile-identity h3>span,.wordmark),#site-nav .site-nav-brand{font-family:var(--font-display);font-weight:400;font-variant-numeric:lining-nums tabular-nums}
body :is(.profile-metrics,.stats,.bx-steps,.bx-index,.proj-date){font-variant-numeric:tabular-nums}
#circle-gallery #cg-phrase.kaito-copy,#circle-gallery .kaito-sans{font-family:var(--font-display);font-weight:400;letter-spacing:-.025em}
#circle-gallery .kaito-copy .kaito-serif{font-family:var(--font-editorial);font-style:italic;font-weight:400}
body :is(.profile-description,.about-sub,.detail-desc,.modal-info p,.intro-grid p,.contact-layout p){line-height:1.85}
body :is(.profile-capabilities p,.skill-body-inner){line-height:1.75}
.profile-capabilities p,.profile-metrics dd{font-size:13px}.profile-identity p{font-size:12px}.profile-en,.profile-art-top,.profile-art-bottom small,.profile-metrics dd small{font-size:10px}
@media(max-width:700px){body :is(.profile-description,.about-sub,.detail-desc,.intro-grid p,.modal-info p){font-size:14px;line-height:1.85}#circle-gallery #cg-phrase.kaito-copy{letter-spacing:-.02em}}
.back-to-top{position:fixed;right:max(26px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));width:48px;height:48px;display:grid;place-items:center;border:1px solid #555;border-radius:50%;background:rgba(10,10,10,.92);color:#f0f0f0;z-index:60001;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,background .2s,border-color .2s;backdrop-filter:blur(12px)}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:#e53726;border-color:#e53726}.back-to-top:focus-visible{outline:2px solid #ff4b35;outline-offset:5px}.back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
@media(max-width:700px){.back-to-top{right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
.back-to-top{width:44px;height:44px;border-color:rgba(255,255,255,.2);background:rgba(15,15,15,.82);box-shadow:0 4px 18px rgba(0,0,0,.14)}.back-to-top svg{width:18px;height:18px;stroke-width:1.6}.back-to-top:hover{background:#e53726;border-color:#e53726}

/* Short words stay together; line balancing prevents isolated title fragments. */
body :is(h1,h2,h3,h4,p,li,dd,.skill-header-title,.hero-role,.side-note,.eyebrow){word-break:normal;overflow-wrap:normal;line-break:strict}
body :is(h1,h2,h3,h4,.hero-role){text-wrap:balance}
body :is(p,li,dd,.profile-description,.modal-info p,.management-intro){text-wrap:pretty;orphans:2;widows:2}
body .type-word{display:inline-block;white-space:nowrap;font:inherit!important;color:inherit!important;letter-spacing:inherit!important;line-height:inherit;vertical-align:baseline}
.filters button,.ecommerce-filter-row button,.modal-controls button,.mac-page-tabs button,.site-nav-links a,.card-meta>span,.text-button,.all-work-link,.reader-groups button{white-space:nowrap}
.card-meta{flex-wrap:wrap;row-gap:6px}.card-meta h3{flex:1 1 140px;min-width:0}.card-meta>span{flex:0 0 auto}
#cg-phrase .kaito-copy-cn>span,#cg-phrase .kaito-copy-en>span{white-space:nowrap}
.modal-info h2{font-size:clamp(28px,3.15vw,54px)}
