/* ============================================================
   Profit Mastery — Design System (Premium v2)
   Institutional / agency-grade. Forest·Gold·Cream, Georgia
   headlines + self-hosted Inter body. Larger, airier type;
   layered depth; warm texture; eyebrow + two-tone headlines;
   status pills; report-card results; purposeful, reduced-
   motion-safe animation. Canonical brand: pmbranding skill.
   ============================================================ */

@font-face {
  font-family: "InterVar";
  src: url("/assets/fonts/inter-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Brand palette */
  --pm-forest: #1B4332; --pm-evergreen: #2D6A4F; --pm-sage: #40916C;
  --pm-gold: #C8962E; --pm-gold-light: #E8C56D;
  --pm-cream: #F5F1EB; --pm-warm: #F8F6F1;
  --pm-charcoal: #2D2D26; --pm-slate: #4A4A4A; --pm-mist: #6B6B6B;
  --pm-rule: #D9D3C5; --pm-white: #FFFFFF;
  --pm-red: #B23A2E; --pm-red-bg: #F7E9E6;
  --pm-yellow: #C8962E; --pm-yellow-bg: #FBF3E1;
  --pm-green: #40916C; --pm-green-bg: #E8F1EB;

  --bg: var(--pm-cream); --surface: var(--pm-white);
  --ink: var(--pm-charcoal); --ink-2: var(--pm-slate); --ink-3: var(--pm-mist);
  --line: var(--pm-rule);

  --font-head: Georgia, "Times New Roman", serif;
  --font-body: "InterVar", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: Consolas, "SF Mono", Menlo, monospace;

  /* Type scale — generous. Body 18px, hard floor 15px. */
  --fs-xs:   0.9375rem;  /* 15px — smallest allowed in-flow */
  --fs-sm:   1rem;       /* 16px */
  --fs-base: 1.0625rem;  /* 17px — body default (comfortable, not oversized) */
  --fs-lg:   1.1875rem;  /* 19px */
  --fs-xl:   1.4375rem;  /* 23px */
  --fs-2xl:  1.75rem;    /* 28px — results verdict */
  --fs-3xl:  2.25rem;    /* 36px */
  --fs-4xl:  2.75rem;    /* 44px — hero display */

  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem;
  --sp-6:2rem; --sp-7:3rem; --sp-8:4.5rem;

  --radius: 16px; --radius-sm: 10px; --radius-lg: 22px; --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(27,67,50,.05);
  --shadow: 0 2px 4px rgba(27,67,50,.05), 0 10px 28px -6px rgba(27,67,50,.12);
  --shadow-lg: 0 4px 8px rgba(27,67,50,.06), 0 28px 64px -12px rgba(27,67,50,.22);
  --shadow-gold: 0 8px 24px -6px rgba(200,150,46,.45);
  --ring: 0 0 0 3px rgba(200,150,46,.4);
  --ease: cubic-bezier(.22,.68,.28,1);
  --dur: .5s; --dur-fast: .22s;
  --maxw: 720px; --maxw-wide: 1120px;
}

/* Reset */
*,*::before,*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--font-body); font-size: var(--fs-base);
  line-height: 1.65; color: var(--ink); background: var(--bg);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  /* warm paper texture — very faint */
  background-image:
    radial-gradient(1200px 600px at 50% -10%, rgba(64,145,108,.05), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");
}
img { max-width: 100%; display: block; }
button { font: inherit; cursor: pointer; }
a { color: var(--pm-evergreen); }

/* Headings — Georgia, tight, forest */
h1,h2,h3,h4 { font-family: var(--font-head); font-weight: 700; color: var(--pm-forest); line-height: 1.15; margin: 0 0 .4em; letter-spacing: -.01em; }
h1 { font-size: var(--fs-3xl); } h2 { font-size: var(--fs-2xl); } h3 { font-size: var(--fs-xl); color: var(--pm-evergreen); }
p { margin: 0 0 1em; }

/* Eyebrow + two-tone display headline (signature) */
.pm-eyebrow { display:inline-block; font-family: var(--font-body); font-weight: 800; font-size: var(--fs-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--pm-gold); margin-bottom: var(--sp-3); }
.pm-display { font-family: var(--font-head); font-weight: 700; color: var(--pm-forest); font-size: var(--fs-4xl); line-height: 1.08; letter-spacing: -.02em; margin: 0 0 .3em; }
.pm-display .accent { color: var(--pm-gold); display: block; }
@media (max-width: 640px){ :root{ --fs-4xl: 2.25rem; --fs-3xl: 1.875rem; --fs-2xl: 1.5rem; } }

/* Layout */
.pm-page { min-height: 100dvh; display: flex; flex-direction: column; }
.pm-container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 var(--sp-5); }
.pm-container--wide { max-width: var(--maxw-wide); }
.pm-main { flex: 1; padding: var(--sp-7) 0 var(--sp-8); }
.pm-stack > * + * { margin-top: var(--sp-5); }
.pm-center { text-align: center; }

/* Masthead */
.pm-masthead { display:flex; align-items:center; gap: var(--sp-3); padding: var(--sp-4) var(--sp-5); background: var(--pm-forest); color: var(--pm-cream); position: relative; z-index: 2; }
.pm-masthead img { width: 42px; height: 42px; border-radius: 9px; }
.pm-masthead .ttl { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-lg); line-height: 1.05; color: var(--pm-white); }
.pm-masthead .sub { font-size: var(--fs-xs); color: var(--pm-gold-light); letter-spacing: .04em; }
.pm-masthead .cobrand { margin-left:auto; text-align:right; font-size: var(--fs-xs); color:#cfe0d6; max-width: 45%; }
.pm-masthead .cobrand b { display:block; color: var(--pm-cream); }

/* Hero (gradient + texture) */
.pm-hero { position: relative; overflow: hidden; color: var(--pm-cream); padding: var(--sp-8) 0 calc(var(--sp-8) + var(--sp-6)); background: linear-gradient(160deg, #143528 0%, var(--pm-forest) 45%, var(--pm-evergreen) 120%); }
.pm-hero::after { content:""; position:absolute; inset:0; background: radial-gradient(700px 340px at 85% 0%, rgba(200,150,46,.14), transparent 70%); pointer-events:none; }
.pm-hero .pm-display { color: var(--pm-white); }
.pm-hero .lede { color: #cfe0d6; font-size: var(--fs-lg); max-width: 34em; }

/* Buttons */
.pm-btn { display:inline-flex; align-items:center; justify-content:center; gap: var(--sp-2); min-height: 52px; padding: 0 var(--sp-6); border: 1.5px solid transparent; border-radius: var(--radius-sm); font-weight: 700; font-size: var(--fs-base); text-decoration:none; transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.pm-btn:hover { transform: translateY(-2px); }
.pm-btn:active { transform: translateY(0); }
.pm-btn:focus-visible { outline:none; box-shadow: var(--ring); }
.pm-btn--gold { background: linear-gradient(180deg, #d5a23a, var(--pm-gold)); color:#fff; box-shadow: var(--shadow-gold); }
.pm-btn--gold:hover { box-shadow: 0 12px 30px -6px rgba(200,150,46,.55); }
.pm-btn--forest { background: var(--pm-forest); color: var(--pm-cream); box-shadow: var(--shadow); }
.pm-btn--ghost { background: transparent; color: var(--pm-forest); border-color: var(--line); }
.pm-btn--ghost:hover { border-color: var(--pm-evergreen); background: var(--pm-warm); transform: none; }
.pm-btn--lg { min-height: 58px; font-size: var(--fs-lg); padding: 0 var(--sp-6); }
.pm-btn--block { display:flex; width:100%; }
.pm-btn[disabled],.pm-btn[aria-disabled="true"] { opacity:.5; cursor:not-allowed; box-shadow:none; }

/* Cards */
.pm-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: var(--sp-6); box-shadow: var(--shadow); }
.pm-card--pad-lg { padding: var(--sp-7); }
.pm-card--interactive { transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.pm-card--interactive:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }

/* Badges / chips / pills */
.pm-badge { display:inline-block; background: var(--pm-gold); color:#fff; font-weight:800; font-size: var(--fs-xs); letter-spacing:.1em; text-transform:uppercase; padding: 6px 13px; border-radius: var(--radius-pill); }
.pm-chip { display:inline-block; font-size: var(--fs-xs); font-weight:700; color: var(--pm-evergreen); background: var(--pm-green-bg); border-radius: var(--radius-pill); padding: 5px 13px; }
.pm-chip--soon { color: var(--pm-mist); background: var(--pm-warm); border: 1px solid var(--line); }
.pm-chip--free { color: #fff; background: var(--pm-sage); }
.pm-chip--pro  { color: var(--pm-forest); background: var(--pm-gold-light); }
.pm-lock { display:inline-block; width:13px; height:13px; vertical-align:-1px; margin-right:5px; }
.pm-pill { display:inline-flex; align-items:center; gap: 7px; font-size: var(--fs-xs); font-weight: 800; padding: 6px 13px; border-radius: var(--radius-pill); white-space: nowrap; }
.pm-pill .d { width: 9px; height: 9px; border-radius: 50%; flex:none; }
.pm-pill.green  { color: var(--pm-forest); background: var(--pm-green-bg); } .pm-pill.green .d  { background: var(--pm-green); }
.pm-pill.yellow { color: #7a5c12;        background: var(--pm-yellow-bg); } .pm-pill.yellow .d { background: var(--pm-yellow); }
.pm-pill.red    { color: #7a251c;        background: var(--pm-red-bg); }    .pm-pill.red .d    { background: var(--pm-red); }

/* Forms */
.pm-field { margin-bottom: var(--sp-4); }
.pm-label { display:block; font-weight:700; font-size: var(--fs-sm); color: var(--pm-slate); margin-bottom: 7px; }
.pm-input,.pm-select { width:100%; min-height: 52px; padding: 0 var(--sp-4); font-family: var(--font-body); font-size: var(--fs-base); color: var(--ink); background:#fff; border: 1.5px solid var(--line); border-radius: var(--radius-sm); transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.pm-input:focus,.pm-select:focus { outline:none; border-color: var(--pm-evergreen); box-shadow: var(--ring); }
.pm-help { font-size: var(--fs-sm); color: var(--ink-3); margin-top: 7px; }
.pm-consent { display:flex; gap: var(--sp-3); align-items:flex-start; font-size: var(--fs-sm); color: var(--pm-slate); cursor:pointer; margin-bottom: var(--sp-3); }
.pm-consent input { width: 22px; height: 22px; margin-top: 1px; accent-color: var(--pm-evergreen); flex:none; }

/* Option cards */
.pm-opts { display:grid; gap: var(--sp-3); }
.pm-opt { display:flex; align-items:center; gap: var(--sp-3); min-height: 60px; padding: var(--sp-3) var(--sp-4); background:#fff; border: 1.5px solid var(--line); border-radius: var(--radius-sm); cursor:pointer; transition: transform var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.pm-opt:hover { border-color: var(--pm-sage); background: var(--pm-warm); transform: translateY(-1px); }
.pm-opt input { position:absolute; opacity:0; pointer-events:none; }
.pm-opt .dot { width: 24px; height: 24px; border-radius:50%; border: 2px solid var(--line); flex:none; position:relative; transition: border-color var(--dur-fast) var(--ease); }
.pm-opt .ot { font-size: var(--fs-base); }
.pm-opt[aria-checked="true"] { border-color: var(--pm-evergreen); background: var(--pm-green-bg); box-shadow: inset 0 0 0 1.5px var(--pm-evergreen); }
.pm-opt[aria-checked="true"] .dot { border-color: var(--pm-evergreen); }
.pm-opt[aria-checked="true"] .dot::after { content:""; position:absolute; inset:4px; border-radius:50%; background: var(--pm-evergreen); animation: pm-pop var(--dur-fast) var(--ease); }
@keyframes pm-pop { from { transform: scale(0); } to { transform: scale(1); } }

/* Progress */
.pm-progress { height: 10px; background: var(--pm-rule); border-radius: var(--radius-pill); overflow:hidden; }
.pm-progress > span { display:block; height:100%; width:0; background: linear-gradient(90deg, var(--pm-sage), var(--pm-evergreen)); border-radius: var(--radius-pill); transition: width var(--dur) var(--ease); }
.pm-progress-label { font-size: var(--fs-xs); color: var(--ink-3); margin-top: 8px; font-weight: 600; }

/* Report card (results) */
.pm-report { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); }
.pm-report-head { padding: var(--sp-6); text-align:center; color:#fff; position: relative; }
.pm-report-head .lab { font-size: var(--fs-xs); letter-spacing:.16em; text-transform:uppercase; opacity:.85; font-weight: 700; }
.pm-report-head .verdict { font-family: var(--font-head); font-size: var(--fs-2xl); font-weight:700; margin: 8px 0 10px; }
/* programmatic focus (a11y announce) should not draw a visible box */
.pm-step-h:focus { outline: none; }
.pm-report-head .tally { font-size: var(--fs-base); opacity:.95; }
.pm-report-head.green { background: linear-gradient(160deg, var(--pm-sage), var(--pm-green)); }
.pm-report-head.yellow{ background: linear-gradient(160deg, #d5a23a, var(--pm-yellow)); }
.pm-report-head.red   { background: linear-gradient(160deg, #c24435, var(--pm-red)); }
.pm-report-body { padding: var(--sp-5) var(--sp-6) var(--sp-6); }
.pm-row { display:flex; align-items:flex-start; gap: var(--sp-4); padding: var(--sp-4) 0; border-top: 1px solid var(--line); }
.pm-row:first-child { border-top: none; }
.pm-row .rmeta { flex:1; }
.pm-row .rttl { font-family: var(--font-head); font-weight:700; color: var(--pm-forest); font-size: var(--fs-lg); }
.pm-row .rwhy { color: var(--ink-2); font-size: var(--fs-sm); margin-top: 2px; }
.pm-row .rnext { color: var(--ink); font-size: var(--fs-sm); margin-top: 5px; }

/* Alerts */
.pm-alert { padding: var(--sp-4) var(--sp-5); border-radius: var(--radius-sm); font-size: var(--fs-sm); }
.pm-alert--fix { background: var(--pm-red-bg); border: 1px solid var(--pm-red); color: #7a251c; }
.pm-alert--ok  { background: var(--pm-green-bg); border: 1px solid var(--pm-sage); color: var(--pm-forest); }

/* Footer */
.pm-footer { border-top: 1px solid var(--line); padding: var(--sp-6) var(--sp-5); text-align:center; color: var(--ink-3); font-size: var(--fs-xs); position: relative; z-index: 2; }
.pm-footer .promise { color: var(--pm-evergreen); font-family: var(--font-head); font-style: italic; font-size: var(--fs-base); }
.pm-proof { display:flex; flex-wrap:wrap; gap: var(--sp-5); justify-content:center; color: var(--ink-2); font-size: var(--fs-sm); margin-bottom: var(--sp-4); }
.pm-proof b { color: var(--pm-forest); font-family: var(--font-head); }

/* Utility */
.pm-hidden { display:none !important; }
.pm-muted { color: var(--ink-2); }
.pm-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Motion — reveals (staged via inline --i delay). Reduced-motion safe. */
.pm-rise { opacity: 0; transform: translateY(14px); animation: pm-rise var(--dur) var(--ease) forwards; animation-delay: calc(var(--i, 0) * 90ms); }
@keyframes pm-rise { to { opacity: 1; transform: none; } }
.pm-fade { animation: pm-fadein var(--dur) var(--ease) both; }
@keyframes pm-fadein { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; animation-delay:0 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .pm-rise { opacity: 1; transform: none; }
  .pm-btn:hover,.pm-card--interactive:hover,.pm-opt:hover { transform: none; }
}

/* "Here's my read" — advisor-voice narrative */
.pm-read { background: var(--pm-warm); border-left: 3px solid var(--pm-gold); border-radius: var(--radius-sm); padding: var(--sp-4) var(--sp-5); margin-bottom: var(--sp-5); }
.pm-read-lab { font-family: var(--font-body); font-weight:800; font-size: var(--fs-xs); letter-spacing:.14em; text-transform:uppercase; color: var(--pm-gold); margin-bottom: 6px; }
.pm-read p { margin:0; color: var(--pm-charcoal); font-size: var(--fs-base); line-height:1.72; }

/* Benchmark line under each action row */
.pm-row .rbench { color: var(--ink-2); font-size: var(--fs-xs); margin-top: 6px; line-height:1.55; }
.pm-row .rbench .rbench-lab { font-weight:800; text-transform:uppercase; letter-spacing:.06em; color: var(--pm-sage); margin-right:6px; }

/* Benchmark -> PM Pro teaser */
.pm-bench-teaser { margin-top: var(--sp-5); padding: var(--sp-3) var(--sp-4); background: var(--pm-yellow-bg); border:1px solid var(--pm-gold-light); border-radius: var(--radius-sm); font-size: var(--fs-xs); color:#7a5c12; line-height:1.55; }
.pm-bench-teaser .ic { color: var(--pm-gold); font-weight:700; margin-right:6px; }

/* Result-specific PM Pro CTA */
.pm-cta { border: 2px solid var(--pm-gold); box-shadow: var(--shadow-lg); }
.pm-cta-eyebrow { font-weight:800; font-size: var(--fs-xs); letter-spacing:.14em; text-transform:uppercase; color: var(--pm-gold); margin-bottom: 8px; }

/* Next tool + resources */
.pm-next-lab { font-weight:800; font-size: var(--fs-xs); letter-spacing:.14em; text-transform:uppercase; color: var(--pm-gold); margin-bottom: 4px; }
.pm-resource { display:grid; grid-template-columns: 1fr auto; column-gap: var(--sp-3); align-items:center; padding: var(--sp-3) var(--sp-4); border:1px solid var(--line); border-radius: var(--radius-sm); text-decoration:none; margin-top: var(--sp-3); transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.pm-resource:hover { border-color: var(--pm-sage); background: var(--pm-warm); }
.pm-resource-ttl { grid-column:1; font-weight:700; color: var(--pm-forest); font-size: var(--fs-base); }
.pm-resource-sub { grid-column:1; color: var(--ink-3); font-size: var(--fs-xs); margin-top:2px; }
.pm-resource-arrow { grid-column:2; grid-row:1 / -1; color: var(--pm-gold); font-weight:700; font-size: var(--fs-lg); }

/* Request-a-call block — phone field reveals via :has when the box is checked */
.pm-callreq { margin: var(--sp-2) 0 var(--sp-3); padding-top: var(--sp-3); border-top: 1px dashed var(--line); }
#cap_phone_wrap { display: none; margin-top: var(--sp-2); }
.pm-callreq:has(#cap_wantcall:checked) #cap_phone_wrap { display: block; }

/* Site nav (hub + content pages) */
.pm-nav { display:flex; align-items:center; gap: var(--sp-5); padding: var(--sp-3) var(--sp-5); background: var(--pm-forest); position: sticky; top:0; z-index:50; }
.pm-nav .brand { display:flex; align-items:center; gap:var(--sp-3); text-decoration:none; }
.pm-nav .brand img { width:38px; height:38px; border-radius:8px; }
.pm-nav .brand .ttl { font-family:var(--font-head); font-weight:700; color:#fff; font-size:var(--fs-lg); line-height:1; }
.pm-nav .links { margin-left:auto; display:flex; align-items:center; gap:var(--sp-5); }
.pm-nav .links a { color:var(--pm-cream); text-decoration:none; font-size:var(--fs-sm); font-weight:600; }
.pm-nav .links a:hover { color:var(--pm-gold-light); }
.pm-nav .links a.signin { border:1.5px solid rgba(232,197,109,.5); border-radius: var(--radius-sm); padding:8px 16px; color:var(--pm-gold-light); }
.pm-nav .links a.signin:hover { background: rgba(232,197,109,.12); }
@media (max-width:700px){ .pm-nav .links { gap: var(--sp-4); } .pm-nav .links a.hidesm { display:none; } }

/* How it works */
.pm-how { margin-top: var(--sp-8); }
.pm-how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-5); margin-top: var(--sp-5); }
.pm-how-num { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:var(--pm-green-bg); color:var(--pm-forest); font-family:var(--font-head); font-weight:700; font-size:var(--fs-lg); margin-bottom: var(--sp-3); }
.pm-how-step h3 { margin: 0 0 var(--sp-2); }
.pm-how-step p { color: var(--ink-2); font-size: var(--fs-sm); margin:0; }
@media (max-width:640px){ .pm-how-grid { grid-template-columns:1fr; gap: var(--sp-5); } }

/* Newsletter block */
.pm-news { margin-top: var(--sp-8); background: linear-gradient(160deg,#143528,var(--pm-forest)); border-radius: var(--radius-lg); padding: var(--sp-7); color:var(--pm-cream); text-align:center; position:relative; overflow:hidden; }
.pm-news::after { content:""; position:absolute; inset:0; background: radial-gradient(560px 260px at 85% 0%, rgba(200,150,46,.16), transparent 70%); pointer-events:none; }
.pm-news .eyeb { color: var(--pm-gold-light); }
.pm-news h2 { color:#fff; margin:var(--sp-2) 0; position:relative; }
.pm-news p { color:#cfe0d6; max-width: 40em; margin: 0 auto var(--sp-4); position:relative; }
.pm-news .pm-btn { position:relative; }

/* Site footer */
.pm-sitefoot { background: var(--pm-forest); color:#cfe0d6; padding: var(--sp-7) var(--sp-5) var(--sp-6); margin-top: var(--sp-8); }
.pm-sitefoot .cols { max-width: var(--maxw-wide); margin:0 auto; display:grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: var(--sp-6); }
.pm-sitefoot h4 { color:#fff; font-family:var(--font-body); font-weight:800; font-size:var(--fs-xs); letter-spacing:.12em; text-transform:uppercase; margin:0 0 var(--sp-3); }
.pm-sitefoot .cols a { color:#cfe0d6; text-decoration:none; display:block; margin-bottom: var(--sp-2); font-size:var(--fs-sm); }
.pm-sitefoot .cols a:hover { color:var(--pm-gold-light); }
.pm-sitefoot .brandcol .promise { color: var(--pm-gold-light); font-family:var(--font-head); font-style:italic; font-size: var(--fs-base); margin-bottom: var(--sp-3); }
.pm-sitefoot .brandcol p { font-size: var(--fs-xs); color:#9db3a6; }
.pm-sitefoot .legal { max-width:var(--maxw-wide); margin: var(--sp-6) auto 0; padding-top: var(--sp-5); border-top:1px solid rgba(255,255,255,.12); font-size:var(--fs-xs); color:#9db3a6; display:flex; flex-wrap:wrap; gap: var(--sp-4); justify-content:space-between; }
@media (max-width:640px){ .pm-sitefoot .cols { grid-template-columns:1fr 1fr; gap: var(--sp-5); } }

/* Results action row (Save as PDF) */
.pm-actions { display:flex; gap: var(--sp-3); justify-content:center; flex-wrap:wrap; }

/* Print — clean, branded one-page report (browser print-to-PDF) */
@media print {
  .pm-noprint, .pm-nav, .pm-sitefoot, .pm-footer, .pm-masthead .cobrand, .pm-bench-teaser { display:none !important; }
  html, body { background:#fff !important; background-image:none !important; }
  .pm-page { display:block; }
  .pm-main { padding: var(--sp-4) 0 !important; }
  .pm-container { max-width:100%; }
  .pm-report { box-shadow:none !important; border:1px solid var(--line); }
  .pm-report-head { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .pm-pill { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .pm-rise, .pm-fade { opacity:1 !important; transform:none !important; animation:none !important; }
  .pm-row { break-inside: avoid; }
}

/* Mobile */
@media (max-width: 560px) {
  .pm-container { padding: 0 var(--sp-4); }
  .pm-masthead .cobrand { display:none; }
  .pm-main { padding: var(--sp-6) 0 var(--sp-7); }
  .pm-card { padding: var(--sp-5); }
}
