/* Shared reading sizes and contrast for desktop and smartphone content. */
:root {
  --ink: #1f2937;
  --muted: #334155;
}
body { font-size: 18px; font-weight: 500; }

/* Official resources and payment names use the restored reading scale. */
.footer-support {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 32px;
  margin-bottom: 38px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--line);
}
.footer-support section { min-width: 0; }
.footer-support h2,
.payment-methods h2 { font-size: 21px; line-height: 1.65; color: var(--navy); margin-bottom: 12px; }
.footer-support p,
.payment-methods p { font-size: 16px; line-height: 1.9; color: var(--muted); font-weight: 500; }
.public-resource-links { margin-top: 18px; }
.resource-banner-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 12px; margin-bottom: 14px; }
.public-resource-text-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.public-resource-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 50px;
  padding: 11px 14px;
  border: 1px solid #8b9fb5;
  background: #fff;
  color: var(--navy);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}
.public-resource-links a:hover { background: var(--pale); border-color: var(--navy); }
.public-resource-links a:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.public-resource-links a span { flex-shrink: 0; }
.public-resource-links .resource-banner { justify-content: center; padding: 10px; min-height: 80px; }
.resource-banner img { display: block; width: 100%; max-width: 265px; height: auto; object-fit: contain; }
.payment-card-images { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 18px 0; }
.payment-card-artwork { width: 265px; max-width: 100%; margin: 0; padding: 0; }
.payment-card-artwork img { display: block; width: 100%; height: auto; }
.payment-amex-artwork { width: 80px; flex: 0 0 80px; margin: 0; text-align: center; }
.payment-amex-artwork img { display: block; width: 60px; height: 60px; margin-inline: auto; }
.payment-amex-artwork figcaption { margin-top: 4px; font-size: 13px; color: var(--muted); line-height: 1.6; }
.payment-brands {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 18px 0;
}
.payment-brands li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  min-height: 67px;
  padding: 13px 17px;
  margin: 0;
  border: 1px solid #8b9fb5;
  border-radius: 4px;
  background: #fff;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.5;
}
.payment-brands li span { font-size: 13px; margin-top: 2px; }
#expenses > .payment-methods { margin-top: 30px; padding: 25px; background: var(--pale); border: 1px solid var(--line); }
@media (max-width: 900px) {
  .footer-support { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .footer-support { gap: 28px; margin-bottom: 30px; padding-bottom: 30px; }
  .resource-banner-links,
  .public-resource-text-links { grid-template-columns: 1fr; }
  .public-resource-links a { font-size: 16px; }
  .footer-support h2,
  .payment-methods h2 { font-size: 20px; }
  #expenses > .payment-methods { padding: 20px; }
}

.section-head p,
.hero-intro,
.intro p,
.concern p,
.reason p,
.consultation-panel p,
.service-content > p,
.service-card .detail,
.other-services p,
.plan .context,
.plan .description,
.plan dl,
.pricing-extras > div,
.greeting-text,
.step p,
.landscape-band p,
.faq-answer,
.contact-intro p,
.contact-actions p,
.privacy-body p,
.page-heading p,
.article p,
.article li,
.article .notice p,
.output-list p,
.service-index p,
.plan-result p,
.line-status p,
.line-steps li,
.channel p,
.form-intro,
.company-intro > p,
.branch-card address,
.branch-grid-compact address,
.inbox-message {
  font-size: 17px;
  line-height: 1.95;
  font-weight: 500;
}

.office-row,
.data-table,
.branch-details,
.inbox-details {
  font-size: 16px;
  line-height: 1.9;
}

.small,
.note,
.notice,
.area-box p,
.contact-phone span,
.contact-phone p,
.form-field p,
.form-field label,
.form-check,
.review-panel p,
.form-caption,
.branch-direct,
.data-table caption {
  font-size: 15px;
  line-height: 1.9;
}
.notice { color: #29384a; }
.form-field label small { font-size: 13px; font-weight: 500; }
.form-field input,
.form-field select,
.form-field textarea,
.review-panel textarea { font-size: 16px; }
.form-field input::placeholder,
.form-field textarea::placeholder { color: #526174; opacity: 1; }
.faq-item summary { font-size: 17px; }
.price small { font-size: 14px; }

.contact-intro p,
.contact-actions p,
.contact-phone span,
.contact-phone p { color: #f1f5f9; }
.landscape-band p,
.promise-item span { color: #f1f5f9; }
.promise-item span { font-size: 12px; }
.promise-item strong { font-size: 15px; }

.footer-grid p,
.footer-office { font-size: 14px; }
.footer-grid nav { font-size: 13px; }
.footer-bottom { font-size: 12px; }
.detail-image figcaption,
.office-photos figcaption,
.greeting-visual .photo-caption,
.photo-note { font-size: 13px; }

@media (max-width: 600px) {
  body { font-size: 17px; }
  .section-head p,
  .hero-intro,
  .intro p,
  .concern p,
  .reason p,
  .consultation-panel p,
  .service-content > p,
  .service-card .detail,
  .other-services p,
  .plan .context,
  .plan .description,
  .plan dl,
  .pricing-extras > div,
  .greeting-text,
  .step p,
  .landscape-band p,
  .faq-answer,
  .contact-intro p,
  .contact-actions p,
  .privacy-body p,
  .page-heading p,
  .article p,
  .article li,
  .article .notice p,
  .output-list p,
  .service-index p,
  .plan-result p,
  .line-status p,
  .line-steps li,
  .channel p,
  .form-intro,
  .company-intro > p,
  .branch-card address,
  .branch-grid-compact address,
  .inbox-message { font-size: 16px; }

  .office-row,
  .data-table,
  .branch-details,
  .inbox-details { font-size: 15px; }

  .small,
  .note,
  .notice,
  .area-box p,
  .contact-phone span,
  .contact-phone p,
  .form-field p,
  .form-field label,
  .form-check,
  .review-panel p,
  .form-caption,
  .branch-direct,
  .data-table caption { font-size: 14px; }
  .faq-item summary { font-size: 16px; }
  .promise-item strong { font-size: 13px; }
  .promise-item span { font-size: 11px; }
  .detail-image figcaption,
  .office-photos figcaption,
  .greeting-visual .photo-caption,
  .photo-note { font-size: 12px; }
}

@media print {
  .contact-intro p,
  .contact-actions p,
  .contact-phone span,
  .contact-phone p { color: #1f2937; }
}

/* Emphasize section shortcuts, small item buttons and bullet text. */
.page-jumps { gap: 12px; }
.page-jumps a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 13px 22px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.65;
  color: var(--navy);
  background: #fff;
  border: 2px solid #8b9fb5;
  text-align: center;
}
.page-jumps a:hover {
  color: var(--navy);
  background: #e8eef4;
  border-color: var(--navy);
}
main .btn,
.hero .btn,
.plan .btn,
.service-card .detail .btn,
.sidebar .btn,
.channel .btn,
.branch-card .btn,
.review-actions button {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}
.text-link,
.branch-grid-compact .text-link,
.related-links a,
.sidebar nav a {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}
.related-links a {
  color: var(--navy);
  padding: 11px 17px;
  border-color: #8b9fb5;
}
.service-index .tagline {
  font-size: 15px;
  font-weight: 700;
  color: #253e58;
}
.hero.hero-renewed .hero-tags,
.area-tags span {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}
.article ul > li,
.article ol > li,
.service-card .detail li,
.line-steps li {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.95;
  color: var(--ink);
}
main li::marker {
  font-size: 1.15em;
  font-weight: 700;
  color: var(--navy);
}
.checklist li::before {
  font-size: 20px;
  font-weight: 800;
  color: var(--navy);
}

@media (max-width: 600px) {
  .page-jumps { gap: 10px; }
  .page-jumps a {
    min-height: 52px;
    padding: 12px 16px;
    font-size: 16px;
    flex: 1 1 auto;
  }
  main .btn,
  .hero .btn,
  .plan .btn,
  .service-card .detail .btn,
  .sidebar .btn,
  .channel .btn,
  .branch-card .btn,
  .review-actions button,
  .text-link,
  .branch-grid-compact .text-link,
  .related-links a,
  .sidebar nav a { font-size: 15px; }
  .service-index .tagline { font-size: 14px; }
  .hero.hero-renewed .hero-tags,
  .area-tags span { font-size: 13px; }
  .article ul > li,
  .article ol > li,
  .service-card .detail li,
  .line-steps li { font-size: 17px; }
}

/* Clear answer-first introductions and page-specific supporting navigation. */
.hero.hero-renewed .hero-seo-title {
  position: static;
  width: auto;
  height: auto;
  margin: 0 0 15px;
  padding: 0;
  clip-path: none;
  overflow: visible;
  white-space: normal;
  font-size: 28px;
  line-height: 1.6;
  letter-spacing: .02em;
}
.seo-summary { padding-block: 30px; }
.seo-summary-inner { background: var(--pale); border-left: 4px solid var(--silver); padding: 28px 32px; }
.seo-summary-inner h2,
.seo-faq-section h2,
.seo-related-section h2 { font-size: 26px; margin-bottom: 18px; }
.seo-summary-inner p { font-size: 17px; color: var(--ink); font-weight: 500; line-height: 1.95; }
.seo-takeaways { margin-top: 19px; padding-left: 1.4em; font-size: 18px; line-height: 1.95; color: var(--ink); }
.seo-takeaways li + li { margin-top: 7px; }
.seo-faq-section { padding-block: 32px 45px; }
.seo-related-section { padding-block: 32px 50px; }
.seo-related-links { display: flex; flex-wrap: wrap; gap: 12px; }
.seo-related-links a { display: inline-flex; align-items: center; border: 2px solid #8b9fb5; padding: 12px 18px; min-height: 52px; font-size: 16px; font-weight: 700; color: var(--navy); }
.seo-related-links a:hover { background: var(--pale); }
.seo-shortcuts { padding-top: 12px; }
.seo-shortcuts .page-jumps { margin-bottom: 0; }
@media(max-width:600px) {
  .hero.hero-renewed .hero-seo-title { font-size: 24px; }
  .seo-summary { padding-block: 22px; }
  .seo-summary-inner { padding: 23px 21px; }
  .seo-summary-inner p { font-size: 16px; }
  .seo-takeaways { font-size: 17px; }
  .seo-related-links a { font-size: 15px; }
  .seo-summary-inner h2,
  .seo-faq-section h2,
  .seo-related-section h2 { font-size: 24px; }
  .seo-faq-section { padding-block: 25px 32px; }
  .seo-related-section { padding-block: 25px 35px; }
  .seo-related-links { flex-direction: column; }
  .seo-related-links a { width: 100%; }
}
