/* Shared by marketing pages, all three knowledge languages and legacy pages. */
:root { --reading-body:18px; --reading-small:16px; --reading-action:17px; }
html:root body { font-size:var(--reading-body); line-height:1.75; }
html:root body main :is(p,li,dd,blockquote),
html:root body .elementor-widget-text-editor,
html:root body .elementor-widget-text-editor :is(p,li,div),
html:root body .entry-content :is(p,li,dd,blockquote) {
  font-size:var(--reading-body)!important; line-height:1.75;
}
html:root body main :is(p,li,dd,blockquote) :is(a,strong,em,b) { font-size:inherit; }
html:root body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size:18px!important; line-height:1.5; min-height:50px; }
html:root body main :is(.eyebrow,.breadcrumb,.condition-note,.brand-disclaimer,.video-status-note,.review-source-note,.faq-search-status,.source-note,.case-story-eyebrow,.case-story-dates,.case-story-timestamp,small,figcaption),
html:root body .site-footer :is(p,a,small),
html:root body .elementor :is(small,.elementor-icon-list-text,.elementor-testimonial-name) {
  font-size:var(--reading-small)!important; line-height:1.65;
}
html:root body main .eyebrow { letter-spacing:.055em; }
html:root body main :is(.article-body,.knowledge-case-article,.case-story-body) { font-size:18px; line-height:1.85; }
html:root body main :is(.article-body,.knowledge-case-article,.case-story-body) :is(p,li,dd) { line-height:1.85; }
html:root body main :is(.case-story-body,.article-body,.knowledge-case-article) h3 { font-size:22px; line-height:1.5; }
html:root body main :is(.accordion-item button,.faq-page-accordion button) { font-size:18px!important; line-height:1.5; }
html:root body main :is(.proof-grid,.services-hero-proof,.reviews-hero-facts,.case-facts-grid) span { font-size:16px!important; line-height:1.6; }
html:root body main .proof-grid span { color:#526675; }
html:root body :is(#breadcrumbs,.ast-breadcrumbs-wrapper,.nav-links) :is(a,span) { font-size:16px!important; line-height:1.65; }
/* Original Elementor widgets use generated IDs for review names and roles. */
html:root body :is(
  .elementor-element-f43c032,.elementor-element-39d2980,.elementor-element-aee1d4a,
  .elementor-element-88ec214,.elementor-element-076cb3a,.elementor-element-24a2def,
  .elementor-element-b7a15d6,.elementor-element-1e6b12f,.elementor-element-f6850aa,
  .elementor-element-5e49bba,.elementor-element-660c214,.elementor-element-eaf0d3d,
  .elementor-element-f73eab6,.elementor-element-880c20c,.elementor-element-ed003e8,
  .elementor-element-7512997,.elementor-element-08b427b,.elementor-element-aa00294,
  .elementor-element-5b7912f,.elementor-element-92e9e58,.elementor-element-7270970f,
  .elementor-element-79fa3f3d,.elementor-element-66b2b382,.elementor-element-5c06bb38,
  .elementor-element-171bad15,.elementor-element-533a9f63,.elementor-element-27c94014,
  .elementor-element-2161183d,.elementor-element-6b404ae4,.elementor-element-036c338,
  .elementor-element-232988d,.elementor-element-08acb78,.elementor-element-8845de4,
  .elementor-element-33b970b,.elementor-element-4802083,.elementor-element-9a4338e,
  .elementor-element-df12d16,.elementor-element-0cd8a81,.elementor-element-2e4b6ab,
  .elementor-element-b8fef07,.elementor-element-16d19ae
) .elementor-heading-title { font-size:18px!important; line-height:1.5; }

/* Standalone actions use the same visible pill shape as the homepage buttons. */
html:root body :is(a.button,button.button,.elementor-button,.ast-custom-button) {
  min-height:50px; height:auto; font-size:var(--reading-action)!important; line-height:1.4;
  white-space:normal; text-align:center; padding:12px 20px; border-radius:999px;
}
html:root body :is(.button-primary,.mobile-sticky a) { border:1px solid #0077df; background:#0077df; color:#fff; }
html:root body :is(.button-secondary,.button-on-dark,.button-dark-outline) {
  border:1.5px solid #0077df!important; background:#fff!important; color:#0868be!important; backdrop-filter:none;
}
html:root body main :is(a.text-link,a.arrow-link,a.light-link,a.card-link,a.knowledge-arrow-link,a.case-story-service-link,.case-story-source>a,.case-video-actions>a,.sifu-author-links>a,.home-video-meta>a,.customer-video-card-copy>a,.contact-detail-list>a,.knowledge-section-head>a,.case-story-cover figcaption>a,a[data-whatsapp]:not(.button)):not(p a):not(nav a):not(.breadcrumb a) {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; width:fit-content; max-width:100%;
  min-height:50px; padding:12px 20px; border:1.5px solid #0077df; border-radius:999px;
  background:#fff; color:#0868be!important; font-size:var(--reading-action)!important; font-weight:650; line-height:1.4;
  text-align:center; text-decoration:none; white-space:normal; box-sizing:border-box;
}
html:root body main :is(a.text-link,a.arrow-link,a.light-link,a.card-link,a.knowledge-arrow-link,a.case-story-service-link):not(p a):not(nav a):hover,
html:root body :is(.button-secondary,.button-on-dark,.button-dark-outline):hover { background:#eaf5ff!important; border-color:#075da9!important; }
html:root body main :is(.button-row,.hero-actions,.contact-google-actions) { gap:12px; flex-wrap:wrap; }
html:root body :is(.home-video-meta,.knowledge-section-head) { flex-wrap:wrap; gap:16px; }
html:root body :is(.knowledge-language-links,.case-language-switch,.case-story-language) a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 13px; border:1px solid #b8cfe0; border-radius:10px; background:#fff; color:#0868be; font-size:16px; }
html:root body :is(.knowledge-language-links,.case-language-switch,.case-story-language) a[aria-current=page] { border-color:#0077df; background:#0077df; color:#fff; }
html:root body .elementor-button { border:1px solid currentColor; }
html:root body .elementor-button :is(span,i) { font-size:inherit!important; }
html:root body :is(a,button,input,select,textarea):focus-visible { outline:3px solid #0879df; outline-offset:4px; }
html:root body .site-footer a { display:inline-block; padding-block:5px; }

/* Allow the larger copy to wrap without clipping fixed-height card layouts. */
html:root body :is(.service-category-card,.process-step,.home-promise-grid li,.proof-grid>div) { height:auto; }
html:root body :is(.button,.text-link,.knowledge-arrow-link,.case-story-service-link) { overflow-wrap:anywhere; }
html:root body :is(.knowledge-search-controls,.case-author-strip,.service-process-assurance) > * { min-width:0; }
html:root body :is(.knowledge-card-copy,.case-journal-card,.google-review-card) { overflow-wrap:anywhere; }
html:root body .site-header { height:auto; }
html:root body .nav-shell { height:auto; min-height:76px; gap:20px; }
html:root body .nav-actions { margin-left:auto; }
html:root body .nav-actions .button { display:inline-flex; }
html:root body .desktop-nav a { font-size:17px; }
html:root body .mobile-menu { top:76px; max-height:calc(100dvh - 76px); }
html:root body .mobile-menu a { font-size:18px; min-height:52px; }
html:root body .hero-heading .button { width:min(100%,240px); }
@media(max-width:1280px) {
  html:root body .desktop-nav,html:root body .nav-actions .desktop-only { display:none; }
  html:root body .menu-toggle { display:block; flex-shrink:0; width:44px; height:48px; }
}
@media(max-width:820px) {
  html:root body .hero.section { width:100%; }
  html:root body :is(.footer-grid,.service-process-flow,.home-promise-grid,.proof-grid) { gap:20px; }
  html:root body .service-highlight { align-items:flex-start; font-size:18px; }
  html:root body .home-promise-grid p { font-size:18px; }
  html:root body .knowledge-header-language { display:none; }
  html:root body :is(.knowledge-case-card,.knowledge-result-card) h3 { line-height:1.4; }
}
@media(max-width:600px) {
  html:root body .nav-shell { gap:12px; }
  html:root body .nav-actions { gap:6px; }
  html:root body .site-header .brand img { width:108px; }
  html:root body .nav-actions .button { padding-inline:12px; }
  html:root body .hero.section { min-height:460px; }
  html:root body .hero-heading { width:48%; padding-block:22px; }
  html:root body .hero-heading .button { padding:10px 8px; }
  html:root body .hero-heading .eyebrow { font-size:16px!important; line-height:1.45; }
  html:root body .hero-mobile-portrait img { height:auto; top:50%; bottom:auto; transform:translateY(-50%); mask-image:linear-gradient(180deg,transparent,#000 6%,#000 96%,transparent); }
  html:root body :is(.home-promise-grid,.proof-grid,.service-process-flow,.case-story-facts,.case-story-flow ol) { grid-template-columns:minmax(0,1fr); }
  html:root body .case-story-flow li + li::before { content:none; }
  html:root body :is(.case-story-language,.case-language-switch,.knowledge-language-links) { flex-wrap:wrap; }
  html:root body .knowledge-search-controls { grid-template-columns:minmax(0,1fr); }
  html:root body .case-author-strip { grid-template-columns:56px minmax(0,1fr); }
  html:root body .case-author-strip>b { display:none; }
  html:root body .faq-topic-nav a { flex-basis:220px; }
  html:root body .contact-hero-card dd { overflow-wrap:anywhere; }
}
@media(max-width:360px) {
  html:root body .site-header .brand img { width:96px; }
  html:root body .nav-shell { gap:8px; }
  html:root body .nav-actions { gap:4px; }
  html:root body .nav-actions .button { font-size:16px!important; padding-inline:10px; }
}
