.mobile-submenu-toggle{display:none}
.global-utility-bar{position:fixed;z-index:1000;top:10px;right:clamp(10px,2vw,28px);display:flex;align-items:center;gap:8px;padding:5px;background:rgba(245,242,235,.96);border:1px solid rgba(21,33,30,.14);border-radius:999px;box-shadow:0 8px 28px rgba(15,35,28,.14);backdrop-filter:blur(12px)}
.global-language-switcher{display:flex!important;align-items:center!important;gap:3px!important;padding:3px!important;margin:0!important;background:#e8ede5!important;border-radius:999px!important}
.global-language-switcher button{min-width:34px;height:29px;padding:0 7px;border:0;border-radius:999px;background:transparent;color:#53605b;font:800 10px Arial,sans-serif;letter-spacing:.05em;cursor:pointer}.global-language-switcher button:hover,.global-language-switcher button:focus-visible{background:#fff}.global-language-switcher button.active{background:#173b2b;color:#fff}.global-language-switcher button:focus-visible{outline:2px solid #c5ed3d;outline-offset:2px}
.global-quote-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:35px;padding:7px 15px;background:#d7ed52;color:#15211e!important;border-radius:999px;font:800 12px Arial,sans-serif;text-decoration:none!important;white-space:nowrap;box-shadow:none}.global-quote-button:hover,.global-quote-button:focus-visible{background:#c9e038;transform:none}.global-quote-button:focus-visible{outline:2px solid #173b2b;outline-offset:2px}
.has-global-utility .site-header .language,.has-global-utility .site-header .quote-languages{visibility:hidden}
.has-global-utility .site-header>.actions,.has-global-utility .site-header>.header-actions{display:none!important}
@media(max-width:650px){.global-utility-bar{top:7px;right:7px;gap:5px;padding:4px}.global-language-switcher button{min-width:29px;height:28px;padding:0 4px}.global-quote-button{min-height:34px;padding:7px 11px;font-size:11px}}
@media(max-width:390px){.global-language-switcher button{min-width:26px;padding:0 2px}.global-quote-button{padding-inline:9px;font-size:10px}}
/* Keep the existing menu button clear of the fixed language and quote controls. */
@media (min-width:761px) and (max-width:1100px){
  .has-global-utility .site-header{position:relative}
  .has-global-utility .site-header>.menu-toggle{position:absolute;right:310px;top:50%;transform:translateY(-50%);z-index:1002;pointer-events:auto}
  .has-global-utility .site-header>.actions,.has-global-utility .site-header>.header-actions{display:none}
}
@media (max-width:760px){
  .has-global-utility .site-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:72px 54px;min-height:126px;padding-top:0;padding-bottom:0}
  .has-global-utility .site-header>.logo-lockup,.has-global-utility .site-header>.brand{grid-column:1/-1;grid-row:1;justify-self:start}
  .has-global-utility .site-header>.menu-toggle{grid-column:1;grid-row:2;justify-self:start;align-self:center;position:relative;z-index:1002;pointer-events:auto}
  .has-global-utility .site-header>.actions,.has-global-utility .site-header>.header-actions{display:none}
  .has-global-utility .site-header.menu-open .mega-nav{top:100%}
  .global-utility-bar{top:79px;right:7px}
}
@media (max-width:390px){
  .has-global-utility .site-header{grid-template-rows:68px 54px;min-height:122px}
  .global-utility-bar{top:75px}
}
@media (min-width:1101px){
  .mega-nav .dropdown{max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}

/*
 * Responsive navigation
 * ---------------------
 * Keep every menu group reachable when the navigation is taller than the
 * viewport. The older flex rule centred the complete list vertically, which
 * pushed its first links above the scrollable area on phones and narrow
 * desktop windows.
 */
@media (max-width:1360px){
  .site-header.menu-open .mega-nav{
    position:fixed;
    top:88px;
    right:0;
    bottom:0;
    left:0;
    max-height:none;
    margin:0;
    padding:22px clamp(24px,6vw,64px) 110px;
    justify-content:flex-start;
    align-items:stretch;
    gap:14px;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
    scrollbar-gutter:stable;
    z-index:999;
  }

  .site-header.menu-open .mega-nav>div{
    flex:0 0 auto;
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px;
    border-bottom:1px solid rgba(21,33,30,.14);
  }

  .site-header.menu-open .mega-nav>div>a{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:10px 8px;
  }

  .site-header.menu-open .mega-nav .dropdown{
    display:none;
    grid-column:1/-1;
    padding:2px 0 10px 14px;
  }

  .site-header.menu-open .mega-nav .mobile-section-open>.dropdown{
    display:grid;
  }

  .site-header.menu-open .mega-nav .dropdown a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:9px 12px;
    white-space:normal;
  }

  .mobile-submenu-toggle{
    position:relative;
    display:grid;
    place-items:center;
    width:46px;
    min-height:46px;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    cursor:pointer;
  }

  .mobile-submenu-toggle::before,.mobile-submenu-toggle::after{
    content:"";
    position:absolute;
    width:16px;
    height:2px;
    background:currentColor;
    transition:transform .18s ease;
  }

  .mobile-submenu-toggle::after{transform:rotate(90deg)}
  .mobile-submenu-toggle[aria-expanded="true"]::after{transform:rotate(0)}
  .mobile-submenu-toggle:focus-visible{outline:2px solid #173f36;outline-offset:-4px}

  .site-header:not(.menu-open) .mobile-submenu-toggle{
    display:none;
  }
  .mobile-menu-open{
    overflow:hidden;
  }
}

@media (max-width:760px){
  .has-global-utility .site-header.menu-open .mega-nav{
    top:126px;
  }
}

@media (max-width:390px){
  .has-global-utility .site-header.menu-open .mega-nav{
    top:122px;
  }
}

/* Direct contact access in the header, mobile menu and footer. */
.global-contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:7px 12px;color:#173f36!important;border-left:1px solid rgba(21,33,30,.16);font:800 12px Arial,sans-serif;text-decoration:none!important;white-space:nowrap}
.global-contact-link:hover,.global-contact-link:focus-visible{text-decoration:underline!important;text-underline-offset:3px}.global-contact-link:focus-visible{outline:2px solid #173f36;outline-offset:2px}
.mobile-contact-item{display:none!important}
footer .footer-contact-link{color:var(--lime,#d7ed52)!important;font-weight:800;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1360px){
 .global-contact-link{display:none!important}
 .site-header.menu-open .mega-nav>.mobile-contact-item{display:grid!important;grid-template-columns:1fr;background:var(--lime,#d7ed52);border-bottom:0;margin-bottom:6px}
 .site-header.menu-open .mega-nav>.mobile-contact-item>a{min-height:50px;padding:11px 14px;font-weight:800}
}
/* Switch to the compact navigation before the utility controls can overlap it. */
@media(min-width:1101px) and (max-width:1360px){
 .has-global-utility .site-header{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding-right:300px;position:sticky;top:0}
 .has-global-utility .site-header>.mega-nav{display:none}
 .has-global-utility .site-header>.menu-toggle{display:grid;place-content:center;grid-column:2;grid-row:1;justify-self:end;position:static;transform:none;width:46px;height:46px;padding:8px;border:1px solid var(--line);background:#fff;cursor:pointer;z-index:1002}
 .has-global-utility .site-header>.menu-toggle span{display:block;width:25px;height:2px;margin:4px;background:var(--ink);transition:transform .2s}
 .has-global-utility .site-header.menu-open>.menu-toggle span:first-child{transform:translateY(5px) rotate(45deg)}
 .has-global-utility .site-header.menu-open>.menu-toggle span:last-child{transform:translateY(-5px) rotate(-45deg)}
 .has-global-utility .site-header.menu-open>.mega-nav{display:flex}
}
/* Keep the two footer logos visually equal without affecting the header. */
.detail-footer .logo-lockup img{
  width:130px!important;
  height:auto!important;
  max-width:130px!important;
  max-height:none!important;
  object-fit:contain!important;
  flex:0 0 130px!important;
}
@media(max-width:520px){
  .detail-footer .logo-lockup img{
    width:100px!important;
    max-width:100px!important;
    flex-basis:100px!important;
  }
}
/* Stable full-height responsive navigation for compact desktop and mobile. */
@media (max-width:1360px){
  .site-header.menu-open > .mega-nav{
    display:flex!important;
    flex-direction:column!important;
    position:fixed!important;
    top:88px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:20px clamp(18px,5vw,56px) calc(38px + env(safe-area-inset-bottom))!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    gap:6px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:var(--cream,#f5f2eb)!important;
    box-shadow:0 18px 38px rgba(16,35,29,.18)!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    z-index:999!important;
  }
  .site-header.menu-open > .mega-nav > div{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    flex:0 0 auto!important;
    min-width:0!important;
    border-bottom:1px solid rgba(21,33,30,.16)!important;
  }
  .site-header.menu-open > .mega-nav > div > a{
    display:flex!important;
    align-items:center!important;
    min-height:58px!important;
    padding:13px 10px!important;
    font-size:16px!important;
    line-height:1.3!important;
  }
  .site-header.menu-open > .mega-nav .mobile-submenu-toggle{
    display:grid!important;
    width:58px!important;
    min-height:58px!important;
  }
  .site-header.menu-open > .mega-nav .dropdown{
    display:none!important;
    position:static!important;
    grid-column:1/-1!important;
    max-height:none!important;
    padding:4px 0 12px 14px!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .site-header.menu-open > .mega-nav .mobile-section-open > .dropdown{
    display:grid!important;
  }
  .site-header.menu-open > .mega-nav .dropdown a{
    display:flex!important;
    align-items:center!important;
    min-height:52px!important;
    padding:12px 14px!important;
    font-size:15px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }
}
@media (max-width:760px){
  .has-global-utility .site-header.menu-open > .mega-nav{
    top:126px!important;
    padding:14px 14px calc(30px + env(safe-area-inset-bottom))!important;
  }
}
@media (max-width:390px){
  .has-global-utility .site-header.menu-open > .mega-nav{
    top:122px!important;
  }
}

/* Right-side navigation drawer inspired by the previous site. */
@media (max-width:1360px){
  .site-header.menu-open > .mega-nav{
    display:flex!important;
    flex-direction:column!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(720px,calc(100vw - 72px))!important;
    height:100dvh!important;
    max-height:none!important;
    padding:76px 0 calc(24px + env(safe-area-inset-bottom))!important;
    gap:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:var(--cream,#f5f2eb)!important;
    color:var(--ink,#15211e)!important;
    box-shadow:-22px 0 60px rgba(7,25,21,.28)!important;
    z-index:1090!important;
  }
  .site-header.menu-open > .menu-toggle{
    position:fixed!important;
    top:15px!important;
    right:18px!important;
    width:48px!important;
    height:48px!important;
    transform:none!important;
    border:0!important;
    background:transparent!important;
    z-index:1102!important;
  }
  .site-header.menu-open > .menu-toggle span{
    width:30px!important;
    height:3px!important;
    margin:4px!important;
    background:var(--ink,#15211e)!important;
  }
  .site-header.menu-open > .mega-nav > div{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    flex:0 0 auto!important;
    border-bottom:1px solid rgba(21,33,30,.16)!important;
  }
  .site-header.menu-open > .mega-nav > div > a{
    min-height:54px!important;
    padding:13px 24px!important;
    color:var(--ink,#15211e)!important;
    font-size:16px!important;
    font-weight:700!important;
  }
  .site-header.menu-open > .mega-nav .mobile-submenu-toggle{
    display:grid!important;
    width:58px!important;
    min-height:54px!important;
    color:var(--ink,#15211e)!important;
  }
  .site-header.menu-open > .mega-nav .mobile-submenu-toggle::before,
  .site-header.menu-open > .mega-nav .mobile-submenu-toggle::after{
    background:var(--ink,#15211e)!important;
  }
  .site-header.menu-open > .mega-nav .dropdown{
    display:none!important;
    position:static!important;
    grid-column:1/-1!important;
    max-height:none!important;
    padding:4px 18px 12px!important;
    overflow:visible!important;
    background:#ebe8e0!important;
    border:0!important;
    box-shadow:none!important;
  }
  .site-header.menu-open > .mega-nav .mobile-section-open > .dropdown{
    display:grid!important;
  }
  .site-header.menu-open > .mega-nav .dropdown a{
    min-height:46px!important;
    padding:11px 14px!important;
    color:var(--ink,#15211e)!important;
    font-size:15px!important;
    border-bottom:1px solid rgba(21,33,30,.1)!important;
  }
  .site-header.menu-open > .mega-nav > .mobile-contact-item{
    display:grid!important;
    margin:0!important;
    background:transparent!important;
    border-top:1px solid rgba(21,33,30,.16)!important;
    border-bottom:1px solid rgba(21,33,30,.16)!important;
  }
  .mobile-menu-open .global-utility-bar{
    position:fixed!important;
    top:16px!important;
    right:82px!important;
    z-index:1101!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .mobile-menu-open .global-utility-bar .global-contact-link,
  .mobile-menu-open .global-utility-bar .global-quote-button{
    display:none!important;
  }
  .mobile-menu-open .global-language-switcher{
    background:transparent!important;
  }
  .mobile-menu-open .global-language-switcher button{
    color:var(--ink,#15211e)!important;
  }
  .mobile-menu-open .global-language-switcher button.active{
    background:var(--ink,#15211e)!important;
    color:#fff!important;
  }
}
@media (max-width:760px){
  .site-header.menu-open > .mega-nav{
    width:100vw!important;
  }
  .site-header.menu-open > .mega-nav > div > a{
    padding-inline:18px!important;
  }
}