/* Reading hierarchy. Reuses the licensed, self-hosted Inter variable font. */
:root {
  --type-display: 700;
  --type-heading: 650;
  --type-action: 600;
}
body { font-kerning: normal; }
.hero h1 { font-weight: var(--type-display); line-height: 1.06; }
.hero-lead { max-width: 560px; font-size: 17px; line-height: 1.65; color: #bdccd0; text-wrap: pretty; }
.hero-advantages { grid-template-columns: minmax(0,1fr) minmax(0,1fr) max-content; }
.hero-advantages > div { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr; align-items: start; align-content: start; justify-content: stretch; }
.hero-advantages > div:last-child { padding-right: 0; }
.hero-advantages dd { grid-row: 1; }
.hero-advantages dt { grid-row: 2; }
.hero-advantages dd { font-weight: 550; letter-spacing: -.025em; }
.hero-advantages dt { font-size: 12px; line-height: 1.5; }
.hero-cta, .card-cta, .nav-cta { font-weight: var(--type-action); letter-spacing: -.015em; }
.hero-tour { font-size: 14px; }
.hero-offer { font-size: 13px; }
.hero-offer button { font-size: 12px; }
.simulation-note { font-size: 11px; line-height: 1.6; }
.works .section-heading h2, .challenge-heading h2,
.case-copy h2, .questions-intro h2 { font-weight: var(--type-heading); line-height: 1.1; letter-spacing: -.035em; }
.closing h2 { font-weight: var(--type-display); line-height: 1.04; letter-spacing: -.035em; }
.work-copy h3 { font-size: 16px; font-weight: var(--type-action); line-height: 1.35; }
.work-copy p { font-size: 13px; line-height: 1.6; color: #acbfc5; }
.challenge-heading p:not(.eyebrow) { font-size: 16px; line-height: 1.65; }
.challenge fieldset legend { font-size: 13px; }
.step-toggle button > span:not(.plan-top) { font-size: 13px; line-height: 1.5; }
.step-toggle small { font-size: 12px; line-height: 1.5; }
.selection-context p { font-size: 13px; line-height: 1.65; }
.pricing-card-header small { font: 550 10px/1.4 var(--sans); letter-spacing: .11em; }
.pricing-card-header h3 { font-weight: 600; letter-spacing: -.035em; }
.card-price strong { font-weight: 600; letter-spacing: -.035em; }
.card-plan, .card-price > span, .card-price small { font-size: 12px; line-height: 1.55; }
.card-rules { gap: 11px; }
.card-rules > div { font-size: 13px; line-height: 1.55; }
.card-rules span { color: #b4c4ca; }
.card-rules b { font-weight: 550; }
.card-price strong, .card-price s, .card-rules b, .size-tabs,
.hero-advantages dd, .receipt-amount, .receipt-total dd, .sticky-summary strong {
  font-variant-numeric: lining-nums tabular-nums;
}
.card-cta { font-size: 14px; }
.checkout-next { font-size: 11px; line-height: 1.6; }
.pricing-card-footer { flex-wrap: wrap; row-gap: 4px; }
.pricing-card-footer b { font-size: 12px; }
.pricing-card-footer span { font-size: 10px; line-height: 1.5; }
.case-copy > p:not(.eyebrow), .questions-intro > p:not(.eyebrow) { font-size: 15px; line-height: 1.7; }
.journey-timeline b { font-size: 14px; }
.journey-timeline p { font-size: 13px; line-height: 1.6; }
.payout-service strong { font-size: 14px; }
.payout-service small, .case-disclaimer { font-size: 12px; line-height: 1.65; }
.faq-list summary { font-size: 16px; line-height: 1.5; font-weight: 550; }
.faq-list p { font-size: 15px; line-height: 1.75; color: #b3c3c9; }
.footer-grid p { font-size: 12px; line-height: 1.8; }

@media (min-width:761px) and (max-width:1300px) {
  .hero-lead { font-size: 15px; }
  .hero-advantages dt { font-size: 11px; }
  .hero-tour { font-size: 12px; }
  .work-copy h3 { font-size: 14px; }
  .work-copy p { font-size: 12px; }
  .card-rules > div { font-size: 12px; }
}
@media (min-width:761px) and (max-width:900px) {
  .hero-lead { font-size: 13px; }
  .hero-advantages dt { font-size: 10px; }
  .hero-offer { font-size: 12px; }
  .simulation-note { font-size: 10px; }
  .work-copy h3 { font-size: 13px; }
  .work-copy p { font-size: 11px; }
  .card-rules > div { font-size: 11px; }
  .card-cta { font-size: 12px; }
  .step-toggle button > span:not(.plan-top), .step-toggle small { font-size: 11px; }
}
@media (min-width:1640px) {
  .card-rules > div { font-size: 12px; }
  .card-cta { font-size: 13px; }
  .checkout-next { font-size: 10px; }
}
@media (max-width:760px) {
  .hero-lead { font-size: 14px; line-height: 1.6; }
  .hero-advantages dt { font-size: 10px; }
  .hero-offer { font-size: 12px; }
  .hero-offer button { font-size: 11px; }
  .simulation-note { font-size: 10px; line-height: 1.6; }
  .work-copy h3 { font-size: 14px; }
  .work-copy p { font-size: 12px; line-height: 1.55; }
  .challenge-heading p:not(.eyebrow) { font-size: 14px; }
  .challenge fieldset legend { font-size: 12px; }
  .step-toggle button > span:not(.plan-top), .step-toggle small { font-size: 12px; }
  .size-tabs strong { font-size: 17px; font-weight: 600; }
  .size-tabs small { font-size: 12px; }
  .card-rules > div { font-size: 13px; }
  .case-copy > p:not(.eyebrow), .questions-intro > p:not(.eyebrow) { font-size: 14px; }
  .faq-list summary { font-size: 15px; }
  .faq-list p { font-size: 14px; }
}
@media (max-width:389px) {
  .hero-advantages dd { font-size: 18px; }
}
@media (max-width:359px) {
  .hero-lead { font-size: 13px; }
  .hero-advantages dd { font-size: 17px; }
  .hero-advantages > div:first-child { padding-right: 4px; }
  .hero-advantages dt { font-size: 9px; }
  .hero-offer { font-size: 11px; gap: 6px; }
  .hero-offer button { font-size: 10px; }
  .work-copy h3 { font-size: 13px; }
  .work-copy p { font-size: 11px; }
  .step-toggle button > span:not(.plan-top), .step-toggle small { font-size: 11px; }
  .card-rules > div { font-size: 12px; }
}
