/* Shared visual finish. Content and equipment photography remain unchanged. */
:root{--graphite:#20282e;--ink:#232c33;--muted:#59656e;--line:#dde3e7;--pale:#f4f6f7;--soft-shadow:0 8px 28px rgb(25 35 45 / 6%);--section-space:clamp(52px,6vw,88px)}
.site-header{box-shadow:0 4px 18px rgb(25 35 45 / 4%)}
.nav a:after{transform-origin:left}
.eyebrow{letter-spacing:.15em}
.section-heading{margin-bottom:38px}
.section-heading .eyebrow,.history-heading>.eyebrow{display:flex;align-items:center;gap:12px}
.section-heading .eyebrow:before,.history-heading>.eyebrow:before{content:"";width:24px;height:2px;flex-shrink:0;background:currentColor}
.section-heading h2{letter-spacing:-.025em}
.section-heading>.text-link{padding-bottom:6px;border-bottom:1px solid #d8a7aa}
.btn{min-height:52px}

/* The first screen pairs a quiet dark field with the complete production-line image. */
.home-hero{background:var(--graphite);color:#fff;border-bottom:0}
.hero-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.25fr);gap:clamp(30px,4vw,64px);padding-block:60px 64px}
.hero-copy{min-width:0}
.hero-copy>.eyebrow{color:#ffb1b4;font-size:12px;letter-spacing:.16em;line-height:1.8;margin-bottom:24px}
.home-hero h1{font-size:clamp(34px,3.2vw,48px);line-height:1.4;letter-spacing:-.025em;margin-bottom:26px}
.hero-copy .hero-subtitle{color:#f4f6f7;font-size:20px;line-height:1.7;margin-bottom:16px}
.hero-copy>p{color:#c6cdd2;font-size:16px;line-height:1.95;margin-bottom:30px}
.hero-copy .btn-outline{color:#fff;border-color:#82909a}
.hero-copy .btn-outline:hover{color:var(--ink);border-color:#fff;background:#fff}
.hero-tags{color:#bec8ce;margin-top:32px;gap:20px}
.hero-tags>span+span{border-color:#58646d;padding-left:20px}
.hero-picture{border:0;box-shadow:0 22px 48px rgb(0 0 0 / 20%);isolation:isolate}
.hero-picture:before{left:0;top:-4px;width:88px;height:4px;z-index:1}
.hero-picture img{max-height:none;aspect-ratio:1672/941;object-fit:contain}
.hero-picture figcaption{font-size:14px;padding:16px 20px;color:#4b5963;border-top-color:#e4e8eb}
html:is([data-lang=en],[data-lang=fr]) .home-hero h1{font-size:clamp(30px,2.7vw,41px);line-height:1.25;letter-spacing:-.025em}
.range-strip{background:#fff;box-shadow:0 5px 18px rgb(25 35 45 / 3%)}
.range-strip .shell{grid-template-columns:repeat(3,minmax(0,1fr))}
.range-strip a{position:relative;gap:20px;padding:28px 26px;min-height:94px}
.range-strip a:after{content:"";position:absolute;inset:auto 0 -1px;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left}
.range-strip a>span:first-child{font-size:14px;letter-spacing:.08em;color:#7b858d;font-variant-numeric:tabular-nums}
.range-strip a>b{display:block;font-size:22px;color:var(--red)}
.range-strip a:hover:after,.range-strip a:focus-visible:after{transform:scaleX(1)}

/* Consistent image frames and readable card bodies across all catalogues. */
.equipment-card,.application-card,.home-news-card{box-shadow:none}
.card-image,.application-picture{background:#f5f6f7;border-bottom-color:#e7e9eb}
.card-copy{padding:26px}
.card-copy p{font-size:16px;line-height:1.85}
.card-link{padding-top:18px;border-top:1px solid #e8eaec}
.card-link>span[aria-hidden]{font-size:20px;line-height:1}
.application-copy{padding:30px}
.application-copy>.text-link{width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}
.application-flow-labels{row-gap:10px}
.solution-overview{align-items:stretch;gap:44px}
.solution-overview>figure{align-self:center;background:#fff;padding:20px;border:1px solid var(--line);box-shadow:var(--soft-shadow)}
.solution-overview figcaption{font-size:14px;line-height:1.7;margin-top:16px}
.solution-list>a{padding:22px 10px;gap:20px}
.solution-list .index{color:#79848d;font-variant-numeric:tabular-nums}
.solution-list h3{margin:0;font-size:19px;line-height:1.6}
.solution-list>a>span:last-child{color:var(--red);font-size:21px;flex-shrink:0}
.company-summary .facts{border-top:0;gap:18px 30px}
.company-summary .facts>[data-stat]{padding:24px 0;border-top:1px solid #cbd1d5;border-bottom:0}
.facts strong.stat-number{font-size:clamp(42px,4.2vw,58px);color:var(--ink);letter-spacing:-.04em;font-weight:400}
.inline-facts>[data-stat]{padding-top:26px}
.inline-facts strong.stat-number{font-size:clamp(40px,3.8vw,54px);letter-spacing:-.035em;font-weight:400}
.facts>[data-stat]>span,.inline-facts>[data-stat]>span{margin-top:15px}
.credential-highlight-grid>a{background:#f5f6f7;border-top-width:3px;padding:28px}
.credential-highlight-grid p{font-size:16px}
.client-grid li{border-color:#e5e8eb}
.company-panorama{box-shadow:var(--soft-shadow)}

/* A common title treatment gives each inner page a clear opening. */
.page-heading{padding:38px 0 48px;background:linear-gradient(110deg,#f0f3f5,#fafbfc);border-bottom-color:#e5e8eb}
.page-heading>.shell{position:relative;padding-left:30px;border-left:3px solid var(--red)}
.page-heading .breadcrumb{margin-bottom:20px}
.page-heading h1{font-size:clamp(32px,3.6vw,48px);letter-spacing:-.025em;line-height:1.35;margin-bottom:16px}
.page-heading p{font-size:17px;line-height:1.9;max-width:850px}
.detail-photo{background:#f7f8f9;padding:22px;box-shadow:var(--soft-shadow)}
.detail-summary h1{letter-spacing:-.025em}
.detail-highlights{gap:8px}
.detail-highlights>span{border-left:2px solid #cbd1d5;padding:6px 12px}
.product-section-nav{gap:12px 28px;border-top:1px solid var(--line);background:#f8f9fa;padding:18px 20px}
.product-chapter h2,.career-description h3{padding-left:16px;border-left:3px solid var(--red)}
.product-spec-panel{background:#f7f8f9;padding:24px 20px;border-top-width:3px}
.product-spec-panel .spec-table th{background:#edf0f2}
.product-spec-panel .spec-table td{background:#fff}
.solution-routing{background:#f6f7f8;border-top:3px solid var(--red);box-shadow:0 5px 18px rgb(25 35 45 / 4%)}
.solution-connection{background:#f7f8f9;padding-right:22px}
.career-position-heading{padding:24px 28px 0;background:#f4f6f7;border-top:3px solid var(--red)}
.career-position-heading .career-facts{border-bottom:0}
.career-description{padding-inline:8px}
.career-application{border-left:3px solid var(--red)}
.news-row,.article-row{padding-inline:14px}
.home-news-card{border-top:3px solid var(--red)}
.inquiry-panel{border-top:3px solid var(--red);box-shadow:var(--soft-shadow)}
.form-field input:focus-visible,.form-field textarea:focus-visible{border-color:var(--red)}
.consultation-portrait{box-shadow:var(--soft-shadow)}

/* The closing enquiry block echoes the hero, with one clear red action. */
.project-cta{position:relative;background:var(--graphite);padding:56px 0;border-top:1px solid #414d56}
.project-cta .shell{border-left:3px solid var(--red);padding-left:28px;flex-wrap:wrap}
.project-cta .btn{max-width:100%}
.project-cta h2{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.025em;margin-bottom:14px}
.project-cta p{color:#c6cdd2;max-width:790px;line-height:1.85}
.project-cta .btn-white{background:var(--red);color:#fff;border-color:var(--red)}
.project-cta .btn-white:hover{background:var(--red-dark);border-color:var(--red-dark)}
.site-footer{background:#181f24;border-top:1px solid #38434c}
.footer-grid{padding-block:58px 44px}
.footer-grid h3{letter-spacing:.02em}
.footer-bottom{border-color:#35414a}

@media(min-width:1121px){
 .section:not(.client-section):not(.solution-page){padding-block:var(--section-space)}
 .home-products{gap:30px}
}
@media(max-width:1120px){
 .hero-grid{padding-block:48px 52px;gap:32px}
 .home-hero h1{font-size:36px}
 .hero-copy .hero-subtitle{font-size:18px}
 .range-strip a{padding:24px 18px;gap:14px}
 .application-copy{padding:24px}
 .card-copy{padding:22px}
}
@media(max-width:980px){
 .hero-grid{grid-template-columns:1fr;gap:40px}
 .hero-copy{max-width:760px}
 .home-hero h1{font-size:clamp(32px,4.8vw,43px)}
 .hero-picture{width:100%;max-width:820px;margin-inline:auto}
 .solution-overview{gap:28px}
 .solution-list>a{padding:18px 4px;gap:14px}
 .solution-list h3{font-size:18px}
}
@media(max-width:780px){
 .hero-grid{padding-block:36px 40px;gap:32px}
 .hero-copy>.eyebrow{font-size:11px;margin-bottom:20px;letter-spacing:.11em}
 .home-hero h1{font-size:clamp(29px,5.8vw,38px);line-height:1.45;margin-bottom:22px}
 .hero-copy>p{font-size:16px;line-height:1.85;margin-bottom:24px}
 .hero-picture figcaption{padding:13px 16px;font-size:13px}
 .hero-tags{margin-top:24px;gap:14px;flex-wrap:wrap}
 .hero-tags>span+span{padding-left:14px}
 .range-strip .shell{grid-template-columns:1fr}
 .range-strip a{padding:20px 18px;min-height:72px;gap:20px;font-size:16px}
 .range-strip a>b{display:block}
 .section-heading{margin-bottom:28px}
 .card-copy,.application-copy{padding:24px 20px}
 .solution-overview>figure{padding:16px}
 .solution-list>a{padding:20px 8px}
 .solution-list h3{font-size:19px}
 .company-summary .facts{gap:10px 24px}
 .credential-highlight-grid>a{padding:24px}
 .page-heading{padding-block:28px 32px}
 .page-heading>.shell{padding-left:18px}
 .page-heading h1{font-size:32px}
 .page-heading p{font-size:16px}
 .page-heading .breadcrumb{gap:9px;font-size:13px}
 .detail-photo{padding:16px}
 .product-section-nav{padding:16px;gap:10px 18px}
 .career-position-heading{padding:22px 20px 0}
 .career-description{padding-inline:0}
 .news-row,.article-row{padding-inline:0}
 .project-cta{padding-block:38px}
 .project-cta .shell{padding-left:20px}
 .footer-grid{padding-block:40px 30px}
}

/* Motion is short and only used on devices that support hovering. */
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .range-strip a:after{transition:transform .3s cubic-bezier(.2,.65,.25,1)}
 .application-card,.home-news-card,.credential-highlight-grid>a{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
 .application-card:hover,.home-news-card:hover,.credential-highlight-grid>a:hover{transform:translateY(-4px);box-shadow:var(--soft-shadow);border-color:var(--red)}
 .application-picture{overflow:hidden}
 .application-picture img{transition:transform .45s cubic-bezier(.2,.65,.25,1)}
 .application-card:hover .application-picture img{transform:scale(1.015)}
 .solution-list>a,.news-row,.article-row{transition:background .22s ease}
 .solution-list>a:hover,.news-row:hover,.article-row:hover{background:#edf0f2}
 .card-link>span[aria-hidden]{transition:transform .25s ease}
 .equipment-card:hover .card-link>span[aria-hidden]{transform:translateX(4px)}
}

/* Site-wide editorial rhythm. Keep images and technical information in the foreground. */
body{text-rendering:optimizeLegibility}
::selection{background:#f3c8ca;color:#20282e}
h1,h2,h3{text-wrap:pretty}
:is(.hero-copy,.page-heading,.section-heading,.detail-summary) h1,
.section-heading h2{text-wrap:balance}
:is(.hero-copy,.detail-summary,.card-copy,.application-copy,.footer-grid>div,.contact-grid>div,.careers-layout>*,.catalog-layout>*,.solution-overview>*){min-width:0}
:is(.card-copy,.reading,.detail-summary,.contact-item,.footer-contact,.career-position-heading){overflow-wrap:anywhere}
.btn{border-radius:3px;text-align:left}
.btn:focus-visible,.text-link:focus-visible{outline-offset:5px}
.text-link{line-height:1.55}
.eyebrow{font-size:12px}
.section-heading p{line-height:1.8}
.site-header{background-image:linear-gradient(180deg,rgb(248 251 253 / 88%),rgb(248 251 253 / 74%)),url('../img/company-navigation-panorama.png');padding-bottom:0;box-shadow:0 1px 12px rgb(25 35 45 / 5%)}
.site-header .header-inner{min-height:92px}
.site-header .nav>a,.site-header .nav-products>a{font-weight:600}
.lang-switch{gap:2px}
.lang-switch :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:30px;padding:6px 4px;border-radius:3px}
.lang-switch :is(a,button).active,.lang-switch a[aria-current]{background:#fff;color:var(--red);box-shadow:0 1px 5px #26344012}
.lang-switch>span{color:#84909a;font-size:11px}
.nav-submenu{border-radius:0 0 4px 4px;box-shadow:0 12px 30px #2634401c}
.site-header .nav .nav-submenu a{border-radius:2px}
.menu-toggle{border-color:#aebbc4;border-radius:3px;background:#ffffffc9}
.utility{font-size:12px;background:#f5f7f8}
.utility .shell{min-height:32px}
.hero-picture{border-radius:4px;box-shadow:0 16px 40px #0003}
.carousel-images{border-radius:4px 4px 0 0}
.carousel-footer{padding:14px 18px;gap:12px}
.carousel-controls button{border-radius:3px}
.hero-picture:before{width:64px;height:3px;top:-3px}
.range-strip{box-shadow:none}
.range-strip a{min-height:84px;padding-block:23px}
.range-strip a:hover{background:#f7f8f9}
.equipment-card,.application-card,.home-news-card{border-color:var(--line);border-radius:4px}
.card-image,.application-picture{border-radius:3px 3px 0 0}
.card-image{padding:10px;background:#f7f8f9}
.card-copy h3{font-size:22px;line-height:1.5}
.card-copy p{line-height:1.8}
.card-link{font-weight:500;font-size:14px}
.catalog-layout{gap:32px;grid-template-columns:200px minmax(0,1fr)}
.category-nav{background:#f7f8f9;border-top-width:2px;border-radius:0 0 3px 3px}
.category-nav h2{background:transparent;font-size:16px}
.category-nav a{font-size:14px;line-height:1.7;padding-block:15px}
.category-count{color:#66737d}
.catalog-section>h2{font-size:26px;line-height:1.45;margin-bottom:26px;padding-bottom:18px}
.catalog-grid .card-copy{padding:20px}
.catalog-grid .card-copy h3{font-size:19px;line-height:1.55}
.detail-top{gap:clamp(30px,4vw,60px)}
.detail-photo{border-radius:4px;box-shadow:none;background:#f7f8f9;padding:24px}
.detail-summary h1{font-size:clamp(28px,2.6vw,38px);line-height:1.45}
.detail-summary>p{font-size:16px;line-height:1.9}
.detail-highlights>span{border:1px solid #dce2e6;border-radius:2px;background:#f6f8f9;color:#52616c;font-size:13px}
.product-section-nav{background:transparent;padding:18px 0;gap:8px 24px}
.product-section-nav a{padding:8px 0;line-height:1.5}
.product-reading-grid{gap:clamp(28px,4vw,56px)}
.product-spec-panel{padding:24px;border-top:2px solid var(--red);border-radius:0 0 4px 4px}
.product-spec-panel h2{font-size:21px}
.spec-table{font-variant-numeric:tabular-nums}
.spec-table :is(td,th){overflow-wrap:anywhere}
.engineering-table thead th{color:var(--ink)}
.engineering-table tbody tr:nth-child(even){background:#f8fafb}
.engineering-table-wrap{border-radius:3px;scrollbar-width:thin}
.solution-list>a{padding-block:22px}
.solution-list>a:hover .index{color:var(--red)}
.solution-routing{box-shadow:none;border-top-width:2px}
.business-groups>a,.credential-highlight-grid>a{border-top-width:2px;border-radius:0 0 3px 3px}
.company-profile-copy{max-width:920px}
.company-profile-copy p{line-height:1.95}
.client-grid{gap:12px}
.client-grid li{border-radius:3px}
.reading{max-width:880px}
.reading>p,.reading section>p,.reading li{line-height:1.95}
.reading h2{font-size:26px;line-height:1.5;margin-top:36px}
.reading h3{font-size:21px;line-height:1.55}
.reading .article-meta{color:#67757f;line-height:1.8;border-bottom-color:#dce3e8}
.reading .article-lead{font-size:19px;line-height:1.85;color:#394954}
.article-contents{padding:20px 0;gap:12px 24px}
.article-sources{background:#f6f8f9;border:1px solid var(--line);padding:20px 24px;border-radius:3px}
.article-sources h2{margin-top:0;font-size:19px}
.article-sources li{line-height:1.75}
.article-row,.news-row{padding-block:30px}
.article-row h2,.news-row h3{font-size:22px;line-height:1.55}
.article-row p,.news-row p{line-height:1.8}
.news-feature{border-top-width:2px;border-radius:0 0 4px 4px}
.news-feature h2{letter-spacing:-.015em}
.gallery-grid{gap:28px}
.gallery-item{border-radius:4px}
.gallery-item>a{border-radius:3px 3px 0 0;padding:12px}
.gallery-item figcaption{padding:24px}
.gallery-item h3{font-size:20px}
.contact-grid{gap:clamp(32px,5vw,72px)}
.contact-item:first-child{padding-top:0}
.contact-item h3{font-size:13px;letter-spacing:.02em}
.contact-item>a{font-size:clamp(20px,2.1vw,28px);font-variant-numeric:tabular-nums}
.inquiry-panel{padding:32px;border-top-width:2px;border-radius:0 0 4px 4px;box-shadow:none}
.form-field{gap:9px;font-size:14px;font-weight:500}
.form-field :is(input,textarea){min-height:48px;border:1px solid #aebbc4;border-radius:3px;padding:12px 14px;font-size:16px;font-weight:400}
.form-field textarea{min-height:160px;line-height:1.75}
.form-field :is(input,textarea)::placeholder{color:#73818c;opacity:1}
.form-field :is(input,textarea):focus-visible{outline:2px solid #2367a6;outline-offset:2px;border-color:#2367a6}
.form-note{line-height:1.8}
.career-position-heading{border-top-width:2px;border-radius:0 0 4px 4px}
.career-position-heading h2{letter-spacing:-.015em}
.career-facts{gap:10px 24px}
.career-description li{padding-left:4px;margin-bottom:14px}
.site-search-form input{border-radius:3px;border-color:#aebbc4}
.site-search-results a{padding:26px 16px;border-radius:3px}
.site-search-results h2{font-size:22px}
.site-search-results a:focus-visible{outline-offset:-3px}
.search-result-type{font-size:13px;letter-spacing:.02em}
.project-cta .shell{border-left-width:2px}
.footer-grid{gap:36px}
.footer-grid h3{font-size:15px}
.footer-grid>div>a{line-height:1.75;padding-block:3px;margin-bottom:6px}
.footer-intro img{border-radius:2px}
.footer-contact p,.footer-intro p{color:#bec7ce}
.footer-bottom{color:#aeb9c2;line-height:1.8;flex-wrap:wrap}

/* Responsive dimensions also accommodate longer English and French labels. */
@media(min-width:1121px) and (max-width:1400px){
 .site-header .header-inner{gap:14px}
 .site-header .brand,.site-header .brand img{width:168px;flex-basis:168px}
 .site-header .nav{gap:12px}
 .site-header .nav a{font-size:14px}
 html[data-lang=fr] .site-header .nav{gap:9px}
 html[data-lang=fr] .site-header .nav a{font-size:13px}
}
@media(max-width:1120px){
 .site-header .header-inner{min-height:76px}
 .site-header .nav{padding:12px 24px 24px;max-height:calc(100dvh - 80px)}
 .site-header .nav a{white-space:normal}
 .catalog-layout{grid-template-columns:180px minmax(0,1fr);gap:24px}
 .hero-grid{padding-block:44px}
}
@media(max-width:980px){
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .hero-copy{max-width:760px}
 .hero-picture{max-width:880px}
}
@media(max-width:780px){
 .catalog-layout{grid-template-columns:minmax(0,1fr);gap:30px}
 .section:not(.client-section):not(.solution-page){padding-block:52px}
 .site-header .header-inner{min-height:72px}
 .hero-grid{padding-block:36px 40px}
 .home-hero h1{font-size:32px;line-height:1.4}
 html:is([data-lang=en],[data-lang=fr]) .home-hero h1{font-size:32px;line-height:1.2}
 .hero-copy .hero-subtitle{font-size:18px;line-height:1.6}
 .hero-copy>.eyebrow{margin-bottom:16px}
 .hero-tags{line-height:1.7}
 .range-strip a{min-height:68px;padding:18px}
 .page-heading{padding-block:28px 34px}
 .page-heading h1{font-size:30px;line-height:1.4}
 .page-heading>.shell{padding-left:16px;border-left-width:2px}
 .section-heading h2{font-size:27px;line-height:1.4}
 .card-copy h3{font-size:21px}
 .detail-photo{padding:16px}
 .detail-top{gap:28px}
 .detail-summary h1{font-size:28px}
 .product-section-nav{gap:6px 20px}
 .product-spec-panel{padding:22px 16px}
 .product-reading-grid{gap:24px}
 .reading h2{font-size:24px}
 .reading .article-lead{font-size:18px}
 .article-sources{padding:20px 16px}
 .article-row h2,.news-row h3{font-size:20px}
 .article-row,.news-row{padding-block:24px}
 .gallery-grid{gap:24px}
 .gallery-item figcaption{padding:20px}
 .inquiry-panel{padding:24px 20px}
 .contact-grid{gap:36px}
 .footer-grid{gap:28px}
 .site-search-results a{padding:24px 4px}
 .site-search-results h2{font-size:20px}
}
@media(max-width:600px){
 .carousel-footer{flex-wrap:wrap;padding:12px 14px 8px;gap:4px}
 .carousel-captions{flex-basis:100%}
 .hero-tags{gap:10px;font-size:12px}
 .hero-tags>span+span{padding-left:10px}
 .hero-actions .btn{flex:1 1 180px;justify-content:center;padding-inline:16px}
 .page-heading h1{font-size:28px}
 .inquiry-panel{padding:24px 16px}
 .reading{font-size:16px}
 .footer-grid>div>a{padding-block:5px}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .equipment-card:hover,.application-card:hover,.home-news-card:hover,.credential-highlight-grid>a:hover{transform:translateY(-2px);box-shadow:0 8px 22px #2634400d}
 .site-search-results a:hover{background:#f5f7f8}
}
