/* Shared inner-page layout. Controls never rely on intrinsic flex shrinking. */
body.inner-page{background:#f5f8fc}.inner-page main{min-width:0}.inner-page .standard{width:min(100%,1200px);max-width:1200px;padding:40px 32px;margin:0 auto}.inner-page .standard h1{font-size:40px;line-height:1.15;margin:12px 0 18px}.inner-page .lede{font-size:18px;line-height:1.65;max-width:740px}.inner-page .eyebrow{font-size:11px;letter-spacing:2px}.inner-page .masthead{flex-shrink:0}.inner-page .page-shell{width:100%}.inner-page .masthead .button.outline{color:#0758c5;border-color:#c9d7e8}.inner-page .masthead .button.outline:hover{background:#eef5ff}.inner-page .masthead>.brand-sub{white-space:normal;max-width:220px;line-height:1.35}.inner-page .masthead>.brand{flex-shrink:0}.inner-page .masthead>a:not(.brand){white-space:nowrap}.inner-page footer{flex-shrink:0}.inner-page .category-rail{background:#fff}.inner-page .desk{width:min(100%,1120px);max-width:1120px;padding:36px;margin:32px auto;background:white;border:1px solid #dbe5f0;border-radius:8px}.inner-page .desk h1,.inner-page .auth-box h1{font-size:34px;line-height:1.2;letter-spacing:-.7px;margin-bottom:24px}.inner-page .desk h2{font-size:23px;margin-top:30px}.inner-page .desk .form-grid{gap:22px 28px}.inner-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-page .form-grid label{font-size:14px;color:#203b60;min-width:0}.inner-page .form-grid input,.inner-page .form-grid select,.inner-page .form-grid textarea{border-color:#c8d6e7;border-radius:5px;min-height:46px;color:#12305a;font-size:15px;max-width:100%}.inner-page .form-grid .field-wide,.inner-page .form-grid>fieldset,.inner-page .form-grid>.consent{grid-column:1/-1}.inner-page .form-grid input[type=checkbox]{min-height:0;width:18px;height:18px}.inner-page .auth-box{background:#fff;border:1px solid #dbe5f0;border-radius:8px;padding:32px;width:min(500px,calc(100% - 32px));margin:48px auto}.inner-page .auth-box .form-grid{grid-template-columns:1fr}.inner-page .prose{max-width:880px}.inner-page .prose h2{margin-top:32px;font-size:24px}.inner-page .prose p{color:#4f6684;font-size:16px}.inner-page .detail-heading{align-items:start}.inner-page .detail-image{max-height:480px;border:1px solid #e1e8f1;border-radius:6px;background:#fff}.inner-page .share-links{font-size:13px;gap:14px}.inner-page .compare-grid{border:1px solid #dae4ef;border-radius:6px}.inner-page .compare-grid tr.different td{background:#edf5ff}.inner-page .compare-grid tr.different th{border-color:#0669ff}.inner-page th{background:#eef4fa}.inner-page .admin-nav a.active{color:#fff}.inner-page .admin-main{background:#fff}.inner-page .record-detail dt{background:#eef4fa}
.catalog-page{max-width:1360px;width:100%;padding:26px 36px 48px;margin:0 auto}.catalog-breadcrumb{display:flex;align-items:center;gap:10px;font-size:12px;color:#72839b;margin-bottom:18px;flex-wrap:wrap}.catalog-breadcrumb a{color:#536b8c}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:26px;padding:20px 30px;background:#eef4fb;border:1px solid #dee8f3;border-radius:8px;min-height:208px}.catalog-heading>div{max-width:700px}.catalog-kicker{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#637fa3;margin:0 0 10px}.catalog-heading h1{font:700 40px/1.15 var(--body);letter-spacing:-1px;margin:0 0 12px;color:#062653}.catalog-heading p:not(.catalog-kicker){font-size:15px;line-height:1.65;color:#5d7493;max-width:620px;margin:0 0 16px}.catalog-text-link{display:inline-flex;align-items:center;gap:7px;color:#075ccb;font-size:13px;font-weight:600}.catalog-text-link .icon{width:17px;height:17px}.catalog-heading figure{width:245px;flex-shrink:0;margin:0;text-align:right}.catalog-heading figure img{width:100%;height:148px;object-fit:contain;mix-blend-mode:multiply}.catalog-heading figcaption{font-size:10px;color:#7e90a7;margin-top:4px}.catalog-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;align-items:start}.catalog-workspace.catalog-manufacturers{grid-template-columns:1fr}.catalog-filter-panel{padding:20px;background:#fff;border:1px solid #dce5f0;border-radius:7px}.filter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.filter-heading h2{font-size:16px;margin:0}.filter-heading a{font-size:12px;color:#1264cf}.catalog-filter-panel .search-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0}.catalog-filter-panel .search-form>label{display:block;min-width:0;width:100%}.catalog-filter-panel .search-form .search-input{display:flex;padding:0 10px;gap:8px;border:1px solid #c8d6e7;border-radius:5px;min-height:46px}.catalog-filter-panel .search-input .icon{width:18px;height:18px;opacity:.7}.catalog-filter-panel .search-input input{height:44px;min-width:0;width:100%;font-size:13px;padding:8px 0}.catalog-filter-panel .filter-label{display:block;font-size:12px;font-weight:600;margin-bottom:7px;color:#415b7d}.catalog-filter-panel .search-form select{width:100%;height:43px;border-color:#c8d6e7;border-radius:5px;font-size:13px;padding:0 10px;color:#294967}.catalog-filter-panel .search-form>.button{width:100%;min-width:0;font-size:14px;min-height:44px;padding:10px}.catalog-filter-panel .advanced-filters{width:100%;min-width:0;padding:14px 0 0;border:0;border-top:1px solid #e2eaf3;margin-top:2px;order:1}.catalog-filter-panel .advanced-filters summary{font-size:12px;line-height:1.55;color:#3d587a;white-space:normal}.catalog-filter-panel .advanced-filters .form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.catalog-filter-panel .advanced-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:500}.catalog-filter-panel .advanced-filters input{width:100%;height:40px;border:1px solid #c8d6e7;padding:8px;border-radius:4px;min-width:0}.catalog-filter-panel .advanced-filters p,.filter-help{font-size:11px;line-height:1.6;color:#70829c}.filter-help{margin:18px 0 0;padding-top:16px;border-top:1px solid #e2eaf3}.catalog-content{min-width:0}.catalog-results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 18px;border-bottom:1px solid #dce5f0}.catalog-results-heading h2{font-size:20px;margin:0 0 5px}.catalog-results-heading p{font-size:12px;color:#73869e;margin:0}.catalog-results-heading .button{font-size:12px;min-height:38px;padding:8px 14px}.catalog-results-heading .icon{width:17px;height:17px}.catalog-empty{background:#fff;border:1px solid #dce5f0;border-radius:7px;padding:36px 32px;margin-top:20px}.catalog-empty-icon{width:46px;height:46px;background:#edf4ff;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.catalog-empty-icon .icon{width:23px;height:23px;opacity:.75}.catalog-empty h3{font-size:25px;line-height:1.3;letter-spacing:-.6px;margin:0 0 12px}.catalog-empty p{font-size:14px;line-height:1.8;color:#627997;max-width:610px;margin:0}.catalog-empty-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:24px}.catalog-empty-actions .button{font-size:13px;min-height:43px;padding:10px 15px}.catalog-empty-actions .icon{width:18px;height:18px}.catalog-next{padding:24px 0}.catalog-next h3{font-size:14px;margin:0 0 18px}.catalog-next ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding-left:18px;color:#7386a0;font-size:12px}.catalog-next li{padding-left:4px}.catalog-next strong{display:block;color:#2c486b;font-size:12px;margin-bottom:7px}.catalog-next span{line-height:1.65}.catalog-results article{display:flex;gap:24px;padding:24px;background:#fff;border:1px solid #dce5f0;border-radius:7px;margin-top:18px;align-items:center}.catalog-results article>div{min-width:0}.catalog-results h2{font-size:22px;margin:8px 0}.catalog-results p{font-size:14px;line-height:1.65;color:#627997}.catalog-result-image{width:200px;flex-shrink:0}.catalog-result-image img{width:100%;height:160px;object-fit:contain}.catalog-results .inline-form .button{font-size:12px;padding:7px 12px;min-height:36px}
/* Generic legacy search forms also wrap their advanced filters onto their own row. */
.standard .search-form{display:flex;flex-wrap:wrap;gap:12px;width:100%;margin:24px 0}.standard .search-form .search-input{flex:1 1 300px;min-width:220px}.standard .search-form>label:not(.search-input){flex:1 1 160px;min-width:140px}.standard .search-form>.advanced-filters{flex:0 0 100%;min-width:0}.masthead nav{min-width:0}.masthead{max-width:100%}
@media(max-width:1200px){.masthead nav{display:none;position:absolute;top:60px;left:0;right:0;background:#fff;padding:20px;z-index:20;border-bottom:1px solid #dce5f0;margin:0}.masthead nav.open{display:flex;flex-wrap:wrap;gap:22px}.masthead{height:60px;position:relative}.menu-toggle{display:block;margin-left:auto}.masthead .nav-rfq{margin-left:0}.masthead .factory-nav{border:0;padding-left:0}.catalog-page{padding:24px}.catalog-workspace{grid-template-columns:260px minmax(0,1fr);gap:22px}.catalog-heading figure{width:220px}.catalog-heading h1{font-size:36px}.catalog-heading>div{max-width:580px}.inner-page .masthead>.brand-sub{font-size:9px;max-width:190px}.inner-page .desk{width:calc(100% - 48px)}}
@media(max-width:760px){.catalog-page{padding:20px 16px 32px}.catalog-heading{padding:22px;gap:12px;min-height:0}.catalog-heading figure{width:120px}.catalog-heading figure img{height:105px}.catalog-heading h1{font-size:30px}.catalog-heading p:not(.catalog-kicker){font-size:13px;line-height:1.6}.catalog-kicker{font-size:9px;letter-spacing:1.2px}.catalog-workspace{grid-template-columns:minmax(0,1fr);gap:22px}.catalog-filter-panel{padding:18px}.catalog-filter-panel .search-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-filter-panel .search-input{grid-column:1/-1}.catalog-filter-panel .search-form>.button{align-self:end}.catalog-filter-panel .advanced-filters{grid-column:1/-1}.catalog-filter-panel .advanced-filters .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-help{display:none}.catalog-empty{padding:26px 22px}.catalog-empty h3{font-size:23px}.catalog-next ol{gap:16px}.inner-page .desk{width:calc(100% - 32px);margin:20px auto;padding:24px 20px}.inner-page .desk h1{font-size:29px}.inner-page .form-grid{grid-template-columns:minmax(0,1fr)}.inner-page .standard{padding:28px 20px}.inner-page .standard h1{font-size:32px}.inner-page .masthead>.brand-sub{display:none}.inner-page .masthead{gap:14px;padding-inline:20px;flex-wrap:wrap;height:auto;min-height:60px;padding-block:10px}.inner-page .masthead nav{top:100%}.inner-page .masthead>.brand{font-size:29px}.inner-page .masthead>a:not(.brand){font-size:12px}.inner-page .masthead>.button{padding:7px 10px;min-height:34px}.inner-page .masthead form .button{font-size:12px;padding:6px;min-height:32px}.inner-page footer{height:auto;min-height:62px;flex-wrap:wrap}.catalog-results article{flex-direction:column;align-items:start}.catalog-result-image{width:100%}.catalog-result-image img{height:200px}}
@media(max-width:480px){.catalog-heading{position:relative;padding:22px 18px}.catalog-heading figure{display:none}.catalog-heading h1{font-size:32px}.catalog-heading p:not(.catalog-kicker){max-width:100%}.catalog-results-heading h2{font-size:19px}.catalog-empty-actions{gap:18px;align-items:flex-start;flex-direction:column}.catalog-empty-actions .button{white-space:normal}.catalog-next ol{grid-template-columns:1fr;gap:18px}.catalog-next strong{margin-bottom:4px}.catalog-filter-panel .advanced-filters .form-grid{grid-template-columns:1fr}.inner-page .auth-box{padding:26px 22px}.inner-page .category-links{gap:23px}.inner-page .standard .steps{grid-template-columns:1fr}}
/* Official company catalogue: spacious logos, readable summaries and product links. */
.catalog-manufacturers .catalog-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.catalog-manufacturers .catalog-results article{display:flex;flex-direction:column;align-items:stretch;border:1px solid #dce5ef;border-radius:8px;padding:22px;background:#fff;min-width:0}
.catalog-manufacturers .catalog-results article>div{display:flex;flex-direction:column;flex:1}
.catalog-manufacturers .catalog-results article h2{font-size:21px;line-height:1.35;margin:8px 0 12px}
.catalog-manufacturers .catalog-results article p{font-size:14px;line-height:1.7}
.catalog-manufacturers .catalog-results article .button{margin-top:auto;align-self:flex-start}
.manufacturer-logo{height:115px;display:flex;align-items:center;justify-content:center;background:#f6f8fb;border-radius:5px;margin-bottom:18px;padding:15px}
.manufacturer-logo img{max-width:100%;width:220px;height:85px;object-fit:contain}
.manufacturer-logo.logo-dark{background:#12345c}
.factory-detail .detail-image{height:160px;object-fit:contain;padding:25px;background:#e9eef4;border:1px solid #dce5ef}
.factory-product{display:grid;grid-template-columns:320px 1fr;gap:30px;border:1px solid #dce5ef;padding:24px;border-radius:8px;margin:24px 0}
.factory-product img{width:100%;height:240px;object-fit:contain;background:#fff}
.factory-product h3{font-size:25px}
@media(max-width:1100px){.catalog-manufacturers .catalog-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.catalog-manufacturers .catalog-results{grid-template-columns:1fr}.factory-product{grid-template-columns:1fr;padding:18px}.factory-detail .detail-image{height:125px}.catalog-manufacturers .catalog-results article h2{font-size:20px}}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.guide-card{overflow:hidden;border:1px solid #dce5ef;border-radius:8px;background:white}.guide-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.guide-card>div{padding:24px}.guide-card h2{font-size:23px;line-height:1.3;margin:0 0 14px}.guide-card p{font-size:15px;line-height:1.7}.article-toc,.editorial-note{background:#f1f5fa;padding:24px;margin:32px 0;border-left:3px solid #0866ff}.article-toc li{margin:9px 0}.prose figure{margin:24px 0}.prose figcaption,.article-byline{font-size:14px;color:#60748c}.editorial-sources a{overflow-wrap:anywhere}.prose section{scroll-margin-top:24px}.prose section p{line-height:1.85}.editorial-note h2{font-size:22px}.guide-grid a{color:#0b3f80}@media(max-width:900px){.guide-grid{grid-template-columns:1fr}.guide-card{display:grid;grid-template-columns:1fr 1.3fr}}@media(max-width:600px){.guide-card{display:block}.article-toc,.editorial-note{padding:18px}}
.catalog-selection-guide{max-width:1288px;margin:24px auto 40px;padding:24px 30px;background:#fff;border:1px solid #dce5ef;border-radius:8px}.catalog-selection-guide h2{font-size:23px}.catalog-selection-guide p{max-width:80ch;line-height:1.8}.editorial-note table{background:#fff}
/* Keep manufacturer result headings and long company names within narrow screens. */
.catalog-workspace.catalog-manufacturers{grid-template-columns:minmax(0,1fr)}
.catalog-manufacturers .catalog-results article>div{min-width:0;overflow-wrap:anywhere}
.catalog-results-heading{flex-wrap:wrap}
@media(max-width:650px){.catalog-results-heading{align-items:flex-start}.catalog-results-heading .button{max-width:100%;white-space:normal}}

/* 2026-11-04 launch prep: WCAG AA contrast for secondary text and links (colours only, layout unchanged). */
body .brand-sub,body .footer-tag,body .catalog-kicker,body .catalog-heading>div>p,body .catalog-results-heading>div>p,body .catalog-heading figcaption,body .catalog-results article>div>.catalog-kicker,body .catalog-results article>div>p,body .blue-filters select,body #home-rfq-category,body span[aria-current="page"],body .filter-help,body .blue-intro>.eyebrow,body .blue-section-heading>div>p{color:#4a6283}
.button.outline,a[rel="next"],a[rel="prev"]{color:#0057d9}
.pg-crumb a,a[rel="author"],main p a,main li a{text-decoration:underline;text-underline-offset:2px}
body .catalog-heading>div>p{color:#4a6283!important}
@media (max-width:1024px){header.masthead .button,header.masthead a{min-height:44px;display:inline-flex;align-items:center}}
/* 2026-11-05 CivilEquip logo and contact line. */
.brand-logo{display:block;height:30px;width:auto}
footer .brand-logo{height:24px}
@media (max-width:760px){.masthead .brand-logo{height:26px}}
body .footer-tag{text-transform:none;letter-spacing:0;font-size:13px}
.form-help{font-size:14px;color:#4a6283;margin:8px 0 0}
/* 2026-11-05 navigation drawer (phones and tablets, <=1200px); desktop header unchanged. */
.drawer-head,.drawer-extra{display:none}
@media (max-width:1200px){
 body .masthead nav,body .masthead nav.open{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(86vw,360px);max-width:none;margin:0;padding:0 0 20px;background:#fff;border:0;box-shadow:-8px 0 24px rgba(0,23,61,.18);z-index:1001;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;overflow-y:auto;transform:translateX(105%);visibility:hidden;transition:transform .2s ease,visibility .2s;font-size:16px;white-space:normal}
 body .masthead nav.open{transform:none;visibility:visible}
 .masthead nav .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 20px;border-bottom:1px solid #e1e8f1;font-weight:700;color:#00173d;min-height:60px}
 .masthead nav .drawer-close{width:44px;height:44px;border:1px solid #d5dfeb;border-radius:6px;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
 .masthead nav>a,.masthead nav .drawer-extra>a:not(.button),.masthead nav .nav-categories>summary{display:flex;align-items:center;min-height:48px;padding:0 20px;border-bottom:1px solid #eef2f7;color:#00173d;font-weight:500}
 .masthead nav .nav-categories>div{position:static;box-shadow:none;padding:0 0 6px;min-width:0;background:#fff}
 .masthead nav .nav-categories>div a{padding:12px 20px 12px 36px;font-size:15px;color:#33496b}
 .masthead nav .nav-rfq{display:none}
 .masthead nav .factory-nav{border:0;padding-left:20px;font-size:16px}
 .masthead nav .drawer-extra{display:block}
 .masthead nav .drawer-cta{display:flex;justify-content:center;gap:8px;margin:18px 20px 0;min-height:48px}
 .masthead .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;border:1px solid #d5e0ed;border-radius:6px;background:#fff}
 .nav-backdrop{position:fixed;inset:0;background:rgba(0,23,61,.45);z-index:1000;display:none}
 .nav-backdrop.open{display:block}
 body.nav-locked{overflow:hidden}
 .inner-page .masthead{flex-wrap:nowrap;height:60px;min-height:0;padding-block:0}
}
@media (prefers-reduced-motion:reduce){body .masthead nav{transition:none}}
footer nav{flex-wrap:wrap;row-gap:10px}
body .chinese-shell .lede,body .lede{color:#33496b}
