.tw-werkzeuge {
    --twp-ink: var(--tw-ink, #102d36);
    --twp-ink-2: var(--tw-ink-2, #183a43);
    --twp-orange: var(--tw-orange, #e56a47);
    --twp-paper: var(--tw-paper, #f6f3ed);
    --twp-cream: var(--tw-cream, #edf0ea);
    --twp-line: rgba(246, 243, 237, .2);
    position: relative;
    overflow: hidden;
    scroll-margin-top: 72px;
    padding: clamp(58px, 6vw, 86px) 0;
    background: var(--twp-ink);
    color: var(--twp-paper);
    font-family: var(--tw-sans, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
}

.tw-werkzeuge--pending {
    display: none;
}

.tw-werkzeuge::before {
    content: "";
    position: absolute;
    inset: auto -10vw -20vw auto;
    width: 34vw;
    height: 34vw;
    border: 1px solid rgba(229, 106, 71, .15);
    border-radius: 50%;
    pointer-events: none;
}

.tw-werkzeuge__inner {
    position: relative;
    z-index: 1;
    width: min(calc(100% - 48px), 1280px);
    margin: 0 auto;
}

.tw-werkzeuge__lead {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .7fr);
    gap: clamp(36px, 5vw, 72px);
    align-items: end;
    margin-bottom: clamp(36px, 4vw, 54px);
}

.tw-werkzeuge__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px;
    color: var(--twp-orange);
    font-size: 11px;
    font-weight: 760;
    letter-spacing: .15em;
    line-height: 1.2;
    text-transform: uppercase;
}

.tw-werkzeuge__eyebrow::before {
    content: "";
    width: 30px;
    height: 2px;
    background: currentColor;
}

.tw-werkzeuge h2 {
    max-width: 780px;
    margin: 0;
    color: var(--twp-paper);
    font-family: inherit;
    font-size: clamp(34px, 3.8vw, 56px);
    font-weight: 760;
    letter-spacing: -.04em;
    line-height: 1.02;
}

.tw-werkzeuge__intro {
    margin: 0 0 5px;
    color: rgba(246, 243, 237, .72);
    font-size: clamp(15px, 1.15vw, 18px);
    line-height: 1.55;
}

.tw-werkzeuge__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--twp-line);
    border-bottom: 1px solid var(--twp-line);
}

.tw-werkzeuge__card {
    position: relative;
    min-height: 238px;
    padding: 26px clamp(22px, 2.5vw, 34px) 30px;
    color: var(--twp-paper);
    text-decoration: none;
    transition: background-color .25s ease, transform .25s ease;
}

.tw-werkzeuge__card + .tw-werkzeuge__card {
    border-left: 1px solid var(--twp-line);
}

.tw-werkzeuge__card:hover,
.tw-werkzeuge__card:focus-visible {
    background: var(--twp-ink-2);
    color: var(--twp-paper);
}

.tw-werkzeuge__number,
.tw-werkzeuge__kicker {
    display: block;
    color: var(--twp-orange);
    font-size: 10.5px;
    font-weight: 760;
    letter-spacing: .12em;
    line-height: 1.3;
    text-transform: uppercase;
}

.tw-werkzeuge__number {
    margin-bottom: 30px;
}

.tw-werkzeuge__kicker {
    margin-bottom: 12px;
}

.tw-werkzeuge__card h3 {
    max-width: 380px;
    margin: 0;
    color: var(--twp-paper);
    font-family: inherit;
    font-size: clamp(23px, 2vw, 32px);
    font-weight: 740;
    letter-spacing: -.035em;
    line-height: 1.02;
}

.tw-werkzeuge__price {
    position: absolute;
    left: clamp(22px, 2.5vw, 34px);
    bottom: 26px;
    color: var(--twp-paper);
    font-size: 16px;
    font-weight: 720;
}

.tw-werkzeuge__arrow {
    position: absolute;
    right: clamp(22px, 2.5vw, 34px);
    bottom: 24px;
    color: var(--twp-orange);
    font-size: 24px;
    line-height: 1;
    transition: transform .25s ease;
}

.tw-werkzeuge__card:hover .tw-werkzeuge__arrow,
.tw-werkzeuge__card:focus-visible .tw-werkzeuge__arrow {
    transform: translateX(6px);
}

.tw-werkzeuge__footer {
    display: flex;
    justify-content: space-between;
    gap: 36px;
    align-items: center;
    padding-top: 24px;
}

.tw-werkzeuge__bundle {
    display: flex;
    gap: 16px;
    align-items: baseline;
    flex-wrap: wrap;
}

.tw-werkzeuge__bundle > span {
    color: rgba(246, 243, 237, .72);
    font-size: 14px;
}

.tw-werkzeuge__bundle strong {
    color: var(--twp-orange);
    font-size: 24px;
    letter-spacing: -.025em;
}

.tw-werkzeuge__bundle small {
    padding: 6px 10px;
    background: rgba(229, 106, 71, .13);
    color: var(--twp-orange);
    font-size: 12px;
    font-weight: 720;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.tw-werkzeuge__action {
    display: flex;
    gap: 18px;
    align-items: center;
}

.tw-werkzeuge__action > small {
    color: rgba(246, 243, 237, .55);
    font-size: 12px;
}

.tw-werkzeuge__button {
    display: inline-flex;
    gap: 18px;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    background: var(--twp-paper);
    color: var(--twp-ink);
    font-size: 11.5px;
    font-weight: 760;
    letter-spacing: .055em;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .2s ease, color .2s ease;
}

.tw-werkzeuge__button:hover,
.tw-werkzeuge__button:focus-visible {
    background: var(--twp-orange);
    color: var(--twp-ink);
}

@media (max-width: 960px) {
    .tw-werkzeuge__lead { grid-template-columns: 1fr; gap: 22px; }
    .tw-werkzeuge__intro { max-width: 700px; }
    .tw-werkzeuge__grid { grid-template-columns: 1fr; }
    .tw-werkzeuge__card { min-height: 210px; }
    .tw-werkzeuge__card + .tw-werkzeuge__card { border-left: 0; border-top: 1px solid var(--twp-line); }
    .tw-werkzeuge__number { margin-bottom: 24px; }
    .tw-werkzeuge__footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
    .tw-werkzeuge { padding: 58px 0; }
    .tw-werkzeuge__inner { width: min(calc(100% - 36px), var(--tw-max, 1440px)); }
    .tw-werkzeuge h2 { font-size: clamp(34px, 10vw, 46px); }
    .tw-werkzeuge__card { min-height: 195px; padding-inline: 20px; }
    .tw-werkzeuge__price { left: 20px; }
    .tw-werkzeuge__arrow { right: 20px; }
    .tw-werkzeuge__action { width: 100%; align-items: flex-start; flex-direction: column-reverse; }
    .tw-werkzeuge__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .tw-werkzeuge__card,
    .tw-werkzeuge__arrow,
    .tw-werkzeuge__button { transition: none; }
}
