.p5c-calculator.p5c-theme-warm {
  --p5c-ink: #292b29;
  --p5c-muted: #73736d;
  --p5c-line: #e5e3dd;
  --p5c-surface: #ffffff;
  --p5c-soft: #f7f6f3;
  --p5c-success: #346538;
  --p5c-danger: #9f2f2d;
  --p5c-warning: #8b6515;
  background: #f7f6f3;
  border-radius: 12px;
  color: var(--p5c-ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  padding: 14px;
}

.p5c-theme-warm .p5c-assessment-form {
  max-width: 1280px;
  margin: 0 auto;
}

.p5c-theme-warm .p5c-hero {
  background: #f0f3ef;
  border: 1px solid var(--p5c-line);
  border-radius: 12px;
  box-shadow: none;
  color: var(--p5c-ink);
  gap: 18px;
  padding: 26px 30px;
}

.p5c-theme-warm .p5c-hero h2 {
  color: var(--p5c-ink);
  font-size: clamp(32px, 4.2vw, 50px);
  letter-spacing: -.045em;
  line-height: 1.04;
}

.p5c-theme-warm .p5c-hero-copy,
.p5c-theme-warm .p5c-hero-panel p {
  color: #62645f;
}

.p5c-theme-warm .p5c-hero-metrics {
  gap: 0;
  margin-top: 16px;
  border: 1px solid #d9ddd6;
  border-radius: 10px;
  overflow: hidden;
}

.p5c-theme-warm .p5c-hero-metric {
  background: rgba(255, 255, 255, .62);
  border: 0;
  border-left: 1px solid #d9ddd6;
  border-radius: 0;
  min-width: 0;
  padding: 11px 13px;
}

.p5c-theme-warm .p5c-hero-metric:first-child { border-left: 0; }
.p5c-theme-warm .p5c-hero-metric strong { color: var(--p5c-ink); font-size: 20px; }
.p5c-theme-warm .p5c-hero-metric span { color: var(--p5c-muted); }

.p5c-theme-warm .p5c-hero-panel {
  background: #fff;
  border: 1px solid var(--p5c-line);
  border-radius: 12px;
  box-shadow: none;
  color: var(--p5c-ink);
  padding: 21px 22px;
}

.p5c-theme-warm .p5c-hero-panel h3,
.p5c-theme-warm .p5c-hero-panel label { color: var(--p5c-ink); }

.p5c-theme-warm input,
.p5c-theme-warm select,
.p5c-theme-warm textarea {
  background: #fbfbfa;
  border-color: #d5d3cd;
  border-radius: 8px;
  color: var(--p5c-ink);
}

.p5c-theme-warm input:focus,
.p5c-theme-warm select:focus,
.p5c-theme-warm textarea:focus {
  border-color: #597064;
  box-shadow: 0 0 0 2px rgba(89, 112, 100, .16);
}

.p5c-theme-warm .p5c-create-draft,
.p5c-theme-warm .p5c-load-draft,
.p5c-theme-warm .p5c-button,
.p5c-theme-warm .p5c-submit,
.p5c-theme-warm .p5c-download,
.p5c-theme-warm button[type="submit"] {
  border-radius: 7px;
  box-shadow: none;
}

.p5c-theme-warm .p5c-create-draft,
.p5c-theme-warm .p5c-submit,
.p5c-theme-warm button[type="submit"] {
  background: #292b29;
  border-color: #292b29;
  color: #fff;
}

.p5c-theme-warm .p5c-assessment-layout {
  gap: 16px;
  margin-top: 16px;
}

.p5c-theme-warm .p5c-regulations { gap: 8px; }

.p5c-theme-warm .p5c-card,
.p5c-theme-warm .p5c-regulation {
  background: #fff;
  border: 1px solid var(--p5c-line);
  border-radius: 12px;
  box-shadow: none;
}

.p5c-theme-warm .p5c-regulation:hover {
  box-shadow: 0 2px 8px rgba(41, 43, 41, .04);
  transform: none;
}

.p5c-theme-warm .p5c-card.p5c-regulation:not(.is-open) .p5c-regulation-head,
.p5c-theme-warm .p5c-card.p5c-regulation.is-open .p5c-regulation-head {
  background: transparent;
  padding: 12px 15px;
}

.p5c-theme-warm .p5c-regulation-number {
  background: #f2f1ed;
  border: 0;
  border-radius: 8px;
  color: #686862;
}

.p5c-theme-warm .p5c-regulation h3 { color: var(--p5c-ink); }
.p5c-theme-warm .p5c-regulation-description { color: var(--p5c-muted); }

.p5c-theme-warm .p5c-status {
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  font-size: 10px;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.p5c-theme-warm .p5c-status.appears-compliant { background: #edf3ec; color: #346538; }
.p5c-theme-warm .p5c-status.not-compliant,
.p5c-theme-warm .p5c-status.report-and-consent-required { background: #fdebec; color: #9f2f2d; }
.p5c-theme-warm .p5c-status.further-review-required { background: #fbf3db; color: #8b6515; }
.p5c-theme-warm .p5c-status.to-be-assessed,
.p5c-theme-warm .p5c-status.not-assessed,
.p5c-theme-warm .p5c-status.not-applicable,
.p5c-theme-warm .p5c-status.not-applicable-to-this-target { background: #f0efec; color: #666660; }

.p5c-theme-warm .p5c-card.p5c-regulation.is-open .p5c-regulation-body {
  border-top-color: var(--p5c-line);
  padding: 17px 20px 20px;
}

.p5c-theme-warm .p5c-guidance {
  background: #f7f6f3;
  border: 1px solid var(--p5c-line);
  border-radius: 9px;
  color: #62645f;
  margin-bottom: 12px;
}

.p5c-theme-warm .p5c-fields { gap: 10px; }
.p5c-theme-warm .p5c-result { border-radius: 9px; box-shadow: none; margin-top: 12px; }

.p5c-theme-warm .p5c-side-rail { gap: 10px; }
.p5c-theme-warm .p5c-summary,
.p5c-theme-warm .p5c-selected-reference { padding: 16px 17px; }

.p5c-theme-warm .p5c-selected-reference {
  background: #e8f2f6;
  border-color: #d8e7ed;
}

.p5c-theme-warm .p5c-selected-reference h3 { color: #294f64; }
.p5c-theme-warm .p5c-selected-reference-title { color: #516b78; }

.p5c-theme-warm .p5c-status-row,
.p5c-theme-warm .p5c-summary-item {
  background: transparent;
  border-color: var(--p5c-line);
  border-radius: 8px;
  box-shadow: none;
}

.p5c-theme-warm .p5c-summary-note {
  background: #f7f6f3;
  border-color: var(--p5c-line);
  border-radius: 9px;
}

@media (max-width: 700px) {
  .p5c-calculator.p5c-theme-warm { padding: 8px; }
  .p5c-theme-warm .p5c-hero { padding: 20px; }
  .p5c-theme-warm .p5c-hero-metrics { display: grid; grid-template-columns: 1fr; }
  .p5c-theme-warm .p5c-hero-metric { border-left: 0; border-top: 1px solid #d9ddd6; }
  .p5c-theme-warm .p5c-hero-metric:first-child { border-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .p5c-theme-warm *,
  .p5c-theme-warm *::before,
  .p5c-theme-warm *::after { transition: none !important; }
}

/* Final production composition. These rules intentionally win over the legacy theme. */
.p5c-calculator.p5c-theme-warm {
  background: #f7f6f3 !important;
  border-radius: 0 !important;
  color: #292b29 !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  padding: 14px !important;
}

.p5c-theme-warm .p5c-hero {
  align-items: stretch !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr) !important;
  padding: 0 !important;
}

.p5c-theme-warm .p5c-hero-content {
  background: #f0f3ef !important;
  border: 1px solid #e0e3dd !important;
  border-radius: 12px !important;
  color: #292b29 !important;
  padding: 26px 30px !important;
}

.p5c-theme-warm .p5c-warm-kicker {
  color: #597064 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  margin: 0 0 10px !important;
  text-transform: uppercase !important;
}

.p5c-theme-warm .p5c-hero h2 {
  color: #292b29 !important;
  font-size: clamp(34px, 4.5vw, 56px) !important;
  letter-spacing: -.045em !important;
  line-height: 1.04 !important;
  margin: 0 !important;
  max-width: 720px !important;
}

.p5c-theme-warm .p5c-hero-copy {
  color: #62645f !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 12px 0 0 !important;
  max-width: 650px !important;
}

.p5c-theme-warm .p5c-warm-save-note {
  align-items: flex-start !important;
  border-top: 1px solid #d9ddd6 !important;
  color: #59605b !important;
  display: flex !important;
  font-size: 13px !important;
  gap: 10px !important;
  margin: 16px 0 0 !important;
  padding-top: 13px !important;
}

.p5c-theme-warm .p5c-warm-save-note span {
  align-items: center !important;
  background: #fff !important;
  border-radius: 7px !important;
  color: #597064 !important;
  display: inline-flex !important;
  flex: 0 0 24px !important;
  font-weight: 700 !important;
  height: 24px !important;
  justify-content: center !important;
}

.p5c-theme-warm .p5c-hero-panel {
  background: #fff !important;
  border: 1px solid #e5e3dd !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #292b29 !important;
  padding: 21px 22px !important;
}

.p5c-theme-warm .p5c-hero-panel-head { margin-bottom: 13px !important; }
.p5c-theme-warm .p5c-hero-panel h3 { color: #292b29 !important; font-size: 20px !important; }
.p5c-theme-warm .p5c-access-state { background: #fbf3db !important; border: 0 !important; color: #8b6515 !important; }
.p5c-theme-warm .p5c-hero-fields { gap: 9px !important; grid-template-columns: 1fr 1fr !important; }
.p5c-theme-warm .p5c-hero-fields label:first-child { grid-column: 1 / -1 !important; }
.p5c-theme-warm .p5c-hero-panel label { color: #4e504d !important; }
.p5c-theme-warm .p5c-hero-panel input { background: #fbfbfa !important; border: 1px solid #d5d3cd !important; border-radius: 8px !important; color: #292b29 !important; min-height: 42px !important; }
.p5c-theme-warm .p5c-hero-access-actions { display: flex !important; gap: 9px !important; grid-template-columns: none !important; margin-top: 11px !important; }
.p5c-theme-warm .p5c-hero-access-actions button { border-radius: 7px !important; min-height: 42px !important; padding: 0 15px !important; }
.p5c-theme-warm .p5c-load-draft { background: #292b29 !important; border: 1px solid #292b29 !important; color: #fff !important; order: -1 !important; }
.p5c-theme-warm .p5c-create-draft { background: #fff !important; border: 1px solid #d5d3cd !important; color: #292b29 !important; }

.p5c-theme-warm .p5c-warm-progress { margin-top: 12px !important; }
.p5c-theme-warm .p5c-warm-progress .p5c-hero-metrics {
  background: #fff !important;
  border: 1px solid #e5e3dd !important;
  border-radius: 12px !important;
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: 1.3fr repeat(4, 1fr) !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.p5c-theme-warm .p5c-warm-progress .p5c-hero-metric {
  background: #fff !important;
  border: 0 !important;
  border-left: 1px solid #e5e3dd !important;
  border-radius: 0 !important;
  min-width: 0 !important;
  padding: 12px 15px !important;
}

.p5c-theme-warm .p5c-warm-progress .p5c-hero-metric:first-child { border-left: 0 !important; }
.p5c-theme-warm .p5c-warm-progress strong { color: #292b29 !important; font-size: 19px !important; }
.p5c-theme-warm .p5c-warm-progress span { color: #73736d !important; font-size: 11px !important; }

.p5c-theme-warm .p5c-assessment-layout {
  align-items: start !important;
  gap: 16px !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  margin-top: 16px !important;
}

.p5c-theme-warm .p5c-regulations {
  background: #fff !important;
  border: 1px solid #e5e3dd !important;
  border-radius: 12px !important;
  display: block !important;
  padding: 20px !important;
}

.p5c-theme-warm .p5c-warm-section-head {
  align-items: end !important;
  border-bottom: 1px solid #e5e3dd !important;
  display: flex !important;
  justify-content: space-between !important;
  margin-bottom: 0 !important;
  padding: 0 0 12px !important;
}

.p5c-theme-warm .p5c-warm-section-head h2 { color: #292b29 !important; font-size: 22px !important; margin: 0 !important; }
.p5c-theme-warm .p5c-warm-section-head p { color: #73736d !important; font-size: 12px !important; margin: 4px 0 0 !important; }
.p5c-theme-warm .p5c-warm-section-head > span { color: #73736d !important; font: 11px/1.3 Consolas, monospace !important; }

.p5c-theme-warm .p5c-card.p5c-regulation,
.p5c-theme-warm .p5c-card.p5c-regulation:not(.is-open),
.p5c-theme-warm .p5c-card.p5c-regulation.is-open {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #e5e3dd !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

.p5c-theme-warm .p5c-card.p5c-regulation .p5c-regulation-head,
.p5c-theme-warm .p5c-card.p5c-regulation:not(.is-open) .p5c-regulation-head,
.p5c-theme-warm .p5c-card.p5c-regulation.is-open .p5c-regulation-head {
  background: transparent !important;
  min-height: 0 !important;
  padding: 12px 4px !important;
}

.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-appears-compliant .p5c-regulation-head {
  background: transparent !important;
  box-shadow: none !important;
}

.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-not-compliant .p5c-regulation-head,
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-report-and-consent-required .p5c-regulation-head {
  background: transparent !important;
  box-shadow: none !important;
}

.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-further-review-required .p5c-regulation-head {
  background: transparent !important;
  box-shadow: none !important;
}

.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-to-be-assessed .p5c-regulation-head,
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-not-assessed .p5c-regulation-head,
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-not-applicable .p5c-regulation-head,
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-not-applicable-to-this-target .p5c-regulation-head {
  background: transparent !important;
  box-shadow: none !important;
}

.p5c-theme-warm .p5c-regulation-title-wrap { gap: 13px !important; }
.p5c-theme-warm .p5c-regulation-number { background: #f2f1ed !important; border: 0 !important; border-radius: 8px !important; color: #686862 !important; height: 32px !important; min-width: 38px !important; }
.p5c-theme-warm .p5c-regulation-head h3 { color: #292b29 !important; font-size: 15px !important; font-weight: 650 !important; }
.p5c-theme-warm .p5c-regulation-actions { gap: 9px !important; }
.p5c-theme-warm .p5c-regulation-actions .p5c-status { border: 0 !important; border-radius: 999px !important; font-size: 10px !important; min-height: 26px !important; padding: 0 9px !important; }
.p5c-theme-warm .p5c-chevron { background: #f4f3f0 !important; border: 0 !important; border-radius: 7px !important; height: 26px !important; width: 26px !important; }
.p5c-theme-warm .p5c-regulation-actions .p5c-chevron::before { color: #292b29 !important; content: "+" !important; font-size: 17px !important; line-height: 24px !important; }
.p5c-theme-warm .p5c-regulation.is-open .p5c-regulation-actions .p5c-chevron::before { content: "−" !important; }
.p5c-theme-warm .p5c-regulation-info { display: none !important; }

.p5c-theme-warm .p5c-regulation-body,
.p5c-theme-warm .p5c-regulation.is-open .p5c-regulation-body {
  border-top: 0 !important;
  margin: 0 !important;
  padding: 4px 4px 17px 65px !important;
}

.p5c-theme-warm .p5c-guidance { background: transparent !important; border: 0 !important; color: #666862 !important; font-size: 15px !important; line-height: 1.55 !important; margin: 0 0 12px !important; padding: 0 !important; }
.p5c-theme-warm .p5c-not-applicable { margin-bottom: 10px !important; }
.p5c-theme-warm .p5c-fields {
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.p5c-theme-warm .p5c-field-checkbox { grid-column: 1 / -1 !important; }
.p5c-theme-warm .p5c-field input,
.p5c-theme-warm .p5c-field select,
.p5c-theme-warm .p5c-field textarea { background: #fbfbfa !important; border-color: #d5d3cd !important; border-radius: 8px !important; }
.p5c-theme-warm .p5c-input-wrap {
  align-items: stretch !important;
  display: flex !important;
  margin-top: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
.p5c-theme-warm .p5c-input-wrap input {
  border-radius: 8px 0 0 8px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
}
.p5c-theme-warm .p5c-unit {
  align-items: center !important;
  background: #f1f2ef !important;
  border: 1px solid #d5d3cd !important;
  border-left: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  color: #666862 !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  min-width: 64px !important;
  padding: 0 11px !important;
  white-space: nowrap !important;
}
.p5c-theme-warm .p5c-result { border: 1px solid #efd8d5 !important; border-radius: 9px !important; box-shadow: none !important; margin-top: 12px !important; padding: 11px 13px !important; }
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-appears-compliant .p5c-result { background: #f5faf6 !important; border-color: #cfe2d3 !important; color: #292b29 !important; }
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-not-compliant .p5c-result,
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-report-and-consent-required .p5c-result { background: #fff7f6 !important; border-color: #efd0cd !important; color: #292b29 !important; }
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-further-review-required .p5c-result { background: #fffaf0 !important; border-color: #eadcaf !important; color: #292b29 !important; }
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-not-applicable .p5c-result,
.p5c-theme-warm .p5c-card.p5c-regulation.p5c-status-not-applicable-to-this-target .p5c-result { background: #f7f7f4 !important; border-color: #dedbd3 !important; color: #292b29 !important; }
.p5c-theme-warm .p5c-result .p5c-calculation,
.p5c-theme-warm .p5c-result .p5c-result-text,
.p5c-theme-warm .p5c-result .p5c-result-warning { color: inherit !important; }

.p5c-theme-warm .p5c-side-rail { display: flex !important; flex-direction: column !important; gap: 10px !important; padding-top: 24px !important; position: sticky !important; top: 116px !important; }
.p5c-theme-warm .p5c-selected-reference { order: 1 !important; }
.p5c-theme-warm .p5c-summary { order: 2 !important; }
.p5c-theme-warm .p5c-actions { order: 3 !important; }
.p5c-theme-warm .p5c-summary,
.p5c-theme-warm .p5c-selected-reference { background: #fff !important; border: 1px solid #e5e3dd !important; border-radius: 12px !important; box-shadow: none !important; margin: 0 !important; padding: 16px 17px !important; }
.p5c-theme-warm .p5c-summary-head { margin-bottom: 10px !important; }
.p5c-theme-warm .p5c-summary-head h3,
.p5c-theme-warm .p5c-selected-reference h3 { color: #292b29 !important; font-size: 18px !important; letter-spacing: -.02em !important; }
.p5c-theme-warm .p5c-summary-actions { display: none !important; }
.p5c-theme-warm .p5c-summary-head .p5c-progress-ring {
  background: conic-gradient(#597064 var(--p5c-progress, 0%), #e8e7e2 0) !important;
  border-radius: 10px !important;
  display: grid !important;
  flex: 0 0 52px !important;
  height: 52px !important;
  margin: 0 0 0 12px !important;
  padding: 5px !important;
  place-items: center !important;
  width: 52px !important;
}
.p5c-theme-warm .p5c-summary-head .p5c-progress-ring > div {
  background: #fff !important;
  border-radius: 7px !important;
  color: #292b29 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.p5c-theme-warm .p5c-summary-subtitle { color: #73736d !important; margin: 5px 0 0 !important; }
.p5c-theme-warm .p5c-status-stack { gap: 0 !important; margin: 10px 0 0 !important; }
.p5c-theme-warm .p5c-status-row { background: transparent !important; border: 0 !important; border-top: 1px solid #e5e3dd !important; border-radius: 0 !important; padding: 7px 0 !important; }
.p5c-theme-warm .p5c-status-group[data-status="Appears compliant"] .p5c-status-row,
.p5c-theme-warm .p5c-status-group[data-status="Not compliant"] .p5c-status-row,
.p5c-theme-warm .p5c-status-group[data-status="Further review required"] .p5c-status-row,
.p5c-theme-warm .p5c-status-group[data-status="To be assessed"] .p5c-status-row,
.p5c-theme-warm .p5c-status-group[data-status="Not assessed"] .p5c-status-row { background: transparent !important; }
.p5c-theme-warm .p5c-status-regulations {
  background: #fff !important;
  border-color: #e5e3dd !important;
  color: #5f615d !important;
}
.p5c-theme-warm .p5c-status-regulation {
  background: transparent !important;
  color: #5f615d !important;
}
.p5c-theme-warm .p5c-status-regulation::before {
  background: #b8b7b0 !important;
}
.p5c-theme-warm .p5c-status-empty {
  background: transparent !important;
  color: #73736d !important;
}
.p5c-theme-warm .p5c-status-row span { color: #5f615d !important; font-size: 14px !important; font-weight: 400 !important; }
.p5c-theme-warm .p5c-status-row strong { color: #292b29 !important; font: 700 12px/1 Consolas, monospace !important; }
.p5c-theme-warm .p5c-mini-list,
.p5c-theme-warm .p5c-disclaimer { display: none !important; }
.p5c-theme-warm .p5c-selected-reference { background: #e8f2f6 !important; border-color: #d8e7ed !important; }
.p5c-theme-warm .p5c-selected-reference h3 { color: #294f64 !important; }
.p5c-theme-warm .p5c-selected-reference-title { color: #516b78 !important; line-height: 1.55 !important; margin: 5px 0 9px !important; }
.p5c-theme-warm .p5c-selected-reference-toggle { background: transparent !important; border: 0 !important; border-radius: 0 !important; color: #315f78 !important; margin: 0 !important; min-height: 0 !important; padding: 0 !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
.p5c-theme-warm .p5c-actions { gap: 8px !important; margin-top: 0 !important; }
.p5c-theme-warm .p5c-actions button,
.p5c-theme-warm .p5c-actions a { border-radius: 7px !important; box-shadow: none !important; min-height: 42px !important; }
.p5c-theme-warm .p5c-submit { background: #292b29 !important; border-color: #292b29 !important; color: #fff !important; }
.p5c-theme-warm .p5c-download[hidden] { display: none !important; }
.p5c-theme-warm .p5c-download {
  align-items: center !important;
  background: #f9fbfb !important;
  border: 1px solid #b9d3dd !important;
  color: #1d5d75 !important;
  display: inline-flex !important;
  gap: 8px !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 14px !important;
}
.p5c-theme-warm .p5c-download::before {
  border: 1px solid currentColor;
  border-radius: 3px;
  content: "PDF";
  display: inline-flex;
  font: 700 9px/1 Arial, "Helvetica Neue", Helvetica, sans-serif;
  padding: 3px 4px 2px;
}
.p5c-theme-warm .p5c-download:hover,
.p5c-theme-warm .p5c-download:focus {
  background: #e8f2f6 !important;
  border-color: #8fb8c7 !important;
  color: #143f52 !important;
}

@media (max-width: 930px) {
  .p5c-theme-warm .p5c-hero,
  .p5c-theme-warm .p5c-assessment-layout { grid-template-columns: 1fr !important; }
  .p5c-theme-warm .p5c-side-rail { padding-top: 0 !important; position: static !important; }
}

@media (max-width: 680px) {
  .p5c-calculator.p5c-theme-warm { padding: 8px !important; }
  .p5c-theme-warm .p5c-hero-content,
  .p5c-theme-warm .p5c-hero-panel,
  .p5c-theme-warm .p5c-regulations { padding: 18px !important; }
  .p5c-theme-warm .p5c-hero-fields { grid-template-columns: 1fr !important; }
  .p5c-theme-warm .p5c-hero-fields label:first-child { grid-column: auto !important; }
  .p5c-theme-warm .p5c-warm-progress .p5c-hero-metrics { grid-template-columns: 1fr 1fr !important; }
  .p5c-theme-warm .p5c-warm-progress .p5c-hero-metric { border-top: 1px solid #e5e3dd !important; }
  .p5c-theme-warm .p5c-warm-progress .p5c-hero-metric:first-child { grid-column: 1 / -1 !important; border-top: 0 !important; }
  .p5c-theme-warm .p5c-regulation-body,
  .p5c-theme-warm .p5c-regulation.is-open .p5c-regulation-body { padding-left: 4px !important; }
  .p5c-theme-warm .p5c-fields { grid-template-columns: 1fr !important; }
}

/* Typography calibration: use real font weights and avoid synthetic heavy faces. */
.p5c-calculator.p5c-theme-warm,
.p5c-theme-warm button,
.p5c-theme-warm input,
.p5c-theme-warm select,
.p5c-theme-warm textarea {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
  font-synthesis: none !important;
  letter-spacing: normal !important;
}

.p5c-theme-warm .p5c-hero h2 {
  font-weight: 600 !important;
  letter-spacing: -.035em !important;
}

.p5c-theme-warm h3,
.p5c-theme-warm .p5c-warm-section-head h2,
.p5c-theme-warm .p5c-summary-head h3,
.p5c-theme-warm .p5c-selected-reference h3,
.p5c-theme-warm .p5c-regulation-head h3 {
  font-weight: 600 !important;
  letter-spacing: -.015em !important;
}

.p5c-theme-warm label,
.p5c-theme-warm .p5c-field-label-text,
.p5c-theme-warm .p5c-not-applicable,
.p5c-theme-warm .p5c-unit {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.p5c-theme-warm button,
.p5c-theme-warm .p5c-submit,
.p5c-theme-warm .p5c-save-draft,
.p5c-theme-warm .p5c-download,
.p5c-theme-warm .p5c-info {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.p5c-theme-warm .p5c-status,
.p5c-theme-warm .p5c-regulation-actions .p5c-status {
  font-weight: 600 !important;
  letter-spacing: .02em !important;
}

.p5c-theme-warm .p5c-warm-progress strong,
.p5c-theme-warm .p5c-hero-metric strong,
.p5c-theme-warm .p5c-calculation {
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}

.p5c-theme-warm .p5c-warm-progress span,
.p5c-theme-warm .p5c-hero-metric span {
  font-weight: 500 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
}

.p5c-theme-warm .p5c-regulation-number,
.p5c-theme-warm .p5c-count-compliant,
.p5c-theme-warm .p5c-count-not-compliant,
.p5c-theme-warm .p5c-count-review,
.p5c-theme-warm .p5c-count-todo,
.p5c-theme-warm .p5c-count-not-assessed {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
