/* O inwestycji — faithful desktop composition and resilient responsive layout */

.page-id-47 .km-invest-main {
    overflow: hidden;
}

.page-id-47 .km-invest-main h2,
.page-id-47 .km-invest-main h3,
.page-id-47 .km-invest-main p {
    text-wrap: pretty;
}

.page-id-47 .km-invest-building-highlight {
    pointer-events: none;
    opacity: .58;
    mix-blend-mode: multiply;
}

@media (min-width: 1601px) {
    .page-id-47 .km-invest-hero {
        height: 967px;
        display: block;
        position: relative;
        overflow: hidden;
        text-align: center;
    }

    .page-id-47 .km-invest-hero > .km-hero__background {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: center center;
    }

    .page-id-47 .km-invest-hero::after {
        background: rgba(0, 0, 0, .26);
    }

    .page-id-47 .km-invest-hero .km-hero__content {
        position: absolute;
        inset: 0;
        z-index: 2;
        max-width: none;
        padding: 0;
    }

    .page-id-47 .km-invest-hero .km-hero__badge {
        position: absolute !important;
        left: 50%;
        top: 245px;
        width: 253px !important;
        height: 253px !important;
        transform: translateX(-50%);
        margin: 0;
        object-fit: contain !important;
    }

    .page-id-47 .km-invest-hero h1 {
        position: absolute;
        left: 50%;
        top: 555px;
        transform: translateX(-50%);
        width: 1120px;
        margin: 0;
        font-size: 64px;
        line-height: 1.12;
        letter-spacing: -1.28px;
        font-weight: 400;
    }

    .page-id-47 .km-invest-hero p {
        position: absolute;
        left: 50%;
        top: 780px;
        transform: translateX(-50%);
        width: 910px;
        max-width: none;
        margin: 0;
        font-size: 20px;
        line-height: 30px;
    }

    .page-id-47 .km-invest-buildings {
        height: 700px;
        padding: 0;
        background: #fff;
        text-align: center;
    }

    .page-id-47 .km-invest-buildings__inner {
        height: 700px;
        position: relative;
    }

    .page-id-47 .km-invest-buildings h2 {
        position: absolute;
        left: 0;
        right: 0;
        top: 73px;
        margin: 0;
        font-size: 48px;
        line-height: 58px;
        font-weight: 400;
        letter-spacing: -.96px;
    }

    .page-id-47 .km-invest-buildings > .km-shell > strong {
        position: absolute;
        left: 0;
        right: 0;
        top: 156px;
        font-size: 24px;
        line-height: 28px;
    }

    .page-id-47 .km-invest-buildings > .km-shell > p {
        position: absolute;
        left: 0;
        right: 0;
        top: 202px;
        margin: 0;
        font-size: 18px;
        line-height: 28px;
    }

    .page-id-47 .km-invest-buildings__visual {
        position: absolute;
        left: 50%;
        top: 282px;
        transform: translateX(-50%);
        width: 1044px;
        height: 389px;
        margin: 0;
    }

    .page-id-47 .km-invest-buildings__visual a {
        position: absolute;
        display: block;
        top: auto;
        width: auto;
    }

    .page-id-47 .km-invest-buildings__visual .b1 {
        left: 0;
        top: 21px;
        width: 506px;
        height: 366px;
    }

    .page-id-47 .km-invest-buildings__visual .b2 {
        left: 506px;
        right: auto;
        top: 0;
        width: 538px;
        height: 389px;
    }

    .page-id-47 .km-invest-buildings__visual .b1 > img:first-child {
        width: 506px;
        height: 366px;
        object-fit: contain;
    }

    .page-id-47 .km-invest-buildings__visual .b2 > img {
        width: 538px;
        height: 389px;
        object-fit: contain;
    }

    .page-id-47 .km-invest-building-highlight {
        position: absolute;
        inset: 0;
        width: 506px !important;
        height: 366px !important;
        object-fit: contain;
        z-index: 2;
    }

    .page-id-47 .km-invest-intro {
        height: 700px;
        background: #fff;
    }

    .page-id-47 .km-invest-intro__inner {
        height: 700px;
        position: relative;
    }

    .page-id-47 .km-invest-intro__copy {
        position: absolute;
        left: 150px;
        top: 70px;
        width: 600px;
    }

    .page-id-47 .km-invest-main .km-copy h2 {
        margin: 0 0 26px;
        font-size: 48px;
        line-height: 58px;
        font-weight: 400;
        letter-spacing: -.96px;
    }

    .page-id-47 .km-invest-main .km-copy h3 {
        margin: 0 0 22px;
        font-size: 24px;
        line-height: 34px;
        font-weight: 700;
    }

    .page-id-47 .km-invest-main .km-copy p,
    .page-id-47 .km-invest-main .km-copy li {
        font-size: 18px;
        line-height: 28px;
    }

    .page-id-47 .km-invest-main .km-copy p {
        margin: 0 0 20px;
    }

    .page-id-47 .km-invest-intro__media {
        position: absolute;
        right: 0;
        top: 60px;
        width: 792px;
        height: 590px;
    }

    .page-id-47 .km-invest-intro__image {
        width: 792px;
        height: 522px;
        object-fit: cover;
    }

    .page-id-47 .km-invest-intro__lines {
        position: absolute;
        right: -8px;
        bottom: 0;
        width: 580px;
        height: auto;
        z-index: 2;
        object-fit: contain;
    }

    .page-id-47 .km-invest-location {
        height: 720px;
        background: #fff;
        position: relative;
    }

    .page-id-47 .km-invest-location__inner {
        position: relative;
        width: min(1920px, 100%);
        height: 720px;
        margin: 0 auto;
    }

    .page-id-47 .km-invest-location__image {
        position: absolute;
        left: 0;
        top: 80px;
        z-index: 2;
        width: 49%;
        height: 539px;
        object-fit: cover;
    }

    .page-id-47 .km-invest-location__panel {
        position: absolute;
        right: 0;
        top: 0;
        width: 63.5%;
        height: 695px;
        background: #f8f5f1;
    }

    .page-id-47 .km-invest-location__copy {
        position: absolute;
        left: clamp(250px, 17.2vw, 330px);
        top: 45px;
        right: 110px;
    }

    .page-id-47 .km-invest-location__badge {
        position: absolute;
        left: 36.5%;
        top: 0;
        z-index: 3;
        width: 245px;
        height: 245px;
        background: #c7b292;
        display: grid;
        place-items: center;
    }

    .page-id-47 .km-invest-location__badge img {
        width: 183px;
        height: auto;
        object-fit: contain;
    }

    .page-id-47 .km-invest-everyday {
        height: 675px;
        background: #fff;
    }

    .page-id-47 .km-invest-everyday__inner {
        height: 675px;
        position: relative;
    }

    .page-id-47 .km-invest-everyday__copy {
        position: absolute;
        left: 150px;
        top: 80px;
        width: 600px;
    }

    .page-id-47 .km-invest-everyday__image {
        position: absolute;
        right: 0;
        top: 30px;
        width: 792px;
        height: 522px;
        object-fit: cover;
    }

    .page-id-47 .km-invest-mazury {
        height: 800px;
        position: relative;
        color: #fff;
        background-position: center;
        background-size: cover;
    }

    .page-id-47 .km-invest-mazury::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(7, 33, 47, .34);
    }

    .page-id-47 .km-invest-mazury__inner {
        height: 800px;
        position: relative;
        z-index: 1;
    }

    .page-id-47 .km-invest-mazury__copy {
        position: absolute;
        left: 400px;
        top: 105px;
        width: 900px;
    }

    .page-id-47 .km-invest-amenities {
        min-height: 1170px;
        padding: 92px 0 90px;
        background: #f8f5f1;
        text-align: center;
    }

    .page-id-47 .km-invest-amenities h2 {
        margin: 0 0 18px;
        font-size: 48px;
        line-height: 58px;
        font-weight: 400;
        letter-spacing: -.96px;
    }

    .page-id-47 .km-invest-amenities > .km-shell > h3 {
        margin: 0;
        font-size: 24px;
        line-height: 34px;
    }

    .page-id-47 .km-invest-amenities__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 64px 86px;
        margin-top: 72px;
    }

    .page-id-47 .km-invest-amenity {
        min-height: 220px;
        padding: 0 34px;
        text-align: center;
    }

    .page-id-47 .km-invest-amenity img {
        width: 100px;
        height: 84px;
        margin: 0 auto 20px;
        object-fit: contain;
    }

    .page-id-47 .km-invest-amenity strong {
        display: block;
        margin: 0 0 12px;
        font-size: 20px;
        line-height: 28px;
    }

    .page-id-47 .km-invest-amenity p {
        max-width: 390px;
        margin: 0 auto;
        font-size: 16px;
        line-height: 26px;
    }

    .page-id-47 .km-invest-outdoor {
        height: 660px;
        background: #fff;
    }

    .page-id-47 .km-invest-outdoor__inner {
        height: 660px;
        position: relative;
    }

    .page-id-47 .km-invest-outdoor__copy {
        position: absolute;
        left: 150px;
        top: 75px;
        width: 600px;
    }

    .page-id-47 .km-invest-outdoor__copy h2 {
        max-width: 620px;
    }

    .page-id-47 .km-invest-outdoor__image {
        position: absolute;
        right: 0;
        top: 80px;
        width: 792px;
        height: 522px;
        object-fit: cover;
    }

    .page-id-47 .km-invest-floors {
        height: 700px;
        background: #fff;
        position: relative;
    }

    .page-id-47 .km-invest-floors__inner {
        position: relative;
        width: min(1920px, 100%);
        height: 700px;
        margin: 0 auto;
    }

    .page-id-47 .km-invest-floors__panel {
        position: absolute;
        right: 0;
        top: 0;
        width: 69.3%;
        height: 665px;
        background: #6a4533;
        color: #c7b292;
    }

    .page-id-47 .km-invest-floors__copy {
        position: absolute;
        left: 460px;
        right: 120px;
        top: 105px;
    }

    .page-id-47 .km-invest-floors__image {
        position: absolute;
        left: 7.8%;
        top: 80px;
        z-index: 2;
        width: 792px;
        height: 522px;
        object-fit: cover;
    }

    .page-id-47 .km-invest-standard {
        height: 875px;
        background: #fff;
    }

    .page-id-47 .km-invest-standard__inner {
        height: 875px;
        position: relative;
    }

    .page-id-47 .km-invest-standard__copy {
        position: absolute;
        left: 150px;
        top: 110px;
        width: 600px;
    }

    .page-id-47 .km-invest-standard__body ul {
        margin: 0;
        padding-left: 26px;
    }

    .page-id-47 .km-invest-standard__body li {
        margin-bottom: 6px;
    }

    .page-id-47 .km-invest-standard__pdf {
        display: inline-block;
        margin-top: 30px;
        color: #111;
        font-size: 18px;
        line-height: 28px;
        text-decoration: underline;
    }

    .page-id-47 .km-invest-standard__image {
        position: absolute;
        right: calc((100vw - 1620px) / -2);
        top: 80px;
        width: 960px;
        height: 780px;
        object-fit: cover;
    }
}

@media (max-width: 1600px) {
    .page-id-47 .km-invest-hero {
        height: 680px;
    }

    .page-id-47 .km-invest-hero .km-hero__badge {
        width: 190px !important;
        height: 190px !important;
        margin-bottom: 30px;
    }

    .page-id-47 .km-invest-hero h1 {
        font-size: clamp(44px, 6vw, 64px);
    }

    .page-id-47 .km-invest-hero p {
        max-width: 780px;
        font-size: 20px;
        line-height: 30px;
    }

    .page-id-47 .km-invest-buildings,
    .page-id-47 .km-invest-intro,
    .page-id-47 .km-invest-location,
    .page-id-47 .km-invest-everyday,
    .page-id-47 .km-invest-mazury,
    .page-id-47 .km-invest-amenities,
    .page-id-47 .km-invest-outdoor,
    .page-id-47 .km-invest-floors,
    .page-id-47 .km-invest-standard {
        height: auto;
        min-height: 0;
        padding: 70px 0;
    }

    .page-id-47 .km-invest-buildings__inner,
    .page-id-47 .km-invest-intro__inner,
    .page-id-47 .km-invest-location__inner,
    .page-id-47 .km-invest-everyday__inner,
    .page-id-47 .km-invest-mazury__inner,
    .page-id-47 .km-invest-outdoor__inner,
    .page-id-47 .km-invest-floors__inner,
    .page-id-47 .km-invest-standard__inner {
        height: auto;
    }

    .page-id-47 .km-invest-buildings {
        text-align: center;
    }

    .page-id-47 .km-invest-buildings h2,
    .page-id-47 .km-invest-amenities h2 {
        margin: 0 0 16px;
        font-size: 42px;
        font-weight: 400;
    }

    .page-id-47 .km-invest-buildings p {
        font-size: 17px;
        line-height: 27px;
    }

    .page-id-47 .km-invest-buildings__visual {
        width: min(100%, 1044px);
        margin: 35px auto 0;
        display: flex;
        align-items: flex-start;
    }

    .page-id-47 .km-invest-buildings__visual a {
        position: relative;
        width: 50%;
    }

    .page-id-47 .km-invest-buildings__visual img {
        width: 100%;
        height: auto;
    }

    .page-id-47 .km-invest-building-highlight {
        position: absolute;
        inset: 0;
    }

    .page-id-47 .km-invest-intro__inner,
    .page-id-47 .km-invest-everyday__inner,
    .page-id-47 .km-invest-outdoor__inner,
    .page-id-47 .km-invest-standard__inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 45px;
        align-items: center;
    }

    .page-id-47 .km-invest-intro__media {
        position: relative;
    }

    .page-id-47 .km-invest-intro__image,
    .page-id-47 .km-invest-everyday__image,
    .page-id-47 .km-invest-outdoor__image,
    .page-id-47 .km-invest-standard__image {
        width: 100%;
        height: auto;
        max-height: 522px;
        object-fit: cover;
    }

    .page-id-47 .km-invest-intro__lines {
        position: absolute;
        right: -8px;
        bottom: -40px;
        width: 72%;
    }

    .page-id-47 .km-invest-location__inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
    }

    .page-id-47 .km-invest-location__image {
        width: 100%;
        min-height: 460px;
        object-fit: cover;
    }

    .page-id-47 .km-invest-location__panel {
        min-height: 520px;
        padding: 75px 50px;
        background: #f8f5f1;
    }

    .page-id-47 .km-invest-location__badge {
        display: none;
    }

    .page-id-47 .km-invest-mazury {
        min-height: 620px;
        background-position: center;
        background-size: cover;
        color: #fff;
        position: relative;
    }

    .page-id-47 .km-invest-mazury::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(7, 33, 47, .38);
    }

    .page-id-47 .km-invest-mazury__inner {
        position: relative;
        z-index: 1;
    }

    .page-id-47 .km-invest-mazury__copy {
        max-width: 760px;
        padding-top: 30px;
    }

    .page-id-47 .km-invest-amenities__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 50px 30px;
        margin-top: 60px;
    }

    .page-id-47 .km-invest-amenity {
        text-align: center;
    }

    .page-id-47 .km-invest-amenity img {
        width: 86px;
        height: 76px;
        margin: 0 auto 18px;
        object-fit: contain;
    }

    .page-id-47 .km-invest-amenity strong {
        display: block;
        margin-bottom: 10px;
    }

    .page-id-47 .km-invest-floors__inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
    }

    .page-id-47 .km-invest-floors__image {
        width: 100%;
        height: 460px;
        object-fit: cover;
        z-index: 2;
    }

    .page-id-47 .km-invest-floors__panel {
        min-height: 540px;
        margin-left: -80px;
        padding: 80px 55px 70px 120px;
        background: #6a4533;
        color: #c7b292;
    }
}

@media (max-width: 820px) {
    .page-id-47 .km-invest-hero {
        height: 620px;
    }

    .page-id-47 .km-invest-hero .km-hero__badge {
        width: 150px !important;
        height: 150px !important;
    }

    .page-id-47 .km-invest-hero h1 {
        font-size: 42px;
        line-height: 1.08;
    }

    .page-id-47 .km-invest-hero p {
        font-size: 17px;
        line-height: 25px;
    }

    .page-id-47 .km-invest-intro__inner,
    .page-id-47 .km-invest-everyday__inner,
    .page-id-47 .km-invest-outdoor__inner,
    .page-id-47 .km-invest-standard__inner,
    .page-id-47 .km-invest-location__inner,
    .page-id-47 .km-invest-floors__inner {
        grid-template-columns: 1fr;
    }

    .page-id-47 .km-invest-main .km-copy h2,
    .page-id-47 .km-invest-buildings h2,
    .page-id-47 .km-invest-amenities h2 {
        font-size: 35px;
        line-height: 1.12;
    }

    .page-id-47 .km-invest-main .km-copy p,
    .page-id-47 .km-invest-main .km-copy li {
        font-size: 16px;
        line-height: 25px;
    }

    .page-id-47 .km-invest-buildings__visual {
        display: block;
    }

    .page-id-47 .km-invest-buildings__visual a {
        display: block;
        width: 100%;
        margin: 0 auto;
    }

    .page-id-47 .km-invest-location {
        padding: 0;
    }

    .page-id-47 .km-invest-location__image {
        min-height: 320px;
    }

    .page-id-47 .km-invest-location__panel {
        min-height: 0;
        padding: 55px 24px;
    }

    .page-id-47 .km-invest-amenities__grid {
        grid-template-columns: 1fr;
    }

    .page-id-47 .km-invest-floors {
        padding: 0 15px 70px;
    }

    .page-id-47 .km-invest-floors__image {
        height: auto;
        order: 1;
    }

    .page-id-47 .km-invest-floors__panel {
        min-height: 0;
        margin: -35px 0 0;
        padding: 75px 28px 50px;
        order: 2;
    }
}

/* Desktop alignment: text blocks start on the main 1620 px content grid, not 150 px inside it. */
@media (min-width: 1601px) {
    .page-id-47 .km-invest-intro__copy,
    .page-id-47 .km-invest-everyday__copy,
    .page-id-47 .km-invest-outdoor__copy,
    .page-id-47 .km-invest-standard__copy {
        left: 0;
    }
}

/* Standard wykończeń: restore semantic list markers locally after the theme reset. */
.page-id-47 .km-invest-standard__body ul {
    list-style: disc outside;
    padding-left: 26px;
    margin-left: 0;
}

.page-id-47 .km-invest-standard__body ol {
    list-style: decimal outside;
    padding-left: 26px;
    margin-left: 0;
}

.page-id-47 .km-invest-standard__body li {
    display: list-item;
}
