/*
 * MPPM canonical typography system.
 *
 * Purpose: one readable professional type hierarchy across public pages,
 * calculators and authenticated workspaces. Component CSS may control layout,
 * spacing and colour, but should not invent another font family or arbitrary
 * weight scale.
 */

:root{
  --mppm-font-sans:Arial,"Helvetica Neue",Helvetica,sans-serif;
  --mppm-type-ink:#10233f;
  --mppm-type-muted:#60758a;
  --mppm-type-body:15px;
  --mppm-type-body-line:1.6;
  --mppm-type-support:13px;
  --mppm-type-label:13px;
  --mppm-type-action:13px;
  --mppm-type-eyebrow:11px;
  --mppm-weight-regular:400;
  --mppm-weight-medium:600;
  --mppm-weight-strong:700;
}

/* One font family everywhere. This intentionally wins over legacy Inter,
 * Segoe UI, Roboto and page-specific font declarations. Code-like content is
 * excluded so formulas/snippets may still use an intentional monospace face. */
html,
body,
body *:not(code):not(pre):not(kbd):not(samp),
button,
input,
select,
textarea,
optgroup{
  font-family:var(--mppm-font-sans)!important;
}

body{
  color:var(--mppm-type-ink);
  font-size:var(--mppm-type-body);
  font-weight:var(--mppm-weight-regular);
  line-height:var(--mppm-type-body-line);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Heading hierarchy: strong through size/spacing, not extreme font weights. */
h1,h2,h3,h4,h5,h6{
  font-family:var(--mppm-font-sans)!important;
  color:inherit;
  font-weight:var(--mppm-weight-strong)!important;
  text-wrap:balance;
}
h1{line-height:1.08!important;letter-spacing:-.025em!important}
h2{line-height:1.16!important;letter-spacing:-.018em!important}
h3{line-height:1.28!important;letter-spacing:-.008em!important}
h4,h5,h6{line-height:1.35!important;letter-spacing:0!important}

p,li,dd,dt{
  font-weight:var(--mppm-weight-regular);
}
strong,b{
  font-weight:var(--mppm-weight-strong)!important;
}

/* Supporting text is quieter in colour, never tiny or excessively light. */
small,
.mppm-supporting-text,
.mppm-helper-text,
.mppm-caption,
.mppm-meta{
  font-family:var(--mppm-font-sans)!important;
  font-weight:var(--mppm-weight-regular)!important;
  line-height:1.5!important;
}

/* Labels and table headers carry structure without display-style heaviness. */
label,
th,
legend{
  font-family:var(--mppm-font-sans)!important;
  font-weight:var(--mppm-weight-medium)!important;
}

/* Inputs are content, not headings. */
input,
select,
textarea{
  font-weight:var(--mppm-weight-regular)!important;
  letter-spacing:0!important;
}

/* Action text has its own consistent role. Avoid 800/850/900/950 button text. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"],
a[class*="button"],
a[class*="btn"]{
  font-family:var(--mppm-font-sans)!important;
  font-size:var(--mppm-type-action);
  font-weight:var(--mppm-weight-strong)!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}

/* Header navigation should read as navigation, not as a headline. */
.mppm-primary-nav a,
.mppm-nav-guides>summary,
.mppm-search-toggle,
.mppm-header-login,
.mppm-header-cta,
.mppm-header-account,
.mppm-account-menu summary{
  font-family:var(--mppm-font-sans)!important;
  font-weight:var(--mppm-weight-medium)!important;
  letter-spacing:0!important;
}
.mppm-header-cta,
.mppm-header-account,
.mppm-search-toggle,
.mppm-header-login{
  font-weight:var(--mppm-weight-strong)!important;
}

/* Eyebrows/kickers are the only routine place for compact uppercase tracking. */
.mppm-account-eyebrow,
.mppm-dashboard-v2-kicker,
.mppm-pricing-eyebrow,
.mppm-tools-eyebrow,
.mppm-resources-eyebrow,
.mppm-guides-eyebrow,
.mppm-services-eyebrow,
#mppm-home-final-v1 .eyebrow,
[class*="section-kicker"],
[class*="section-eyebrow"]{
  font-family:var(--mppm-font-sans)!important;
  font-size:var(--mppm-type-eyebrow)!important;
  font-weight:var(--mppm-weight-strong)!important;
  line-height:1.2!important;
  letter-spacing:.055em!important;
}

/* Homepage hierarchy. */
#mppm-home-final-v1 h1{
  font-size:clamp(42px,5vw,60px)!important;
  line-height:1.04!important;
}
#mppm-home-final-v1 h2{
  font-size:clamp(30px,3.5vw,42px)!important;
  line-height:1.1!important;
}
#mppm-home-final-v1 h3{
  font-size:19px!important;
  line-height:1.3!important;
}
#mppm-home-final-v1 p,
#mppm-home-final-v1 .section-copy{
  font-size:15.5px!important;
  line-height:1.65!important;
  font-weight:var(--mppm-weight-regular)!important;
}
#mppm-home-final-v1 small{
  font-size:12.5px!important;
}
#mppm-home-final-v1 .btn,
#mppm-home-final-v1 button{
  font-size:13.5px!important;
  font-weight:var(--mppm-weight-strong)!important;
}

/* Authenticated workspace hierarchy. Keep dense UI readable without making
 * every line equally prominent. */
.mppm-account-page{
  font-size:14px!important;
  line-height:1.6!important;
}
.mppm-account-page .mppm-workspace-hero h1,
.mppm-account-page .mppm-settings-hero h1,
.mppm-account-page .mppm-project-v3-hero h1,
.mppm-account-page .mppm-scenario-v2-hero h1,
.mppm-account-page .mppm-scenario-v3-hero h1{
  font-size:clamp(32px,3.2vw,38px)!important;
  line-height:1.08!important;
  font-weight:var(--mppm-weight-strong)!important;
}
.mppm-account-page h2{
  font-size:24px;
  line-height:1.18!important;
  font-weight:var(--mppm-weight-strong)!important;
}
.mppm-account-page h3{
  font-size:17px;
  line-height:1.3!important;
  font-weight:var(--mppm-weight-strong)!important;
}
.mppm-account-page h4{
  font-size:15px;
  font-weight:var(--mppm-weight-medium)!important;
}
.mppm-account-page p{
  font-size:14px!important;
  line-height:1.6!important;
  font-weight:var(--mppm-weight-regular)!important;
}
.mppm-account-page small{
  font-size:12.5px!important;
  line-height:1.48!important;
  font-weight:var(--mppm-weight-regular)!important;
}
.mppm-account-page label,
.mppm-account-page th{
  font-size:13px!important;
  font-weight:var(--mppm-weight-medium)!important;
}
.mppm-account-page td{
  font-size:13.5px!important;
  font-weight:var(--mppm-weight-regular)!important;
}
.mppm-account-page button,
.mppm-account-page input[type="button"],
.mppm-account-page input[type="submit"],
.mppm-account-page input[type="reset"],
.mppm-account-page [role="button"],
.mppm-account-page a[class*="button"],
.mppm-account-page a[class*="btn"],
.mppm-account-page .mppm-dashboard-v2-recent-actions>a,
.mppm-account-page .mppm-dashboard-v2-recent-actions summary,
.mppm-account-page .mppm-dashboard-v2-recent-actions button,
.mppm-account-page .mppm-workflow-starter-result strong{
  font-size:12.5px!important;
  font-weight:var(--mppm-weight-strong)!important;
  line-height:1.2!important;
}

/* Account cards: titles, support and metadata must be visibly different. */
.mppm-account-page .mppm-dashboard-v2-recent-copy h3,
.mppm-account-page .mppm-workflow-starter-result b,
.mppm-account-page .mppm-workflow-pathway-copy b,
.mppm-account-page .mppm-next-step-head b{
  font-size:14px!important;
  font-weight:var(--mppm-weight-strong)!important;
  line-height:1.3!important;
}
.mppm-account-page .mppm-dashboard-v2-recent-copy span,
.mppm-account-page .mppm-account-search-copy small,
.mppm-account-page .mppm-workflow-pathway-status{
  font-size:11px!important;
  font-weight:var(--mppm-weight-medium)!important;
  letter-spacing:.035em!important;
}

/* Full/Planning calculator hierarchy. This intentionally aligns all calculator
 * families to the same approved sans stack and moderate weight scale. */
#mppm-roas-page,
.mppm-full-calculator-page,
.mppm-advanced-channel-page{
  font-size:14px!important;
  line-height:1.6!important;
}
#mppm-roas-page h1,
.mppm-full-calculator-page h1,
.mppm-advanced-channel-page h1{
  font-size:clamp(36px,4vw,48px)!important;
  font-weight:var(--mppm-weight-strong)!important;
  line-height:1.06!important;
}
#mppm-roas-page h2,
.mppm-full-calculator-page h2,
.mppm-advanced-channel-page h2{
  font-weight:var(--mppm-weight-strong)!important;
}
#mppm-roas-page h3,
.mppm-full-calculator-page h3,
.mppm-advanced-channel-page h3{
  font-weight:var(--mppm-weight-strong)!important;
}
#mppm-roas-page p,
.mppm-full-calculator-page p,
.mppm-advanced-channel-page p{
  font-weight:var(--mppm-weight-regular)!important;
}
#mppm-roas-page label,
.mppm-full-calculator-page label,
.mppm-advanced-channel-page label{
  font-size:13.5px!important;
  font-weight:var(--mppm-weight-medium)!important;
}
#mppm-roas-page input,
#mppm-roas-page select,
#mppm-roas-page textarea,
.mppm-full-calculator-page input,
.mppm-full-calculator-page select,
.mppm-full-calculator-page textarea,
.mppm-advanced-channel-page input,
.mppm-advanced-channel-page select,
.mppm-advanced-channel-page textarea{
  font-size:14px!important;
  font-weight:var(--mppm-weight-regular)!important;
}
#mppm-roas-page button,
#mppm-roas-page a[class*="button"],
#mppm-roas-page a[class*="btn"],
.mppm-full-calculator-page button,
.mppm-full-calculator-page a[class*="button"],
.mppm-full-calculator-page a[class*="btn"],
.mppm-advanced-channel-page button,
.mppm-advanced-channel-page a[class*="button"],
.mppm-advanced-channel-page a[class*="btn"]{
  font-size:12.5px!important;
  font-weight:var(--mppm-weight-strong)!important;
}

/* Footer hierarchy. */
.mppm-global-footer h4{
  font-size:15px!important;
  font-weight:var(--mppm-weight-strong)!important;
}
.mppm-global-footer a{
  font-size:14px!important;
  font-weight:var(--mppm-weight-regular)!important;
}
.mppm-global-footer p{
  font-weight:var(--mppm-weight-regular)!important;
}

@media(max-width:700px){
  body{font-size:14.5px}
  #mppm-home-final-v1 h1{font-size:clamp(36px,10vw,46px)!important}
  #mppm-home-final-v1 h2{font-size:clamp(28px,8vw,36px)!important}
  .mppm-account-page .mppm-workspace-hero h1,
  .mppm-account-page .mppm-settings-hero h1,
  .mppm-account-page .mppm-project-v3-hero h1,
  .mppm-account-page .mppm-scenario-v2-hero h1,
  .mppm-account-page .mppm-scenario-v3-hero h1{font-size:31px!important}
  .mppm-account-page h2{font-size:22px}
  .mppm-account-page p{font-size:13.5px!important}
  .mppm-account-page small{font-size:12px!important}
}
