:root {
  --prime-accent: #f3b70e;
  --prime-ink: #171717;
  --prime-muted: #666;
  --prime-surface: #fff;
  --prime-border: #e7e7e7;
  --prime-radius: 12px;
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  overflow-wrap: break-word;
  color: var(--prime-ink);
  background: var(--prime-surface);
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.65;
}

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

img {
  height: auto;
}

.elementor-widget-image .elementor-widget-container > a {
  display: block;
  max-width: 100%;
}

.container {
  width: min(100% - 40px, 1240px);
  max-width: 1240px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--prime-ink);
  line-height: 1.15;
  text-wrap: balance;
}

a,
button,
input,
textarea,
select {
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--prime-accent);
  outline-offset: 3px;
}

.navbar {
  padding-inline: clamp(20px, 4vw, 64px);
}

.navbar .site-menu ul li a,
.navbar .custom-menu ul li a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.navbar-button a,
input[type="submit"],
button,
.button,
.elementor-button {
  min-height: 44px;
  border-radius: 999px;
}

.content-section {
  padding-block: clamp(56px, 8vw, 110px);
}

.collection-box,
.exhibition-box,
.image-box,
.elementor-widget-image img {
  border-radius: var(--prime-radius);
}

.footer {
  border-top: 1px solid var(--prime-border);
}

.footer a:hover,
.footer a:focus-visible {
  color: var(--prime-accent);
}

@media (max-width: 767px) {
  .container {
    width: min(100% - 32px, 1240px);
  }

  .navbar {
    padding-inline: 16px;
  }

  .navbar .logo img {
    max-width: 150px;
    height: auto;
  }

  .navbar-button a,
  input[type="submit"],
  button,
  .button,
  .elementor-button {
    width: auto;
    max-width: 100%;
    white-space: normal;
  }

  .footer-bottom .container {
    gap: 12px;
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 359px) {
  .container {
    width: min(100% - 24px, 1240px);
  }
}
