.dd-hero {
  --_pad: clamp(3.5rem, 2rem + 5vw, 6.5rem);
  padding-block: var(--_pad) calc(var(--_pad) + var(--dd-diagonal-drop));
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - var(--dd-diagonal-drop)));
  background-color: var(--dd-plum-800);
  color: var(--dd-on-dark);
}

.dd-hero h1,
.dd-hero .dd-display { color: var(--dd-white); }
.dd-hero .dd-lead { color: var(--dd-on-dark-muted); }
.dd-hero .dd-eyebrow { color: var(--dd-on-dark-accent); }

.dd-hero__inner {
  display: grid;
  gap: var(--dd-space-7);
  align-items: center;
}

@media (min-width: 900px) {
  .dd-hero__inner { grid-template-columns: 1.05fr 1fr; }
}

.dd-hero__media img {
  inline-size: 100%;
  block-size: auto;
  border: var(--dd-edge-bold) solid var(--dd-sunny);
  border-radius: var(--dd-radius-md);
  box-shadow: 10px 10px 0 rgba(27, 11, 34, 0.45);
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.dd-pagehero {
  position: relative;
  padding-block: clamp(3rem, 2rem + 4vw, 5rem);
  background-color: var(--dd-lilac-100);
  overflow: hidden;
}

.dd-pagehero__inner { position: relative; max-inline-size: 44rem; }

.dd-pagehero__title {
  font-size: var(--dd-text-pagetitle);
  font-stretch: var(--dd-stretch-wide);
  hyphens: manual;
}

@media (max-width: 420px) {
  .dd-pagehero__title { font-stretch: 100%; }
}

.dd-pagehero + .dd-section,
.dd-pagehero + article > .dd-section:first-child {
  padding-block-start: clamp(2rem, 1.25rem + 2.5vw, 3.25rem);
}

.dd-pagehero--image .dd-pagehero__inner { color: var(--dd-lilac-50); }
.dd-pagehero--image h1 { color: var(--dd-lilac-50); }
.dd-pagehero--image .dd-lead { color: var(--dd-lilac-50); }

.dd-pagehero__bg {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  filter: brightness(0.36);
}

.dd-split {
  display: grid;
  gap: var(--dd-space-7);
  align-items: center;
}

@media (min-width: 900px) {
  .dd-split { grid-template-columns: 1fr 1fr; }
  .dd-split--reversed > *:first-child { order: 2; }

  .dd-split--top { align-items: start; }
  .dd-split--top .dd-split__media { align-self: stretch; }

  .dd-split--top .dd-split__media img {
    position: sticky;
    inset-block-start: var(--dd-sticky-offset);
  }
}

.dd-split__media img {
  inline-size: 100%;
  block-size: auto;
  border-radius: var(--dd-radius-lg);
  box-shadow: var(--dd-shadow-lg);
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.dd-prose--wide { max-inline-size: none; }

.dd-counters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: var(--dd-space-6);
  text-align: center;
}

.dd-counter__value {
  font-family: var(--dd-font-display);
  font-size: clamp(2.5rem, 1.8rem + 3vw, 3.75rem);
  font-weight: 600;
  line-height: 1;
  color: var(--dd-ink-900);
}

.dd-counter__suffix { color: var(--dd-accent); margin-inline-start: 2px; }

.dd-counter__label {
  margin-block-start: var(--dd-space-2);
  color: var(--dd-text-muted);
  font-size: var(--dd-text-sm);
}

.dd-flips {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: var(--dd-space-5);
}

.dd-flip { perspective: 1200px; block-size: 12rem; }

.dd-flip__inner {
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  transition: transform var(--dd-dur-slow) var(--dd-ease-out);
  transform-style: preserve-3d;
}

.dd-flip:hover .dd-flip__inner,
.dd-flip:focus-visible .dd-flip__inner { transform: rotateY(180deg); }

.dd-flip__face {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  gap: var(--dd-space-3);
  padding: var(--dd-space-5);
  border: var(--dd-edge) solid var(--dd-ink-900);
  border-radius: var(--dd-radius-sm);
  box-shadow: var(--dd-shadow-pop);
  backface-visibility: hidden;
  text-align: center;
}

.dd-flip__face--front {
  background-color: var(--dd-white);
  color: var(--dd-ink-900);
  font-family: var(--dd-font-display);
  font-size: var(--dd-text-h4);
}

.dd-flip__face--front i {
  display: grid;
  place-items: center;
  inline-size: 3rem;
  block-size: 3rem;
  border: var(--dd-edge) solid var(--dd-ink-900);
  border-radius: var(--dd-radius-sm);
  background-color: var(--dd-sunny);
  font-size: 1.5rem;
  color: var(--dd-ink-900);
}

.dd-flip__face--back {
  background-color: var(--dd-plum-700);
  border-color: var(--dd-plum-700);
  color: var(--dd-lilac-50);
  font-size: var(--dd-text-sm);
  line-height: 1.6;
  transform: rotateY(180deg);
}

@media (prefers-reduced-motion: reduce) {
  .dd-flip__inner { transition: none; }
}

.dd-progress-list { display: flex; flex-direction: column; gap: var(--dd-space-5); }

.dd-progress__head {
  display: flex;
  justify-content: space-between;
  margin-block-end: var(--dd-space-2);
  font-size: var(--dd-text-sm);
  font-weight: 600;
  color: var(--dd-text-strong);
}

.dd-progress__value { color: var(--dd-accent); }

.dd-progress__track {
  block-size: 10px;
  border-radius: var(--dd-radius-pill);
  background-color: var(--dd-lilac-100);
  overflow: hidden;
}

.dd-progress__bar {
  block-size: 100%;
  inline-size: 0;
  border-radius: var(--dd-radius-pill);
  background: linear-gradient(90deg, var(--dd-plum-700), var(--dd-accent));
  transition: inline-size var(--dd-dur-slower) var(--dd-ease-out);
}

.dd-slider { position: relative; }

.dd-slider__track {
  display: flex;
  overflow: hidden;
  border-radius: var(--dd-radius-xl);
}

.dd-slider__slide {
  flex: 0 0 100%;
  margin: 0;
  position: relative;
  transition: transform var(--dd-dur-slow) var(--dd-ease-out);
}

.dd-slider__slide img {
  inline-size: 100%;
  block-size: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.dd-slider__slide figcaption {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  padding: var(--dd-space-6) var(--dd-space-5) var(--dd-space-4);
  background: linear-gradient(transparent, rgba(36, 19, 9, 0.75));
  color: var(--dd-lilac-50);
  font-size: var(--dd-text-sm);
}

.dd-slider__nav {
  position: absolute;
  inset-block-start: 50%;
  translate: 0 -50%;
  display: grid;
  place-items: center;
  inline-size: 44px;
  block-size: 44px;
  border: 0;
  border-radius: var(--dd-radius-pill);
  background-color: rgba(251, 247, 240, 0.9);
  color: var(--dd-ink-900);
  cursor: pointer;
  box-shadow: var(--dd-shadow-md);
}

.dd-slider__nav--prev { inset-inline-start: var(--dd-space-4); }
.dd-slider__nav--next { inset-inline-end: var(--dd-space-4); }
.dd-slider__nav:hover { background-color: var(--dd-white); }

.dd-slider__dots {
  display: flex;
  justify-content: center;
  gap: var(--dd-space-2);
  margin-block-start: var(--dd-space-4);
}

.dd-slider__dot {
  inline-size: 10px;
  block-size: 10px;
  padding: 0;
  border: 0;
  border-radius: var(--dd-radius-pill);
  background-color: var(--dd-lilac-200);
  cursor: pointer;
  transition: background-color var(--dd-dur-base) var(--dd-ease),
              inline-size var(--dd-dur-base) var(--dd-ease);
}

.dd-slider__dot.is-active { inline-size: 26px; background-color: var(--dd-accent); }

.dd-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: var(--dd-space-4);
}

@media (min-width: 700px) {
  .dd-gallery { grid-template-columns: repeat(var(--dd-gallery-columns, 3), 1fr); }
}

.dd-gallery__item { margin: 0; }

.dd-gallery__item img {
  inline-size: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--dd-radius-lg);
}

.dd-faq { display: flex; flex-direction: column; gap: var(--dd-space-3); }

.dd-faq__item {
  border: var(--dd-edge) solid var(--dd-ink-900);
  border-radius: var(--dd-radius-sm);
  background-color: var(--dd-white);
  box-shadow: var(--dd-shadow-xs);
  overflow: hidden;
  transition: box-shadow var(--dd-dur-fast) var(--dd-ease);
}

.dd-faq__item:hover,
.dd-faq__item[open] { box-shadow: var(--dd-shadow-pop); }

.dd-faq__item[open] .dd-faq__question { background-color: var(--dd-sunny-soft); }

.dd-faq__question {
  padding: var(--dd-space-4) var(--dd-space-5);
  font-family: var(--dd-font-display);
  font-size: var(--dd-text-h4);
  color: var(--dd-text-strong);
  cursor: pointer;
  list-style: none;
}

.dd-faq__question::-webkit-details-marker { display: none; }

.dd-faq__question::after {
  content: "\F282";
  font-family: bootstrap-icons;
  float: inline-end;
  font-size: 0.9rem;
  color: var(--dd-accent);
  transition: transform var(--dd-dur-base) var(--dd-ease);
}

.dd-faq__item[open] .dd-faq__question::after { transform: rotate(180deg); }

.dd-faq__answer {
  padding: 0 var(--dd-space-5) var(--dd-space-5);
  color: var(--dd-text-muted);
  line-height: 1.7;
}

.dd-map {
  border-radius: var(--dd-radius-lg);
  overflow: hidden;
  border: 1px solid var(--dd-border);
}

.dd-map iframe {
  display: block;
  inline-size: 100%;
  block-size: var(--dd-map-height, 420px);
  border: 0;
}

.dd-card__placeholder {
  display: grid;
  place-items: center;
  inline-size: 100%;
  block-size: 100%;
  background-color: var(--dd-lilac-100);
}

.dd-card__placeholder img { inline-size: 42%; opacity: 0.35; }

.dd-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dd-space-2);
  color: var(--dd-text-muted);
  font-size: var(--dd-text-xs);
}

.dd-price {
  font-family: var(--dd-font-display);
  font-size: var(--dd-text-h4);
  font-weight: 600;
  color: var(--dd-ink-900);
}

.dd-price--large { font-size: var(--dd-text-h3); margin-block: var(--dd-space-4) 0; }

.dd-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dd-space-2);
  color: var(--dd-text-muted);
  font-size: var(--dd-text-sm);
}

.dd-breadcrumb a { color: var(--dd-text-muted); }
.dd-breadcrumb a:hover { color: var(--dd-accent); }

.dd-post__image {
  inline-size: 100%;
  border-radius: var(--dd-radius-lg);
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.dd-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--dd-space-4);
  margin-block-start: var(--dd-space-7);
}

.dd-contactinfo { font-style: normal; display: flex; flex-direction: column; gap: var(--dd-space-4); }

.dd-contactinfo__row { display: flex; gap: var(--dd-space-3); align-items: flex-start; }
.dd-contactinfo__row i { color: var(--dd-accent); font-size: 1.15rem; margin-block-start: 2px; }

.dd-hours { inline-size: 100%; border-collapse: collapse; font-size: var(--dd-text-sm); }
.dd-hours th, .dd-hours td { padding: var(--dd-space-2) 0; border-block-end: 1px solid var(--dd-border); text-align: start; }
.dd-hours th { font-weight: 500; color: var(--dd-text-muted); }
.dd-hours td { text-align: end; font-weight: 600; color: var(--dd-text-strong); }

.dd-newsletter {
  padding: var(--dd-space-5);
  border: 1px solid var(--dd-border);
  border-radius: var(--dd-radius-lg);
  background-color: var(--dd-white);
}

.dd-consent { display: flex; gap: var(--dd-space-3); align-items: flex-start; cursor: pointer; font-size: var(--dd-text-sm); }
.dd-consent input { margin-block-start: 4px; flex-shrink: 0; }

.dd-honeypot { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }

.dd-langswitch {
  display: inline-flex;
  border: var(--dd-edge) solid var(--dd-ink-900);
  border-radius: var(--dd-radius-sm);
  overflow: hidden;
}

.dd-langswitch__link {
  padding: 0.3rem 0.65rem;
  background-color: var(--dd-white);
  color: var(--dd-ink-600);
  font-size: var(--dd-text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background-color var(--dd-dur-fast) var(--dd-ease);
}

.dd-langswitch__link + .dd-langswitch__link {
  border-inline-start: var(--dd-edge) solid var(--dd-ink-900);
}

.dd-langswitch__link:hover { background-color: var(--dd-sunny-soft); }

.dd-langswitch__link.is-active {
  background-color: var(--dd-ink-900);
  color: var(--dd-lilac-50);
}

.dd-header__actions .dd-langswitch { display: none; }

@media (min-width: 480px) {
  .dd-header__actions .dd-langswitch { display: inline-flex; }
}

.dd-mobilemenu__langs {
  display: flex;
  align-items: center;
  gap: var(--dd-space-3);
  margin-block-end: var(--dd-space-5);
}

.dd-mobilemenu__langs .dd-langswitch { display: inline-flex; }

@media (min-width: 480px) {
  .dd-mobilemenu__langs { display: none; }
}
