/* Mega Fortris Group - global brand system and reusable navigation/footer.
   Source of truth: src/components/header.html + footer.html
   Colours & typography follow the approved revamp direction. */
:root{
  --brand-navy:#0B1F3B;--brand-red:#E60012;--brand-charcoal:#1F2937;
  --brand-grey:#E5EAF0;--brand-white:#FFFFFF;--brand-ink:#101828;
  --muted:#64748B;--surface:#F6F8FA;--green:#009966;
  --font:Inter,"Helvetica Neue",Arial,sans-serif;--radius:12px;
  --gap:24px;--gutter:clamp(20px,4.2vw,64px);--content:1360px;
  --h1:clamp(44px,4.8vw,56px);--h2:clamp(28px,2.7vw,36px);--h3:clamp(20px,2vw,24px);
  --body:16px;--caption:12px;--button:14px;--unit:8px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{margin:0;background:#fff;color:var(--brand-ink);font:400 var(--body)/1.56 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}
img{max-width:100%;display:block}
:where(a,button,select,input):focus-visible{outline:3px solid var(--brand-red);outline-offset:3px}
.container{width:min(100% - 2*var(--gutter),var(--content));margin-inline:auto}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.icon{display:inline-block;width:24px;height:24px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0}
.eyebrow{display:block;font-size:var(--caption);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#7B8898;line-height:1.4}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:12px 26px;border-radius:50px;font-size:var(--button);font-weight:700;white-space:nowrap;transition:transform .18s,background .18s,color .18s}
.button:hover{transform:translateY(-2px)}.button .icon{width:17px;height:17px}
.button-outline{border:1px solid rgba(255,255,255,.8);color:white;background:transparent}.button-outline:hover{background:white;color:var(--brand-navy)}
.button-primary{border:1px solid var(--brand-red);background:var(--brand-red);color:white}.button-primary:hover{background:#c90012}
.link-arrow{display:inline-flex;align-items:center;gap:12px;font-size:var(--button);font-weight:700;white-space:nowrap;transition:color .18s;min-height:44px}
.link-arrow .icon{width:18px;height:18px}.link-arrow:hover{color:var(--brand-red)}
.skip{position:fixed;top:12px;left:12px;z-index:300;transform:translateY(-180%);background:var(--brand-navy);color:#fff;border-radius:5px;padding:10px 16px}
.skip:focus{transform:none}
/* Shared white sticky header - same on corporate, sustainability and future pages. */
.site-header{position:sticky;z-index:100;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid #E9EDF3;box-shadow:0 1px 6px rgba(12,23,44,.025)}
.nav-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo.logo-group{gap:0;display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;white-space:normal}
.logo-group .group-logo-image{height:80px;width:auto;max-width:108px;object-fit:contain;display:block;background:#fff}
.nav-list{display:flex;align-items:center;gap:clamp(15px,2.4vw,37px);padding:0;margin:0;list-style:none;height:92px}
.nav-list li{height:100%;display:flex;align-items:center}
.nav-list a{font-size:13px;font-weight:650;display:inline-block;position:relative;white-space:nowrap;color:#273448;line-height:1.4;padding:6px 0 11px}
.nav-list a:hover{color:var(--brand-red)}
.nav-list a[aria-current="page"]{color:#111827}
.nav-list a[aria-current="page"]::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:3px;background:var(--brand-red);border-radius:5px}
.nav-actions{display:flex;align-items:center;gap:21px}.nav-actions>a:not(.icon-button){font-weight:700;font-size:13px}
.nav-actions>a:hover{color:var(--brand-red)}
.icon-button{width:40px;height:40px;border:0;background:transparent;color:#29384C;display:inline-grid;place-items:center;padding:0}
.icon-button:hover{color:var(--brand-red)}.icon-button .icon{width:20px;height:20px}
.menu-btn{display:none}.mobile-nav{display:none}
/* Shared global CTA and five-column region footer. */
.footer-cta{background:linear-gradient(115deg,#071827,#0B1F3B 70%);color:white;padding:62px 0}
.footer-cta h2{font-size:clamp(29px,3.4vw,44px);font-weight:440;line-height:1.17;letter-spacing:-.045em;margin:14px 0 12px;max-width:610px}
.footer-cta p{margin:0 0 22px;max-width:560px;color:#D0DBE8;font-size:14px}
.footer-cta .eyebrow{color:#A8BDCE}.footer-cta .button{padding:10px 23px}
.site-footer{background:#F6F8FA;color:#293648;padding:40px 0 20px}
.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid #E0E5EA;gap:18px}
.footer-brand{display:flex;align-items:center;gap:13px}
.footer-brand img{object-fit:contain;width:60px;height:60px;background:#fff;padding:3px;border:1px solid #E5EAF0;border-radius:7px}
.footer-brand strong{font-size:14px;letter-spacing:.03em;display:block}.footer-brand small,.footer-top-note{font-size:12px;color:#7D8998}
.footer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;padding:28px 0 36px;border-bottom:1px solid #E0E5EA}
.footer-group>button{appearance:none;background:transparent;border:0;padding:0;color:var(--brand-charcoal);font-size:13px;font-weight:800;line-height:1.3;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:default;width:100%}
.footer-group>button .icon{display:none;width:15px;height:15px}
.footer-links{display:flex;flex-direction:column;gap:11px;margin-top:17px}
.footer-links a{font-size:12px;color:#6D7886;line-height:1.4}.footer-links a:hover,.legal a:hover{color:var(--brand-red)}
.region-row{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:26px 0;border-bottom:1px solid #E0E5EA}
.region-row strong{font-size:12px}.region-row p{max-width:710px;font-size:11px;margin:5px 0 0;color:#7C8899;line-height:1.55}
.region-actions{display:flex;align-items:center;gap:8px}
.region-actions select{min-width:205px;min-height:40px;border:1px solid #D5DCE6;border-radius:5px;background:#fff;color:#455365;padding:0 10px;font-size:12px}
.region-actions a{min-height:40px;border-radius:5px;padding:0 16px;background:var(--brand-navy);color:#fff;font-weight:750;font-size:12px;white-space:nowrap;display:inline-flex;align-items:center}
.legal{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:19px;font-size:11px;color:#7D8998}.legal nav{display:flex;flex-wrap:wrap;gap:18px}
@media(max-width:1100px){.nav-inner{min-height:84px}.nav-list{height:84px;gap:15px}.nav-list a{font-size:12px}.nav-actions{gap:10px}.logo-group .group-logo-image{height:73px}.footer-grid{gap:12px}}
@media(max-width:850px){.nav-inner{min-height:75px}.logo-group .group-logo-image{height:64px}.nav-list{display:none}.nav-actions>a:not(.icon-button){display:none}.menu-btn{display:inline-grid}
 .mobile-nav{display:none;flex-direction:column;padding:15px var(--gutter) 22px;gap:2px;background:#fff;border-top:1px solid #e9edf3}
 .mobile-nav.is-open{display:flex}.mobile-nav a{font-size:15px;padding:10px 0;border-bottom:1px solid #edf0f2}
 .mobile-nav a[aria-current="page"]{color:var(--brand-red);font-weight:700}
 .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px}.region-row{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:680px){:root{--gap:14px;--gutter:20px}.nav-inner{min-height:72px}.logo-group .group-logo-image{height:60px}.footer-brand img{width:54px;height:54px}
 .footer-grid{grid-template-columns:1fr;gap:0}.footer-group{border-bottom:1px solid #E0E5EB}
 .footer-group>button{padding:14px 0;cursor:pointer}.footer-group>button .icon{display:inline-block;transition:transform .15s}
 .footer-group>button[aria-expanded="true"] .icon{transform:rotate(180deg)}
 .footer-links{display:none;gap:10px;margin:0;padding:0 0 16px}.footer-group>button[aria-expanded="true"]+.footer-links{display:flex}
 .footer-top-note{display:none}.region-actions{width:100%}.region-actions select{min-width:0;flex:1}
 .legal{align-items:flex-start;flex-direction:column;gap:13px}}
@media(max-width:390px){.nav-actions{gap:3px}.logo-group .group-logo-image{height:56px}.region-actions{flex-wrap:wrap}.region-actions select,.region-actions a{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}




/* Reusable six-solution mega-menu: data-driven cards and contextual resources. */
[hidden]{display:none!important}
.site-header{--mega-header-height:92px}
.nav-inner{position:relative;z-index:5}
.nav-mega-trigger{display:inline-flex;align-items:center;gap:5px;appearance:none;background:none;border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:650;color:#273448;padding:6px 0 11px;position:relative;white-space:nowrap;line-height:1.4}
.nav-mega-trigger:hover,.nav-mega-trigger[aria-expanded="true"]{color:#111827}
.nav-mega-trigger[aria-current="page"]::after,.nav-mega-trigger[aria-expanded="true"]::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:3px;background:var(--brand-red);border-radius:5px}
.mega-chevron{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s}
.nav-mega-trigger[aria-expanded="true"] .mega-chevron{transform:rotate(180deg)}
.mega-menu{background:#fff;position:absolute;z-index:4;top:100%;left:0;width:100%;border-top:1px solid #E9EDF3;box-shadow:0 24px 44px rgba(11,31,59,.16);color:#152238;max-height:calc(100dvh - var(--mega-header-height));overflow-y:auto;overscroll-behavior:contain}
.mega-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(248px,.34fr);gap:30px;padding-block:20px 28px}
.mega-main{min-width:0}
.mega-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.mega-heading>span:first-child,.mega-aside-label{font-size:11px;font-weight:800;letter-spacing:.17em;color:#758296}
.mega-instruction{font-size:12px;color:#8A95A5}
.mega-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;align-content:start}
.mega-choice{min-width:0;background:#fff;border:1px solid #E1E7EF;border-radius:14px;padding:6px 6px 12px;display:flex;flex-direction:column;min-height:0;box-shadow:0 2px 8px rgba(14,32,61,.035);transition:box-shadow .18s,border-color .18s}
.mega-choice.is-selected,.mega-choice:hover,.mega-choice:focus-within{border-color:rgba(230,0,18,.73);box-shadow:0 9px 26px rgba(13,28,50,.10)}
.mega-choice--feature{grid-column:auto}
.mega-choice__select{display:block;flex:1 1 auto;width:100%;text-align:left;border:0;padding:0;background:transparent;color:inherit;cursor:pointer}
.mega-choice__visual{display:block;position:relative;overflow:hidden;background:#f2f4f7;border-radius:9px;aspect-ratio:2.25}
.mega-choice__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s}
.mega-choice--category .mega-choice__visual{aspect-ratio:2.25;background:#f7f8fa}
.mega-choice--category .mega-choice__visual img{object-fit:cover;padding:0}
.mega-choice:hover .mega-choice__visual img{transform:scale(1.025)}
.mega-choice__title{display:block;font-size:15px;font-weight:780;line-height:1.23;letter-spacing:-.02em;margin:10px 8px 4px;color:#13233D}
.mega-choice--feature .mega-choice__title{font-size:15px}
.mega-choice__description{display:block;margin:0 8px;font-size:12px;line-height:1.45;color:#68778D;min-height:34px}
.mega-choice--category .mega-choice__description{font-size:12px;min-height:34px}
.mega-choice__offerings{display:block;margin:7px 8px 0;font-size:11px;line-height:1.35;color:#73849A}
.mega-choice__cta{margin-top:auto!important;min-height:27px;display:inline-flex;gap:7px;align-items:center;color:var(--brand-red);font-size:12px;font-weight:780;margin:7px 8px 0}
.mega-choice__cta:hover{text-decoration:underline;text-underline-offset:3px}
.mega-resources{min-width:0;border-left:1px solid #DEE5EE;padding-left:24px;align-self:stretch}
.mega-aside-label{display:block;min-height:20px;line-height:1.5}
.mega-resource-group{display:flex;flex-direction:column;margin-top:9px;gap:0}
.mega-resource-group a{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:700;color:#26354A;line-height:1.25;padding:7px 0;min-height:31px;transition:color .14s}
.mega-resource-group a span{color:#98A7B7;font-weight:400;font-size:16px}
.mega-resource-group a:hover,.mega-resource-group a:hover span{color:var(--brand-red)}
.mega-resource-section-label{font-size:10px;letter-spacing:.16em;font-weight:850;color:#8191a5;margin:8px 0 3px;padding:0;line-height:1.4}
.mega-scrim{position:fixed;z-index:2;inset:var(--mega-header-height) 0 0;background:rgba(11,23,40,.36);backdrop-filter:blur(2px)}
.mobile-solutions>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:11px 0;font-weight:700;border-bottom:1px solid #edf0f2}
.mobile-solutions summary::-webkit-details-marker,.mobile-solution-family summary::-webkit-details-marker{display:none}
.mobile-solutions__body{display:flex;flex-direction:column;gap:8px;padding:10px 0 14px}
.mobile-solution-family{border:1px solid #E1E7F0;border-radius:9px;overflow:hidden;background:#F8F9FB}
.mobile-solution-family>summary{padding:13px 16px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;list-style:none;cursor:pointer}
.mobile-solution-family[open]>summary{color:var(--brand-red);background:white}
.mobile-solution-links{display:flex;flex-direction:column;padding:0 16px 12px;background:#fff}
.mobile-nav .mobile-solution-links>a{color:#465570;font-size:13px;padding:9px 0;border-bottom:1px solid #EDF0F4}
.mobile-nav .mobile-solution-links>a:last-child{border-bottom:0}
@media(max-width:1200px){.mega-shell{gap:18px;grid-template-columns:minmax(0,1fr) minmax(205px,.31fr)}.mega-choices{gap:9px}.mega-resources{padding-left:16px}.mega-choice--feature .mega-choice__title{font-size:13px}.mega-choice__title{font-size:13px}.mega-choice__description{font-size:11px}.mega-choice__offerings{font-size:10px}.mega-choice__cta{font-size:11px}}
@media(max-width:1100px){.site-header{--mega-header-height:84px}.nav-mega-trigger{font-size:12px}}
@media(max-width:850px){.site-header{--mega-header-height:75px}.mega-menu,.mega-scrim{display:none!important}}
@media(max-width:680px){.site-header{--mega-header-height:72px}}

.sol-card[id],.sol-platform[id]{scroll-margin-top:130px}



/* Six solutions share one consistent 3 x 2 card system across the global header. */
.mega-choice__description,.mega-choice__offerings{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.mega-choice__description{height:34px}
.mega-choice__offerings{min-height:16px}
.mega-choice--feature .mega-choice__title,.mega-choice--category .mega-choice__title{font-size:15px}
.mega-choice--feature .mega-choice__description,.mega-choice--category .mega-choice__description{font-size:12px}
@media(min-width:851px) and (max-height:750px){.mega-menu{max-height:calc(100dvh - 82px)}.mega-shell{padding-block:13px 16px}.mega-heading{margin-bottom:8px}.mega-choice__visual,.mega-choice--category .mega-choice__visual{aspect-ratio:2.7}.mega-choice__title{margin-top:7px!important}}
@media(min-width:851px) and (max-width:1000px){.mega-choices{gap:7px}.mega-choice__title,.mega-choice--feature .mega-choice__title,.mega-choice--category .mega-choice__title{font-size:12px}.mega-choice__description{font-size:10px!important}.mega-choice__offerings{font-size:9px}.mega-shell{grid-template-columns:minmax(0,1fr) minmax(185px,.31fr);gap:14px}.mega-choice__visual,.mega-choice--category .mega-choice__visual{aspect-ratio:2.2}}

/* Industry mega-menu reuses the solutions design system and interaction logic. */
.mega-choices--industries{grid-template-columns:repeat(3,minmax(0,1fr))}
.mega-choices--industries .mega-choice{min-width:0}
@media(min-width:851px) and (max-width:1000px){.mega-choices--industries{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Eight-card Solutions navigation (two rows, four columns) */
#solutionsMega .mega-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#solutionsMega .mega-shell{grid-template-columns:minmax(0,1fr) minmax(210px,.28fr);gap:18px;padding-block:14px 19px}
#solutionsMega .mega-heading{margin-bottom:10px}
#solutionsMega .mega-choice{padding:5px 5px 8px;border-radius:11px}
#solutionsMega .mega-choice__visual{aspect-ratio:2.15}
#solutionsMega .mega-choice__title{font-size:12px;line-height:1.18;margin:7px 6px 3px;min-height:29px}
#solutionsMega .mega-choice__description{font-size:10px!important;margin-inline:6px;line-height:1.35;height:28px;min-height:28px}
#solutionsMega .mega-choice__offerings{font-size:9px;margin:4px 6px 0;min-height:13px}
#solutionsMega .mega-choice__cta{font-size:11px;margin:6px 6px 0;min-height:20px}
#solutionsMega .mega-resource-group a{font-size:11px;padding:5px 0;min-height:25px}
@media(min-width:851px) and (max-width:1050px){#solutionsMega .mega-choices{gap:6px}#solutionsMega .mega-shell{grid-template-columns:minmax(0,1fr) minmax(175px,.25fr);gap:12px}#solutionsMega .mega-choice__title{font-size:11px}#solutionsMega .mega-choice__description{font-size:9px!important}#solutionsMega .mega-resources{padding-left:12px}}
@media(min-width:851px) and (max-height:760px){#solutionsMega .mega-shell{padding-block:8px 13px}#solutionsMega .mega-heading{margin-bottom:6px}#solutionsMega .mega-choice__visual{aspect-ratio:2.8}}

/* 10-card Solutions mega-menu: 2 rows × 5 equal-width categories. */
#solutionsMega .mega-choices{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
#solutionsMega .mega-shell{grid-template-columns:minmax(0,1fr) minmax(195px,.25fr);gap:14px}
#solutionsMega .mega-choice__title{font-size:11px;min-height:27px}
#solutionsMega .mega-choice__description{font-size:9px!important;min-height:26px;height:26px}
#solutionsMega .mega-choice__offerings{font-size:9px}
#solutionsMega .mega-choice__visual{aspect-ratio:2.3}
@media (min-width:851px) and (max-width:1120px){#solutionsMega .mega-shell{grid-template-columns:minmax(0,1fr) minmax(160px,.22fr)}#solutionsMega .mega-choices{gap:5px}#solutionsMega .mega-choice__title{font-size:10px}#solutionsMega .mega-choice__description{font-size:8px!important}#solutionsMega .mega-choice__cta{font-size:10px}}

/* Combined footer banner for About / Contact / Careers (desktop single row). */
.footer-cta--split{padding:0;background:#071827}
.footer-cta--split .footer-cta__layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;max-width:1440px}
.footer-cta--split .footer-cta__primary,.footer-cta--split .footer-cta__secondary{padding:clamp(36px,4.2vw,66px) clamp(20px,3.1vw,54px);min-width:0}
.footer-cta--split .footer-cta__primary{background:linear-gradient(125deg,#071827,#0d2241)}
.footer-cta--split .footer-cta__secondary{border-left:1px solid rgba(198,215,235,.16);background:linear-gradient(125deg,#0a1b31,#071827)}
.footer-cta--split h2{font-size:clamp(25px,2.6vw,42px);max-width:690px;line-height:1.18;margin:18px 0}
.footer-cta--split .footer-cta__secondary h2{max-width:580px}
.footer-cta--split .button{display:inline-flex;align-items:center;gap:10px;margin-top:4px;max-width:100%;white-space:normal}
.footer-cta--split .footer-cta__secondary .button{margin-top:10px}
@media (max-width:760px){
 .footer-cta--split .footer-cta__layout{grid-template-columns:minmax(0,1fr)}
 .footer-cta--split .footer-cta__secondary{border-left:0;border-top:1px solid rgba(198,215,235,.16)}
 .footer-cta--split .footer-cta__primary,.footer-cta--split .footer-cta__secondary{padding:36px 20px}
}
