/* Shared heading typography, appended last by build.py.
   Wordmark rules remain untouched. Controls retain the DM Sans body font.
   Price units retain their existing explicit DM Sans declarations. */
/* No additional tracking: retain existing heading letter-spacing.
   Explicit descendant rules prevent bold spans/strong from synthesizing weight.
   Repeated :root gives these final overrides priority over pricing selectors. */
:root:root:root :is(h1, h2, h3, h4, h5, h6),
:root:root:root :is(h1, h2, h3, h4, h5, h6) * {
  font-family: Georgia, serif !important;
  font-weight: 400 !important;
}
h1, h2, h3, h4, h5, h6,
.plan-price, .diy-lead, .proof-lead, .proof-lift,
.proof-summary, .pricing-proof-summary,
.vendor-price, .diy-total-bar strong, .faq summary {
  font-family: Georgia, serif !important;
}
button, .button, .eyebrow, label, legend {
  font-family: "DM Sans", sans-serif !important;
}
/* Decorative dark variant on the site's ink headers. The existing wordmark
   font, weight, tracking, line break and gold dot are deliberately inherited. */
header .brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
header .brand-mark {
  display: block;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
}
header .brand-wordmark {
  display: block;
}

/* 2026-09-25 ARJ site design rules (arj-site-design-rules): small text >= 13px,
   form controls >= 16px (no iOS focus zoom), tap targets >= 44px.
   Styling only; no copy, markup or section-order changes. */
:root:root:root :where(.eyebrow, .node-number, .home-anchor span,
  .price-card li, .assembly-outcome span, .assembly-title span, .assembly-node small,
  .story-outputs span, footer a, footer p, #presentation-privacy, .plan-detail,
  .diy-note, .form-note, .form-note a, #pause, .stack-hero figcaption, .stack-hero .layers,
  .guarantee-definition, .vendor-references .source-label, .assembly-hint,
  .contact-form .button, .closing .button, .fee-details-bottom .button) {
  font-size: 13px !important;
}
@media (max-width: 650px) {
  :root:root:root :where(.stack-hero .primary, .stack-hero .secondary, .text-link, .home-anchor strong) { font-size: 13px !important; }
}
:root:root:root :is(input, select, textarea) { font-size: 16px !important; }
:root:root:root :is(header nav a, .trust a, footer a, .text-link, .plan-detail, .stack-hero .secondary, #pause, a.brand) {
  min-height: 44px !important;
  display: inline-flex;
  align-items: center;
}
:root:root:root :is(header summary, .faq summary) { min-height: 44px; padding-block: 11px; box-sizing: border-box; }
:root:root:root .faq details { padding-block: 12px; }
