/* Swiss clarity, Japanese paper: a quiet grid with decisive colour. */
body { --paper: #f7f3e8; --ink: #242722; --muted: #66695f; --olive: #263d57; --rust: #bd4b36; --line: #d9d6c9; --kk-indigo: #263d57; --kk-vermilion: #bd4b36; --kk-ochre: #e3c157; background: var(--paper); color: var(--ink); }
body.art-root > .art-background { display: none !important; }
body .site-header { background: var(--paper); border-bottom: 1px solid var(--line); }
body .site-header .brand-name { font-weight: 650; letter-spacing: .04em; }
body .site-header .brand-roman { color: var(--kk-indigo); letter-spacing: .12em; }
body .main-nav a { font-size: 12px; font-weight: 500; }
body .main-nav a:after { background: var(--kk-vermilion); }
body .site-header .language-switch button[aria-pressed=true] { color: var(--kk-vermilion); }
#home-sections .edition-line { border-bottom: 1px solid var(--line); padding-bottom: 20px; }
#home-sections .edition-line > span:last-child { color: var(--kk-indigo); font-weight: 600; }
#home-sections .hero-copy > .eyebrow { color: var(--kk-indigo); letter-spacing: .12em; }
#home-sections .tiny-line { width: 28px; height: 3px; background: var(--kk-vermilion); }
#home-sections .hero h1 { font-family: var(--sans); font-weight: 650; letter-spacing: -.045em; line-height: 1.35; text-wrap: balance; word-break: normal; overflow-wrap: normal; }
html[lang=en] #home-sections .hero h1 { font-family: var(--title-font, Georgia, serif); font-weight: 600; line-height: 1.08; letter-spacing: -.025em; }
#home-sections .hero-translation { color: var(--kk-vermilion); letter-spacing: .025em; }
#home-sections .hero .button { background: var(--kk-vermilion); color: #fffdf7; border-color: var(--kk-vermilion); border-radius: 0; font-weight: 550; }
#home-sections .hero .button:hover { background: #a53f2d; border-color: #a53f2d; }
#home-sections .hero-small .small-star { color: var(--kk-vermilion); }
#home-sections .hero-photo-link { border-radius: 0; }
#home-sections .about-label { padding-top: 0; border-top: 3px solid var(--kk-vermilion); }
#home-sections .about-label > .eyebrow { display: block; padding-top: 18px; color: var(--kk-indigo); }
#home-sections .about-copy h2 { font-weight: 550; }
#home-sections .themes-intro { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; padding-bottom: 32px; }
#home-sections .themes-intro .eyebrow { color: var(--kk-vermilion); }
#home-sections .themes-strip { border-top: 1px solid var(--line); border-bottom: 0; gap: 0 18px; }
#home-sections .themes-strip > a { padding: 26px 25px 28px; border: 0; min-height: 126px; align-items: baseline; gap: 12px; background: var(--kk-indigo); color: var(--paper); }
#home-sections .themes-strip > a:nth-of-type(2) { background: var(--kk-vermilion); color: #fffdf7; }
#home-sections .themes-strip > a:nth-of-type(3) { background: var(--kk-ochre); color: var(--ink); }
#home-sections .themes-strip > a[data-category-link="topic-e85bbbaf-9839-42bc-aa35-8efa7f92384c"] { background: #b8c1a5; color: var(--ink); }
#home-sections .themes-strip > a:hover { filter: brightness(1.045); }
#home-sections .themes-strip > a > span:nth-child(2) { font-family: var(--sans); font-weight: 550; font-size: 20px; }
#home-sections .themes-strip .theme-number { color: inherit; opacity: .75; font-size: 12px; font-variant-numeric: tabular-nums; }
#home-sections .themes-strip .theme-english { color: inherit; opacity: .8; }
#home-sections .themes-strip > a > span:last-child { align-self: flex-end; font-size: 22px; }
#home-sections .editorial-band { position: relative; border: 0; border-top: 4px solid var(--kk-indigo); border-radius: 0; background: #efebdf; padding-top: 42px; }
#home-sections .editorial-band::after { content: "03"; position: absolute; top: 15px; right: 22px; color: var(--kk-indigo); font: 500 18px/1 var(--sans); letter-spacing: -.06em; opacity: .5; }
#home-sections .band-copy .eyebrow { color: var(--kk-indigo); }
#home-sections .band-copy h2 { font-size: clamp(25px, 2.6vw, 32px); line-height: 1.55; font-weight: 550; }
#home-sections .two-languages > span { border-color: var(--kk-indigo); background: var(--paper); color: var(--kk-indigo); transform: rotate(-5deg); }
#home-sections .two-languages > span:last-child { background: var(--kk-ochre); color: var(--kk-indigo); transform: rotate(6deg); }
#home-sections .band-link { color: var(--kk-indigo); border-bottom-color: var(--kk-vermilion); }
#home-sections .kk-bear-garden { color: var(--kk-indigo); }
#home-sections .kk-bear-book { fill: #dfb5a3; stroke: var(--kk-vermilion); }
#home-sections .kk-daisy-center { fill: var(--kk-ochre); stroke: #b09246; }
#home-sections .kk-daisy-stem { stroke: #8d9779; }
#home-sections .kk-bear-greeting { border-radius: 0; border-color: var(--kk-indigo); box-shadow: none; }
body .site-footer { background: var(--paper); border-top-color: var(--kk-indigo); }
body .site-footer .footer-brand .footer-wordmark { color: var(--kk-indigo); }
body .site-footer .back-top { color: var(--kk-vermilion); }
@media (max-width: 760px) {
  #home-sections .hero { padding-top: 38px; }
  #home-sections .hero h1 { font-size: clamp(33px, 8.8vw, 44px); line-height: 1.38; max-width: 100%; }
  html[lang=en] #home-sections .hero h1 { font-size: clamp(39px, 10vw, 54px); }
  #home-sections .themes-strip { gap: 13px; }
  #home-sections .themes-intro { padding-bottom: 15px; align-items: flex-start; }
  #home-sections .themes-strip > a { min-height: 104px; padding: 24px; }
  #home-sections .theme-english { display: inline; font-size: 10px; }
  #home-sections .about-label { padding-top: 16px; }
  #home-sections .about-label > .eyebrow { padding-top: 0; }
  #home-sections .band-copy h2 { font-size: 25px; line-height: 1.6; }
}
@media (prefers-reduced-motion: reduce) { #home-sections .themes-strip > a { transition: none; } }

#home-sections .themes-strip > a { display:grid;grid-template-columns:24px minmax(0,1fr) 22px;align-items:start;white-space:normal; }
#home-sections .themes-strip > a > span:nth-child(2) { grid-column:2;grid-row:1; }
#home-sections .themes-strip .theme-english { display:block;grid-column:2;grid-row:2;flex-basis:auto;margin-left:0;white-space:normal;overflow-wrap:anywhere; }
#home-sections .themes-strip > a > span:last-child { grid-column:3;grid-row:1;align-self:start; }
