/* Approved IPFR branding, slideshow controls and reference drawing tabs. */
:root{--navy:#172b40}
footer,.corporate-hero{background-color:var(--navy)}
.brand{gap:0;flex-shrink:0}.brand img{display:block;width:254px;height:auto}.brand .brand-on-dark{display:none}.home .header .brand-on-light,footer .brand-on-light{display:none}.home .header .brand-on-dark,footer .brand-on-dark{display:block}
.hero-photo{opacity:0;transition:opacity 400ms cubic-bezier(.77,0,.175,1)}.hero-photo.is-active{opacity:1}.corporate-hero h1{font-size:clamp(42px,5vw,72px);min-height:2.28em}.hero-description{min-height:5.25em}.hero-slider{width:144px;top:42%}.slide-number{font-size:21px}.hero-dots{display:flex;justify-content:center;margin-top:12px}.hero-dot{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:#fff;border-radius:50%;cursor:pointer;transition:transform 150ms var(--ease-out)}.hero-dot::before{content:"";width:8px;height:8px;border:1px solid #ffffffb0;border-radius:50%;background:transparent}.hero-dot[aria-pressed=true]::before{background:#fff;border-color:#fff}.hero-dot:active{transform:scale(.97)}.slide-label{margin-top:16px;font-size:11px;max-width:144px}
.diagram-section{display:block}.diagram-section>div>p:not(.eyebrow){max-width:700px}.expertise-drawings{margin-top:35px;min-width:0;border:1px solid var(--line);border-radius:3px;overflow:hidden}.diagram-tablist{display:flex;gap:10px;padding:18px;background:#f5f6f8;border-bottom:1px solid var(--line)}.diagram-tablist button{flex:1;min-width:0;min-height:48px;padding:12px 14px;background:#fff;border:1px solid #dfe4ea;border-radius:2px;color:var(--navy);font:500 13px/1.4 var(--sans);cursor:pointer;transition:transform 150ms var(--ease-out)}.diagram-tablist button[aria-selected=true]{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:inset 0 -3px var(--accent)}.diagram-tablist button:active{transform:scale(.985)}.diagram-viewport{overflow:auto;background:#fff;max-width:100%}.diagram-image{display:block;width:100%;min-width:1060px;max-width:none;height:auto}.diagram-panel{min-width:0}.diagram-panel+.diagram-panel{border-top:1px solid var(--line)}.diagram-panel[hidden],.diagram-tablist[hidden],.hero-carousel-controls[hidden]{display:none}
@media(hover:hover) and (pointer:fine){.hero-dot:hover{background:#ffffff15}.diagram-tablist button:not([aria-selected=true]):hover{border-color:#d83b28}}
@media(max-width:1100px){.brand img{width:230px}.corporate-hero-copy{max-width:760px;padding-right:70px}.corporate-hero h1{font-size:clamp(42px,5.5vw,62px)}.hero-slider{width:128px}.hero-dot{width:40px}.diagram-tablist{gap:8px}}
@media(max-width:800px){.brand img{width:222px}.corporate-hero-inner{padding-bottom:220px}.corporate-hero-copy{padding-right:0;max-width:660px}.corporate-hero h1{font-size:clamp(40px,7.3vw,58px);min-height:3.42em}.hero-description{min-height:5.4em}.hero-slider{left:0;right:0;top:auto;bottom:106px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;width:100%;text-align:left}.hero-dots{margin:0}.hero-dot{width:44px}.slide-label{margin:0;max-width:none;flex-basis:100%;font-size:11px}.diagram-tablist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.diagram-tablist button{min-height:48px}}
@media(max-width:520px){.brand img{width:193px}.corporate-hero-inner{padding-top:142px;padding-bottom:228px;min-height:870px}.corporate-hero h1{font-size:clamp(33px,9.3vw,44px);min-height:3.6em}.hero-description{min-height:7.2em}.hero-slider{gap:5px 12px;bottom:104px}.slide-number{font-size:19px;min-width:58px}.hero-dot{width:44px}.diagram-tablist button{font-size:12px;padding-inline:9px}.expertise-drawings{margin-top:25px}}
.diagram-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.hero-photo{transition:none}.hero-dot:active,.diagram-tablist button:active{transform:none}}
html.keyboard-input .hero-photo,html.keyboard-input .hero-dot,html.keyboard-input .diagram-tablist button{transition:none}html.keyboard-input .hero-dot:active,html.keyboard-input .diagram-tablist button:active{transform:none}

/* Persistent navigation and language links, including outside the mobile menu. */
:root{--header-height:104px}
html[lang=nl] :is(h1,h2,h3){hyphens:auto;overflow-wrap:anywhere}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
body.inner{padding-top:var(--header-height)}
.header,.home .header{position:fixed;inset:0 0 auto;width:100%;z-index:100}
.header{background:#fff;box-shadow:0 2px 16px #172b400a}
.home .header{background:rgba(18,29,46,.97);border-bottom:1px solid #ffffff20}
.nav-wrap{gap:22px}
.header #navigation{margin-left:auto;gap:25px}
.language-switcher{display:flex;align-items:center;gap:4px;flex-shrink:0}
.analytics-consent[hidden],.analytics-preferences[hidden]{display:none}
.analytics-consent{position:fixed;right:24px;bottom:24px;z-index:60;width:min(680px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow:auto;padding:25px 28px;background:#fff;color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:3px;box-shadow:0 10px 50px #172b4030}
.analytics-consent h2{font-size:21px;line-height:1.3;margin:0 0 12px}
.analytics-consent p{font-size:14px;line-height:1.65;margin:8px 0;color:#515c6a}
.analytics-consent a{color:#a42c1d;text-decoration:underline;text-underline-offset:3px}
.analytics-actions{display:flex;gap:12px;margin-top:18px}
.analytics-actions button{flex:1;min-height:46px;padding:10px 18px;border:1px solid #172b40;border-radius:2px;background:white;color:#172b40;font:600 14px/1.4 var(--sans);cursor:pointer}
.analytics-actions button:focus-visible,.analytics-preferences:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.analytics-preferences{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:10px;text-align:left;cursor:pointer}
@media(hover:hover) and (pointer:fine){.analytics-actions button:hover{background:#f0f3f6}.analytics-preferences:hover{text-decoration:underline}}
@media(max-width:520px){.analytics-consent{right:12px;bottom:12px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px}.analytics-consent h2{font-size:20px}.analytics-actions{gap:10px}}
.language-switcher a{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid transparent;border-radius:3px}
.language-switcher img{display:block;width:27px;height:18px;box-shadow:0 0 0 1px #172b4029}
.language-switcher a[aria-current=page]{border-color:#d83b285e;background:#d83b2808;box-shadow:inset 0 -2px var(--accent)}
.home .language-switcher a[aria-current=page]{border-color:#ffffff40;background:#ffffff0a}
.language-switcher a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.language-switcher a:hover{background:#d83b280d}.home .language-switcher a:hover{background:#ffffff15}}
@media(max-width:1100px){.nav-wrap{gap:16px}.header #navigation{gap:18px}}
@media(max-width:1000px){
  :root{--header-height:90px}
  .nav-wrap{min-height:var(--header-height);position:relative;gap:12px}
  .header .brand{order:1}
  .language-switcher{order:2;margin-left:auto}
  .menu-toggle{order:3;display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;min-width:44px;padding:9px 12px;background:transparent;border:1px solid var(--line);border-radius:3px;font-size:13px}
  .home .menu-toggle{color:#fff;border-color:#ffffff66}
  .header #navigation{order:4;display:none;position:absolute;top:var(--header-height);left:0;right:0;margin:0;max-height:calc(100dvh - var(--header-height) - 12px);overflow-y:auto;padding:22px;border:1px solid var(--line);border-radius:3px;background:#fff;align-items:stretch;gap:8px;z-index:10}
  .header #navigation.is-open{display:flex;flex-direction:column}
  .home .header #navigation{background:#172b40;border-color:#ffffff28}
  .home .header #navigation>a{color:#fff}
  .nav-services summary{padding-block:10px}
  .nav-dropdown{position:static;width:100%;max-height:45vh;margin-top:10px;box-shadow:none;border-top-width:2px}
  .home .nav-dropdown{background:#222c3b;color:#fff}
  .home .nav-dropdown a{border-bottom-color:#ffffff16}
  .home .nav-dropdown a:first-child{color:#f7a194}
}
@media(max-width:520px){
  .nav-wrap{gap:8px}
  .header .brand img{width:clamp(116px,32vw,166px)}
  .menu-toggle{padding:8px;width:44px;gap:0}
  .menu-toggle .menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .menu-toggle>[aria-hidden]{font-size:23px;line-height:1}
  .language-switcher{gap:2px}
  .language-switcher a{min-width:34px}
  .language-switcher img{width:24px;height:16px}
}
