/* Site-wide type system: one heading font, one body font, one size scale */
   :root{--rx-head:'Space Grotesk',sans-serif;--rx-body:'Kanit',sans-serif;}
   body :is(h1,h2,h3,h4,h5,h6):not(.tp-offcanvas-area *){font-family:var(--rx-head) !important;font-weight:700;letter-spacing:-.01em;}
   body :is(p,li,label,input,textarea,select,summary,blockquote):not(.tp-offcanvas-area *){font-family:var(--rx-body) !important;}
   body h1:not(.rx-keep){font-size:clamp(32px,3.6vw,52px) !important;line-height:1.12 !important;}
   body h2:not(.rx-keep):not(.accordion-header):not(.tp-offcanvas-area *){font-size:clamp(26px,2.9vw,42px) !important;line-height:1.15 !important;}
   body h3:not(.rx-keep):not(.tp-hero-ai-title):not(.tp-offcanvas-area *):not(.tp-megamenu-title){font-size:clamp(19px,1.7vw,24px) !important;line-height:1.3 !important;}
   body h4:not(.rx-keep):not(.tp-megamenu-title):not(.tp-offcanvas-area *){font-size:clamp(16px,1.3vw,19px);}
   body section p,body .tp-service-details-area p,body .ix-hero p,body .sx p{font-size:clamp(16px,1.15vw,18px);line-height:1.65;}
   body .ix-hero p.ix-sub,body .sx-hero .lead{font-size:clamp(17px,1.4vw,20px) !important;}
   .tp-process-area .tp-awards-bg-shape{opacity:.28 !important;}
   /* readable text inside dark FAQ sections */
   .ix-faq .tp-faq-details-para,.ix-faq .tp-faq-details-para *,.tp-faq-area.tp-bg-common-black-5 .tp-faq-details-para *,.sx-faq .a *{color:#dbe4f2 !important;}
   .ix-faq .tp-faq-details-para strong,.ix-faq .tp-faq-details-para b,.ix-faq .tp-faq-details-para .text-black,.tp-faq-area.tp-bg-common-black-5 .tp-faq-details-para strong,.sx-faq .a strong,.sx-faq .a b,.sx-faq .a a{color:#fff !important;}
   /* outcome sections: larger, readable intro text beside the stat pills */
   .tp-portfolio-outcome-content{margin-right:30px !important;}
   .tp-portfolio-outcome-content p{font-size:clamp(20px,1.7vw,26px) !important;line-height:1.6 !important;font-weight:400 !important;color:#333 !important;}
