/* Shared type roles and rhythm. TrustPrism retains its own original styles. */
:root{--kp-font:Arial,Helvetica,sans-serif;--kp-type-h1:44px;--kp-type-h2:34px;--kp-type-h3:22px;--kp-type-body:16px;--kp-type-lead:18px;--kp-type-meta:13px;--kp-section-space:32px;--kp-heading-gap:24px;--kp-card-space:24px}
html body{font-family:var(--kp-font);font-size:var(--kp-type-body);line-height:1.65}
html body :is(h1,h2,h3,h4,p,li,dt,dd,label,input,select,textarea,button):not(:where(.ktp-widget *)){font-family:var(--kp-font)!important}
html body h1:not(:where(.ktp-widget *)),html body .kp-hero h1,html body.woocommerce div.product .product_title{font-size:var(--kp-type-h1)!important;font-weight:600!important;line-height:1.15!important;letter-spacing:-1px!important;margin:0 0 16px!important}
html body h2:not(:where(.ktp-widget *)){font-size:var(--kp-type-h2)!important;font-weight:600!important;line-height:1.2!important;letter-spacing:-.7px!important;margin:0 0 16px!important}
html body h3:not(:where(.ktp-widget *)){font-size:var(--kp-type-h3)!important;font-weight:600!important;line-height:1.35!important;letter-spacing:-.25px!important;margin:0 0 12px!important}
html body :is(.kp-section,.kp-catalogue,.kp-reading,.kp-contact-layout,.kp-newsletter,.kp-page-banner,.kp-shop-intro,.woocommerce-Tabs-panel,.woocommerce-product-details__short-description) p:not(:where(.ktp-widget *, .kp-analysis *, .kp-price, .price, .kp-card-formula, .kp-cas, .kp-small, .kp-faq-results, .kp-analysis-note)){font-size:var(--kp-type-body)!important;line-height:1.65!important;font-weight:400;margin-top:0;margin-bottom:16px}
html body :is(.kp-section-heading,.kp-evidence>header,.kp-order-process>header,.kp-faq-centre>header){margin:0 0 var(--kp-heading-gap)!important}
html body :is(.kp-section-heading,.kp-evidence>header,.kp-order-process>header,.kp-faq-centre>header,.kp-page-banner,.kp-shop-intro)>p{font-size:var(--kp-type-lead)!important;line-height:1.6!important;margin:0!important}
html body :is(.kp-section,.kp-catalogue){padding-top:var(--kp-section-space)!important;padding-bottom:var(--kp-section-space)!important}
html body :is(.kp-page-banner,.kp-shop-intro,.kp-contact-layout,.kp-newsletter){padding-top:var(--kp-section-space)!important;padding-bottom:var(--kp-section-space)!important}
html body .kp-reading{padding-top:var(--kp-section-space)!important;padding-bottom:var(--kp-section-space)!important}
html body .kp-reading :is(h2,h3){margin-top:28px!important}
html body .kp-reading>:first-child{margin-top:0!important}
html body .kp-reading>:last-child{margin-bottom:0!important}
html body .kp-reading :is(p,li){line-height:1.75!important}
html body .kp-eyebrow{font-family:var(--kp-font)!important;font-size:12px!important;line-height:1.5!important;font-weight:600!important;letter-spacing:1.6px!important}
html body :is(.kp-small,.kp-faq-results){font-size:var(--kp-type-meta)!important;line-height:1.6!important}
html body .kp-section-heading>.kp-eyebrow{margin-bottom:12px}
html body .kp-journal-grid{gap:24px;margin-bottom:20px}
html body .kp-journal{padding-bottom:24px!important}
html body .kp-journal article h3{margin:12px 0!important}
html body .kp-journal article :is(p,b,small){margin-left:24px;margin-right:24px}
html body .kp-journal article h3{margin-left:24px!important;margin-right:24px!important}
html body .kp-journal article small{display:block;margin-top:22px;font-size:12px;line-height:1.5;letter-spacing:1.2px}
html body .kp-journal article b{display:block;margin-top:18px;margin-bottom:24px;font-size:14px;line-height:1.5}
html body .kp-journal-art{height:150px}
html body .kp-order-process-grid{gap:20px}
html body .kp-order-process-grid>li{padding:var(--kp-card-space)}
html body .kp-order-process-number{font-size:48px;margin-bottom:24px}
html body .kp-order-process-grid h3{font-size:14px!important;line-height:1.5!important;letter-spacing:1px!important;min-height:42px;margin-bottom:14px!important}
html body .kp-order-process-grid .kp-order-process-lead{font-size:var(--kp-type-lead)!important;font-weight:600!important;line-height:1.5!important;min-height:0;margin-bottom:16px}
html body .kp-order-process-grid .kp-order-process-body{margin-bottom:20px}
html body .kp-order-process-grid .kp-order-process-note{font-size:14px!important;font-weight:600!important;line-height:1.6!important;margin-top:auto!important;margin-bottom:0;padding-top:16px}
html body :is(.kp-evidence-panel,.kp-faq-group){padding:24px;margin-top:16px}
html body .kp-evidence-panel{margin-top:0}
html body :is(.kp-evidence summary,.kp-faq-question summary,.kp-faq-item summary){font-size:var(--kp-type-body)!important;line-height:1.6!important;font-weight:600;padding-top:18px;padding-bottom:18px}
html body .kp-faq-search-label{margin-bottom:20px}
html body .kp-faq-topics{margin-bottom:16px}
html body .kp-faq-help{margin-top:24px;padding:24px}
html body .kp-faq-help p{margin-bottom:0!important}
html body .kp-evidence-layout{gap:28px}
html body .kp-evidence details p{margin-bottom:18px}
html body .kp-card h3,html body ul.products li.product h2.woocommerce-loop-product__title{font-size:18px!important;line-height:1.35!important;letter-spacing:-.2px!important}
html body .kp-card h3{margin:10px 0 14px!important;min-height:48px}
html body .kp-card-body{padding:20px}
html body .kp-catalogue-head .kp-section-heading{margin-bottom:24px!important}
html body .kp-catalogue-tools{margin-bottom:20px}
html body .kp-grid{row-gap:24px}
html body .kp-footer{padding-top:36px;padding-bottom:24px}
html body .kp-newsletter{gap:40px}
html body .kp-newsletter h2{font-size:var(--kp-type-h3)!important;line-height:1.35!important}
html body .kp-newsletter p{margin-bottom:0}
html body .kp-contact-layout{gap:40px}
html body .kp-hero{min-height:620px}
html body .kp-hero .e-con-inner{padding-top:48px!important;padding-bottom:48px!important}
html body .kp-hero p{font-size:var(--kp-type-lead)!important;line-height:1.6!important}
html body .kp-hero .elementor-widget-heading{margin-bottom:8px}
/* Full-width CoA feature remains a distinct visual, without a forced empty height. */
html body.home .kp-coa{padding-top:0!important}
html body.home .kp-coa>.kp-section-heading{min-height:0;padding-top:36px;padding-bottom:36px;margin:0 0 24px calc(50% - 50vw)!important}
html body .kp-home-trustprism{padding-top:32px;padding-bottom:8px}
/* Remove only structurally empty shortcode wrappers left by deleted modules. */
html body .kp-flush:has(>.elementor-widget-shortcode>.elementor-widget-container>.elementor-shortcode:empty),html body .kp-flush:has(>.elementor-widget-shortcode>.elementor-shortcode:empty){min-height:0!important;margin-block:0!important;padding-block:0!important}
@media(max-width:1100px){:root{--kp-type-h1:38px;--kp-type-h2:30px;--kp-type-h3:21px}.kp-order-process-grid h3{min-height:0!important}}
@media(max-width:767px){:root{--kp-type-h1:32px;--kp-type-h2:28px;--kp-type-h3:20px;--kp-type-body:15px;--kp-type-lead:16px;--kp-type-meta:12px;--kp-section-space:24px;--kp-heading-gap:20px;--kp-card-space:20px}html body h1:not(:where(.ktp-widget *)),html body .kp-hero h1{letter-spacing:-.7px!important}html body .kp-journal{padding-bottom:20px!important}html body .kp-journal-art{height:120px}html body .kp-journal article :is(p,b,small){margin-left:20px;margin-right:20px}html body .kp-journal article h3{margin-left:20px!important;margin-right:20px!important}html body .kp-journal article b{margin-bottom:20px}html body :is(.kp-evidence-panel,.kp-faq-group,.kp-faq-help){padding:20px 18px}html body .kp-order-process-grid h3{min-height:0!important}html body .kp-card-body{padding:12px}html body .kp-card h3,html body ul.products li.product h2.woocommerce-loop-product__title{font-size:16px!important}html body .kp-hero{min-height:0}html body .kp-hero .e-con-inner{padding-top:36px!important;padding-bottom:36px!important}html body.home .kp-coa>.kp-section-heading{padding-top:28px;padding-bottom:28px}html body .kp-home-trustprism{padding-top:24px}html body .kp-newsletter,html body .kp-contact-layout{gap:24px}html body .kp-footer{padding-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
