@charset "UTF-8";

/* Shared reading sizes. Component sheets use these tokens at every breakpoint. */
:root {
  --text-sm: .875rem;
  --text-base: 1rem;
  --text-lead: 1.125rem;
  --text-card: 1.25rem;
  --muted: #adbbb4;
  --readable-secondary: #a8bdb0;
}
html { font-size: 100%; }
body { font-size: var(--text-base); line-height: 1.7; }
small, sup, sub { font-size: var(--text-sm); }

/* Paragraphs and input values share a comfortable reading size. */
body #main :is(p, .prose, .article-section, .detail-section, .faq-answer) {
  font-size: var(--text-base);
  line-height: 1.75;
}
body #main :is(.lead, .hero-copy > p) { font-size: var(--text-lead); line-height: 1.75; }
body #main :is(.fine-print, .input-help, .form-note, .checkout-private-note p,
  .checkout-policies p, .checkout-qr-caption, .discovery-facts-note,
  .discovery-reviewed, .summary-note p, .auth-privacy p) {
  font-size: var(--text-sm);
  line-height: 1.75;
}
body #main :is(.form-panel, .discovery-billing-tool, .track-form, .checkout-copy-field,
  .checkout-reference-form) :is(input:not([type="radio"]):not([type="checkbox"]), select, textarea) {
  font-size: var(--text-base);
  line-height: 1.6;
}
body #main :is(.form-panel, .discovery-billing-tool) label {
  font-size: var(--text-base);
  line-height: 1.6;
}
body #main :is(input, textarea)::placeholder { color: #9baea2; opacity: 1; }
body #main :is(.button, .plan-cta, .segmented button, .blog-filters button) {
  font-size: var(--text-base);
  line-height: 1.5;
  min-height: 44px;
}
body #main :is(.content-brief h2, .info-card h3, .home-feature h3, .home-step h3,
  .home-project-links strong, .home-resource-grid strong, .discovery-resource-grid strong,
  .home-resource-grid > a > strong) {
  font-size: var(--text-card);
  line-height: 1.4;
}
body #main :is(.access-method-card strong, .checkout-currency-label strong, .spec-list li) {
  font-size: var(--text-base);
  line-height: 1.6;
}
body #main :is(.access-method-card small, .checkout-currency-label small) {
  font-size: var(--text-sm);
  line-height: 1.7;
}
body #main :is(table, .discovery-table-wrap table) { font-size: var(--text-base); line-height: 1.6; }
body #main :is(table th, table caption) { font-size: var(--text-sm); }
body #main table td { font-size: var(--text-base); }
body #main .eyebrow { font-size: var(--text-sm); line-height: 1.65; letter-spacing: .08em; }
body #main .breadcrumbs { font-size: var(--text-sm); opacity: 1; }

/* Quiet colors retain contrast even for secondary notes and pending steps. */
body :is(.footer-column a, .footer-explore a, .footer-bottom, .configuration-nav a > span,
  .toc-index, .checkout-small-badge, .checkout-currency-code, .checkout-rate,
  .payment-last-check, .payment-last-update, .payment-timer-label,
  .payment-fixed-method, .payment-stage-copy small, .payment-timeline > li > small,
  .payment-stage-copy strong, .payment-timeline > li > strong, .crypto-item small) { color: var(--readable-secondary); }
body #main :is(.checkout-shell, .checkout-heading) { --checkout-subtle: var(--readable-secondary); }
body #main :is(.payment-last-update time, .payment-connection p, .payment-deadline small,
  .checkout-field-top > span, .checkout-field-label, .checkout-amount-block > p,
  .checkout-private-note p, .payment-complete p, .checkout-selected-method > .checkout-field-label) {
  color: var(--readable-secondary);
}
body #main [data-stage-state="active"] .payment-stage-copy strong,
body #main [data-stage-state="complete"] .payment-stage-copy strong { color: var(--mint); }

/* Let longer labels wrap instead of shrinking on narrow displays. */
body :is(.eyebrow, .status-label, .pill, .fine-print, .input-help) { overflow-wrap: anywhere; }
body #main :is(.order-summary, .checkout-summary, .plan, .home-feature,
  .discovery-resource-grid > a) { min-width: 0; }
body #main :is(.checkout-details dd, .order-summary dd) { overflow-wrap: anywhere; }
body .announcement { min-height: 36px; height: auto; padding-block: 6px; }
body .nav-wrap nav > a, body .account-link, body .language-picker summary { font-size: var(--text-sm); }
body .nav-actions .button { font-size: var(--text-sm); min-height: 44px; }
body .footer-column a, body .footer-brand p { font-size: var(--text-sm); line-height: 1.75; }

@media(min-width:1051px) and (max-width:1180px) {
  body .nav-wrap { gap: 18px; }
  body .nav-wrap nav { display: none; position: absolute; left: 0; right: 0; top: 82px; margin: 0; padding: 24px 30px; flex-wrap: wrap; background: #0d191efc; border-bottom: 1px solid var(--line); }
  body .nav-wrap nav.open { display: flex; }
  body .menu-toggle { display: block; margin-left: auto; }
}
@media(max-width:900px) {
  body #main .checkout-summary .checkout-policies { grid-column: 1 / -1; }
}

@media(max-width:600px) {
  body #main .payment-timeline { grid-template-columns: minmax(0,1fr); gap: 22px; }
  body #main .payment-timeline > li { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 13px; text-align: left; }
  body #main .payment-timeline > li:not(:last-child)::after { display: none; }
  body #main .payment-stage-marker { margin: 0; }
  body #main .checkout-steps { flex-wrap: wrap; gap: 18px 22px; }
  body #main .checkout-section-top { flex-wrap: wrap; }
  body #main .checkout-currency { min-width: 0; }
}
@media(max-width:360px) {
  body .nav-wrap { padding-inline: 16px; gap: 6px; }
  body .brand { gap: 8px; }
  body .brand img { width: 28px; height: 28px; }
  body .nav-actions { gap: 8px; }
}
@media(max-width:420px) {
  body #main .checkout-summary { grid-template-columns: minmax(0,1fr); }
  body #main .checkout-summary :is(.checkout-summary-identity, .checkout-usd, .checkout-saving) { grid-column: 1 / -1; grid-row: auto; }
  body #main .checkout-summary .checkout-usd { margin-top: 15px; flex-direction: row; align-items: baseline; justify-content: flex-start; gap: 9px; }
  body #main .checkout-summary .checkout-saving { text-align: left; }
}
