.duplafalu {
  --duplafalu-blue: var(--primary-color, #008bc4);
  --duplafalu-text-blue: #0686b5;
  --duplafalu-bg: #f3f4f5;
  --duplafalu-card-bg: #068fc6;
  background:
    radial-gradient(circle at 12% 18%, rgba(0, 139, 196, 0.12), transparent 38%),
    radial-gradient(circle at 88% 10%, rgba(10, 144, 199, 0.16), transparent 42%),
    var(--duplafalu-bg);
  padding-block: 0 clamp(1.4rem, 3vw, 2.3rem);
}

.duplafalu_title {
  margin: 0;
  padding-top: clamp(0.35rem, 0.7vw, 0.6rem);
  text-align: center;
  font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--duplafalu-blue);
}

.duplafalu_rule {
  width: 100%;
  height: 0.26rem;
  margin: clamp(0.95rem, 2vw, 1.35rem) 0 clamp(1.2rem, 2.6vw, 1.9rem);
  border-radius: 999px;
  background: var(--duplafalu-blue);
}

.duplafalu_grid {
  margin-top: clamp(0.85rem, 1.6vw, 1.2rem);
}

.duplafalu_subtitle {
  margin: 0;
  text-align: center;
  font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(1.8rem, 2vw + 0.8rem, 3.05rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.16;
  color: var(--duplafalu-text-blue);
}

.duplafalu_subrule {
  width: min(25rem, 74%);
  height: 0.18rem;
  margin: clamp(0.58rem, 1.3vw, 0.88rem) auto clamp(0.68rem, 1.4vw, 0.92rem);
  border-radius: 999px;
  background: var(--duplafalu-blue);
}

.duplafalu_text {
  margin: 0;
  text-align: center;
  font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(1.08rem, 0.72vw + 0.7rem, 1.56rem);
  font-weight: 500;
  line-height: 1.42;
  color: var(--duplafalu-text-blue);
}

.duplafalu_right {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, clamp(13.44rem, 18vw, 17.52rem));
  gap: clamp(0.55rem, 1vw, 0.8rem);
  align-content: start;
}

@media (min-width: 1051px) {
  .duplafalu_right {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, calc(clamp(13.44rem, 18vw, 17.52rem) + 40px));
  }

  .duplafalu_right .duplafalu_card.duplafalu_card-button {
    min-height: calc(clamp(13.44rem, 18vw, 17.52rem) + 40px);
  }

  .duplafalu_right .duplafalu_card .duplafalu_image {
    transform: scale(0.96);
  }

  .duplafalu_right .duplafalu_card.duplafalu_card-button:hover .duplafalu_image {
    transform: scale(1.04);
  }
}

.duplafalu_card--collection {
  grid-column: auto;
  min-height: 0;
}

.duplafalu_card--collection .duplafalu_image {
  transform: scale(0.98);
}

.duplafalu_footer-text {
  color: var(--duplafalu-text-blue);
}

@media (max-width: 1050px) {
  .duplafalu_text {
    max-width: 58ch;
    margin-inline: auto;
  }

}

@media (max-width: 700px) {
  .duplafalu_right {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, clamp(12rem, 43.2vw, 14.4rem));
  }

  .duplafalu_card--collection {
    grid-column: auto;
  }

}

.duplafalu-specs_title {
  font-size: clamp(2.05rem, 2.7vw, 3rem);
}

.duplafalu-specs_row--headers {
  border-bottom: none;
}

.duplafalu-specs_row--headers .duplafalu-specs_values--split p + p {
  border-left: none;
}

.duplafalu-specs_label {
  font-size: clamp(1.25rem, 1.4vw, 1.9rem);
  font-weight: 500;
  line-height: 1.2;
  color: #087fad;
}

.duplafalu-specs_values--arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(0.3rem, 0.6vw, 0.5rem);
  padding: clamp(0.8rem, 1.2vw, 1rem) 0.3rem;
}

.duplafalu-specs_arrow-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1rem, 4vw, 5rem);
  font-size: clamp(1.25rem, 1.45vw, 1.95rem);
  font-weight: 500;
}

.duplafalu-specs_arrow {
  position: relative;
  top: -0.09em;
  flex-shrink: 0;
  font-size: clamp(2.1rem, 2.6vw, 3.3rem);
  line-height: 1;
}

.duplafalu-specs_subnote {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.4rem, 0.8vw, 0.6rem);
  margin: 0;
  font-size: clamp(1rem, 1vw + 0.3rem, 1.35rem);
  font-weight: 500;
  color: #087fad;
  line-height: 1.3;
}

.duplafalu-specs_subnote-hook {
  display: inline-block;
  width: clamp(1rem, 1.6vw, 1.5rem);
  height: clamp(0.8rem, 1.2vw, 1.1rem);
  border-left: 2px solid #087fad;
  border-bottom: 2px solid #087fad;
  border-bottom-left-radius: 0.55rem;
  margin-top: -0.6rem;
}

.duplafalu-specs_subnote-text {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.3rem, 0.6vw, 0.5rem);
}

.duplafalu-specs_subnote-text em {
  font-style: normal;
  text-decoration: underline;
}

.duplafalu-specs_arrow-small {
  position: relative;
  top: -0.06em;
  flex-shrink: 0;
  font-size: clamp(1.1rem, 1.3vw, 1.6rem);
  line-height: 1;
}

.duplafalu-specs_values--split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
}

.duplafalu-specs_values--split p {
  margin: 0;
  padding: clamp(0.8rem, 1.2vw, 1rem) 0.7rem;
  text-align: center;
  font-size: clamp(1.15rem, 1.2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.28;
}

.duplafalu-specs_col-header {
  font-weight: 600 !important;
  color: #087fad;
  padding-bottom: 0.35rem !important;
  padding-top: clamp(0.55rem, 0.9vw, 0.85rem) !important;
}

.duplafalu-classification_title {
  --classification-title-font-size: clamp(1.3rem, 1.4vw, 1.9rem);
}

.duplafalu-classification_grid {
  margin-top: clamp(0.9rem, 1.7vw, 1.3rem);
}

.duplafalu-classification_col p {
  --classification-col-p-margin: 0.35rem 0 0;
  --classification-col-p-font-size: clamp(1.05rem, 1.1vw, 1.6rem);
}

.duplafalu-classification_note {
  --classification-note-margin-top: clamp(0.7rem, 1.4vw, 1.1rem);
  --classification-note-font-size: clamp(1.15rem, 1.25vw, 1.85rem);
}

@media (max-width: 980px) {
  .duplafalu-specs_row--headers .duplafalu-specs_label-wrap {
    display: none;
  }
}
