/* Kreon site styles */
html.i18n-pending body { visibility: hidden; }

.container-site {
        width: 100%;
        max-width: 1440px;
        margin-inline: auto;
        padding-inline: 1.5rem;
      }

@media (min-width: 1024px) {
.container-site {
          padding-inline: 2.5rem;
        }
}

.nav-link {
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #111;
      }

.nav-link:hover, .nav-link[aria-expanded="true"] {
        color: #0e8c88;
      }

.mobile-link {
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        padding: 0.95rem 0;
        font-size: 15px;
        font-weight: 500;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

.locale-card {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        min-height: 76px;
        border: 2px solid transparent;
        background: #f4efe6;
        padding: 0.9rem 1rem;
        text-align: left;
        cursor: pointer;
      }

.locale-card.is-selected {
        border-color: #0e8c88;
      }

.locale-card:hover {
        border-color: rgba(14, 140, 136, 0.45);
      }

.locale-card.is-selected:hover {
        border-color: #0e8c88;
      }

.locale-lang {
        margin-top: 0.3rem;
        font-size: 14px;
        text-decoration: underline;
        text-underline-offset: 3px;
      }

.locale-lang:hover {
        opacity: 0.6;
      }

.locale-lang.is-current {
        color: #0e8c88;
        font-weight: 600;
        text-decoration-thickness: 2px;
      }

#locale-root > .relative {
        position: absolute;
        inset: 0;
        height: 100%;
        min-height: 0;
        max-height: 100%;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
      }

@media (max-width: 639px) {
#locale-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

#locale-dialog {
          padding: 1rem 0.85rem 1.15rem;
        }

.locale-card {
          min-height: 0;
          gap: 0.4rem;
          padding: 0.7rem 0.55rem;
        }

#locale-grid .locale-card p {
          font-size: 13px;
        }
}

.hero-slide {
        position: absolute;
        inset: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
        opacity: 0;
        transition: opacity 700ms ease;
      }

.hero-slide.is-active {
        opacity: 1;
      }

.hero-dot {
        height: 3px;
        width: 2rem;
        background: rgba(255, 255, 255, 0.4);
      }

.hero-dot.is-active {
        background: #0e8c88;
      }

.collection-menu {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        z-index: 30;
        border-top: 1px solid rgba(0, 0, 0, 0.06);
        background: #fff;
        box-shadow: 0 22px 40px rgba(0, 0, 0, 0.08);
      }

@media (max-width: 1279px) {
.collection-menu {
          display: none;
        }
}

.collection-card__media {
        position: relative;
        display: block;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        background: #ece7df;
      }

.collection-card__media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.36);
        pointer-events: none;
      }

.collection-card__media > img:not(.collection-card__logo) {
        height: 100%;
        width: 100%;
        object-fit: cover;
        transition: transform 500ms ease;
      }

.collection-card:hover .collection-card__media > img:not(.collection-card__logo) {
        transform: scale(1.05);
      }

.collection-card__logo {
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 1;
        width: min(48%, 9.5rem);
        height: auto;
        transform: translate(-50%, -50%);
        pointer-events: none;
      }

.collection-card__logo--art {
        width: min(34%, 6.75rem);
      }

.collection-card__name {
        display: block;
        margin-top: 0.7rem;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.14em;
        text-transform: uppercase;
      }

.collection-card {
        display: flex;
        height: 100%;
        flex-direction: column;
      }

.collection-card__type {
        display: block;
        margin-top: 0.2rem;
        font-size: 13px;
        font-weight: 500;
        letter-spacing: 0;
        text-transform: none;
        color: #525252;
      }

.collection-card__text {
        display: block;
        flex: 1 1 auto;
        margin-top: 0.45rem;
        margin-bottom: 0.75rem;
        max-width: 16rem;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0;
        text-transform: none;
        color: #737373;
      }

.collection-card__btn {
        display: inline-flex;
        align-self: flex-start;
        margin-top: auto;
        border: 1px solid #111;
        padding: 0.45rem 0.8rem;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.02em;
        text-transform: none;
        transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
      }

.collection-card:hover .collection-card__btn, .collection-card[aria-current="page"] .collection-card__btn {
        border-color: #0e8c88;
        background: #0e8c88;
        color: #fff;
      }

.collection-card:hover .collection-card__name {
        color: #0e8c88;
      }

.group-media {
        position: relative;
      }

html[data-page="index"] .group-media {
        position: relative;
        display: block;
        overflow: hidden;
      }

.group-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.36);
        pointer-events: none;
      }

.group-media img:not(.group-media__logo) {
        display: block;
        width: 100%;
        transition: transform 500ms ease;
      }

.group-media:hover img:not(.group-media__logo) {
        transform: scale(1.06);
      }

.group-media__logo {
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 1;
        width: min(48%, 9.5rem);
        height: auto;
        transform: translate(-50%, -50%);
        pointer-events: none;
      }

.group-media__logo--art {
        width: min(34%, 6.75rem);
      }

html[data-page="index"] .group-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 11.75rem;
        height: 2.75rem;
        margin-top: 1.35rem;
        border: 0;
        background: #c5ddd4;
        color: #2a2a2a;
        font-size: 14px;
        font-weight: 500;
        line-height: 1;
        white-space: nowrap;
        transition: background-color 180ms ease, color 180ms ease;
      }

#kollektion article .group-btn {
        margin-top: auto;
      }

@media (max-width: 767px) {
#kollektion article .group-btn {
          width: 100%;
        }
}

#kollektion article p {
        margin-bottom: 1.35rem;
      }

.group-btn:hover {
        background: #0e8c88;
        color: #fff;
      }

.feature-grid {
        overflow: visible;
      }

html[data-page="index"] .feature-cell {
        position: relative;
        height: 220px;
        border-right: 1px solid rgba(0, 0, 0, 0.15);
        border-bottom: 1px solid rgba(0, 0, 0, 0.15);
      }

html[data-page="index"] .feature-cell:nth-child(2n) {
        border-right: 0;
      }

html[data-page="index"] .feature-cell:nth-last-child(-n + 2) {
        border-bottom: 0;
      }

.feature-face {
        position: absolute;
        inset: 0;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 1.75rem 0.85rem 1.25rem;
        background: #fff;
        text-align: center;
        transform-origin: center top;
        transition: transform 320ms ease, box-shadow 320ms ease;
      }

.feature-cell:hover {
        z-index: 3;
      }

.feature-cell:hover .feature-face {
        bottom: auto;
        height: auto;
        min-height: 100%;
        transform: scale(1.07);
        box-shadow: 0 16px 36px rgba(14, 140, 136, 0.18);
      }

.feature-face img {
        height: 3.25rem;
        width: auto;
        transition: transform 320ms ease;
      }

.feature-cell:hover img {
        transform: translateY(-4px);
      }

.feature-label {
        margin-top: 1.1rem;
        color: #2a2a2a;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.35;
        transition: color 220ms ease;
      }

.feature-cell:hover .feature-label, .feature-cell:hover .feature-more {
        color: #0e8c88;
      }

.feature-more {
        max-height: 0;
        margin-top: 0;
        overflow: hidden;
        color: #0e8c88;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.45;
        opacity: 0;
        transition: max-height 320ms ease, opacity 220ms ease, margin-top 320ms ease;
      }

.feature-cell:hover .feature-more {
        max-height: 8rem;
        margin-top: 0.75rem;
        opacity: 1;
      }

@media (min-width: 768px) {
html[data-page="index"] .feature-cell {
          height: 200px;
        }

html[data-page="index"] .feature-cell:nth-child(2n) {
          border-right: 1px solid rgba(0, 0, 0, 0.15);
        }

html[data-page="index"] .feature-cell:nth-child(5n) {
          border-right: 0;
        }

html[data-page="index"] .feature-cell:nth-last-child(-n + 2) {
          border-bottom: 1px solid rgba(0, 0, 0, 0.15);
        }

html[data-page="index"] .feature-cell:nth-last-child(-n + 5) {
          border-bottom: 0;
        }
}

@media (prefers-reduced-motion: reduce) {
.feature-face, .feature-face img, .feature-label, .feature-more {
          transition: none;
        }
}

html[data-page="index"] .sustain-row {
        display: grid;
        gap: 1.75rem;
        padding-top: 4rem;
      }

.sustain-media img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
      }

.sustain-kicker {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #737373;
      }

.sustain-copy h3 {
        margin-top: 0.7rem;
        font-size: 1.75rem;
        font-weight: 500;
        letter-spacing: -0.02em;
        line-height: 1.2;
      }

.sustain-copy p:last-of-type {
        margin-top: 1rem;
        max-width: 34rem;
        font-size: 15px;
        line-height: 1.65;
        color: #525252;
      }

@media (min-width: 768px) {
html[data-page="index"] .sustain-row {
          grid-template-columns: 1fr 1fr;
          align-items: center;
          gap: 3.5rem;
          padding-top: 5rem;
        }

.sustain-row.is-reverse .sustain-media {
          order: 2;
        }

.sustain-copy h3 {
          font-size: 2rem;
        }
}

.faq-item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.12);
      }

.faq-item > h3 {
        margin: 0;
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
      }

.faq-q {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        gap: 1.5rem;
        padding: 1.15rem 0;
        text-align: left;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.4;
      }

.faq-q i {
        flex-shrink: 0;
        font-size: 1.35rem;
        transition: transform 200ms ease;
      }

.faq-q[aria-expanded="true"] i {
        transform: rotate(180deg);
      }

.faq-q:hover {
        color: #0e8c88;
      }

.faq-panel {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 260ms ease;
      }

.faq-panel.is-open {
        grid-template-rows: 1fr;
      }

.faq-panel-inner {
        overflow: hidden;
      }

html[data-page="index"] .faq-panel-inner p {
        padding-bottom: 1.15rem;
        font-size: 15px;
        line-height: 1.7;
        color: #3f3f46;
      }

.faq-link {
        color: #0e8c88;
        text-decoration: underline;
        text-underline-offset: 3px;
      }

.faq-link:hover {
        color: #0a6c69;
      }

.footer-title {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
      }

.footer-link {
        font-size: 14px;
        color: rgba(255, 255, 255, 0.72);
        transition: color 150ms ease;
      }

.footer-link:hover {
        color: #0e8c88;
      }

.footer-social {
        display: inline-flex;
        height: 2.25rem;
        width: 2.25rem;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, 0.2);
        transition: border-color 150ms ease, color 150ms ease;
      }

.footer-social:hover {
        border-color: #0e8c88;
        color: #0e8c88;
      }

.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;
      }

.dealer-label {
        display: block;
        font-size: 13px;
        font-weight: 600;
      }

.dealer-field {
        margin-top: 0.45rem;
        width: 100%;
        border: 1px solid rgba(0, 0, 0, 0.16);
        background: #fff;
        padding: 0.8rem 0.85rem;
        font-size: 15px;
        outline: none;
      }

.dealer-field:focus {
        border-color: #0e8c88;
      }

.nav-link:hover, .nav-link[aria-expanded="true"], .nav-link.is-current {
        color: #0e8c88;
      }

.collection-card:hover .collection-card__name, .collection-card[aria-current="page"] .collection-card__name {
        color: #0e8c88;
      }

html[data-page="listing"] .page-banner-scrim {
        background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.48) 0%, rgba(0, 0, 0, 0.28) 48%, rgba(0, 0, 0, 0.16) 100%);
      }

.listing-wrap {
        background: #fff;
      }

.filter-aside {
        background: #fff;
      }

.filter-head {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 1rem;
      }

.filter-kicker {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #8a8a8a;
      }

.filter-title {
        margin-top: 0.35rem;
        font-size: 1.35rem;
        font-weight: 600;
        letter-spacing: -0.03em;
        line-height: 1.15;
      }

.filter-toggle {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        height: 2.25rem;
        border: 1px solid rgba(0, 0, 0, 0.12);
        padding: 0 0.7rem;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

.filter-panel[hidden] {
        display: none;
      }

.filter-panel {
        display: grid;
        gap: 0;
        margin-top: 1.5rem;
      }

.filter-block {
        padding: 1.15rem 0;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
      }

.filter-label {
        display: block;
        margin-bottom: 0.7rem;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #8a8a8a;
      }

.filter-search, .filter-select {
        position: relative;
      }

.filter-search i, .filter-select i {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        color: #9a9a9a;
        pointer-events: none;
      }

.filter-search i {
        left: 0.85rem;
        font-size: 1.1rem;
      }

.filter-select i {
        right: 0.7rem;
        font-size: 1.15rem;
      }

.filter-search input, .filter-select select {
        width: 100%;
        height: 2.75rem;
        border: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.16);
        background: transparent;
        font-size: 14px;
        outline: none;
      }

.filter-search input {
        padding: 0 0.2rem 0 2.2rem;
      }

.filter-select select {
        appearance: none;
        padding: 0 2rem 0 0.05rem;
      }

.filter-search input:focus, .filter-select select:focus {
        border-bottom-color: #0e8c88;
      }

.cat-nav {
        display: grid;
      }

.cat-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 2.55rem;
        padding: 0.15rem 0;
        font-size: 15px;
        color: #3f3f3f;
      }

.cat-link:hover {
        color: #0e8c88;
      }

.cat-link.is-current {
        color: #111;
        font-weight: 600;
      }

.cat-count {
        font-size: 12px;
        font-weight: 500;
        color: #8a8a8a;
      }

.tone-row {
        display: grid;
        gap: 0.45rem;
      }

.tone-chip {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        min-height: 2.55rem;
        cursor: pointer;
        font-size: 14px;
      }

.tone-chip input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
      }

.tone-swatch {
        width: 1.15rem;
        height: 1.15rem;
        border: 1px solid rgba(0, 0, 0, 0.12);
      }

.tone-swatch--hell {
        background: #e7d8c4;
      }

.tone-swatch--mittel {
        background: #b88755;
      }

.tone-swatch--dunkel {
        background: #6a4328;
      }

.tone-chip:has(input:checked) {
        color: #0e8c88;
        font-weight: 600;
      }

.tone-chip:has(input:checked) .tone-swatch {
        box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0e8c88;
      }

.filter-reset {
        margin-top: 0.35rem;
        justify-self: start;
        font-size: 13px;
        color: #737373;
      }

.filter-reset:hover {
        color: #0e8c88;
      }

.view-toggle {
        display: inline-flex;
        border: 1px solid rgba(0, 0, 0, 0.14);
        background: #fff;
      }

.view-toggle button {
        display: inline-flex;
        height: 2.5rem;
        width: 2.5rem;
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
      }

.view-toggle button + button {
        border-left: 1px solid rgba(0, 0, 0, 0.14);
      }

.view-toggle button.is-active {
        background: #111;
        color: #fff;
      }

.product-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.15rem;
        margin-top: 1.35rem;
      }

.product-card {
        display: flex;
        min-width: 0;
        flex-direction: column;
        border: 1px solid rgba(0, 0, 0, 0.12);
        background: #fff;
      }

.product-card[hidden], .product-grid.is-list .product-card[hidden] {
        display: none;
      }

.product-card__media {
        display: flex;
        width: 100%;
        aspect-ratio: 1;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        background: #fff;
      }

.product-card__media img {
        width: 78%;
        height: 78%;
        object-fit: contain;
        transition: transform 500ms ease;
      }

.product-card:hover .product-card__media img {
        transform: scale(1.04);
      }

.product-card__body {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 0.95rem 1rem 1.05rem;
      }

.product-card__row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem;
      }

.product-card__title {
        min-width: 0;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: -0.01em;
        line-height: 1.35;
      }

.product-card:hover .product-card__title {
        color: #0e8c88;
      }

.product-card__btn {
        flex-shrink: 0;
        margin-top: 0.1rem;
        border: 1px solid rgba(0, 0, 0, 0.18);
        padding: 0.22rem 0.55rem;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        line-height: 1.2;
      }

.product-card__btn:hover {
        border-color: #0e8c88;
        background: #0e8c88;
        color: #fff;
      }

.product-card__meta {
        margin-top: 0.35rem;
        font-size: 13px;
        color: #737373;
      }

.product-grid.is-list .product-card {
        display: grid;
        grid-template-columns: 7.5rem minmax(0, 1fr);
        align-items: center;
      }

.product-grid.is-list .product-card__media {
        aspect-ratio: 1;
      }

.product-grid.is-list .product-card__body {
        padding-block: 0.7rem;
      }

@media (min-width: 640px) {
.product-grid:not(.is-list) {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

.product-grid.is-list .product-card {
          grid-template-columns: 9.5rem minmax(0, 1fr);
        }
}

@media (min-width: 1024px) {
.filter-aside {
          position: sticky;
          top: 8.75rem;
          padding-right: 1.75rem;
          border-right: 1px solid rgba(0, 0, 0, 0.08);
        }

.filter-toggle {
          display: none;
        }

.filter-panel, .filter-panel[hidden] {
          display: grid;
        }

.product-grid:not(.is-list) {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }

.product-grid.is-list .product-card {
          grid-template-columns: 11rem minmax(0, 1fr);
        }
}

html[data-page="listing"] .feature-cell {
        display: flex;
        min-height: 180px;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        border-right: 1px solid rgba(0, 0, 0, 0.15);
        border-bottom: 1px solid rgba(0, 0, 0, 0.15);
        padding: 1.75rem 1rem 1.5rem;
        text-align: center;
      }

.feature-cell img, .feature-icon {
        height: 3.25rem;
        width: auto;
      }

html[data-page="listing"] .feature-cell h3 {
        margin: 1.1rem 0 0;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.35;
      }

.feature-cell p {
        margin-top: 1.1rem;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.35;
      }

.contact-scrim {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.28) 45%, rgba(0, 0, 0, 0.2) 100%);
      }

.faq-cat-list {
        display: none;
        flex-direction: column;
        margin-top: 0.35rem;
      }

.faq-cat-list.is-open {
        display: flex;
      }

.faq-cat {
        display: block;
        width: 100%;
        padding: 0.72rem 0.15rem;
        text-align: left;
        font-size: 16px;
        color: #3c3736;
      }

.faq-cat:hover, .faq-cat.is-active {
        color: #0e8c88;
      }

.faq-cat.is-active {
        font-weight: 700;
        text-decoration: underline;
        text-underline-offset: 4px;
      }

.faq-group + .faq-group {
        margin-top: 2.75rem;
      }

.faq-group-title {
        margin-bottom: 0.35rem;
        font-size: 2rem;
        font-weight: 600;
        letter-spacing: -0.02em;
      }

html[data-page="legal"] .faq-panel-inner p {
        max-width: 46rem;
        padding-bottom: 1.15rem;
        font-size: 15px;
        line-height: 1.7;
        color: #3f3f46;
      }

@media (min-width: 1024px) {
.faq-cat-list {
          display: flex;
        }
}

.contact-label {
        display: block;
        font-size: 13px;
        font-weight: 600;
      }

.contact-field {
        margin-top: 0.45rem;
        width: 100%;
        border: 1px solid rgba(0, 0, 0, 0.16);
        background: #fff;
        padding: 0.8rem 0.85rem;
        font-size: 15px;
        outline: none;
      }

.contact-field:focus {
        border-color: #0e8c88;
      }

.legal-banner-scrim {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.32) 48%, rgba(0, 0, 0, 0.22) 100%);
      }

.legal-card {
        display: block;
        background: #fff;
        padding: 1.5rem;
        transition: background 150ms ease, color 150ms ease;
      }

.legal-card:hover {
        background: #111;
        color: #fff;
      }

.legal-card-kicker {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #a3a3a3;
      }

.legal-card-text {
        margin-top: 0.75rem;
        font-size: 14px;
        line-height: 1.6;
        color: #525252;
      }

.legal-card:hover .legal-card-kicker, .legal-card:hover .legal-card-text {
        color: rgba(255, 255, 255, 0.7);
      }

.legal-nav a {
        display: block;
        width: 100%;
        padding: 0.72rem 0.15rem;
        text-align: left;
        font-size: 16px;
        color: #3c3736;
      }

.legal-nav a:hover, .legal-nav a.is-current {
        color: #0e8c88;
      }

.legal-nav a.is-current {
        font-weight: 700;
        text-decoration: underline;
        text-underline-offset: 4px;
      }

.legal-article h2 {
        scroll-margin-top: 9.5rem;
        margin-top: 2.75rem;
        font-size: 1.7rem;
        font-weight: 600;
        letter-spacing: -0.02em;
      }

.legal-article h2:first-child {
        margin-top: 0;
      }

.legal-article p, .legal-article li {
        max-width: 46rem;
        font-size: 15px;
        line-height: 1.75;
        color: #3f3f46;
      }

.legal-article p + p, .legal-article ul + p, .legal-article p + ul {
        margin-top: 0.95rem;
      }

.legal-article ul {
        margin-top: 0.85rem;
        padding-left: 1.15rem;
        list-style: disc;
      }

.legal-article li + li {
        margin-top: 0.4rem;
      }

.legal-meta {
        margin-top: 0.85rem;
        font-size: 13px;
        letter-spacing: 0.04em;
        color: #737373;
      }

html[data-page="faq"] .faq-banner-scrim {
        background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.12) 46%, rgba(0, 0, 0, 0.05) 100%);
      }

html[data-page="faq"] .faq-panel-inner p {
        max-width: 46rem;
        padding-bottom: 1.15rem;
        font-size: 15px;
        line-height: 1.7;
        color: #3f3f46;
      }

html[data-page="kontakt"] .faq-panel-inner p {
        max-width: 46rem;
        padding-bottom: 1.15rem;
        font-size: 15px;
        line-height: 1.7;
        color: #3f3f46;
      }

html[data-page="ueber"] .faq-banner-scrim {
        background: linear-gradient(90deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.22) 42%, rgba(0, 0, 0, 0.12) 100%);
      }

html[data-page="ueber"] .group-media {
        position: relative;
        display: block;
        overflow: hidden;
      }

#locale-open {
        width: auto;
        flex-shrink: 0;
        gap: 0.35rem;
        padding-left: 0.55rem;
        padding-right: 0.5rem;
      }

.locale-current {
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.06em;
        line-height: 1;
        white-space: nowrap;
      }

.group-media img:not(.group-media__logo) {
        display: block;
        width: 100%;
        transition: transform 500ms ease;
      }

.group-media:hover img:not(.group-media__logo) {
        transform: scale(1.06);
      }

html[data-page="ueber"] .group-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 11.75rem;
        height: 2.75rem;
        margin-top: 1.35rem;
        border: 0;
        background: #c5ddd4;
        color: #2a2a2a;
        font-size: 14px;
        font-weight: 500;
        line-height: 1;
        white-space: nowrap;
        transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
      }

html[data-page="ueber"] .group-btn.group-btn--ghost {
        background: transparent;
        border: 1px solid #111;
      }

html[data-page="ueber"] .group-btn.group-btn--ghost:hover {
        background: #0e8c88;
        border-color: #0e8c88;
        color: #fff;
      }

html[data-page="ueber"] .sustain-row {
        display: grid;
        gap: 1.75rem;
      }

@media (min-width: 768px) {
html[data-page="ueber"] .sustain-row {
          grid-template-columns: 1fr 1fr;
          align-items: center;
          gap: 3.5rem;
        }

.sustain-row.is-reverse .sustain-media {
          order: 2;
        }

.sustain-copy h3 {
          font-size: 2rem;
        }
}

.quality-card {
        background: #f4efe6;
        padding: 1.4rem 1.25rem 1.5rem;
      }

.quality-card img {
        height: 2.4rem;
        width: auto;
      }

.quality-card h3 {
        margin-top: 1rem;
        font-size: 1.05rem;
        font-weight: 600;
        letter-spacing: -0.02em;
      }

.quality-card p {
        margin-top: 0.55rem;
        font-size: 14px;
        line-height: 1.55;
        color: #525252;
      }

.standard-item {
        display: grid;
        grid-template-columns: 3.25rem minmax(0, 1fr);
        gap: 1.25rem;
        align-items: flex-start;
        text-align: left;
      }

.standard-item img {
        height: 3.25rem;
        width: 3.25rem;
      }

.standard-item h3 {
        font-size: 1.15rem;
        font-weight: 600;
        letter-spacing: -0.02em;
      }

.standard-item p {
        margin-top: 0.45rem;
        font-size: 15px;
        line-height: 1.65;
        color: #525252;
      }

@media (min-width: 640px) {
.standard-item {
          grid-template-columns: 3.5rem minmax(0, 1fr);
          gap: 1.5rem;
        }
}

html[data-page="ueber"] .faq-panel-inner p {
        max-width: 46rem;
        padding-bottom: 1.15rem;
        font-size: 15px;
        line-height: 1.7;
        color: #3f3f46;
      }

html[data-page="produkt"] .page-banner-scrim {
        background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.16) 48%, rgba(0, 0, 0, 0.08) 100%);
      }

html[data-page="produkt"] .feature-cell {
        display: flex;
        min-height: 180px;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        border-right: 1px solid rgba(0, 0, 0, 0.15);
        border-bottom: 1px solid rgba(0, 0, 0, 0.15);
        padding: 1.75rem 1rem 1.5rem;
        text-align: center;
      }

html[data-page="produkt"] .feature-cell h3 {
        margin: 0;
        font-size: inherit;
        font-weight: inherit;
      }

.detail-grid {
        display: grid;
        gap: 2.25rem;
      }

.detail-info {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
      }

@media (min-width: 1024px) {
.detail-grid {
          grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
          column-gap: 3.5rem;
          align-items: start;
        }

.detail-info {
          min-height: 0;
        }
}

.detail-main {
        position: relative;
        display: flex;
        aspect-ratio: 1;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        border: 1px solid rgba(0, 0, 0, 0.12);
        background: #fff;
        cursor: zoom-in;
      }

.detail-main img {
        width: 82%;
        height: 82%;
        object-fit: contain;
      }

.detail-zoom {
        position: absolute;
        right: 0.85rem;
        bottom: 0.85rem;
        display: inline-flex;
        height: 2.25rem;
        width: 2.25rem;
        align-items: center;
        justify-content: center;
        background: #111;
        color: #fff;
        font-size: 1.15rem;
      }

.detail-kicker {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #8a8a8a;
      }

.detail-meta {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem 1.25rem;
        margin-top: 1.15rem;
        padding: 0.9rem 0;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
      }

.detail-meta dt {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #8a8a8a;
      }

.detail-meta dd {
        margin-top: 0.25rem;
        font-size: 15px;
        font-weight: 600;
      }

.detail-lead {
        display: grid;
        gap: 0.45rem;
        margin-top: 1rem;
        max-width: 34rem;
        padding: 0;
        list-style: none;
        font-size: 14px;
        line-height: 1.45;
        color: #525252;
      }

.detail-lead li {
        display: flex;
        align-items: flex-start;
        gap: 0.55rem;
      }

.detail-lead li::before {
        content: "";
        width: 0.4rem;
        height: 0.4rem;
        flex: 0 0 0.4rem;
        margin-top: 0.42rem;
        background: #0e8c88;
      }

.detail-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.7rem;
        margin-top: 0.25rem;
      }

@media (min-width: 1024px) {
.detail-actions {
          margin-top: auto;
        }
}

.detail-btn {
        display: inline-flex;
        width: 100%;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        min-height: 3rem;
        padding: 0.7rem 0.85rem;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.03em;
        text-align: center;
      }

.detail-btn i {
        font-size: 1.2rem;
        line-height: 1;
      }

.detail-btn--dark {
        background: #111;
        color: #fff;
      }

.detail-btn--dark:hover {
        background: #0e8c88;
      }

.detail-btn--turquoise {
        background: #0e8c88;
        color: #fff;
      }

.detail-btn--turquoise:hover {
        background: #111;
      }

.request-dialog {
        position: relative;
        width: 100%;
        max-width: 720px;
        max-height: calc(100svh - 4rem);
        overflow-y: auto;
        background: #fff;
        padding: 1.5rem;
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.18);
      }

@media (min-width: 768px) {
.request-dialog {
          padding: 2rem;
        }
}

.related-carousel {
        overflow: hidden;
      }

.related-track {
        display: flex;
        width: 100%;
        gap: 1.15rem;
        transition: transform 520ms ease;
        will-change: transform;
      }

.related-track .product-card {
        flex: 0 0 100%;
      }

.related-nav {
        display: flex;
        gap: 0.4rem;
      }

.related-nav button {
        display: inline-flex;
        height: 2.35rem;
        width: 2.35rem;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(0, 0, 0, 0.14);
        font-size: 1.35rem;
      }

.related-nav button:hover {
        border-color: #0e8c88;
        color: #0e8c88;
      }

@media (min-width: 640px) {
.related-track .product-card {
          flex: 0 0 calc((100% - 1.15rem) / 2);
        }
}

@media (min-width: 1024px) {
.related-track .product-card {
          flex: 0 0 calc((100% - 3.45rem) / 4);
        }
}

.detail-block-title {
        margin-top: 1.75rem;
        font-size: 1.15rem;
        font-weight: 600;
        letter-spacing: -0.02em;
      }

.detail-copy {
        margin-top: 2.5rem;
      }

.detail-copy .detail-block-title:first-child {
        margin-top: 0;
      }

.spec-table {
        margin-top: 0.85rem;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
      }

.spec-table > div {
        display: grid;
        grid-template-columns: 11rem minmax(0, 1fr);
        gap: 1rem;
        padding: 0.72rem 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        font-size: 14px;
      }

.spec-table dt {
        color: #737373;
      }

.spec-table dd {
        font-weight: 600;
      }

.doc-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
        margin-top: 2.5rem;
      }

@media (min-width: 768px) {
.doc-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
}

.doc-card {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.9rem;
        width: 100%;
        min-height: 5.1rem;
        border: 1px solid rgba(0, 0, 0, 0.12);
        background: #fff;
        padding: 0.85rem 1rem;
        text-align: left;
        cursor: pointer;
      }

.doc-card:hover {
        border-color: #0e8c88;
      }

.doc-card__icon {
        font-size: 1.7rem;
        color: #0e8c88;
      }

.doc-card__kicker {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #8a8a8a;
      }

.doc-card__title {
        margin-top: 0.15rem;
        font-size: 16px;
        font-weight: 600;
      }

.doc-card__actions {
        display: flex;
        gap: 0.35rem;
      }

.doc-card__btn {
        display: inline-flex;
        height: 2.15rem;
        width: 2.15rem;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(0, 0, 0, 0.12);
        font-size: 1.15rem;
      }

.doc-card:hover .doc-card__btn {
        border-color: #0e8c88;
        background: #0e8c88;
        color: #fff;
      }

@media (min-width: 640px) {
.detail-meta {
          grid-template-columns: repeat(4, minmax(0, 1fr));
        }
}

html[data-page="missing"] .missing-scrim {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 48%, rgba(0, 0, 0, 0.52) 100%);
}
