/* Platform chrome only. Customer sites, demo iframes and version archives own their typography. */
:root {
  --public-font-sans: "Pretendard Variable", Pretendard, "Noto Sans KR", -apple-system, "Apple SD Gothic Neo", system-ui, sans-serif;
  --public-font-brand: "Geist Variable", "Pretendard Variable", sans-serif;
  --public-nav-size: .9375rem;
  --public-nav-weight: 550;
  --public-type-tracking: -.015em;
  --public-footer-size: .875rem;
  --public-meta-size: .8125rem;
}

html body :is(.v4-header, .v4-mobile-nav, .v4-footer, .mh-header, .mh-template-header, .mh-footer, .legal-header, .legal-footer, .search-nav, .search-footer, .service-mobile-nav, .story-nav, .story-footer, .cafe-header, .cafe-footer, .studio-header, .studio-footer, .public-support-header, .public-support-footer, .auth-header, .demo-preview-toolbar, .demo-preview-footer, .demo-preview-mobile-return, .auth-legal, .mhi-header, .mhi-footer, .seo-shell-header) {
  font-family: var(--public-font-sans);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  letter-spacing: var(--public-type-tracking);
}

html body :is(
  .mhv4 .v4-desktop-nav a, .mhv4 .v4-login, .mhv4 .v4-header-cta, .mhv4 .v4-mobile-nav .v4-menu-start .v4-button,
  .mh-header nav a, .mh-header-actions > a, .mh-template-header nav a,
  .legal-header nav a, .search-nav nav a, .service-detail-page .search-nav .search-primary, .service-detail-page.renewal-service-page .search-nav .search-primary,
  .story-nav nav a, .cafe-header nav a, .cafe-header > a, .studio-header nav a, .studio-header > a,
  .public-support-header > a:last-child, .demo-preview-back, .demo-preview-open,
  .demo-preview-controls button, .mhi-header .mhi-back, .auth-header .auth-support-link, .seo-shell-nav a, .seo-shell-header-cta, .public-unavailable main > a
) {
  font-family: var(--public-font-sans);
  font-size: var(--public-nav-size);
  font-weight: var(--public-nav-weight);
  line-height: 1.5;
  letter-spacing: var(--public-type-tracking);
  min-height: 44px;
  min-width: 44px;
}

html body :is(.legal-header nav a, .search-nav nav a, .story-nav nav a, .mh-template-header nav a) {
  display: inline-flex;
  align-items: center;
}

html body :is(.service-mobile-nav a, .demo-preview-mobile-return) {
  font-family: var(--public-font-sans);
  font-size: var(--public-nav-size);
  font-weight: var(--public-nav-weight);
  line-height: 1.5;
  letter-spacing: var(--public-type-tracking);
}

html body .mhv4 .v4-menu-links a {
  font-family: var(--public-font-sans);
  font-weight: var(--public-nav-weight);
  letter-spacing: var(--public-type-tracking);
}
html body .mhv4 .v4-menu-account span { font-weight: var(--public-nav-weight); }

/* Keep existing wordmark artwork and layout; align all live text wordmarks. */
html body :is(.mhv4 .v4-wordmark, .mh-brand strong, .search-brand, .search-brand strong, .story-brand strong, .cafe-brand strong, .studio-brand strong, .auth-header .auth-brand strong, .public-support-header .auth-brand strong, .public-support-footer .auth-brand strong, .login-brand > span, .signup-brand > span, .public-footer-brand > strong, .mhi-footer > strong, .mhi-brand strong, .seo-shell-brand strong) {
  font-family: var(--public-font-brand);
  font-size: 1.9rem;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -.08em;
}

html body :is(.public-footer-navigation .public-footer-group > h2, .mhv4 .v4-service-navigation h2, .story-footer section > strong) {
  font-family: var(--public-font-sans);
  font-size: var(--public-footer-size);
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: var(--public-type-tracking);
}

html body :is(.public-footer-navigation .public-footer-group a, .mhv4 .v4-footer nav a, .mh-footer nav a, .legal-footer a, .story-footer section a, .mhi-footer > nav a, .auth-legal a, .demo-preview-footer a) {
  font-family: var(--public-font-sans);
  font-size: var(--public-footer-size);
  font-weight: 450;
  line-height: 1.6;
  letter-spacing: var(--public-type-tracking);
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  min-width: 44px;
}

html body .mhv4 .v4-footer .v4-privacy { font-weight: 700; }

html body :is(.public-footer-brand > p, .story-footer > div:not(.story-operator) > p, .mhi-footer > p) {
  font-family: var(--public-font-sans);
  font-size: var(--public-footer-size);
  font-weight: 450;
  line-height: 1.7;
  letter-spacing: var(--public-type-tracking);
}

html body :is(.v4-footer .operator-disclosure, .mh-footer .operator-disclosure, .public-support-footer .operator-disclosure, .cafe-footer .operator-disclosure, .studio-footer .operator-disclosure, .mhi-footer .operator-disclosure, .search-footer .search-operator, .story-footer .story-operator, .v4-footer-top > span, .mh-footer > small, .public-support-footer > small, .cafe-footer > small, .studio-footer > small, .story-footer > small, .legal-footer > span, .demo-preview-footer > p) {
  font-family: var(--public-font-sans);
  font-size: var(--public-meta-size);
  font-weight: 450;
  line-height: 1.75;
  letter-spacing: 0;
}

html body :is(.cafe-footer > small, .studio-footer > small) { color: #b9c1cc; }

/* Legal navigation has its own full-width row instead of shrinking the policy names. */
@media (max-width: 800px) {
  html body .legal-header { flex-wrap: wrap; gap: 0 20px; padding-block: 12px 0; }
  html body .legal-header > .mh-brand { min-height: 44px; }
  html body .legal-header nav { flex: 1 0 100%; flex-wrap: wrap; gap: 0 20px; }
  html body .legal-header nav a { padding-block: 10px; }
  html body .legal-registry-content > section { scroll-margin-top: 152px; }
}

@media (max-width: 600px) {
  html body :is(.mhv4 .v4-wordmark, .mh-brand strong, .search-brand, .search-brand strong, .story-brand strong, .cafe-brand strong, .studio-brand strong, .auth-header .auth-brand strong, .public-support-header .auth-brand strong, .public-support-footer .auth-brand strong, .login-brand > span, .signup-brand > span, .public-footer-brand > strong, .mhi-footer > strong, .mhi-brand strong, .seo-shell-brand strong) { font-size: 1.625rem; }
  html body .mh-header nav.is-open a { font-family: var(--public-font-sans); font-weight: 550; letter-spacing: var(--public-type-tracking); }
  html body .mh-header nav.is-open a { font-size: 1rem; }
  html body .legal-footer { flex-wrap: wrap; gap: 8px 20px; }
}

/* The current public identity is the main page's lowercase wordmark, without an M icon. */
html body .public-wordmark.public-wordmark {
  display: inline-flex;
  align-items: baseline;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font-family: var(--public-font-brand);
  font-size: 1.9rem;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -.08em;
  white-space: nowrap;
}
html body .public-wordmark .public-wordmark-dot { color: #006773; }
html body :is(.story-footer, .cafe-header, .cafe-footer, .studio-header, .studio-footer, .mhi-header, .mhi-footer, .search-footer, .service-detail-page .search-nav) .public-wordmark-dot { color: #72d8e2; }
html body :is(.mh-brand, .search-brand, .story-brand, .auth-brand, .login-brand, .signup-brand, .cafe-brand, .studio-brand, .mhi-brand, .seo-shell-brand) { min-height: 44px; text-decoration: none; }
html body .public-brand-stack { display: grid; gap: 2px; }
html body .public-brand-label { display: block; margin-top: 4px; font-family: var(--public-font-sans); font-size: 12px; font-weight: 550; letter-spacing: 0; }
@media (max-width: 600px) {
  html body .public-wordmark.public-wordmark { font-size: 1.625rem; }
}

html body .search-footer .public-wordmark.public-wordmark { color: #fff; }
