/* Header — floating sticky menu (template "IS · Header · Principal").
   The header floats over the first section: its Theme Builder wrapper is sticky with a zero height,
   so every page's first section reserves the space itself (class is-hero, see sections.css). */

.elementor-location-header:has(.is-site-header){position:sticky;top:var(--wp-admin--admin-bar--height,0px);height:0;z-index:50}
/* ≤600px the WordPress admin bar scrolls away with the page: the menu sticks to the very top */
@media (max-width:600px){.elementor-location-header:has(.is-site-header){top:0}}

/* Bar */
.is-nav{position:relative;border-radius:14px;background:rgba(8,23,51,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px -18px rgba(8,23,51,.55)}

/* Logo */
.is-logo{flex-shrink:0}
.is-logo a{display:block;line-height:0} /* an inline link adds a text line box: the image would sit at its top, not centred */
.is-logo.elementor-widget-image img[src]{height:22px;width:auto;max-width:none;display:block;filter:brightness(0) invert(1)} /* beats Elementor's 48px default width for linked SVGs */
.is-logo--footer.elementor-widget-image img[src]{height:30px}

/* Menu — desktop links */
.is-menu{flex-grow:1}
.is-menu .elementor-nav-menu--main .elementor-nav-menu{justify-content:center;gap:30px}
/* .is-menu.is-menu: beats Elementor Pro's "a:hover / a:focus / a.highlighted {padding:13px 20px}", which made the bar grow on hover */
.is-menu.is-menu .elementor-nav-menu--main .elementor-item{padding:0;font-size:14px;font-weight:600;color:#FFFFFF;line-height:64px;text-decoration:none}
.is-menu.is-menu .elementor-nav-menu--main .elementor-item:hover,
.is-menu.is-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.is-menu.is-menu .elementor-nav-menu--main .current-menu-ancestor > .elementor-item{color:var(--is-blue)} /* "Expertises" on an expertise page */
.is-menu .elementor-nav-menu--main .is-mi-group > .elementor-item{cursor:default}
.is-menu .elementor-nav-menu--main .sub-arrow{padding-left:6px;display:inline-flex;align-items:center}
.is-menu .elementor-nav-menu--main .sub-arrow svg{display:none}
.is-menu .elementor-nav-menu--main .sub-arrow::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
.is-menu .elementor-nav-menu--main .is-mi-cta{display:none}

/* Menu — desktop "Expertises" dropdown */
.is-menu .elementor-nav-menu--main .sub-menu{width:300px!important;min-width:300px;padding:8px;margin-top:0;border-radius:16px;background:#FFFFFF;box-shadow:0 30px 60px -24px rgba(8,23,51,.6);display:none;flex-direction:column;gap:2px} /* !important: Elementor sets an inline width on sub-menus */
.is-menu .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
.is-menu .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu{display:flex}
.is-menu.is-menu .elementor-nav-menu--main .elementor-sub-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--is-navy);font-size:14px;font-weight:600;line-height:1.35;background:transparent;border:0}
.is-menu.is-menu .elementor-nav-menu--main .elementor-sub-item:hover,
.is-menu.is-menu .elementor-nav-menu--main .elementor-sub-item:focus-visible{background:#F2F8FF;color:var(--is-navy)}
/* Current page in the dropdown: same look as the current item of the mobile panel (mockup) */
.is-menu.is-menu .elementor-nav-menu--main .elementor-sub-item.elementor-item-active{background:var(--is-tint);color:var(--is-blue-ink)}
.is-menu.is-menu .elementor-nav-menu--main .is-mi-ia > .elementor-sub-item.elementor-item-active{background:var(--is-ia-tint);color:var(--is-ia-ink)}

/* Expertise icon tiles (menu item CSS classes is-mi-ia / -dev / -mobile / -web) */
.is-menu .elementor-nav-menu--main [class*="is-mi-"] > .elementor-sub-item::before{content:"";flex:0 0 32px;height:32px;border-radius:9px;background-color:var(--is-tint);background-repeat:no-repeat;background-position:center;background-size:17px 17px}
.is-menu .elementor-nav-menu--main .is-mi-ia > .elementor-sub-item::before{background-color:var(--is-ia-tint);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234338CA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.9 5.6 5.6 1.9-5.6 1.9L12 18l-1.9-5.6-5.6-1.9 5.6-1.9z'/%3E%3Cpath d='M19 3v4'/%3E%3Cpath d='M21 5h-4'/%3E%3C/svg%3E")}
.is-menu .elementor-nav-menu--main .is-mi-dev > .elementor-sub-item::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231679C2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E")}
.is-menu .elementor-nav-menu--main .is-mi-mobile > .elementor-sub-item::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231679C2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E")}
.is-menu .elementor-nav-menu--main .is-mi-web > .elementor-sub-item::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231679C2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13.5' cy='6.5' r='1.5'/%3E%3Ccircle cx='17.5' cy='10.5' r='1.5'/%3E%3Ccircle cx='8.5' cy='7.5' r='1.5'/%3E%3Ccircle cx='6.5' cy='12.5' r='1.5'/%3E%3Cpath d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.93 0 1.65-.75 1.65-1.69 0-.44-.18-.84-.44-1.13-.29-.29-.44-.65-.44-1.13a1.64 1.64 0 0 1 1.67-1.67h2c3.05 0 5.56-2.5 5.56-5.56C21.96 6.01 17.46 2 12 2z'/%3E%3C/svg%3E")}

/* CTA in the bar */
.is-nav-cta .elementor-button{font-size:14px;padding:11px 18px;border-radius:9px;white-space:nowrap}

/* ---------- Burger (≤1100px) ---------- */
/* The panel is positioned against the whole bar (.is-nav), not against the toggle. */
.is-menu,.is-menu > .elementor-widget-container{position:static}
.is-menu .elementor-menu-toggle{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#FFFFFF;font-size:22px;margin:0}
.is-menu .elementor-menu-toggle:hover{background:rgba(255,255,255,.14)}
.is-menu .elementor-menu-toggle svg{fill:#FFFFFF}
.is-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:absolute;left:0;right:0;top:calc(100% + 10px);margin:0;padding:10px;border-radius:18px;background:#FFFFFF;box-shadow:0 30px 60px -24px rgba(8,23,51,.6);max-height:calc(100vh - 120px);overflow-y:auto}
.is-menu .elementor-nav-menu--dropdown .elementor-item,
.is-menu .elementor-nav-menu--dropdown .elementor-sub-item{display:block;padding:12px 14px;border-radius:10px;color:var(--is-navy);background:transparent;font-size:16px;font-weight:600;line-height:1.65;border:0}
.is-menu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{background:var(--is-tint);color:var(--is-blue-ink)}
.is-menu .elementor-nav-menu--dropdown .elementor-item:hover,
.is-menu .elementor-nav-menu--dropdown .elementor-sub-item:hover{background:var(--is-bg-light);color:var(--is-navy)}
/* "Expertises" becomes a section label and its sub-items are always open */
.is-menu .elementor-nav-menu--dropdown .is-mi-group > .elementor-item{padding:12px 14px 4px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--is-muted);pointer-events:none}
.is-menu .elementor-nav-menu--dropdown .is-mi-group > .elementor-item .sub-arrow{display:none}
.is-menu .elementor-nav-menu--dropdown .is-mi-group > .sub-menu{display:block!important;position:static;box-shadow:none;border:0;padding:0} /* !important: Elementor toggles sub-menus with inline display */
.is-menu .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item{padding:10px 14px 10px 28px;font-size:15px}
.is-menu .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item.elementor-item-active{background:var(--is-tint);color:var(--is-blue-ink)}
.is-menu .elementor-nav-menu--dropdown .sub-menu .is-mi-ia > .elementor-sub-item.elementor-item-active{color:var(--is-ia-ink)} /* mockup: #EEF7FF + #4338CA */
/* CTA as the last item of the panel */
.is-menu .elementor-nav-menu--dropdown .is-mi-cta > .elementor-item{margin-top:8px;padding:14px 18px;border-radius:12px;text-align:center;background:var(--is-blue);color:var(--is-night);font-size:15px;font-weight:700}
.is-menu .elementor-nav-menu--dropdown .is-mi-cta > .elementor-item:hover{background:var(--is-blue-hover);color:var(--is-night)}

@media (max-width:1100px){
  .is-menu{flex-grow:0;order:3}
  .is-nav-cta{margin-left:auto}
  .is-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container{left:auto;width:340px}
}
@media (max-width:767px){
  .is-menu{margin-left:auto}
  .is-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container{left:0;width:auto}
}

/* ---------- Footer (template "IS · Footer · Principal") ---------- */
.is-site-footer{color:rgba(255,255,255,.7);font-size:14px}
.is-site-footer p,.is-site-footer address{margin:0;font-style:normal;line-height:1.8;color:inherit;font-size:14px}
/* .is-v3 prefix: beats the generic text-editor link colour (base.css). White as in the mockup, light blue on hover. */
.is-v3 .is-site-footer address a{color:#FFFFFF;text-decoration:none;transition:color .18s}
.is-v3 .is-site-footer address a:hover{color:var(--is-blue)}
/* .e-con prefix: beats Elementor's mobile rule that forces every container to 100% width */
.e-con.is-footer-brand{--width:auto;flex:1 1 280px}
.e-con.is-footer-nav,.e-con.is-footer-col{--width:auto}
.is-footer-title .elementor-heading-title{font-size:14px;font-weight:700;color:#FFFFFF;line-height:1.5}
.is-footer-menu .elementor-nav-menu > li + li{margin-top:10px}
/* Doubled class: beats Elementor Pro's ".elementor-nav-menu a:hover {line-height:20px; padding…}", which made the
   text jump on hover (with its 0.4s transition). !important: beats the widget's default padding rule. */
.is-footer-menu.is-footer-menu .elementor-item,.is-footer-legal.is-footer-legal .elementor-item{padding:0!important;font-size:14px;font-weight:400;line-height:1.65;color:rgba(255,255,255,.7);transition:color .18s}
.is-footer-menu.is-footer-menu .elementor-item:hover{color:#FFFFFF}
.is-footer-menu.is-footer-menu .is-mi-ia > .elementor-item{color:var(--is-ia-ondark)}
.is-footer-menu.is-footer-menu .is-mi-ia > .elementor-item:hover{color:color-mix(in srgb,var(--is-ia-ondark) 50%,#FFFFFF)} /* same "lighter" effect as the white links */
.is-footer-bottom{border-top:1px solid rgba(255,255,255,.12)}
.is-footer-copy .elementor-heading-title{font-size:13px;font-weight:400;line-height:1.5;color:rgba(255,255,255,.7)}
.is-footer-legal .elementor-nav-menu{gap:8px 22px;flex-wrap:wrap}
.is-footer-legal.is-footer-legal .elementor-item{font-size:13px}
.is-footer-legal.is-footer-legal .elementor-item:hover{color:#FFFFFF}
