/* Shared readability and interaction refinements; circuit motion stays on dark surfaces. */
:root {
  --reading-ink: #535862;
  --focus-ring: #a64a05;
}
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: #ffe0bc; color: #24262c; }
:where(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 4px;
}
:where(a, button, summary) { touch-action: manipulation; }
.site-header { box-shadow: 0 8px 30px #1c1e2505; }
#navigation > a, .nav-dropdown > summary { min-height: 46px; font-size: 14px; }
.mega-services strong { font-size: 15px; }
.mega-services small, .mega-links small { font-size: 12px; line-height: 1.65; }
.mega-services a > span:nth-child(2) { min-width: 0; }
.mega-intro p { font-size: 14px; }
.mega-intro > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.hero-copy > p { font-size: 17px; line-height: 1.85; max-width: 56ch; }
.hero-note strong { font-size: 14px; }
.hero-note div > span { font-size: 12px; }
.hero-secondary { min-height: 44px; font-size: 14px; }
.pill-label { font-size: 11px; }
.visual-label small { font-size: 10px; letter-spacing: 1px; }
.technology-bar { gap: 16px; }
.technology-bar > span { font-size: 11px; }
.technology-bar strong { font-size: 14px; }
.technology-bar > b { padding: 8px 12px; border: 1px solid #e4e5e8; border-radius: 10px; background: #fafafa; font-size: 15px; color: #535862; }
.section-heading > p, .section-heading.centered > p { font-size: 17px; line-height: 1.8; max-width: 62ch; }
:is(.service-card, .content-card, .value-grid article, .process-grid article, .notice-card, .accent-panel, .sidebar-help, .phase-details article) p,
:is(.content-card, .accent-panel) li {
  font-size: 16px;
  line-height: 1.8;
  color: var(--reading-ink);
}
.service-card p { min-height: 0; }
.service-card h3 { line-height: 1.35; }
.service-card .card-link { min-height: 44px; font-size: 14px; }
.content-card .eyebrow, .article-card-body > .eyebrow { font-size: 11px; line-height: 1.6; }
.text-link { min-height: 44px; align-items: center; font-size: 14px; }
.page-hero > p { font-size: 17px; line-height: 1.85; max-width: 72ch; }
.page-breadcrumb { font-size: 13px; }
.page-breadcrumb a { display: inline-flex; align-items: center; min-height: 36px; }
.pills a { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
.faqs summary, .faq-page .faqs summary { min-height: 64px; font-size: 16px; line-height: 1.5; }
.faqs p, .faq-page .faqs p { font-size: 16px; line-height: 1.8; color: var(--reading-ink); }
.contact-panel { background-color: #f7f7f8; box-shadow: 0 16px 44px #1c1e2505; }
.contact-panel > p, .form-note, .consent, #form-status { font-size: 14px; line-height: 1.7; }
label { font-size: 14px; margin-bottom: 22px; }
input, textarea, select, input[type=file], .contact-panel input[type=file] { font-size: 16px; min-height: 48px; }
.consent { min-height: 44px; align-items: flex-start; padding-block: 8px; }
.consent input[type=checkbox] { min-height: 20px; width: 20px; height: 20px; flex-basis: 20px; }
.service-sidebar > a, .article-toc > a { font-size: 14px; min-height: 44px; }
.article-body p, .prose p { font-size: 17px; line-height: 1.9; color: var(--reading-ink); }
.footer-grid > div > a { min-height: 36px; display: flex; align-items: center; font-size: 14px; }
.footer-grid > div > a.brand { display: inline-flex; width: fit-content; max-width: 100%; }
.footer-bottom { font-size: 13px; }
.footer-bottom a { min-height: 36px; display: inline-flex; align-items: center; }
.circuit-motion-toggle, .mega-intro .circuit-motion-toggle {
  min-height: 44px; padding: 10px 14px; font-size: 12px; gap: 9px;
}
.circuit-motion-toggle svg { width: 16px; height: 16px; }
@media (max-width: 1000px) {
  #navigation { overscroll-behavior: contain; }
  #navigation > a, .nav-dropdown > summary { min-height: 48px; font-size: 16px; }
  .mega-services strong { font-size: 14px; }
  .mega-services small, .mega-links small { font-size: 12px; }
}
@media (max-width: 900px) {
  .hero-split { grid-template-columns: 1fr; gap: 48px; padding-block: 48px 84px; }
  .hero-copy h1 { max-width: 680px; font-size: clamp(36px, 6vw, 52px); }
  .hero-visual { width: 100%; max-width: 620px; margin-inline: auto; }
  .hero-photo { height: 360px; }
  .hero-actions { flex-direction: row; flex-wrap: wrap; align-items: center; }
}
@media (max-width: 760px) {
  .hero-copy > p, .page-hero > p { font-size: 16px; }
  .hero-note { padding-bottom: 4px; }
  .hero-note div > span { font-size: 11px; }
  .hero-copy .pill-label { font-size: 10px; letter-spacing: .4px; }
  .section-heading > p, .section-heading.centered > p { font-size: 16px; }
  .technology-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .technology-bar > b { font-size: 14px; text-align: center; letter-spacing: 0; }
  .service-card { padding-inline: 26px; }
  .page-breadcrumb { font-size: 12px; padding-block: 12px; }
  .pills { gap: 8px; }
  .contact-panel { padding: 24px; }
  .circuit-motion-toggle { bottom: 12px; right: 16px; }
}
@media (max-width: 480px) {
  .hero-copy h1 { font-size: clamp(32px, 9vw, 40px); letter-spacing: -1px; }
  .hero-actions { gap: 14px; }
  .hero-actions .button { padding: 9px 10px 9px 20px; font-size: 14px; }
  .hero-secondary { font-size: 14px; }
  .hero-copy .pill-label { max-width: 100%; font-size: 9px; }
  .visual-label small { font-size: 9px; }
  .service-card h3 { font-size: 23px; }
}
