/* DE-LIS V4 — isolated shared header, step 1. Legacy & article styles untouched. */
.dlh-utility,.dlh-header,.dlh-header *{box-sizing:border-box}
.dlh-utility{background:#f5f5f3;color:#263039;border-bottom:1px solid #e6e7e4}
.dlh-utility__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px}
.dlh-utility__message{font-size:11px;color:#667178;letter-spacing:.01em}
.dlh-utility__contacts{display:flex;align-items:center;gap:27px;flex-wrap:wrap}
.dlh-utility__contacts>span{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px}
.dlh-utility__contacts b{color:#94374d;font-size:11px;font-weight:750}
.dlh-utility__contacts a{color:#263039;text-decoration:none;font-weight:670}
.dlh-utility__contacts a:hover,.dlh-utility__contacts a:focus-visible{color:#94374d;text-decoration:underline}
.dlh-header{position:sticky;top:0;z-index:80;background:#20272b;color:#fff;border-bottom:1px solid #ffffff1c;box-shadow:0 11px 24px #0e14181a}
.dlh-header__inner{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:85px}
.dlh-logo{display:inline-flex;flex:0 0 auto;align-items:center;max-width:158px}
.dlh-logo img{display:block;object-fit:contain;object-position:left center;width:158px;height:66px}
.dlh-desktop{display:flex;align-items:center;justify-content:center;gap:clamp(13px,1.45vw,25px);margin-left:auto}
.dlh-desktop__link,.dlh-services>summary{font-size:clamp(11px,.9vw,13px);font-weight:650;line-height:1.5;color:#f0f2f2;text-decoration:none;white-space:nowrap;transition:color .18s}
.dlh-desktop__link:hover,.dlh-desktop__link:focus-visible,.dlh-services>summary:hover,.dlh-services[open]>summary{color:#f1a2b5}
.dlh-services{position:relative}
.dlh-services>summary{cursor:pointer;display:flex;align-items:center;gap:9px;list-style:none;padding:10px 0}
.dlh-services>summary::-webkit-details-marker,.dlh-mobile>summary::-webkit-details-marker,.dlh-mobile__services>summary::-webkit-details-marker{display:none}
.dlh-chevron{display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:7px;height:7px;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.dlh-services[open] .dlh-chevron,.dlh-mobile__services[open]>summary .dlh-chevron{transform:rotate(225deg)}
.dlh-services__dropdown{position:absolute;z-index:100;top:100%;left:-20px;width:min(390px,calc(100vw - 40px));max-height:min(72vh,650px);overflow:auto;background:#fff;color:#263039;box-shadow:0 24px 55px #1119244a;border:1px solid #e9e0e1;padding:9px;display:grid;gap:0}
.dlh-services__dropdown a{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;line-height:1.4;color:#293137;text-decoration:none;border-bottom:1px solid #edf0ee;transition:background .15s,color .15s}
.dlh-services__dropdown a:last-child{border-bottom:0}
.dlh-services__dropdown a:hover,.dlh-services__dropdown a:focus-visible{background:#f6eef1;color:#963249}
.dlh-services__dropdown a span{color:#963249;flex:none}
.dlh-services__dropdown .dlh-services__all{font-weight:760;color:#962d47;background:#f8f2f3}
.dlh-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex:0 0 auto}
.dlh-lang{font-size:12px;font-weight:770;color:#fff;letter-spacing:.06em;text-decoration:none}
.dlh-lang:hover,.dlh-lang:focus-visible{color:#f1a2b5}
.dlh-consult,.dlh-mobile__cta{border:1px solid #b23d59;background:#a5314e;color:#fff;cursor:pointer;font-size:12px;font-weight:720;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 15px;min-height:43px;transition:background .2s}
.dlh-consult:hover,.dlh-consult:focus-visible,.dlh-mobile__cta:hover,.dlh-mobile__cta:focus-visible{background:#82223b;border-color:#82223b;color:#fff}
.dlh-consult span,.dlh-mobile__cta span{font-size:17px}
.dlh-mobile{display:none}
.dlh-header :is(a,button,summary):focus-visible{outline:3px solid #f6c4d0;outline-offset:3px}
@media(max-width:1240px){
  .dlh-header__inner{gap:15px}
  .dlh-desktop{gap:13px}
  .dlh-consult{display:none}
}
@media(max-width:1100px){
  .dlh-header__inner{min-height:72px}
  .dlh-logo img{width:143px;height:60px}
  .dlh-desktop{display:none}
  .dlh-header__actions{margin-left:auto;gap:16px}
  .dlh-mobile{display:block}
  .dlh-mobile>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;border:1px solid #ffffff55}
  .dlh-mobile>summary span{display:block;background:#fff;width:21px;height:2px;border-radius:2px;transition:transform .2s,opacity .2s}
  .dlh-mobile[open]>summary span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .dlh-mobile[open]>summary span:nth-child(2){opacity:0}
  .dlh-mobile[open]>summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .dlh-mobile__panel{position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;background:#20272b;color:#fff;border-top:1px solid #38444a;box-shadow:0 30px 48px #09111688;padding:24px max(18px,calc((100% - 900px)/2)) 32px}
  .dlh-mobile__overline{font-size:10px;font-weight:750;letter-spacing:.13em;color:#efaab9;margin-bottom:14px}
  .dlh-mobile__panel nav{display:flex;flex-direction:column}
  .dlh-mobile__panel nav>a,.dlh-mobile__services>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;text-decoration:none;color:#fff;font-size:clamp(17px,2.4vw,23px);font-weight:620;line-height:1.4;padding:13px 0;border-bottom:1px solid #ffffff2a}
  .dlh-mobile__panel nav>a:hover,.dlh-mobile__panel nav>a:focus-visible,.dlh-mobile__services>summary:hover{color:#f3b9c6}
  .dlh-mobile__panel nav>a span{font-size:16px;color:#efaab9}
  .dlh-mobile__services>summary{cursor:pointer;list-style:none}
  .dlh-mobile__services>div{display:grid;background:#30373b;padding:10px 12px;border-bottom:1px solid #ffffff26}
  .dlh-mobile__services>div a{font-size:14px;line-height:1.45;color:#e2e5e6;text-decoration:none;padding:10px 6px;border-bottom:1px solid #ffffff16}
  .dlh-mobile__services>div a:last-child{border:0}
  .dlh-mobile__services>div a:hover,.dlh-mobile__services>div a:focus-visible{color:#f2aec0}
  .dlh-mobile__cta{margin-top:24px;width:100%;justify-content:space-between;padding:16px 19px;font-size:14px}
  .dlh-mobile__contact{display:flex;flex-wrap:wrap;gap:13px 24px;color:#bdc7cb;font-size:12px;margin-top:23px}
  .dlh-mobile__contact a{color:#fff;text-decoration:none}
  .dlh-mobile__contact a:hover{text-decoration:underline}
}
@media(max-width:700px){
  .dlh-utility__inner{justify-content:center;min-height:42px}
  .dlh-utility__message{display:none}
  .dlh-utility__contacts{justify-content:center;gap:8px 17px}
  .dlh-utility__contacts>span{font-size:10px;gap:5px}
  .dlh-utility__contacts b{font-size:10px}
  .dlh-header__inner{min-height:69px}
  .dlh-logo img{width:125px;height:54px}
  .dlh-mobile__panel{max-height:calc(100dvh - 69px);padding:22px 18px 32px}
}
@media(max-width:360px){
  .dlh-utility__contacts{gap:6px 10px}
  .dlh-utility__contacts>span{font-size:9px}
  .dlh-header__actions{gap:10px}
  .dlh-logo img{width:116px}
}
@media(prefers-reduced-motion:reduce){
  .dlh-header *{transition:none!important}
}

/* V4 mobile-only overlay. Header remains the existing sticky component above it. */
.dlh-backdrop{
  position:fixed;inset:0;z-index:79;background:rgba(12,18,22,.48);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease
}
@media(max-width:1100px){
  html:has([data-dlh-header]){scrollbar-gutter:stable}
  .dlh-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto}
  /* Lock the root scroller only. A hidden-overflow body becomes a new
     sticky ancestor and sends the header/menu back to the document top. */
  html.dlh-scroll-locked{overflow:hidden!important;overscroll-behavior:none}
  html.dlh-scroll-locked{scroll-behavior:auto!important}
  .dlh-mobile__panel{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
}
@media(prefers-reduced-motion:reduce){
  .dlh-backdrop{transition:none}
}

/* V4 desktop refinement — scoped to the current shared header, not the homepage. */
@media (min-width:1101px){
  .dlh-utility{background:#f7f7f5}
  .dlh-utility__inner{min-height:40px}
  .dlh-utility__contacts a{transition:color .15s}
  .dlh-header{background:#1e262b;box-shadow:0 8px 24px rgba(10,18,23,.15)}
  /* Three visual zones: logo / centered navigation / language + quote CTA.
     The navigation fills the space between the side groups instead of being pushed right. */
  .dlh-header__inner{min-height:90px;gap:clamp(18px,1.45vw,28px)}
  .dlh-logo{max-width:164px;flex:0 0 164px}
  .dlh-logo img{width:164px;height:68px}
  .dlh-desktop{flex:1 1 0;min-width:0;margin-left:0;justify-content:center;gap:clamp(13px,1.3vw,23px)}
  .dlh-desktop__link,.dlh-services>summary{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:11px 0;font-size:13px;line-height:1.35;font-weight:650;letter-spacing:.005em;color:#f5f5f5}
  .dlh-desktop__link::after,.dlh-services>summary::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:#d9738d;transform:scaleX(0);transform-origin:left center;transition:transform .2s;pointer-events:none}
  .dlh-desktop__link:hover::after,.dlh-desktop__link:focus-visible::after,.dlh-services:hover>summary::after,.dlh-services[open]>summary::after,.dlh-services>summary:focus-visible::after{transform:scaleX(1)}
  .dlh-services>summary{gap:11px}
  .dlh-services__dropdown{top:calc(100% + 2px);left:-28px;width:min(520px,calc(100vw - 48px));max-height:min(68vh,610px);padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px;align-content:start;border:1px solid #e7e2e2;border-top:3px solid #a5314e;border-radius:0 0 12px 12px;box-shadow:0 22px 52px rgba(11,18,24,.26)}
  .dlh-services__dropdown .dlh-services__all{grid-column:1/-1;border-radius:6px;margin-bottom:5px}
  .dlh-services__dropdown a{min-width:0;padding:12px 13px;border-radius:5px;border-bottom:1px solid #f0eeee;font-size:13px;transition:background .15s,color .15s}
  .dlh-services__dropdown a:hover,.dlh-services__dropdown a:focus-visible{background:#f9eff2;color:#87223c}
  .dlh-services__dropdown a span{font-size:14px}
  .dlh-lang{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:6px 9px;border:1px solid rgba(255,255,255,.2);border-radius:6px;letter-spacing:.04em}
  .dlh-lang:hover,.dlh-lang:focus-visible{border-color:#d9738d;background:rgba(255,255,255,.06)}
  .dlh-consult{min-height:48px;padding:13px 18px;border-color:#b53b59;border-radius:7px;background:#a5314e;box-shadow:0 4px 13px rgba(0,0,0,.10);font-size:13px;letter-spacing:.005em}
  .dlh-consult:hover,.dlh-consult:focus-visible{background:#bd3f60;border-color:#bd3f60;box-shadow:0 6px 18px rgba(0,0,0,.18)}
  .dlh-header__actions{gap:14px}
}
@media (min-width:1101px) and (max-width:1240px){
  .dlh-desktop{gap:12px}
  .dlh-desktop__link,.dlh-services>summary{font-size:12px}
  .dlh-services__dropdown{width:min(440px,calc(100vw - 48px))}
}
@media(prefers-reduced-motion:reduce){
  .dlh-desktop__link::after,.dlh-services>summary::after{transition:none}
}

/* Legacy-layout bridge only. The approved V4 header stays visually identical.
   Legacy .content has z-index:500 and .wrapper clips overflow: rendering the
   header at body level with a higher stack makes the dropdown and mobile blur
   usable while the content keeps its existing design. */
body.dlh-legacy-active .dlh-header,
body.dlh-legacy-active .dlh-utility{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body.dlh-legacy-active .dlh-header{z-index:1100}
body.dlh-legacy-active .dlh-backdrop{z-index:1099}
body.dlh-legacy-active .content.pt-header-height{padding-top:0}
body.dlh-legacy-active .dlh-header .v3-container,
body.dlh-legacy-active .dlh-utility .v3-container{width:min(calc(100% - 64px),1350px);margin-inline:auto}
@media(max-width:700px){
  body.dlh-legacy-active .dlh-header .v3-container,
  body.dlh-legacy-active .dlh-utility .v3-container{width:calc(100% - 36px)}
}
/* Old bundled app.js expects .header and submenu hooks to exist.
   Compatibility markup must be completely invisible and inert. */
body.dlh-legacy-active .dlh-legacy-js-compat{display:none!important}
body.dlh-legacy-active #subscribe{scroll-margin-top:105px}

/* Local legacy footers: consistent request CTA without touching live styles. */
body.dlh-legacy-active .footer .dlh-legacy-footer-request{display:flex;align-items:center;margin-left:auto;padding:14px 0}
body.dlh-legacy-active .footer .dlh-legacy-footer-request>a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 20px;border-radius:6px;background:#a5314e;border:1px solid #b94160;color:#fff;text-decoration:none;font-size:13px;font-weight:750;line-height:1.3;transition:background .18s,border-color .18s}
body.dlh-legacy-active .footer .dlh-legacy-footer-request>a:hover,
body.dlh-legacy-active .footer .dlh-legacy-footer-request>a:focus-visible{background:#bd3f60;border-color:#bd3f60;color:#fff}
@media(max-width:850px){body.dlh-legacy-active .footer .dlh-legacy-footer-request{width:100%;margin-left:0}body.dlh-legacy-active .footer .dlh-legacy-footer-request>a{width:100%}}
@media(prefers-reduced-motion:reduce){body.dlh-legacy-active .footer .dlh-legacy-footer-request>a{transition:none}}
