.loading-state {
  /* Keep the FAQ below the viewport until the calculator replaces this content. */
  min-height:calc(100svh - 100px);
  max-width:760px;
  padding:34px;
  margin-block:20px 35px;
  background:var(--soft);
  border-radius:16px;
}
.loading-state h1 {
  font-size:32px;
  line-height:1.25;
  margin:12px 0;
}
.loading-state p+p,.noscript-note {
  margin-top:12px;
}
.comparison-guide {
  display:grid;
  grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);
  gap:64px;
  margin-top:42px;
  padding:38px 0 28px;
  border-top:1px solid var(--line);
}
.guide-intro h2 {
  font-size:29px;
  line-height:1.25;
  font-weight:550;
  letter-spacing:-.8px;
  margin:12px 0 14px;
}
.guide-intro>p:not(.eyebrow) {
  max-width:360px;
  color:var(--muted);
  font-size:13px;
  line-height:1.75;
}
.guide-contact,.guide-questions a,.noscript-note a {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  font-size:12px;
  font-weight:550;
  color:var(--green);
  text-decoration:underline;
  text-underline-offset:4px;
}
.guide-contact {
  margin-top:10px;
}
.guide-questions details {
  border-bottom:1px solid var(--line);
  scroll-margin-top:24px;
}
.guide-questions details:first-child {
  border-top:1px solid var(--line);
}
.guide-questions summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:58px;
  padding:14px 2px;
  font-size:14px;
  font-weight:550;
  list-style:none;
}
.guide-questions summary::-webkit-details-marker {
  display:none;
}
.guide-questions summary>span {
  flex:0 0 20px;
  text-align:center;
  font-size:23px;
  line-height:1;
  font-weight:350;
  color:var(--green);
}
.guide-questions details[open]>summary>span {
  transform:rotate(45deg);
}
.guide-questions details>div {
  padding:0 24px 18px 2px;
  color:var(--muted);
  font-size:13px;
  line-height:1.75;
}
.guide-questions p+p {
  margin-top:10px;
}
.site-footer {
  display:block;
  font-size:12px;
  color:var(--muted);
  padding-top:24px;
}
.footer-assurance {
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.footer-assurance strong {
  color:var(--green);
  font-weight:550;
}
.footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:0 24px;
  margin-block:10px;
}
.site-footer a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  text-underline-offset:4px;
}
.site-footer a:hover {
  color:var(--green-dark);
  text-decoration:underline;
}
.footer-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:4px 20px;
}
.results-download {
  display:flex;
  justify-content:flex-end;
  margin-top:18px;
}
.results-download button {
  min-height:44px;
  font-size:12px;
}
.agent-docs {
  max-width:980px;
  padding-top:30px;
  padding-bottom:35px;
}
.agent-docs h1 {
  margin:12px 0 18px;
  font-size:36px;
  line-height:1.2;
  letter-spacing:-1px;
}
.agent-docs h2 {
  margin:32px 0 12px;
  font-size:23px;
  font-weight:550;
}
.agent-docs p,.agent-docs li {
  color:var(--muted);
  line-height:1.75;
}
.agent-docs p+p {
  margin-top:12px;
}
.agent-docs a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--green);
  text-underline-offset:4px;
}
.agent-docs pre {
  padding:18px;
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:12px;
  line-height:1.6;
}
.agent-docs code {
  overflow-wrap:anywhere;
}
.agent-resource-list {
  padding-left:20px;
}
#print-report {
  display:none;
}
@media(max-width:800px) {
  .comparison-guide {
    grid-template-columns:1fr;
    gap:22px;
    margin-top:30px;
    padding-top:28px;
  }
  .guide-intro h2 {
    font-size:26px;
  }
  .guide-intro>p:not(.eyebrow) {
    max-width:620px;
  }
  .guide-intro h2 br {
    display:none;
  }
  .footer-links {
    gap:0 18px;
  }
  .footer-assurance,.footer-meta {
    display:block;
  }
  .footer-assurance span,.footer-meta>span {
    display:block;
    margin-top:5px;
  }
  .results-download {
    justify-content:center;
  }
  .agent-docs h1 {
    font-size:29px;
  }
}
@media print {
  @page { size:A4; margin:14mm; }
  body[data-print-comparison] {
    background:white;
    color:#172b26;
    min-width:0;
    font-size:10pt;
  }
  body[data-print-comparison]>* {
    display:none!important;
  }
  body[data-print-comparison]>#print-report {
    display:block!important;
  }
  .print-heading {
    border-bottom:2px solid #24594e;
    padding-bottom:12px;
    margin-bottom:16px;
  }
  .print-heading h1 {
    font-size:21pt;
    line-height:1.2;
    margin:8px 0;
  }
  .print-heading p,.print-notes {
    font-size:9pt;
    line-height:1.6;
  }
  .print-profiles {
    margin-block:12px 20px;
  }
  .print-profiles p {
    font-size:9pt;
    margin:5px 0;
  }
  .print-offer {
    break-inside:avoid;
    padding:8px 0;
    border-top:1px solid #ccd5ce;
  }
  .print-offer header {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:20px;
  }
  .print-offer h2 {
    font-size:12pt;
    line-height:1.3;
  }
  .print-offer>p {
    margin:4px 0 8px;
    font-size:9pt;
  }
  .print-offer table {
    width:100%;
    border-collapse:collapse;
    font-size:9pt;
    line-height:1.35;
  }
  .print-offer th,.print-offer td {
    padding:3px 10px 3px 0;
    text-align:left;
    vertical-align:top;
  }
  .print-offer th:last-child,.print-offer td:last-child {
    text-align:right;
    padding-right:0;
    white-space:nowrap;
  }
  .print-notes {
    break-inside:avoid;
    margin-top:14px;
    border-top:1px solid #ccd5ce;
    padding-top:12px;
  }
  .print-notes a {
    color:inherit;
    overflow-wrap:anywhere;
  }
}
