/* Shared responsive layer: phones, tablets, desktops and enlarged text. */
:root { --page-gutter: clamp(1rem, 3.5vw, 2.75rem); }
html { scroll-padding-top: 1.5rem; }
body { overflow-wrap: break-word; }
img { max-width: 100%; }
.wrap, .nav.wrap, .hero.wrap { padding-inline: var(--page-gutter); }
.hero > div, .navlinks, .sectionhead > *, .offer, .lane, .step,
.faq > *, .footertop > *, .eligibility-callout > * { min-width: 0; }
.hero { padding-block: clamp(2rem, 4vw, 3.75rem); }
.hero h1 { font-size: clamp(2rem, 1.15rem + 3.1vw, 3.8rem); line-height: 1.1; }
h1, h2, h3 { text-wrap: balance; }
.hero .intro { max-width: 36rem; font-size: clamp(1rem, .94rem + .3vw, 1.125rem); }
.hero .eyebrow { font-size: .875rem; max-width: 100%; line-height: 1.5; }
.hero .pricing-note { width: 100%; max-width: 37.5rem; }
.pricing-note p { font-size: .875rem; }
.pricing-note .rate-value { white-space: normal; display: inline-block; }
.hero .fine { font-size: .8125rem; max-width: 32rem; }
.button, .nav .button.small { min-height: 2.75rem; line-height: 1.4; max-width: 100%; }
.button { text-align: center; }
.button > span { flex-shrink: 0; }
.wordmark { min-height: 2.75rem; flex-shrink: 0; }
.nav { min-height: 5rem; height: auto; padding-block: .75rem; }
.navlinks { flex-wrap: wrap; justify-content: flex-end; gap: .5rem 1.5rem; }
.navlinks > a:not(.button), .footerlinks a, .related-links a,
.backlink, .eligibility-callout > a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.section { padding-block: clamp(2.25rem, 4.5vw, 4rem); }
.sectionhead h2, #how-it-works h2, .faq h2 { font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.375rem); line-height: 1.15; }
.sectionhead { align-items: center; gap: 1.5rem; }
.sectionhead p { font-size: 1rem; }
.nichegrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.nichegrid .lane { min-height: 15rem; padding: clamp(1.25rem, 2.2vw, 1.75rem); }
.nichegrid .lane h3 { font-size: clamp(1.25rem, 1.05rem + .5vw, 1.5rem); line-height: 1.2; }
.offergrid, .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); }
.offer h3, .step h3 { line-height: 1.25; }
.offer p, .step p, .lane p, .faqlist p { font-size: 1rem; line-height: 1.6; }
.faq { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 3rem; }
.faqlist summary { min-height: 2.75rem; align-items: center; font-size: 1rem; line-height: 1.5; }
.faqlist summary::after { flex-shrink: 0; }
.faqlist p { margin-right: 0; }
.footer { padding-block: 2rem; }
.footertop { align-items: flex-start; flex-wrap: wrap; }
.footerlinks { gap: .25rem 1.5rem; }
.footer p, .note { font-size: .8125rem; }
.related-links { gap: .25rem 1.5rem; }
.eligibility-callout { gap: 1.5rem; }
.eligibility-callout > a { flex-shrink: 0; max-width: 21rem; gap: .5rem; }
.eligibility-intro h1 { font-size: clamp(2rem, 1.15rem + 3.1vw, 3.8rem); line-height: 1.1; }
.review-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.policy-heading p, .policy-general, .review-list p, .prohibited-list li { line-height: 1.65; }
.mobilecta { display: none; }
@media (hover: hover) and (pointer: fine) {
  .lane:hover { transform: translateY(-3px); }
}
@media (hover: none) {
  .lane:hover, .button:hover { transform: none; }
}
@media (max-width: 1000px) {
  .nichegrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footertop { flex-direction: column; gap: 1rem; }
  .eligibility-callout { align-items: flex-start; flex-direction: column; }
  .eligibility-callout > a { max-width: 100%; }
}
@media (max-width: 900px) {
  .faq { grid-template-columns: 1fr; gap: 1.5rem; }
  .faq h2 { max-width: none; }
}
@media (max-width: 800px) {
  .offergrid, .steps { grid-template-columns: 1fr; gap: 1rem; }
  .offer { padding: 1.5rem; }
  .offer h3 { margin-top: .875rem; }
  .steps { gap: 1.5rem; }
  .step h3 { margin-top: .875rem; }
  .sectionhead { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .sectionhead p { margin-top: 0; max-width: none; }
}
@media (max-width: 700px) {
  .nav { min-height: 4.5rem; gap: 1rem; }
  .navlinks { gap: .5rem; }
  .navlinks > a:not(.button) { display: none; }
  .hero h1 { margin-block: 1.125rem 1rem; }
  .hero .intro { max-width: 32rem; }
  .hero .eyebrow { padding: .5rem .75rem; }
  .hero .fine { max-width: 27rem; }
  .hero .pricing-note { padding: 1rem; }
  .pricing-note strong { font-size: 1.0625rem; }
  .hero .ctarow .button { min-width: min(100%, 16rem); }
  .review-list { grid-template-columns: 1fr; }
  .prohibited-list { columns: 1; }
  .footer { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px)); }
  .footerlinks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: .375rem 1rem; }
  .mobilecta { padding: .75rem max(1rem, env(safe-area-inset-right, 0px)) calc(.75rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px)); }
  body.has-scrolled-hero .mobilecta { display: flex; }
  .mobilecta .button { min-height: 3rem; }
  .nichegrid .lane { display: flex; min-height: 0; }
  .nichegrid .lane h3 { margin: .875rem 0 .5rem; }
  .nichegrid .lane .arrow { margin-top: auto; padding-top: .5rem; }
}
@media (max-width: 540px) {
  .nichegrid { grid-template-columns: 1fr; gap: .875rem; }
  .nichegrid .lane { display: grid; grid-template-columns: minmax(0, 1fr) 1.5rem; gap: .75rem; padding: 1.25rem; }
  .nichegrid .lane .number { grid-column: 1 / -1; }
  .nichegrid .lane h3, .nichegrid .lane p { grid-column: 1; margin: 0; }
  .nichegrid .lane .arrow { grid-column: 2; grid-row: 2 / 4; margin: 0; padding: 0; align-self: center; }
  .eligibility-callout { padding: 1.25rem; }
}
@media (max-width: 360px) {
  .hero .ctarow .button { width: 100%; }
  .hero .eyebrow { border-radius: 1rem; }
  .nav .button.small { padding-inline: .875rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Keep the rate qualification compact and readable beneath the main action. */
.hero .rate-disclaimer {
  max-width: 28rem;
  margin: .875rem auto 0;
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: normal;
  color: #657080;
}
.hero .rate-disclaimer span { display: block; text-wrap: balance; }
