/* Sevenstar typography: geometric sans, strong compact headings, readable B2B copy.
   Montserrat is self-hosted under the SIL Open Font License (fonts/OFL-Montserrat.txt). */
@font-face{font-family:Sevenstar Montserrat;src:url('/assets/fonts/montserrat-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--type-family:'Sevenstar Montserrat',Arial,'PingFang SC','Microsoft YaHei',sans-serif;--type-body:16px;--type-small:14px;--type-h1:clamp(30px,3.2vw,48px);--type-h2:clamp(26px,2.6vw,36px);--type-h3:clamp(19px,1.7vw,22px);--type-leading:1.7;--type-heading-leading:1.18;--type-heading-spacing:-.03em}
body{font-family:var(--type-family);font-size:var(--type-body);font-weight:500;line-height:var(--type-leading);letter-spacing:-.015em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--type-family);font-weight:700;line-height:var(--type-heading-leading);letter-spacing:var(--type-heading-spacing);overflow-wrap:break-word}
h1{font-size:var(--type-h1)}h2{font-size:var(--type-h2)}h3{font-size:var(--type-h3)}h4,h5,h6{font-size:18px;line-height:1.4}
button,input,select,textarea,.btn,.whatsapp-panel,.whatsapp-compose input{font-family:var(--type-family)}
strong,b{font-weight:700}
.cms-filterbar,.cms-pagination,.cms-seo-links{font-size:14px;font-weight:600;line-height:1.5}
.cms-seo-intro h1,.cms-seo h1,.cms-article>h1,.cms-contact h1,.company-content h1{font-size:var(--type-h1);font-weight:700;line-height:1.2;letter-spacing:var(--type-heading-spacing)}
.cms-seo-intro h1{max-width:1100px;margin:0 auto 18px;text-wrap:balance}
.cms-seo-intro>p{font-size:17px;line-height:1.6;max-width:1050px;margin:12px auto}
.featured-copy h1,.featured-copy h2{font-family:var(--type-family);font-size:clamp(40px,4.5vw,64px);font-weight:700;line-height:1.08;letter-spacing:-.04em}
.featured-description{font-size:clamp(18px,2vw,24px);font-weight:500;line-height:1.45;letter-spacing:-.025em}
.featured-link,.cms-submit{font-size:16px;font-weight:700;line-height:1.5;letter-spacing:-.02em}
.featured-eyebrow,.home-kicker,.cms-eyebrow{font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.1em}
.home-b2b,.cms-seo,.cms-contact{font-size:var(--type-body);line-height:var(--type-leading)}
.home-b2b h2,.cms-home-products h2,.cms-brief h2,.company-content h2,.cms-seo h2{font-size:var(--type-h2);font-weight:700;line-height:1.2;letter-spacing:var(--type-heading-spacing)}
.home-b2b h3,.cms-seo h3{font-size:var(--type-h3);font-weight:700;line-height:1.35;letter-spacing:-.025em}
.home-section-lead,.cms-lead{font-size:18px;font-weight:500;line-height:1.7}
.home-capabilities p,.home-category-grid p,.home-process p,.cms-evidence p{font-size:16px;line-height:1.7}
.cms-product-grid h3{font-family:var(--type-family);font-size:17px;font-weight:600;line-height:1.45;letter-spacing:-.02em}
.cms-product-intro h1{font-size:clamp(28px,2.7vw,38px);font-weight:700;line-height:1.2;letter-spacing:var(--type-heading-spacing)}
.cms-product-intro p{font-size:16px;line-height:1.7}
.cms-detail-content h2,.cms-spec-table caption{font-family:var(--type-family);font-size:24px;font-weight:700;line-height:1.3;letter-spacing:-.025em}
.cms-spec-summary dt{font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0}
.cms-spec-summary dd{font-size:18px;font-weight:500;line-height:1.5;letter-spacing:-.02em}
.cms-spec-table{font-family:var(--type-family);font-size:15px;line-height:1.65;letter-spacing:-.01em}
.cms-spec-table th{font-weight:600}.cms-spec-table td{font-weight:500}
.cms-purchase-faq summary{font-size:16px;font-weight:600;line-height:1.55}
.cms-source,.cms-date,.cms-news-row p,.cms-news-row time,.contact-note{font-size:14px;line-height:1.6}
.cms-news-row h2,.cms-news-copy h2{font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.35;letter-spacing:-.025em}
.met-editor,.cms-brief .met-editor,.company-content p{font-family:var(--type-family);font-size:16px;line-height:1.8;letter-spacing:-.01em}
.met-editor p,.met-editor li{font-size:inherit;line-height:inherit}
.met-editor p{margin-bottom:1em}.met-editor h2{font-size:var(--type-h2);line-height:1.25}.met-editor h3{font-size:var(--type-h3);line-height:1.35}
.cms-article .met-editor{font-size:18px;font-weight:500;line-height:1.8}
.cms-article .met-editor p,.cms-article .met-editor ul,.cms-article .met-editor ol{max-width:72ch}
.cms-article .met-editor h2{font-size:clamp(24px,2.3vw,32px);margin-top:1.5em}
.cms-article .met-editor h3{font-size:22px;margin-top:1.4em}
.cms-contact label{font-size:14px;font-weight:600;line-height:1.5}.cms-contact input,.cms-contact textarea{font-size:16px;font-weight:400;line-height:1.5}
@media(max-width:767px){
 :root{--type-h1:30px;--type-h2:26px;--type-h3:20px}
 .cms-seo-intro>p,.home-section-lead,.cms-lead{font-size:16px;line-height:1.65}
 .featured-copy h1,.featured-copy h2{font-size:40px}.featured-description{font-size:18px}
 .cms-product-intro h1{font-size:28px}.cms-spec-summary dd{font-size:16px}.cms-spec-summary dt{font-size:12px}
 .cms-detail-content h2,.cms-spec-table caption{font-size:22px}.cms-spec-table{font-size:14px}
 .cms-spec-table th,.cms-spec-table td{padding:12px;min-width:120px}
 .cms-article .met-editor{font-size:16px;line-height:1.8}
 .contact-action{font-size:11px;font-weight:600;letter-spacing:-.015em}
}

/* Reference-matched navigation and footer emphasis. */
.met-nav .nav>li>a{font-family:var(--type-family);font-size:17px;font-weight:700;letter-spacing:-.02em}
.met-nav .dropdown-menu>li>a{font-family:var(--type-family);font-size:17px;font-weight:700;line-height:1.5;letter-spacing:-.02em;color:#59616b;padding:17px 24px;white-space:normal}
.met-nav .dropdown-menu{min-width:260px}
body>footer{font-family:var(--type-family);color:#b5b7bb;font-size:16px;font-weight:500;line-height:1.65;padding:32px 0}
body>footer .cms-seo-links{font-size:20px;font-weight:700;line-height:1.4;letter-spacing:-.02em;gap:18px 28px;padding:20px 28px 30px}
body>footer a{color:#b5b7bb}
body>footer a:hover,body>footer a:focus-visible{color:#fff}
body>footer .container p{font-size:16px;font-weight:500;line-height:1.7;letter-spacing:-.02em;margin-bottom:10px}
@media(max-width:767px){
 .met-nav .nav>li>a,.met-nav .dropdown-menu>li>a{font-size:16px}
 .met-nav .dropdown-menu{min-width:0}
 body>footer .cms-seo-links{font-size:17px;gap:16px 24px;padding:16px 22px 26px}
 body>footer .container p{font-size:14px;line-height:1.75;overflow-wrap:anywhere}
}

/* Text roles stay consistent across landing pages, product details and editorial content. */
.home-b2b,.cms-seo,.cms-contact,.cms-article,.cms-product-intro,.met-editor{color:#303a43}
.cms-product-grid h3{font-size:18px;font-weight:700;line-height:1.4}
.cms-spec-summary dd,.cms-spec-table{font-variant-numeric:lining-nums tabular-nums}
.cms-date,.cms-news-row time,.cms-source{color:#626e79;font-weight:500}
.cms-seo h2,.home-b2b h2,.cms-article>h1,.cms-product-intro h1{text-wrap:balance}
.cms-submit,.cms-contact button,.cms-product-intro .btn{font-size:16px;font-weight:700;line-height:1.5}
.cms-contact input,.cms-contact textarea,.cms-contact select{font-size:16px;font-weight:500;letter-spacing:0}
@media(max-width:767px){
 :root{--type-h1:clamp(26px,6.8vw,30px);--type-h2:clamp(23px,5.8vw,26px)}
 .cms-product-grid h3{font-size:16px}
 .cms-article .met-editor h2{font-size:24px}.cms-article .met-editor h3{font-size:20px}
 .home-b2b,.cms-seo,.cms-contact{line-height:1.75}
 .cms-product-intro h1{font-size:clamp(25px,6.5vw,28px)}
}
