/* Shared by every language, page and scroll container, including dialogs.
   Native scrollbars retain OS accessibility and forced-colour preferences. */
:root { --scroll-thumb:var(--action); --scroll-track:var(--surface); }
html, * { scrollbar-color:var(--scroll-thumb) var(--scroll-track); scrollbar-width:auto; }
::-webkit-scrollbar { width:11px; height:11px; }
::-webkit-scrollbar-track, ::-webkit-scrollbar-corner { background:var(--scroll-track); }
::-webkit-scrollbar-thumb { background:var(--scroll-thumb); border:2px solid var(--scroll-track); border-radius:20px; min-height:32px; }
::-webkit-scrollbar-thumb:hover { background:var(--blueText); }
@media (forced-colors:active) { html, * { scrollbar-color:auto; } }

/* Comfortable, compact leading. Font sizes and touch target sizes are preserved. */
body { line-height:1.4; }
h1,h2,h3 { line-height:1.06; }
p,li,td,th { line-height:1.4; }
.hero { padding-top:44px; }
.hero h1 { margin-bottom:12px; line-height:1.02; }
.hero-description { line-height:1.4; }
.hero-actions { margin-top:18px; margin-bottom:9px; }
.hero-proof { margin-top:18px; }
.hero-bottom { margin-top:28px; padding-block:14px; }
.situations,.solutions,.process,.faq-section { padding-block:48px; }
.eyebrow { margin-bottom:9px; }
.section-heading .eyebrow { margin-bottom:9px; }
.section-heading { margin-bottom:22px; }
.section-heading>p,.section-description { line-height:1.4; }
.section-heading h2 { margin-bottom:10px; }
.situation-detail p { line-height:1.4; }
.situation-detail h3 { margin-bottom:10px; }
.situation-detail { padding:26px 30px; }
.detail-results { margin-block:17px 20px; }
.service-row summary { padding-block:18px; }
.service-title { line-height:1.17; }
.service-content { margin-bottom:18px; }
.service-content p { line-height:1.4; margin-bottom:12px; }
.work { padding:40px; }
.case-copy>p { line-height:1.4; }
.case-outcomes li { line-height:1.4; }
.case-outcome { line-height:1.4; margin-bottom:11px; }
.process-item>span { margin-bottom:12px; }
.process-item h3 { margin-bottom:7px; }
.process-item p { line-height:1.4; }
.process-promise { margin-top:25px; padding:16px 20px; }
.faq-list summary { padding-top:13px; padding-bottom:13px; min-height:44px; line-height:1.3; }
.faq-list p { line-height:1.4; padding-bottom:12px; }
.faq-intro h2 { margin-bottom:12px; }
.faq-intro p { margin-bottom:12px; }
.request-copy h2 { margin-bottom:11px; }
.request-section { padding:44px 40px; }
.request-copy>p { line-height:1.4; }
.request-next { gap:7px; margin-block:14px; }
.request-next p,.consent,.form-data-note { line-height:1.4; }
.direct-contact { padding-top:16px; margin-top:16px; }
.form-heading { margin-bottom:17px; }
.form-data-note { margin-block:10px 8px; }
.consent { margin-bottom:15px; }
.contact-section { padding-block:50px; }
.contact-person .eyebrow { margin-bottom:10px; }
.contact-links { gap:16px; margin-block:16px; }
.contact-extras { gap:18px; }
.art-caption p,.presentation-copy p,.qr-copy p,.footer-copy { line-height:1.35; }
.legal-intro { line-height:1.4; }
.legal-main .legal-intro { line-height:1.4; }
.legal-section { padding-block:24px; }
.legal-section p,.legal-section li { line-height:1.4; margin-bottom:8px; }
.legal-section h2 { margin-bottom:11px; }
.legal-section h3 { margin:15px 0 7px; line-height:1.18; }
.storage-table th,.storage-table td { padding:7px 9px; line-height:1.35; }
.cookie-row { padding-block:11px; }
.cookie-row p { margin-top:4px; line-height:1.4; }
#cookie-dialog>p:not(.cookie-save-status),.cookie-banner p { line-height:1.4; }
#cookie-dialog .cookie-save-status:empty { display:none; }
.cookie-dialog .cookie-actions { margin-top:9px; padding-top:10px; }
.cookie-tables { margin-block:12px; }
.cookie-tables h3 { margin:12px 0 7px; }
.cookie-tables table,.cookie-tables p { line-height:1.35; }
.cookie-tables th,.cookie-tables td { padding:7px 7px; line-height:1.35; }
.channel-hint,.form-note,.privacy-dialog p,.contact-prompt p { line-height:1.4; }
.presentation-copy strong { line-height:1.18; }
.hero-presentation .presentation-copy .tiny-label { line-height:1.3; }
@media(max-width:760px) {
  .hero { padding-top:29px; }
  .hero h1 { margin-bottom:12px; }
  .hero-description { line-height:1.4; }
  .eyebrow { margin-bottom:8px; }
  .section-heading { margin-bottom:18px; }
  .section-heading .eyebrow { margin-bottom:8px; }
  .section-heading>p { margin-top:13px; }
  .situations,.solutions,.process,.faq-section { padding-block:34px; }
  .hero-bottom { margin-top:24px; }
  .legal-section { padding-block:18px; }
  .service-content p { margin-bottom:11px; }
  .service-row summary { padding-block:15px; }
  .situation-detail { padding:22px; }
  .work { padding:25px 22px; }
  .request-section { padding:26px 22px; }
  .contact-section { padding-block:34px; }
  .contact-extras { margin-top:24px; }
  .cookie-tables th,.cookie-tables td { padding:6px 5px; }
}
