@font-face{font-family:'KB Brand Wordmark';src:url('fonts/wordmark.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
.kb-brand-enabled{
  --kb-brand-paper:#f7f5f0;--kb-brand-ink:#1b1f24;--kb-brand-blue:#2857c5;
  --kb-brand-blue-hover:#1741a7;--kb-brand-rule:#cdd0cb;--kb-brand-muted:#656960;
  --kb-brand-body:'KB Site Sans','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  --kb-brand-display:'KB Site Serif','Hiragino Mincho ProN','Yu Mincho',serif;
  --kb-brand-gutter:clamp(24px,5.8vw,92px);--kb-brand-max-width:1370px;
}
body.kb-brand-enabled{font-family:var(--kb-brand-body);font-weight:400;font-synthesis:none}
.kb-brand-enabled :where(input,select,textarea,button){font-family:inherit}
/* Existing cluster layouts keep their serif accents, using one complete Japanese family. */
.kb-brand-enabled .zw{--zw-serif:var(--kb-brand-display)}
.kb-brand-enabled .tr{--tr-serif:var(--kb-brand-display)}
.kb-brand-enabled .sm{--sm-serif:var(--kb-brand-display)}
.kb-brand-enabled .ts{--ts-serif:var(--kb-brand-display)}
.kb-brand-enabled .kg{--kg-serif:var(--kb-brand-display)}
.kb-brand-enabled .ko{--ko-serif:var(--kb-brand-display)}
.kb-brand-enabled :is(.kb-library,.kb-library-footer,.kb-library-local-nav,.kb-library-reading-next){font-family:var(--kb-brand-body)}
.kb-brand-enabled .sg :is(.sg-hero h2,.sg-intro h2,.sg-section-head h2,.sg-app h2,.sg-result-heading h2,.sg-result-reading .sg-board-cell>strong,.sg-example>h2,.sg-star-card h3,.sg-related h2){font-family:var(--kb-brand-display)}
.kb-brand-enabled #header-container,.kb-brand-enabled .mobile-menu-buttons{display:none!important}
.kb-brand-enabled .skip-link{position:fixed;z-index:1000;left:var(--kb-brand-gutter);top:16px;padding:14px 20px;background:var(--kb-brand-paper);color:var(--kb-brand-blue);transform:translateY(-200%)}
.kb-brand-enabled .skip-link:focus{transform:none}
.kb-brand-shell{box-sizing:border-box;width:calc(100% - var(--kb-brand-gutter)*2);max-width:var(--kb-brand-max-width);margin-inline:auto}
.kb-brand-header-wrap{background:var(--kb-brand-paper);color:var(--kb-brand-ink);font-family:var(--kb-brand-body);font-synthesis:none;-webkit-font-smoothing:antialiased}
.kb-brand-header-wrap *{box-sizing:border-box}
.kb-brand-header{min-height:124px;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative}
.kb-brand-header a{color:inherit;text-decoration:none;box-shadow:none}
.kb-brand-header a:focus-visible,.kb-brand-menu-toggle:focus-visible{outline:2px solid var(--kb-brand-blue);outline-offset:7px}
.kb-brand-wordmark{font-family:'KB Brand Wordmark',var(--kb-brand-body);font-size:34px;font-weight:600;letter-spacing:-.06em;line-height:1.25;padding:8px 0 8px 4px}
.kb-brand-nav{display:flex;align-items:center;gap:clamp(24px,3.3vw,44px);padding-right:16px}
.kb-brand-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:17px;font-weight:500;position:relative}
.kb-brand-nav a::after{content:'';position:absolute;bottom:7px;width:100%;height:1px;background:var(--kb-brand-blue);transform:scaleX(0);transform-origin:left;transition:transform 180ms ease}
.kb-brand-nav a:hover{color:var(--kb-brand-blue)}
.kb-brand-nav a[aria-current]{color:var(--kb-brand-blue)}
.kb-brand-nav a:hover::after,.kb-brand-nav a:focus-visible::after{transform:scaleX(1)}
.kb-brand-nav a[aria-current]::after{transform:scaleX(1)}
.kb-brand-menu-toggle{display:none}
.kb-brand-menu-toggle[hidden]{display:none!important}
@media(max-width:760px){
  .kb-brand-enabled{--kb-brand-gutter:24px}
  .kb-brand-header{min-height:88px;gap:16px;z-index:10;flex-wrap:wrap}
  .kb-brand-wordmark{font-size:28px}
  .kb-brand-header .kb-brand-menu-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--kb-brand-ink);border:0;border-radius:0;box-shadow:none;padding:8px 0 8px 16px;min-height:44px;width:auto;font:500 14px var(--kb-brand-body);cursor:pointer}
  .kb-brand-header .kb-brand-nav{display:none;position:absolute;top:80px;left:0;width:100%;background:var(--kb-brand-paper);border-top:1px solid var(--kb-brand-rule);border-bottom:1px solid var(--kb-brand-rule);padding:20px 0;gap:0}
  .kb-brand-has-menu .kb-brand-nav.kb-brand-is-open{display:flex;flex-direction:column;align-items:stretch}
  .kb-brand-has-menu .kb-brand-nav a{font-size:20px;min-height:56px;padding-inline:12px}
  .kb-brand-nav a::after{display:none}
}
@media(max-width:360px){.kb-brand-enabled{--kb-brand-gutter:20px}}
@media(prefers-reduced-motion:reduce){.kb-brand-nav a::after{transition:none}}
