/* Shared calm header (same as homepage) for all pages */
html body #hdr.hdr{--navy:#002766;--royal:#3468D0;--bg:#F6F8FB;--line:#DFE6F0;position:fixed;inset:0 0 auto;z-index:1000;background:rgba(246,248,251,.97);backdrop-filter:blur(10px);font-family:Raleway,system-ui,sans-serif;transition:box-shadow .2s}
html body #hdr.scrolled{box-shadow:0 1px 0 var(--line)}
html body #hdr .hdr-in{display:flex;align-items:center;gap:36px;height:80px;padding-inline:40px;max-width:none}
html body #hdr .logo img{height:36px;width:auto;display:block}
html body #hdr .nav{display:flex;align-items:center;gap:26px;flex:1}
html body #hdr .nav>a,html body #hdr .nav summary{font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;color:var(--navy);text-transform:none;letter-spacing:0}
html body #hdr .nav>a:hover,html body #hdr .nav summary:hover{color:var(--royal)}
html body #hdr .dd{position:relative}
html body #hdr .dd summary{list-style:none;display:flex;align-items:center;gap:6px}
html body #hdr .dd summary::-webkit-details-marker{display:none}
html body #hdr .dd summary::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
html body #hdr .dd-panel{position:absolute;top:calc(100% + 20px);left:-16px;min-width:260px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,39,102,.12);padding:8px}
html body #hdr .dd-panel a{display:block;padding:10px 14px;text-decoration:none;font-weight:600;color:var(--navy);font-size:15px}
html body #hdr .dd-panel a:hover{background:var(--bg);color:var(--royal)}
html body #hdr .nav-right{margin-left:auto;display:flex;align-items:center;gap:22px}
html body #hdr .nav-right .txt{font-weight:700;font-size:15px;text-decoration:none;color:var(--navy)}
html body #hdr .btn{display:inline-flex;align-items:center;justify-content:center;border-radius:0;font-weight:700;text-decoration:none;padding:11px 20px;font-size:14px;border:2px solid transparent;background:var(--royal);color:#fff}
html body #hdr .btn:hover{background:#2557B8;color:#fff}
html body #hdr .skip{position:absolute;left:-999px}
html body #hdr .menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer}
html body #hdr .menu-toggle span:not(.skip){display:block;width:24px;height:2px;background:var(--navy);margin:5px 0}
@media (max-width:1100px){
html body #hdr .hdr-in{padding-inline:5vw}
html body #hdr .menu-toggle{display:block}
html body #hdr .nav{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 5vw 28px}
html body #hdr.open .nav{display:flex}
html body #hdr .nav>a,html body #hdr .nav summary{padding:13px 0}
html body #hdr .dd-panel{position:static;box-shadow:none;border:0;padding:0 0 8px 12px}
html body #hdr .nav-right{margin:16px 0 0;flex-direction:column;align-items:stretch}
}
html body #hdr .dd.lang .dd-panel{left:auto;right:-16px;min-width:180px}
html body #hdr .dd.lang summary{font-weight:700;font-size:15px}
html body #hdr .dd.lang a[aria-current]{color:var(--royal)}
html body #hdr .dd.lang{padding-left:22px;border-left:1px solid var(--line)}
html body #hdr .dd.lang summary{gap:8px}
html body #hdr .dd.lang img{width:20px;height:14px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,39,102,.12)}
html body #hdr .dd.lang .dd-panel a{display:flex;align-items:center;gap:10px}
html body #hdr .dd.lang .code{font-weight:800;width:22px;font-size:13px}
@media (max-width:1100px){html body #hdr .dd.lang{border:0;padding:0}}
html body #hdr .nav>a,html body #hdr .nav summary,html body #hdr .nav-right a{white-space:nowrap}
html body #hdr .nav{gap:22px}
@media (min-width:1101px){html body #hdr .hdr-in{gap:28px}html body #hdr .nav{gap:18px}html body #hdr .nav-right{gap:16px}html body #hdr .logo{flex:none}html body #hdr .dd.lang{padding-left:16px}}
@media (min-width:1101px) and (max-width:1320px){html body #hdr .hdr-in{padding-inline:24px}html body #hdr .nav>a,html body #hdr .nav summary,html body #hdr .nav-right .txt{font-size:14px}html body #hdr .btn{padding:11px 14px;font-size:12px}}
#hdr .dd.lang summary:focus-visible,#hdr .dd.lang .dd-panel a:focus-visible{outline:2px solid #3468D0;outline-offset:2px}
#hdr .dd.lang .dd-panel a[aria-current]{font-weight:700;background:#EEF3FB}
@media (prefers-reduced-motion:reduce){#hdr .dd-panel{transition:none!important}}
@media (max-width:1100px){
html body #hdr .dd.lang{border:0!important;padding:18px 0 0!important;margin-top:8px;border-top:1px solid #E3E9F2!important;width:100%}
html body #hdr .dd.lang summary{display:none!important}
html body #hdr .dd.lang .dd-panel{position:static!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;min-width:0!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:none!important;transform:none!important;opacity:1!important;visibility:visible!important}
html body #hdr .dd.lang .dd-panel a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px!important;border:1px solid #E3E9F2;margin:0!important}
}

/* v56 mobile language selector */
@media (max-width:1100px){
html body #hdr .dd.lang summary{display:flex!important;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 14px!important;border:1px solid #D4DCE8;background:#fff;font-weight:700;cursor:pointer}
html body #hdr .dd.lang summary::after{margin-left:auto}
html body #hdr .dd.lang[open] summary{border-color:#3468D0}
html body #hdr .dd.lang[open] .dd-panel{margin-top:8px!important}
}

/* Mega menu: compact centred panel under the header (desktop only).
   Reusable: any .nav > .dd (except .lang) becomes a mega menu.
   Optional data-layout on .dd: "columns-2" | "columns-3" (default auto). */
@media (min-width:1101px){
  html body #hdr .nav,html body #hdr .nav>.dd:not(.lang),html body #hdr .hdr-in{position:static}
  html body #hdr .nav>.dd:not(.lang)>.dd-panel{
    position:absolute;top:calc(100% - 1px);left:50%;transform:translateX(-50%);
    width:min(1240px,calc(100vw - 48px));min-width:0;box-sizing:border-box;
    display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:40px;
    padding:36px 40px;background:#fff;border:1px solid var(--line);border-top:0;
    border-radius:0 0 14px 14px;box-shadow:0 24px 48px -20px rgba(0,39,102,.18);
    animation:mm-in .18s ease-out}
  html body #hdr .nav>.dd:not(.lang)>.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-30px;height:30px}
  html body #hdr .mm-intro{border-right:1px solid var(--line);padding-right:32px;align-self:stretch}
  html body #hdr .mm-intro .mm-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--royal);margin:0 0 10px}
  html body #hdr .mm-intro .mm-title{display:block;font-size:26px;font-weight:800;line-height:1.15;color:var(--navy)}
  html body #hdr .mm-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 32px;align-content:start}
  html body #hdr .dd[data-layout="columns-2"] .mm-links{grid-template-columns:repeat(2,1fr)}
  html body #hdr .dd[data-layout="columns-3"] .mm-links{grid-template-columns:repeat(3,1fr)}
  html body #hdr .mm-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 12px;margin:0;border-bottom:1px solid var(--line);font-size:16px;font-weight:600;color:var(--navy);background:none;transition:color .15s,padding .15s}
  html body #hdr .mm-links a::after{content:"→";color:var(--royal);opacity:0;transform:translateX(-6px);transition:opacity .15s,transform .15s}
  html body #hdr .mm-links a:hover,html body #hdr .mm-links a:focus-visible{background:var(--bg);color:var(--royal)}
  html body #hdr .mm-links a:hover::after,html body #hdr .mm-links a:focus-visible::after{opacity:1;transform:none}
  html body #hdr .mm-links a:focus-visible{outline:2px solid var(--royal);outline-offset:-2px}
  html body #hdr .nav>.dd:not(.lang)[open]>summary{color:var(--royal)}
}
@keyframes mm-in{from{opacity:0;margin-top:-6px}to{opacity:1;margin-top:0}}
@media (max-width:1100px){html body #hdr .mm-intro{display:none}html body #hdr .mm-links{display:block}}
@media (prefers-reduced-motion:reduce){html body #hdr .dd-panel{animation:none!important}}

/* Mega menu content: groups, descriptions, "view all" link */
@media (min-width:1101px){
  html body #hdr .nav>.dd:not(.lang)>.dd-panel{grid-template-columns:minmax(200px,240px) 1fr;max-height:calc(100vh - 110px);overflow:auto}
  html body #hdr .mm-intro{display:flex;flex-direction:column;gap:0}
  html body #hdr .mm-intro .mm-text{display:block;margin-top:12px;font-size:14px;line-height:1.5;color:#44526b}
  html body #hdr .mm-intro a.mm-all{margin-top:auto;padding:18px 0 0;border:0;background:none;font-size:14px;font-weight:700;color:var(--royal);display:inline-flex;gap:8px;text-decoration:none}
  html body #hdr .mm-intro a.mm-all::after{content:"→"}
  html body #hdr .mm-intro a.mm-all:hover{text-decoration:underline;background:none}
  html body #hdr .mm-links{display:grid;grid-template-columns:1fr;gap:28px}
  html body #hdr .dd[data-layout="groups"] .mm-links{grid-template-columns:2fr 1fr;gap:36px}
  html body #hdr .dd[data-layout="groups"] .mm-group:first-child .mm-list{grid-template-columns:repeat(2,1fr)}
  html body #hdr .mm-heading{margin:0 0 8px;padding:0 12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#44526b}
  html body #hdr .mm-list{display:grid;grid-template-columns:1fr;gap:0 24px}
  html body #hdr .dd[data-layout="columns-2"] .mm-list{grid-template-columns:repeat(2,1fr)}
  html body #hdr .mm-links .mm-list a{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;padding:11px 12px;border-bottom:0;border-radius:8px;font-size:15px}
  html body #hdr .mm-links .mm-list a::after{display:none}
  html body #hdr .mm-name{font-weight:700;color:var(--navy);line-height:1.3}
  html body #hdr .mm-desc{font-size:13px;font-weight:500;line-height:1.45;color:#44526b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  html body #hdr .mm-links .mm-list a:hover .mm-name,html body #hdr .mm-links .mm-list a:focus-visible .mm-name{color:var(--royal)}
}
@media (max-width:1100px){html body #hdr .mm-desc,html body #hdr .mm-heading{display:none}html body #hdr .mm-list a{display:block}}
@media (min-width:1101px){
  html body #hdr .dd[data-layout^="columns"] .mm-links{grid-template-columns:1fr}
  html body #hdr .dd[data-layout="columns-4"] .mm-list{grid-template-columns:repeat(4,1fr);gap:8px 20px}
}

/* Mega menu refinement: one consistent system */
html body #hdr .nav>.dd:not(.lang)>summary{padding-inline:12px;margin-inline:-12px;border-radius:6px;transition:background .15s,color .15s}
html body #hdr .nav>.dd:not(.lang)>summary:focus{outline:none}
html body #hdr .nav>.dd:not(.lang)>summary:focus-visible{outline:2px solid #3468D0;outline-offset:2px}
html body #hdr .nav>.dd:not(.lang)[open]>summary{color:var(--royal)}
html body #hdr .nav>.dd:not(.lang)[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
html body #hdr .nav>a[aria-current]{color:var(--royal)}
html body #hdr .mm-desc{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important}
@media (min-width:1101px){
  html body #hdr .nav>.dd:not(.lang)[open]>summary{background:#EEF3FB}
  html body #hdr .nav>.dd:not(.lang)>.dd-panel{grid-template-columns:260px 1fr!important;column-gap:40px!important;padding:36px 40px!important;border-radius:0 0 14px 14px;animation:mm-in .2s ease-out}
  html body #hdr .mm-intro{padding-right:40px!important;min-height:220px}
  html body #hdr .mm-intro .mm-title{font-size:26px}
  html body #hdr .mm-intro .mm-text{font-size:14px;line-height:1.55;color:#44526b;margin-top:12px}
  html body #hdr .mm-heading{font-size:11px!important;letter-spacing:.14em!important;color:#6b7a93!important;margin-bottom:10px!important}
  html body #hdr .mm-links .mm-list a{gap:4px!important;padding:12px!important;border-radius:8px}
  html body #hdr .mm-name{font-weight:600!important;font-size:15px}
  html body #hdr .mm-desc{font-size:13px!important;font-weight:400!important;color:#5b6880!important;line-height:1.45}
  html body #hdr .mm-links .mm-list a:hover,html body #hdr .mm-links .mm-list a:focus-visible{background:#F3F6FB}
  html body #hdr .dd[data-layout="columns-2"] .mm-list{grid-template-columns:repeat(2,minmax(0,320px))!important}
}
@media (max-width:1100px){
  html body #hdr .mm-intro{display:none!important}
  html body #hdr .mm-heading{display:block!important;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6b7a93;margin:14px 0 4px;padding:0}
  html body #hdr .mm-desc{display:none!important}
  html body #hdr .mm-list a{display:flex!important;align-items:center;min-height:44px;padding:8px 0!important}
  html body #hdr .nav>.dd:not(.lang)>summary{min-height:48px;margin:0;padding-inline:0}
  html body #hdr .nav{overflow-x:hidden}
}
@media (min-width:641px) and (max-width:1100px){
  html body #hdr .mm-desc{display:block!important;font-size:13px;color:#5b6880;margin-left:12px}
  html body #hdr .mm-list a{display:flex!important;align-items:baseline;flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){html body #hdr .dd-panel{animation:none!important}}

/* Responsive navigation refinement (tablet + mobile only; desktop untouched) */
@media (max-width:1100px){
  html body #hdr .nav{max-height:calc(100vh - 80px);overflow-y:auto;padding-bottom:24px!important}
  html body #hdr .nav>a,html body #hdr .nav>.dd:not(.lang)>summary{min-height:56px!important;padding:0 12px!important;margin:0!important;display:flex;align-items:center;border-bottom:1px solid #E3E9F2;border-radius:0!important;box-sizing:border-box}
  html body #hdr .nav>.dd:not(.lang)>summary{justify-content:space-between}
  html body #hdr .nav>.dd:not(.lang)[open]>summary{background:#EEF3FB!important;color:var(--royal);border:0!important;border-left:2px solid var(--royal)!important}
  html body #hdr .nav>.dd:not(.lang)>summary:focus-visible,html body #hdr .nav>a:focus-visible,html body #hdr .mm-list a:focus-visible,html body #hdr .mm-intro a.mm-all:focus-visible{outline:2px solid #3468D0!important;outline-offset:-2px}
  html body #hdr .nav>.dd:not(.lang)>.dd-panel{display:flex!important;flex-direction:column;padding:8px 12px 16px!important;border-bottom:1px solid #E3E9F2!important}
  html body #hdr .mm-desc{display:none!important}
  html body #hdr .mm-heading{display:block!important;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6b7a93;margin:16px 0 4px!important;padding:0!important}
  html body #hdr .mm-list{display:grid!important;grid-template-columns:1fr;gap:0 32px}
  html body #hdr .mm-list a{display:flex!important;align-items:center;min-height:44px;padding:8px 0!important;font-size:15px;white-space:normal}
  html body #hdr .mm-links{display:block!important;order:1}
  /* overview link: reuse existing intro link, hide the rest of the intro */
  html body #hdr .mm-intro{display:block!important;order:2;border:0!important;padding:0!important;min-height:0!important;margin-top:8px}
  html body #hdr .mm-intro>:not(.mm-all){display:none!important}
  html body #hdr .mm-intro a.mm-all{display:inline-flex!important;align-items:center;gap:8px;min-height:44px;padding:0!important;margin:0!important;font-size:14px;font-weight:700;color:var(--royal);text-decoration:none}
  html body #hdr .mm-intro a.mm-all::after{content:"→"}
  html body #hdr .nav-right{margin-top:24px!important;gap:16px!important}
}
@media (min-width:641px) and (max-width:1100px){
  html body #hdr .mm-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body #hdr .mm-list a{align-items:center!important}
}

/* Menu group labels: WCAG AA contrast */
html body #hdr .mm-heading{color:#5b6880!important}
@media(max-width:600px){html body #hdr .logo img{height:30px}}

/* Desktop: menu items centred between logo and buttons */
@media (min-width:1101px){html body #hdr .nav{justify-content:center}}
@media (min-width:1101px){html body #hdr .nav>:first-child{margin-left:auto}html body #hdr .nav>.nav-right{margin-left:auto}}
html body #hdr.hdr.scrolled,html body.v43 #hdr.scrolled{background:rgba(246,248,251,.72)!important;-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);box-shadow:0 1px 0 rgba(0,39,102,.08),0 8px 24px rgba(0,39,102,.06)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){html body #hdr.scrolled{background:rgba(246,248,251,.97)!important}}
@media (prefers-reduced-transparency:reduce){html body #hdr.scrolled{background:rgba(246,248,251,.98)!important}}

/* Solutions overview hero: same title size and square photo as the homepage hero */
html body #main section.hero.solutions-hero h1.heading-split,html body.v43 #main section.hero.solutions-hero h1{font-size:clamp(28px,3.1vw,62px)!important;line-height:1.02!important;letter-spacing:-.02em}
@media (min-width:981px){
  .solutions-hero .insights-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:56px!important;align-items:center}
  .solutions-hero .insights-hero-visual{width:100%;max-width:460px;justify-self:end;aspect-ratio:1/1;height:auto!important;margin:0}
  .solutions-hero .insights-hero-visual img{width:100%;height:100%!important;object-fit:cover}
}
@media (max-width:980px){html body #main section.hero.solutions-hero h1.heading-split,html body.v43 #main section.hero.solutions-hero h1{font-size:clamp(24px,7.3vw,40px)!important}}
html body #main section.hero.solutions-hero h1{max-width:none!important;width:100%}html body #main section.hero.solutions-hero h1 .heading-part{display:block;max-width:none!important}
/* Hero eyebrow (small title above the main heading) is always pure white */
html body .eyebrow:not(#_a):not(#_b):not(#_c):has(~ h1){color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
/* Hero heading on every page matches the homepage hero size */
html body #main h1:not(#_a):not(#_b):not(.calm .hero h1){font-size:clamp(28px,3.4vw,50px)!important;line-height:1.05!important}
@media (max-width:720px){html body #main h1:not(#_a):not(#_b):not(.calm .hero h1){font-size:clamp(24px,6.6vw,36px)!important}}

/* Sector pages: aligned challenge cards and compact approach cards */
.signal-section .signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto;gap:20px;align-items:stretch}
.signal-section .signal-card{display:grid!important;grid-row:span 2;grid-template-rows:subgrid;row-gap:14px;min-height:0!important;height:auto!important;padding:28px 28px!important}
.signal-section .signal-card h3,.signal-section .signal-card p{margin:0!important}
.signal-section .section-heading.split-heading{align-items:end}
.contact-process-section .contact-process-grid .contact-process-card{min-height:0!important;height:auto!important;padding:26px 28px!important}
.contact-process-section .contact-process-grid{align-items:start}
@media (max-width:1080px){.signal-section .signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.signal-section .signal-grid{grid-template-columns:1fr}}
.contact-process-section .contact-process-grid .contact-process-card>:last-child{margin-bottom:0!important}.contact-process-section .contact-process-grid .contact-process-card::after{display:none}
.value-section .value-cards{align-items:start}.value-section .value-card{min-height:0!important;height:auto!important;padding:26px 28px!important}.value-section .value-card>:last-child{margin-bottom:0!important}
