/* DINGDAR global design system */
@font-face{font-family:"Montserrat";src:url("assets/fonts/montserrat-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/montserrat-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/montserrat-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/fonts/open-sans-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/fonts/open-sans-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/fonts/open-sans-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/fonts/open-sans-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
:root{--font-body:"Open Sans",Arial,sans-serif;--font-display:"Montserrat",Arial,sans-serif;--text-body:16px;--text-small:13px;--leading-body:1.7;--radius-control:3px;--control-height:46px;--space-section:88px;--space-section-mobile:64px}
body{font-family:var(--font-body)!important;font-size:var(--text-body);line-height:var(--leading-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
p,li,dd,dt,td,th,label,input,select,textarea,button{font-family:var(--font-body)!important}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display)!important;font-weight:700;color:inherit;text-wrap:balance}
h1{letter-spacing:-.035em}h2{letter-spacing:-.025em}h3,h4{letter-spacing:-.01em}
p,li,dd,td{font-size:inherit;letter-spacing:0}

/* Semantic type scale: one hierarchy across all pages */
h1{font-size:clamp(50px,5.2vw,72px)!important;line-height:1.02!important;margin-top:0}
h2{font-size:clamp(32px,3vw,43px)!important;line-height:1.12!important}
h3{font-size:clamp(19px,1.7vw,24px)!important;line-height:1.22!important}
h4{font-size:17px!important;line-height:1.35!important}
h5{font-size:15px!important;line-height:1.45!important}
h6{font-size:14px!important;line-height:1.45!important}
p{line-height:1.72}
.lead,.solutions-lead,.section-intro{font-size:18px!important;line-height:1.65!important}
.eyebrow,.section-kicker,.product-index,.solution-index{font-size:12px!important;line-height:1.4!important;font-weight:700;letter-spacing:.11em}
small,.product-note,.footer-bottom{font-size:12px;line-height:1.55}

/* Compact component titles keep the same hierarchy without overpowering sections */
.info-card h2,.challenge-grid h3,.process-steps h3,.contact-detail-grid h3,
.catalogue-meta h3,.service-strip h3,.feature-grid h3{font-size:20px!important;line-height:1.25!important}
.showcase-card h3,.card h3,.catalogue-card--contact h3{font-size:24px!important;line-height:1.16!important}
.footer-grid h3{font-size:15px!important;line-height:1.35!important}
.footer-cta h2{font-size:38px!important;line-height:1.08!important}
.resource-copy h2{font-size:clamp(30px,2.7vw,39px)!important}
.solution-heading h2{font-size:clamp(34px,3.5vw,49px)!important}
.detail-benefits h2{font-size:21px!important;line-height:1.22!important}
.faq-list summary{font-size:16px;line-height:1.45}
.eyebrow{font-family:var(--font-body);font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.11em}
.btn,button.btn,input[type="submit"]{min-height:var(--control-height);padding:12px 21px;border-radius:var(--radius-control);font-family:var(--font-body);font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.01em;text-transform:none;justify-content:center;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.btn:hover,button.btn:hover,input[type="submit"]:hover{transform:translateY(-1px)}
.btn-blue:hover{background:#1038ad;color:#fff}.btn-dark:hover{background:#263443;color:#fff}.btn-outline:hover{background:#10273e;border-color:#10273e;color:#fff}
input,select,textarea,button{font-family:var(--font-body)}
:focus-visible{outline:3px solid rgba(22,70,200,.28);outline-offset:2px}

/* Global contrast rules for dark industrial panels */
.site-footer,.footer-top,.cta,.stats,.card-dark,.service-strip,.home-cta,
.catalogue-card--contact,.catalogue-inquiry,.quality-band,.resources-cta,
.solutions-cta{color:#fff}
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,
.footer-top h1,.footer-top h2,.footer-top h3,
.cta h1,.cta h2,.cta h3,
.stats h1,.stats h2,.stats h3,
.card-dark h1,.card-dark h2,.card-dark h3,
.service-strip h1,.service-strip h2,.service-strip h3,
.home-cta h1,.home-cta h2,.home-cta h3,
.catalogue-card--contact h1,.catalogue-card--contact h2,.catalogue-card--contact h3,
.catalogue-inquiry h1,.catalogue-inquiry h2,.catalogue-inquiry h3,
.quality-band h1,.quality-band h2,.quality-band h3,
.resources-cta h1,.resources-cta h2,.resources-cta h3,
.solutions-cta h1,.solutions-cta h2,.solutions-cta h3{color:#fff}
.site-footer p,.footer-top p,.cta p,.stats p,.card-dark p,.service-strip p,
.home-cta p,.catalogue-card--contact p,.catalogue-inquiry p,.quality-band p,
.resources-cta p,.solutions-cta p{color:#c7d0d8}
.site-footer a,.footer-top a,.cta a,.card-dark a,.service-strip a,
.home-cta a,.catalogue-card--contact a,.catalogue-inquiry a,.quality-band a,
.resources-cta a,.solutions-cta a{color:#fff}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
@media(max-width:800px){
  body{font-size:15px}
  h1{font-size:44px!important;line-height:1.05!important}
  h2{font-size:29px!important;line-height:1.16!important}
  h3{font-size:20px!important}
  h4{font-size:17px!important}
  .lead,.solutions-lead,.section-intro{font-size:17px!important}
  .eyebrow,.section-kicker,.product-index,.solution-index{font-size:11px!important}
  .info-card h2,.challenge-grid h3,.process-steps h3,.contact-detail-grid h3,
  .catalogue-meta h3,.service-strip h3,.feature-grid h3{font-size:18px!important}
  .showcase-card h3,.card h3,.catalogue-card--contact h3{font-size:22px!important}
  .footer-cta h2{font-size:30px!important}
  .resource-copy h2,.solution-heading h2{font-size:28px!important}
  .detail-benefits h2{font-size:20px!important}
  .btn,button.btn,input[type="submit"]{width:auto;min-height:44px}
}
