/* Content adaptation only. Layout and animations remain in the supplied CSS. */
.brand-wordmark { display:flex; flex-direction:column; align-items:center; color:inherit; font-family:"Songti SC","SimSun",serif; }
.brand-wordmark > span { writing-mode:vertical-rl; font-size:clamp(22px,2.4vw,38px); line-height:1.2; letter-spacing:.14em; }
.brand-wordmark small { font-family:"Satoshi",serif; font-size:clamp(6px,.5vw,9px); letter-spacing:.08em; margin-top:8px; }
.homeCompany_logo .brand-wordmark > span { font-size:clamp(28px,3vw,48px); }
/* Match the original 50 × 98 header logo slot; the previous text mark
   grew taller than this slot and collided with the sticky section label. */
.header_logo .brand-wordmark { position:relative; width:100%; aspect-ratio:50 / 98; container-type:inline-size; }
.header_logo .brand-wordmark > span { font-size:55cqw; line-height:1; letter-spacing:.08em; }
.header_logo .brand-wordmark small { position:absolute; bottom:0; margin:0; font-size:15cqw; white-space:nowrap; }
/* Both start at the original grid edge. Center the narrow vertical label
   within the header logo's inner width (outer width minus its padding). */
.home .label { translate:calc(clamp(18.4125px, 1.534375vw, 27.61875px) - 50%) 0; }
@media (max-width:767px) {
  .home .label { translate:calc(3.7313432836vw - 50%) 0; }
}
.aside_clock, .footer_clock { white-space:nowrap; width:auto; font-family:"Times New Roman",serif; }
.footer_snsLinkText, .footer_privacyLinkText, .button_textContent,
.header_langLink, .nav_subLinkText { white-space:nowrap; }
.gallery-entry { display:inline-flex; align-items:center; gap:18px; padding:12px 18px; background:#d9d7d4; color:#0a0801; font-family:'Songti SC',SimSun,serif; font-size:14px; line-height:1.2; white-space:nowrap; text-decoration:none; transition:background .25s; }
.gallery-entry:hover { background:#fff4df; }
.gallery-entry:focus-visible { outline:2px solid #dc5000; outline-offset:4px; }
@media(max-width:812px) { .gallery-entry { padding:10px 12px; font-size:12px; gap:8px; } .header_lang:has(.gallery-entry) .header_langLink { display:none; } }
#journey [data-mesh-manager="common-img-mesh"] { cursor:pointer; pointer-events:auto; }
#journey [data-mesh-manager="common-img-mesh"]:focus-visible { outline:1px solid #d9d7d4; outline-offset:6px; }
.journey-veil { position:fixed; inset:0; background:rgb(10 8 1 / 78%); z-index:1000; pointer-events:none; opacity:0; transition:opacity .55s; }
.journey-effect { position:fixed; inset:0; z-index:1001; pointer-events:none; opacity:0; transition:opacity .6s ease; }
.journey-portrait { position:fixed; z-index:1002; color:#d9d7d4; opacity:0; transition:opacity .6s ease; pointer-events:none; }
.journey-portrait.is-visible { opacity:1; }
.journey-portrait[hidden] { display:none; }
.journey-image-labels { position:absolute; bottom:calc(100% + 14px); left:0; right:0; display:flex; flex-direction:column; align-items:flex-start; gap:10px; font-family:"Songti SC","SimSun",serif; font-size:clamp(11px,1.1vw,17px); line-height:1.4; letter-spacing:.06em; }
.journey-image-labels > div { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.journey-portrait[data-result-side="right"] .journey-result-label { align-self:flex-end; }
.journey-portrait[data-result-side="left"] .journey-user-label { align-self:flex-end; }
.journey-image-labels [aria-hidden] { font-family:Arial,sans-serif; font-size:20px; line-height:1; letter-spacing:0; }
.journey-portrait[data-result-side="left"] .journey-result-arrow { order:-1; }
.journey-avatar { width:100%; aspect-ratio:4 / 5; overflow:hidden; }
.journey-avatar img { width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.journey-portrait.has-effect img { opacity:0; }
.journey-detail { display:flex; flex-direction:column; align-items:flex-start; gap:9px; width:100%; margin-top:22px; padding:0; border:0; color:inherit; background:none; font-family:"Songti SC","SimSun",serif; opacity:0; transform:translateY(12px); transition:opacity .8s .45s,transform .8s .45s; cursor:default; }
.journey-detail span { font-size:clamp(24px,2.4vw,38px); line-height:1.2; }
.journey-detail small { font-size:clamp(11px,1vw,15px); letter-spacing:.12em; line-height:1.5; }
.journey-veil.is-visible,.journey-effect.is-visible,.journey-portrait.is-visible .journey-detail { opacity:1; }
.journey-portrait.is-visible .journey-detail { transform:translateY(0); }
@media (prefers-reduced-motion:reduce) { .journey-veil,.journey-detail,.journey-effect,.journey-portrait { transition:none; } }
