/* 3 families, one role each. OS fallbacks are only for unsupported glyphs. */
:root {
  --type-reading: "Noto Serif JP", "Yu Mincho", serif;
  --type-control: "Noto Sans JP", "Yu Gothic", sans-serif;
  --type-english: "Cormorant Garamond", "Noto Serif JP", serif;
}
body { font-family: var(--type-reading); font-weight: 500; font-size: 16px; }
h1,h2,h3,h4,.brand__ja,.hero__message,.hero__lead,.promise-list p,.flow-list p,
.faq-placeholders dt,.footer-brand__ja,.mobile-booking__brand { font-family: var(--type-reading); font-weight: 500; }
.button,button,input,select,textarea,.mock-form label,.mock-form legend,
.price-table,.price-table thead th,.price-table tbody th,.price-table td::before,.men-prices,.price-notes,.flow-notes,
.confirmation-tag,.confirmation-inline,.confirmation-inline > span,.price-pending,
.price-pending::before,.service-sticker,.service-note,.form-status,
.men-page .price-table th small,.herb-menu__types p,.herb-menu__types strong,.herb-menu__types small,
.course-followup,.mock-status { font-family: var(--type-control); font-weight: 500; }
.section-index,.brand__en,.brand-tabs a,.hero__season,.hero__signature,
.menu-eyebrow,.menu-detail .menu-eyebrow,.promise-list li > span,.flow-list li > span,
.request-list li > span,.men-label,.men-hero__wordmark,.news-date,
.footer-brand__en,.copyright { font-family: var(--type-english); font-weight: 500; }
.hero__season,.hero__signature,.menu-eyebrow,.menu-detail .menu-eyebrow,
.section-index,.footer-brand__en { font-size: 14px; }
.brand__en { font-size: 12px; }
.brand-tabs a { font-size: 13px; letter-spacing: .075em; }
.copyright { font-size: 13px; }
.menu-detail p,.herb-menu__lead,.herb-menu__types p,.herb-menu__flow,
.faq-placeholders dd,.confirmation-box p,.salon-details dd { font-size: 16px; line-height: 1.9; }
.hero__lead { font-size: 16px; font-weight: 500; }
.confirmation-tag,.confirmation-inline,.hero .confirmation-inline { font-size: 12px; }
.price-table thead th { font-size: 12px; letter-spacing: .03em; }
.price-pending::before { font-size: 10px; }
.motion-toggle { font-size: 12px; }
.herb-menu h4 { font-family: var(--type-reading); }
.herb-menu__types strong { font-size: 30px; }
.price-table td,.price-table th { font-weight: 500; }
@media(max-width:699px) {
  .site-header__inner { gap: 12px; }
  .brand-tabs { gap: 6px; }
  .brand-tabs a { font-size: 12px; min-height: 44px; letter-spacing: .04em; }
  .hero__signature { font-size: 13px; }
  .hero__season,.section-index { font-size: 13px; }
  .hero__lead { font-size: 16px; }
  .price-table thead th { font-size: 11px; }
  .price-table tr,.men-page .price-table tr { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
  .price-table td,.men-page .price-table td { font-size:14px; }
  .price-table td::before { font-size:12px; }
  .price-table-wrap { overflow-x: auto; }
}
