/* Owned by the navigation views; extracted rules retain their cascade order. */
.input-label{font-family:BrandonGrotesqueWeb-Regular,system-ui,sans-serif;font-size:1.7rem !important;font-style:italic;float:right;width:90%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;top:0.95em;left:0;padding:0em;pointer-events:none;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transition:-webkit-transform 0.3s 0.1s,color 1s;-webkit-transition:transform 0.3s 0.1s,color 1s;transition:transform 0.3s 0.1s,color 1s;-webkit-transition-timing-function:cubic-bezier(0,0.25,0.5,1);transition-timing-function:cubic-bezier(0,0.25,0.5,1);}
.input-span{position:relative;display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.input-svg{position:absolute;top:0;left:0;fill:none;stroke:rgba(255,255,255,0.45);pointer-events:none;-webkit-transition:-webkit-transform 0.7s,stroke 0.7s;-webkit-transition:transform 0.7s,stroke 0.7s;transition:transform 0.7s,stroke 0.7s;-webkit-transition-timing-function:cubic-bezier(0,0.25,0.5,1);transition-timing-function:cubic-bezier(0,0.25,0.5,1);}
.input{font-family:BrandonGrotesqueWeb-Regular,system-ui,sans-serif;font-size:1.7rem;border:none;outline:none;height:25px;color:currentColor;background-color:transparent;position:relative;display:block;float:right;-webkit-appearance:none;width:100%;}
.input::-webkit-input-placeholder{color:currentColor;}
.input::-moz-placeholder{color:currentColor;}
.input:-ms-input-placeholder{color:currentColor;}
.input::placeholder{color:currentColor;}
.input::focus{outline:none;}
.input::-ms-clear{display:none;}
.input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px #05425E inset;-webkit-text-fill-color:#FFFFFF;color:#FFFFFF;}
.input:focus + .Input__Label-s1etzpe8-0{-webkit-transform:translate3d(0,-0.9em,0) scale3d(0.75,0.75,1);-ms-transform:translate3d(0,-0.9em,0) scale3d(0.75,0.75,1);transform:translate3d(0,-0.9em,0) scale3d(0.75,0.75,1);}
.input:focus ~ .Input__Svg-s1etzpe8-2{-webkit-transform:translate3d(-66.6%,0,0);-ms-transform:translate3d(-66.6%,0,0);transform:translate3d(-66.6%,0,0);}
.input-wrapper{position:relative;z-index:1;display:inline-block;width:100%;vertical-align:top;overflow:hidden;padding-top:1em;}
.input-root{width:100%;}
.form-inline-input-wrapper{position:relative;color:#fff;}
.form-inline-button{font-size:1.8rem;width:25px;height:25px;padding:0;color:currentColor;background:transparent;text-align:right;border:none;cursor:pointer;position:absolute;top:60%;right:0;-webkit-transform:translate3d(0,-50%,0);-ms-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0);-webkit-transition:right 0.2s ease-in-out;transition:right 0.2s ease-in-out;z-index:1;}
.form-inline-button > .icon{font-size:1.5rem;}
.burger-root{width:23px;height:8px;position:relative;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:0.5s ease-in-out;transition:0.5s ease-in-out;cursor:pointer;}
.burger-line{display:block;position:absolute;height:1px;width:100%;background:#FFFFFF;border-radius:1px;opacity:1;left:0;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:0.25s ease-in-out;transition:0.25s ease-in-out;}
.burger-line:nth-of-type(1){top:0px;-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center;}
.burger-line:nth-of-type(2){top:4px;-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center;}
.burger-line:nth-of-type(3){top:8px;-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center;}
.select-dropdown-container .Dropdown-root{position:relative;}
.select-dropdown-container .Dropdown-control{position:relative;box-sizing:border-box;cursor:default;outline:none;-webkit-transition:all 200ms ease;transition:all 200ms ease;line-height:1.1;min-width:65px;text-align:center;cursor:pointer;}
.select-dropdown-container .Dropdown-arrow{position:absolute;top:50%;right:10px;}
.select-dropdown-container .Dropdown-arrow:before{content:'';position:absolute;top:-4px;left:-3px;width:1px;height:8px;background-color:#FFFFFF;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);}
.select-dropdown-container .Dropdown-arrow:after{content:'';position:absolute;top:-4px;right:-3px;width:1px;height:8px;background-color:#FFFFFF;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}
.select-dropdown-container .Dropdown-menu{position:absolute;top:-19px;left:5px;width:100%;max-height:200px;padding:5px;background-color:white;box-sizing:border-box;overflow-y:auto;z-index:1000;-webkit-overflow-scrolling:touch;}
.select-dropdown-container .Dropdown-menu .Dropdown-group > .Dropdown-title{padding:8px 10px;color:rgba(51,51,51,1);font-weight:bold;text-transform:capitalize;}
.select-dropdown-container .Dropdown-option{position:relative;color:#5e5e5e;opacity:0.5;padding:10px 13px;-webkit-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out;cursor:pointer;}
.select-dropdown-container .Dropdown-option:hover,.select-dropdown-container .Dropdown-option.is-selected{opacity:1;}
.select-dropdown-container .Dropdown-option.is-selected{pointer-events:none;}
.select-dropdown-container .Dropdown-option.is-selected:before{content:'';position:absolute;top:40%;right:12px;width:1px;height:8px;background-color:#FD6F48;-webkit-transform:rotate(-135deg);-ms-transform:rotate(-135deg);transform:rotate(-135deg);}
.select-dropdown-container .Dropdown-option.is-selected:after{content:'';position:absolute;top:40%;right:7px;width:1px;height:8px;background-color:#FD6F48;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);}
.select-dropdown-container .Dropdown-noresults{box-sizing:border-box;color:#ccc;cursor:default;display:block;padding:8px 10px;}
.language-switcher-root-1{font-family:Gustavo,system-ui,sans-serif;font-size:1.25rem;-webkit-letter-spacing:0.13rem;-moz-letter-spacing:0.13rem;-ms-letter-spacing:0.13rem;letter-spacing:0.13rem;text-transform:uppercase;color:#FFFFFF;}
.language-switcher-root-white{font-family:Gustavo,system-ui,sans-serif;font-size:1.25rem;-webkit-letter-spacing:0.13rem;-moz-letter-spacing:0.13rem;-ms-letter-spacing:0.13rem;letter-spacing:0.13rem;text-transform:uppercase;color:#FFFFFF;margin-right:20px;height:25px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
@media (min-width:64em){.search-root{min-width:195px;}}
.social-networks-root-fixed-height{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:25px;}
.social-networks-root-fixed-height a{margin-left:8px;width:20px;height:20px;}
.social-networks-root-fixed-height a:first-of-type{margin-left:0px;}
.social-networks-root-fixed-height.fadeOut{-webkit-animation:sc-keyframes-g-q-ve-ho 0.2s ease-in-out forwards;animation:sc-keyframes-g-q-ve-ho 0.2s ease-in-out forwards;}
.social-networks-root-fixed-height.fadeIn{-webkit-animation:sc-keyframes-k-ix-qku 0.3s ease-in-out forwards;animation:sc-keyframes-k-ix-qku 0.3s ease-in-out forwards;-webkit-animation-delay:0.4s;animation-delay:0.4s;}
.social-icon-header{width:100%;height:100%;-webkit-transition:opacity 0.1s ease-out;transition:opacity 0.1s ease-out;}
.social-icon-header:hover{opacity:0.7;}
.header-root{position:relative;pointer-events:all;z-index:2;}
.header-root .Container-s1f73g56-0{padding-top:25px;}
@media (min-width:64em){.header-root .Container-s1f73g56-0{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-top:47.75px;}}
.header-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;}
.header-menu-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
.header-menu-button{font-size:16px;font-family:Gustavo,system-ui,sans-serif;color:#FFFFFF;padding-left:10px;cursor:pointer;}
.header-right-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;}
.logo-image-home-hero{display:block;width:110px;height:auto;-webkit-transition:width 0.5s ease-in-out;transition:width 0.5s ease-in-out;}
@media (min-width:64em){.logo-image-home-hero{width:150px;}}
.menu-root{position:fixed;top:0;left:0;-webkit-transition:-webkit-transform 0.4s cubic-bezier(0.3,0.1,0.3,1);-webkit-transition:transform 0.4s cubic-bezier(0.3,0.1,0.3,1);transition:transform 0.4s cubic-bezier(0.3,0.1,0.3,1);pointer-events:none;width:100%;z-index:5;}
@media (min-width:48em){.menu-root{height:auto;}}
.menu-root .hide{display:none;}
.menu-root:after{content:'';position:absolute;z-index:-1;top:0;left:0;width:100%;min-height:110px;max-height:110px;background-color:#FFFFFF;-webkit-transform:translate3d(0px,-100%,0px);-ms-transform:translate3d(0px,-100%,0px);transform:translate3d(0px,-100%,0px);-webkit-transition:-webkit-transform 500ms ease-in-out,max-height 500ms ease-in-out,min-height 500ms ease-in-out;-webkit-transition:transform 500ms ease-in-out,max-height 500ms ease-in-out,min-height 500ms ease-in-out;transition:transform 500ms ease-in-out,max-height 500ms ease-in-out,min-height 500ms ease-in-out;will-change:transform;}
@media (min-width:64em){.menu-root:after{min-height:133px;max-height:133px;}}
.menu-logo-wrapper{position:absolute;pointer-events:auto;top:25px;left:50%;-webkit-transform:translate3d(-50%,0,0);-ms-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);z-index:6;}
@media (min-width:48em){.menu-menu-content-wrapper{height:auto;overflow-y:hidden;}}
.no-scroll{position:relative;height:100vh;overflow-y:hidden;}
.social-icons-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-top:15px;opacity:0;-webkit-transform:translate3d(0px,-50%,0px);-ms-transform:translate3d(0px,-50%,0px);transform:translate3d(0px,-50%,0px);}
.social-icons-header a{margin-left:18px;width:25px;height:25px;}
.social-icons-header a:first-of-type{margin-left:0px;}
.social-icons-header.fadeOut{-webkit-animation:sc-keyframes-g-q-ve-ho 0.2s ease-in-out forwards;animation:sc-keyframes-g-q-ve-ho 0.2s ease-in-out forwards;}
.social-icons-header.fadeIn{-webkit-animation:sc-keyframes-k-ix-qku 0.3s ease-in-out forwards;animation:sc-keyframes-k-ix-qku 0.3s ease-in-out forwards;-webkit-animation-delay:0.4s;animation-delay:0.4s;}
.category-root-3{margin-top:40px;margin-left:15px;margin-right:15px;max-width:100px;opacity:0;-webkit-transform:translate3d(0px,-50px,0px);-ms-transform:translate3d(0px,-50px,0px);transform:translate3d(0px,-50px,0px);}
.category-root-3.fadeOut{-webkit-animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;}
.category-root-3.fadeIn{-webkit-animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;-webkit-animation-delay:0.4s;animation-delay:0.4s;}
.category-root-5{margin-top:40px;margin-left:15px;margin-right:15px;max-width:100px;opacity:0;-webkit-transform:translate3d(0px,-50px,0px);-ms-transform:translate3d(0px,-50px,0px);transform:translate3d(0px,-50px,0px);}
.category-root-5.fadeOut{-webkit-animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;}
.category-root-5.fadeIn{-webkit-animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;-webkit-animation-delay:0.45s;animation-delay:0.45s;}
.category-root-2{margin-top:40px;margin-left:15px;margin-right:15px;max-width:100px;opacity:0;-webkit-transform:translate3d(0px,-50px,0px);-ms-transform:translate3d(0px,-50px,0px);transform:translate3d(0px,-50px,0px);}
.category-root-2.fadeOut{-webkit-animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;}
.category-root-2.fadeIn{-webkit-animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;-webkit-animation-delay:0.5s;animation-delay:0.5s;}
.category-root-7{margin-top:40px;margin-left:15px;margin-right:15px;max-width:100px;opacity:0;-webkit-transform:translate3d(0px,-50px,0px);-ms-transform:translate3d(0px,-50px,0px);transform:translate3d(0px,-50px,0px);}
.category-root-7.fadeOut{-webkit-animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;}
.category-root-7.fadeIn{-webkit-animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;-webkit-animation-delay:0.55s;animation-delay:0.55s;}
.category-root-1{margin-top:40px;margin-left:15px;margin-right:15px;max-width:100px;opacity:0;-webkit-transform:translate3d(0px,-50px,0px);-ms-transform:translate3d(0px,-50px,0px);transform:translate3d(0px,-50px,0px);}
.category-root-1.fadeOut{-webkit-animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;}
.category-root-1.fadeIn{-webkit-animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;-webkit-animation-delay:0.6000000000000001s;animation-delay:0.6000000000000001s;}
.category-root-6{margin-top:40px;margin-left:15px;margin-right:15px;max-width:100px;opacity:0;-webkit-transform:translate3d(0px,-50px,0px);-ms-transform:translate3d(0px,-50px,0px);transform:translate3d(0px,-50px,0px);}
.category-root-6.fadeOut{-webkit-animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;}
.category-root-6.fadeIn{-webkit-animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;-webkit-animation-delay:0.65s;animation-delay:0.65s;}
.category-root-mt40{margin-top:40px;margin-left:15px;margin-right:15px;max-width:100px;opacity:0;-webkit-transform:translate3d(0px,-50px,0px);-ms-transform:translate3d(0px,-50px,0px);transform:translate3d(0px,-50px,0px);}
.category-root-mt40.fadeOut{-webkit-animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;}
.category-root-mt40.fadeIn{-webkit-animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;-webkit-animation-delay:0.7000000000000001s;animation-delay:0.7000000000000001s;}
.category-root-4{margin-top:40px;margin-left:15px;margin-right:15px;max-width:100px;opacity:0;-webkit-transform:translate3d(0px,-50px,0px);-ms-transform:translate3d(0px,-50px,0px);transform:translate3d(0px,-50px,0px);}
.category-root-4.fadeOut{-webkit-animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;animation:sc-keyframes-fa-ne-sb 0.2s ease-in-out forwards;}
.category-root-4.fadeIn{-webkit-animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;animation:sc-keyframes-h-fizv-d 0.3s ease-in-out forwards;-webkit-animation-delay:0.75s;animation-delay:0.75s;}
.category-category-title-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;color:#FD6F48;-webkit-transition:color 0.3s ease;transition:color 0.3s ease;}
.category-category-name{font-family:Gustavo,system-ui,sans-serif;font-size:18px;text-transform:uppercase;}
.category-category-items{margin-top:25px;}
.category-category-item{margin-bottom:8px;}
.category-category-item a{font-size:14px;color:#808B91;-webkit-transition:color 0.3s ease-out;transition:color 0.3s ease-out;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;}
.category-category-item a svg > *{-webkit-transition:stroke 0.3s ease-out;transition:stroke 0.3s ease-out;}
.category-category-item a:hover{color:#05425E;}
.category-category-item a:hover svg > *{stroke:#05425E;}
.header-mega-nav{margin-top:120px;margin-bottom:40px;}
.nav-category-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:relative;width:100%;}
.nav-category-container.fadeOut:before{-webkit-animation:sc-keyframes-f-i-ee-nd 0.2s ease-in-out forwards;animation:sc-keyframes-f-i-ee-nd 0.2s ease-in-out forwards;}
.nav-category-container.fadeIn:before{-webkit-animation:sc-keyframes-e-lo-szv 0.65s ease-in-out forwards;animation:sc-keyframes-e-lo-szv 0.65s ease-in-out forwards;-webkit-animation-delay:0.4s;animation-delay:0.4s;}
.nav-category-container:before{content:'';display:block;width:0%;height:1px;background-color:rgba(128,139,145,0.2);position:absolute;top:0;left:0;}
.mirror-language-switcher {
  position: relative;
}
.mirror-language-switcher .Dropdown-control {
  cursor: pointer;
}
.mirror-language-options {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 1001;
  display: none;
  min-width: 70px;
  padding: 6px 0;
  border: 1px solid rgba(5, 66, 94, 0.14);
  background: #fff;
  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.14);
  text-align: center;
}
.mirror-language-open .mirror-language-options {
  display: block;
}
.mirror-language-option {
  display: block;
  padding: 3px 14px;
  color: #05425e !important;
  font-size: 13px;
  line-height: 18px;
  text-decoration: none !important;
}
.mirror-language-option:hover,
.mirror-language-option:focus,
.mirror-language-option.is-current {
  color: #fb5237 !important;
}
.mirror-language-option-disabled,
.mirror-language-option-disabled:hover,
.mirror-language-option-disabled:focus {
  color: #9aa4a9 !important;
  cursor: not-allowed;
  opacity: 0.65;
  pointer-events: none;
}
/* Mobile burger icon / desktop "Menu" text panel toggle (see installMenuNav
 * in app.js), needed only on pages where React no longer hydrates. The
 * archived Menu__Root component drives its white background and open/closed
 * height entirely through inline styles computed from React props (isOpen,
 * showBackground), not a toggleable class, so app.js's plain hide/fadeIn
 * class swap on the nav list is not enough on its own: this rule supplies
 * the equivalent effect for the menu-open class it adds instead. */
/* Top-bar hide-on-scroll (see installHeaderScrollHide in app.js).
 * .menu-root already transitions transform in every page's own generated
 * \3c style> (the archived Menu__Root's own isOpen/visible-driven slide), so
 * this only needs to supply the hidden position; the existing transition
 * turns it into the same slide the archived component used. !important
 * because the transform-origin here matches the same "at rest" declaration
 * this page's own \3c style> puts inline: (0,0,0), and this is the one state
 * that must win regardless of surrounding rule order. */
.menu-root.mirror-menu-open {
  pointer-events: auto !important;
}
.menu-root.mirror-menu-open:after {
  transform: translate3d(0px, 0px, 0px) !important;
}
/* Height is intentionally NOT forced to 100%/100vh here above mobile: the
 * archived Menu__Root itself becomes height: auto at >=48em (its own
 * @media (min-width:48em){.menu-root{height:auto;}} rule, already present in
 * this page's own \3c style>, confirmed from the bundle's g.a.tablet(Ht())
 * override), i.e. even when open it only ever grows to fit its content on
 * tablet/desktop, never the full viewport. Only :after (the white backdrop)
 * still needs an isOpen-driven height, and only below 48em does that mean
 * 100vh: at >=48em the bundle's own g.a.desktop(Ut(), ...) override instead
 * switches it from a fixed 133px to isOpen ? "100%" : "133px" -- a
 * *content-relative* 100%, since :after's positioning parent (Menu__Root)
 * is itself height: auto there, not the viewport. Forcing 100vh at every
 * width (this rule's previous version) is what made the panel always cover
 * the full screen even when its content was much shorter. */
@media (max-width: 47.99em) {
  .menu-root.mirror-menu-open:after {
    min-height: 100vh !important;
    max-height: 100vh !important;
  }
}
@media (min-width: 48em) {
  .menu-root.mirror-menu-open:after {
    min-height: 100% !important;
    max-height: 100% !important;
  }
}
/* Top-bar recoloring + burger-to-X animation while the menu is open, matching
 * the archived Header/Burger/LanguageSwitcher/Select components' own
 * isOpen-driven inline styles (see setMenuBarOpenState in app.js, which
 * is the only place any of these classes gets toggled). Colors are
 * theme.color.brand's own values (the since-deleted mirror/_next/static/chunks
 * theme module:
 * brand.primary #05425E, brand.grey #808B91, brand.white #FFFFFF), NOT the
 * similarly-named top-level theme.color.primary (#FB5237): the header/burger/
 * language-switcher/dropdown-arrow components all read color.brand.*
 * specifically, confirmed from the same styled-components definitions this
 * file's other menu rules are drawn from. */
[class*="Header__MenuButton"].mirror-menu-open {
  color: #808b91 !important;
}
[class*="LanguageSwitcher__Root"].mirror-menu-open {
  color: #05425e !important;
}
/* Select's Dropdown-arrow (the small caret next to "FR"/"EN") takes the same
 * dark prop as its parent LanguageSwitcher__Root; its two pseudo-elements set
 * background-color rather than color, so they need their own rule even
 * though they inherit no color property from the parent. */
[class*="LanguageSwitcher__Root"].mirror-menu-open .Dropdown-arrow:before,
[class*="LanguageSwitcher__Root"].mirror-menu-open .Dropdown-arrow:after {
  background-color: #05425e !important;
}
.Burger__Root-d8ugeg-0.mirror-menu-open .Burger__Line-d8ugeg-1 {
  background: #05425e !important;
}
.Burger__Root-d8ugeg-0.mirror-menu-open .Burger__Line-d8ugeg-1:nth-of-type(1) {
  transform: rotate(45deg) !important;
  top: -4px !important;
  left: 3px !important;
}
.Burger__Root-d8ugeg-0.mirror-menu-open .Burger__Line-d8ugeg-1:nth-of-type(2) {
  width: 0% !important;
  opacity: 0 !important;
}
.Burger__Root-d8ugeg-0.mirror-menu-open .Burger__Line-d8ugeg-1:nth-of-type(3) {
  transform: rotate(-45deg) !important;
  top: 12px !important;
  left: 3px !important;
}
/* Search submit button's magnifying-glass icon: the archived <Search> passes
 * iconColor: light ? brand.white : brand.accent straight into an inline SVG
 * fill attribute (fill="#FFFFFF" baked into this page's own static markup).
 * setMenuBarOpenState toggles mirror-menu-open directly on the button
 * (.ButtonSubmit) rather than a page-level ancestor, since that is the only
 * element app.js can reliably scope this to without also matching search
 * forms elsewhere on the page. A plain fill declaration is enough to win
 * over the inline fill attribute (SVG presentation attributes sit at
 * UA-stylesheet priority, below any author CSS), but !important is kept for
 * consistency with every other rule in this block. */
.ButtonSubmit-cvsu30-0.mirror-menu-open svg path {
  fill: #fd6f48 !important;
}
/* Search input's floating label, placeholder, and typed text all read
 * `color: currentColor` from their own generated CSS rather than setting a
 * color themselves; FormInline__InputWrapper is their one ancestor with its
 * own prop-driven color (light ? theme.color.white : theme.color.black), so
 * recoloring it here is enough to fix all three at once. theme.color.black
 * (not brand.*: this component reads the plain top-level theme.color) is
 * #413E39, confirmed from the same theme module as every other color in
 * this block. */
.FormInline__InputWrapper-zdc00u-1.mirror-menu-open {
  color: #413e39 !important;
}
/* Animated underline beneath the search field. The archived Input__Svg only
 * ever reads a translucent white stroke for this specific usage (no dark
 * variant is wired into the Search component that renders it), so unlike
 * every other rule in this block this isn't reproducing a value the bundle
 * itself would have used open -- it's picking the same brand.grey (#808B91)
 * the component's own unused `secondary` prop would switch to, since that
 * is already the color this component uses for a "this needs to read on a
 * light background" state elsewhere. */
.Input__Svg-s1etzpe8-2.mirror-menu-open {
  stroke: #808b91 !important;
}

/* Full-screen mobile main menu.
 *
 * Below 64em (the same DesktopOnly__Root/MobileOnly__Root split the header
 * already uses for its burger-vs-"Menu"-text and FR-switcher placement),
 * the open menu panel becomes a single-column, scrollable, accordion-style
 * list instead of the always-all-expanded desktop panel: only one category
 * open at a time (toggled by installCategoryAccordion in app.js), search
 * and the social icons pulled into view, matching the archived design's own
 * mobile treatment (which the static crawl froze in a permanently-collapsed,
 * search/social-hidden state -- see the "hide" classes and DesktopOnly
 * wrapper this overrides below).
 */
@media (max-width: 63.99em) {
  /* Menu__Root itself has no defined height (position:fixed, no top/bottom),
   * and its content wrapper (.menu-menu-content-wrapper, Menu__MenuContentWrapper) clips
   * overflow-y, with body scroll also disabled for the duration (see
   * openMenu's no-scroll class). With 8 categories, search, and social
   * icons all in view at once that easily exceeds a phone viewport, so this
   * turns Menu__Root into the scroll container directly and gives it a
   * solid background instead of relying on its :after backdrop (which is
   * sized off the panel's own content height at this breakpoint and would
   * run out mid-scroll otherwise).
   */
  .Menu__Root-s1sb89f4-0.mirror-menu-open {
    overflow-y: auto !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    background-color: #ffffff !important;
    transition:
      transform 0.4s cubic-bezier(0.3, 0.1, 0.3, 1),
      background-color 0.4s ease-in-out !important;
    -webkit-overflow-scrolling: touch;
  }
  .Menu__Root-s1sb89f4-0.mirror-menu-open .Menu__MenuContentWrapper-s1sb89f4-2 {
    min-height: 100vh;
    padding-bottom: 40px;
  }
  /* The archived staggered fade-in (opacity/translateY, delayed per item via
   * each category's own generated animation-delay) is a see-through-then-
   * slide-up entrance meant for every category appearing at once on desktop.
   * Transform-based animation doesn't affect flex layout, only paint
   * position, so while it's running each category's title visually overlaps
   * the row above it instead of the empty space flexbox already reserved
   * for it (mid-animation it still renders translated up toward that
   * reserved slot from -50px, on top of whatever sits above). Disabling it
   * for the mobile accordion avoids that overlap; the mobile panel doesn't
   * need the entrance flourish itself, and the accordion's own :after
   * chevron transition already off app.css's own rules above is
   * feedback enough that a click did something.
   */
  .Nav__Root-c5ww9n-0 .Category__Root-pdc71f-0 {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100%;
  }
  .Nav__CategoryContainer-c5ww9n-1 {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  /* Nav__CategoryContainer's own generated ::before (an animated underline
   * that grows from 0 to full width on fadeIn, meant as a decorative rule
   * under the desktop panel's top edge) renders as a stray horizontal line
   * sitting between the search field and the first category on the mobile
   * accordion, which the target design doesn't have.
   */
  .Nav__CategoryContainer-c5ww9n-1::before {
    display: none !important;
  }

  /* Reveal the search field (Header__RightWrapper's own DesktopOnly__Root
   * wrapper -- the ">" scopes this to that one specifically, since the
   * *other* DesktopOnly__Root instance on this row wraps the "Menu" text
   * inside Header__MenuWrapper instead, one level deeper) and push it onto
   * its own full-width row below the burger/FR row via flex-wrap, rather
   * than leaving it as a third item squeezed into that row's
   * justify-content:space-between.
   */
  .Menu__Root-s1sb89f4-0.mirror-menu-open .Header__Wrapper-s182jdes-1 {
    flex-wrap: wrap;
  }
  .Menu__Root-s1sb89f4-0.mirror-menu-open
    .Header__Wrapper-s182jdes-1
    > .DesktopOnly__Root-s1qkka3u-0 {
    display: block !important;
    flex: 1 0 100%;
    order: 10;
    /* Menu__LogoWrapper is centered via position:absolute (menu-logo-wrapper: top:25px,
     * a fixed height around 61px for the logo mark + wordmark), so it takes
     * no flex space of its own here and this row, if placed right after the
     * burger/FR row above, would sit underneath it rather than below it.
     * This margin clears the logo instead of just the shorter burger row.
     */
    margin-top: 75px;
  }
  .Menu__Root-s1sb89f4-0.mirror-menu-open .Header__RightWrapper-s182jdes-4 {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  /* The language switcher and social icons in that same revealed block are
   * the desktop-positioned duplicates: mobile already shows its own FR
   * switcher next to the burger (MobileOnly__Root), and its own social row
   * at the very bottom of the panel (revealed separately below), matching
   * where the target design puts them.
   */
  .Menu__Root-s1sb89f4-0.mirror-menu-open
    .Header__RightWrapper-s182jdes-4
    > .LanguageSwitcher__Root-s1lum4b2-0,
  .Menu__Root-s1sb89f4-0.mirror-menu-open
    .Header__RightWrapper-s182jdes-4
    > .SocialNetworks__Root-eh0x9i-0 {
    display: none !important;
  }

  /* Category titles and their links have no color of their own (beyond the
   * title's permanent #FD6F48, always-on regardless of open state) and
   * otherwise inherit Hero__Wrapper's white text color, which the white
   * open-menu background this file already adds leaves illegible. Nav__Root
   * gets one explicit dark color here so every descendant that doesn't set
   * its own resolves against it instead of white.
   */
  .Nav__Root-c5ww9n-0 {
    color: #05425e;
    margin-top: 30px;
    margin-bottom: 20px;
  }
  .Nav__Root-c5ww9n-0 .Category__CategoryTitleContainer-pdc71f-1 {
    color: #05425e !important;
    cursor: pointer;
    padding: 12px 0;
  }
  /* Category__Root's own generated margin-top (40px, meant for the vertical
   * gap between categories in the desktop all-expanded layout) is much
   * larger than the accordion needs between two collapsed rows; the title's
   * own padding above already provides comfortable tap-target spacing.
   */
  .Nav__Root-c5ww9n-0 .Category__Root-pdc71f-0 + .Category__Root-pdc71f-0 {
    margin-top: 0 !important;
  }
  .Nav__Root-c5ww9n-0
    .Category__Root-pdc71f-0.mirror-category-open
    > .Category__CategoryTitleContainer-pdc71f-1 {
    color: #fd6f48 !important;
  }
  /* Chevron, rotating from pointing down (closed) to pointing up (open),
   * matching the target design's collapsed/expanded indicator. Drawn the
   * same way .mirror-category-link::after already draws its arrow further
   * up this file, so it reads currentColor and needs no color rule of its
   * own beyond what the title container above sets.
   */
  .Nav__Root-c5ww9n-0 .Category__CategoryTitleContainer-pdc71f-1::after {
    content: "";
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-left: 12px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.25s ease;
  }
  .Nav__Root-c5ww9n-0
    .Category__Root-pdc71f-0.mirror-category-open
    > .Category__CategoryTitleContainer-pdc71f-1::after {
    transform: rotate(-135deg);
  }
  /* Category__Root's own top-level layout (the per-category hashed classes
   * sharing margin-top/left/right and the fade-in/out entrance animation)
   * is left as-is; only its sub-list needs a collapsed/expanded state, kept
   * to a plain display toggle rather than an animated height (Category__
   * CategoryItems has no generated max-height transition to hook, unlike
   * the FAQ accordion's own Styles__Content).
   */
  .Nav__Root-c5ww9n-0 .Category__CategoryItems-pdc71f-4 {
    display: none;
  }
  .Nav__Root-c5ww9n-0
    .Category__Root-pdc71f-0.mirror-category-open
    > .Category__CategoryItems-pdc71f-4 {
    display: block;
    /* Category__CategoryItems' own generated margin-top (25px, .category-category-items) is
     * sized for the desktop panel, where it's the only spacing between an
     * always-visible title and its links. The accordion's title row already
     * carries its own vertical padding (12px top/bottom), so stacking this
     * on top of that left a much bigger gap under an open category's title
     * than between any two closed category rows.
     */
    margin-top: 4px;
  }
  /* Category__CategoryItem's own generated CSS (.category-category-item a, baked into every
   * page's own \3c style>) sets every sub-link to brand.grey (#808B91) by
   * default -- a lighter-secondary treatment meant for the desktop panel,
   * where the category title above is the only strong-emphasis element and
   * every link below it reads as equally secondary. The mobile accordion's
   * design instead treats the *category name itself* as secondary once
   * collapsed (it's the whole clickable row) and wants every link inside an
   * open category, including the trailing "view all" one (Toutes les
   * boutiques, Tous les restaurants, Tout le bien-être, ...), at full
   * brand.primary (#05425E) emphasis to match. !important is needed to win
   * over that generated rule's own equal specificity (one class + one type
   * selector on both sides) since it comes later in the page's own \3c style>.
   */
  .Nav__Root-c5ww9n-0
    .Category__CategoryItem-pdc71f-5
    .Link__StyledLink-igt5n2-0 {
    color: #05425e !important;
  }

  /* Bottom-of-panel social icons (already correctly positioned in the
   * markup, right after </nav>, for exactly this mobile-open state) are
   * frozen with a permanent "hide" class in the static crawl -- the
   * archived component must have driven it the same isOpen-controlled way
   * openMenu/closeMenu already drive the category list's own hide/fadeIn/
   * fadeOut classes, so installMenuFooterSocial in app.js hooks it into
   * that same toggle instead of duplicating it here.
   */
}

/* Production keeps the top bar visible while scrolling, then switches it
 * to the readable solid-background state. */
.menu-root.mirror-header-scrolled,
.menu-root.mirror-header-scrolled.mirror-header-hidden {
  transform: translate3d(0, 0, 0) !important;
}
.menu-root.mirror-header-scrolled:after {
  transform: translate3d(0, 0, 0) !important;
}
.menu-root.mirror-header-scrolled .Header__MenuButton-s182jdes-3,
.menu-root.mirror-header-scrolled [class*="LanguageSwitcher__Root"] {
  color: #05425e !important;
}
.menu-root.mirror-header-scrolled .Burger__Line-d8ugeg-1 {
  background: #05425e !important;
}
.menu-root.mirror-header-scrolled
  [class*="LanguageSwitcher__Root"]
  .Dropdown-arrow:before,
.menu-root.mirror-header-scrolled
  [class*="LanguageSwitcher__Root"]
  .Dropdown-arrow:after {
  background-color: #05425e !important;
}

/* Production expands the burger's transparent hit target without moving its lines. */
.Burger__Root-d8ugeg-0 { position: relative; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.Burger__Root-d8ugeg-0::before { content: ""; position: absolute; inset: -18px -11px; }

/* BEGIN deployed offline.css delta (generated by scripts/port_deployed_css.py) */
body.no-scroll { height:auto !important; }
.mirror-language-option[aria-disabled="true"] { color:#6c777c !important;cursor:not-allowed;opacity:.6; }
.Menu__Root-s1sb89f4-0 { transform:translate3d(0,0,0)!important; }
.Menu__Root-s1sb89f4-0.mirror-header-hidden { transform:translate3d(0,0,0)!important; }
.menu-root.mirror-header-scrolled [class*="Header__MenuButton"] { color:#808b91 !important; }
.menu-root.mirror-header-scrolled .ButtonSubmit-cvsu30-0 svg path { fill:#fd6f48 !important; }
.menu-root.mirror-header-scrolled .FormInline__InputWrapper-zdc00u-1 { color:#413e39 !important; }
.menu-root.mirror-header-scrolled .Input__Svg-s1etzpe8-2 { stroke:#808b91 !important; }
@media(max-width:1024px) {
  .Burger__Root-d8ugeg-0 { -webkit-tap-highlight-color:transparent;touch-action:manipulation; }
  .Burger__Root-d8ugeg-0::before { content:"";inset:-18px -11px;position:absolute; }
}
.Menu__LogoWrapper-s1sb89f4-1 { top:2px; }
.Menu__LogoWrapper-s1sb89f4-1 img[src$="/logo-2026.png"] { height:108px;object-fit:contain;width:auto; }
.Menu__Root-s1sb89f4-0.mirror-menu-open .Menu__LogoWrapper-s1sb89f4-1 img { filter:brightness(0); }
.Menu__Root-s1sb89f4-0.mirror-header-scrolled .Menu__LogoWrapper-s1sb89f4-1 img { filter:brightness(0); }
@media(min-width:64em) {
  .Menu__LogoWrapper-s1sb89f4-1 { top:8px; }
  .Menu__LogoWrapper-s1sb89f4-1 img[src$="/logo-2026.png"] { height:120px; }
}
@media(max-width:768px) {
  .Menu__LogoWrapper-s1sb89f4-1 { top:2px; }
  .Menu__LogoWrapper-s1sb89f4-1 img[src$="/logo-2026.png"] { height:108px; }
}

/* Native header controls retain the typography and spacing of their views. */
:where([data-menu-toggle], [data-category-toggle], [data-language-toggle]) {
  appearance: none;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}
:where([data-language-toggle] > .Dropdown-placeholder, [data-language-toggle] > .Dropdown-arrow-wrapper) {
  display: block;
}
:where([data-language-toggle]) {
  letter-spacing: inherit;
}
