
.swr-tw{--blue:#1689c9;--dark:#002349;--soft:#f3f8fb;--border:#d6e2e9;width:100%;max-width:100%;box-sizing:border-box;color:#234252}.swr-tw *{box-sizing:border-box}.tw-section{
    margin:0;
    padding:42px 34px 48px;
    scroll-margin-top:110px
}
.tw-section:nth-child(odd){background:#ffffff}
.tw-section:nth-child(even){background:#f4f8fb}
.tw-section+.tw-section{border-top:1px solid #e8eef2}.tw-section>h2{margin:0 0 22px!important;color:#002349!important;font-size:clamp(28px,3vw,40px)!important;line-height:1.15!important}.headings-center .tw-section>h2{text-align:center!important}.tw-lead{font-size:16px;line-height:1.7}.tw-lead a{color:var(--blue)!important;font-weight:700}
.tw-works,.tw-columns,.tw-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tw-work-card,.tw-info-card,.tw-hardness,.tw-download{background:#fff;border:1px solid var(--border);border-left:5px solid var(--blue);box-shadow:0 8px 26px rgba(20,65,90,.06)}.tw-work-card{overflow:hidden}.tw-work-card img{width:100%;height:260px;object-fit:cover;display:block}.tw-work-content,.tw-info-card,.tw-hardness{padding:22px}.tw-work-content h3,.tw-info-card h3,.tw-hardness h3,.tw-download h3{margin:0 0 10px!important;color:var(--dark)!important;font-size:19px!important}.tw-work-content p,.tw-info-card p{margin:0;line-height:1.6}.tw-lines{line-height:1.7}
.tw-stat{background:var(--dark);color:#fff;padding:22px;text-align:center}.tw-stat span{display:block;font-weight:600;margin-bottom:6px}.tw-stat strong{font-size:28px}
.tw-download{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;padding:22px}.tw-file-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--blue);font-weight:800}.tw-download p{margin:0 0 10px;line-height:1.55}.tw-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#718692;font-size:12px;margin-bottom:14px}.tw-button,.tw-button:visited{display:inline-flex!important;width:auto!important;max-width:max-content!important;background:var(--blue)!important;color:#fff!important;text-decoration:none!important;padding:11px 18px!important;font-weight:700!important;border-radius:0!important}.tw-single-download{margin-top:18px;max-width:760px}
.tw-hardness-values{display:flex;flex-wrap:wrap;gap:6px 8px;margin-bottom:18px}.tw-hardness-values strong{color:var(--dark)}.tw-hardness-values .range{width:100%;color:var(--blue);font-weight:700}.hard-bar{position:relative;display:flex;height:20px}.hard-bar .soft{width:37.5%;background:#b9dfee}.hard-bar .medium{width:25%;background:#5cb6dc}.hard-bar .hard{width:37.5%;background:#1689c9}.hard-bar i{position:absolute;top:-6px;width:4px;height:32px;background:var(--dark);transform:translateX(-50%)}.hard-labels{display:grid;grid-template-columns:37.5% 25% 37.5%;text-align:center;font-size:12px;font-weight:700;margin-top:8px}.hard-scale{position:relative;height:18px;font-size:10px;color:#7e919c;margin-top:3px}.hard-scale span{position:absolute;top:0;transform:translateX(-50%)}.hard-scale span:nth-child(1){left:0;transform:none}.hard-scale span:nth-child(2){left:37.5%}.hard-scale span:nth-child(3){left:62.5%}.hard-scale span:nth-child(4){right:0;left:auto;transform:none}.tw-note{margin-top:18px;padding:18px 20px;background:var(--soft);border-left:4px solid var(--blue);line-height:1.65}
.tw-price-highlight{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:20px;background:var(--dark);color:#fff;margin-bottom:18px}.tw-price-highlight strong{width:100%;font-size:18px}.tw-price-highlight span{font-weight:700}.tw-base-fee{line-height:1.65}.tw-table-wrap{overflow-x:auto}.tw-price-table{width:100%!important;border-collapse:collapse!important;background:#fff!important}.tw-price-table th{background:var(--dark)!important;color:#fff!important;padding:14px!important;text-align:left!important}.tw-price-table td{padding:13px 14px!important;border-bottom:1px solid var(--border)!important}.tw-price-table tbody tr:nth-child(even){background:var(--soft)!important}.tw-price-table small{color:#dbe9f2}

@media(max-width:767px){
    .swr-tw.mobile-cols-1 .tw-works,
    .swr-tw.mobile-cols-1 .tw-columns,
    .swr-tw.mobile-cols-1 .tw-download-grid{
        grid-template-columns:1fr!important;
    }

    .swr-tw.mobile-cols-2 .tw-works,
    .swr-tw.mobile-cols-2 .tw-columns,
    .swr-tw.mobile-cols-2 .tw-download-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }

    .swr-tw.mobile-cols-2 .tw-work-card,
    .swr-tw.mobile-cols-2 .tw-info-card,
    .swr-tw.mobile-cols-2 .tw-hardness,
    .swr-tw.mobile-cols-2 .tw-download,
    .swr-tw.mobile-cols-2 .tw-stat{
        min-width:0!important;
    }

    .swr-tw.mobile-cols-2 .tw-work-card img{
        height:125px!important;
    }

    .swr-tw.mobile-cols-2 .tw-work-content,
    .swr-tw.mobile-cols-2 .tw-info-card,
    .swr-tw.mobile-cols-2 .tw-hardness{
        padding:12px!important;
    }

    .swr-tw.mobile-cols-2 .tw-work-content h3,
    .swr-tw.mobile-cols-2 .tw-info-card h3,
    .swr-tw.mobile-cols-2 .tw-hardness h3,
    .swr-tw.mobile-cols-2 .tw-download h3{
        font-size:14px!important;
        line-height:1.25!important;
        overflow-wrap:anywhere!important;
    }

    .swr-tw.mobile-cols-2 .tw-work-content p,
    .swr-tw.mobile-cols-2 .tw-info-card,
    .swr-tw.mobile-cols-2 .tw-lines,
    .swr-tw.mobile-cols-2 .tw-hardness-values{
        font-size:12px!important;
        line-height:1.4!important;
    }

    .swr-tw.mobile-cols-2 .tw-stat{
        padding:14px 10px!important;
    }

    .swr-tw.mobile-cols-2 .tw-stat span{
        font-size:12px!important;
        line-height:1.3!important;
    }

    .swr-tw.mobile-cols-2 .tw-stat strong{
        font-size:20px!important;
    }

    .swr-tw.mobile-cols-2 .tw-download{
        display:block!important;
        padding:12px!important;
    }

    .swr-tw.mobile-cols-2 .tw-file-icon{
        width:36px!important;
        height:36px!important;
        margin-bottom:10px!important;
        font-size:11px!important;
    }

    .swr-tw.mobile-cols-2 .tw-download p{
        font-size:12px!important;
        line-height:1.4!important;
    }

    .swr-tw.mobile-cols-2 .tw-meta{
        gap:5px 9px!important;
        font-size:10px!important;
        margin-bottom:10px!important;
    }

    .swr-tw.mobile-cols-2 .tw-button,
    .swr-tw.mobile-cols-2 .tw-button:visited{
        padding:9px 11px!important;
        font-size:12px!important;
        max-width:100%!important;
        white-space:normal!important;
        text-align:center!important;
        overflow-wrap:anywhere!important;
    }

    .swr-tw.mobile-cols-2 .tw-hardness-values strong{
        font-size:13px!important;
    }

    .swr-tw.mobile-cols-2 .hard-labels{
        font-size:9px!important;
    }

    .swr-tw.mobile-cols-2 .hard-scale{
        font-size:8px!important;
    }

    .swr-tw.mobile-cols-2 .hard-bar{
        height:16px!important;
    }

    .swr-tw.mobile-cols-2 .hard-bar i{
        height:26px!important;
        top:-5px!important;
    }

    .tw-work-card img{
        height:210px;
    }

    .tw-download{
        grid-template-columns:46px minmax(0,1fr);
        padding:18px;
        gap:14px;
    }

    .tw-file-icon{
        width:46px;
        height:46px;
    }

    .tw-price-highlight{
        display:block;
    }

    .tw-price-highlight span{
        display:block;
        margin-top:7px;
    }

    .tw-section{
        margin-bottom:34px;
    }
}

@media(max-width:370px){
    .swr-tw.mobile-cols-2 .tw-work-card img{
        height:105px!important;
    }

    .swr-tw.mobile-cols-2 .tw-work-content,
    .swr-tw.mobile-cols-2 .tw-info-card,
    .swr-tw.mobile-cols-2 .tw-hardness,
    .swr-tw.mobile-cols-2 .tw-download{
        padding:10px!important;
    }

    .swr-tw.mobile-cols-2 .tw-work-content h3,
    .swr-tw.mobile-cols-2 .tw-info-card h3,
    .swr-tw.mobile-cols-2 .tw-hardness h3,
    .swr-tw.mobile-cols-2 .tw-download h3{
        font-size:13px!important;
    }
}


/* SWR Fluid Typography 2026
   Einheitliche fluide Typografie fuer Smartphone, Tablet und Desktop. */
h1{
    font-size:clamp(28px,4vw,46px)!important;
    line-height:1.1!important;
}
h2{
    font-size:clamp(23px,3vw,38px)!important;
    line-height:1.14!important;
}
h3{
    font-size:clamp(17px,1.8vw,24px)!important;
    line-height:1.2!important;
}
h4{
    font-size:clamp(15px,1.45vw,20px)!important;
    line-height:1.25!important;
}
p,
li,
td,
th,
label{
    font-size:clamp(13px,1.05vw,16px)!important;
    line-height:1.58!important;
}
button,
.button,
a[class*="button"],
input[type="submit"]{
    font-size:clamp(11.5px,.95vw,14px)!important;
    line-height:1.2!important;
}

@media(max-width:767px){
    h1{
        font-size:clamp(24px,7vw,32px)!important;
    }
    h2{
        font-size:clamp(20px,6vw,28px)!important;
    }
    h3{
        font-size:clamp(15px,4.6vw,20px)!important;
    }
    h4{
        font-size:clamp(14px,4vw,18px)!important;
    }
    p,
    li,
    td,
    th,
    label{
        font-size:clamp(12px,3.55vw,14.5px)!important;
        line-height:1.5!important;
    }
    button,
    .button,
    a[class*="button"],
    input[type="submit"]{
        font-size:clamp(10.5px,3.15vw,12.5px)!important;
    }
}

@media(max-width:380px){
    h1{font-size:clamp(22px,6.6vw,27px)!important;}
    h2{font-size:clamp(19px,5.7vw,24px)!important;}
    h3{font-size:clamp(14px,4.2vw,17px)!important;}
    p,
    li,
    td,
    th,
    label{font-size:clamp(11.5px,3.35vw,13.5px)!important;}
}


/* Premium Scroll Effects */
.swr-tw .tw-section{
    position:relative;
    overflow:hidden;
}
.swr-tw .tw-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;
    opacity:0;
    background:
        radial-gradient(circle at 18% 20%,rgba(22,137,201,.10),transparent 34%),
        linear-gradient(110deg,rgba(22,137,201,.035),transparent 42%);
    transform:scale(1.04);
    transition:opacity .8s ease,transform 1s cubic-bezier(.22,.61,.36,1);
}
.swr-tw .tw-section.is-section-visible::before{
    opacity:1;
    transform:scale(1);
}
.swr-tw .tw-section > *{
    position:relative;
    z-index:1;
}

.tw-section > h2{
    position:relative;
    display:inline-block;
    padding-bottom:14px!important;
    opacity:0;
    transform:translateY(24px) scale(.985);
    transition:opacity .62s ease,transform .7s cubic-bezier(.16,1,.3,1);
}
.tw-section > h2::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:72px;
    height:4px;
    background:linear-gradient(90deg,#1689c9,#002349);
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .68s cubic-bezier(.16,1,.3,1) .16s;
}
.tw-section > h2.is-scroll-visible{
    opacity:1;
    transform:translateY(0) scale(1);
}
.tw-section > h2.is-scroll-visible::after{
    transform:scaleX(1);
}
.swr-tw.headings-center .tw-section > h2{
    display:block;
    width:max-content;
    max-width:100%;
    margin-left:auto!important;
    margin-right:auto!important;
}
.swr-tw.headings-center .tw-section > h2::after{
    left:50%;
    transform:translateX(-50%) scaleX(0);
}
.swr-tw.headings-center .tw-section > h2.is-scroll-visible::after{
    transform:translateX(-50%) scaleX(1);
}

.swr-tw .tw-section > *:not(h2){
    opacity:0;
    transform:translateX(-32px) translateY(12px) scale(.985);
    transition:opacity .72s ease .08s,transform .78s cubic-bezier(.16,1,.3,1) .08s;
}
.swr-tw .tw-section:nth-child(even) > *:not(h2){
    transform:translateX(32px) translateY(12px) scale(.985);
}
.swr-tw .tw-section.is-section-visible > *:not(h2){
    opacity:1;
    transform:translateX(0) translateY(0) scale(1);
}

.swr-tw .tw-work-card,
.swr-tw .tw-info-card,
.swr-tw .tw-stat,
.swr-tw .tw-download,
.swr-tw .tw-hardness,
.swr-tw .tw-note{
    transition:opacity .58s ease,transform .65s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;
}
.swr-tw .is-section-visible .is-stagger-item{
    opacity:1!important;
    transform:translateY(0) scale(1)!important;
}
.swr-tw .is-stagger-item{
    opacity:0!important;
    transform:translateY(22px) scale(.98)!important;
}
.swr-tw .is-stagger-item:nth-child(2){transition-delay:.06s}
.swr-tw .is-stagger-item:nth-child(3){transition-delay:.12s}
.swr-tw .is-stagger-item:nth-child(4){transition-delay:.18s}
.swr-tw .is-stagger-item:nth-child(5){transition-delay:.24s}
.swr-tw .is-stagger-item:nth-child(6){transition-delay:.30s}

.tw-work-card{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}
.tw-work-card img{
    transform:translate3d(0,var(--swr-parallax-y,0px),0) scale(var(--swr-image-scale,1.035));
    transform-origin:center center;
    transition:transform .32s ease-out,filter .35s ease;
    will-change:transform;
    backface-visibility:hidden;
}
.tw-work-card.is-image-active img{
    --swr-image-scale:1.01;
}
.tw-work-card::after{
    content:"";
    position:absolute;
    z-index:2;
    top:-35%;
    left:-60%;
    width:42%;
    height:170%;
    pointer-events:none;
    background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.04) 25%,rgba(255,255,255,.32) 48%,rgba(255,255,255,.08) 68%,rgba(255,255,255,0) 100%);
    transform:skewX(-14deg) translateX(-120%);
    opacity:0;
}
.tw-work-card.is-image-active::after{
    animation:swr-premium-light-sweep 1.25s cubic-bezier(.22,.61,.36,1) .12s both;
}
@keyframes swr-premium-light-sweep{
    0%{transform:skewX(-14deg) translateX(-120%);opacity:0}
    18%{opacity:.55}
    72%{opacity:.28}
    100%{transform:skewX(-14deg) translateX(430%);opacity:0}
}

@media(max-width:767px){
    .swr-tw .tw-section > *:not(h2),
    .swr-tw .tw-section:nth-child(even) > *:not(h2){
        transform:translateY(18px) scale(.99);
    }
    .swr-tw .tw-section.is-section-visible > *:not(h2){
        transform:translateY(0) scale(1);
    }
    .tw-section > h2{
        transform:translateY(18px) scale(.99);
        padding-bottom:11px!important;
    }
    .tw-section > h2::after{
        width:54px;
        height:3px;
    }
    .tw-work-card img{ --swr-image-scale:1.025; }
    .tw-work-card.is-image-active img{ --swr-image-scale:1.005; }
}

@media(prefers-reduced-motion:reduce){
    .swr-tw .tw-section::before{opacity:0!important;transform:none!important;transition:none!important}
    .tw-section > h2,
    .swr-tw .tw-section > *,
    .swr-tw .is-stagger-item,
    .tw-work-card img{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
        animation:none!important;
    }
    .tw-work-card::after{display:none!important;animation:none!important}
}


/* 2.0.5 Ruhiger Vigitals / SWR Flaechenstil */
.swr-tw .tw-section:nth-child(odd){
    background:#ffffff!important;
}
.swr-tw .tw-section:nth-child(even){
    background:#f4f8fb!important;
}
.swr-tw .tw-section::before{
    display:none!important;
}

/* Karten konsequent neutral */
.swr-tw .tw-work-card,
.swr-tw .tw-info-card,
.swr-tw .tw-stat,
.swr-tw .tw-download,
.swr-tw .tw-hardness,
.swr-tw .tw-note{
    background:#ffffff!important;
    color:#274554!important;
}

/* Dunkle Flaechen zurueck auf helle Karten */
.swr-tw .tw-stat,
.swr-tw .tw-hardness{
    border-color:#d6e2e9!important;
    box-shadow:0 8px 24px rgba(0,35,73,.06)!important;
}
.swr-tw .tw-stat strong,
.swr-tw .tw-hardness strong,
.swr-tw .tw-info-card h3,
.swr-tw .tw-work-card h3,
.swr-tw .tw-download h3{
    color:#002349!important;
}

/* Farbe nur als Akzent */
.swr-tw .tw-work-card,
.swr-tw .tw-info-card,
.swr-tw .tw-download,
.swr-tw .tw-hardness{
    border-left-color:#1689c9!important;
}
