@import url('/assets/evidence-refinement-base.css');

/* Typography/header pass, 2026-08-18.
   Kept deliberately small: this layer only normalizes typography and the global header.
   Evidence basis: Digital Agency Design System typography/button guidance, WCAG 2.2,
   Japanese readability studies on font size/spacing, and Morisawa UD-font evaluations. */
:root{
  --sz-header:68px;
  --sz-font-body:17px;
  --sz-font-control:16px;
}

body.site-body{
  padding-top:var(--sz-header);
  font-family:"BIZ UDPGothic","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Yu Gothic UI",Meiryo,sans-serif;
  font-size:var(--sz-font-body);
  font-weight:400;
  line-height:1.7;
  letter-spacing:.01em;
}

h1,h2,h3,h4,h5,h6,
strong,b,
.btn,
.site-nav .navbar-brand,
.site-nav .nav-link,
.site-nav .nav-cta,
.section-kicker,
.proof-chip{
  font-weight:700;
}

h1,h2,h3,h4,h5,h6{
  line-height:1.4;
  letter-spacing:0;
}
.hero h1,
.hero-compact h1,
.legal-hero h1,
.page-business .business-hero-copy h1{
  line-height:1.4!important;
  letter-spacing:0!important;
}

p,li,dd,td,th{
  line-height:1.7;
}

.hero .hero-lead,
.legal-hero p,
.page-lead,
.section-lead,
.editorial-intro p,
.section-block>.container>p:not(.small){
  max-width:42em;
}

.btn{
  min-height:44px;
  font-size:var(--sz-font-control);
  line-height:1.3;
  letter-spacing:.01em;
}

/* One compact header system across every page. A 44px minimum target is retained,
   while the masthead itself is reduced from 76–78px to 68px. */
.site-nav{
  height:var(--sz-header)!important;
  min-height:var(--sz-header)!important;
}
.site-nav>.container{
  height:100%!important;
}
.site-nav .navbar-brand{
  min-height:var(--sz-header)!important;
  font-size:18px!important;
  line-height:1.2!important;
  letter-spacing:0;
}
.site-nav .navbar-brand .logo{
  width:40px!important;
  height:40px!important;
  margin-right:.6rem!important;
}
.site-nav .nav-link{
  min-height:var(--sz-header)!important;
  font-size:16px!important;
  line-height:1!important;
  letter-spacing:0;
  white-space:nowrap;
}
.site-nav .nav-cta{
  min-height:44px!important;
  font-size:16px!important;
  line-height:1.3!important;
  letter-spacing:0;
  white-space:nowrap;
}
.site-nav .navbar-toggler{
  position:relative;
  z-index:3;
  width:48px;
  height:44px;
}

/* Zoomed desktop / small laptop: keep readable 14px one-line navigation instead of
   shrinking into 12–13px text or increasing the header height. */
@media(min-width:992px) and (max-width:1199.98px){
  .site-nav>.container{width:calc(100% - 32px)!important}
  .site-nav .navbar-brand{font-size:16px!important}
  .site-nav .navbar-brand .logo{width:36px!important;height:36px!important;margin-right:.45rem!important}
  .site-nav .nav-link{padding:0 .38rem!important;font-size:14px!important}
  .site-nav .nav-cta{margin-left:.35rem!important;padding:.48rem .58rem!important;font-size:14px!important}
}

/* Collapsed menu: maintain normal reading size and target height. */
@media(max-width:991.98px){
  :root{--sz-font-body:16px}
  .site-nav .navbar-collapse{top:var(--sz-header)!important;z-index:2}
  .site-nav .nav-link{
    min-height:48px!important;
    padding:.68rem 0!important;
    font-size:16px!important;
    line-height:1.45!important;
    white-space:normal;
  }
  .site-nav .nav-cta{font-size:16px!important}
}

@media(max-width:680px){
  :root{--sz-header:64px;--sz-font-body:16px}
  .site-nav .navbar-brand{font-size:16px!important}
  .site-nav .navbar-brand .logo{width:36px!important;height:36px!important;margin-right:.5rem!important}
}
