.swr-fw{--blue:#1689c9;--dark:#002349;--soft:#f3f8fb;--border:#d6e2e9;width:100%;color:#274554}.swr-fw *{box-sizing:border-box}.fw-section{
    margin:0;
    padding:42px 34px 48px;
    scroll-margin-top:110px
}
.fw-section:nth-child(odd){background:#ffffff}
.fw-section:nth-child(even){background:#f4f8fb}
.fw-section+.fw-section{border-top:1px solid #e8eef2}.fw-section>h2{margin:0 0 22px!important;color:#002349!important;font-size:clamp(28px,3vw,40px)!important}.headings-center .fw-section>h2{text-align:center!important}.fw-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fw-area,.fw-download,.network-card,.mix-card{background:#fff;border:1px solid var(--border);box-shadow:0 8px 26px rgba(20,65,90,.06)}.fw-area{border-left:5px solid var(--blue);overflow:hidden}.fw-area img{width:100%;height:220px;object-fit:cover}.area-body{padding:20px}.area-body h3,.fw-download h3,.network-card h3{margin:0 0 10px!important;color:var(--dark)!important}.area-body strong{display:block;color:var(--blue);margin-bottom:10px}.fw-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fw-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fw-download{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:20px;border-left:5px solid var(--blue)}.file-icon{width:54px;height:54px;background:var(--soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:800}.fw-button{display:inline-flex!important;width:auto!important;background:var(--blue)!important;color:#fff!important;padding:10px 16px!important;text-decoration:none!important;font-weight:700!important}.fw-file-missing{font-size:12px;color:#8899a3}.network-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.network-card{padding:22px;border-top:5px solid var(--blue)}.metric{padding:16px 0;border-top:1px solid #edf1f4}.metric-top{display:flex;justify-content:space-between;gap:12px}.metric-top span{font-weight:700;color:var(--dark)}.metric-top strong{color:var(--blue)}.metric-bar{height:18px;background:#e9f0f4}.metric-bar>span{display:block;height:100%;background:linear-gradient(90deg,#9ed8ec,#1689c9)}.metric-year{text-align:right;font-size:11px;color:#718692}.metric-prev{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;margin-top:8px;font-size:11px}.metric-prev>div{height:6px;background:#edf2f5}.metric-prev i{display:block;height:100%;background:#9db8c7}.scale-note{margin-top:14px;font-size:12px;color:#718692}.mix-card{display:grid;grid-template-columns:minmax(240px,.8fr) 1.2fr;gap:38px;align-items:center;padding:30px;border-left:5px solid var(--blue)}.pie{width:min(300px,100%);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center}.pie>div{width:54%;aspect-ratio:1;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.pie strong{font-size:24px;color:var(--dark)}.mix-legend p{display:grid;grid-template-columns:18px 1fr;column-gap:10px}.mix-legend p i{width:14px;height:14px;margin-top:4px}.mix-legend p i.gas{background:#002349}.mix-legend p i.pellets{background:#1689c9}.mix-legend p strong,.mix-legend p span{grid-column:2}.emissions{padding:18px;background:var(--soft);border-left:4px solid var(--blue)}.emissions strong{display:block;color:var(--dark);margin-top:4px}@media(max-width:767px){.swr-fw.mobile-cols-1 .fw-area-grid,.swr-fw.mobile-cols-1 .fw-download-grid,.swr-fw.mobile-cols-1 .fw-price-grid,.swr-fw.mobile-cols-1 .network-grid{grid-template-columns:1fr!important}.swr-fw.mobile-cols-2 .fw-area-grid,.swr-fw.mobile-cols-2 .fw-download-grid,.swr-fw.mobile-cols-2 .fw-price-grid,.swr-fw.mobile-cols-2 .network-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.swr-fw.mobile-cols-2 .fw-area img{height:120px}.swr-fw.mobile-cols-2 .area-body,.swr-fw.mobile-cols-2 .network-card,.swr-fw.mobile-cols-2 .fw-download{padding:12px}.swr-fw.mobile-cols-2 .fw-download{display:block}.swr-fw.mobile-cols-2 .file-icon{width:36px;height:36px;margin-bottom:10px}.swr-fw.mobile-cols-2 h3{font-size:14px!important}.swr-fw.mobile-cols-2 .metric-top{display:block}.swr-fw.mobile-cols-2 .fw-button{font-size:11px!important;padding:8px 10px!important}.mix-card{grid-template-columns:1fr;padding:20px}.fw-section{margin:0;padding:30px 16px 34px}}

/* 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-fw .fw-section{
    position:relative;
    overflow:hidden;
}
.swr-fw .fw-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-fw .fw-section.is-section-visible::before{
    opacity:1;
    transform:scale(1);
}
.swr-fw .fw-section > *{
    position:relative;
    z-index:1;
}

.fw-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);
}
.fw-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;
}
.fw-section > h2.is-scroll-visible{
    opacity:1;
    transform:translateY(0) scale(1);
}
.fw-section > h2.is-scroll-visible::after{
    transform:scaleX(1);
}
.swr-fw.headings-center .fw-section > h2{
    display:block;
    width:max-content;
    max-width:100%;
    margin-left:auto!important;
    margin-right:auto!important;
}
.swr-fw.headings-center .fw-section > h2::after{
    left:50%;
    transform:translateX(-50%) scaleX(0);
}
.swr-fw.headings-center .fw-section > h2.is-scroll-visible::after{
    transform:translateX(-50%) scaleX(1);
}

.swr-fw .fw-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-fw .fw-section:nth-child(even) > *:not(h2){
    transform:translateX(32px) translateY(12px) scale(.985);
}
.swr-fw .fw-section.is-section-visible > *:not(h2){
    opacity:1;
    transform:translateX(0) translateY(0) scale(1);
}

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

.fw-area{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}
.fw-area 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;
}
.fw-area.is-image-active img{
    --swr-image-scale:1.01;
}
.fw-area::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;
}
.fw-area.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-fw .fw-section > *:not(h2),
    .swr-fw .fw-section:nth-child(even) > *:not(h2){
        transform:translateY(18px) scale(.99);
    }
    .swr-fw .fw-section.is-section-visible > *:not(h2){
        transform:translateY(0) scale(1);
    }
    .fw-section > h2{
        transform:translateY(18px) scale(.99);
        padding-bottom:11px!important;
    }
    .fw-section > h2::after{
        width:54px;
        height:3px;
    }
    .fw-area img{ --swr-image-scale:1.025; }
    .fw-area.is-image-active img{ --swr-image-scale:1.005; }
}

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


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

/* Karten und Datenflaechen neutral halten */
.swr-fw .fw-area,
.swr-fw .fw-download,
.swr-fw .network-card,
.swr-fw .mix-card,
.swr-fw .metric{
    background:#ffffff!important;
}

/* Dunkle oder farbige Vollflaechen zuruecknehmen */
.swr-fw .network-card,
.swr-fw .mix-card{
    color:#274554!important;
    border-color:#d6e2e9!important;
    box-shadow:0 8px 24px rgba(0,35,73,.06)!important;
}
.swr-fw .network-card h3,
.swr-fw .mix-card h3,
.swr-fw .metric-top,
.swr-fw .metric-top strong,
.swr-fw .mix-legend strong,
.swr-fw .emissions strong{
    color:#002349!important;
}

/* Akzent nur gezielt */
.swr-fw .fw-area,
.swr-fw .fw-download,
.swr-fw .network-card{
    border-left-color:#1689c9!important;
}
