/* Independent responsive navigation, accessibility and static layout fixes. */
html { scroll-behavior: smooth; }
html, body { max-width: 100%; overflow-x: clip; }
[hidden] { display: none !important; }
.frey-mobile-header { display: none !important; }
.frey-mobile-navigation { display: none; }
.frey-desktop-header .con-kit-component-menu-v2-more { width: 60px; flex: 0 0 60px; visibility: hidden; }
.con-kit-animation__atom, .con-kit-fade-box img { opacity: 1; visibility: visible; }
.con-kit-fade-box img { filter: none; }
.con-kit-component-list-item-accordion__body[aria-hidden="false"] { height: auto !important; }
.con-kit-component-list-item-accordion__body[aria-hidden="true"] { visibility: hidden; }
.con-kit-component-list-item-accordion__head { cursor: pointer; }
.con-kit-component-list-item-accordion__toggle[aria-expanded="true"] line:first-child { transform-origin: center; transform: rotate(90deg); }
.con-kit-component-list-item-accordion__toggle line { transition: transform .2s ease; }
.con-kit-component-marquee__content { animation: frey-marquee var(--marquee-speed, 60s) linear infinite; }
.con-kit-component-marquee:hover .con-kit-component-marquee__content,
.con-kit-component-marquee:focus-within .con-kit-component-marquee__content { animation-play-state: paused; }
@keyframes frey-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }
.con-kit-component-marquee { overflow: hidden; touch-action: pan-y; }
:focus-visible { outline: 2px solid #af915c; outline-offset: 4px; }
.frey-legal-dialog { box-sizing: border-box; width: min(75vw, 1200px); max-height: 90dvh; overflow-y: auto; border: 0; padding: 80px 60px 60px; color: #010101; background: #fff; font: 20px/1.5 Lato, sans-serif; }
.frey-legal-dialog::backdrop { background: rgb(0 0 0 / .65); }
.frey-legal-text { white-space: pre-wrap; }
.frey-legal-text p { margin: 0 0 20px; }
.frey-legal-dialog h2 { font: 700 36px/1.2 'Cormorant Garamond', serif; }
.frey-dialog-close { position: absolute; top: 15px; right: 18px; width: 40px; height: 40px; border: 0; border-radius: 4px; background: #f4e9dc; color: #010101; cursor: pointer; font: 30px/1 Lato, sans-serif; }
body:has(dialog[open]) { overflow: hidden; }
@media (max-width: 992px) {
  .frey-desktop-header { display: none !important; }
  .frey-mobile-header { display: flex !important; }
  .frey-mobile-navigation:not([hidden]) { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 25px; padding: 30px 24px; background: #f4e9dc; box-shadow: 0 15px 25px rgb(0 0 0 / .12); z-index: 100; }
  .frey-mobile-navigation > a { color: #010101; text-decoration: none; font: 16px/1.5 Lato, sans-serif; }
  .frey-mobile-navigation > a[aria-current] { text-decoration: underline; text-underline-offset: 5px; }
  .frey-mobile-navigation > a.con-kit-component-button { color: #fff; }
  .con-kit-col { min-width: 0; }
  .con-kit-component-button__text { min-width: 0; }
  .con-kit-component-button--wrap { max-width: 100%; }
  /* The source runtime changes this five-column masonry to one column on
     mobile/tablet. Static CSS reproduces the settled original without moving
     or duplicating customer text nodes. */
  .con-kit-component-masonry--columns-5 { display: block; }
  .con-kit-component-masonry--columns-5 > .con-kit-component-masonry__column { width: 100%; }
  .frey-legal-dialog { width: 92vw; padding: 65px 24px 30px; font-size: 18px; }
}
/* The original's min/max rules both apply at 768px: column padding disappears
   while negative grid margins remain. Resolve only that boundary collision. */
@media (min-width: 768px) and (max-width: 768px) {
  .con-kit-layout[data-kit-grid-type="columns"] { margin-left: 0; margin-right: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .con-kit-component-marquee { overflow-x: auto; }
  .con-kit-component-marquee__content { animation: none !important; transform: none !important; }
  .con-kit-component-marquee__repeat { display: none; }
}
