﻿/* Final visual alignment layer: loaded after the base system so the reference proportions win. */
@media (min-width:901px){
  .main-nav{height:76px}
  .mega-menu{top:76px}
  .mega-menu-quad{width:min(calc(100% - 120px),1120px);grid-template-columns:repeat(4,minmax(0,1fr)) 214px;gap:0;padding:12px 18px}
  .mega-menu-quad .mega-column{padding:0 16px}
  .mega-menu-quad .mega-column:first-child{padding-left:0}
  .mega-menu-quad .mega-heading{font-size:13px;margin-bottom:5px}
  .mega-menu-quad .mega-icon{width:24px;height:24px;font-size:16px}
  .mega-menu-quad .mega-column>a{padding:0;font-size:10.5px;line-height:1.5}
  .mega-menu-quad .mega-column>a span{font-size:14px;line-height:1}
  .mega-promo-reference{min-height:150px;margin-left:16px;padding:15px}
  .mega-promo-reference strong{font-size:13px;margin-bottom:12px}
}

.hero-art{background:url('../concepts/hero-architecture.png') center/cover no-repeat;opacity:1}
.hero-art>div{display:none}
.hero-art-two{filter:hue-rotate(19deg) saturate(.92)}
.hero-art-three{filter:hue-rotate(322deg) saturate(.85)}

.project-image-factory{background-image:url('../concepts/project-factory.png');background-size:cover;background-position:center}
.project-image-data{background-image:url('../concepts/project-data.png');background-size:cover;background-position:center}
.project-image-structure{background-image:url('../concepts/project-structure.png');background-size:cover;background-position:center}
.project-image-factory:before,.project-image-factory .image-line,.project-image-factory .image-robot,.project-image-data .data-bars,.project-image-data .data-ring,.project-image-structure:before,.project-image-structure .structure-block{display:none}
.project-image-factory small,.project-image-data small,.project-image-structure small{display:none}
.contact-cta{padding-bottom:48px}
.footer-main{padding-top:45px}
header.site-header:has(#solutions-menu.open) + main .hero-copy{margin-top:0;transform:none}

/* Typography and icon scale matched to the reference, with stronger hierarchy. */
body{font-size:16px}
.brand{font-weight:800}
.nav-link{font-size:15px;font-weight:600}
.hero h1,.section-heading h2,.insight-copy h2,.cta-inner h2{font-weight:800}
.hero-description{font-size:19px}
.hero-stats .stat strong{font-size:25px;font-weight:800}
.hero-stats .stat small{font-size:12px}
.feature-card strong{font-size:17px;font-weight:700}.feature-card p{font-size:14px;line-height:1.5}
.section-heading h2,.insight-copy h2{font-size:clamp(36px,3.45vw,50px)}
.section-heading>p:last-child,.insight-copy>p{font-size:16px}
.service-card h3{font-size:18px;font-weight:700}.service-card p{font-size:14px;line-height:1.6}.service-card a,.project-content a{font-size:13px}
.sector-card strong{font-size:15px}.project-content h3{font-size:18px;font-weight:700}.project-content p{font-size:14px;line-height:1.6}
.insight-list strong{font-size:18px}.insight-date{font-size:13px}
.cta-inner h2{font-size:40px}.cta-inner>p{font-size:15px}
.footer-brand p{font-size:14px;line-height:1.75}.footer-column h3{font-size:15px}.footer-column a{font-size:13px;line-height:1.45}.newsletter strong{font-size:14px}.newsletter>div span{font-size:12px}.newsletter input,.newsletter button{font-size:13px}.footer-bottom{font-size:12px}
.footer-main{grid-template-columns:1.45fr repeat(5,minmax(0,1fr));gap:32px}
.ui-icon,.social-icon{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.stat-icon .ui-icon{width:21px;height:21px}.feature-icon .ui-icon{width:27px;height:27px}.service-icon .ui-icon{width:28px;height:28px}.sector-art .ui-icon{width:33px;height:33px}.mega-icon .ui-icon{width:18px;height:18px}.social-icon{width:15px;height:15px}
.socials a{font-size:11px;font-weight:800;line-height:1}
.mega-menu-quad{padding:14px 20px}
.mega-menu-quad .mega-heading{font-size:18px;font-weight:800;margin-bottom:10px}.mega-menu-quad .mega-icon{width:30px;height:30px}.mega-menu-quad .mega-column>a{font-size:15px;font-weight:600;line-height:1.35;padding:2px 0;color:#172844}.mega-menu-quad .mega-column>a span{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transform:translateY(-1px)}.mega-promo-reference{min-height:190px;padding:18px}.mega-promo-reference strong{font-size:16px;font-weight:600;line-height:1.5}.mega-promo-reference a{font-size:15px;font-weight:700}
.nav-link .chevron{display:inline-flex;align-items:center;justify-content:center;height:1em;font-size:13px;line-height:1;transform:translateY(-1px)}.nav-link[aria-expanded="true"] .chevron{transform:translateY(-1px) rotate(180deg)}
.hero{padding-bottom:8px}.hero-bottom{margin-top:18px}.slider-controls{margin-top:8px}
.services-section{padding-top:40px;padding-bottom:82px}.sectors-section,.projects-section{padding-top:66px;padding-bottom:82px}.section-heading h2,.insight-copy h2{font-size:clamp(40px,3.7vw,54px)}.section-heading>p:last-child,.insight-copy>p{font-size:17px}
.footer-brand p{font-size:15px}.footer-column h3{font-size:17px}.footer-column a{font-size:14px}.footer-bottom{font-size:13px}
.hero-actions .text-link{font-size:15px}.hero-actions .button{font-size:14px}.hero-stats .stat small{font-size:13px}.feature-card p{font-size:15px}.service-card h3,.project-content h3{font-size:19px}.service-card p,.project-content p{font-size:15px}.footer-column a{font-weight:500;color:#59677d}.footer-brand p{color:#68768c}

@media (max-width:900px){
  .mega-menu-quad.open{display:none}
  .nav-wrap:has(.primary-nav.open) .mega-menu-quad.open{display:grid}
  .mega-menu-quad{width:auto;grid-template-columns:1fr 1fr;gap:22px;padding:22px}
  .mega-menu-quad .mega-column{padding:0 0 15px;border-right:0;border-bottom:1px solid var(--line)}
  .mega-menu-quad .mega-promo{grid-column:span 2;margin-left:0}
}
@media (max-width:620px){
  .mega-menu-quad{grid-template-columns:1fr;padding:17px}
  .mega-menu-quad .mega-promo{grid-column:auto}
}

@media (max-width:900px){
  .footer-main{grid-template-columns:1.4fr repeat(2,minmax(0,1fr));gap:25px}
  .footer-contact{grid-column:span 2}
}
@media (max-width:620px){
  .footer-main{grid-template-columns:1fr 1fr;gap:35px 23px}
  .footer-brand{grid-column:span 2}
  .footer-contact{grid-column:span 2}
}
