/* Policy Prospector / Trusted Companion. Shared by the website and calculator. */
@font-face {
  font-family: "Manrope";
  src: url("fonts/Manrope-variable.woff") format("woff");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("fonts/SourceSans3-variable.woff") format("woff");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}
:root {
  --navy: #17324d;
  --tan: #b79a70;
  --ivory: #f8f4ed;
  --cloud: #e5ebef;
  --ink: #27343f;
  --charcoal: var(--navy);
  --deep: #122a40;
  --dark: var(--navy);
  --tan-text: var(--navy);
  --ink-soft: #4f6170;
  --muted: #4f6170;
  --line: #d3dde4;
  --control-line: #758796;
  --white: #ffffff;
  --paper: var(--ivory);
  --warm: var(--cloud);
  --surface-warm: var(--cloud);
  --accent: var(--navy);
  --font-heading: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--ink);
  background: var(--ivory);
}
body { font-family: var(--font-body); font-weight: 400; line-height: 1.55; }
button, input, select, textarea { font-family: var(--font-body); }
.policyprospector-site :is(h1,h2,h3,h4), .policyprospector-calculator :is(h1,h2,h3,h4),
.score-number strong, .score-caption, .score-title, .results-savings strong {
  font-family: var(--font-heading);
  font-weight: 600;
}
.policyprospector-site :is(h1,h2,h3,h4) em {
  font-family: var(--font-heading);
  font-weight: 600;
  font-style: normal;
}
.policyprospector-site .hero h1 { color: var(--navy); letter-spacing: -.045em; }
.policyprospector-site .hero h1 em { color: var(--navy); letter-spacing: inherit; }
.policyprospector-site .hero-description { font-size: 16px; line-height: 1.65; }
.policyprospector-site .hero-lead,
#calculator-heading, #people-heading, #real-results-heading, #faq-heading { color: var(--navy); }
.primary, .secondary, .button, .text-button, .nav-step,
.field > label, .field-label, .check-option, .option,
.desktop-nav a, .mobile-nav a, .eyebrow, .quote-fieldset legend {
  font-family: var(--font-body);
  font-weight: 600;
}
.primary, .button:not(.button-outline) { color: var(--navy); }
.primary, .button { line-height: 1.35; }
::selection { color: var(--navy); background: #e4d5bf; }

/* The approved prospector, paired with the selected Manrope wordmark. */
.brand .brand-lockup {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: none;
  color: var(--navy);
  white-space: nowrap;
}
.brand .brand-lockup img {
  display: block;
  width: 76px;
  height: 76px;
  flex: none;
  object-fit: contain;
}
.brand .brand-wordmark {
  font-family: var(--font-heading);
  font-size: 29px;
  font-weight: 400;
  letter-spacing: -1.1px;
  line-height: 1.15;
}
.brand .brand-wordmark strong { font-weight: 700; }
.topbar .brand .brand-lockup img { width: 80px; height: 80px; }
.topbar .brand .brand-wordmark { font-size: 33px; }
.site-footer .brand .brand-lockup { gap: 11px; }
.site-footer .brand .brand-lockup img { width: 62px; height: 62px; }
.site-footer .brand .brand-wordmark { font-size: 25px; }
.rules-sheet-mark { font-family: var(--font-heading); white-space: nowrap; font-size: 11px; letter-spacing: -.3px; font-weight: 400; }
.rules-sheet-mark strong { font-weight: 700; }

/* Blue-tinted selections and navy progress make the next action clear. */
.policyprospector-calculator .intro h1,
.policyprospector-calculator .step-content h2,
.policyprospector-calculator .quote-heading h1 { color: var(--navy); }
.policyprospector-calculator .question-description { font-size: 16px; line-height: 1.6; }
.policyprospector-calculator .progress-track div,
.policyprospector-calculator .processing-track div { background: var(--navy); }
.policyprospector-calculator .option.selected,
.policyprospector-calculator .check-option:has(input:checked),
.policyprospector-calculator .quote-path.selected { background: var(--cloud); border-color: var(--navy); }
.policyprospector-calculator .quote-panel input:not([type=checkbox]),
.policyprospector-calculator .quote-panel select { font-family: var(--font-body); }
.policyprospector-calculator .score-number strong { font-weight: 600; }

@media (max-width:1150px) {
  .site-header .brand .brand-lockup { gap: 10px; }
  .site-header .brand .brand-lockup img { width: 68px; height: 68px; }
  .site-header .brand .brand-wordmark { font-size: 27px; }
  .desktop-nav { gap: 18px; }
  .desktop-nav a { font-size: 12px; }
}
@media (max-width:850px) {
  .topbar .brand .brand-lockup { gap: 10px; }
  .topbar .brand .brand-lockup img { width: 68px; height: 68px; }
  .topbar .brand .brand-wordmark { font-size: 29px; }
}
@media (max-width:620px) {
  .brand .brand-lockup, .site-header .brand .brand-lockup,
  .topbar .brand .brand-lockup { gap: 9px; }
  .site-header .brand .brand-lockup img,
  .topbar .brand .brand-lockup img { width: 54px; height: 54px; }
  .site-header .brand .brand-wordmark,
  .topbar .brand .brand-wordmark { font-size: 25px; letter-spacing: -.9px; }
  .site-footer .brand .brand-lockup { gap: 8px; }
  .site-footer .brand .brand-lockup img { width: 50px; height: 50px; }
  .site-footer .brand .brand-wordmark { font-size: 24px; }
  .topbar .bar-inner { gap: 12px; }
  .topbar .reset { margin-left: auto; flex-shrink: 0; }
  .rules-sheet-mark { font-size: 10px; }
}
@media (max-width:370px) {
  .site-header .brand .brand-lockup img,
  .topbar .brand .brand-lockup img { width: 46px; height: 46px; }
  .site-header .brand .brand-wordmark,
  .topbar .brand .brand-wordmark { font-size: 23px; }
  .site-header .header-inner { gap: 12px; }
  .topbar .bar-inner { gap: 8px; }
}
@media print {
  .topbar .brand .brand-lockup img { width: 60px; height: 60px; }
  .topbar .brand .brand-wordmark { font-size: 28px; }
}


/* Approved concept 04: original prospector-and-wordmark layout. The surrounding
   header, footer, and calculator retain their existing layout dimensions. */
.brand .brand-lockup.brand-prospector {
  --brand-logo-width: 228px;
  --brand-logo-height: 104px;
  --brand-slot-height: 76px;
  width: var(--brand-logo-width);
  height: var(--brand-slot-height);
  gap: 0;
  justify-content: center;
}
.brand .brand-lockup.brand-prospector > img.brand-logo {
  width: var(--brand-logo-width);
  height: var(--brand-logo-height);
  max-width: none;
  flex: none;
  object-fit: contain;
}
.topbar .brand .brand-lockup.brand-prospector {
  --brand-logo-width: 238px;
  --brand-logo-height: 110px;
  --brand-slot-height: 80px;
}
.site-footer .brand .brand-lockup.brand-prospector {
  --brand-logo-width: 200px;
  --brand-logo-height: 92px;
  --brand-slot-height: 62px;
}
.sidebar .brand .brand-lockup.brand-prospector {
  --brand-logo-width: 202px;
  --brand-logo-height: 94px;
  --brand-slot-height: 58px;
}
@media (max-width:1150px) {
  .site-header .brand .brand-lockup.brand-prospector {
    --brand-logo-width: 214px;
    --brand-logo-height: 98px;
    --brand-slot-height: 68px;
  }
}
@media (max-width:850px) {
  .topbar .brand .brand-lockup.brand-prospector {
    --brand-logo-width: 214px;
    --brand-logo-height: 98px;
    --brand-slot-height: 68px;
  }
}
@media (max-width:620px) {
  .site-header .brand .brand-lockup.brand-prospector,
  .topbar .brand .brand-lockup.brand-prospector {
    --brand-logo-width: 186px;
    --brand-logo-height: 84px;
    --brand-slot-height: 54px;
  }
  .site-footer .brand .brand-lockup.brand-prospector {
    --brand-logo-width: 186px;
    --brand-logo-height: 84px;
    --brand-slot-height: 50px;
  }
  .sidebar .brand .brand-lockup.brand-prospector {
    --brand-logo-width: 160px;
    --brand-logo-height: 74px;
    --brand-slot-height: 46px;
  }
}
@media (max-width:370px) {
  .site-header .brand .brand-lockup.brand-prospector,
  .topbar .brand .brand-lockup.brand-prospector {
    --brand-logo-width: 166px;
    --brand-logo-height: 76px;
    --brand-slot-height: 46px;
  }
}
@media print {
  .topbar .brand .brand-lockup.brand-prospector {
    --brand-logo-width: 200px;
    --brand-logo-height: 92px;
    --brand-slot-height: 60px;
  }
}
