:root{
  --brand-primary:#071d4b;--brand-accent:#00a9c8;--brand-secondary:#6437d6;
  --ink:#0f2740;--muted:#607083;--line:#d9e2ea;--soft:#f5f8fb;--white:#fff;
  --max:1280px;--radius:8px;--shadow:0 14px 36px rgba(7,29,75,.08)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:0 auto}.narrow{max-width:920px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:206px;height:auto}.site-nav{display:flex;align-items:center;gap:26px}.site-nav a{font-size:14px;font-weight:700;letter-spacing:.02em;color:#354c63;padding:30px 0 25px;border-bottom:3px solid transparent}.site-nav a:hover,.site-nav a.active{color:var(--brand-primary);border-bottom-color:var(--brand-accent)}.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:4px;padding:8px 12px;font-weight:700}.hero{background:radial-gradient(circle at 78% 12%,rgba(0,169,200,.22),transparent 34%),linear-gradient(130deg,#06183d 0%,#082558 52%,#102c66 100%);color:#fff;padding:64px 0 60px}.hero-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);align-items:center;gap:50px}.hero-copy{max-width:820px}.eyebrow{margin:0 0 11px;color:var(--brand-accent);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.hero h1{font-size:clamp(36px,3vw,46px);line-height:1.04;letter-spacing:-.045em;margin:0 0 14px}.product-detail-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:-.045em;margin:0 0 14px}.hero-subtitle{font-size:clamp(17px,1.25vw,20px);font-weight:600;line-height:1.28;margin:0 0 18px;color:#ecf7fb}.hero-body{font-size:16px;color:#c7d7e6;max-width:720px}.hero-body p{margin:0 0 14px}.hero-visual{width:86%;justify-self:end;border:1px solid rgba(255,255,255,.18);padding:14px;background:rgba(255,255,255,.06);box-shadow:0 22px 60px rgba(0,0,0,.18)}.hero-visual img{width:100%;aspect-ratio:4/3;object-fit:cover}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.button{appearance:none;border:1px solid transparent;border-radius:4px;padding:11px 17px;font-size:13px;font-weight:800;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s ease}.button.primary{background:#007c99;border-color:#007c99;color:#fff}.button.primary:hover{background:#00647d;border-color:#00647d;filter:none;transform:translateY(-1px)}.button.primary:active{background:#00566b;border-color:#00566b;transform:translateY(0)}.button.primary:focus-visible{outline:3px solid rgba(0,124,153,.28);outline-offset:2px}.button.secondary{background:#fff;color:var(--brand-primary)}.button.outline{background:#fff;border-color:#b9c8d5;color:var(--brand-primary)}.section{padding:68px 0}.theme-white{background:#fff}.theme-soft{background:var(--soft)}.theme-line{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.theme-dark{background:#071a3d;color:#fff}.section-heading{max-width:900px;margin-bottom:28px}.section-heading h2,.cta-panel h2,.product-information-grid h2,.narrow h2{font-size:clamp(27px,2vw,32px);line-height:1.16;letter-spacing:-.03em;margin:0 0 12px}.section-heading>p:last-child{font-size:16px;color:var(--muted);margin:0}.theme-dark .section-heading>p:last-child,.theme-dark .content-card p{color:#c5d3e0}.card-grid{display:grid;gap:18px}.card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.content-card{background:#fff;border:1px solid var(--line);padding:24px;box-shadow:0 8px 24px rgba(10,36,67,.04);min-width:0}.content-card:hover{box-shadow:var(--shadow);border-color:#b8d2df}.theme-dark .content-card{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13)}.content-card h3,.category-card h3,.product-card h3,.stacked-block h3,.contact-details h3{font-size:19px;line-height:1.25;margin:0 0 10px}.card-kicker{margin:0 0 7px;color:#168da8;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.card-body p,.content-card p{color:var(--muted)}.card-body ul,.rich-copy ul,.stacked-block ul,.category-specs ul{padding-left:18px;margin:12px 0 0}.card-body li,.rich-copy li,.stacked-block li,.category-specs li{margin:6px 0}.card-image{width:100%;height:145px;object-fit:cover;margin:-24px -24px 20px;width:calc(100% + 48px);max-width:none}.metric-list{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.metric-list span{border:1px solid #c9dae4;background:#f4fbfd;padding:5px 8px;font-size:12px;font-weight:700}.text-link{display:inline-flex;gap:7px;align-items:center;color:#087e9a;font-weight:800;font-size:13px;margin-top:15px}.text-link:hover{color:var(--brand-secondary)}.detail-list{border-top:1px solid var(--line);margin:18px 0 0}.detail-list div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-list dt{font-weight:800}.detail-list dd{margin:0;color:var(--muted)}.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.split-copy>p:first-child{margin-top:0}.split-media{width:86%;justify-self:center;border:1px solid var(--line);padding:12px;background:#fff}.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover}.table-wrap{overflow:auto;border:1px solid var(--line);background:#fff}.content-table{border-collapse:collapse;width:100%;min-width:700px}.content-table th{background:#0b244f;color:#fff;text-align:left;padding:14px 16px;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.content-table td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top}.content-table td p{margin:0}.content-table td ul{margin:0;padding-left:18px}.process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.process-step{border-top:3px solid var(--brand-accent);background:#fff;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px}.step-number{font-size:24px;font-weight:800;color:var(--brand-secondary);margin-bottom:16px}.process-step h3{font-size:17px;margin:0 0 8px}.process-step p{margin:0;color:var(--muted)}.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid var(--line);background:#fff;padding:0 18px}.faq-list summary{cursor:pointer;font-weight:800;padding:16px 0}.faq-answer{padding:0 0 16px;color:var(--muted)}.faq-answer p{margin:0}.cta-panel{background:linear-gradient(120deg,#071c47,#0a4168);color:#fff;padding:34px 38px;display:flex;justify-content:space-between;gap:28px;align-items:center}.cta-panel p{color:#c7d9e6;margin:0}.cta-panel .button-row{margin:0;flex:0 0 auto}.rich-copy{max-width:980px;color:#40566d}.rich-copy p:first-child{margin-top:0}.stacked-blocks{display:grid;gap:16px;margin-top:26px}.stacked-block{display:grid;grid-template-columns:190px 1fr;gap:24px;border-top:1px solid var(--line);padding-top:20px}.stacked-block img{width:190px;height:128px;object-fit:cover}.block-subtitle{color:#168da8;font-weight:800;margin:0 0 6px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.category-card{background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(10,36,67,.04)}.category-card>img{width:100%;height:164px;object-fit:cover}.category-card>div{padding:22px}.category-card p{color:var(--muted)}.category-specs{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:13px}.catalog-shell{margin-top:8px}.catalog-tools{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:12px;align-items:end;padding:18px;border:1px solid var(--line);background:#fff}.catalog-tools label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#3e5267}.catalog-tools input,.catalog-tools select,.form-grid input,.form-grid select,.form-grid textarea,.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid #bdcad5;border-radius:4px;background:#fff;padding:10px 11px;color:var(--ink)}.catalog-status{font-size:12px;font-weight:800;color:var(--muted);margin:16px 0 10px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-width:0}.product-image{display:block;background:#e9f0f5;overflow:hidden}.product-image img{width:100%;height:155px;object-fit:cover;transition:transform .25s ease}.product-card:hover .product-image img{transform:scale(1.025)}.product-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.product-card-body>p{color:var(--muted);margin:0 0 12px}.compact-specs{list-style:none;padding:0;margin:4px 0 0;border-top:1px solid var(--line)}.compact-specs li{display:grid;gap:2px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.compact-specs strong{color:#36536b}.compact-specs span{color:var(--muted)}.product-card .text-link{margin-top:auto;padding-top:15px}.empty-products,.empty-state{border:1px solid var(--line);background:#fff;padding:34px;text-align:center;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:28px}.inquiry-form,.contact-details{border:1px solid var(--line);background:#fff;padding:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:18px}.form-grid label{display:grid;gap:6px;font-weight:800;font-size:13px}.form-grid label span{color:#b02f52}.form-grid .wide{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:150px}.form-grid small{font-weight:400;color:var(--muted)}.honeypot{position:absolute;left:-10000px}.contact-item{border-top:1px solid var(--line);padding:13px 0;display:grid;gap:3px}.contact-item strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.contact-item span{color:var(--muted)}.response-note{border-left:3px solid var(--brand-accent);padding:10px 12px;background:#edfafd;font-weight:700}.alert{margin-top:18px;padding:12px 14px;border:1px solid}.alert-success{background:#edf9f1;border-color:#a9d6b7;color:#215f37}.alert-error{background:#fff1f2;border-color:#e1a8ae;color:#8c2430}.product-detail-hero{background:var(--soft);padding:24px 0 62px}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px;margin-bottom:26px}.breadcrumb a{color:#0b7b96;font-weight:700}.product-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.product-gallery{background:#fff;border:1px solid var(--line);padding:12px}.product-main-image{width:100%;height:365px;object-fit:cover}.gallery-thumbnails{display:flex;gap:8px;margin-top:10px;overflow:auto}.gallery-thumbnails button{border:1px solid var(--line);background:#fff;padding:3px;cursor:pointer}.gallery-thumbnails img{width:60px;height:46px;object-fit:cover}.product-summary h1{color:var(--brand-primary);font-size:clamp(34px,4vw,52px)}.product-lead{font-size:18px;color:#3f5870}.product-summary p{color:var(--muted)}.product-information-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}.specification-table{margin:0}.specification-table div{display:grid;grid-template-columns:160px 1fr;gap:16px;border-top:1px solid var(--line);padding:12px 0}.specification-table dt{font-weight:800}.specification-table dd{margin:0;color:var(--muted)}.application-list{padding-left:18px}.application-list li{margin:8px 0}.site-footer{background:#06152f;color:#c4d3df;padding:46px 0 20px}.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .8fr;gap:40px}.footer-logo{width:210px;background:#fff;padding:5px}.site-footer h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#fff}.site-footer a{display:block;color:#c4d3df;margin:7px 0}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:17px;font-size:12px;color:#8fa4b5}
@media(max-width:980px){.split-media{width:100%}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 20px 20px;flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:12px 3px;border-bottom:1px solid var(--line)}.hero-layout,.product-detail-layout,.split-layout,.contact-layout{grid-template-columns:1fr}.hero-visual{width:100%;max-width:560px;justify-self:start}.card-grid.cols-3,.card-grid.cols-4,.category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-tools{grid-template-columns:1fr 1fr}.product-information-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.wrap{width:min(calc(100% - 26px),var(--max))}.header-inner{min-height:72px}.brand img{width:170px}.site-nav{top:72px}.hero{padding:46px 0}.hero-layout{gap:34px}.section{padding:50px 0}.card-grid.cols-2,.card-grid.cols-3,.card-grid.cols-4,.category-grid,.product-grid,.process-list,.form-grid,.footer-grid{grid-template-columns:1fr}.catalog-tools{grid-template-columns:1fr}.cta-panel{display:block;padding:28px 22px}.cta-panel .button-row{margin-top:20px}.stacked-block{grid-template-columns:1fr}.stacked-block img{width:100%;height:165px}.product-main-image{height:255px}.specification-table div{grid-template-columns:1fr;gap:4px}.footer-grid>div:first-child{grid-column:auto}.hero h1{font-size:34px}.product-detail-hero h1{font-size:38px}}

/* Cookie consent: intentionally isolated from the existing page and CMS styles. */
.cookie-banner{position:fixed;left:50%;bottom:18px;z-index:120;width:min(calc(100% - 32px),760px);transform:translateX(-50%);background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(7,29,75,.22);padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.cookie-banner[hidden]{display:none}.cookie-copy h2{font-size:16px;line-height:1.3;margin:0 0 5px;color:var(--brand-primary)}.cookie-copy p{font-size:13px;line-height:1.5;margin:0;color:var(--muted)}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cookie-actions .button{white-space:nowrap}.cookie-settings-button{border:0;background:transparent;color:#c4d3df;padding:0;font:inherit;font-size:12px;cursor:pointer}.cookie-settings-button:hover{color:#fff;text-decoration:underline}
@media(max-width:700px){.cookie-banner{grid-template-columns:1fr;gap:14px;bottom:10px;padding:16px}.cookie-actions{justify-content:flex-start}.cookie-actions .button{flex:1 1 auto}}

/* v1.3 document-content completion */
.category-overview{margin-top:14px;padding:13px 14px;background:#f7fafc;border-left:3px solid var(--brand-accent);font-size:13px;color:var(--muted)}
.category-overview strong{display:block;margin-bottom:4px;color:var(--brand-primary);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.category-overview p{margin:0;color:inherit}
.company-legal-name{margin:-4px 0 14px;color:var(--muted);font-size:13px}
.section-table+.section-cta{padding-top:0}
.section-rich_text .rich-copy{font-size:16px}

/* v1.4 controlled typography system */
body{font-family:var(--site-font,Inter,Arial,Helvetica,sans-serif);font-size:calc(15px * var(--text-scale,1))}
.type-global-compact{--type-factor:.92}.type-global-standard{--type-factor:1}.type-global-comfortable{--type-factor:1.06}.type-global-large{--type-factor:1.12}
.type-page-compact{--page-factor:.92}.type-page-standard{--page-factor:1}.type-page-comfortable{--page-factor:1.06}.type-page-large{--page-factor:1.12}.type-page-inherit{--page-factor:var(--type-factor,1)}
.type-section-compact{--section-factor:.92}.type-section-standard{--section-factor:1}.type-section-comfortable{--section-factor:1.06}.type-section-large{--section-factor:1.12}.type-section-inherit{--section-factor:var(--page-factor,var(--type-factor,1))}
.hero h1{font-size:clamp(calc(36px * var(--section-factor,1)),calc(3vw * var(--section-factor,1)),calc(46px * var(--section-factor,1)))}
.hero-subtitle{font-size:clamp(calc(17px * var(--section-factor,1)),calc(1.25vw * var(--section-factor,1)),calc(20px * var(--section-factor,1)))}
.section-heading h2,.cta-panel h2,.product-information-grid h2,.narrow h2{font-size:clamp(calc(27px * var(--section-factor,1)),calc(2vw * var(--section-factor,1)),calc(32px * var(--section-factor,1)))}
.section,.hero{font-size:calc(1em * var(--section-factor,1))}
[data-page-hero-title="small"] .hero h1{font-size:clamp(32px,2.4vw,40px)}[data-page-hero-title="standard"] .hero h1{font-size:clamp(36px,3vw,46px)}[data-page-hero-title="large"] .hero h1{font-size:clamp(40px,3.4vw,52px)}[data-page-hero-title="display"] .hero h1{font-size:clamp(44px,3.8vw,56px)}
[data-page-hero-subtitle="small"] .hero-subtitle{font-size:clamp(16px,1vw,18px)}[data-page-hero-subtitle="standard"] .hero-subtitle{font-size:clamp(17px,1.25vw,20px)}[data-page-hero-subtitle="comfortable"] .hero-subtitle{font-size:clamp(18px,1.35vw,21px)}[data-page-hero-subtitle="large"] .hero-subtitle{font-size:clamp(19px,1.45vw,22px)}
[data-page-section-title="small"] .section-heading h2{font-size:clamp(24px,1.6vw,28px)}[data-page-section-title="standard"] .section-heading h2{font-size:clamp(27px,2vw,32px)}[data-page-section-title="large"] .section-heading h2{font-size:clamp(30px,2.3vw,36px)}
[data-page-body="small"] main{--page-body-size:14px}[data-page-body="standard"] main{--page-body-size:15px}[data-page-body="comfortable"] main{--page-body-size:16px}[data-page-body="large"] main{--page-body-size:17px}
main .section,main .hero{font-size:var(--page-body-size,inherit)}
[data-type-label="small"] .eyebrow,[data-type-label="small"] .card-kicker{font-size:11px}[data-type-label="standard"] .eyebrow,[data-type-label="standard"] .card-kicker{font-size:13px}[data-type-label="large"] .eyebrow,[data-type-label="large"] .card-kicker{font-size:15px}
[data-type-title="small"] h2,[data-type-title="small"] h3{font-size:.9em}[data-type-title="large"] h2,[data-type-title="large"] h3{font-size:1.12em}[data-type-title="display"] h2,[data-type-title="display"] h3{font-size:1.22em}
[data-type-body="small"] p,[data-type-body="small"] .rich-copy{font-size:14px}[data-type-body="standard"] p,[data-type-body="standard"] .rich-copy{font-size:15px}[data-type-body="comfortable"] p,[data-type-body="comfortable"] .rich-copy{font-size:16px}[data-type-body="large"] p,[data-type-body="large"] .rich-copy{font-size:17px}
[data-type-list="small"] li,[data-type-list="small"] td{font-size:12px}[data-type-list="standard"] li,[data-type-list="standard"] td{font-size:13px}[data-type-list="comfortable"] li,[data-type-list="comfortable"] td{font-size:14px}[data-type-list="large"] li,[data-type-list="large"] td{font-size:15px}
.type-buttons-small .button,.type-buttons-small .text-link{font-size:12px}.type-buttons-standard .button,.type-buttons-standard .text-link{font-size:13px}.type-buttons-large .button,.type-buttons-large .text-link{font-size:15px}

/* Custom English file selector avoids browser-locale button text. */
.custom-file-control{display:flex!important;align-items:center;gap:10px;min-height:42px;border:1px solid #bdcad5;border-radius:4px;background:#fff;padding:5px}.visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important}.custom-file-button{display:inline-flex!important;align-items:center;background:#edf4f8;color:var(--brand-primary)!important;border:1px solid #b8c8d5;border-radius:3px;padding:7px 11px;font-weight:800;cursor:pointer}.custom-file-name{color:var(--muted)!important;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-field:focus-within .custom-file-control{outline:2px solid rgba(0,169,200,.25);border-color:var(--brand-accent)}

/* V1.4.1: Products landing family layout and NC logo sizing. */
.category-grid-editorial{align-items:stretch;gap:18px}
.category-grid-editorial .category-card-editorial{display:grid;grid-template-rows:1fr auto;border:0;background:transparent;box-shadow:none;min-width:0}
.category-grid-editorial .category-card-copy{position:relative;min-height:238px;padding:24px 28px 22px;background:#fff;border-left:16px solid #eef3f8;border-right:10px solid #eef3f8}
.category-grid-editorial .category-card-copy:after{content:"";display:block;border-bottom:1px solid var(--line);margin-top:18px}
.category-grid-editorial .category-card-copy h3{font-size:20px;margin-bottom:16px}
.category-grid-editorial .category-card-copy>p:last-of-type{font-size:16px;line-height:1.58;margin:0;color:var(--muted)}
.category-grid-editorial .category-card-footer{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:28px;align-items:center;padding:26px 18px 0}
.category-grid-editorial .category-card-image{padding:8px 0;border-left:8px solid #eef3f8;border-right:8px solid #eef3f8;overflow:hidden}
.category-grid-editorial .category-card-image img{width:100%;height:118px;object-fit:cover}
.category-grid-editorial .category-more-link{justify-self:end;color:#111;font-size:20px;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap}
.category-grid-editorial .category-more-link:hover{color:var(--brand-secondary)}
.header-inner{min-height:92px}
.brand img{width:auto;height:82px;max-width:150px;object-fit:contain}
.site-nav a{padding:35px 0 30px}
.footer-logo{width:auto;height:120px;max-width:180px;object-fit:contain}
@media(max-width:980px){.category-grid-editorial .category-card-copy{min-height:220px}.category-grid-editorial .category-card-footer{grid-template-columns:minmax(140px,200px) 1fr}.category-grid-editorial .category-card-image img{height:106px}.site-nav{top:92px}}
@media(max-width:640px){.header-inner{min-height:84px}.brand img{height:72px;max-width:130px}.site-nav{top:84px}.category-grid-editorial .category-card-copy{min-height:auto;padding:22px 22px 20px;border-left-width:12px;border-right-width:8px}.category-grid-editorial .category-card-footer{grid-template-columns:minmax(130px,48%) 1fr;gap:18px;padding:20px 10px 0}.category-grid-editorial .category-card-image img{height:92px}.category-grid-editorial .category-more-link{font-size:18px}.footer-logo{height:105px}}

/* V1.4.3: text-only catalogues, V1.4.1 typography baseline, robust wrapping,
   aligned product detail layout, and optional Tech capability media. */

/* All CMS-managed public text must stay inside its assigned column and may wrap. */
main :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,td,th,a,span,strong),
.site-footer :where(p,li,dt,dd,a,span,strong){overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.hero-copy,.section-heading,.rich-copy,.split-copy,.content-card,.card-body,.stacked-block>div,
.category-card-copy,.product-card-body,.product-summary,.contact-details,.cta-panel>div,
.product-information-grid>article{min-width:0;max-width:100%}
.rich-copy p,.product-summary p,.card-body p,.content-card p,.category-card p{white-space:normal}

/* Catalogue cards are text-only. This also hides legacy cached image markup defensively. */
.product-grid .product-image{display:none!important}
.product-card-no-image{min-height:100%}
.product-card-no-image .product-card-body{padding-top:20px}

/* V1.4.4: small uppercase labels use a clear 13px standard size; descriptive copy remains unchanged. */
.eyebrow,.card-kicker{font-size:13px}
.content-table th{font-size:13px}

/* Top navigation is increased one step: 14px Small, 16px Standard and 18px Large. Product breadcrumb remains unchanged. */
.type-nav-small .site-nav a{font-size:14px}.type-nav-standard .site-nav a{font-size:16px}.type-nav-large .site-nav a{font-size:18px}
.type-breadcrumb-small .breadcrumb{font-size:12px}.type-breadcrumb-standard .breadcrumb{font-size:14px}.type-breadcrumb-large .breadcrumb{font-size:16px}

/* Buttons return to the V1.4.1 baseline. */
.type-buttons-small .button,.type-buttons-small .text-link{font-size:12px}.type-buttons-standard .button,.type-buttons-standard .text-link{font-size:13px}.type-buttons-large .button,.type-buttons-large .text-link{font-size:15px}

/* Role controls preserve the V1.4.1 standard sizes instead of enlarging descriptive copy. */
.type-hero-label-small .hero[data-type-label="inherit"] .eyebrow{font-size:11px}.type-hero-label-standard .hero[data-type-label="inherit"] .eyebrow{font-size:13px}.type-hero-label-large .hero[data-type-label="inherit"] .eyebrow{font-size:15px}
.type-section-label-small .section[data-type-label="inherit"]>.wrap>.section-heading .eyebrow{font-size:11px}.type-section-label-standard .section[data-type-label="inherit"]>.wrap>.section-heading .eyebrow{font-size:13px}.type-section-label-large .section[data-type-label="inherit"]>.wrap>.section-heading .eyebrow{font-size:15px}
.type-card-title-small .section[data-type-title="inherit"] :is(.content-card,.stacked-block,.process-step,.contact-details) h3{font-size:17px}.type-card-title-standard .section[data-type-title="inherit"] :is(.content-card,.stacked-block,.process-step,.contact-details) h3{font-size:19px}.type-card-title-large .section[data-type-title="inherit"] :is(.content-card,.stacked-block,.process-step,.contact-details) h3{font-size:22px}
.type-description-small .section[data-type-body="inherit"] :is(.card-body,.content-card,.stacked-block) p{font-size:14px}.type-description-large .section[data-type-body="inherit"] :is(.card-body,.content-card,.stacked-block) p{font-size:17px}
.type-description-small .section[data-type-body="inherit"] .section-heading>p:last-child{font-size:14px}.type-description-large .section[data-type-body="inherit"] .section-heading>p:last-child{font-size:18px}
.type-technical-small .section[data-type-list="inherit"] :is(li,td,dd){font-size:13px}.type-technical-large .section[data-type-list="inherit"] :is(li,td,dd){font-size:16px}
.type-table-header-small .content-table th{font-size:12px}.type-table-header-standard .content-table th{font-size:13px}.type-table-header-large .content-table th{font-size:15px}
.type-form-label-small .catalog-tools label{font-size:11px}.type-form-label-standard .catalog-tools label{font-size:12px}.type-form-label-large .catalog-tools label{font-size:14px}
.type-form-label-small .form-grid label{font-size:12px}.type-form-label-standard .form-grid label{font-size:13px}.type-form-label-large .form-grid label{font-size:15px}
.type-footer-small .site-footer{font-size:13px}.type-footer-large .site-footer{font-size:17px}

/* Product catalogue controls: standard equals the V1.4.1 catalogue, except 11px category labels become 12px. */
.type-catalog-category-small .product-card .card-kicker{font-size:11px}.type-catalog-category-standard .product-card .card-kicker{font-size:13px}.type-catalog-category-large .product-card .card-kicker{font-size:15px}
.type-catalog-title-small .product-card h3{font-size:17px}.type-catalog-title-standard .product-card h3{font-size:19px}.type-catalog-title-large .product-card h3{font-size:22px}
.type-catalog-description-small .product-card-body>p{font-size:14px}.type-catalog-description-large .product-card-body>p{font-size:17px}
.type-catalog-technical-small .compact-specs li{font-size:11px}.type-catalog-technical-standard .compact-specs li{font-size:12px}.type-catalog-technical-large .compact-specs li{font-size:14px}

/* Product detail uses the V1.4.1 type baseline and retains the requested smaller image/alignment. */
.product-detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.product-gallery{height:100%;display:flex;flex-direction:column;min-width:0}
.product-main-image{height:328px}
.product-summary{display:flex;flex-direction:column;height:100%}
.product-detail-cta{margin-top:auto;align-self:flex-start}
.type-product-detail-label-small .product-summary .eyebrow{font-size:11px}.type-product-detail-label-standard .product-summary .eyebrow{font-size:13px}.type-product-detail-label-large .product-summary .eyebrow{font-size:15px}
.type-product-detail-title-small .product-summary h1{font-size:clamp(30px,3.5vw,46px)}.type-product-detail-title-large .product-summary h1{font-size:clamp(38px,4.5vw,58px)}
.type-product-detail-summary-small .product-lead{font-size:16px}.type-product-detail-summary-large .product-lead{font-size:20px}
.type-product-detail-body-small .product-summary>p:not(.product-lead){font-size:14px}.type-product-detail-body-large .product-summary>p:not(.product-lead){font-size:17px}
.type-product-detail-subheading-small .product-information-grid h2,.type-product-detail-subheading-small .narrow h2{font-size:clamp(24px,2.7vw,35px)}.type-product-detail-subheading-large .product-information-grid h2,.type-product-detail-subheading-large .narrow h2{font-size:clamp(32px,3.6vw,48px)}
.type-product-detail-technical-small :is(.specification-table,.application-list,.narrow){font-size:13px}.type-product-detail-technical-large :is(.specification-table,.application-list,.narrow){font-size:17px}

/* Tech capability sections: text on the left, optional CMS-managed image on the right. */
.rich-media-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:46px;align-items:center}
.rich-media-copy{align-self:center;min-width:0}
.rich-media-copy .section-heading .eyebrow{font-size:var(--section-label-size,var(--section-label-font-size,13px))}
.rich-side-media{width:86%;justify-self:center;align-self:center;min-height:260px;display:flex;align-items:center;justify-content:center}
.rich-side-media:not(.is-empty){border:1px solid var(--line);padding:12px;background:#fff}
.rich-side-media img{display:block;width:100%;aspect-ratio:4/3;max-height:360px;object-fit:cover}
.rich-side-media.is-empty{background:transparent}

@media(max-width:980px){.rich-media-layout{grid-template-columns:1fr;gap:28px}.rich-side-media{width:min(86%,520px);justify-self:start}.rich-side-media.is-empty{display:none}.product-detail-layout{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:760px){.product-detail-layout{grid-template-columns:1fr}.product-main-image{height:230px}.product-summary{height:auto}.product-detail-cta{margin-top:22px}.rich-side-media{width:100%}}


/* V1.4.7: exact-pixel typography controls. These rules intentionally override the
   legacy preset classes while preserving all non-typography layout and content. */
body{font-size:var(--body-font-size,15px)}
.site-nav a{font-size:var(--nav-font-size,16px)}
.button,.text-link{font-size:var(--section-cta-size,var(--button-font-size,13px))}
.hero .eyebrow{font-size:var(--section-label-size,var(--hero-label-font-size,13px))}
.hero h1{font-size:var(--section-title-size,var(--page-hero-title-size,var(--hero-title-font-size,46px)))}
.hero-subtitle{font-size:var(--section-subtitle-size,var(--page-hero-subtitle-size,var(--hero-subtitle-font-size,20px)));font-weight:400}
.hero-body{font-size:var(--section-body-size,var(--page-body-size,var(--body-font-size,15px)))}
.section{font-size:var(--section-body-size,var(--page-body-size,var(--body-font-size,15px)))}
.section>.wrap>.section-heading .eyebrow{font-size:var(--section-label-size,var(--section-label-font-size,13px))}
.section-heading h2,.cta-panel h2,.product-information-grid h2,.narrow h2{font-size:var(--section-title-size,var(--page-section-title-size,var(--section-title-font-size,32px)))}
.section-heading>p:last-child{font-size:var(--section-subtitle-size,var(--page-body-size,var(--description-font-size,16px)))}
.content-card h3,.category-card h3,.stacked-block h3,.contact-details h3,.process-step h3{font-size:var(--section-title-size,var(--card-title-font-size,19px))}
.card-body p,.content-card p,.stacked-block p,.category-card p,.process-step p{font-size:var(--section-body-size,var(--page-body-size,var(--description-font-size,16px)))}
.section :is(li,td,dd){font-size:var(--section-list-size,var(--technical-font-size,14px))}
.content-table th{font-size:var(--table-header-font-size,13px)}
.catalog-tools label,.form-grid label{font-size:var(--form-label-font-size,13px)}
.site-footer{font-size:var(--footer-font-size,15px)}
.breadcrumb{font-size:var(--breadcrumb-font-size,14px)}
.product-card .card-kicker{font-size:var(--catalog-category-font-size,13px)}
.product-card h3{font-size:var(--catalog-title-font-size,19px)}
.product-card-body>p{font-size:var(--catalog-description-font-size,16px)}
.compact-specs li{font-size:var(--catalog-technical-font-size,12px)}
.product-summary .eyebrow{font-size:var(--product-detail-label-font-size,13px)}
.product-summary h1{font-size:var(--product-detail-title-font-size,52px)}
.product-lead{font-size:var(--product-detail-summary-font-size,18px)}
.product-summary>p:not(.product-lead),.product-summary>div{font-size:var(--product-detail-body-font-size,15px)}
.product-information-grid h2,.product-detail-hero+.section h2,.narrow h2{font-size:var(--product-detail-subheading-font-size,var(--section-title-font-size,32px))}
.specification-table,.application-list,.narrow{font-size:var(--product-detail-technical-font-size,15px)}
@media(max-width:640px){
  .hero h1{font-size:min(var(--section-title-size,var(--page-hero-title-size,var(--hero-title-font-size,46px))),34px)}
  .hero-subtitle{font-size:min(var(--section-subtitle-size,var(--page-hero-subtitle-size,var(--hero-subtitle-font-size,20px))),18px)}
  .section-heading h2,.cta-panel h2,.product-information-grid h2,.narrow h2{font-size:min(var(--section-title-size,var(--page-section-title-size,var(--section-title-font-size,32px))),28px)}
  .product-summary h1{font-size:min(var(--product-detail-title-font-size,52px),38px)}
}


/* V1.5.0: product-family role controls, compact family media, product detail split and distinct bottom CTA. */
.category-card .card-kicker{font-size:var(--product-family-label-font-size,13px)}
.category-card h3{font-size:var(--product-family-title-font-size,20px)}
.category-card p{font-size:var(--product-family-description-font-size,16px)}
.category-card .text-link,.category-more-link{font-size:var(--product-family-link-font-size,16px)}
.category-grid-editorial .category-card-footer{grid-template-columns:minmax(130px,192px) minmax(0,1fr);gap:20px;align-items:center;padding-top:22px}
.category-grid-editorial .category-card-image{width:100%}
.category-grid-editorial .category-card-image img{height:94px}
.category-grid-editorial .category-more-link{justify-self:start;margin-top:0}
.category-grid-editorial .no-family-image .category-card-footer{grid-template-columns:1fr}
.category-grid-editorial .no-family-image .category-more-link{justify-self:start}
.button.action-custom-color{background:var(--action-color);border-color:var(--action-color);color:#fff}
.button.action-custom-color:hover{background:var(--action-color);border-color:var(--action-color);filter:brightness(.88)}
.product-detail-layout{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:48px;align-items:center}
.product-summary{grid-column:1;min-width:0;height:auto}
.product-gallery{grid-column:2;width:80%;height:auto;justify-self:end;align-self:center}
.product-main-image{height:262px;aspect-ratio:4/3;object-fit:cover}
.product-detail-cta{margin-top:22px}
.section-cta.theme-dark{background:#fff;color:var(--ink);padding:76px 0 84px;border-top:1px solid #e4ebf0}
.section-cta .cta-panel{position:relative;background:#0b596b;color:#fff;box-shadow:0 16px 38px rgba(7,29,75,.14);padding:36px 40px}
.section-cta .cta-panel p{color:#d7e9ed}
.section-cta .cta-panel .eyebrow{color:#8fe4f1}
.site-footer{background:#06162f}
@media(max-width:980px){.category-grid-editorial .category-card-footer{grid-template-columns:minmax(120px,154px) minmax(0,1fr)}.category-grid-editorial .category-card-image img{height:85px}.product-detail-layout{grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:30px}.product-gallery{width:88%}}
@media(max-width:760px){.product-detail-layout{grid-template-columns:1fr}.product-summary,.product-gallery{grid-column:1}.product-gallery{width:100%;justify-self:stretch}.product-main-image{height:230px}.category-grid-editorial .category-card-footer{grid-template-columns:minmax(110px,154px) minmax(0,1fr)}}

.category-more-link.button{text-decoration:none;font-weight:800;white-space:normal}


/* V1.5.1: content cards without images use the full available width; Home family cards are text-only. */
.stacked-block.no-image{grid-template-columns:minmax(0,1fr)}
.stacked-block.no-image>div{min-width:0;width:100%}
.category-grid-home .category-card.no-family-image>div{height:100%}


/* V1.5.2: role-based team profiles. */
.team-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.team-profile-card{background:#fff;border:1px solid var(--line);padding:26px;min-width:0;box-shadow:0 8px 24px rgba(10,36,67,.04)}
.team-profile-card:hover{border-color:#b8d2df;box-shadow:var(--shadow)}
.team-profile-image{width:100%;aspect-ratio:4/3;object-fit:cover;margin:0 0 20px}
.team-profile-focus{margin:0 0 8px;color:#168da8;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;line-height:1.45}
.team-profile-card h3{margin:0 0 12px;font-size:21px;line-height:1.2}
.team-profile-summary p{margin:0;color:var(--muted)}
.team-profile-details{margin-top:20px;border-top:1px solid var(--line)}
.team-profile-details summary{cursor:pointer;padding:15px 0 5px;color:#087e9a;font-weight:800;list-style:none}
.team-profile-details summary::-webkit-details-marker{display:none}
.team-profile-details summary::after{content:'+';float:right;font-size:19px;line-height:1}
.team-profile-details[open] summary::after{content:'−'}
.team-profile-details dl{margin:10px 0 0}
.team-profile-details dl>div{padding:11px 0;border-top:1px solid #e7edf2}
.team-profile-details dt{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#536d83}
.team-profile-details dd{margin:4px 0 0;color:var(--ink);font-size:14px;line-height:1.55}
@media(max-width:980px){.team-profile-grid{grid-template-columns:1fr}}


/* V1.5.3: V5 portfolio fields, category map and refined bottom action band. */
.family-map-link{display:grid;gap:4px;color:var(--brand-primary)}
.family-map-link strong{font-size:15px;line-height:1.35}
.family-map-link span{font-size:12px;color:var(--muted);font-weight:700}
.family-map-link:hover strong{color:var(--brand-secondary)}
.product-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin:3px 0 13px}
.product-card-meta span{display:inline-flex;border:1px solid #c9d9e2;background:#f4f9fb;padding:4px 7px;font-size:11px;font-weight:800;color:#476278;line-height:1.3}
.compact-specs li{display:block;color:var(--muted);padding-left:14px;position:relative}
.compact-specs li::before{content:'•';position:absolute;left:0;color:var(--brand-accent);font-weight:900}
.representative-spec-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.representative-spec-list li{position:relative;padding:12px 0 12px 20px;border-bottom:1px solid var(--line);color:var(--muted)}
.representative-spec-list li::before{content:'•';position:absolute;left:2px;color:var(--brand-accent);font-weight:900}
.product-configuration-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.product-configuration-grid>article{min-width:0}
.product-configuration-grid p{color:var(--muted)}
@media(max-width:760px){.section-cta.theme-dark{padding:58px 0 64px}.section-cta .cta-panel{padding:30px 24px}.product-configuration-grid{grid-template-columns:1fr;gap:30px}}


/* V1.5.6 — requested logo, CTA button scale, Tech spacing, granular text controls,
   fixed Home family actions, and Home services. */
.header-inner{min-height:98px}
.brand img{width:292px;height:auto;max-width:none;object-fit:contain}
.footer-logo{width:290px;height:auto;max-width:100%;padding:5px;background:#fff;object-fit:contain}
.site-nav a{padding-top:38px;padding-bottom:33px}

.section-cta .cta-panel .button{padding:13px 20px;font-size:calc(var(--block-link-size,var(--section-cta-size,var(--button-font-size,13px))) * 1.2)}

.page-tech .section-rich_text,.page-tech .section-table{padding-top:41px;padding-bottom:41px}
.page-tech .section-rich_text .rich-media-copy{padding-left:7.5em}

.hero .eyebrow,.section .eyebrow{color:var(--section-label-color)}
.hero h1,.section-heading h2,.cta-panel h2{color:var(--section-title-color)}
.hero-subtitle,.section-heading>p:last-child{color:var(--section-subtitle-color)}
.hero-body,.hero-body p,.section .rich-copy,.section .rich-copy p,.section .card-body,.section .card-body p,.section .content-card p,.section .team-profile-summary,.section .faq-answer,.section .process-step p,.section .cta-panel p{color:var(--section-body-color)}
.section li,.section td,.section dt,.section dd{color:var(--section-list-color)}
.section .text-link,.section .button{color:var(--section-cta-color)}

.block-typography h3,.block-typography summary{font-size:var(--block-title-size);color:var(--block-title-color)}
.block-typography .card-kicker,.block-typography .block-subtitle,.block-typography .team-profile-focus{font-size:var(--block-subtitle-size);color:var(--block-subtitle-color)}
.block-typography .card-body,.block-typography .card-body p,.block-typography .team-profile-summary,.block-typography .team-profile-summary p,.block-typography .faq-answer,.block-typography .faq-answer p,.block-typography.process-step p{font-size:var(--block-body-size);color:var(--block-body-color)}
.block-typography li,.block-typography dt,.block-typography dd,.block-typography td{font-size:var(--block-list-size);color:var(--block-list-color)}
.block-typography .text-link,.block-typography .button,.block-action-typography{font-size:var(--block-link-size);color:var(--block-link-color)}

.category-grid-home{align-items:stretch}
.category-grid-home .category-card{display:flex;flex-direction:column;min-height:100%}
.category-grid-home .home-family-card-copy{display:flex;flex-direction:column;flex:1;min-height:100%}
.category-grid-home .home-family-link{margin-top:auto;align-self:flex-start;padding-top:22px}

.home-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.home-service-card{display:flex;flex-direction:column;min-height:250px;background:#fff;border:1px solid var(--line);padding:26px 28px;box-shadow:0 8px 24px rgba(10,36,67,.04)}

.home-service-card h3{font-size:var(--block-title-size,var(--card-title-font-size,19px));line-height:1.25;margin:0 0 12px;color:var(--block-title-color,var(--ink))}
.home-service-card .card-body{margin-top:auto}
.home-service-card .card-body p{margin:0;color:var(--block-body-color,var(--muted))}

@media(max-width:980px){
  .brand img{width:250px}.site-nav{top:98px}
  .page-tech .section-rich_text .rich-media-copy{padding-left:0}
}
@media(max-width:760px){.home-services-grid{grid-template-columns:1fr}}
@media(max-width:640px){
  .header-inner{min-height:82px}.brand img{width:220px;height:auto;max-width:68vw}.site-nav{top:82px}
  .footer-logo{width:260px;height:auto}
  .page-tech .section-rich_text,.page-tech .section-table{padding-top:30px;padding-bottom:30px}
  .section-cta .cta-panel .button{padding:13px 20px}
}

/* V1.5.7.1 — rebuilt from V1.5.6: Home service order/action, dual logos,
   and alternating Tech capability images. */
.footer-logo{
  width:340px;
  height:auto;
  max-width:100%;
  padding:0;
  background:transparent;
  object-fit:contain;
}
.home-services-action{
  display:flex;
  justify-content:flex-end;
  margin-top:20px;
}
.home-services-action .text-link{
  margin-top:0;
  font-size:15px;
  padding:7px 0;
}
.rich-media-layout.media-left .rich-media-copy{order:2}
.rich-media-layout.media-left .rich-side-media{order:1}
.rich-media-layout.media-right .rich-media-copy{order:1}
.rich-media-layout.media-right .rich-side-media{order:2}
@media(max-width:980px){
  .rich-media-layout.media-left .rich-media-copy,
  .rich-media-layout.media-right .rich-media-copy{order:1}
  .rich-media-layout.media-left .rich-side-media,
  .rich-media-layout.media-right .rich-side-media{order:2}
}
@media(max-width:640px){
  .footer-logo{width:300px}
  .home-services-action{justify-content:flex-start}
}



/* V1.5.8 — restore V1.5.5 text-link/label colours, compact non-Hero section
   spacing, centered text-only Tech capabilities, and simplified catalogue cards. */
.section{padding-top:41px;padding-bottom:41px}
.section-cta.theme-dark{padding:41px 0}
.rich-centered-copy{margin-left:auto;margin-right:auto}
.page-tech .rich-centered-copy{max-width:830px}

.hero .eyebrow{color:var(--section-label-color,var(--brand-accent))}
.section .eyebrow{color:var(--section-label-color,var(--brand-accent))}
.hero h1{color:var(--section-title-color,#fff)}
.section-heading h2{color:var(--section-title-color,var(--ink))}
.cta-panel h2{color:var(--section-title-color,#fff)}
.hero-subtitle{color:var(--section-subtitle-color,#ecf7fb)}
.section-heading>p:last-child{color:var(--section-subtitle-color,var(--muted))}
.hero-body,.hero-body p{color:var(--section-body-color,#c7d7e6)}
.section .rich-copy,.section .rich-copy p{color:var(--section-body-color,#40566d)}
.section .card-body,.section .card-body p,.section .content-card p,.section .team-profile-summary,.section .faq-answer,.section .process-step p{color:var(--section-body-color,var(--muted))}
.section .cta-panel p{color:var(--section-body-color,#d7e9ed)}
.section li,.section td,.section dt,.section dd{color:var(--section-list-color,#40566d)}
.section .text-link{color:var(--section-cta-color,#087e9a)}
.section .text-link:hover{color:var(--brand-secondary)}
.section .button.primary,.section .button.action-custom-color{color:var(--section-cta-color,#fff)}
.section .button.secondary,.section .button.outline{color:var(--section-cta-color,var(--brand-primary))}

.block-typography h3,.block-typography summary{color:var(--block-title-color,var(--ink))}
.block-typography .card-kicker,.block-typography .block-subtitle,.block-typography .team-profile-focus{color:var(--block-subtitle-color,#168da8)}
.block-typography .card-body,.block-typography .card-body p,.block-typography .team-profile-summary,.block-typography .team-profile-summary p,.block-typography .faq-answer,.block-typography .faq-answer p,.block-typography.process-step p{color:var(--block-body-color,var(--muted))}
.block-typography li,.block-typography dt,.block-typography dd,.block-typography td{color:var(--block-list-color,#40566d)}
.block-typography .text-link{color:var(--block-link-color,#087e9a)}
.block-typography .text-link:hover{color:var(--brand-secondary)}
.block-typography .button.primary,.block-typography .button.action-custom-color{color:var(--block-link-color,#fff)}
.block-typography .button.secondary,.block-typography .button.outline{color:var(--block-link-color,var(--brand-primary))}

@media(max-width:640px){
  .section,.section-cta.theme-dark{padding-top:30px;padding-bottom:30px}
}

/* V1.5.9: Products overview family labels use the same light-blue accent as section eyebrows. */
.page-products .category-grid-editorial .category-card-copy .card-kicker{color:var(--site-small-label-color,var(--brand-accent))}

/* V0811 V2: presentation-only fixes. Existing CMS copy/data is intentionally untouched. */
.eyebrow,.card-kicker,.block-subtitle,.team-profile-focus{color:var(--site-small-label-color,var(--brand-accent))}
.hero .eyebrow,.section .eyebrow{color:var(--section-label-color,var(--site-small-label-color,var(--brand-accent)))}
.block-typography .card-kicker,.block-typography .block-subtitle,.block-typography .team-profile-focus{color:var(--block-subtitle-color,var(--section-label-color,var(--site-small-label-color,var(--brand-accent))))}
.page-tech .section-rich_text>.wrap>.section-heading,
.page-tech .section-rich_text>.wrap>.rich-copy{max-width:830px;margin-left:auto;margin-right:auto}
.step-number{color:var(--block-subtitle-color,var(--section-label-color,var(--site-small-label-color,var(--brand-accent))))}

/* V0811 V2.3 — requested presentation fixes only. */
body,body *{font-family:Arial,Helvetica,sans-serif!important}
.hero{background-color:#071d4b;background-image:radial-gradient(circle at 78% 12%,rgba(0,169,200,.22),transparent 34%),linear-gradient(130deg,#06183d 0%,#082558 52%,#102c66 100%);background-size:cover;background-position:center;background-repeat:no-repeat}
.hero.hero-has-background{background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-layout{display:flex;justify-content:center;align-items:center}
.hero-copy{width:min(100%,920px);max-width:920px;margin:0 auto;text-align:center}
.hero-body{margin-left:auto;margin-right:auto}
.hero .button-row{justify-content:center}
.hero-visual{display:none!important}
.brand{width:292px;height:70px;display:flex;align-items:center;overflow:hidden}
.brand img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:left center}
.team-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.team-profile-card{height:100%}
@media(max-width:980px){.team-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.team-profile-grid{grid-template-columns:1fr}}
@media(max-width:640px){.brand{width:220px;height:54px}}


/* V0811 V2.5.1 — rebuilt directly from V2.4; requested presentation/interaction changes only. */
/* Text action links are consistently blue. No font-size override is applied here. */
.section a.text-link,.category-more-link:not(.button),.family-map-link{color:#168da8!important;text-decoration:none!important}
.section a.text-link:hover,.category-more-link:not(.button):hover,.family-map-link:hover{color:var(--brand-secondary)!important}
.text-link-label{display:inline-block;text-decoration:underline;text-underline-offset:3px}
.family-map-link strong{text-decoration:underline;text-underline-offset:3px}
.text-link-arrow{display:inline-block;white-space:nowrap;font-size:.85em;text-decoration:none!important}
.family-map-link .text-link-arrow{color:inherit}

/* Tech: widen the existing non-Hero text constraint by 15% (830px -> ~955px). */
.page-tech .rich-centered-copy{max-width:955px}
.page-tech .section-rich_text>.wrap>.section-heading,
.page-tech .section-rich_text>.wrap>.rich-copy{max-width:955px}

/* Services: show about half of each of the three long core-service descriptions until expanded. */
.service-core-card{position:relative}
.service-card-expandable{position:relative;max-height:var(--service-collapsed-height,240px);overflow:hidden;transition:max-height .24s ease}
.service-card-expandable:after{content:"";position:absolute;left:0;right:0;bottom:0;height:52px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);pointer-events:none}
.service-core-card.expanded .service-card-expandable{max-height:none}
.service-core-card.expanded .service-card-expandable:after{display:none}
.service-card-toggle{display:flex;width:34px;height:34px;margin:16px auto 0;align-items:center;justify-content:center;border:1px solid #b8cbd6;border-radius:50%;background:#fff;color:#087e9a;font-size:24px;line-height:1;cursor:pointer}
.service-card-toggle:hover{border-color:#087e9a}

/* Products landing: keep V2.4 link typography, move only its position about 10% right. */
.page-products .category-grid-editorial .category-more-link{margin-left:calc(10% + 15px)}

/* Product-family Category Map: header +1px and a narrower Summary column. */
.family-map-table{table-layout:fixed}
.family-map-table th{font-size:calc(var(--table-header-font-size,13px) + 1px)}
.family-map-table th:nth-child(1),.family-map-table td:nth-child(1){width:26%}
.family-map-table th:nth-child(2),.family-map-table td:nth-child(2){width:42%}
.family-map-table th:nth-child(3),.family-map-table td:nth-child(3){width:32%}
.family-map-link{display:block}

/* About team capability details are always visible. */
.team-profile-details{margin-top:20px;border-top:1px solid var(--line);padding-top:10px}
.team-profile-details dl{margin:0}

/* Product detail image can be disabled per product without leaving an empty column. */
.product-detail-layout.product-detail-no-image{grid-template-columns:minmax(0,1fr)}
.product-detail-layout.product-detail-no-image .product-summary{grid-column:1;max-width:980px}

/* Products navigation dropdown. */
.nav-dropdown{position:relative;display:flex;align-items:stretch}
.nav-dropdown>a{display:flex;align-items:center}
.nav-dropdown-toggle{width:24px;border:0;background:transparent;padding:0 0 3px 5px;cursor:pointer;position:relative}
.nav-dropdown-toggle span{display:block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #354c63}
.nav-dropdown-menu{position:absolute;top:calc(100% - 2px);left:0;min-width:230px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px rgba(7,29,75,.12);padding:8px 0;display:none;z-index:80}
.nav-dropdown-menu a{display:block!important;padding:10px 15px!important;border-bottom:0!important;white-space:nowrap;font-size:var(--nav-font-size,16px)}
.nav-dropdown-menu a:hover{background:#f2f7fa;color:var(--brand-primary)}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{display:block}
.nav-dropdown.active>a{color:var(--brand-primary);border-bottom-color:var(--brand-accent)}

@media(max-width:980px){
  .nav-dropdown{display:block;width:100%;position:relative}
  .nav-dropdown>a{display:block}
  .nav-dropdown-toggle{position:absolute;right:12px;top:8px;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}
  .nav-dropdown-menu{position:static;box-shadow:none;border:0;border-top:1px solid var(--line);min-width:0;width:100%;padding:4px 0 8px;display:none}
  .nav-dropdown:hover .nav-dropdown-menu{display:none}
  .nav-dropdown:focus-within .nav-dropdown-menu{display:none}
  .nav-dropdown.open .nav-dropdown-menu{display:block}
  .nav-dropdown-menu a{padding:9px 28px!important;font-size:calc(var(--nav-font-size,16px) - 1px)}
}
@media(max-width:640px){
  .page-products .category-grid-editorial .category-more-link{margin-left:15px}
}


/* V0811 V2.5.3 — requested consistency fixes only. */
.inquiry-form .form-label-text{display:inline;color:inherit!important}
.inquiry-form .form-label-text .required-mark{display:inline;color:#b02f52!important;margin-left:2px}

/* V0811 V2.5.3.4 — requested layout-only adjustments; existing CMS copy/data is unchanged. */
/* V0811 V2.5.3.6 — preserve the Category Map table width while giving Category roughly
   five additional characters of usable space. The added width comes from Summary only. */
.family-map-table th:nth-child(1),.family-map-table td:nth-child(1){width:22%}
.family-map-table th:nth-child(2),.family-map-table td:nth-child(2){width:56%}
.family-map-table th:nth-child(3),.family-map-table td:nth-child(3){width:22%}
.family-map-table td{word-break:normal;overflow-wrap:normal;hyphens:none}
.family-map-primary-markets p{margin:0}
.family-map-primary-markets p+p{margin-top:8px}

/* Fixed desktop Hero image/canvas heights. 313px reproduces the current Home Hero height;
   272px reproduces the current Products Hero height. Removing vertical padding and centering
   the copy keeps those existing visual sizes while allowing longer current copy to fit safely. */
.hero{height:272px;padding:0}
.page-home .hero{height:313px}
.hero-layout{height:100%;min-height:0}
.page-services .hero-body{max-width:920px}

/* Careers is a visible navigation placeholder only; no route/page is created yet. */
.nav-dropdown-placeholder{display:block;padding:10px 15px;white-space:nowrap;font-size:var(--nav-font-size,16px);font-weight:700;color:#607083;cursor:default}

/* On narrow screens, preserve the same minimum Hero canvas while allowing content to grow
   rather than clipping when lines wrap more aggressively. */
@media(max-width:760px){
  .hero{height:auto;min-height:272px;padding:46px 0}
  .page-home .hero{height:auto;min-height:313px}
  .hero-layout{height:auto;min-height:0}
  .nav-dropdown-placeholder{padding:9px 28px;font-size:calc(var(--nav-font-size,16px) - 1px)}
}

/* V0811 V2.5.3.8 — resize the public header/footer logos to the requested visual footprint.
   The header source image is unchanged. Its frame now matches the source aspect ratio closely,
   removing the extra letterboxing that made the uploaded logo appear much smaller than intended. */
.brand{
  width:250px;
  height:114px;
  flex:0 0 250px;
  overflow:hidden;
}
.brand img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:left center;
}
.site-footer .footer-brand{
  width:200px;
  height:90px;
  display:flex;
  align-items:center;
  overflow:hidden;
  margin:0;
}
.footer-brand .footer-logo{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  padding:0;
  background:transparent;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:980px){
  .site-nav{top:114px}
}
@media(max-width:640px){
  .brand{
    width:176px;
    height:81px;
    flex-basis:176px;
  }
  .site-nav{top:82px}
  .site-footer .footer-brand{
    width:180px;
    height:81px;
  }
}

/* V0811 V2.5.3.9 — Home Product alignment and Trusted Experience action. */
.section-action{display:flex;justify-content:flex-start;margin-top:0}
.section-action .text-link{margin:0}


/* V0811 V2.5.3.10 — requested footer logo, editable contact panel, and Services text toggle. */
.site-footer .footer-brand{
  width:170px;
  height:77px;
}

.service-card-toggle{
  display:block;
  width:auto;
  height:auto;
  margin:18px auto 0;
  padding:6px 8px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#087e9a;
  font-size:14px;
  line-height:1.25;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.service-card-toggle:hover{border-color:transparent;color:var(--brand-secondary)}
.service-card-toggle:focus-visible{outline:2px solid var(--brand-accent);outline-offset:4px}

.contact-details-freeform .contact-panel-content>h4:first-child{
  margin:0 0 11px;
  color:var(--brand-accent);
  font-size:12px;
  line-height:1.4;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.contact-details-freeform .contact-panel-content>h3{
  margin:0 0 10px;
  color:var(--ink);
}
.contact-details-freeform .contact-panel-content>p{
  margin:0 0 14px;
  color:var(--muted);
}
.contact-details-freeform .contact-panel-content>div{
  border-top:1px solid var(--line);
  padding:13px 0;
  color:var(--muted);
}
.contact-details-freeform .contact-panel-content>div strong{
  display:block;
  margin-bottom:3px;
  color:var(--ink);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.contact-details-freeform .contact-panel-content a{color:inherit;text-decoration:none}
.contact-details-freeform .contact-panel-content a:hover{color:var(--brand-secondary)}
.contact-details-freeform .contact-panel-content>blockquote{
  margin:24px 0 0;
  border-left:3px solid var(--brand-accent);
  padding:10px 12px;
  background:#edfafd;
  color:var(--ink);
  font-weight:700;
}
.contact-details-freeform .contact-panel-content>blockquote p{margin:0;color:inherit}
.contact-details-freeform .contact-panel-content>ul,
.contact-details-freeform .contact-panel-content>ol{padding-left:20px;color:var(--muted)}

@media(max-width:640px){
  .site-footer .footer-brand{
    width:153px;
    height:69px;
  }
}
