:root {
  --site-header-height: 72px;
  --site-primary: #7b0504;
  --site-crimson: #8b1e15;
  --site-gold: #d4af37;
  --site-ivory: #fdfbf7;
  --site-surface: #fffaf4;
  --site-border: rgba(212, 175, 55, 0.32);
}

html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden !important;
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

table {
  border-collapse: collapse;
}

.site-language-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  height: 38px;
  padding: 3px;
  border: 1px solid rgba(123, 5, 4, 0.22);
  border-radius: 4px;
  background: #fffaf4;
  flex-shrink: 0;
}

.site-language-switch button {
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: var(--site-primary);
  cursor: pointer;
  font: 800 11px/1 "Work Sans", sans-serif;
  letter-spacing: 0.05em;
  min-width: 38px;
  height: 30px;
  padding: 0 8px;
}

.site-language-switch button.is-active {
  background: var(--site-primary);
  color: #fff;
}

.site-language-switch button:focus-visible {
  outline: 2px solid var(--site-gold);
  outline-offset: 2px;
}

@media (max-width: 1180px) {
  #site-main-header .site-actions {
    gap: 6px !important;
  }

  #site-main-header .site-action.primary {
    order: 1;
  }

  #site-main-header .site-language-switch {
    order: 2;
  }

  #site-main-header .site-menu {
    order: 3;
  }
}

@media (max-width: 900px) {
  html,
  body {
    width: 100%;
    min-height: 100dvh;
  }

  body {
    height: auto !important;
    overflow-y: auto !important;
    font-size: 15px;
  }

  #site-main-header {
    height: var(--site-header-height) !important;
  }

  #site-main-header .site-inner {
    padding: 0 14px !important;
    gap: 10px !important;
  }

  #site-main-header .site-brand {
    font-size: 19px !important;
    line-height: 1.05 !important;
    max-width: 42vw !important;
    white-space: normal !important;
  }

  #site-main-header .site-action.primary {
    height: 36px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
  }

  #site-main-header .site-nav {
    max-height: calc(100dvh - var(--site-header-height)) !important;
    overflow-y: auto !important;
  }

  #site-main-header.open .site-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .site-language-switch {
    height: 34px;
    padding: 2px;
  }

  .site-language-switch button {
    min-width: 34px;
    height: 28px;
    padding: 0 6px;
    font-size: 10px;
  }

  main {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  section,
  aside,
  article,
  form,
  header,
  footer,
  nav,
  div {
    min-width: 0;
  }

  body > main.flex,
  main.flex,
  [class*="grid-cols-"],
  [class*="lg:grid-cols-"],
  [class*="md:grid-cols-"] {
    min-width: 0;
  }

  body > main.flex-1,
  body > main[class*="flex-1"] {
    height: auto !important;
    min-height: calc(100dvh - var(--site-header-height)) !important;
    overflow: visible !important;
  }

  body > main.flex,
  main.flex.overflow-hidden,
  body > main[class*="overflow-hidden"] {
    flex-direction: column !important;
    overflow: visible !important;
  }

  body > main > section.flex-1,
  main > section[class*="flex-1"] {
    width: 100% !important;
    flex: none !important;
    min-height: auto !important;
  }

  aside,
  aside[class*="w-96"],
  aside[class*="shrink-0"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(140, 113, 109, 0.24) !important;
  }

  [class*="h-screen"] {
    height: auto !important;
  }

  [class*="min-h-screen"] {
    min-height: auto !important;
  }

  [class*="overflow-hidden"] {
    overflow: visible;
  }

  [class*="overflow-x-auto"],
  .overflow-x-auto {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  table {
    min-width: 640px;
  }

  th,
  td {
    white-space: normal !important;
  }

  input,
  select,
  textarea,
  button {
    max-width: 100%;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
  }

  main [class*="px-xxl"],
  main [class*="lg:px-xxl"],
  main [class*="px-margin"],
  main [class*="px-margin-safe"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  main [class*="py-32"],
  main [class*="py-24"],
  main [class*="py-20"] {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  [class*="text-display-hero"],
  [class*="text-headline-hero"],
  [class*="text-headline-lg"] {
    overflow-wrap: anywhere;
  }

  .font-display-hero,
  .font-headline-hero,
  .font-headline-lg {
    letter-spacing: 0 !important;
  }

  [class*="text-[84px]"],
  [class*="text-display-hero"] {
    font-size: clamp(42px, 13vw, 58px) !important;
    line-height: 1.08 !important;
  }

  [class*="text-[56px]"],
  [class*="text-[64px]"],
  [class*="text-[72px]"],
  [class*="text-6xl"] {
    font-size: clamp(36px, 12vw, 52px) !important;
    line-height: 1.08 !important;
  }

  .font-display-hero .italic {
    display: block;
  }

  .fixed:not(#site-main-header):not(.agentation-root):not([data-agentation-root]) {
    max-width: 100vw;
  }

  .sticky {
    position: relative !important;
    top: auto !important;
  }

  .animate-marquee {
    animation-duration: 38s !important;
  }

  .confetti-container {
    z-index: 9998 !important;
  }
}

@media (max-width: 640px) {
  #site-main-header .site-brand {
    max-width: 39vw !important;
    font-size: 18px !important;
  }

  #site-main-header .site-action.primary {
    max-width: 108px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  main {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  main [class*="px-"],
  footer [class*="px-"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  main [class*="gap-16"],
  main [class*="gap-12"],
  main [class*="gap-margin"] {
    gap: 24px !important;
  }

  [class*="p-10"],
  [class*="p-8"] {
    padding: 20px !important;
  }

  [class*="h-64"],
  [class*="h-80"],
  [class*="h-96"] {
    height: auto !important;
    min-height: 220px;
  }

  [class*="aspect-video"] {
    min-height: 210px;
    max-width: calc(100vw - 64px) !important;
  }

  [class*="md:w-1/2"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  main img.fixed,
  main img.absolute[class*="-left-"],
  main img.absolute[class*="-right-"] {
    display: none !important;
  }

  table {
    min-width: 0 !important;
  }

  table thead {
    display: none;
  }

  table,
  table tbody,
  table tr,
  table td {
    display: block;
    width: 100% !important;
  }

  table tr {
    padding: 14px 0;
    border-bottom: 1px solid rgba(140, 113, 109, 0.22);
  }

  table td {
    padding: 6px 16px !important;
    text-align: left !important;
  }

  table td:last-child {
    padding-bottom: 10px !important;
  }

  footer .grid {
    gap: 28px !important;
  }
}

@media (max-width: 420px) {
  #site-main-header .site-inner {
    padding: 0 12px !important;
  }

  #site-main-header .site-brand {
    max-width: 36vw !important;
    font-size: 17px !important;
  }

  #site-main-header .site-action.primary {
    max-width: 96px;
    font-size: 9px !important;
  }

  .site-language-switch button {
    min-width: 30px;
    padding: 0 5px;
  }
}
