@font-face {
  font-family: "Inter Tight";
  src: url("../fonts/inter-tight-latin-variable.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Inter Tight";
  src: url("../fonts/inter-tight-latin-variable-italic.woff2") format("woff2-variations");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

.dsd-faq001 {
  position: relative;
  /* The DSD canvas and many themes wrap page content in a fixed-width
     container. The reference section is full-bleed, so escape that parent
     while keeping the reference content wrapper centered inside the viewport. */
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: #fff;
  font-family: "Inter Tight", Arial, sans-serif;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.dsd-faq001 *,
.dsd-faq001 *::before,
.dsd-faq001 *::after {
  box-sizing: border-box;
}

.dsd-faq001__background-video,
.dsd-faq001__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.dsd-faq001__background-video {
  object-fit: cover;
}

.dsd-faq001__overlay {
  z-index: 0;
}

.dsd-faq001__inner,
.dsd-faq001__grid,
.dsd-faq001__left,
.dsd-faq001__right,
.dsd-faq001__cta,
.dsd-faq001__accordion {
  min-width: 0;
}

.dsd-faq001__inner {
  position: relative;
  z-index: 1;
}

.dsd-faq001__eyebrow,
.dsd-faq001__heading,
.dsd-faq001__description,
.dsd-faq001__cta-title,
.dsd-faq001__cta-text,
.dsd-faq001__question-text,
.dsd-faq001__answer-text {
  overflow-wrap: anywhere;
}

.dsd-faq001__eyebrow,
.dsd-faq001__heading,
.dsd-faq001__description,
.dsd-faq001__cta-title,
.dsd-faq001__cta-text,
.dsd-faq001__question-text,
.dsd-faq001__answer-text,
.dsd-faq001__answer-text p {
  margin-block-start: 0;
  margin-block-end: 0;
}

.dsd-faq001__cta-copy {
  min-width: 0;
}

.dsd-faq001__accordion {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.dsd-faq001__item {
  position: relative;
  width: 100%;
  min-width: 0;
  transition: background-color var(--dsd-faq-transition, 350ms) ease;
}

.dsd-faq001__question {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  font: inherit;
  box-shadow: none;
}

.dsd-faq001__question:focus-visible,
.dsd-faq001__button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
}

.dsd-faq001__question-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.dsd-faq001__item.is-active .dsd-faq001__question-text {
  color: #fff !important;
  opacity: 1 !important;
}

.dsd-faq001__panel {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height var(--dsd-faq-transition, 350ms) cubic-bezier(.2, .7, .2, 1), opacity calc(var(--dsd-faq-transition, 350ms) * .75) ease;
}

.dsd-faq001__panel[hidden] {
  display: block;
}

.dsd-faq001__item.is-active .dsd-faq001__panel {
  opacity: 1;
}

.dsd-faq001__answer {
  min-width: 0;
}

.dsd-faq001__icon {
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.dsd-faq001__icon svg,
.dsd-faq001__icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.dsd-faq001__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: var(--dsd-icon-stroke, 2);
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dsd-faq001__plus,
.dsd-faq001__minus {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: .7em;
  height: var(--dsd-icon-stroke, 2px);
  border-radius: 999px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: opacity var(--dsd-faq-transition, 350ms) ease, transform var(--dsd-faq-transition, 350ms) ease;
}

.dsd-faq001__plus::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--dsd-icon-stroke, 2px);
  height: .7em;
  border-radius: inherit;
  background: inherit;
  transform: translate(-50%, -50%);
}

.dsd-faq001__minus {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(-90deg);
}

.dsd-faq001__item.is-active .dsd-faq001__plus {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

.dsd-faq001__item.is-active .dsd-faq001__minus {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0);
}

.dsd-faq001__button {
  flex: 0 0 auto;
  overflow: hidden;
  white-space: nowrap;
}

.dsd-faq001__button-label {
  position: relative;
  z-index: 1;
}

.dsd-faq001__button-icon {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  overflow: hidden;
}

.dsd-faq001__button-icon i {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--dsd-faq-transition, 350ms) cubic-bezier(.2, .7, .2, 1);
}

.dsd-faq001__button-icon i:last-child {
  transform: translate(-120%, 120%);
}

.dsd-faq001__button:hover .dsd-faq001__button-icon i:first-child {
  transform: translate(120%, -120%);
}

.dsd-faq001__button:hover .dsd-faq001__button-icon i:last-child {
  transform: translate(0, 0);
}

.dsd-faq001__button-icon svg,
.dsd-faq001__button-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.dsd-faq001__button-icon svg {
  stroke-width: 2;
}

.dsd-faq001__cursor {
  position: absolute;
  left: 0;
  top: 0;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-100px, -100px, 0);
  transition: opacity 180ms ease;
  will-change: transform;
}

.dsd-faq001__cursor.is-visible {
  opacity: 1;
}

.dsd-faq001__cursor i {
  display: block;
  border-radius: 50%;
}

.dsd-faq001[data-scroll-reveal="1"] .dsd-faq001__left,
.dsd-faq001[data-scroll-reveal="1"] .dsd-faq001__right {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity var(--dsd-faq-entrance, 700ms) var(--dsd-faq-ease, ease), transform var(--dsd-faq-entrance, 700ms) var(--dsd-faq-ease, ease);
  transition-delay: var(--dsd-faq-delay, 0ms);
}

.dsd-faq001[data-scroll-reveal="1"] .dsd-faq001__right {
  transition-delay: calc(var(--dsd-faq-delay, 0ms) + 110ms);
}

.dsd-faq001[data-scroll-reveal="1"].is-revealed .dsd-faq001__left,
.dsd-faq001[data-scroll-reveal="1"].is-revealed .dsd-faq001__right {
  opacity: 1;
  transform: translateY(0);
}

.dsd-faq001--admin-preview {
  min-height: 100vh;
}

@media (hover: none), (pointer: coarse) {
  .dsd-faq001__cursor {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .dsd-faq001,
  .dsd-faq001__inner,
  .dsd-faq001__grid,
  .dsd-faq001__left,
  .dsd-faq001__right,
  .dsd-faq001__cta,
  .dsd-faq001__accordion,
  .dsd-faq001__item {
    max-width: 100%;
  }

  .dsd-faq001__button {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dsd-faq001,
  .dsd-faq001 * {
    scroll-behavior: auto !important;
  }
}

/*
 * Reference CTA alignment hardening.
 * Existing DSD pages can retain an older generated button margin even after a
 * plugin update. Keep the desktop/tablet contact button anchored to the same
 * right-side position as the reference while preserving the stacked phone
 * layout.
 */
@media (min-width: 768px) {
  .dsd-faq001 .dsd-faq001__cta > .dsd-faq001__button {
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
  .dsd-faq001 .dsd-faq001__cta > .dsd-faq001__button {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Phone landscape uses the independent stacked phone layout even when its
   width is larger than 767px. Keep that button left-aligned. */
@media (max-width: 1024px) and (max-height: 600px) and (orientation: landscape) {
  .dsd-faq001 .dsd-faq001__cta > .dsd-faq001__button {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
