/* GulfXPrime 8.1: consistent public-site typography, after all legacy sheets. */
:root{--gxp-type-h1:2.625rem;--gxp-type-h2:2rem;--gxp-type-h3:1.375rem;--gxp-type-body:1.0625rem;--gxp-type-small:.9375rem;--gxp-type-font:Arial,"Segoe UI",Tahoma,sans-serif}
body{font-family:var(--gxp-type-font);font-size:var(--gxp-type-body);font-weight:400;line-height:1.7}
/* Important declarations intentionally supersede old component/mobile sizes. */
#main :is(h1,h2,h3,h4,h5,h6,p,li,summary,label,input,textarea,select),.site-footer,.site-header,.site-ribbon{font-family:var(--gxp-type-font)!important}
#main h1{font-size:var(--gxp-type-h1)!important;font-weight:700!important;line-height:1.22!important;letter-spacing:-.025em!important;margin-bottom:22px}
#main h2,.site-footer .footer-cta h2{font-size:var(--gxp-type-h2)!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.018em!important}
#main h3{font-size:var(--gxp-type-h3)!important;font-weight:600!important;line-height:1.4!important;letter-spacing:-.01em!important}
#main :is(h4,h5,h6){font-size:1.125rem!important;font-weight:600!important;line-height:1.45!important;letter-spacing:0!important}
#main :is(h1,h2,h3,h4,h5,h6) :is(a,span,em,strong){font-size:inherit!important;line-height:inherit!important}
#main :is(p,li){font-size:var(--gxp-type-body)!important;line-height:1.75!important;letter-spacing:0!important}
#main :is(.g8-service,.g8-values,.g8-project,.g8-post,.g8-benefits,.g8-process,.g8-faq) p{color:#4b5563}
#main :is(.service-list-card,.hub-card,.insight-list-card,.case-list-card,.search-result-card,.pricing-card-v3,.soft-panel) h2{font-size:var(--gxp-type-h3)!important;line-height:1.4!important}
#main :is(.g8-service,.g8-project,.g8-post) h3{font-size:1.25rem!important}
#main :is(.g8-label,.section-number,.v5-section-label,.mini-label,.g8-hero-foot,.g8-more,.text-link,.v5-text-link,.breadcrumbs,.form-note,.privacy-note,.form-errors,.form-success){font-size:var(--gxp-type-small)!important;line-height:1.6!important;letter-spacing:0!important}
#main :is(small,.g8-project small,.g8-post small,.choice-card small,.service-principle small){font-size:.875rem!important;line-height:1.6!important;letter-spacing:0!important}
#main :is(summary,label,label>span,.choice-card b,.g8-industries a,.g8-solution-links a){font-size:1rem!important;line-height:1.6!important}
#main .consent-check span{font-size:.9375rem!important;line-height:1.6!important}
#main :is(input,textarea,select){font-size:1rem!important;line-height:1.5!important}
.button,.g8-more,.nav-cta{font-family:var(--gxp-type-font)!important;font-size:.9375rem!important;font-weight:600!important;line-height:1.4!important;white-space:normal;height:auto;min-height:46px}
#main .g8-browser-body strong{font-size:2rem;line-height:1.2;letter-spacing:-.02em}
#main .g8-browser-body small,#main .g8-browser-bar span{font-size:.75rem!important;line-height:1.5!important}
#main .g8-browser-body b{font-size:.8125rem;line-height:1.5}
#main .g8-float{font-size:.8125rem;line-height:1.5}
#main .g8-hero-foot{gap:12px 18px}
.g8-hero{padding:64px 0}.g8-section{padding:64px 0}.g8-heading{margin-bottom:48px}.g8-split{gap:48px}
#main .g8-section h2{margin-bottom:20px}
#main .v3-prose{max-width:75ch}
#main .v3-prose :is(p,li){line-height:1.8!important}
/* Light footer needs dark text; old descendant rules used pale dark-theme colors. */
.site-footer{background:#f5f5f8;color:#374151;font-size:1rem;line-height:1.7}
.site-footer .footer-grid p,.site-footer .footer-grid>div:not(.footer-brand-col) a,.site-footer .footer-hours,.site-footer .footer-phone{font-size:1rem!important;line-height:1.75!important;color:#374151!important}
.site-footer .footer-grid h3{font-size:1rem!important;line-height:1.5!important;color:#252d3a!important;font-weight:700;letter-spacing:.025em}
.site-footer .footer-cta h2{color:#252d3a!important}
.site-footer .mini-label{font-size:.9375rem!important;color:#b42332!important;letter-spacing:0}
.site-footer .wordmark-text b{color:#c52e3c!important;font-size:1.25rem!important}
.site-footer .wordmark-text small{color:#4b5563!important;font-size:.75rem!important;letter-spacing:.08em}
.site-footer .footer-hours b{color:#252d3a!important}
.site-footer .footer-bottom :is(p,a),.site-footer .social-row a{font-size:.875rem!important;color:#4b5563!important;line-height:1.7!important}
.site-footer .footer-grid a:hover,.site-footer .footer-bottom a:hover{color:#b42332!important;text-decoration:underline}
.site-footer .footer-cta .button-white{color:white!important;background:#d52f3d}
.site-footer .footer-grid{gap:32px}.site-footer .footer-brand-col{min-width:0}
.site-footer :is(p,a){overflow-wrap:anywhere}
.site-header .main-nav>a,.site-header .nav-trigger{font-size:.9375rem!important;line-height:1.4;font-weight:600}
.site-header .main-nav{gap:4px}.site-header .main-nav>a,.site-header .nav-trigger{padding-inline:7px}
.site-header .nav-language{font-size:.875rem!important}
.site-header .mega-intro h2{font-size:1.375rem;line-height:1.35}
.site-header .mega-intro p,.site-header .mini-menu a,.site-header .mega-links b,.site-header .compact-mega b{font-size:.9375rem;line-height:1.6}
.site-header .mega-links small,.site-header .compact-mega small{font-size:.875rem;line-height:1.55}
.site-ribbon{font-size:.875rem!important;line-height:1.5}
.mobile-actions a{font-size:.875rem!important}
@media(max-width:1100px){:root{--gxp-type-h1:2.375rem;--gxp-type-h2:1.875rem}.g8-split{gap:32px}.ribbon-inner{flex-wrap:wrap;gap:8px;padding-block:8px}.site-header .main-nav>a,.site-header .nav-trigger{font-size:1rem!important}}
@media(max-width:760px){:root{--gxp-type-h1:2rem;--gxp-type-h2:1.625rem;--gxp-type-h3:1.25rem;--gxp-type-body:1rem;--gxp-type-small:.9375rem}.g8-hero,.g8-section{padding:44px 0}.g8-heading{margin-bottom:40px}.g8-split{gap:30px}.g8-hero-foot{row-gap:8px}.g8-values{grid-template-columns:1fr}.site-footer .footer-grid{gap:28px 20px}.site-footer .footer-cta h2{max-width:100%}.g8-actions .button{padding:12px 18px}.g8-hero h1 br{display:none}.g8-hero h1 em:before{content:' '}.site-ribbon .ribbon-inner{align-items:flex-start}.site-ribbon .ribbon-inner>div{flex-wrap:wrap;gap:6px 12px}.g8-art{padding-inline:20px}.g8-float-a{right:4px}.g8-float-b{left:4px;max-width:calc(100% - 8px)}}
@media(max-width:400px){:root{--gxp-type-h1:1.875rem;--gxp-type-h2:1.5rem}#main .g8-browser-body strong{font-size:1.75rem}.g8-art{min-height:440px}.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-grid>div{grid-column:auto}}
