html { scroll-behavior: smooth; }
body {
  font-family: Inter, system-ui, sans-serif;
  overflow-x: hidden;
}
img, video { max-width: 100%; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Header logo */
.site-logo {
  display: block;
  width: auto !important;
  height: 48px !important;
  max-height: 48px !important;
  object-fit: contain;
}
@media (min-width: 1280px) {
  .site-logo {
    height: 80px !important;
    max-height: 80px !important;
  }
}

.site-header { overflow: visible; }
.site-header ul { margin: 0; padding: 0; list-style: none; }

.mega-panel {
  animation: megaFade 0.18s ease;
}
@keyframes megaFade {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
.nav-l1[data-open="true"] {
  color: #fff;
}

.custom-container {
  margin: 0 auto;
  width: 90%;
  max-width: 1536px;
}

.footer-logo {
  max-height: 72px !important;
  height: 64px !important;
  width: auto !important;
}
@media (min-width: 768px) {
  .footer-logo {
    height: 72px !important;
    max-height: 72px !important;
  }
}

/* PDP / Blog prose */
.prose-pdp h2, .prose-blog h2 {
  font-family: "Barlow Condensed", Impact, sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  margin: 1.5rem 0 0.75rem;
}
.prose-pdp h3, .prose-blog h3 {
  font-family: Oswald, sans-serif;
  font-weight: 600;
  font-size: 1.1rem;
  margin: 1.25rem 0 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.prose-pdp p, .prose-blog p {
  margin: 0.75rem 0;
  line-height: 1.7;
  color: #3c3c3c;
}
.prose-pdp ul, .prose-blog ul,
.prose-pdp ol, .prose-blog ol {
  margin: 0.75rem 0 0.75rem 1.25rem;
  color: #3c3c3c;
  line-height: 1.7;
}
.prose-pdp li, .prose-blog li { margin: 0.35rem 0; }
.prose-pdp img, .prose-blog img {
  max-width: 100%;
  height: auto !important;
  margin: 1rem 0;
  border-radius: 0.5rem;
}
.prose-blog a { color: #d00b2b; text-decoration: underline; }
.prose-blog table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  font-size: 0.9rem;
}
.prose-blog th, .prose-blog td {
  border: 1px solid #e5e5e5;
  padding: 0.6rem 0.75rem;
  text-align: left;
}
.prose-blog blockquote {
  border-left: 3px solid #d00b2b;
  padding-left: 1rem;
  margin: 1rem 0;
  color: #3c3c3c;
}
.prose-blog hr {
  border: 0;
  border-top: 1px solid #e5e5e5;
  margin: 1.5rem 0;
}

/* Accordion */
.acc-panel { display: none; }
.acc-item.is-open .acc-panel { display: block; }
.acc-item.is-open .acc-chevron { transform: rotate(180deg); }

/* Contact page */
.contact-map iframe,
.contact-map embed {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: 220px !important;
  border: 0;
}
@media (min-width: 640px) {
  .contact-map iframe,
  .contact-map embed {
    height: 300px !important;
  }
}
@media (min-width: 768px) {
  .contact-map iframe,
  .contact-map embed {
    height: 380px !important;
  }
}
@media (min-width: 1024px) {
  .contact-map iframe,
  .contact-map embed {
    height: 420px !important;
  }
}
.contact-info h1,
.contact-info h2,
.contact-info h3,
.contact-info .title {
  font-family: Oswald, "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #000;
  margin: 0 0 0.75rem;
  line-height: 1.3;
  word-break: break-word;
}
@media (min-width: 640px) {
  .contact-info h1,
  .contact-info h2,
  .contact-info h3,
  .contact-info .title {
    font-size: 1.35rem;
  }
}
.contact-info p,
.contact-info li {
  margin: 0.35rem 0;
  line-height: 1.7;
  color: #3c3c3c;
  font-size: 0.9rem;
  word-break: break-word;
  overflow-wrap: anywhere;
}
@media (min-width: 640px) {
  .contact-info p,
  .contact-info li {
    font-size: 0.95rem;
  }
}
.contact-info ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.contact-info a {
  color: inherit;
  transition: color 0.15s ease;
}
.contact-info a:hover {
  color: #d00b2b;
}
.contact-info strong,
.contact-info b {
  color: #000;
  font-weight: 600;
}
.contact-info .eJOY__extension_root_class,
.contact-info [id^="eJOY__"] {
  display: none !important;
}

/* Search overlay */
.search-panel {
  animation: searchPop 0.18s ease;
}
@keyframes searchPop {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
