/* R66: visible navigation on the main site and quotation page.
   All page-level rules require the explicit r66-navigation root class. */
html.r66-navigation{
  --r66-header-height:76px;
  --r66-legacy-header-height:76px;
  scroll-padding-top:calc(var(--r66-header-height) + 12px);
}
/* Existing sticky portfolio filters inherit the same measured header height;
   homepage-specific ResizeObserver values may still override this locally. */
body.r66-navigation{--r44-header-height:var(--r66-header-height)}
/* Main-site headers were already fixed. Preserve the original main/hero spacing
   and add only the extra height. The quotation header stays in normal flow. */
body.r66-navigation:has(>.header.r66-header){
  padding-top:max(0px,calc(var(--r66-header-height) - var(--r66-legacy-header-height)));
}
body.r66-navigation header.r66-header,
body.r66-navigation header.r66-header *{box-sizing:border-box}
body.r66-navigation header.r66-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:100%;
  min-width:0;
  height:76px;
  min-height:76px;
  margin:0;
  padding:0 clamp(18px,4vw,58px);
  border:0;
  border-bottom:1px solid #e6e0f1;
  background:#fffffff7;
  color:#302650;
  box-shadow:0 4px 18px #39255606;
  backdrop-filter:blur(14px);
  overflow:visible;
  transition:background .18s,box-shadow .18s;
}
body.r66-navigation header.header.r66-header{position:fixed;inset:0 0 auto;z-index:80}
body.r66-navigation header.site-header.r66-header{position:sticky;top:0;z-index:80;flex-wrap:nowrap}
body.r66-navigation header.r66-header>.r66-brand-group{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  gap:12px;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:0;
}
body.r66-navigation header.r66-header .r66-brand-group>.wordmark,
body.r66-navigation header.r66-header .r66-brand-group>.brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  text-decoration:none;
}
body.r66-navigation header.r66-header .r66-brand-group>.wordmark img,
body.r66-navigation header.r66-header .r66-brand-group>.brand img{
  display:block;
  width:156px!important;
  height:52px!important;
  max-width:none;
  margin:0;
  object-fit:contain;
}
body.r66-navigation header.r66-header .r66-brand-group>.r37-language{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  margin:0;
  padding:0;
  border:1px solid #ded5f4;
  border-radius:23px;
  background:#f8f5ff;
  color:#6547cb;
  font-size:12px;
  font-weight:650;
  line-height:1.3;
  white-space:nowrap;
  text-decoration:none;
}
body.r66-navigation header.r66-header>.r66-primary-nav{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  flex:1 1 auto;
  flex-basis:auto;
  flex-wrap:nowrap;
  order:0;
  gap:6px;
  width:auto;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
  white-space:normal;
}
body.r66-navigation header.r66-header>.r66-primary-nav>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex:0 1 auto;
  min-width:0;
  min-height:44px;
  margin:0;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#493b67;
  font-family:inherit;
  font-size:13px;
  font-weight:550;
  line-height:1.35;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  overflow-wrap:break-word;
  text-wrap:balance;
  transition:background .16s,border-color .16s,color .16s;
}
body.r66-navigation header.r66-header>.r66-primary-nav>a::after{display:none!important}
body.r66-navigation header.r66-header>.r66-primary-nav>a:hover{background:#f6f2ff;color:#6245c6}
body.r66-navigation header.r66-header>.r66-primary-nav>a[aria-current="page"]{
  border-color:#ddd2f7;
  background:#f0eaff;
  color:#6245c6;
  font-weight:700;
}
body.r66-navigation header.r66-header>.r66-primary-nav>a.header-contact,
body.r66-navigation header.r66-header>.r66-primary-nav>a.r49-header-contact{
  display:inline-flex!important;
  justify-content:center;
  gap:5px;
  min-height:44px;
  margin:0 0 0 6px;
  padding:9px 15px;
  border:1px solid #6546dc;
  border-radius:10px;
  background:#6546dc;
  color:#fff;
  font-size:13px;
  font-weight:650;
  line-height:1.35;
  white-space:nowrap;
  box-shadow:none;
}
body.r66-navigation header.r66-header>.r66-primary-nav>a.header-contact:hover,
body.r66-navigation header.r66-header>.r66-primary-nav>a.r49-header-contact:hover{background:#5333c9;border-color:#5333c9;color:#fff}
body.r66-navigation header.r66-header a:focus-visible,
body.r66-navigation header.r66-header button:focus-visible{outline:3px solid #22afbd;outline-offset:2px}

/* Quotation language is the original two-button control, relocated intact.
   The currency control and local quotation toolbar retain their original styles. */
body.r66-navigation header.r66-header .r66-brand-group>.r66-language-group{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  gap:0;
  width:auto;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:0;
}
body.r66-navigation header.r66-header .r66-language-group>.quote-preference-group{
  display:grid;
  grid-template-columns:48px 76px;
  gap:0;
  width:130px;
  min-width:0;
  margin:0;
  padding:2px;
  border:1px solid #ded5f4;
  border-radius:26px;
  background:#f5f1ff;
}
body.r66-navigation header.r66-header .r66-language-group .quote-preference-group>button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%;
  height:44px;
  min-height:44px;
  margin:0;
  padding:0 7px;
  border:0;
  border-radius:23px;
  background:transparent;
  color:#716087;
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1.3;
  text-align:center;
  white-space:nowrap;
}
body.r66-navigation header.r66-header .r66-language-group button[aria-pressed="true"]{background:#6546dc;color:#fff;box-shadow:0 2px 5px #5145e825}
body.r66-navigation header.r66-header .r66-language-group button:disabled{opacity:.6;cursor:wait}

/* Keep compatibility nodes inert even when an older mobile stylesheet says show. */
body.r66-navigation header.r66-header .menu-button,
body.r66-navigation header.r66-header .r49-menu-toggle,
body.r66-navigation header.r66-header .r49-mobile-panel,
body.r66-navigation header.r66-header~.mobile-menu,
body.r66-navigation>.mobile-menu{display:none!important}

@media(max-width:1150px){
  html.r66-navigation{--r66-header-height:116px}
  body.r66-navigation header.r66-header{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:center;
    justify-content:stretch;
    row-gap:6px;
    height:auto!important;
    min-height:0;
    padding:8px 20px;
  }
  body.r66-navigation header.r66-header>.r66-brand-group{gap:10px;justify-self:start}
  body.r66-navigation header.r66-header .r66-brand-group>.wordmark img,
  body.r66-navigation header.r66-header .r66-brand-group>.brand img{width:147px!important;height:49px!important}
  body.r66-navigation header.r66-header>.r66-primary-nav{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:6px;
    width:100%;
    justify-content:stretch;
    align-items:stretch;
    margin:0;
  }
  body.r66-navigation header.r66-header>.r66-primary-nav>a{
    width:100%;
    min-height:44px;
    padding:6px 8px;
    border-color:#e5dff0;
    border-radius:8px;
    background:#fcfbff;
    font-size:12px;
    white-space:normal;
  }
  body.r66-navigation header.r66-header>.r66-primary-nav>a.header-contact,
  body.r66-navigation header.r66-header>.r66-primary-nav>a.r49-header-contact{margin:0;padding:6px 8px;font-size:12px;white-space:normal}
}
@media(max-width:760px){
  html.r66-navigation{--r66-header-height:161px;--r66-legacy-header-height:64px}
  body.r66-navigation header.r66-header{padding:8px 18px;row-gap:6px}
  body.r66-navigation header.r66-header .r66-brand-group>.wordmark img,
  body.r66-navigation header.r66-header .r66-brand-group>.brand img{width:135px!important;height:45px!important}
  body.r66-navigation header.r66-header>.r66-primary-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  body.r66-navigation header.r66-header>.r66-primary-nav>a{min-height:44px;padding:6px 7px;font-size:12px;line-height:1.3}
  body.r66-navigation header.r66-header>.r66-primary-nav>a.header-contact,
  body.r66-navigation header.r66-header>.r66-primary-nav>a.r49-header-contact{min-height:44px;padding:6px 7px;font-size:12px;line-height:1.3}
  body.r66-navigation header.r66-header .r66-language-group>.quote-preference-group{width:130px}
}
@media(max-width:359px){
  body.r66-navigation header.r66-header{padding-inline:16px}
  body.r66-navigation header.r66-header>.r66-primary-nav>a{padding-inline:5px}
  body.r66-navigation header.r66-header>.r66-primary-nav>a.header-contact,
  body.r66-navigation header.r66-header>.r66-primary-nav>a.r49-header-contact{padding-inline:5px}
}
@media(prefers-reduced-motion:reduce){
  body.r66-navigation header.r66-header,
  body.r66-navigation header.r66-header>.r66-primary-nav>a{transition:none}
}
