/* Shared, responsive photographic design. All content stays visible without JS. */
:root{--cg-ink:#102c3c;--cg-muted:#4d6070;--cg-paper:#f7f5ef;--cg-gold:#ecb843;--cg-line:#dce3e5;--cg-serif:Georgia,'Times New Roman',serif;--max:1280px}
html{scroll-padding-top:100px}
body{font-family:'Segoe UI',Arial,sans-serif;font-size:16px;color:var(--cg-ink);background:#fff}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #087c91!important;outline-offset:5px!important}
img{max-width:100%}
body :is(.container,.pr-container){width:min(1280px,calc(100% - 64px))!important;margin-inline:auto}
body .site-header .navrow{width:min(1320px,calc(100% - 64px))!important;min-height:88px!important}
body .site-header .brand img{width:190px!important;max-height:62px!important}
body .site-header .nav>a{font-size:13px!important;padding:12px 10px!important}
body .site-header .nav>a.active{color:#74500b!important;text-decoration:underline;text-underline-offset:7px}
body .site-header .nav .quote-nav{background:var(--cg-gold)!important;color:#102c3c!important;border-color:var(--cg-gold)!important;border-radius:5px!important;min-height:46px!important;text-decoration:none}
body .site-header .nav .quote-nav.active{color:#102c3c!important}
body main :is(.section,.pr-section){padding-block:72px!important}
body main :is(p,li){line-height:1.75}
body main :is(.section-head,.pr-section-head){gap:32px;margin-bottom:30px}
body main :is(.section-head,.pr-section-head) h2{font-size:clamp(28px,3.2vw,42px)!important;line-height:1.13!important;letter-spacing:-.035em}
body main :is(.section-head,.pr-section-head)>p{font-size:15px!important;color:var(--cg-muted)!important;max-width:520px}
body main :is(.subhead,.pr-eyebrow,.pr-card-kicker,.eyebrow){font-size:11px!important;letter-spacing:.14em!important;color:#79550c!important;font-weight:750}
body main :is(.pr-card-body,.body,.case-body) p{font-size:15px!important;color:var(--cg-muted)!important}
body main :is(.pr-text-link,.pr-directory-row>a){color:#79550c!important;font-size:14px!important}
body :is(.breadcrumbs,.pr-crumbs),body :is(.breadcrumbs,.pr-crumbs) :is(b,.container,.pr-container){color:#4d6070!important;font-size:12px!important}
body main :is(.pr-tag,.pr-tag-row span){color:#425569!important}
body main :is(.field-help,.fb-auto-note){color:#4d6070!important;font-size:13px!important}
body main :is(.mini span,.mini p){font-size:13px!important;color:#4d6070!important}
body main :is(.btn,.pr-btn){min-height:46px;padding:12px 22px!important;border-radius:5px!important;font-size:14px!important;font-weight:650}
body main :is(.btn.primary,.pr-btn.pr-primary){background:var(--cg-gold)!important;border-color:var(--cg-gold)!important;color:#102c3c!important}
body main :is(.pr-card,.visual-card,.case-card,.resource-card){border-radius:12px!important;border:1px solid var(--cg-line)!important;overflow:hidden;box-shadow:0 6px 24px #102c3c06}
body main a:is(.pr-card,.visual-card,.case-card){transition:transform .2s ease,box-shadow .2s ease}
body main a:is(.pr-card,.visual-card,.case-card):hover{transform:translateY(-4px);box-shadow:0 15px 35px #102c3c12}
body main .pr-card-body{padding:24px!important}
body main .pr-card-media{aspect-ratio:16/10}
body main :is(.pr-card-media,.case-photo,.media,.cg-service-gallery) img{object-fit:cover}
body main#main section.cg-image-backed-hero{background-image:linear-gradient(90deg,rgba(5,24,36,.96),rgba(5,24,36,.88) 36%,rgba(5,24,36,.2) 100%),var(--cg-hero-background-art)!important;background-size:cover!important;background-position:center,right center!important;min-height:390px;padding-block:76px!important}
body main#main section.cg-image-backed-hero :is(h1,h2,h3){color:#fff!important;line-height:1.08!important;letter-spacing:-.04em!important}
body main#main section.cg-image-backed-hero h1{font-size:clamp(36px,4.2vw,60px)!important;max-width:21ch!important}
body main#main section.cg-image-backed-hero :is(p,.pr-lede){font-size:17px!important;max-width:62ch!important;line-height:1.7!important;color:#f0f4f5!important}
body main#main section.cg-image-backed-hero :is(.pr-eyebrow,.eyebrow,.subhead,.pr-gold){color:#f4ca76!important}
body main#main section.cg-image-backed-hero :is(.btn.outline,.pr-btn:not(.pr-primary)){color:#fff!important;background:rgba(6,26,37,.7)!important;border:1px solid #b9c9d2!important}
body main :is(.dark-section,.pr-dark) :is(.subhead,.pr-eyebrow){color:#f4ca76!important}
body main .dark-section .family-card{background:#123b4e!important;border-color:#56707c!important;color:#e5edf1!important}
body main .dark-section .family-card b{color:#fff!important}
body main .dark-section .family-card span{color:#e5edf1!important}
body main#main .dark-section .section-head>p{color:#d6e2e9!important}
body main .pr-doc span{color:#4d6070!important}
body main .pr-doc a{color:#79550c!important}
body main .contact-v27-card small,body main .contact-v27-direct small{color:#79550c!important}
body main .fb-step .fb-auto-note{color:#4d6070!important}
body main#main :is(.subhead,.am3-kicker,.cg-front-panel-head small,.mm5-cap-grid>article>span){color:#79550c!important}
body main#main .ins5-sheet-meta small,body main#main .insight-meta em{color:#4d6070!important;font-size:12px!important}
body main#main :is(.breadcrumbs,.pr-crumbs) a{text-decoration:underline;text-underline-offset:3px}
body main#main :is(p,li)>a:not([class*="btn"]){text-decoration:underline;text-underline-offset:3px}
body main#main .cg-case-depth-grid>article{background:#f1f5f6!important;color:#102c3c!important;border:1px solid #d3dce0!important}
body main#main .cg-case-depth-grid>article>b{color:#102c3c!important;background:transparent!important;font-size:14px!important}
body main#main .cg-case-depth-grid>article :is(p,span,li){color:#4d6070!important}
body main#main section.cg-image-backed-hero :is(.subhead,.am3-kicker){color:#f4ca76!important}
body main#main .dark-section :is(.subhead,.am3-kicker){color:#f4ca76!important}
body :is(.breadcrumbs,.pr-crumbs) a{text-decoration:underline!important;text-underline-offset:3px}
body main#main .cg-front-dark .cg-front-panel-head small{color:#f4ca76!important}
body main#main :is(.mm5-workflow-copy,.mm5-panel-dark) .subhead{color:#f4ca76!important}
body main#main .formula-card em{color:#4d6070!important}
body .cg-footer{background:#092432!important;padding:64px 0 24px!important}
body .cg-footer-grid{gap:40px!important;grid-template-columns:1.4fr 1fr 1fr 1.3fr!important}
body .cg-footer :is(p,a,small,span){font-size:14px;color:#d6e0e6!important;line-height:1.7}
body .cg-footer .cg-footer-heading{color:#f2c96e!important;font-size:14px;margin-bottom:18px}
body .cg-footer .cg-footer-logo-link img{width:200px;max-width:100%;height:auto}
body .cg-footer a:hover{color:#f2c96e!important;text-decoration:underline;text-underline-offset:4px}
body .cg-footer-socials{display:flex;gap:10px;flex-wrap:wrap}
body .cg-footer .cg-social-pill{background:transparent!important;border:1px solid #536b79!important;color:#fff!important;padding:8px 13px;border-radius:6px}
body .cg-footer-bottom{padding-top:24px!important;margin-top:40px!important;border-top:1px solid #35505f!important;display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}
body .cg-footer-cta{background:#eee9dd!important;padding:40px 0!important;color:#102c3c!important}
body .cg-footer-cta h2{color:#102c3c!important;font-size:clamp(24px,2.4vw,32px)!important;line-height:1.2}
body .cg-footer-cta p{color:#4d6070!important;font-size:15px}
body .cg-footer-cta-btn{background:#102c3c!important;color:#fff!important;border-radius:6px!important;padding:14px 22px!important;font-size:14px!important;white-space:nowrap}
.cg-symbol{font-size:18px;line-height:1}
/* Search and the photographic homepage */
body main#main section.cg-image-backed-hero.cg-photo-hero{min-height:660px!important;padding-block:96px!important;background-image:linear-gradient(90deg,#071e2cf5 0%,#071e2ceb 35%,#071e2c40 73%,#071e2c10 100%),var(--cg-hero-background-art)!important}
body main#main .cg-photo-hero .pr-hero-copy{max-width:740px!important}
body main#main section.cg-image-backed-hero.cg-photo-hero h1{font-size:clamp(44px,5vw,72px)!important;line-height:1.03!important;max-width:18ch!important;font-weight:600}
.cg-photo-hero .pr-gold{font-family:var(--cg-serif);font-weight:normal;font-style:italic}
.cg-photo-hero .pr-lede{max-width:52ch!important;margin-block:24px!important}
.cg-photo-hero .pr-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:28px}
.cg-hero-caption{position:absolute;bottom:28px;right:max(32px,calc((100vw - 1280px)/2));z-index:2;max-width:250px;color:#fff;border-left:2px solid var(--cg-gold);padding-left:14px;font-size:12px;line-height:1.6}
.cg-hero-path{display:flex;gap:24px;flex-wrap:wrap;margin-top:40px;color:#e5edf1;font-size:13px}
.cg-hero-path span{display:flex;gap:8px;align-items:center}
.cg-hero-path b{color:#f4ca76;font-size:11px}
body main .cg-search-section{background:var(--cg-paper);padding-block:36px!important;border-bottom:1px solid #e7e2d7}
.cg-search-top{display:grid;grid-template-columns:1fr 1.35fr;gap:40px;align-items:center}
.cg-search-top h2{font-size:28px;line-height:1.15;letter-spacing:-.04em;margin:0}
.cg-search-top p{font-size:14px;color:#4d6070;margin:9px 0 0}
.cg-search-input label{display:block;font-size:13px;font-weight:650;margin-bottom:8px}
.cg-search-input input{width:100%;min-height:56px;border:1px solid #a0afb5;background:#fff;border-radius:7px;padding:14px 18px;font-size:16px;color:#102c3c}
.cg-search-hints{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.cg-search-hints button{border:0;border-bottom:1px solid #a3b1b7;background:none;padding:4px 0;margin-right:10px;font-size:12px;color:#465d69}
.search-results.open{display:block;margin-top:24px;border-top:1px solid #d4dbdb;padding-top:20px}
.search-result-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;margin-bottom:16px;color:#425968}
.search-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.search-hit{background:#fff;border:1px solid var(--cg-line);padding:20px;border-radius:8px;display:flex;flex-direction:column;gap:9px}
.search-hit small{color:#79550c;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.search-hit b{font-size:17px;line-height:1.3}.search-hit span{font-size:13px;color:#4d6070;line-height:1.6}
.search-hit a{font-size:14px;color:#173e52;text-decoration:underline;text-underline-offset:4px;margin-top:auto;padding-top:10px}
.cg-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}
.cg-section-heading h2{font-size:clamp(30px,3.7vw,48px);line-height:1.1;letter-spacing:-.04em;margin:10px 0 0;font-weight:600}
.cg-section-heading>p{font-size:15px;color:#4d6070;max-width:420px;margin:0}
.cg-section-heading em{font-family:var(--cg-serif);font-weight:400;font-style:italic}
.cg-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cg-capability-card{position:relative;overflow:hidden;min-height:350px;border-radius:9px;background:#0a2637;display:flex;align-items:end;padding:28px;color:#fff}
.cg-capability-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#041923f5,#04192385 48%,#04192308);z-index:1}
.cg-capability-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.cg-capability-card:hover img{transform:scale(1.04)}
.cg-capability-card>div{position:relative;z-index:2}
.cg-capability-card .cg-number{position:absolute;top:22px;left:24px;z-index:2;border:1px solid #ffffff80;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;color:#fff;font-size:11px;background:#09243280}
.cg-capability-card h3{font-size:25px;line-height:1.15;color:#fff;margin:0 0 10px;letter-spacing:-.03em}
body main .cg-capability-card p{color:#e4ebee;font-size:14px;line-height:1.6;margin:0 0 18px}
.cg-capability-card .cg-card-link{color:#f4ca76;font-size:13px;font-weight:650}
.cg-workflow{background:var(--cg-paper)}
.cg-workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:40px}
.cg-workflow-step{border-top:1px solid #b6b8ae;padding-top:20px}
.cg-workflow-step span{font-size:12px;color:#79550c;letter-spacing:.12em}
.cg-workflow-step h3{font-size:23px;margin:20px 0 10px;letter-spacing:-.03em}
.cg-workflow-step p{color:#4d6070;font-size:15px;margin:0}
.cg-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.cg-work-card img{aspect-ratio:16/10;width:100%;object-fit:cover;border-radius:9px}
.cg-work-card small{display:block;margin-top:22px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#79550c}
.cg-work-card h3{font-size:25px;margin:9px 0;line-height:1.2;letter-spacing:-.03em}
.cg-work-card p{font-size:15px;color:#4d6070;margin:0 0 14px}
.cg-work-card .cg-card-link{font-size:14px;color:#173e52;text-decoration:underline;text-underline-offset:5px}
.cg-photography-note{color:#4d6070;font-size:12px;margin-top:24px}
/* Working engineering route selector and content libraries */
#engineering-routes{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
.desk-route-tab{display:flex;align-items:center;gap:11px;border:1px solid #b3c1c7;background:#fff;padding:13px 17px;border-radius:6px;font-size:14px;color:#163445}
.desk-route-tab span{font-size:11px;color:#637681}
.desk-route-tab.active{background:#102f40;color:#fff;border-color:#102f40}.desk-route-tab.active span{color:#f4ca76}
#engineering-route-detail{display:grid;grid-template-columns:.8fr 1.3fr;background:#fff;border:1px solid var(--cg-line);border-radius:12px;overflow:hidden;min-height:450px}
.desk-route-detail-media img{width:100%;height:100%;object-fit:cover}
.desk-route-detail-copy{padding:36px}
.desk-route-detail-copy h3{font-size:28px;line-height:1.2;letter-spacing:-.03em;margin:12px 0}
.desk-route-detail-copy p,.desk-route-detail-copy li{font-size:14px;color:#4d6070}
.desk-detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-block:24px}
.desk-detail-cols h4{font-size:14px;margin-bottom:10px}.desk-detail-cols ul{padding-left:18px}
.cg-library-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-block:22px}
.cg-library-tools label{display:grid;gap:6px;font-size:13px;flex:1;max-width:440px}
.cg-library-tools input{padding:12px 15px;border:1px solid #9aaeb9;border-radius:6px;background:#fff;min-height:46px;color:#102c3c;font-size:16px}
.pr-filters{display:flex;gap:8px;flex-wrap:wrap}
body main .pr-filter{border:1px solid #a7b7c0;background:#fff;color:#304d5e;padding:10px 15px;border-radius:24px;font-size:13px!important;min-height:42px;cursor:pointer}
body main .pr-filter.active{background:#133445;color:#fff;border-color:#133445}
[data-filter-status]{font-size:13px;color:#4d6070}[data-filter-empty]{padding:30px;border:1px dashed #a9b9c2;border-radius:8px;font-size:16px;color:#304d5e}
/* Accessible forms and usable engineering calculators */
body main :is(input,select,textarea){font-size:16px!important;min-height:44px;border-radius:6px!important;color:#17384c!important;background-color:#fff!important}
body main input:is([type=checkbox],[type=radio]){min-height:18px;min-width:18px;accent-color:#173e52}
#feedback-form label:has(input:focus-visible){outline:3px solid #087c91;outline-offset:4px}
.cg-new-enquiry{display:inline-block;margin:10px 0 0 8px;padding:8px 12px;border:1px solid #7e939d;border-radius:5px;background:#fff;color:#173e52;font-size:13px}
body main :is(.contact-v27-card,.pr-panel){border-radius:12px!important}
.cg-calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.cg-calculator{border:1px solid #cdd8de;border-radius:12px;background:#fff;padding:30px;min-width:0}
.cg-calculator h3{font-size:24px;line-height:1.2;margin:0 0 10px;letter-spacing:-.03em}
.cg-calculator>p{font-size:14px;color:#4d6070;margin:0 0 24px}
.cg-calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cg-calculator label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:#254558}
.cg-calculator label.cg-full{grid-column:1/-1}
.cg-calculator :is(input,select){width:100%;border:1px solid #9fadb6;padding:10px 12px}
.cg-calculator button{margin-top:22px;border:0;padding:13px 20px;border-radius:6px;background:#123546;color:#fff;font-size:14px;min-height:46px}
.cg-calc-result{margin-top:20px;background:#f0f4f4;border-left:3px solid #ecb843;padding:16px 18px;font-size:15px;min-height:60px;color:#17384c;line-height:1.6}
.cg-calc-result.error{border-color:#a32929;color:#8c2424;background:#fff1ef}
.cg-calculator .cg-calc-rfq{display:inline-block;margin-top:15px;color:#173e52;text-decoration:underline;text-underline-offset:4px;font-size:13px}
body .cg-botcha-launcher{min-height:50px!important;border-radius:28px!important;padding:9px 16px 9px 10px!important;box-shadow:0 6px 22px #071e2c28!important}
body .cg-botcha-launch-copy small{font-size:10px!important;color:#e2eaf0!important}
body .cg-botcha-launch-copy b{font-size:13px!important;color:#fff!important}
body .cg-botcha-chat{max-height:min(700px,calc(100dvh - 110px));width:min(420px,calc(100vw - 32px));border-radius:14px!important}
body .cg-feedback-tab{display:none!important}
body:has(main input:focus,main textarea:focus,main select:focus) .cg-botcha:not(.is-open){visibility:hidden;pointer-events:none}
@media(min-width:1051px){.cg-capability-card:nth-child(-n+2){min-height:380px}.cg-capability-card:first-child{grid-column:span 2}}
@media(max-width:1050px){
 body .site-header .navrow{min-height:74px!important}.site-header .nav{top:74px!important;max-height:calc(100dvh - 74px);overflow-y:auto}
 body .site-header .nav>a{font-size:15px!important;min-height:44px}
 body main#main section.cg-image-backed-hero.cg-photo-hero{min-height:600px!important;background-image:linear-gradient(90deg,#071e2cf5,#071e2cd9 55%,#071e2c70),var(--cg-hero-background-art)!important}
 .cg-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .cg-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .cg-search-top{grid-template-columns:1fr 1.25fr;gap:24px}
 .cg-section-heading{align-items:start}.cg-section-heading>p{max-width:340px}
}
@media(max-width:700px){
 body :is(.container,.pr-container),body .site-header .navrow{width:calc(100% - 40px)!important}
 body .site-header .brand img{width:166px!important}
 body main :is(.section,.pr-section){padding-block:48px!important}
 body main#main section.cg-image-backed-hero{padding-block:54px!important;min-height:340px;background-image:linear-gradient(90deg,#071e2cf2,#071e2cc9),var(--cg-hero-background-art)!important}
 body main#main section.cg-image-backed-hero h1{font-size:clamp(32px,8.7vw,46px)!important;max-width:100%!important}
 body main#main section.cg-image-backed-hero :is(p,.pr-lede){font-size:15px!important}
 body main#main section.cg-image-backed-hero.cg-photo-hero{min-height:620px!important;padding-top:60px!important;padding-bottom:86px!important;background-position:center,65% center!important}
 body main#main section.cg-image-backed-hero.cg-photo-hero h1{font-size:clamp(37px,10.2vw,56px)!important;max-width:16ch!important}
 .cg-photo-hero .pr-actions{gap:10px}.cg-photo-hero .pr-actions a{padding:12px 16px!important}
 .cg-hero-path{margin-top:28px;gap:18px;font-size:12px}.cg-hero-caption{right:20px;bottom:20px;font-size:11px;max-width:none;left:20px}
 .cg-search-top,.cg-section-heading{display:flex;flex-direction:column;align-items:stretch;gap:24px}
 .cg-search-input input{font-size:16px}.search-results-grid{grid-template-columns:1fr}
 .cg-capability-grid,.cg-work-grid,.cg-calculator-grid{grid-template-columns:1fr}
 .cg-capability-card{min-height:340px}.cg-section-heading>p{max-width:none}
 .cg-workflow-grid{gap:28px 20px}.cg-workflow-step h3{font-size:20px}
 #engineering-route-detail{grid-template-columns:1fr}.desk-route-detail-media img{height:230px}.desk-route-detail-copy{padding:24px}.desk-detail-cols{grid-template-columns:1fr;gap:12px}
 .desk-route-tab{padding:11px 13px;font-size:13px;flex:1 1 42%;justify-content:center}.desk-route-tab:last-child{flex-grow:0}
 .cg-library-tools{align-items:stretch;flex-direction:column;gap:12px}.cg-library-tools label{max-width:none}
 .cg-calculator{padding:22px}.cg-calculator-fields{gap:14px}.cg-calculator label{font-size:12px}
 body .cg-footer-grid{grid-template-columns:1fr 1fr!important;gap:32px 20px!important}.cg-footer-brand,.cg-footer-contact{grid-column:1/-1}
 body .cg-footer-cta-inner{display:flex;flex-direction:column;align-items:start;gap:20px}.cg-footer-cta-btn{white-space:normal}
 body .cg-botcha-launcher{padding:8px 12px 8px 8px!important}.cg-botcha-launch-copy small{display:none}
 body .cg-botcha{right:16px!important;bottom:16px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.cg-reveal{opacity:1!important;transform:none!important}}
/* Release 7: factual service scope and text-led layouts pending original photography. */
body .topbar{display:none!important}
body main#main section.cg-image-backed-hero,
body main#main section.cg-image-backed-hero.cg-home-hero{background-image:none!important;background-color:#0b2637!important;min-height:300px!important;padding-block:72px!important}
body main#main section.cg-home-hero{min-height:500px!important;display:flex;align-items:center}
body main#main section.cg-home-hero h1{font-size:clamp(40px,4.9vw,68px)!important;max-width:20ch!important;line-height:1.08!important;letter-spacing:-.04em!important;text-wrap:balance}
body main#main section.cg-home-hero .pr-lede{max-width:58ch!important;font-size:18px!important;margin-block:24px!important}
body main#main section.cg-image-backed-hero :is(.pr-hero-copy,.service-hero-copy){max-width:860px!important}
body main#main :is(.eyebrow,.pr-eyebrow,.subhead,.pr-card-kicker,.am3-kicker){color:#465f6e!important}
body main#main :is(.cg-image-backed-hero,.dark-section,.pr-dark,.cg-front-dark,.mm5-panel-dark,.mm5-workflow-copy) :is(.eyebrow,.pr-eyebrow,.subhead,.pr-card-kicker,.am3-kicker){color:#d9e5eb!important}
body .cg-footer .cg-footer-heading{color:#fff!important}
body main#main .cg-hero-path b,body main#main .cg-workflow-step>span{color:inherit!important}
body main#main :is(.section,.pr-section){padding-block:72px!important}
body main#main :is(.cg-capability-grid,.pr-grid-2,.pr-grid-3,.cg-work-grid,.cg-guide-grid){gap:24px!important}
body main#main .cg-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body main#main .cg-capability-card{grid-column:auto!important;display:flex!important;align-items:stretch!important;min-height:280px!important;background:#f3f6f6!important;border:1px solid #cad7dd!important;padding:32px!important;border-radius:8px!important;color:#123344!important}
body main#main .cg-capability-card:after{display:none!important}
body main#main .cg-capability-card .cg-number{position:static!important;display:block!important;flex-shrink:0!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;background:none!important;color:#5b7280!important;margin-right:22px!important;font-size:13px!important}
body main#main .cg-capability-card>div{display:flex!important;flex-direction:column!important;flex:1!important;min-width:0!important}
body main#main .cg-capability-card h3{color:#123344!important;font-size:26px!important;line-height:1.18!important;min-height:2.36em!important}
body main#main .cg-capability-card p{color:#425b69!important;font-size:15px!important;line-height:1.65!important;margin-bottom:24px!important}
body main#main .cg-capability-card .cg-card-link{color:#123344!important;text-decoration:underline!important;text-underline-offset:4px!important;margin-top:auto!important;min-height:44px!important;display:flex!important;align-items:end!important}
body main#main .cg-capability-card:hover{border-color:#53778a!important;background:#e9f0f2!important}
body main#main :is(.pr-project,.pr-card,.pr-article,.cg-work-card){display:flex!important;flex-direction:column!important;height:100%!important;min-width:0!important}
body main#main :is(.pr-project-body,.pr-card-body,.pr-article-body,.cg-work-card){flex:1!important;display:flex!important;flex-direction:column!important}
body main#main :is(.pr-project-body,.pr-card-body,.pr-article-body){padding:28px!important}
body main#main :is(.pr-project,.cg-work-card){border:1px solid #cad7dd!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important}
body main#main .cg-work-card{padding:28px!important}
body main#main .cg-work-card small{margin-top:0!important;color:#465f6e!important}
body main#main :is(.pr-project,.pr-card,.pr-article,.cg-work-card) :is(.pr-text-link,.cg-card-link){margin-top:auto!important;padding-top:20px!important;min-height:44px!important;color:#153f55!important}
body main#main :is(.pr-card,.pr-project,.pr-article) h3{min-height:2.6em!important;line-height:1.3!important}
body main#main .pr-directory-row{display:grid!important;grid-template-columns:1fr 1.5fr auto!important;gap:24px!important;align-items:center!important;padding:24px 0!important}
body main#main .pr-directory-row h3{font-size:19px!important;margin:0!important}
body main#main .pr-directory-row p{margin:0!important}
body main#main .pr-directory-row a{display:flex!important;align-items:center!important;min-height:44px!important;color:#153f55!important;text-decoration:underline!important}
body main#main :is(.project-feature,.content-hero-grid,.mm5-story-grid,.mm5-pm-grid,.ed5-process-grid,.ins5-criteria-grid):not(:has(img)){grid-template-columns:1fr!important}
body main#main #engineering-route-detail{grid-template-columns:1fr!important;min-height:0!important}
body main#main :is(.cg-case-visual-grid,.cg-service-story-grid,.cg-service-visual-grid) figure{height:auto!important;min-height:0!important;background:#f3f6f6!important;padding:24px!important;display:flex!important;flex-direction:column!important;justify-content:start!important;aspect-ratio:auto!important}
body main#main :is(.cg-case-visual-grid,.cg-service-story-grid,.cg-service-visual-grid) figcaption{position:static!important;color:#123344!important;background:none!important;padding:0!important}
body main#main .cg-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
body .cg-registration{margin-top:20px!important;font-size:12px!important}
body .cg-registration span{font-size:12px!important;overflow-wrap:anywhere}
body .cg-reveal{opacity:1!important;transform:none!important;visibility:visible!important}
body main#main .cg-search-hints button{min-height:44px!important;padding-block:8px!important}
body main#main [id]{scroll-margin-top:110px}
@media(max-width:700px){
 body main#main section.cg-image-backed-hero{padding-block:48px!important;min-height:260px!important}
 body main#main section.cg-home-hero{min-height:490px!important}
 body main#main section.cg-home-hero h1{font-size:clamp(36px,9.5vw,48px)!important;max-width:100%!important}
 body main#main section.cg-home-hero .pr-lede{font-size:16px!important}
 body main#main :is(.section,.pr-section){padding-block:48px!important}
 body main#main :is(.cg-capability-grid,.cg-guide-grid){grid-template-columns:1fr!important}
 body main#main .cg-capability-card{min-height:250px!important;padding:26px!important}
 body main#main .cg-capability-card h3{font-size:24px!important;min-height:0!important}
 body main#main .pr-directory-row{grid-template-columns:1fr!important;gap:8px!important}
 body main#main .pr-actions{gap:12px!important;display:flex!important;flex-wrap:wrap!important}
 body main#main .pr-actions a{min-height:48px!important}
}

/* Hidden filter results must stay hidden despite legacy card display rules. */
body main#main [hidden]{display:none!important}
body main#main .cg-section-heading>div{flex:1;min-width:0}
body main#main .cg-section-heading h2{max-width:24ch!important}

body main#main section.cg-image-backed-hero :is(.pr-eyebrow,.eyebrow,.subhead,.am3-kicker){color:#d9e5eb!important}
/* Former photo frames are now compact information cards, without empty image space. */
body main#main figure,
body main#main .am3-gallery-card{height:auto!important;min-height:0!important;aspect-ratio:auto!important;background:#f1f5f6!important;border:1px solid #cedae0!important;border-radius:8px!important;padding:26px!important;box-shadow:none!important;color:#123344!important;display:flex!important;align-items:flex-start!important;grid-row:auto!important;grid-column:auto!important}
body main#main figure::after,body main#main figure::before,body main#main .am3-gallery-card::after{display:none!important}
body main#main figure figcaption,body main#main .am3-gallery-card>div{position:static!important;padding:0!important;background:none!important;color:#123344!important}
body main#main figure figcaption :is(b,strong),body main#main .am3-gallery-card h3{color:#123344!important;font-size:19px!important;line-height:1.35!important}
body main#main figure figcaption :is(span,p),body main#main .am3-gallery-card p{color:#425e6d!important;font-size:14px!important;line-height:1.65!important}
body main#main figure figcaption small,body main#main .am3-gallery-card span{color:#465f6e!important;font-size:11px!important}
body main#main :is(.ed5-showcase-grid,.am3-gallery-grid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
body main#main .am3-card-media{height:auto!important;min-height:0!important;padding:20px 24px 0!important;background:none!important}
body main#main .am3-card-media>span{position:static!important;display:inline-block!important;font-size:12px!important;background:#e9eff1!important;color:#425e6d!important;box-shadow:none!important}
body main#main :is(.ed5-intro-media,.mm5-story-media,.mm5-pm-media,.ins5-story-media,.ins5-criteria-media){height:auto!important;min-height:0!important;aspect-ratio:auto!important;background:#f1f5f6!important;padding:26px!important;border:1px solid #cedae0!important;border-radius:8px!important;box-shadow:none!important;align-self:center}
body main#main :is(.ed5-intro-media,.mm5-story-media,.mm5-pm-media,.ins5-story-media,.ins5-criteria-media)>div{position:static!important;padding:0!important;background:none!important}
body main#main :is(.ed5-intro-media,.mm5-story-media,.mm5-pm-media,.ins5-story-media,.ins5-criteria-media) :is(b,small,p){color:#123344!important}
body main#main .cg-service-outcome-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;margin-top:24px!important}
body main#main .cg-service-outcome-strip>div{border-top:1px solid #b5c6cf!important;padding-top:16px!important;display:grid!important;gap:6px!important}
body main#main .cg-service-outcome-strip small{font-size:12px!important;color:#465f6e!important}
body main#main .cg-service-outcome-strip b{font-size:14px!important;line-height:1.5!important}
body main#main>section:not(.cg-image-backed-hero):not(.cg-search-section){padding-block:72px!important}
body:has(main#main) section.cg-footer-cta{background:#eee9dd!important;color:#123344!important;padding-block:40px!important}
body:has(main#main) section.cg-footer-cta h2{color:#123344!important}
body:has(main#main) section.cg-footer-cta p{color:#465f6e!important}
body:has(main#main) section.cg-footer-cta a{background:#123344!important;color:#fff!important;box-shadow:none!important}
@media(max-width:700px){
 body main#main :is(.ed5-showcase-grid,.am3-gallery-grid){grid-template-columns:1fr!important}
 body main#main .cg-service-outcome-strip{grid-template-columns:1fr 1fr!important}
 body main#main>section:not(.cg-image-backed-hero):not(.cg-search-section){padding-block:48px!important}
}
body main#main .am3-card-media{aspect-ratio:auto!important}
body main#main .am3-card-media>span{display:grid!important;place-items:center!important;width:30px!important;height:30px!important}
body main#main :is(.am3-gallery-grid,.ed5-showcase-grid){grid-template-rows:none!important;grid-auto-rows:auto!important}
/* Release 8: owner-requested generated illustrations, placed by service context. */
body main#main figure.cg-illustration{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:0!important;margin:0!important;background:#fff!important;border:1px solid #cad7dd!important;border-radius:8px!important;height:auto!important;min-height:0!important;overflow:hidden!important;grid-column:auto!important;grid-row:auto!important;box-shadow:none!important}
body main#main figure.cg-illustration>img{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:3/2!important;object-fit:contain!important;object-position:center!important;background:#182b33!important;flex-shrink:0!important}
body main#main figure.cg-illustration figcaption{position:static!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:18px 20px!important;background:#fff!important;color:#17384b!important;flex:1!important}
body main#main figure.cg-illustration figcaption b{color:#17384b!important;font-size:17px!important;line-height:1.35!important}
body main#main figure.cg-illustration .cg-generated-note{color:#536b79!important;font-size:12px!important;line-height:1.5!important;margin:0!important}
body main#main .cg-image-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;grid-template-rows:none!important;grid-auto-rows:auto!important;align-items:stretch!important}
body main#main .cg-image-gallery[data-image-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body main#main .cg-image-gallery[data-image-count="1"]{grid-template-columns:minmax(0,820px)!important;justify-content:center!important}
body main#main .cg-guide-note{font-size:12px!important;line-height:1.6!important;color:#536b79!important;max-width:90ch!important;margin:18px 0 0!important}
body main#main .cg-illustration-section .section-head{margin-bottom:28px!important}
/* Thumbnail frames show the complete generated composition, including technical edges. */
body main#main .cg-card-media{display:block!important;width:100%!important;overflow:hidden!important;flex-shrink:0!important;aspect-ratio:3/2!important;background:#182b33!important}
body main#main .cg-card-media img{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;aspect-ratio:3/2!important;transform:none!important}
body main#main .cg-capability-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:0!important;min-height:0!important;gap:0!important;background:#fff!important}
body main#main .cg-capability-card .cg-capability-body{padding:28px!important;display:flex!important;flex-direction:column!important;flex:1!important}
body main#main .cg-capability-card .cg-number{position:static!important;display:block!important;margin:0 0 14px!important;line-height:1!important}
body main#main .cg-capability-card h3{min-height:1.2em!important}
body main#main .cg-capability-card .cg-card-link{padding-top:16px!important}
body main#main .cg-work-card{padding:0 0 24px!important}
body main#main .cg-work-card>:not(.cg-card-media){margin-inline:26px!important}
body main#main .cg-work-card small{margin-top:24px!important}
body main#main :is(.pr-project,.pr-article)>.cg-card-media{border-radius:0!important}
/* One workshop illustration supports the homepage headline. The mobile version sits below the copy. */
body main#main section.cg-home-hero.cg-integrated-hero{position:relative!important;isolation:isolate!important;min-height:650px!important;display:flex!important;align-items:center!important;overflow:hidden!important;background:#0b2637!important}
body main#main section.cg-home-hero.cg-integrated-hero>.pr-container{position:relative!important;z-index:2!important;pointer-events:auto!important}
body main#main section.cg-home-hero.cg-integrated-hero .pr-hero-copy{max-width:700px!important}
body main#main section.cg-home-hero.cg-integrated-hero .pr-hero-copy a{pointer-events:auto!important}
body main#main section.cg-home-hero figure.cg-home-visual{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:78%!important;height:100%!important;border:0!important;border-radius:0!important;background:#0b2637!important;z-index:0!important;display:block!important;overflow:hidden!important}
body main#main section.cg-home-hero figure.cg-home-visual>img{position:absolute!important;inset:0!important;object-fit:contain!important;object-position:right center!important;width:100%!important;height:100%!important;background:#0b2637!important;aspect-ratio:auto!important}
body main#main section.cg-home-hero figure.cg-home-visual::after{content:''!important;position:absolute!important;inset:0!important;display:block!important;background:linear-gradient(90deg,#0b2637 0%,#0b2637ed 21%,#0b26378a 48%,#0b263710 76%)!important;pointer-events:none!important;z-index:1!important}
body main#main section.cg-home-hero figure.cg-home-visual figcaption{position:absolute!important;inset:auto 24px 20px auto!important;display:block!important;z-index:2!important;padding:7px 12px!important;border-radius:4px!important;background:#08202de8!important;color:#e6edf1!important;font-size:12px!important;line-height:1.4!important;max-width:28ch!important}
/* Restore only deliberately populated division frames. */
body main#main .am3-card-media.cg-restored-media{position:relative!important;aspect-ratio:3/2!important;padding:0!important;height:auto!important;overflow:hidden!important;background:#182b33!important}
body main#main .am3-card-media.cg-restored-media>img{position:static!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important}
body main#main .am3-card-media.cg-restored-media>span{position:absolute!important;left:14px!important;top:14px!important;z-index:1!important;background:#fff!important}
body main#main article.am3-gallery-card.cg-illustrated-component{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:0!important;min-height:0!important;background:#fff!important}
body main#main article.am3-gallery-card.cg-illustrated-component>img{display:block!important;position:static!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important}
body main#main article.am3-gallery-card.cg-illustrated-component>div{padding:24px!important;position:static!important;flex:1!important}
body main#main #engineering-route-detail{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr)!important;align-items:start!important}
body main#main #engineering-route-detail figure.cg-illustration{margin:24px 0 24px 24px!important}
body main#main .pr-panel>figure.cg-illustration{margin-top:24px!important}
@media(max-width:1000px){
 body main#main .cg-image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body main#main #engineering-route-detail{grid-template-columns:1fr!important}
 body main#main #engineering-route-detail figure.cg-illustration{margin:24px 24px 0!important}
}
@media(max-width:700px){
 body main#main section.cg-home-hero.cg-integrated-hero{display:block!important;min-height:0!important;padding:48px 0 0!important}
 body main#main section.cg-home-hero.cg-integrated-hero .pr-hero-copy{max-width:none!important}
 body main#main section.cg-home-hero.cg-integrated-hero>.pr-container{pointer-events:auto!important}
 body main#main section.cg-home-hero figure.cg-home-visual{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;margin-top:28px!important;overflow:visible!important}
 body main#main section.cg-home-hero figure.cg-home-visual>img{position:static!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important}
 body main#main section.cg-home-hero figure.cg-home-visual::after{display:none!important}
 body main#main section.cg-home-hero figure.cg-home-visual figcaption{position:static!important;max-width:none!important;border-radius:0!important;padding:10px 20px!important;background:#102f40!important}
 body main#main .cg-image-gallery,body main#main .cg-image-gallery[data-image-count="2"]{grid-template-columns:1fr!important}
 body main#main .cg-image-gallery figure.cg-illustration figcaption{padding:16px 18px!important}
 body main#main .cg-capability-card .cg-capability-body{padding:24px!important}
}
/* Keep technical edges visible when cards are hovered. */
body main#main img[data-generated-image]{transform:none!important}
/* RFQ: the guidance image must not squeeze the form on narrow screens. */
body main#main .pr-rfq-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr)!important;gap:24px!important;align-items:start!important}
body main#main .pr-rfq-layout>.pr-panel{width:100%!important;min-width:0!important}
body main#main .pr-rfq-layout>.cg-guide-note{grid-column:1/-1!important}
body main#main #rfq-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body main#main #rfq-form :is(input,select,textarea){max-width:100%!important;min-width:0!important}
@media(max-width:1000px){body main#main .pr-rfq-layout{grid-template-columns:minmax(0,1fr)!important}body main#main .pr-rfq-layout>.pr-sticky{position:static!important}}
@media(max-width:700px){body main#main #rfq-form .form-grid{grid-template-columns:minmax(0,1fr)!important}body main#main #rfq-form .form-grid .wide{grid-column:auto!important}}
/* Release 9: visible foreground imagery on every public-page hero. */
body main#main section.cg-image-backed-hero.cg-foreground-hero{display:block!important;position:relative!important;isolation:isolate!important;min-height:0!important;padding:48px 0!important;overflow:hidden!important;background:#0b2637!important}
body main#main section.cg-foreground-hero::before,body main#main section.cg-foreground-hero::after{display:none!important}
body main#main section.cg-foreground-hero>.cg-foreground-grid{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;align-items:center!important;gap:40px!important;width:min(1320px,calc(100% - 64px))!important;max-width:1320px!important;padding:0!important;margin:0 auto!important;position:relative!important;z-index:1!important}
body main#main section.cg-foreground-hero .cg-foreground-copy{min-width:0!important;width:100%!important;max-width:none!important;position:relative!important;z-index:1!important}
body main#main section.cg-foreground-hero .cg-foreground-copy>div{width:100%!important;max-width:none!important}
body main#main section.cg-foreground-hero h1{font-size:clamp(32px,3.1vw,48px)!important;line-height:1.12!important;max-width:24ch!important;text-wrap:balance!important;margin:16px 0 20px!important;color:#fff!important}
body main#main section.cg-foreground-hero h1 br{display:none!important}
body main#main section.cg-foreground-hero :is(p,.pr-lede){font-size:16px!important;line-height:1.65!important;max-width:65ch!important;margin:0 0 24px!important;color:#e7eef2!important}
body main#main section.cg-foreground-hero :is(.pr-actions,.actions,.ed5-actions,.mm5-actions,.ins5-actions,.am3-hero-actions){display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:24px 0 0!important}
body main#main section.cg-foreground-hero :is(.btn,.pr-btn){min-height:46px!important;white-space:normal!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
body main#main section.cg-foreground-hero figure.cg-hero-foreground{position:relative!important;inset:auto!important;display:block!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;border:1px solid #52717e!important;border-radius:16px!important;overflow:hidden!important;background:#183743!important;box-shadow:0 20px 50px #0003!important;align-self:center!important}
body main#main section.cg-foreground-hero figure.cg-hero-foreground>img{display:block!important;position:static!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important;transform:none!important;opacity:1!important;visibility:visible!important}
body main#main section.cg-foreground-hero figure.cg-hero-foreground figcaption{display:block!important;position:static!important;padding:9px 15px!important;color:#d7e4e9!important;background:#163544!important;font-size:11px!important;line-height:1.4!important;letter-spacing:.03em!important}
body main#main .pr-directory-row:has(.cg-service-row-image){display:grid!important;grid-template-columns:160px minmax(0,1fr) minmax(0,1.4fr) auto!important;gap:24px!important;align-items:center!important;padding:20px 0!important}
body main#main .pr-directory-row .cg-service-row-image{display:block!important;width:160px!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important;border-radius:8px!important;background:#183743!important}
body main#main figure.cg-reference-visual{max-width:680px!important;margin:0 auto 32px!important}
@media(max-width:1000px){
 body main#main section.cg-foreground-hero>.cg-foreground-grid{gap:28px!important;width:calc(100% - 40px)!important}
 body main#main section.cg-foreground-hero h1{font-size:clamp(30px,3.9vw,42px)!important}
 body main#main .pr-directory-row:has(.cg-service-row-image){grid-template-columns:120px minmax(0,1fr) auto!important;gap:18px!important}
 body main#main .pr-directory-row .cg-service-row-image{width:120px!important;grid-row:span 2!important}
 body main#main .pr-directory-row:has(.cg-service-row-image)>p{grid-column:2!important}
 body main#main .pr-directory-row:has(.cg-service-row-image)>a{grid-column:3!important;grid-row:1/3!important}
}
@media(max-width:800px){
 body main#main section.cg-image-backed-hero.cg-foreground-hero{padding:32px 0!important}
 body main#main section.cg-foreground-hero>.cg-foreground-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;width:calc(100% - 40px)!important}
 body main#main section.cg-foreground-hero h1{font-size:clamp(30px,7.5vw,42px)!important;max-width:none!important;margin:12px 0 16px!important}
 body main#main section.cg-foreground-hero :is(p,.pr-lede){font-size:15px!important;line-height:1.6!important;margin-bottom:18px!important}
 body main#main section.cg-foreground-hero figure.cg-hero-foreground{border-radius:12px!important;max-width:680px!important;justify-self:center!important}
 body main#main section.cg-foreground-hero :is(.am3-trust-row,.ed5-proof,.mm5-status-grid,.ins5-proof,.service-proof,.design-proof,.content-proof,.cg-hero-path,.fb-trust){display:none!important}
}
@media(max-width:500px){
 body main#main .pr-directory-row:has(.cg-service-row-image){grid-template-columns:90px minmax(0,1fr)!important;gap:10px 16px!important}
 body main#main .pr-directory-row .cg-service-row-image{width:90px!important;grid-row:1/3!important}
 body main#main .pr-directory-row:has(.cg-service-row-image)>a{grid-column:2!important;grid-row:3!important;min-height:44px!important;display:flex!important;align-items:center!important}
}
body main#main section.cg-foreground-hero h1 em{color:#fff!important;font-style:normal!important}
@media(max-width:800px){body main#main section.cg-foreground-hero h1{font-size:clamp(32px,7.5vw,42px)!important}}
/* Release 10: layered heroes, visual enquiry routes and a compact shared footer. */
body main#main section.cg-foreground-hero.cg-layered-hero{background-color:#0b2637!important;background-image:linear-gradient(90deg,rgba(5,24,37,.9),rgba(5,24,37,.66)),var(--cg-page-hero-bg)!important;background-size:cover!important;background-position:center!important}
body main#main .cg-contact-routes .section-head{display:grid!important;grid-template-columns:1.15fr 1fr!important;gap:40px!important;align-items:end!important;margin-bottom:28px!important}
body main#main .cg-contact-routes h2{max-width:none!important;font-size:clamp(28px,3vw,40px)!important;line-height:1.15!important;margin:12px 0 0!important}
body main#main .cg-contact-routes .section-head p{max-width:52ch!important;margin:0!important}
body main#main .cg-contact-route-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;counter-reset:none!important}
body main#main .cg-contact-route-grid>a{display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important;background:#fff!important;border:1px solid #cedae0!important;border-radius:14px!important;overflow:hidden!important;box-shadow:0 12px 32px #17384b0b!important;transition:border-color .2s ease!important}
body main#main .cg-contact-route-grid>a::before,body main#main .cg-contact-route-grid>a::after{display:none!important}
body main#main .cg-contact-route-grid>a:hover{border-color:#9f731b!important}
body main#main .cg-contact-route-grid>a>img{display:block!important;position:static!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important;background:#153444!important}
body main#main .cg-contact-route-grid>a>div{padding:24px!important;display:flex!important;flex-direction:column!important;align-items:start!important;flex:1!important}
body main#main .cg-contact-route-grid small{font-size:12px!important;line-height:1.5!important;color:#536b79!important;letter-spacing:.06em!important;text-transform:uppercase!important}
body main#main .cg-contact-route-grid h3{font-size:23px!important;line-height:1.3!important;color:#123447!important;margin:12px 0 22px!important;max-width:none!important;flex:1!important}
body main#main .cg-contact-route-grid a span{font-size:14px!important;font-weight:700!important;display:block!important;padding-block:10px!important;color:#17384b!important;border-bottom:2px solid #e3b546!important;margin-top:auto!important}
body main#main .contact-premium-brandrow .cg-contact-original-logo{display:block!important;width:190px!important;height:auto!important;max-height:74px!important;object-fit:contain!important}
body main#main .contact-premium-copy h3,body main#main .contact-premium-copy h3 em{color:#fff!important}
body main#main .contact-premium-copy p{color:#dce8ef!important}
body main#main .contact-premium-qrrow{grid-template-columns:128px minmax(0,1fr)!important;gap:16px!important}
body main#main .contact-premium-qr{padding:0!important;background:#fff!important;width:128px!important;min-width:128px!important;height:128px!important;border-radius:6px!important;overflow:hidden!important}
body main#main .contact-premium-qr>img{display:block!important;width:128px!important;height:128px!important;aspect-ratio:1!important;object-fit:contain!important;max-width:none!important}
body main#main .contact-premium-qrrow :is(b,span){color:#fff!important}
body main#main .contact-wa-mark img{display:block!important;width:24px!important;height:24px!important;aspect-ratio:1!important;object-fit:contain!important}
body .cg-footer{padding:32px 0 0!important;background:#092432!important}
body .cg-footer-grid{grid-template-columns:1.15fr .8fr .8fr 1.25fr!important;gap:28px!important;align-items:start!important;padding-bottom:22px!important}
body .cg-footer-brand,body .cg-footer-contact{grid-column:auto!important}
body .cg-footer .cg-footer-logo-link{margin:0 0 10px!important;padding:0!important;display:inline-block!important}
body .cg-footer .cg-footer-logo-link img{width:170px!important;height:auto!important;max-height:66px!important}
body .cg-footer :is(.cg-footer-heading,h2){color:#fff!important;font-size:14px!important;line-height:1.4!important;margin:0 0 10px!important}
body .cg-footer :is(.cg-footer-tagline,.cg-footer-desc,.cg-contact-address){font-size:13px!important;line-height:1.6!important;margin:6px 0!important;max-width:35ch!important;color:#e0e9ed!important}
body .cg-footer .cg-footer-col>a{display:block!important;font-size:13px!important;line-height:1.5!important;padding:5px 0!important;margin:0!important;color:#e0e9ed!important;overflow-wrap:anywhere!important}
body .cg-footer-socials{display:flex!important;gap:10px!important;margin:10px 0!important}
body .cg-footer .cg-social-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:9px!important;width:46px!important;height:46px!important;border-radius:50%!important;border:1px solid #69828e!important;min-width:46px!important;background:#163b4b!important}
body .cg-footer .cg-social-pill img{width:26px!important;height:26px!important;object-fit:contain!important;display:block!important}
body .cg-footer .cg-registration{font-size:10px!important;line-height:1.6!important;margin:8px 0 0!important;color:#d6e2e8!important}
body .cg-footer-bottom{margin-top:0!important;padding:14px 0!important;font-size:11px!important;gap:12px!important}
body .cg-footer-cta{padding:26px 0!important}
body .cg-footer-cta h2{font-size:22px!important;margin:0 0 6px!important;line-height:1.3!important}
body .cg-footer-cta p{font-size:13px!important;line-height:1.5!important;margin:0!important;max-width:70ch!important}
/* Images sit behind card copy; the gradient provides a stable readable surface. */
body main#main a.cg-insight-tile{position:relative!important;isolation:isolate!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;min-height:370px!important;overflow:hidden!important;background:#102d3e!important;border:1px solid #65808c!important;border-radius:14px!important;padding:28px!important;box-shadow:none!important;color:#fff!important;text-decoration:none!important}
body main#main a.cg-insight-tile>.cg-insight-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;z-index:-2!important;transform:none!important;opacity:1!important}
body main#main a.cg-insight-tile::after{content:''!important;display:block!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,#061b2a05 0%,#061b2aaa 28%,#061b2af5 65%)!important;z-index:-1!important;pointer-events:none!important}
body main#main a.cg-insight-tile :is(h3,p,.pr-text-link,.pr-card-kicker){position:relative!important;color:#fff!important;max-width:none!important}
body main#main a.cg-insight-tile h3{font-size:23px!important;line-height:1.25!important;min-height:0!important;margin:10px 0 14px!important;letter-spacing:-.02em!important}
body main#main a.cg-insight-tile p{font-size:14px!important;line-height:1.6!important;margin:0 0 18px!important;flex:0!important;color:#eef3f6!important}
body main#main a.cg-insight-tile .pr-card-kicker{font-size:11px!important;line-height:1.5!important;letter-spacing:.09em!important;font-weight:700!important}
body main#main a.cg-insight-tile .pr-text-link{font-size:14px!important;font-weight:700!important;margin:0!important;padding-top:12px!important;border-top:1px solid #69818e!important;min-height:44px!important;display:flex!important;align-items:center!important}
body main#main :is(.pr-feature-grid,.pr-article-grid).cg-insight-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;align-items:stretch!important}
body main#main .cg-insight-grid>a{grid-column:auto!important;grid-row:auto!important}
body main#main .cg-insight-grid>a[hidden]{display:none!important}
body main#main .cg-guide-body{max-width:1000px!important}
body main#main .cg-guide-lead{font-size:19px!important;line-height:1.75!important;max-width:75ch!important}
body main#main .cg-guide-section{margin-block:36px!important;scroll-margin-top:110px!important}
body main#main .cg-guide-section h2{font-size:28px!important;max-width:none!important;margin:0 0 16px!important;line-height:1.25!important}
body main#main .cg-guide-section :is(p,li){font-size:16px!important;line-height:1.8!important;max-width:85ch!important}
body main#main .cg-guide-section li{margin-block:10px!important}
body main#main .cg-guide-toc{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:24px 0 32px!important}
body main#main .cg-guide-toc a{padding:10px 14px!important;border:1px solid #cbd8df!important;border-radius:6px!important;font-size:13px!important}
body main#main .cg-guide-callout{padding:24px!important;border-left:4px solid #d7a93a!important;background:#edf3f5!important;border-radius:0 8px 8px 0!important}
@media(max-width:1000px){body main#main :is(.pr-feature-grid,.pr-article-grid).cg-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body .cg-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}}
@media(max-width:700px){
 body main#main .cg-contact-routes .section-head{grid-template-columns:1fr!important;gap:18px!important}
 body main#main .cg-contact-route-grid{grid-template-columns:1fr!important}
 body main#main :is(.pr-feature-grid,.pr-article-grid).cg-insight-grid{grid-template-columns:1fr!important}
 body main#main a.cg-insight-tile{min-height:360px!important;padding:24px!important}
 body main#main .contact-premium-qrrow{grid-template-columns:112px minmax(0,1fr)!important;gap:12px!important;padding:12px!important}
 body main#main .contact-premium-qr,body main#main .contact-premium-qr>img{width:112px!important;height:112px!important;min-width:112px!important}
 body main#main .contact-premium-brandrow{flex-wrap:wrap!important}
 body .cg-footer-grid{gap:20px!important}
 body .cg-footer-brand,body .cg-footer-contact{grid-column:1/-1!important}
 body .cg-footer-cta-inner{gap:16px!important}
 body .cg-footer-bottom{flex-direction:column!important;align-items:flex-start!important}
}
/* Legacy cards used a 3px decorative ::after; the readable image scrim covers the full tile. */
body main#main a.cg-insight-tile::after{top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important;background:linear-gradient(180deg,#061b2aa6,#061b2ad1 45%,#061b2af5)!important}
body main#main .cg-consent label{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;align-items:start!important;gap:10px!important}
body main#main .cg-consent input[type=checkbox]{width:16px!important;min-width:16px!important;height:16px!important;margin-top:3px!important}
/* Original logo files include a different intrinsic ratio from older HTML dimensions. */
body .cg-footer .cg-footer-logo-link{height:40px!important;line-height:0!important}
body .cg-footer .cg-footer-logo-link img.cg-original-brand-logo{width:170px!important;height:40px!important;max-height:40px!important;margin:0!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:left center!important}
@media(max-width:700px){
 body .cg-footer{padding-top:24px!important}
 body .cg-footer .cg-footer-col>a{font-size:12px!important;padding:3px 0!important}
 body .cg-footer :is(.cg-footer-tagline,.cg-footer-desc,.cg-contact-address){font-size:12px!important;line-height:1.5!important}
 body .cg-footer-grid{gap:18px!important}
}
/* Release 11: every hero, including Home, has a visible photographic backdrop. */
body main#main section.cg-image-backed-hero.cg-foreground-hero.cg-layered-hero{background-color:#0b2637!important;background-image:linear-gradient(90deg,rgba(3,20,31,.70) 0%,rgba(3,20,31,.66) 52%,rgba(3,20,31,.40) 100%),var(--cg-page-hero-bg)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body main#main section.cg-layered-hero .cg-foreground-copy :is(h1,p){text-shadow:0 2px 8px #00121c80!important}
body main#main section.cg-layered-hero figure.cg-hero-foreground{box-shadow:0 18px 48px #0006!important}
/* Release 12: original, homepage-only background; independent of a stale hero variable. */
body main#main section.cg-image-backed-hero.cg-home-hero.cg-foreground-hero{background-color:#0b2637!important;background-image:linear-gradient(90deg,rgba(3,20,31,.70) 0%,rgba(3,20,31,.66) 52%,rgba(3,20,31,.40) 100%),url('/assets/images/generated/71-homepage-engineering-studio.webp')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body main#main section.cg-home-hero .cg-foreground-copy :is(h1,p){text-shadow:0 2px 8px #00121c80!important}
@media(max-width:800px){body main#main section.cg-image-backed-hero.cg-home-hero.cg-foreground-hero{background-image:linear-gradient(90deg,rgba(3,20,31,.70),rgba(3,20,31,.62)),url('/assets/images/generated/71-homepage-engineering-studio-800.webp')!important;background-position:38% center!important}}
/* v15 shared footer: original brand, compact columns and centered registrations. */
body .cg-footer{background:linear-gradient(90deg,rgba(5,26,38,.96),rgba(5,26,38,.88)),url('/assets/images/generated/03-manufacturing-division-1200.webp') center/cover!important;padding-top:24px!important}
body .cg-footer .cg-footer-logo-link{height:auto!important;width:min(280px,100%)!important;margin-bottom:8px!important}
body .cg-footer .cg-footer-logo-link img.cg-original-brand-logo{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
body .cg-footer-grid{padding-bottom:16px!important;gap:22px!important}
body .cg-footer .cg-footer-col>a{padding:3px 0!important}
body .cg-footer .cg-social-pill{background:#fff!important;border-color:#fff!important}
body .cg-footer .cg-social-pill img{filter:none!important;opacity:1!important}
body .cg-footer-bottom{display:grid!important;grid-template-columns:1fr 2fr 1fr!important;align-items:center!important;padding:12px 0!important}
body .cg-footer .cg-footer-bottom .cg-registration{margin:0!important;text-align:center!important;font-size:11px!important;color:#f1f5f7!important}
@media(max-width:1000px){body .cg-footer-bottom{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important}body .cg-footer .cg-footer-logo-link{max-width:260px!important}}
body .cg-footer .cg-social-pill[href*="wa.me"]{background:#25d366!important;border-color:#25d366!important}
body .cg-footer .cg-social-pill[href*="instagram.com"]{background:radial-gradient(circle at 30% 105%,#feda75 0%,#fa7e1e 26%,#d62976 55%,#962fbf 78%,#4f5bd5 100%)!important;border-color:#d62976!important}
