/* Hydra Trade — dedicated laptop layout. Mobile <=767 and desktop >=1701 remain unchanged. */
@media screen and (min-width:768px) and (max-width:1700px) {
:root{--site-width:1120px;--site-gutter:32px;--brand-red:#cd1719;--ink:#111827;}
*,*::before,*::after{box-sizing:border-box;}
img{max-width:100%;object-fit:contain;}
body{line-height:1.5;}

    section.production > div.production {
        display: grid;
        grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
        width: min(var(--content-width, 1120px), calc(100% - 64px));
        max-width: none;
        margin: 0 auto;
        align-items: center;
    }

    section.production > div.production > .foto,
    section.production > div.production > .description {
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 56px 0;
        position: relative;
    }

    section.production > div.production > .foto img {
        position: static;
        display: block;
        width: min(100%, 560px);
        height: auto;
        margin: 0 auto;
    }

    section.production > div.production > .description {
        padding-left: 54px;
    }

    section.production > div.production > .description h2,
    section.production > div.production > .description h3 {
        padding-left: 0;
        padding-right: 0;
    }

    section.production > div.production > .description h2 {
        padding-top: 0;
    }

    section.production > div.production > .description p,
    section.production > div.production > .description p:last-of-type {
        width: 100%;
        max-width: 690px;
        padding-right: 0;
    }

    section.production > div.production > .description > img {
        position: static;
        display: block;
        width: min(100%, 420px);
        height: auto;
        margin: 34px 0 0;
    }

    section.press > div.container {
        display: grid;
        grid-template-columns: minmax(170px, .38fr) minmax(0, 1.05fr) minmax(250px, .72fr);
        width: min(var(--content-width, 1120px), calc(100% - 64px));
        max-width: none;
        margin: 0 auto;
        align-items: stretch;
    }

    section.press > div.container > .img,
    section.press > div.container > .description,
    section.press > div.container > .background {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    section.press > div.container > .img img {
        position: static;
        display: block;
        width: min(100%, 250px);
        height: auto;
        margin: 72px auto 0;
    }

    section.press > div.container > .description {
        padding: 0 34px 72px;
    }

    section.press > div.container > .description p,
    section.press > div.container > .description div.point p {
        padding-right: 0;
    }

    section.press > div.container > .description img.ground {
        display: none;
    }

    section.press > div.container > .description div.point {
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 10px;
        align-items: start;
    }

    section.press > div.container > .description div.point div.img {
        width: 22px;
        min-width: 22px;
    }

    section.press > div.container > .description div.point div.img img {
        position: static;
        display: block;
        width: 14px;
        height: auto;
        margin-top: 14px;
    }

    section.press > div.container > .background {
        min-height: 620px;
    }


    body > header {
        height: 96px;
        padding: 0 24px;
        align-items: stretch;
    }

    body > header div.logo {
        flex: 0 0 210px;
        padding: 0;
    }

    body > header div.logo img {
        display: block;
        width: 205px;
        height: auto;
    }

    body > header nav.main {
        min-width: 0;
        margin-left: 12px;
    }

    body > header nav.main ul.main {
        justify-content: center;
        margin: 0;
    }

    body > header nav.main ul li a,
    body > header nav.main ul li a:first-child {
        padding: 0 10px;
        line-height: 96px;
        font-size: 14px;
        white-space: nowrap;
    }

    body > header div.languages {
        display: none;
    }

    body > header div.telephone {
        flex: 0 0 210px;
        padding-left: 16px;
        justify-content: flex-end;
    }

    body > header div.telephone img {
        padding-right: 10px;
    }

    body > header div.telephone div.telephone-number {
        white-space: nowrap;
    }

    section.slider,
    section.slider.opacity {
        height: min(700px, calc(100vh - 96px));
        min-height: 590px;
    }

    section.slider div.brightness {
        height: 100%;
    }

    section.slider div.main {
        width: 70%;
        padding-left: 13%;
        padding-right: 13%;
    }

    section.slider h1.first {
        padding-top: 130px;
    }

    section.boxes article.boxes {
        padding-left: max(32px, 7vw);
        padding-right: max(32px, 7vw);
    }

    footer section.top,
    footer section.bottom {
        width: min(var(--site-width), calc(100% - 64px));
        margin-left: auto;
        margin-right: auto;
    }


    :root {
        --content-width: 1120px;
    }

    section:is(
        .production,
        .productionStainless,
        .regeneration,
        .reconstruction,
        .pomp,
        .diagnostics,
        .constructionDetails,
        .atexTests,
        .securitySystem
    ) > .container,
    section:is(
        .production,
        .regeneration,
        .pomp,
        .diagnostics,
        .constructionDetails,
        .atexTests,
        .securitySystem
    ) .container.maxWidth {
        width: min(var(--content-width), calc(100% - 64px));
        max-width: none;
        margin-right: auto;
        margin-left: auto;
    }

    section:is(.production, .regeneration, .pomp, .diagnostics) div.title > div.gap,
    section.constructionDetails div.container > div.gap {
        display: none;
    }

    /* Hydraulic cylinders: production and regeneration. */
    section.production div.title,
    section.regeneration div.title {
        display: grid;
        grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
        column-gap: 58px;
        align-items: start;
        padding-bottom: 64px;
    }

    section.projecting div.container.maxWidth {
        width: min(var(--content-width), calc(100% - 64px));
    }

    section.projecting div.title {
        display: grid;
        grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
        column-gap: 58px;
        padding-bottom: 64px;
    }

    section.projecting div.title > div.gap {
        display: none;
    }

    section.projecting div.title > div:nth-of-type(2),
    section.projecting div.description {
        width: 100%;
        min-width: 0;
        margin-right: 0;
    }

    section.projecting div.container div.description p {
        padding-right: 0;
        padding-left: 0;
    }

    section.production div.title > div:nth-of-type(2),
    section.regeneration div.title > div:nth-of-type(2) {
        min-width: 0;
        padding: 0;
    }

    section.production div.title h1,
    section.regeneration div.title h1 {
        padding-top: 54px;
        font-size: clamp(44px, 4vw, 56px);
    }

    section.production div.title h2,
    section.regeneration div.title h2,
    section.production div.title h3,
    section.regeneration div.title h3 {
        padding-right: 0;
        padding-left: 0;
    }

    section.production div.description,
    section.regeneration div.description {
        width: 100%;
        min-width: 0;
        margin: 38px 0 0;
        padding: 0;
    }

    section.production div.container div.description p,
    section.regeneration div.container div.description p,
    section.regeneration div.container div.description p:first-of-type,
    section.regeneration div.container div.description div:last-of-type p {
        padding-right: 0;
    }

    section.production div.description div:last-of-type h3 {
        padding-right: 0;
        padding-left: 0;
    }

    section.production div.title > img {
        position: static;
        grid-column: 1;
        width: min(100%, 430px);
        height: auto;
        margin: 20px auto 0;
    }

    section.productionStainless .container > div {
        width: 100%;
        min-height: 560px;
        padding: 72px 54% 72px 0;
        background-position: right bottom;
        background-size: 50% auto;
    }

    section.productionStainless div h3 {
        padding-top: 0;
    }

    section.productionStainless div p {
        padding-right: 0;
    }

    section.reconstruction .container > div {
        min-height: 650px;
        padding: 72px 51% 72px 0;
        background-position: right center;
        background-size: 48% auto;
    }

    section.reconstruction div h1 {
        padding-top: 0;
        font-size: clamp(44px, 4vw, 56px);
    }

    section.reconstruction div p {
        padding-right: 0;
    }

    /* Configurator: use the available width instead of five fixed cards. */
    section.configurator > .container {
        display: block;
        width: min(var(--content-width), calc(100% - 64px));
    }

    section.configurator > .container > .gap {
        display: none;
    }

    section.configurator .block,
    section.configurator .configurator,
    section.configurator .configurator .title,
    section.configurator .configurator .application,
    section.configurator .configurator .application .stepLevel,
    section.configurator .configurator .application .step.typeApplication {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    section.configurator .configurator .typeApplication {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    section.configurator .configurator .typeApplication .card {
        min-width: 0;
    }

    section.configurator .configurator .typeApplication .card img {
        display: block;
        width: min(100%, 130px);
        height: auto;
        margin: 0 auto;
        padding: 20px;
        transform: none;
        left: auto;
    }

    section.configurator .configurator .application .stepLevel .level {
        width: min(48%, 520px);
    }

    section.configurator .configurator .application .stepLevel .level div {
        flex: 1 1 0;
        width: auto;
    }

    /* Pump service pages. */
    section.pomp div.title,
    section.diagnostics div.title {
        display: block;
    }

    section.pomp div.title > .wrapper,
    section.diagnostics div.title > .wrapper {
        width: 100%;
        min-width: 0;
        padding: 0 390px 60px 0;
    }

    section.slider a.slider {
        position: relative;
        inset: auto;
        display: inline-block;
        margin: 26px 0 0 30px;
        transform: none;
    }

    section.pomp div.container div.description p,
    section.diagnostics div.container div.description p {
        padding-right: 0;
    }

    section.pomp div.container > div.title > .wrapper > img,
    section.diagnostics div.container > div.title > .wrapper > img {
        right: 0;
        bottom: 80px;
        width: min(350px, 34%);
        height: auto;
    }

    section.rexroth div.container.maxWidth {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(var(--content-width), calc(100% - 64px));
        gap: 3px;
    }

    section.rexroth div.atexBoxes {
        min-height: 150px;
        border: 0;
    }

    section.rexroth div.atexBoxes div img {
        position: static;
        display: block;
        width: 100%;
        height: 150px;
        object-fit: contain;
        padding: 8px;
    }

    /* ATEX feature and safety sections. */
    section.constructionDetails div.container.maxWidth {
        display: grid;
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        gap: 64px;
        padding: 48px 0 32px;
    }

    section.constructionDetails div.container > .description,
    section.constructionDetails div.container > .elements {
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    section.constructionDetails div.container .description h2 {
        padding-top: 0;
    }

    section.constructionDetails div.container .description p {
        padding-right: 0;
    }

    section.constructionDetails div.container .element {
        display: grid;
        grid-template-columns: 120px minmax(0, 1fr);
        align-items: center;
    }

    section.constructionDetails div.container .element div.foto,
    section.constructionDetails div.container .element div.description {
        min-width: 0;
        padding: 18px 0;
    }

    section.constructionDetails div.container .element div.foto img {
        position: static;
        display: block;
        max-width: 96px;
        height: auto;
        margin: 0 auto;
        padding: 0;
        transform: none;
    }

    section.securitySystem div.container.maxWidth,
    section.atexTests div.container.maxWidth {
        display: grid;
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        gap: 56px;
        padding: 60px 0;
    }

    section.securitySystem div.container > .img,
    section.atexTests div.container > .img {
        display: none;
    }

    section.securitySystem div.container > .description,
    section.securitySystem div.container > .points,
    section.atexTests div.container > .description,
    section.atexTests div.container > .points {
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    section.securitySystem div.description h2 {
        position: static;
        padding: 0 0 18px;
    }

    section.securitySystem div.description h3 {
        padding: 0 0 28px;
    }

    section.securitySystem div.description p,
    section.atexTests div.description p {
        padding-right: 0;
    }

    section.securitySystem div.description img.basic {
        position: static;
        display: block;
        width: min(100%, 440px);
        height: auto;
        margin: 28px auto 0;
    }

    section.securitySystem div.description img.first,
    section.securitySystem div.description img.second,
    section.securitySystem div.description img.third,
    section.securitySystem div.points img[class*="point"],
    section.atexTests div.points img[class*="point"] {
        display: none;
    }

    section.securitySystem div.points > div,
    section.atexTests div.points > div {
        display: grid;
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 18px;
        align-items: start;
        margin-bottom: 24px;
    }

    section.securitySystem div.points div .img,
    section.atexTests div.points div .img {
        min-height: 80px;
    }

    section.securitySystem div.points div .img img.number,
    section.atexTests div.points div .img img.number {
        position: static;
        display: block;
        max-width: 72px;
        height: auto;
        margin: 0 auto;
    }

    /* Bottom call-to-action: keep the product, copy and actions in separate cells. */
    section.calculation div.background {
        display: grid;
        grid-template-columns: minmax(250px, .72fr) auto minmax(300px, 1.28fr);
        grid-template-rows: 1fr auto;
        gap: 18px 14px;
        align-items: center;
        height: auto;
        min-height: 300px;
        padding: 32px;
    }

    section.calculation img {
        position: static;
        grid-column: 1;
        grid-row: 1 / 3;
        width: 100%;
        max-height: 330px;
        object-fit: contain;
    }

    section.calculation div.background > div {
        grid-column: 2 / 4;
        grid-row: 1;
        padding: 0;
    }

    section.calculation h2 {
        margin-left: 0;
        padding-left: 0;
    }

    section.calculation a,
    section.calculation a.call {
        position: relative;
        inset: auto;
        transform: none;
        width: auto;
        text-align: center;
    }

    section.calculation a.call {
        grid-column: 2;
        grid-row: 2;
    }

    section.calculation a.form {
        grid-column: 3;
        grid-row: 2;
    }


    section.title div.gap,
    section.titleCompany div.gap,
    section.why div.gap,
    section.modernization div.gap,
    section.filtration div.gap {
        display: none !important;
    }

    section.title .container.maxWidth,
    section.titleCompany .container.maxWidth,
    section.why .container.maxWidth,
    section.designing .container.maxWidth,
    section.designingCompany .container.maxWidth,
    section.responsibility .container.maxWidth,
    section.project .container.maxWidth,
    section.aggregates .container.maxWidth,
    section.activation .container.maxWidth,
    section.modernization .container.maxWidth,
    section.filtration .container.maxWidth {
        width: calc(100% - 64px);
        max-width: none;
        margin-right: auto;
        margin-left: auto;
    }

    section.title div.dotted,
    section.titleCompany div.dotted,
    section.why div.title {
        display: block;
        width: 100%;
    }

    section.designing .container.maxWidth > div,
    section.designingCompany .container.maxWidth > div {
        display: grid;
        grid-template-columns: minmax(0, 1.12fr) minmax(260px, .88fr);
        gap: 42px;
        align-items: center;
    }

    section.designing div div.description,
    section.designingCompany div div.description {
        width: 100%;
        min-width: 0;
        padding-left: 0;
    }

    section.designing div div.foto,
    section.designingCompany div div.foto {
        width: 100%;
        min-width: 0;
    }

    section.designing div div.foto img,
    section.designingCompany div div.foto img {
        display: block;
        width: 100%;
        height: auto;
        padding: 0;
        margin: 0 auto;
    }

    section.designing div div.foto a {
        width: 100%;
        max-width: 310px;
        margin: 24px 0 0;
        text-align: center;
    }

    section.configurator > .container.maxWidth:has(> .foto) {
        display: grid;
        grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
        gap: 42px;
        width: calc(100% - 64px);
        padding: 46px 0;
        align-items: center;
    }

    section.configurator > .container.maxWidth > .foto,
    section.configurator > .container.maxWidth > .description {
        width: 100%;
        min-width: 0;
        padding: 0;
        position: relative;
    }

    section.configurator > .container.maxWidth > .foto img {
        display: block;
        width: 100%;
        height: auto;
    }

    section.configurator > .container.maxWidth > .description a {
        position: static;
        display: inline-block;
        margin: 10px 0 0;
    }

    section.why .container.dotted {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
        width: 100%;
    }

    section.why .container.dotted > .element,
    section.why .container.dotted > .element p {
        width: 100%;
        min-width: 0;
    }

    section.responsibility .container h1,
    section.responsibility .container div.boxes {
        padding-left: 0;
    }

    section.responsibility .container div.boxes {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        max-width: none;
    }

    section.responsibility .container div.boxes div.box {
        width: 100%;
        min-width: 0;
    }

    section.responsibility .container div.boxes div.box p {
        padding-right: 22px;
        padding-left: 22px;
    }

    section.project > .container.maxWidth {
        position: relative;
        overflow: hidden;
    }

    section.project > .container.maxWidth > img {
        position: static;
        display: block;
        width: min(600px, 82%);
        height: auto;
        margin: 30px auto;
    }

    section.aggregates div.maxWidth div.aggregates {
        display: grid;
        grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
        gap: 34px;
        padding-left: 0;
        align-items: center;
    }

    section.aggregates img {
        position: static;
        display: block;
        width: 100%;
        height: auto;
    }

    section.aggregates div.maxWidth div.atex {
        width: 100%;
        padding: 48px 0 68px;
    }

    section.aggregates div.atex a {
        position: static;
        display: inline-block;
        margin: 28px 0 0;
    }

    section.activation div.activation {
        display: grid;
        grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
        gap: 42px;
        padding-left: 0;
    }

    section.activation div.activation div.headline,
    section.activation div.description {
        width: 100%;
        min-width: 0;
    }

    section.activation div.description {
        padding: 54px 0 0;
    }

    section.activation div.description img {
        position: static;
        display: block;
        width: min(180px, 45%);
        height: auto;
        margin-bottom: 20px;
    }

    section.activation div.description h3,
    section.activation div.description p,
    section.activation div.description p:nth-of-type(2),
    section.activation div.description p:nth-of-type(3) {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    section.modernization div.title,
    section.modernization div.wrapper,
    section.modernization div.wrapper div.dotted,
    section.filtration div.title,
    section.filtration div.wrapper,
    section.filtration div.wrapper div.container {
        display: block;
        width: 100%;
    }

    section.modernization div.wrapper div.dotted div:nth-of-type(1),
    section.modernization div.wrapper div.dotted div:nth-of-type(2),
    section.filtration .container .description,
    section.filtration .container .redDescription {
        width: 100%;
        max-width: none;
        margin-right: 0;
        margin-left: 0;
        padding-right: 0;
        padding-left: 0;
    }

    section.modernization div.wrapper div.dotted div:nth-of-type(2) p,
    section.modernization div p,
    section.filtration div.description p {
        width: 100%;
        margin-right: 0;
        padding-right: 0;
    }

    section.filtration div.redDescription {
        margin-top: 300px;
    }

    section.filtration div.redDescription img {
        left: 50%;
        max-width: 600px;
        transform: translateX(-50%);
    }

    section.filtration div.redDescription div.red {
        position: static;
        width: 100%;
        margin-top: 18px;
        padding: 22px 28px;
        border-radius: 8px;
    }

    section.filtration div.redDescription div.red img {
        display: none;
    }

    section.contact div.alert {
        right: 20px;
        left: 20px;
        width: auto;
        max-width: none;
    }


    body > section:not(.wrapper),
    body > .wrapper {
        max-width: 100%;
    }

    body > section:not(.slider) img,
    section.wrapper > section:not(.slider) img {
        max-width: 100%;
    }

    footer .container,
    section.calculation .background {
        width: min(1228px, calc(100% - 64px));
        margin-right: auto;
        margin-left: auto;
    }


    section.boxes article.boxes {
        width: min(1120px, calc(100% - 64px));
        margin: 0 auto;
        padding-left: 0;
    }

    section.boxes article.boxes > div {
        flex: 1 1 0;
        width: 25%;
        min-width: 0;
    }

    section.boxes article.boxes > div.configurator,
    section.boxes article.boxes > div:nth-of-type(4) {
        position: relative;
        inset: auto;
        width: 25%;
        flex: 1 1 0;
    }

    section.contact div.alert {
        right: 20px;
        left: 20px;
        width: auto;
        max-width: none;
    }


    section.contact .checkbox > div.alert {
        right: 20px !important;
        left: 20px !important;
        width: auto !important;
        max-width: calc(100% - 40px) !important;
        box-sizing: border-box;
    }


    section.configurator > .container.maxWidth:has(> .foto) {
        display: grid !important;
        grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
        align-items: center;
        gap: clamp(42px, 6vw, 88px);
        width: min(1120px, calc(100% - 64px)) !important;
        max-width: none !important;
        margin: 0 auto !important;
        padding: 64px 0 70px !important;
        box-sizing: border-box;
    }

    section.configurator > .container.maxWidth:has(> .foto) > .foto,
    section.configurator > .container.maxWidth:has(> .foto) > .description {
        position: relative !important;
        width: 100% !important;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
        flex: none !important;
        box-sizing: border-box;
    }

    section.configurator > .container.maxWidth:has(> .foto) > .foto img {
        display: block;
        width: 100% !important;
        max-width: 650px;
        height: auto !important;
        margin: 0 auto;
    }

    section.configurator > .container.maxWidth:has(> .foto) > .description h1 {
        padding: 0 0 28px !important;
        font-size: clamp(46px, 4.4vw, 68px);
        line-height: 1.04;
    }

    section.configurator > .container.maxWidth:has(> .foto) > .description p,
    section.configurator > .container.maxWidth:has(> .foto) > .description p:nth-of-type(2) {
        width: 100% !important;
        margin: 0;
        padding: 0 0 24px !important;
        line-height: 1.45;
    }

    section.configurator > .container.maxWidth:has(> .foto) > .description a {
        position: static !important;
        inset: auto !important;
        display: inline-block;
        width: auto;
        margin: 10px 0 0 !important;
    }

    section.project > .container.maxWidth,
    section.project > .projecting > .container.maxWidth {
        width: min(1120px, calc(100% - 64px)) !important;
        max-width: none !important;
        margin: 0 auto !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        overflow: visible !important;
        box-sizing: border-box;
    }

    section.project > .container.maxWidth div,
    section.project > .projecting > .container.maxWidth div {
        min-width: 0;
        padding-right: 0 !important;
        padding-left: 0 !important;
        box-sizing: border-box;
    }

    section.project > .container.maxWidth > .title {
        display: block !important;
        width: 100%;
    }

    section.project > .container.maxWidth > .title > .gap {
        display: none !important;
    }

    section.project > .container.maxWidth > .description {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 42px;
        width: 100%;
    }

    section.project > .container.maxWidth > .description p,
    section.project > .projecting .description p {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 20px !important;
    }

    section.project > .container.maxWidth > img {
        position: static !important;
        inset: auto !important;
        display: block;
        width: min(620px, 72%) !important;
        height: auto !important;
        margin: 36px auto 56px !important;
    }

    section.project > .projecting > .container.maxWidth > div:nth-child(2) {
        display: grid;
        grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr);
        gap: 48px;
        align-items: center;
        width: 100%;
    }

    section.project > .projecting img {
        position: static !important;
        inset: auto !important;
        display: block;
        width: 100% !important;
        max-width: 600px;
        height: auto !important;
        margin: 0 auto !important;
    }

    section.project > .projecting .description {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }


    section.questions div.wrapper .show,
    section.questions div.wrapper .question,
    section.questions div.wrapper .show div.disabled,
    section.questions div.wrapper .show div.disabled.active {
        width: 100% !important;
    }

    section.questions div.wrapper .question {
        transition: color .2s ease, background-color .2s ease, border-radius .2s ease;
    }


    section.slider img.icon.slider { right: 24px; left: auto; max-width: 240px; }


    :root { --content-width: 1120px; --laptop-width: min(1120px, calc(100% - 80px)); }
    body > header { height: 80px; padding: 0 32px; }
    body > header div.logo { flex-basis: 185px; }
    body > header div.logo img { width: 180px; }
    body > header nav.main ul li a, body > header nav.main ul li a:first-child { line-height: 80px; font-size: 15px; padding: 0 13px; }
    body > header div.telephone { flex-basis: 255px; padding-left: 16px; }
    body > header div.telephone a { font-size: 14px; }
    [id], section { scroll-margin-top: 96px; }
    section.slider div.main { width: var(--laptop-width); padding: 44px 0 0 !important; }
    section.slider h1.first, section.slider h1.second { margin: 0; padding: 0; font-size: clamp(40px,3.4vw,50px); line-height: 1.08; }
    section.slider h2, section.slider h2.second { margin: 0; padding: 0; font-size: 26px; line-height: 1.3; }
    section.slider h1 + h2 { margin-top: 18px; }
    section.slider div.description.slider { margin-top: 22px; width: min(650px,65%); }
    section.slider div.description.slider p { padding: 18px 24px; font-size: 16px; line-height: 1.55; }
    section.slider:has(.description.slider) { height: clamp(510px,calc(100svh - 140px),580px); min-height: 510px; }
    section.slider:not(:has(.description.slider)) { height: 360px; min-height: 360px; }
    section.slider > img.icon.slider { top: 36px; right: 6%; left: auto; width: 200px; }
    section.slider > img.slider:not(.icon) { top: 66px; right: 10%; width: 160px; }
    section.slider > a { bottom: 48px; right: auto; left: 50%; transform: translateX(-50%); min-height: 42px; }
    section.slider div.rectangles { bottom: 22px; }
    section.slider img.arrowLeft, section.slider img.arrowRight { top: 50%; width: 38px; }
    section.slider a.slider { display: inline-flex; align-items: center; gap: 10px; width: auto !important; padding: 12px 18px !important; margin-top: 22px !important; font-size: 16px; }
    section.slider a.slider img { position: static !important; width: 15px; height: auto; padding: 0; margin: 0; transform: none; }
    section.boxes { padding: 26px 0; }
    section.boxes > .container { width: var(--laptop-width) !important; margin: 0 auto; }
    section.boxes article.boxes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; width: var(--laptop-width); padding: 0; margin: 0 auto; }
    section.boxes > .container > article.boxes { width: 100%; }
    section.boxes article.boxes > div, section.boxes article.boxes > div.configurator, section.boxes article.boxes > div:nth-of-type(4) { position: relative; inset: auto; display: flex; flex-direction: column; width: 100%; min-width: 0; height: auto; min-height: 0; padding: 24px 20px; margin: 0; border: 1px solid #dedede; border-radius: 5px; }
    section.boxes article.boxes > div h3 { width: 100%; min-height: 58px; padding: 0 0 14px; font-size: 22px; line-height: 1.25; }
    section.boxes article.boxes > div > p { width: 100%; padding: 0 0 18px; font-size: 15px; line-height: 1.55; }
    section.boxes article.boxes > div > img.picture { position: static; width: auto; max-width: 76px; height: 70px; object-fit: contain; padding: 0; margin: 0 0 16px; }
    section.boxes article.boxes div.hover { display: none; }
    .mobile-offer-link { display: flex; justify-content: space-between; align-items: center; order: 2; margin-top: auto; padding-top: 12px; min-height: 44px; color: #b71920; border-top: 1px solid #d5d5d5; font-size: 15px; text-decoration: none; }
    section.boxes article.boxes > div > div.arrow { position: static; display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; height: auto; margin-top: auto; padding: 0; opacity: 1; }
    section.boxes article.boxes > div > div.arrow p { width: auto; padding: 0; }
    section.boxes article.boxes > div > div.arrow img { position: static; width: 18px; height: auto; margin: 0; }
    section:is(.title,.titleCompany,.why,.designing,.designingCompany,.responsibility,.aggregates,.activation,.modernization,.filtration) .container.maxWidth { width: var(--laptop-width); margin: 0 auto; }
    section:is(.title,.titleCompany,.why,.modernization,.filtration) div.gap { display: none !important; }
    section.title div.dotted, section.titleCompany div.dotted { width: 100%; }
    section.designing .container.maxWidth > div, section.designingCompany .container.maxWidth > div { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 56px; padding: 52px 0; }
    section.designing div div.description, section.designingCompany div div.description { padding: 0 !important; }
    section.designing div div.description h1, section.designingCompany div div.description h1 { padding: 0 !important; font-size: 42px; line-height: 1.1; }
    section.designing div div.description h1:nth-child(3) { font-size: 32px; }
    section.designing div div.description h2, section.designingCompany div div.description h2 { font-size: 25px; line-height: 1.35; padding: 24px 0; }
    section.designing div div.description p, section.designingCompany div div.description p { font-size: 16px; line-height: 1.65; padding: 0 0 18px; }
    section.designing div div.foto img { max-width: 470px; }
    section.why .container.maxWidth { padding: 48px 0; }
    section.why .container.dotted { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; padding: 28px 0 0; }
    section.why .container.dotted > .element { padding: 0; }
    section.why .container.dotted > .element img { width: 88px; height: 70px; object-fit: contain; padding: 0 !important; }
    section.why .container.dotted > .element h3 { padding: 18px 0 !important; font-size: 20px; line-height: 1.4; min-height: 114px; }
    section.why .container.dotted > .element p { font-size: 15px; line-height: 1.65; }
    section.activation div.activation { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); padding: 48px 0; }
    section.activation div.description { padding-top: 0; }
    section.activation div.headline h1 { padding-top: 0; font-size: 42px; }
    section.activation div.description p { font-size: 17px; line-height: 1.6; }
    section.contact div.title { display: block; }
    section.contact div.title > .gap { display: none; }
    section.contact div.title div.wrapper { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 48px; width: var(--laptop-width); margin: 0 auto; padding: 48px 0; }
    section.contact div.wrapper > div { width: 100%; min-width: 0; padding: 0; }
    section.contact div.wrapper > div.description { padding: 28px 32px 40px; border-radius: 6px; }
    section.contact h5 { padding-top: 0; }
    section.contact div.small { padding-left: 0; }
    section.contact div.description > h2 { padding: 0 0 24px; font-size: 30px; }
    section.contact form, section.contact form div.form { display: block; width: 100%; text-align: left; }
    section.contact form .form > div { width: 100%; padding: 0 0 14px; }
    section.contact form label, section.contact form label.message { position: static; display: block; padding: 0 0 6px; }
    section.contact form input:not([type=checkbox]), section.contact form textarea { width: 100%; min-height: 44px; padding: 10px; font-size: 16px; }
    section.contact form textarea { min-height: 130px; }
    section.contact form div.checkbox { width: 100%; height: auto; min-height: 104px; margin: 8px 0 20px; padding: 14px; }
    section.contact form .checkbox div.label { width: auto; margin-left: 42px; padding: 0; }
    section.contact form .checkbox label { line-height: 1.5; font-size: 14px; }
    section.contact form button.send { position: static; display: block; transform: none; margin: 0 0 0 auto; min-height: 46px; }
    section.map iframe { display: block; width: 100%; height: 340px; }
    section.calculation { background-color: #a5151b; background-attachment: scroll; }
    section.calculation .container.maxWidth { width: 100%; }
    section.calculation div.background { width: var(--laptop-width); grid-template-columns: 260px 150px minmax(0,1fr); padding: 36px 0; min-height: 280px; }
    section.calculation img { max-height: 250px; }
    section.calculation h2 { font-size: 30px; line-height: 1.25; }
    section.calculation a { font-size: 18px; min-height: 46px; }
    footer .container { width: var(--laptop-width); }
    footer section.top, footer section.bottom { width: 100%; }
    footer section.top { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
    footer section.top > div { min-width: 0; padding: 20px 24px; }
    footer section.top > div.first { padding-left: 0; }
    footer section.top > div.last { padding-right: 0; }
    footer section.top p, footer section.top h5 { font-size: 14px; line-height: 1.6; color: #595959; }


    section.why div.container.dotted { width:100%; padding:28px 0 0 !important; }
    section.why div.container.dotted div.element { padding:0 !important; }
    section.reception div.container.maxWidth { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:0 56px; align-items:center; width:var(--laptop-width); padding:56px 0; }
    section.reception div.title { grid-column:1 / -1; }
    section.reception div.title .gap { display:none; }
    section.reception div.title h3 { padding:0 0 28px; }
    section.reception div.description { width:100%; padding:0; }
    section.reception div.container div.description p,
    section.reception div.container div.description p:nth-of-type(2) { padding:0 0 20px; font-size:17px; line-height:1.6; }
    section.reception img { position:static; width:100%; max-width:440px; height:auto; }
    section.questions .container.maxWidth { width:var(--laptop-width); padding:40px 0; }
    section.questions div.title { display:block; }
    section.questions div.title .gap { display:none; }
    section.questions div.wrapper { width:100%; }
    section.questions div.wrapper h5.extra { padding:0 0 28px; font-size:27px; }
    section.questions div.wrapper h5.extra > img { display:none; }
    section.questions div.wrapper .show, section.questions div.wrapper .question, section.questions div.wrapper .show div.disabled { width:100% !important; }
    section.questions div.wrapper .question { border-radius:6px; }
    section.questions div.wrapper .question p { width:100% !important; margin:0 !important; padding:18px 58px !important; line-height:1.5; }
    section.questions div.wrapper .question p img.question { left:18px !important; right:auto !important; top:50% !important; width:26px !important; height:26px !important; transform:translateY(-50%); padding:0; margin:0; }
    section.questions div.wrapper .question p img.arrow { right:20px; top:50%; width:14px; height:auto; transform:translateY(-50%); }
    section.questions div.wrapper div.disabled p { width:100%; padding:24px 58px; line-height:1.65; }
    section.contact form button.send { position:relative; inset:auto; }
    section.contact form button.send img { position:absolute; top:50%; right:20px; left:auto; width:22px; height:auto; transform:translateY(-50%); }
    section.configurator .configurator .application .param { position:relative; display:grid; grid-template-columns:minmax(140px,1fr) 140px 30px; align-items:center; gap:10px; width:100%; padding-right:38px; margin:0 0 12px; }
    section.configurator .configurator .application .param label { padding:0 !important; font-size:16px; }
    section.configurator .configurator .application .param input { width:100%; height:44px; margin:0; color:#222; }
    section.configurator .configurator .application .param > span { padding:0; }
    section.configurator .configurator .application .parameters div.value { padding-right:28px; }
    section.configurator .configurator .application .param img.arrowUp { top:0; bottom:auto; right:0; width:25px; height:22px; padding:5px 7px; }
    section.configurator .configurator .application .param img.arrowDown { top:22px; bottom:auto; right:0; width:25px; height:22px; padding:5px 7px; }
    section.configurator .configurator .application .parameters .results .line,
    section.configurator .configurator .application .parameters .secondLine { display:none; }
    section.configurator .configurator .application .parameters .results > .container { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; width:100%; }
    section.configurator .configurator .application .parameters .strengthValue:nth-of-type(2) { margin-left:0; }
    section.configurator .configurator .application .parameters .results p.strength { line-height:1.4; white-space:normal; }
    section.configurator .configurator .application .parameters .results p.normal.right { padding-left:0; }
    section.configurator .configurator .application .parameters .results img.info { position:static; display:block; width:22px; height:20px; margin-top:10px; }
    section.configurator .configurator .application .parameters .results div .disabled { right:0; }
    section.configurator .configurator .application .parameters div.value > img.info { position:static; display:block; margin:8px 0 0 auto; width:22px; height:20px; }
    section.wrapper > section > .container > div.dotted { max-width:100%; }


    section.configurator .configurator .application .parameters.step .param img.arrowUp { top:0; bottom:auto; right:0; }
    section.configurator .configurator .application .parameters.step .param img.arrowDown { top:22px; bottom:auto; right:0; }


    section.servis div.dotted, section.servis div.container.maxWidth div.offset { display:block; width:var(--laptop-width); max-width:100%; margin:0 auto; }
    section.servis div.dotted .gap { display:none; }
    section.servis div.dotted h2 { padding:40px 0 24px; }


    section.boxes > .container { height:auto; }
    section.boxes article.boxes > div > div.arrow { flex:0 0 auto; border:0; }
    section.boxes article.boxes > div > div.arrow p { position:static !important; inset:auto !important; width:auto !important; padding:10px 0 !important; margin:0; }
    section.boxes article.boxes > div > div.arrow p a { color:#a71920; font-weight:500; }
    section.boxes article.boxes > div > div.arrow img { position:static !important; inset:auto !important; }
    section.boxes article.boxes > div.configurator > div.arrow p { padding:10px !important; }
    section.boxes article.boxes > div.configurator > div.arrow p a { color:#ffc517; padding:0; }

/* Shared rhythm and bounded hero. Every rule stays inside the laptop media query. */
body > header { z-index:20; }
body > header .logo img { height:auto; }
body > header div.telephone { width:auto; min-width:0; }
body > header div.telephone div.telephone-number { white-space:normal; }
body > header div.telephone img { width:24px; height:auto; padding:0; margin-right:10px; }
section.slider, section.slider.opacity { animation:none!important; opacity:1!important; }
section.slider div.main, section.slider div.main.second, section.slider div.main.arrows { animation:none!important; opacity:1!important; margin:0 auto; position:relative; height:100%; padding:36px 0 94px!important; }
section.slider .brightness { height:100%; }
section.slider:has(.description.slider) { height:clamp(440px,calc(100svh - 128px),620px); min-height:0; }
section.slider:not(:has(.description.slider)) { height:clamp(290px,calc(100svh - 220px),370px); min-height:0; }
section.slider h1.first, section.slider h1.second { font-size:clamp(32px,3.2vw,46px); line-height:1.08; }
section.slider h2, section.slider h2.second { font-size:clamp(21px,2vw,28px); line-height:1.3; }
section.slider div.description.slider { margin:22px 0 0; width:62%!important; max-width:680px; }
section.slider div.description.slider p { width:100%; padding:18px 24px!important; line-height:1.55; font-size:16px; }
section.slider div.description.slider img { position:absolute; inset:auto auto -10px calc(100% + 40px)!important; width:260px; height:auto; max-height:220px; margin:0; padding:0; transform:none; }
section.slider img.arrowLeft, section.slider img.arrowRight { width:32px; height:auto; top:50%; padding:0; }
section.slider img.arrowLeft { left:18px; }
section.slider img.arrowRight { right:18px; }
section.slider div.rectangles { bottom:20px; }
section.slider > a, section.slider > button, section.slider .main > a.slider { position:absolute!important; inset:auto auto 44px 50%!important; transform:translateX(-50%)!important; display:inline-flex; align-items:center; justify-content:center; gap:10px; width:auto!important; height:auto; min-height:44px; margin:0!important; padding:10px 20px!important; font-size:16px; white-space:nowrap; }
section.slider a img.bulb, section.slider button img.normal { position:static!important; width:15px; height:auto; transform:none; margin:0; padding:0; }
section.slider button img.active { display:none; }
section.slider .package { position:static; width:auto; height:100%; margin:0; padding:0; }
section.map { height:340px; background:#f1f1f1; }
section.servis .carousel .element:has(h5) .pasive .background { position:absolute; inset:auto 0 0; height:auto; min-height:116px; margin:0!important; padding:18px!important; animation:none!important; }
section.servis .carousel .element:has(h5) .pasive .background h5 { font-size:18px; line-height:1.3; padding:0!important; }
section.servis .carousel .element:has(h5) .pasive .background > p { display:none; }
section.servis .carousel .element:has(h5):hover .pasive .background { inset:0; height:100%; }
section.servis .carousel .element:has(h5):hover .pasive .background > p { display:block; font-size:14px; line-height:1.4; padding-top:14px; }
section.slider > img.slider, section.slider img.icon.slider { position:absolute!important; top:32px; right:max(70px,8%); left:auto!important; bottom:auto!important; width:180px; max-height:190px; height:auto; }
section.slider .main > h1, section.slider .main > h2 { max-width:78%; }
section.slider:has(.description.slider) .main > h1, section.slider:has(.description.slider) .main > h2 { max-width:100%; }
section:not(.slider) :is(h1,h2,h3,h4,h5) { text-wrap:balance; }
section:not(.slider) p { text-wrap:pretty; }
section:not(.slider) p br { display:revert; }
section.boxes div { min-width:0; }
section.boxes article.boxes > div > p { flex:1 0 auto; }
section.boxes article.boxes > div > div.arrow { flex:0 0 auto; }
/* Keep existing offer links usable without the oversized hover layer. */
section.boxes article.boxes > div:not(:has(> .arrow)) > div.hover { display:block; position:static; inset:auto; width:100%; height:auto; min-width:0; flex:none; opacity:1; background:none; border:0; margin-top:auto; }
section.boxes article.boxes > div div.hover a.box { position:static; display:block; height:auto; min-height:42px; padding:12px 0 0; border-top:1px solid #d5d5d5; text-decoration:none; }
section.boxes article.boxes > div div.hover a.box p { position:static; width:auto; padding:0; opacity:1; color:#b71920; font-size:14px; font-weight:500; }
section.boxes article.boxes > div div.hover a.box img { display:none; }
section.designing div div.foto img, section.designingCompany div div.foto img { width:100%; height:auto; padding:0; }
section.designingCompany div div.description h1:nth-child(3) { font-size:30px; line-height:1.2; padding:12px 0 24px!important; }
section.configurator > .container.maxWidth:has(> .foto) > .description h1 { font-size:42px; }
section.why div.container.dotted { display:grid; }
section.why .container.dotted > .element h3 { min-height:100px; }
section.why .container.dotted > .element p { width:100%; padding:0; }
section.calculation .container.maxWidth { width:100%; }
section.calculation div.background { display:grid; grid-template-columns:240px minmax(0,1fr) minmax(240px,.9fr); gap:16px 30px; align-items:center; margin:0 auto; }
section.calculation div.background > img { position:static; grid-column:1; grid-row:1/3; width:220px; height:auto; max-height:230px; margin:0; padding:0; }
section.calculation div.background > div { grid-column:2; grid-row:1/3; padding:0; width:100%; }
section.calculation div.background h2 { padding:0 0 12px; font-size:28px; }
section.calculation div.background a { position:static; transform:none; width:100%; padding:12px 16px; margin:0; font-size:17px; text-align:center; }
section.calculation div.background a.call { grid-column:3; grid-row:1; align-self:end; }
section.calculation div.background a.form { grid-column:3; grid-row:2; align-self:start; }
footer section.bottom { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; padding:24px 0; }
footer section.bottom > div { flex:0 0 160px; }
footer section.bottom img { position:static; max-width:160px; height:auto; }
footer section.bottom p { padding:0; margin:0; font-size:12px; }
footer section.bottom p.first { flex:1; }
section.regeneration div.container div.description p:has(> img), section.reconstruction div p.list { position:relative; padding-left:26px!important; margin-bottom:12px; }
section.regeneration div.container div.description p > img, section.reconstruction div p.list > img { position:absolute!important; top:7px!important; left:0!important; width:14px; height:auto; margin:0; padding:0; transform:none; }
section.reconstruction div p.list > img { width:6px; top:10px!important; }
section.rexroth div.atexBoxes div.description h5 img { position:static; width:14px; height:auto; margin-right:8px; padding:0; }
section.filtration div.redDescription > img { position:static; width:100%; max-width:350px; height:auto; display:block; margin:0 auto 24px; transform:none; }
section.filtration div.redDescription, section.filtration .container .redDescription { padding:0; margin:0; }
section.filtration .container div.redDescription .container { margin:0; padding:28px; width:100%; }
section.filtration div.redDescription div.red { position:static; width:100%; padding:18px; margin:20px 0; border-radius:6px; }
section.filtration div.redDescription div.red img { display:none; }
section.filtration div.redDescription h2 { padding:0 0 20px; font-size:30px; }
section.filtration div.redDescription p { width:100%; }
/* Compact laptops / tablet landscape use two columns instead of squeezing four. */
section.production .title:has(> img[alt="silownikow_700_bar"]) { grid-template-rows:auto 1fr; row-gap:28px; }
section.production .title:has(> img[alt="silownikow_700_bar"]) > .description { grid-column:2; grid-row:1/3; }
section.production .title > img[alt="silownikow_700_bar"] { grid-row:2; align-self:start; }
section.configurator .configurator .application .step.form form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
section.configurator .configurator .application .step.form div.text { padding:0; }
section.configurator .configurator .application .step.form div.form div { text-align:left; }
section.configurator .configurator .application .step.form form input:not([type=checkbox]), section.configurator .configurator .application .step.form textarea { width:100%; }
section.configurator .configurator .application .step.form div.text .checkbox { width:100%; height:auto; padding:16px; }
section.configurator .configurator .application .step.form div.text .checkbox div.label { width:auto; margin-left:38px; padding:0; }
section.configurator .configurator .application .step.form div.text .checkbox label { display:block; font-size:14px; padding:0; }
section.configurator .configurator .application .step.form .checkbox .checkmark { top:18px; left:16px; }
section.configurator .configurator .application .step.form .checkbox img { top:22px; left:19px; }
@media(max-width:1100px) {
 :root { --laptop-width:calc(100% - 64px); }
 body > header { height:76px; padding:0 24px; }
 body > header div.logo { flex-basis:160px; }
 body > header div.logo img { width:150px; }
 body > header nav.main { margin-left:auto; }
 body > header nav.main ul li a, body > header nav.main ul li a:first-child { line-height:76px; padding:0 9px; font-size:14px; }
 body > header div.telephone { display:none; }
 section.boxes article.boxes { grid-template-columns:repeat(2,minmax(0,1fr)); }
 section.boxes article.boxes > div h3 { min-height:0; }
 section.why .container.dotted { grid-template-columns:repeat(2,minmax(0,1fr)); }
 section.slider div.description.slider img { width:200px; left:calc(100% + 20px)!important; }
 section.slider .main > h1,section.slider .main > h2 { max-width:72%; }
 section.calculation div.background { grid-template-columns:180px minmax(0,1fr); }
 section.calculation div.background > img { width:170px; grid-row:1; }
 section.calculation div.background > div { grid-row:1; }
 section.calculation div.background a.call { grid-column:1; grid-row:2; }
 section.calculation div.background a.form { grid-column:2; grid-row:2; }
 footer section.top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 footer section.top > div { padding:12px 0; border:0; }
 section.press > div.container { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 section.press > div.container > .img { display:none; }
 section.press > div.container > .description { padding-left:0; }
}
@media(max-height:700px) {
 section.slider div.main { padding-top:24px!important; }
 section.slider:has(.description.slider) { height:calc(100svh - 112px); min-height:400px; }
 section.slider h1.first, section.slider h1.second { font-size:36px; }
 section.slider h2, section.slider h2.second { font-size:22px; }
 section.slider div.description.slider { margin-top:14px; }
 section.slider div.description.slider p { padding:14px 20px!important; font-size:15px; }
 section.slider div.description.slider img { max-height:170px; }
}
/* Final spacing pass after reviewing complete laptop pages in Chrome. */
section.slider:has(.description.slider) { height:clamp(430px,calc(100svh - 180px),560px); }
body > header div.telephone { flex-basis:225px; }
body > header div.telephone p { padding:0; }
body > header div.telephone div.telephone-number { font-size:13px; line-height:1.3; }
section.boxes article.boxes > div.elements p br { display:block; }
section.project > .container.maxWidth { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 56px; padding-top:50px; padding-bottom:50px; }
section.project > .container.maxWidth > .title { grid-column:1/-1; }
section.project > .container.maxWidth > .description { display:block; grid-column:1; align-self:center; }
section.project > .container.maxWidth > .description p { font-size:16px; line-height:1.65; }
section.project > .container.maxWidth > img { grid-column:2; grid-row:2; width:100%!important; max-width:470px; margin:0 auto!important; }
section.project > .projecting .description p { font-size:16px; line-height:1.6; }
section.start div.maxWidth { width:var(--laptop-width); padding:48px 0; }
section.start div.maxWidth div.start { padding:0; }
section.start div.maxWidth div.start > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; }
section.start div.maxWidth div.start > div + div { margin-top:32px; }
section.start div.maxWidth div.start div.description { width:100%; padding:0; }
section.start div.maxWidth div.description h2, section.start div.maxWidth div:nth-of-type(2) div.description h2 { padding:0 0 22px; }
section.start div.maxWidth div.description p { padding:0 0 18px; font-size:16px; line-height:1.6; }
section.start div.maxWidth div div.foto { width:100%; }
section.start div.maxWidth div.foto img, section.start div.maxWidth div:nth-of-type(2) div.foto img { position:static; width:100%; height:auto; }
footer section.top p, footer section.top h5, footer section.top a, footer section.top h3 { color:#595959; }
footer section.top { padding-top:28px; padding-bottom:28px; }
footer section.bottom { padding-bottom:24px; }
footer section.bottom p { color:#696969; }
section.projecting div.title h1, section.configurator .block > h1 { font-size:42px; line-height:1.12; }
section.projecting div.title h2 { font-size:28px; line-height:1.3; }
section.projecting div.title { padding-top:48px; }
section.projecting div.title h1 { padding-top:0; }
section.projecting div.title .description { padding-top:0; }
section.production > div.production > .description > img { width:170px; margin:24px 0 0; }
section.production > div.production { align-items:center; }
section.aggregates div.maxWidth div.aggregates > img { max-width:260px; }
section.activation div.description > img { width:110px; height:auto; }
section.activation div.headline h1 { font-size:36px; line-height:1.2; }
section.boxes article.boxes > div.configurator { background:#ffc517; }
section.boxes article.boxes > div.configurator > div.arrow p { background:#111; border-radius:4px; }
section.boxes article.boxes > div.configurator > div.arrow img { display:none; }
section.filtration div.wrapper > div.container { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; align-items:start; padding-bottom:52px; }
section.filtration .container .description, section.filtration .container .redDescription { width:100%; min-width:0; }
section.filtration div.description p { padding-right:0; }
section.modernization div.wrapper div.dotted { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px; }
section.modernization div.wrapper div.dotted div:nth-of-type(2) p { margin-right:0; }
section.modernization div p { padding-right:0; }
section.configurator .configurator .application { scroll-margin-top:100px; }
section.configurator .configurator .form.step form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
section.configurator .configurator .form.step div.form, section.configurator .configurator .form.step div.text { width:100%; }
section.configurator .configurator .form.step div.form > div { display:block; padding-bottom:12px; }
section.configurator .configurator .form.step div.form label { display:block; width:100%; text-align:left; padding:0 0 6px; }
section.configurator .configurator .form.step input:not([type=checkbox]), section.configurator .configurator .form.step textarea { width:100%; min-height:44px; padding:10px; font-size:16px; }
section.configurator .configurator .form.step .checkbox { height:auto; min-height:0; padding:16px; }
section.configurator .configurator .form.step .checkbox div.label { width:auto; margin-left:38px; padding:0; }
section.configurator .configurator .form.step .checkbox label { line-height:1.5; }
@media(max-width:1100px) {
 section.projecting div.title, section.production div.title, section.regeneration div.title { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:30px; }
 section.projecting div.title h1, section.production div.title h1, section.regeneration div.title h1 { font-size:34px; }
 section.projecting div.title h2 { font-size:24px; }
 section.filtration div.wrapper > div.container { gap:30px; }
 section.configurator .configurator .application .param { grid-template-columns:minmax(0,1fr) 100px 25px; gap:6px; }
 section.configurator .configurator .application .param label { font-size:14px; }
 section:not(.slider) h5 > img[src$="arrow_red.png"] { position:static!important; display:inline-block; width:14px; height:auto; margin:0 8px 0 0; padding:0; transform:none!important; }
 section.support div.wrapper { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:30px; }
 section.support div.item { margin-right:0; padding:16px; }
 section.support div.item div.img img { padding:0; width:40px; height:auto; margin-right:16px; }
 section.support div.container div.description p { padding-right:0; }
 section.support div.item div.description h5 { width:100%; padding-top:0; }
}


/* Laptop offer strip follows the large-screen design. Only text/hover cards. */
section.boxes:has(article.boxes > div > .hover) { padding:0; }
section.boxes article.boxes:has(> div > .hover) { gap:0; grid-template-columns:repeat(4,minmax(0,1fr)); }
section.boxes article.boxes > div:has(> .hover) { padding:38px 26px; border:0; border-right:1px solid #fff; border-radius:0; background:transparent; }
section.boxes article.boxes > div:last-child:has(> .hover) { border-right:0; }
section.boxes article.boxes > div:has(> .hover) > h3 { font-size:22px; line-height:1.25; font-weight:400; min-height:0; padding:0 0 20px; }
section.boxes article.boxes > div:has(> .hover) > p { font-size:14px; line-height:1.45; font-weight:300; padding:0; }
section.boxes article.boxes > div:has(> .hover) > .hover { display:block!important; position:absolute!important; inset:-10px 0!important; width:100%!important; height:calc(100% + 20px)!important; min-width:0; margin:0!important; padding:0; border:0; background:rgba(204,51,51,.94)!important; opacity:0!important; z-index:2; transition:opacity .3s; }
section.boxes article.boxes > div:has(> .hover):is(:hover,:focus-within) > .hover { opacity:1!important; }
section.boxes article.boxes > div > .hover > a.box { position:absolute!important; inset:0!important; display:block!important; width:100%!important; height:100%!important; padding:0!important; margin:0; border:0!important; }
section.boxes article.boxes > div > .hover > a.box img.main { display:block!important; position:absolute!important; top:50%!important; left:50%!important; width:100px; max-width:50%; height:auto; padding:0; margin:0; transform:translate(-50%,-50%)!important; opacity:1!important; }
section.boxes article.boxes > div > .hover > a.box p { position:absolute!important; inset:auto 42px 22px auto!important; width:auto!important; padding:0!important; margin:0!important; font-size:12px!important; font-weight:300!important; color:#fff!important; opacity:1!important; }
section.boxes article.boxes > div > .hover > a.box img.arrow { display:block!important; position:absolute!important; inset:auto 20px 25px auto!important; width:14px; height:auto; margin:0; padding:0; opacity:1!important; animation:none!important; }
section.boxes article.boxes > div > .hover > a.box:focus-visible { outline:3px solid #fff; outline-offset:-7px; }
@media(max-width:1100px){section.boxes article.boxes > div:has(> .hover){padding:30px 20px}section.boxes article.boxes > div:has(> .hover)>h3{font-size:20px}}
@media(max-width:950px){section.boxes article.boxes:has(> div > .hover){grid-template-columns:repeat(2,minmax(0,1fr))}section.boxes article.boxes > div:has(> .hover):nth-child(2){border-right:0}section.boxes article.boxes > div:has(> .hover):nth-child(-n+2){border-bottom:1px solid #fff}}
@media(prefers-reduced-motion:reduce){section.boxes article.boxes > div > .hover{transition:none!important}}


/* Center the home introduction CTA on the illustration's axis. */
section.designing div div.foto { display:flex; flex-direction:column; align-items:center; }
section.designing div div.foto > img { display:block; margin:0 auto; }
section.designing div div.foto > a {
 position:static; display:inline-flex; align-items:center; justify-content:center; gap:14px;
 width:fit-content; max-width:100%; min-height:48px; margin:26px auto 0; padding:14px 22px;
 border:1px solid #bd1722; border-radius:7px; background:#bd1722; color:#fff;
 font:500 13px/1.45 'Fira Sans',Arial,sans-serif; letter-spacing:.25px; text-align:center;
 text-decoration:none; box-shadow:0 4px 12px #bd172220;
 transition:background .2s,box-shadow .2s,transform .2s;
}
section.designing div div.foto > a .intro-cta-arrows { display:inline-flex; align-items:center; flex:none; font-size:0; }
section.designing div div.foto > a .intro-cta-arrows::after { content:'→'; font:400 22px/1 Arial,sans-serif; }
section.designing div div.foto > a:hover { color:#fff; background:#9f131c; border-color:#9f131c; box-shadow:0 6px 16px #bd172230; transform:translateY(-2px); }
section.designing div div.foto > a:focus-visible { outline:3px solid #bd1722; outline-offset:4px; }
@media(prefers-reduced-motion:reduce){section.designing div div.foto > a{transition:none}section.designing div div.foto > a:hover{transform:none}}


/* Full-width configurator invitation, scoped to the home introduction. */
section.configurator > .container.maxWidth:has(> .foto) > .description > a {
 position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:44px minmax(0,1fr) 24px;
 align-items:center; gap:16px; box-sizing:border-box; width:100%!important; max-width:none; min-height:80px;
 margin:28px 0 0!important; padding:16px 20px!important; border:1px solid #d92632; border-radius:12px;
 background:linear-gradient(115deg,#a50f1c 0%,#cf1725 55%,#ea3441 100%); color:#fff;
 font:500 16px/1.4 'Fira Sans',Arial,sans-serif; text-transform:none; text-decoration:none; text-align:left;
 box-shadow:0 7px 18px #99142124,inset 0 1px 0 #ffffff35; transform:translateY(0);
 transition:transform .25s,box-shadow .25s,border-color .25s;
}
section.configurator > .container.maxWidth:has(> .foto) > .description > a .config-cta-arrow {
 display:grid; place-items:center; width:44px; height:44px; padding:0; margin:0; font-size:0;
 border:1px solid #ffffff40; border-radius:10px; background:#ffffff18; transition:background .25s,transform .25s;
}
section.configurator > .container.maxWidth:has(> .foto) > .description > a .config-cta-arrow::before {
 content:''; width:26px; height:26px; background:#fff;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 20 12-12 4 4L8 24M14 10l4 4' transform='translate(0 -3)'/%3E%3Cpath d='M5 3v4M3 5h4M18 2v4M16 4h4M20 17v4M18 19h4'/%3E%3C/svg%3E") center/contain no-repeat;
}
section.configurator > .container.maxWidth:has(> .foto) > .description > a::before {
 content:''; pointer-events:none; position:absolute; z-index:-1; inset:0;
 background:linear-gradient(110deg,transparent 20%,#ffffff25 48%,transparent 75%); transform:translateX(-120%); transition:transform .65s;
}
section.configurator > .container.maxWidth:has(> .foto) > .description > a::after { content:'→'; font:400 26px/1 Arial,sans-serif; transition:transform .25s; }
section.configurator > .container.maxWidth:has(> .foto) > .description > a:is(:hover,:focus-visible) { color:#fff; border-color:#ee5962; transform:translateY(-3px); box-shadow:0 12px 26px #99142138,inset 0 1px 0 #ffffff50; }
section.configurator > .container.maxWidth:has(> .foto) > .description > a:is(:hover,:focus-visible)::before { transform:translateX(120%); }
section.configurator > .container.maxWidth:has(> .foto) > .description > a:is(:hover,:focus-visible)::after { transform:translateX(4px); }
section.configurator > .container.maxWidth:has(> .foto) > .description > a:is(:hover,:focus-visible) .config-cta-arrow { background:#ffffff2b; transform:rotate(-5deg); }
section.configurator > .container.maxWidth:has(> .foto) > .description > a:focus-visible { outline:3px solid #9f131c; outline-offset:4px; }
section.configurator > .container.maxWidth:has(> .foto) > .description > a:active { transform:translateY(0); }
@media(prefers-reduced-motion:reduce){section.configurator > .container.maxWidth:has(> .foto) > .description > a,section.configurator > .container.maxWidth:has(> .foto) > .description > a *,section.configurator > .container.maxWidth:has(> .foto) > .description > a::before,section.configurator > .container.maxWidth:has(> .foto) > .description > a::after{transition:none!important;transform:none!important}section.configurator > .container.maxWidth:has(> .foto) > .description > a::before{display:none}}


/* Keep contact hover effects inside each button, never over the whole banner. */
section.calculation div.background > a { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; min-height:52px; padding:12px 40px; overflow:hidden; color:#fff; background:transparent; transform:none; transform-origin:center; transition:transform .25s,background-color .25s,box-shadow .25s,border-color .25s; }
section.calculation div.background > a > div { display:none!important; }
section.calculation div.background > a::before { content:''; position:absolute; left:15px; top:50%; width:21px; height:21px; background:currentColor; opacity:0; transform:translate(-28px,-50%) rotate(-15deg); transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s; }
section.calculation div.background > a.call::before { mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.8 2.1Z'/%3E%3C/svg%3E") center/contain no-repeat; }
section.calculation div.background > a.form::before { mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E") center/contain no-repeat; }
section.calculation div.background > a:is(:hover,:focus-visible) { color:#fff; background:rgba(255,255,255,.09); border-color:#fff; transform:scale(1.035); box-shadow:0 6px 20px #32040940; }
section.calculation div.background > a:is(:hover,:focus-visible)::before { opacity:1; transform:translate(0,-50%) rotate(0); }
section.calculation div.background > a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
section.calculation div.background > a:active { transform:scale(1.01); }
@media(prefers-reduced-motion:reduce){section.calculation div.background > a,section.calculation div.background > a::before{transition:none}section.calculation div.background > a:is(:hover,:focus-visible){transform:none}}


/* Compact laptop footer: remove stacked container padding and oversized gaps. */
body footer { padding:28px 0 0; border-top-width:3px; }
body footer > div.container.maxWidth { padding:0; }
body footer section.top { grid-template-columns:1fr .85fr 1.05fr 1.4fr; gap:0; margin:0 auto; padding:0 0 24px; }
body footer section.top > div { padding:0 22px; }
body footer section.top > div.first { padding-left:0; }
body footer section.top > div.last { padding-right:0; }
body footer section.top h3 { margin:0 0 12px; padding:0; font-size:15px; line-height:1.35; }
body footer section.top h5,body footer section.top p { margin:0; padding:0 0 7px; font-size:13px; line-height:1.55; }
body footer section.top div.last p { padding:0; }
body footer section.bottom { margin:0 auto; padding:16px 0; gap:12px 20px; }
body footer section.bottom > div { flex-basis:110px; }
body footer section.bottom div img { width:110px; max-width:110px; margin:0; padding:0; display:block; }
body footer section.bottom p,body footer section.bottom p.first { border:0; margin:0; padding:0; font-size:11px; line-height:1.5; }
@media(max-width:1100px){body footer section.top{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px}body footer section.top>div{padding:0;border:0}body footer section.bottom{gap:12px 16px}}


/* Larger home-slider product illustrations, without stretching their aspect ratio. */
section.slider div.description.slider img {
 left:calc(100% + 24px)!important; width:clamp(220px,26vw,360px); height:auto;
 max-height:300px; object-fit:contain; object-position:center; bottom:-10px!important;
}
@media(max-height:700px){section.slider div.description.slider img{max-height:270px}}
@media(max-width:1100px){section.slider div.description.slider img{left:calc(100% + 18px)!important;width:clamp(210px,28vw,300px);max-height:260px}}


/* Equal, aligned actions in the three company process cards. */
section.responsibility .container div.boxes div.box { display:flex; flex-direction:column; align-items:stretch; }
section.responsibility .container div.boxes div.box > img { align-self:flex-start; }
section.responsibility .container div.boxes div.box > p { flex:1; padding-bottom:24px; }
section.responsibility .container div.boxes div.box > a {
 position:relative; inset:auto; transform:none; display:flex; align-items:center; justify-content:center;
 width:calc(100% - 40px)!important; max-width:260px; min-height:60px; height:60px; flex:none;
 margin:0 auto; padding:12px 18px 12px 52px; box-sizing:border-box;
 font:400 14px/1.35 'Fira Sans',Arial,sans-serif; text-align:center;
 color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.65); border-radius:8px;
 box-shadow:0 3px 10px #00000012; transition:background .2s,color .2s,transform .2s,box-shadow .2s;
}
section.responsibility .container div.boxes div.box > a img {
 position:absolute!important; left:18px!important; top:50%!important; bottom:auto!important;
 transform:translateY(-50%)!important; width:24px; height:24px; object-fit:contain;
 padding:0!important; margin:0; transition:opacity .2s;
}
section.responsibility .container div.boxes div.box > a:is(:hover,:focus-visible) { background:#fff; color:#242424; border-color:#fff; transform:translateY(-2px); box-shadow:0 6px 16px #00000025; }
section.responsibility .container div.boxes div.box > a:is(:hover,:focus-visible) img.normal { opacity:0; }
section.responsibility .container div.boxes div.box > a:is(:hover,:focus-visible) img.active { opacity:1; }
section.responsibility .container div.boxes div.box > a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(prefers-reduced-motion:reduce){section.responsibility .container div.boxes div.box > a,section.responsibility .container div.boxes div.box > a img{transition:none}section.responsibility .container div.boxes div.box > a:is(:hover,:focus-visible){transform:none}}


/* Company process: a clear information panel instead of a quotation. */
section.description:has(p.responsibility) > div.container.maxWidth { width:min(1120px,calc(100% - 64px)); margin:0 auto; }
section.description:has(p.responsibility) { padding:36px 0; background:#f3f4f5; }
section.description div.container.maxWidth p.responsibility.description {
 position:relative; box-sizing:border-box; margin:0; padding:28px 36px 30px 108px!important;
 background:#fff; border:1px solid #e0e3e6; border-left:4px solid #cd1719; border-radius:12px;
 box-shadow:0 8px 24px #17263808; color:#454b53;
 font:300 18px/1.65 'Fira Sans',Arial,sans-serif; text-align:left;
}
section.description p.responsibility.description::before {
 content:'Jeden partner. Pełna odpowiedzialność.'; display:block; margin:0 0 12px;
 color:#202730; font:500 28px/1.2 'Fira Sans Condensed',Arial,sans-serif;
}
section.description p.responsibility.description::after {
 content:''; position:absolute; top:28px; left:26px; width:52px; height:52px;
 border-radius:12px; background:#fff0f0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23cd1719' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3 27 7v8c0 7-6 11-11 14C11 26 5 22 5 15V7Z'/%3E%3Cpath d='m10.5 15.5 3.5 3.5 7.5-8'/%3E%3C/svg%3E") center/32px 32px no-repeat;
}
section.description p.responsibility.description span:first-of-type { color:#202730; font-weight:500; }
section.description p.responsibility.description span:nth-of-type(2) { color:#bb1417; font-weight:500; }
section.description p.responsibility.description br { display:none; }
@media(max-width:1100px){
 section.description div.container.maxWidth p.responsibility.description { padding:24px 26px 26px 94px!important; font-size:17px; }
 section.description p.responsibility.description::before { font-size:26px; }
 section.description p.responsibility.description::after { left:22px; top:24px; width:48px; height:48px; }
}


/* Company detail refinements: illustration, ATEX action and single activation heading. */
section.project > .container.maxWidth { display:grid!important; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:26px 0; padding-top:48px; padding-bottom:48px; }
section.project > .container.maxWidth > .title { grid-column:1/-1; }
section.project > .container.maxWidth > .title h1 { padding:0 0 12px; }
section.project > .container.maxWidth > .description { display:block; grid-column:2; grid-row:2; align-self:stretch; position:relative; z-index:1; background:transparent; }
section.project > .container.maxWidth > .description p { font-size:20px; line-height:1.65; }
section.project > .container.maxWidth > .description p:last-child { padding-bottom:0!important; }
section.project > .container.maxWidth > img { grid-column:1; grid-row:2; align-self:stretch; width:100%!important; height:100%!important; min-height:0; max-width:none; margin:0!important; object-fit:cover; object-position:center; mask-image:linear-gradient(to right,#000 80%,transparent 100%); }
section.aggregates div.atex a { position:relative; inset:auto; display:flex; width:fit-content; max-width:100%; box-sizing:border-box; align-items:center; justify-content:center; gap:18px; margin:30px auto 0; padding:16px 26px; font-size:17px; font-weight:500; line-height:1.3; text-align:center; border:1px solid #ffec65; border-radius:8px; box-shadow:0 6px 20px #0002; transition:transform .2s,background .2s,color .2s; }
section.aggregates div.atex a::after { content:'→'; font-size:24px; line-height:1; transition:transform .2s; }
section.aggregates div.atex a:is(:hover,:focus-visible) { transform:translateY(-2px); background:#fff085; color:#161616; }
section.aggregates div.atex a:is(:hover,:focus-visible)::after { transform:translateX(4px); }
section.aggregates div.atex a:focus-visible { outline:2px solid white; outline-offset:4px; }
section.activation div.activation { display:grid; grid-template-columns:120px minmax(0,1fr); gap:26px 32px; padding:48px 0; }
section.activation div.activation > .headline { grid-column:2; grid-row:1; align-self:center; }
section.activation div.headline h1 { padding:0; font-size:38px; line-height:1.18; max-width:820px; }
section.activation div.activation > .description { display:contents; }
section.activation div.description > h3 { display:none; }
section.activation div.description > img { grid-column:1; grid-row:1; position:static; width:100%; height:0; min-height:100%; object-fit:contain; margin:0; align-self:stretch; }
section.activation div.description > p,section.activation div.description > p:nth-of-type(2),section.activation div.description > p:nth-of-type(3) { grid-column:2; margin:0; padding:0; font-size:18px; line-height:1.65; }
@media(max-width:1100px){section.project > .container.maxWidth { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); } section.project > .container.maxWidth > .description p { font-size:18px; } section.activation div.activation { grid-template-columns:100px minmax(0,1fr); gap:24px; } section.activation div.headline h1 { font-size:34px; }}
@media(prefers-reduced-motion:reduce){section.aggregates div.atex a,section.aggregates div.atex a::after{transition:none}section.aggregates div.atex a:is(:hover,:focus-visible),section.aggregates div.atex a:is(:hover,:focus-visible)::after{transform:none}}


/* Cylinder introduction: align both columns and remove inherited offsets. */
section#projecting > div.container.maxWidth { padding-top:0; }
section#projecting div.title { grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr); column-gap:44px; align-items:start; padding:48px 0; }
section#projecting div.title > div.description { margin:0; padding:0; align-self:start; }
section#projecting div.title h1 { margin:0; padding:0 0 24px; font-size:42px; line-height:1.12; }
section#projecting div.container div.description p { margin:0; padding:0 0 22px; font-size:17px; line-height:1.6; }
section#projecting div.container div.description p:last-child { padding-bottom:0; }
section#projecting div.container div.description br { display:none; }
@media(max-width:1100px){section#projecting div.title{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);column-gap:30px}section#projecting div.title h1{font-size:34px}section#projecting div.container div.description p{font-size:16px}}


/* Stainless cylinders: retain the full-height desktop image composition. */
section#productionStainless { background-color:#f2f1f0; background-image:linear-gradient(to right,#f2f1f0 0%,#f2f1f0 40%,rgba(242,241,240,0) 68%),url('/images/produkcja_nierdzewnych_silownikow_hydraulicznych.png'); background-position:center,right center; background-size:100% 100%,auto 100%; background-repeat:no-repeat; }
section#productionStainless .container > div { background:none; width:100%; min-height:440px; box-sizing:border-box; padding:48px 52% 48px 0; }
section#productionStainless div h3 { padding:0 0 24px; margin:0; font-size:30px; line-height:1.22; }
section#productionStainless div p { padding:0 0 20px; margin:0; font-size:17px; line-height:1.6; }
section#productionStainless div p:last-child { padding-bottom:0; }
@media(max-width:1100px){section#productionStainless .container > div{padding:40px 49% 40px 0;min-height:420px}section#productionStainless div h3{font-size:26px}section#productionStainless div p{font-size:16px}section#productionStainless{background-image:linear-gradient(to right,#f2f1f0 0%,#f2f1f0 46%,rgba(242,241,240,0) 74%),url('/images/produkcja_nierdzewnych_silownikow_hydraulicznych.png')}}


/* Reverse engineering: align the illustration with the heading. */
section#reconstruction .container > div { background-position:right 72px; }


/* ATEX introduction: remove inherited vertical offsets. */
section.projecting.atex-intro div.title { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); column-gap:44px; align-items:start; padding:48px 0; }
section.projecting.atex-intro div.title > div.description { margin:0; padding:0; align-self:start; }
section.projecting.atex-intro div.title h1 { margin:0; padding:0 0 12px; font-size:42px; line-height:1.12; }
section.projecting.atex-intro div.title h2 { margin:0; padding:0; font-size:28px; line-height:1.3; }
section.projecting.atex-intro div.container div.description p { margin:0; padding:0 0 22px; font-size:17px; line-height:1.6; }
section.projecting.atex-intro div.container div.description p:last-child { padding-bottom:0; }
section.projecting.atex-intro div.container div.description br { display:none; }
@media(max-width:1100px){section.projecting.atex-intro div.title{column-gap:30px}section.projecting.atex-intro div.title h1{font-size:34px}section.projecting.atex-intro div.title h2{font-size:24px}section.projecting.atex-intro div.container div.description p{font-size:16px}}


/* ATEX scope heading: visually joined to the unchanged tile strip. */
section.scoope { background:#ededed; }
section.scoope div.container.maxWidth { width:calc(100% - 64px); max-width:1120px; margin:0 auto; }
section.scoope div.title { padding:32px 0 24px; text-align:center; }
section.scoope h2 { margin:0; padding:0; font-family:'Fira Sans Condensed',sans-serif; line-height:1.2; }
section.scoope h2 .scope-label { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:10px; color:#595959; font-size:13px; line-height:1.4; font-weight:500; text-transform:uppercase; letter-spacing:1.6px; }
section.scoope h2 .scope-label::before,section.scoope h2 .scope-label::after { content:''; width:30px; height:3px; background:#f5ae00; }
section.scoope h2 > .orange { display:block; color:#202020; font-size:34px; line-height:1.15; font-weight:600; }
section.scoope h2 > .bold:last-child { display:block; margin-top:8px; color:#555; font-size:19px; line-height:1.4; font-weight:300; }
@media(max-width:1100px){section.scoope h2 > .orange{font-size:30px}section.scoope h2 > .bold:last-child{font-size:18px}}


/* Laptop refinement batch: ATEX, service, contact and configurator. */
section.production > div.production:has(> .foto) { align-items:start; }
section:is(.atexTests,.securitySystem) div.container.maxWidth { padding:48px 0; align-items:start; gap:40px; }
section:is(.atexTests,.securitySystem) div.description,section:is(.atexTests,.securitySystem) div.points { margin:0!important;padding:0!important; }
section:is(.atexTests,.securitySystem) div.description h2 { position:static; margin:0; padding:0 0 10px!important;font-size:36px;line-height:1.15; }
section:is(.atexTests,.securitySystem) div.description h3 { padding:0 0 22px!important;font-size:25px;line-height:1.25; }
section:is(.atexTests,.securitySystem) div.description p { padding:0 0 20px!important;font-size:16px;line-height:1.6; }
section:is(.atexTests,.securitySystem) div.points > div { grid-template-columns:56px minmax(0,1fr);gap:18px;margin:0 0 24px!important;padding:0!important; }
section:is(.atexTests,.securitySystem) div.points div .img { min-height:0; }
section:is(.atexTests,.securitySystem) div.points div .img img.number { width:56px;max-width:56px;margin:0; }
section:is(.atexTests,.securitySystem) div.points div .text h5 { padding:0 0 10px!important;font-size:20px;line-height:1.3; }
section:is(.atexTests,.securitySystem) div.points div .text p { padding:0!important;font-size:15px;line-height:1.55; }
section.press > div.container > .img img { width:100px;max-width:100%;height:auto;margin:54px auto 0; }
section.servis div.dotted { display:block;padding:0!important;width:100%; }
section.servis div.dotted > div:not(.gap) { width:100%;padding:0!important; }
section.servis div.dotted h2 { text-align:center;margin:0 auto;padding:36px 24px 28px;font-size:32px;line-height:1.25; }
section:is(.diagnostics,.pomp) div.container.maxWidth { width:var(--laptop-width);padding:0; }
section:is(.diagnostics,.pomp) div.title > .wrapper { display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px 40px;padding:48px 0!important; }
section:is(.diagnostics,.pomp) div.title > .wrapper > div:first-child { grid-column:1/-1; }
section:is(.diagnostics,.pomp) div.title h1 { padding:0!important;margin:0;font-size:40px;line-height:1.15; }
section:is(.diagnostics,.pomp) div.title > .wrapper > .description { grid-column:1;grid-row:2;min-width:0; }
section:is(.diagnostics,.pomp) div.container > div.title > .wrapper > img { position:static!important;grid-column:2;grid-row:2;align-self:start;width:100%;max-width:360px;height:auto;margin:0 auto; }
section:is(.diagnostics,.pomp,.support) div.dotted h3 { padding:0 0 20px;font-size:26px;line-height:1.25; }
section:is(.diagnostics,.pomp,.support) div.dotted h5 { padding:0 0 10px;font-size:20px;line-height:1.35; }
section:is(.diagnostics,.pomp,.support) div.container div.description p { padding:0 0 24px!important;font-size:16px;line-height:1.6; }
section:is(.diagnostics,.pomp,.support) .description br { display:none; }
section:is(.diagnostics,.pomp,.support) div.container div.description h5 img { position:static!important;width:14px;height:auto;transform:none; margin:0 8px 0 0; }
section.support > .container.maxWidth { width:var(--laptop-width);margin:0 auto;padding:0; }
section.support div.title { display:block;padding:0; }
section.support div.title > .gap { display:none; }
section.support div.title > .wrapper { display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);width:100%;margin:0;padding:40px 0;gap:40px;align-items:start; }
section.support .wrapper > .items,section.support .wrapper > .description { width:100%;padding:0!important;margin:0; }
section.support .items .item { display:grid!important;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:18px;padding:20px!important;margin:0 0 14px!important;width:100%!important;height:auto!important;min-height:130px;border:1px solid #dedfe2;border-radius:10px;box-sizing:border-box; }
section.support .items .item > .img,section.support .items .item > .description { width:100%;margin:0;padding:0!important; }
section.support .items .item img { position:static!important;width:56px;height:56px;object-fit:contain;margin:0; }
section.support .items .item h5 { margin:0;padding:0 0 8px!important;font-size:20px;line-height:1.25; }
section.support .items .item p { margin:0;padding:0!important;font-size:15px!important;line-height:1.45!important; }
section.rexroth { padding:28px 0;background:#e6edf6; }
section.rexroth .container.maxWidth { width:var(--laptop-width);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 auto; }
section.rexroth div.atexBoxes { min-height:0;margin:0;padding:0;background:#fff;border:1px solid #d4dfeb;border-radius:10px; }
section.rexroth div.atexBoxes a { display:grid;grid-template-columns:130px minmax(0,1fr);gap:22px;align-items:center;padding:20px;min-height:160px;color:#24364c;text-decoration:none; }
section.rexroth div.atexBoxes a > div { width:100%;padding:0;margin:0; }
section.rexroth div.atexBoxes a > div:first-child img { width:130px;height:120px;object-fit:contain; }
section.rexroth div.atexBoxes .description h5 { padding:5px 0;font-size:20px;line-height:1.3; }
section.rexroth div.atexBoxes .description h5 img { display:none; }
section.rexroth div.atexBoxes .description p { padding:0;font-size:15px;line-height:1.5; }
section.contact .line a { color:#252525;text-decoration:none; }
section.contact .line a:is(:hover,:focus-visible) { color:#cd1719;text-decoration:underline;text-underline-offset:4px; }
section.contact div.wrapper > .description { padding:26px!important; }
section.contact div.wrapper > .description h3 { padding:0 0 22px!important;margin:0;font-size:28px;line-height:1.2; }
section.contact form .form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
section.contact form .form > div { padding:0!important;min-width:0; }
section.contact form .form > div:has(textarea),section.contact form .form > .checkbox,section.contact form .form > button { grid-column:1/-1; }
section.contact form input:not([type=checkbox]) { height:44px;min-height:44px;box-sizing:border-box; }
section.contact form label { font-size:15px; }
section.contact form textarea { height:120px;min-height:120px;box-sizing:border-box; }
section.contact form div.checkbox { margin:0;min-height:0;padding:14px!important; }
section.contact form button.send { margin:0 0 0 auto; }
section.why .container.dotted > .element img { width:116px;height:90px;object-fit:contain; }
section.slider:has(.description.slider) { height:clamp(430px,calc(100svh - 130px),510px); }
section.slider:has(.description.slider) div.main { padding-top:30px!important; }
section.slider div.description.slider img { width:clamp(240px,25vw,330px);max-height:270px; }
section.calculation div.background { grid-template-rows:auto auto;align-content:center; }
section.calculation div.background > div h2:last-child { padding-bottom:0; }
section.boxes article.boxes > div { position:relative; }
section.boxes article.boxes > div > a.laptop-card-link { display:block!important;position:absolute!important;inset:0!important;z-index:40;width:100%;height:100%;padding:0!important;margin:0!important; }
section.boxes a.laptop-card-link:focus-visible { outline:3px solid #cd1719;outline-offset:-4px; }
.laptop-tooltip-source { display:none!important; }
.laptop-tooltip { position:fixed;z-index:9999;box-sizing:border-box;width:300px;max-width:calc(100vw - 24px);padding:16px 18px;color:#fff;background:#253346;border-radius:9px;box-shadow:0 8px 25px #0003;font:400 14px/1.5 'Fira Sans',sans-serif;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none; }
.laptop-tooltip.is-visible { opacity:1;visibility:visible;transform:none; }
section.configurator .checkbox:has(> .laptop-toggle) > :not(.laptop-toggle) { display:none!important; }
section.configurator .checkbox:has(> .laptop-toggle) { height:auto!important;min-height:0!important;padding:0!important;margin:0 0 10px!important;border:0!important;width:100%!important; }
section.configurator .checkbox > button.laptop-toggle { position:static!important;display:flex!important;align-items:center;gap:16px;justify-content:space-between;width:100%!important;min-height:48px;height:auto!important;padding:12px 16px!important;margin:0!important;background:#fff;color:#353535;border:1px solid #cdd1d7;border-radius:8px;box-shadow:none;transform:none;font:400 15px/1.4 'Fira Sans',sans-serif;text-align:left;cursor:pointer; }
.laptop-toggle::after { content:'WYŁ.';flex:none;font-size:11px;font-weight:600;padding:4px 8px;border-radius:14px;background:#edf0f3;color:#5f6570; }
section.configurator .checkbox > .laptop-toggle[aria-pressed=true] { background:#fff6d6;border-color:#e4ab00;color:#29220f; }
.laptop-toggle[aria-pressed=true]::after { content:'WŁ. ✓';background:#ffc517;color:#28210c; }
.laptop-toggle:focus-visible { outline:2px solid #222;outline-offset:3px; }
#formConfigurator { gap:24px!important;align-items:start; }
#formConfigurator > .form { display:grid;gap:14px; }
#formConfigurator > .form > div { padding:0!important;margin:0; }
#formConfigurator label { display:block;padding:0 0 6px!important;font-size:15px;line-height:1.4; }
#formConfigurator input:not([type=checkbox]),#formConfigurator textarea,section.contact input:not([type=checkbox]),section.contact textarea { border:1px solid #ccd0d5;border-radius:6px;background:#fff;padding:10px 12px!important;font:400 16px/1.4 'Fira Sans',sans-serif;box-sizing:border-box; }
#formConfigurator input:not([type=checkbox]) { height:44px!important;width:100%; }
#formConfigurator textarea { width:100%;height:208px;min-height:160px;margin:0 0 14px; }
#formConfigurator .message-label { display:block;margin:0 0 6px;font-size:15px;line-height:1.4; }
#formConfigurator input:focus,#formConfigurator textarea:focus,section.contact input:focus,section.contact textarea:focus { outline:2px solid #edb414;outline-offset:1px; }
section.configurator .alert { position:static!important;width:auto!important;height:auto!important;margin:12px 0!important;padding:0!important; }
section.configurator .alert p { font-size:14px!important;line-height:1.4!important;text-align:left!important;padding:10px 14px!important;background:#fff0ef;border-left:3px solid #cd1719;border-radius:5px; }
section.configurator .alert > img { display:none!important; }
@media(max-width:1100px){section:is(.diagnostics,.pomp) div.title h1{font-size:34px}section:is(.diagnostics,.pomp) div.title>.wrapper{gap:24px}section.press > div.container > .img{display:none}section.rexroth div.atexBoxes a{grid-template-columns:100px minmax(0,1fr);padding:16px;gap:14px}section.rexroth div.atexBoxes a>div:first-child img{width:100px;height:105px}section.slider div.description.slider img{width:260px;max-height:240px}}
@media(prefers-reduced-motion:reduce){.laptop-tooltip{transition:none}}


/* Verification adjustments for inherited widths and image padding. */
section:is(.diagnostics,.pomp) div.title > .wrapper > .description { width:100%!important; }
section.support .items .item img { padding:0!important; }
section.rexroth div.container.maxWidth { display:grid!important;gap:18px!important; }
section.rexroth div.atexBoxes a { display:grid!important;grid-template-columns:130px minmax(0,1fr)!important; }
section.rexroth div.atexBoxes a > div { background:transparent!important; }
section.rexroth div.atexBoxes .description h5 { font-size:20px!important; }
section.rexroth > .wrapper { background:transparent; }


/* Final form alignment and compact option controls. */
section.contact div.description form div.form { display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important; }
section.contact form .form input,section.contact form .form textarea { margin:0!important; }
section.contact form .form label { display:block;padding:0 0 6px!important; }
#formConfigurator { display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px!important; }
#formConfigurator > .form { display:grid!important;gap:14px!important;width:100%!important; }
#formConfigurator > .text { width:100%!important;padding:0!important; }
#formConfigurator input:not([type=checkbox]) { margin:0!important; }
#formConfigurator textarea { display:block;height:228px!important;margin:0 0 14px!important;resize:vertical; }
#formConfigurator .message-label { margin:0!important; }
section.configurator .conditions > .container { display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px!important;align-items:start; }
section.configurator .conditions .checkboxes,section.configurator .conditions .extraInformation { width:100%!important;padding:0!important;border:0!important; }
section.configurator .conditions .checkboxes { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
section.configurator .conditions .checkbox { margin:0!important; }
section.configurator .conditions .checkbox > button.laptop-toggle { min-height:64px;padding:12px!important;gap:10px;font-size:14px;transition:background .15s,border-color .15s; }
section.configurator .conditions .checkbox > button.laptop-toggle:hover { border-color:#a5abb3;background:#f7f9fb; }
section.configurator .conditions .checkbox > button.laptop-toggle[aria-pressed=true]:hover { background:#fff0bd;border-color:#e4ab00; }
section.configurator .conditions .extraInformation > .checkbox { display:grid;gap:10px; }
section.configurator .conditions .extraInformation p.big { margin:0;padding:0 0 14px!important;font-size:22px; }
section.configurator .conditions .extraInformation .line,section.configurator .conditions .extraInformation .secondLine { display:none; }
section.configurator .conditions .extraInformation .param { margin:0 0 16px!important; }
section.configurator .conditions .extraInformation > .checkbox + p.big { padding-top:24px!important; }
.laptop-tooltip { width:340px;max-height:calc(100vh - 24px);overflow:auto; }
.laptop-tooltip p { margin:0;font:inherit; }
.laptop-tooltip img { display:block;width:100%;height:auto;max-height:150px;object-fit:contain;margin:12px 0 0;background:white;border-radius:5px; }
.parameter-error { margin:14px 0!important;padding:12px 16px!important;border-left:3px solid #cd1719;border-radius:5px;background:#fff0ef;color:#a51c20;font-size:15px!important; }
.parameter-error[hidden] { display:none!important; }
section.configurator input[aria-invalid=true] { border:2px solid #cd1719!important; }
@media(max-width:1100px){section.configurator .conditions .checkboxes{grid-template-columns:1fr}section.rexroth div.atexBoxes a{grid-template-columns:100px minmax(0,1fr)!important}}


#formConfigurator{align-items:stretch!important}#formConfigurator>.text{display:flex;flex-direction:column}#formConfigurator textarea{flex:1;height:auto!important;min-height:160px}#formConfigurator .text>.checkbox{margin-bottom:0!important}section.configurator .conditions .extraInformation .line,section.configurator .conditions .extraInformation .secondLine{display:none!important}

/* Repair subpage slider, shared card class and form feedback. */
section.slider:not(:has(.description.slider)){height:clamp(360px,calc(100svh - 180px),420px);overflow:hidden}
section.slider .brightness>.package{height:100%}
section.slider .main>img.icon.slider{position:absolute!important;inset:40px 0 auto auto!important;width:28%!important;max-width:300px!important;height:auto!important;max-height:230px;object-fit:contain;transform:none!important;padding:0;margin:0;pointer-events:none}
section.slider:not(:has(.description.slider)) .main>h1,section.slider:not(:has(.description.slider)) .main>h2{max-width:68%}
section.boxes article.boxes>div.configurator:has(a[href*="filtration"])>div.arrow p{background:transparent!important;padding:0!important;border-radius:0}
section.boxes article.boxes>div.configurator:has(a[href*="filtration"])>div.arrow p a{color:#cd1719!important}
section.boxes article.boxes>div.configurator:has(a[href*="filtration"])>div.arrow img{display:block!important}
section.configurator .configurator .application .conditions .extraInformation .param{display:grid!important;grid-template-columns:minmax(0,1fr) 120px 28px;gap:10px;padding:0 38px 0 0!important;align-items:center;min-height:44px}
section.configurator .conditions .extraInformation .param label{width:auto!important;position:static!important;font-size:15px!important}
section.configurator .conditions .extraInformation .param input{width:100%!important;min-width:0;position:static!important;box-sizing:border-box;border:1px solid #ccd0d5;border-radius:6px;background:#fff;padding:8px 10px!important}
section.configurator .conditions .extraInformation .param>span{position:static!important;width:auto!important;text-align:left;padding:0!important}
section.securitySystem .security-illustration{display:grid;grid-template-columns:minmax(0,1fr);width:min(100%,440px);margin:28px auto 0}
section.securitySystem div.description .security-illustration>img{display:block!important;position:static!important;grid-area:1/1;width:100%!important;height:auto;margin:0!important;transition:opacity .18s}
section.securitySystem div.points div.text{position:relative;isolation:isolate;padding:14px!important;border-radius:8px;min-width:0}
section.securitySystem div.points div.text div.box{inset:0!important;width:100%!important;height:100%!important;border-radius:8px;z-index:-1}
section.contact #formStatus{grid-column:1/-1;box-sizing:border-box;width:100%;padding:16px 18px!important;margin:4px 0!important;border-radius:8px;border:1px solid #efc9c7;border-left:3px solid #cd1719;background:#fff4f3;color:#8e2824}
section.contact #formStatus strong{display:block;font-size:17px;line-height:1.35;font-weight:500;margin:0 0 6px}
section.contact #formStatus p{padding:0!important;margin:0!important;font-size:14px;line-height:1.5}
section.contact .contact-field-error{font-size:13px!important;line-height:1.4;padding:6px 0 0!important;margin:0!important}

}
