/* Local fonts only: no font files or external requests. */
:root{--cc-latin-reading:Charter,'Bitstream Charter','Sitka Text',Cambria,Georgia,serif;--cc-latin-ui:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
:is(html:lang(en),html:lang(es),html:lang(fr)) body,html:lang(es) body,html:lang(fr) body{font-family:var(--cc-latin-reading)}
:is(:is(html:lang(en),html:lang(es),html:lang(fr)),html:lang(es),html:lang(fr)) :is(p,h1,h2,h3,h4,h5,blockquote,.font-serif,.serif-font){font-family:var(--cc-latin-reading)!important;letter-spacing:normal!important}
:is(:is(html:lang(en),html:lang(es),html:lang(fr)),html:lang(es),html:lang(fr)) :is(button,input,textarea,select,nav){font-family:var(--cc-latin-ui)!important;letter-spacing:normal!important}
.home-footer-renewed header>p,.home-footer-bottom [lang=en],.home-footer-bottom [lang=es],.home-footer-bottom [lang=fr]{font-family:var(--cc-latin-reading);letter-spacing:.025em}
#CommentsLifa :is(.atk-list-header,.atk-dropdown,.atk-send-btn){font-family:var(--cc-latin-ui);letter-spacing:normal}

/* Homepage Latin display trial: local fonts, regular weight, gentle spacing. */
:root{--cc-latin-display:'Iowan Old Style','Palatino Linotype','Book Antiqua',Palatino,'Times New Roman',serif}
:is(:is(html:lang(en),html:lang(es),html:lang(fr)),html:lang(es),html:lang(fr)) body.home :is(.home-v2 h1,.home-v2 h2,.home-v2 h3,.home-chapter-heading h2,.home-footer-renewed header h2){
 font-family:var(--cc-latin-display)!important;
 font-weight:400!important;
 letter-spacing:.025em!important;
}
:is(:is(html:lang(en),html:lang(es),html:lang(fr)),html:lang(es),html:lang(fr)) body.home .home-v2-hero__copy h1{letter-spacing:.035em!important;line-height:1.15}
:is(:is(html:lang(en),html:lang(es),html:lang(fr)),html:lang(es),html:lang(fr)) body.home :is(.home-chapter-heading h2,.home-scroll-copy header h2){letter-spacing:.015em!important}

/* English humanist navigation and homepage UI; local system fonts only. */
:is(html:lang(en),html:lang(es),html:lang(fr)){--cc-humanist-ui:Optima,'Avenir Next',Candara,'Segoe UI Variable','Segoe UI',sans-serif}
:is(html:lang(en),html:lang(es),html:lang(fr)) #site-nav :is(.nav-link,.cc-lang-switcher summary,.cc-lang-switcher a),
:is(html:lang(en),html:lang(es),html:lang(fr)) #mobile-site-menu a{
font-family:var(--cc-humanist-ui)!important;font-weight:400!important;font-size:14px;letter-spacing:.06em!important;color:#173f34;font-synthesis:none}
:is(html:lang(en),html:lang(es),html:lang(fr)) #site-nav>ul{gap:44px}
:is(html:lang(en),html:lang(es),html:lang(fr)) body.home .home-v2 :is(button,.home-portal__enter,.home-portal__now,.home-editorial-heading,.home-editorial-pages small,.home-editorial-pages a>span,.home-editorial-count,.home-editorial-time p,.home-scroll-date,.home-scroll-count,.home-scroll-selected,.home-scroll-range,.home-scroll-button,.home-scroll-text-link,.home-v2-hero__copy>span){
font-family:var(--cc-humanist-ui)!important;font-weight:400;letter-spacing:.025em!important}
:is(html:lang(en),html:lang(es),html:lang(fr)) body.home .home-v2 :is(.home-scroll-deck,.home-editorial-pages a p){
font-family:Georgia,'Times New Roman',serif!important;font-weight:400;color:#566258;line-height:1.65}
:is(html:lang(en),html:lang(es),html:lang(fr)) body.home .home-v2 :is(h1,h2,h3){text-wrap:balance}

/* V2: compact English navigation and native Japanese typography. */
:is(html:lang(en),html:lang(es),html:lang(fr)) #site-nav :is(.nav-link,.cc-lang-switcher summary,.cc-lang-switcher a),
:is(html:lang(en),html:lang(es),html:lang(fr)) #mobile-site-menu a{font-size:16px;letter-spacing:.025em!important;line-height:1}
:is(:is(html:lang(en),html:lang(es),html:lang(fr)),html:lang(ja)) #site-nav>ul{justify-content:center;gap:30px}
html:lang(ja){--cc-ja-reading:'Yu Mincho',YuMincho,'Hiragino Mincho ProN','Hiragino Mincho Pro','BIZ UDPMincho',serif;--cc-ja-ui:'Hiragino Kaku Gothic ProN','Yu Gothic',YuGothic,Meiryo,sans-serif}
html:lang(ja) #site-nav :is(.nav-link,.cc-lang-switcher summary,.cc-lang-switcher a),
html:lang(ja) #mobile-site-menu a{font-family:var(--cc-ja-ui)!important;font-size:14.5px;font-weight:400!important;letter-spacing:.04em!important;line-height:1;color:#173f34;font-synthesis:none}
html:lang(ja) body.home .home-v2 :is(h1,h2,h3){font-family:var(--cc-ja-reading)!important;font-weight:500!important;letter-spacing:.025em!important;text-wrap:balance}
html:lang(ja) body.home .home-v2 p{font-family:var(--cc-ja-reading)!important;font-weight:400;line-height:1.85;letter-spacing:.015em;color:#4f5c53}
html:lang(ja) body.home .home-v2 :is(button,.home-portal__enter,.home-portal__now,.home-editorial-heading,.home-editorial-pages small,.home-editorial-pages a>span,.home-editorial-count,.home-editorial-time p,.home-scroll-date,.home-scroll-count,.home-scroll-selected,.home-scroll-range,.home-scroll-button,.home-scroll-text-link,.home-v2-hero__copy>span){font-family:var(--cc-ja-ui)!important;font-weight:400;letter-spacing:.025em}
html:lang(ja) body.home .home-v2-hero__copy>span{font-size:13px}
html:lang(ja) body.home .home-v2-hero__copy>p{font-size:15px}
html:lang(ja) .home-footer-renewed header h2{font-family:var(--cc-ja-reading)!important;font-weight:500}
@media(max-width:700px){html:lang(ja) body.home .home-v2-hero__copy>span{font-size:11px}html:lang(ja) body.home .home-v2-hero__copy>p{font-size:12px}}

:is(html:lang(en),html:lang(es),html:lang(fr)) #site-nav :is(.nav-link,.cc-lang-switcher summary),:is(html:lang(en),html:lang(es),html:lang(fr)) #mobile-site-menu a{font-size:18px}
:is(html:lang(en),html:lang(es),html:lang(fr)) #site-nav>ul>li{margin-inline:0!important}
:is(html:lang(en),html:lang(es),html:lang(fr)) #site-nav .logo-text>span:first-child{font-family:var(--cc-latin-display)!important;font-weight:400;letter-spacing:.02em;font-size:24px}
:is(html:lang(en),html:lang(es),html:lang(fr)) #site-nav .logo-sub{font-family:var(--cc-humanist-ui)!important;letter-spacing:.06em}

/* Site-wide continuation of the approved homepage typography. Chinese is unchanged. */
:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) :is(h1,h2,h3,h4,h5,h6){font-family:var(--cc-latin-display)!important;font-weight:400!important;letter-spacing:.015em!important;line-height:1.3;text-wrap:balance;word-break:normal;overflow-wrap:normal;hyphens:none}
:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) main :is(p,blockquote,li){word-break:normal;overflow-wrap:break-word;letter-spacing:normal!important}
:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) main :is(.cal-prose,.prose,.overview-lead){font-family:var(--cc-latin-reading)!important;font-size:17px;line-height:1.85;text-align:start;word-break:normal}
:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) main :is(.cal-prose,.prose,.overview-lead) p{font-size:inherit;line-height:inherit;text-align:start}
:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) :is(button,input,textarea,select,nav){font-family:var(--cc-humanist-ui)!important;letter-spacing:.025em!important}
:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) .cc-hero-frame h1{font-size:clamp(40px,6vw,88px)!important;line-height:1.15!important;white-space:normal!important;max-width:100%;word-break:normal;overflow-wrap:normal;hyphens:none}
:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) main :is(button,[role=button]){white-space:normal;line-height:1.45;min-width:0}
html:lang(ja) body:not(.home) :is(h1,h2,h3,h4,h5,h6){font-family:var(--cc-ja-reading)!important;font-weight:500!important;letter-spacing:.025em!important;line-height:1.45;text-wrap:balance;word-break:normal;line-break:strict}
html:lang(ja) body:not(.home) main :is(p,blockquote,.cal-prose,.prose){font-family:var(--cc-ja-reading)!important;line-height:1.9;letter-spacing:.015em;line-break:strict;word-break:normal}
html:lang(ja) body:not(.home) :is(button,input,textarea,select,nav){font-family:var(--cc-ja-ui)!important;letter-spacing:.025em!important}
.cc-mobile-languages{display:flex;flex-wrap:wrap;gap:12px 20px;padding:16px 20px;border-top:1px solid #d8d0c0}.cc-mobile-languages a{padding:8px 0}.cc-mobile-languages [aria-current=page]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:600px){:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) main :is(.cal-prose,.prose,.overview-lead){font-size:16px;line-height:1.8}}

:is(html:lang(en),html:lang(es),html:lang(fr),html:lang(ja)) .jieri-ethnic-theme,:is(html:lang(en),html:lang(es),html:lang(fr),html:lang(ja)) .jieri-ethnic-theme__cards,:is(html:lang(en),html:lang(es),html:lang(fr),html:lang(ja)) .jieri-ethnic-card{min-width:0;max-width:100%}
:is(html:lang(en),html:lang(es),html:lang(fr)) .jieri-ethnic-theme__intro strong{font-family:var(--cc-latin-display)!important;font-weight:400;overflow-wrap:anywhere;font-size:clamp(26px,4vw,42px);line-height:1.3}

:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) p{font-weight:400;word-break:normal;overflow-wrap:break-word}
:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) .cc-hero-frame p{font-family:var(--cc-latin-reading)!important;font-weight:400!important;line-height:1.75!important;text-align:start!important;letter-spacing:normal!important}
:is(html:lang(en),html:lang(es),html:lang(fr)) body:not(.home) .sub-link{font-family:var(--cc-humanist-ui)!important;font-weight:400!important;letter-spacing:.025em!important}

:is(html:lang(en),html:lang(es),html:lang(fr)) .jieri-card-title{font-family:var(--cc-latin-display)!important;font-weight:400!important;letter-spacing:.015em!important;font-size:clamp(20px,2vw,28px)!important;line-height:1.4!important;word-break:normal;text-transform:none!important}
html:lang(ja) .jieri-card-title{font-family:var(--cc-ja-reading)!important;font-weight:500!important;letter-spacing:.025em!important;line-height:1.5!important}
.jieri-overview-card{max-width:calc(100% - 32px)}
.jieri-card-title{white-space:normal!important;overflow-wrap:break-word}

/* Tea components: reuse Cosmos & Time font tokens, not its layout selectors. */
:is(html:lang(en),html:lang(es),html:lang(fr)) .tea-home :is(h1,h2,h3,h4,h5,h6),
:is(html:lang(en),html:lang(es),html:lang(fr)) .tea-home :is(.tea-card strong,.tea-scene__heading strong){
  font-family:var(--cc-latin-display)!important;
  font-weight:400!important;
  letter-spacing:.025em!important;
  text-wrap:balance;
}
:is(html:lang(en),html:lang(es),html:lang(fr)) .tea-home :is(p,blockquote,li){
  font-family:var(--cc-latin-reading)!important;
  font-weight:400;
  letter-spacing:normal!important;
}
:is(html:lang(en),html:lang(es),html:lang(fr)) body .cha-header :is(.cha-nav a,.cha-header-actions summary,.cha-language-panel a),
:is(html:lang(en),html:lang(es),html:lang(fr)) :is(button,input,select,textarea){
  font-family:var(--cc-humanist-ui)!important;
  font-weight:400;
  letter-spacing:.025em!important;
  font-synthesis:none;
}
html:lang(ja) body{font-family:var(--cc-ja-reading)}
html:lang(ja) .tea-home :is(h1,h2,h3,h4,h5,h6),
html:lang(ja) .tea-home :is(.tea-card strong,.tea-scene__heading strong){
  font-family:var(--cc-ja-reading)!important;
  font-weight:500!important;
  letter-spacing:.025em!important;
  text-wrap:balance;
}
html:lang(ja) .tea-home :is(p,blockquote,li){
  font-family:var(--cc-ja-reading)!important;
  font-weight:400;
  letter-spacing:.015em!important;
  line-break:strict;
}
html:lang(ja) body .cha-header :is(.cha-nav a,.cha-header-actions summary,.cha-language-panel a),
html:lang(ja) :is(button,input,select,textarea){
  font-family:var(--cc-ja-ui)!important;
  font-weight:400;
  letter-spacing:.025em!important;
  font-synthesis:none;
}
/* The brand remains Latin even on Japanese pages. */
:is(html:lang(en),html:lang(es),html:lang(fr),html:lang(ja)) body .cha-header .cha-brand__name,
:is(html:lang(en),html:lang(es),html:lang(fr),html:lang(ja)) .tea-intro--centered .tea-intro__copy h1{
  font-family:var(--cc-latin-display)!important;
  font-weight:400!important;
  letter-spacing:.035em!important;
  font-synthesis:none;
}
:is(html:lang(en),html:lang(es),html:lang(fr),html:lang(ja)) .tea-intro--centered .tea-intro__copy h1{line-height:1.15}
/* Preserve the language of mixed-script footer decoration and native labels. */
html body .home-footer-renewed header p[lang="zh-Hans"],
html body .home-footer-bottom a[lang="zh"]{
  font-family:var(--cha-font-serif)!important;
  letter-spacing:.05em!important;
}
html body .home-footer-bottom a[lang="ja"]{font-family:var(--cc-ja-reading,'Yu Mincho',YuMincho,serif)!important}
html body .home-footer-bottom :is(a[lang="en"],a[lang="es"],a[lang="fr"]){font-family:var(--cc-latin-reading)!important}
