.tsi-re-hero,
.tsi-re-listing,
.tsi-re-single {
    --tsi-re-blue:#155789;
    --tsi-re-navy:#0a2032;
    --tsi-re-gold:#c99c6e;
    --tsi-re-cream:#fbf6ee;
    --tsi-re-border:#dcc8af;
    --tsi-re-text:#101923;
    --tsi-re-muted:#6f7780;
    box-sizing:border-box;
    font-family:Poppins, Inter, Arial, sans-serif;
}
.tsi-re-hero *,
.tsi-re-listing *,
.tsi-re-single * { box-sizing:border-box; }

/* HERO v4 – pełne tło sekcji + środek strony dokładnie 1200 px */
.tsi-re-hero {
    position:relative;
    width:100%;
    min-height:760px;
    margin:0;
    overflow:hidden;
    isolation:isolate;
    color:var(--tsi-re-text);
    background:var(--tsi-re-cream);
}
.tsi-re-hero__background,
.tsi-re-slider__track,
.tsi-re-slide,
.tsi-re-slide picture {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.tsi-re-hero__background {
    z-index:0;
    background:var(--tsi-re-cream);
}
.tsi-re-slide {
    opacity:0;
    visibility:hidden;
    transition:opacity .7s ease, visibility .7s ease;
}
.tsi-re-slide.is-active {
    opacity:1;
    visibility:visible;
}
.tsi-re-slide img {
    position:absolute;
    inset:0 auto 0 0;
    display:block;
    width:68%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}

/* Zdjęcie pozostaje warstwą tła; prawa część przechodzi płynnie w jasne tło projektu. */
.tsi-re-hero__veil {
    position:absolute;
    z-index:1;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,
        rgba(251,246,238,0) 0%,
        rgba(251,246,238,0) 43%,
        rgba(251,246,238,.10) 48%,
        rgba(251,246,238,.46) 54%,
        rgba(251,246,238,.88) 61%,
        rgba(251,246,238,.985) 68%,
        #fbf6ee 74%,
        #fbf6ee 100%);
}
.tsi-re-hero__arc {
    position:absolute;
    z-index:2;
    width:520px;
    height:520px;
    right:-305px;
    top:-310px;
    border:1px solid rgba(201,156,110,.45);
    border-radius:50%;
    pointer-events:none;
}

/* Jedyny desktopowy kontener sekcji – 1200 px, wycentrowany. */
.tsi-re-hero__inner {
    position:relative;
    z-index:4;
    width:min(1200px, calc(100% - 48px));
    min-height:760px;
    margin:0 auto;
}
.tsi-re-hero__content {
    position:absolute;
    top:48px;
    right:0;
    width:535px;
}
.tsi-re-hero__eyebrow {
    position:relative;
    margin:0 0 18px;
    padding-left:22px;
    color:#28313a;
    font-size:10px;
    line-height:1.4;
    font-weight:500;
    letter-spacing:.27em;
    text-transform:uppercase;
}
.tsi-re-hero__eyebrow:before {
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:21px;
    transform:translateY(-50%);
    background:var(--tsi-re-gold);
}
.tsi-re-hero__title {
    margin:0;
    max-width:535px;
    color:#08121d;
    font-family:Georgia,'Times New Roman',serif;
    font-size:62px;
    line-height:.98;
    font-weight:500;
    letter-spacing:-.045em;
}
.tsi-re-hero__title span,
.tsi-re-hero__title em { display:block; }
.tsi-re-hero__title em {
    color:var(--tsi-re-blue);
    font-style:normal;
    white-space:nowrap;
}
.tsi-re-hero__description {
    max-width:520px;
    margin-top:22px;
    color:#343d45;
    font-size:16px;
    line-height:1.52;
}
.tsi-re-hero__buttons {
    display:grid;
    grid-template-columns:1fr 1.08fr;
    gap:16px;
    margin-top:25px;
}
.tsi-re-btn {
    min-height:56px;
    padding:0 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    text-decoration:none!important;
    font-size:11px;
    line-height:1.2;
    font-weight:600;
    letter-spacing:.10em;
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.tsi-re-btn:hover { transform:translateY(-2px); }
.tsi-re-btn--primary {
    background:linear-gradient(100deg,#175f96,#134e7d);
    color:#fff!important;
    box-shadow:0 10px 24px rgba(20,80,125,.10);
}
.tsi-re-btn--secondary {
    border:1px solid #c89d6d;
    background:rgba(255,255,255,.55);
    color:#101820!important;
}
.tsi-re-btn b {
    font-size:22px;
    font-weight:300;
    line-height:1;
}

.tsi-re-features {
    margin-top:20px;
    min-height:84px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(255,255,255,.96);
    border-radius:9px;
    box-shadow:0 12px 30px rgba(58,44,29,.08);
    backdrop-filter:blur(2px);
    overflow:hidden;
}
.tsi-re-feature {
    position:relative;
    min-width:0;
    padding:11px 10px 10px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:9px;
    align-items:center;
}
.tsi-re-feature + .tsi-re-feature:before {
    content:"";
    position:absolute;
    left:0;
    top:12px;
    bottom:12px;
    width:1px;
    background:#dfcfbd;
}
.tsi-re-feature__icon {
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #c99a66;
    border-radius:50%;
}
.tsi-re-feature__icon svg {
    width:18px;
    height:18px;
    fill:none;
    stroke:#b47e45;
    stroke-width:1.65;
}
.tsi-re-feature strong {
    display:block;
    color:#151e27;
    font-family:Georgia,'Times New Roman',serif;
    font-size:16px;
    line-height:1.08;
    font-weight:500;
}
.tsi-re-feature small {
    display:block;
    margin-top:6px;
    color:#78818a;
    font-size:6.5px;
    line-height:1.35;
    letter-spacing:.075em;
    text-transform:uppercase;
}

/* WYSZUKIWARKA – na dole tego samego kontenera 1200 px */
.tsi-re-hero__search-wrap {
    position:absolute;
    left:0;
    right:0;
    bottom:28px;
    z-index:8;
}
.tsi-re-search {
    min-height:92px;
    padding:11px 13px 11px 17px;
    display:grid;
    grid-template-columns:1.08fr 1.18fr .98fr 236px;
    align-items:stretch;
    background:rgba(255,255,255,.965);
    border:1px solid rgba(235,226,215,.82);
    border-radius:9px;
    box-shadow:0 16px 38px rgba(42,35,27,.14);
}
.tsi-re-search__field {
    position:relative;
    min-width:0;
    padding:11px 18px 9px 58px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.tsi-re-search__field + .tsi-re-search__field:before {
    content:"";
    position:absolute;
    left:0;
    top:12px;
    bottom:12px;
    width:1px;
    background:#e5d9cc;
}
.tsi-re-search__icon {
    position:absolute;
    left:16px;
    top:50%;
    width:29px;
    height:29px;
    transform:translateY(-50%);
}
.tsi-re-search__icon svg {
    width:100%;
    height:100%;
    fill:none;
    stroke:#111b24;
    stroke-width:1.65;
}
.tsi-re-search label {
    margin:0 0 2px;
    color:#343e47;
    font-size:8px;
    line-height:1.2;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.tsi-re-search select {
    width:100%;
    height:34px;
    margin:0;
    padding:0 30px 0 0;
    border:0;
    border-bottom:1px solid #e9e0d8;
    border-radius:0;
    outline:none;
    background-color:transparent;
    color:#7a838d;
    box-shadow:none;
    font:inherit;
    font-size:14px;
    cursor:pointer;
}
.tsi-re-search__submit {
    margin:3px 0 3px 10px;
    border:0;
    border-radius:5px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    background:linear-gradient(115deg,#0a2032,#0d3454);
    color:#fff;
    font:inherit;
    font-size:12px;
    font-weight:600;
    letter-spacing:.13em;
    cursor:pointer;
    transition:.2s ease;
}
.tsi-re-search__submit:hover {
    transform:translateY(-1px);
    background:#103b5d;
}
.tsi-re-search__submit-icon {
    width:27px;
    height:27px;
}
.tsi-re-search__submit-icon svg {
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

/* SLIDER – wyłącznie autoplay, bez strzałek i ręcznych kontrolek. */
.tsi-re-slider__dots { display:none; }

@media (max-width:1260px) {
    .tsi-re-hero { min-height:730px; }
    .tsi-re-hero__inner {
        width:calc(100% - 40px);
        min-height:730px;
    }
    .tsi-re-hero__content {
        top:42px;
        width:500px;
    }
    .tsi-re-hero__title {
        max-width:500px;
        font-size:56px;
    }
    .tsi-re-hero__description {
        font-size:15px;
        margin-top:18px;
    }
    .tsi-re-hero__buttons { margin-top:21px; }
   .tsi-re-features { margin-top:20px; }
    .tsi-re-search {
        grid-template-columns:1.05fr 1.15fr .95fr 220px;
    }
}

@media (max-width:1024px) {
    .tsi-re-hero {
        min-height:1030px;
        background:#f8f1e8;
    }
    .tsi-re-slide img {
        width:100%;
        height:55%;
        object-fit:cover;
    }
    .tsi-re-hero__veil {
        background:linear-gradient(180deg,
            rgba(251,246,238,0) 0%,
            rgba(251,246,238,.06) 28%,
            rgba(251,246,238,.72) 47%,
            rgba(251,246,238,.97) 58%,
            #fbf6ee 70%,
            #fbf6ee 100%);
    }
    .tsi-re-hero__inner {
        width:min(760px, calc(100% - 40px));
        min-height:1030px;
    }
    .tsi-re-hero__content {
        top:360px;
        right:auto;
        left:0;
        width:100%;
    }
    .tsi-re-hero__title {
        max-width:720px;
        font-size:clamp(50px,7vw,66px);
    }
    .tsi-re-hero__title em { white-space:normal; }
    .tsi-re-hero__description { max-width:680px; }
    .tsi-re-hero__search-wrap { bottom:24px; }
    .tsi-re-search {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .tsi-re-search__submit {
        grid-column:1/-1;
        min-height:55px;
        margin:8px 0 0;
    }
}

@media (max-width:720px) {
    .tsi-re-hero {
        min-height:0;
        overflow:hidden;
    }
    .tsi-re-slide img {
        width:100%;
        height:390px;
        object-fit:cover;
    }
    .tsi-re-hero__veil {
        background:linear-gradient(180deg,
            rgba(251,246,238,0) 0%,
            rgba(251,246,238,.08) 255px,
            rgba(251,246,238,.92) 360px,
            #fbf6ee 445px,
            #fbf6ee 100%);
    }
    .tsi-re-hero__arc {
        width:360px;
        height:360px;
        right:-230px;
        top:-230px;
    }
    .tsi-re-hero__inner {
        width:calc(100% - 28px);
        min-height:0;
        padding:340px 0 18px;
    }
    .tsi-re-hero__content {
        position:relative;
        top:auto;
        left:auto;
        right:auto;
        width:100%;
    }
    .tsi-re-hero__eyebrow {
        margin-bottom:13px;
        font-size:8px;
        letter-spacing:.2em;
    }
    .tsi-re-hero__title {
        max-width:none;
        font-size:clamp(40px,12vw,54px);
        line-height:.97;
    }
    .tsi-re-hero__description {
        margin-top:17px;
        font-size:14px;
        line-height:1.5;
    }
    .tsi-re-hero__buttons {
        grid-template-columns:1fr;
        gap:9px;
        margin-top:20px;
    }
    .tsi-re-btn { min-height:54px; }
   .tsi-re-features {
        grid-template-columns:1fr;
        margin-top:16px;
    }
    .tsi-re-feature {
        grid-template-columns:36px 1fr;
        padding:10px 14px;
    }
    .tsi-re-feature + .tsi-re-feature:before {
        left:14px;
        right:14px;
        top:0;
        bottom:auto;
        width:auto;
        height:1px;
    }
    .tsi-re-feature small { margin-top:4px; }
    .tsi-re-hero__search-wrap {
        position:relative;
        left:auto;
        right:auto;
        bottom:auto;
        margin-top:16px;
    }
    .tsi-re-search,
    .tsi-re-search--compact {
        grid-template-columns:1fr;
        width:100%;
        margin:0;
        padding:9px;
    }
    .tsi-re-search__field {
        min-height:72px;
        padding-left:55px;
    }
    .tsi-re-search__field + .tsi-re-search__field:before {
        left:10px;
        right:10px;
        top:0;
        bottom:auto;
        width:auto;
        height:1px;
    }
    .tsi-re-search__submit {
        grid-column:auto;
        min-height:54px;
        margin:7px 0 0;
    }
}

/* PODSTRONA */
.tsi-re-listing {
    max-width:1200px;
    margin:0 auto;
    padding:78px 28px 95px;
    color:var(--tsi-re-text);
}
.tsi-re-listing__head { max-width:850px; margin-bottom:35px; }
.tsi-re-listing__eyebrow {
    color:var(--tsi-re-blue);
    font-size:10px;
    font-weight:600;
    letter-spacing:.23em;
}
.tsi-re-listing__head h1 {
    margin:7px 0 18px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(48px,5vw,72px);
    line-height:1;
    font-weight:500;
    letter-spacing:-.04em;
}
.tsi-re-listing__head p {
    max-width:760px;
    margin:0;
    color:#5e6973;
    font-size:17px;
    line-height:1.65;
}
.tsi-re-listing__search-wrap { margin:28px 0 45px; }
.tsi-re-search--compact {
    position:relative;
    left:auto;
    bottom:auto;
    width:100%;
    transform:none;
    box-shadow:0 12px 34px rgba(33,42,49,.08);
}
.tsi-re-results__summary {
    margin-bottom:23px;
    padding-bottom:14px;
    border-bottom:1px solid #e9e0d6;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.tsi-re-results__summary span { color:#9a754e; font-size:10px; font-weight:600; letter-spacing:.18em; }
.tsi-re-results__summary strong { color:#69737d; font-size:13px; font-weight:500; }
.tsi-re-results__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
}
.tsi-re-card {
    background:#fff;
    border:1px solid #ebe3da;
    overflow:hidden;
    transition:transform .2s ease,box-shadow .2s ease;
}
.tsi-re-card:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(16,28,40,.09); }
.tsi-re-card__image {
    position:relative;
    display:block;
    height:270px;
    overflow:hidden;
    background:#eee8df;
}
.tsi-re-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.tsi-re-card:hover .tsi-re-card__image img { transform:scale(1.03); }
.tsi-re-card__premium {
    position:absolute;
    left:15px;
    top:15px;
    padding:7px 10px;
    background:rgba(9,32,50,.92);
    color:#fff;
    font-size:9px;
    letter-spacing:.13em;
}
.tsi-re-card__body { padding:22px; }
.tsi-re-card__meta-top {
    display:flex;
    justify-content:space-between;
    gap:14px;
    color:#95724f;
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.07em;
}
.tsi-re-card h3 {
    margin:10px 0 10px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:26px;
    line-height:1.12;
    font-weight:500;
}
.tsi-re-card h3 a { color:inherit; text-decoration:none; }
.tsi-re-card p { min-height:48px; margin:0; color:#65707a; font-size:13px; line-height:1.55; }
.tsi-re-card__bottom {
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #eee6de;
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:15px;
}
.tsi-re-card__bottom strong { color:var(--tsi-re-blue); font-size:19px; }
.tsi-re-card__bottom span { color:#6e7881; font-size:12px; white-space:nowrap; }
.tsi-re-results__empty { padding:48px; background:#fbf7f1; border:1px solid #e8ddd0; text-align:center; }
.tsi-re-results__empty h3 { margin:0 0 8px; font-family:Georgia,'Times New Roman',serif; font-size:28px; font-weight:500; }
.tsi-re-results__empty p { margin:0; color:#69737d; }
.tsi-re-pagination { display:flex; justify-content:center; gap:8px; margin-top:42px; }
.tsi-re-pagination .page-numbers { min-width:38px; height:38px; padding:0 11px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #ded4c8; color:#26323c; text-decoration:none; }
.tsi-re-pagination .current { background:var(--tsi-re-navy); border-color:var(--tsi-re-navy); color:#fff; }

/* SINGLE */
.tsi-re-single { max-width:1200px; margin:0 auto; padding:68px 28px 95px; color:var(--tsi-re-text); }
.tsi-re-single__top { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr); gap:48px; align-items:start; }
.tsi-re-single__media img { width:100%; min-height:540px; max-height:690px; object-fit:cover; display:block; }
.tsi-re-single__eyebrow { color:#976f47; font-size:10px; font-weight:600; letter-spacing:.18em; }
.tsi-re-single__info h1 { margin:10px 0 18px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(43px,4.5vw,68px); line-height:1; font-weight:500; letter-spacing:-.04em; }
.tsi-re-single__location { color:#64707a; font-size:15px; }
.tsi-re-single__price { margin-top:26px; color:var(--tsi-re-blue); font-size:31px; font-weight:600; }
.tsi-re-single__stats { display:grid; grid-template-columns:1fr 1fr; margin-top:28px; border-top:1px solid #e8dfd6; border-bottom:1px solid #e8dfd6; }
.tsi-re-single__stat { padding:18px 8px; display:flex; gap:10px; align-items:center; }
.tsi-re-single__stat + .tsi-re-single__stat { border-left:1px solid #e8dfd6; }
.tsi-re-single__stat svg { width:26px; height:26px; fill:none; stroke:#a8794a; stroke-width:1.7; }
.tsi-re-single__content { margin-top:32px; color:#4f5a64; font-size:16px; line-height:1.75; }
.tsi-re-single__back { display:inline-flex; margin-top:28px; padding:14px 20px; background:var(--tsi-re-navy); color:#fff!important; text-decoration:none!important; font-size:12px; font-weight:600; letter-spacing:.09em; }

@media (max-width:1300px) {
    .tsi-re-results__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:980px) {
    .tsi-re-single__top { grid-template-columns:1fr; }
    .tsi-re-single__media img { min-height:0; max-height:none; }
    .tsi-re-listing .tsi-re-search--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .tsi-re-listing .tsi-re-search--compact .tsi-re-search__submit { grid-column:1/-1; min-height:58px; margin:8px 0 0; }
}

@media (max-width:720px) {
    .tsi-re-listing { padding:55px 16px 70px; }
    .tsi-re-listing__head h1 { font-size:48px; }
    .tsi-re-results__grid { grid-template-columns:1fr; }
    .tsi-re-card__image { height:235px; }
    .tsi-re-single { padding:48px 16px 70px; }
    .tsi-re-single__info h1 { font-size:44px; }
    .tsi-re-listing .tsi-re-search--compact { grid-template-columns:1fr; width:100%; margin:0; padding:10px; }
    .tsi-re-listing .tsi-re-search--compact .tsi-re-search__submit { grid-column:auto; }
}

/* =========================================================
 * SEKCJA TWOJE CELE – shortcode [tsi_cele]
 * Full-bleed tło: zdjęcie do lewej krawędzi ekranu,
 * jasne tło do prawej. Treść pozostaje w kontenerze 1200 px.
 * ======================================================= */
.tsi-goals,
.tsi-goals * { box-sizing:border-box; }
.tsi-goals {
    --tsi-goals-navy:#0a1e35;
    --tsi-goals-gold:#c79d70;
    --tsi-goals-cream:#faf7f2;
    position:relative;
    display:block;
    width:100%;
    max-width:none;
    min-height:760px;
    margin-left:0;
    margin-right:0;
    overflow:hidden;
    background:var(--tsi-goals-cream);
    color:var(--tsi-goals-navy);
    font-family:Poppins,Inter,Arial,sans-serif;
}
/* Zdjęcie jest tłem całej lewej strony sekcji, a nie tylko kontenera 1200 px. */
.tsi-goals::before {
    content:"";
    position:absolute;
    z-index:0;
    left:0;
    top:0;
    bottom:0;
    width:calc(50% + 90px);
    background-image:var(--tsi-goals-image);
    background-size:cover;
    background-position:var(--tsi-goals-position, center center);
    background-repeat:no-repeat;
    pointer-events:none;
}
.tsi-goals__inner {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,57.5%) minmax(0,42.5%);
    width:100%;
    max-width:1200px;
    min-height:760px;
    margin:0 auto;
    background:linear-gradient(to right, transparent 0 57.5%, #faf7f2 57.5% 100%);
}
.tsi-goals__image {
    position:relative;
    min-width:0;
    min-height:760px;
    background:transparent;
}
.tsi-goals__card {
    position:absolute;
    left:60px;
    bottom:64px;
    width:min(500px, calc(100% - 120px));
    min-height:170px;
    display:grid;
    grid-template-columns:12px minmax(0,1fr) 64px;
    align-items:center;
    gap:28px;
    padding:28px 34px 28px 42px;
    background:rgba(255,255,255,.965);
    color:var(--tsi-goals-navy)!important;
    text-decoration:none!important;
    box-shadow:0 16px 36px rgba(17,25,34,.08);
    transition:transform .22s ease,box-shadow .22s ease;
}
.tsi-goals__card:hover {
    transform:translateY(-4px);
    box-shadow:0 20px 46px rgba(17,25,34,.12);
}
.tsi-goals__card-line {
    position:relative;
    display:block;
    width:1px;
    height:110px;
    background:linear-gradient(to bottom,#c6a276 0 32%,#d5d9dc 32% 66%,#315e7b 66% 100%);
}
.tsi-goals__card-text {
    display:block;
    font-family:Georgia,'Times New Roman',serif;
    font-size:29px;
    line-height:1.06;
    font-weight:400;
    letter-spacing:-.025em;
}
.tsi-goals__card-arrow {
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    border:1px solid #c49a69;
    border-radius:50%;
    line-height:1;
    transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.tsi-goals__card-arrow svg {
    width:28px;
    height:28px;
    display:block;
    overflow:visible;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.tsi-goals__card:hover .tsi-goals__card-arrow {
    background:var(--tsi-goals-navy);
    border-color:var(--tsi-goals-navy);
    color:#fff;
}
.tsi-goals__content {
    position:relative;
    min-width:0;
    display:flex;
    align-items:stretch;
    background:
        radial-gradient(circle at 100% 0,rgba(206,174,138,.08),transparent 39%),
        transparent;
}
.tsi-goals__content-inner {
    width:min(560px, calc(100% - 80px));
    margin:0 auto;
    padding:74px 0 42px;
    display:flex;
    flex-direction:column;
}
.tsi-goals__eyebrow {
    display:flex;
    align-items:center;
    gap:16px;
    margin:0 0 24px;
    color:#b8895f;
    font-size:15px;
    line-height:1.2;
    font-weight:500;
    letter-spacing:.025em;
    text-transform:uppercase;
}
.tsi-goals__eyebrow span {
    font-family:Georgia,'Times New Roman',serif;
    font-size:25px;
    font-weight:300;
}
.tsi-goals__title {
    margin:0;
    color:var(--tsi-goals-navy);
    font-family:Georgia,'Times New Roman',serif;
    font-size:64px;
    line-height:.96;
    font-weight:400;
    letter-spacing:-.045em;
}
.tsi-goals__title span,
.tsi-goals__title em { display:block; }
.tsi-goals__title em {
    color:#bf976f;
    font-style:normal;
}
.tsi-goals__description {
    max-width:535px;
    margin-top:24px;
    color:#23384f;
    font-size:17px;
    line-height:1.48;
    font-weight:400;
}
.tsi-goals__buttons {
    display:grid;
    grid-template-columns:.82fr 1.18fr;
    gap:18px;
    margin-top:28px;
}
.tsi-goals__btn {
    min-height:59px;
    padding:0 23px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    text-decoration:none!important;
    font-size:14px;
    line-height:1.2;
    font-weight:500;
    transition:transform .2s ease,background .2s ease,color .2s ease;
}
.tsi-goals__btn:hover { transform:translateY(-2px); }
.tsi-goals__btn b {
    font-size:25px;
    font-weight:300;
    line-height:1;
}
.tsi-goals__btn--gold {
    background:linear-gradient(105deg,#d3ae82,#c99d6f);
    color:#10233a!important;
}
.tsi-goals__btn--outline {
    border:1px solid #172f49;
    background:transparent;
    color:#10233a!important;
}
.tsi-goals__stats {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:auto;
    padding-top:42px;
}
.tsi-goals__stat {
    position:relative;
    min-width:0;
    padding:0 23px 0 6px;
}
.tsi-goals__stat + .tsi-goals__stat { padding-left:34px; }
.tsi-goals__stat + .tsi-goals__stat:before {
    content:"";
    position:absolute;
    left:0;
    top:8px;
    bottom:7px;
    width:1px;
    background:#c8c7c4;
}
.tsi-goals__stat strong {
    display:block;
    margin:0 0 6px;
    color:#c69d72;
    font-family:Georgia,'Times New Roman',serif;
    font-size:43px;
    line-height:1;
    font-weight:400;
    letter-spacing:-.035em;
}
.tsi-goals__stat b {
    display:block;
    margin-bottom:5px;
    color:#10243a;
    font-size:12px;
    line-height:1.25;
    font-weight:700;
    letter-spacing:.12em;
}
.tsi-goals__stat small {
    display:block;
    color:#405064;
    font-size:12px;
    line-height:1.35;
}

@media (max-width:1200px) {
    .tsi-goals::before { width:57.5%; }
}
@media (max-width:1180px) {
    .tsi-goals,
    .tsi-goals__inner { min-height:700px; }
    .tsi-goals__inner { grid-template-columns:55% 45%; background:linear-gradient(to right, transparent 0 55%, #faf7f2 55% 100%); }
    .tsi-goals::before { width:55%; }
    .tsi-goals__image { min-height:700px; }
    .tsi-goals__content-inner { width:min(520px, calc(100% - 52px)); padding-top:52px; }
    .tsi-goals__title { font-size:55px; }
    .tsi-goals__description { font-size:15px; }
    .tsi-goals__card { left:30px; bottom:38px; width:min(450px, calc(100% - 60px)); min-height:150px; }
    .tsi-goals__card-text { font-size:25px; }
    .tsi-goals__buttons { grid-template-columns:1fr; gap:11px; }
    .tsi-goals__stats { padding-top:28px; }
    .tsi-goals__stat { padding-right:12px; }
    .tsi-goals__stat + .tsi-goals__stat { padding-left:18px; }
    .tsi-goals__stat strong { font-size:36px; }
}
@media (max-width:900px) {
    .tsi-goals {
        width:100%;
        min-height:0;
    }
    .tsi-goals::before {
        width:100%;
        height:620px;
        bottom:auto;
    }
    .tsi-goals__inner {
        display:block;
        width:100%;
        min-height:0;
        background:transparent;
    }
    .tsi-goals__image { min-height:620px; }
    .tsi-goals__card {
        left:24px;
        right:24px;
        bottom:24px;
        width:auto;
    }
    .tsi-goals__content {
        background:var(--tsi-goals-cream);
    }
    .tsi-goals__content-inner {
        width:min(680px, calc(100% - 48px));
        padding:54px 0 48px;
    }
    .tsi-goals__title { font-size:61px; }
    .tsi-goals__description { max-width:650px; }
    .tsi-goals__buttons { grid-template-columns:1fr 1.25fr; }
    .tsi-goals__stats { margin-top:36px; }
}
@media (max-width:620px) {
    .tsi-goals::before { height:500px; }
    .tsi-goals__image { min-height:500px; }
    .tsi-goals__card {
        left:16px;
        right:16px;
        bottom:16px;
        min-height:124px;
        grid-template-columns:8px minmax(0,1fr) 50px;
        gap:16px;
        padding:20px 20px 20px 24px;
    }
    .tsi-goals__card-line { height:82px; }
    .tsi-goals__card-text { font-size:22px; }
    .tsi-goals__card-arrow { width:48px; height:48px; }
    .tsi-goals__card-arrow svg { width:24px; height:24px; }
    .tsi-goals__content-inner { width:calc(100% - 32px); padding:42px 0 36px; }
    .tsi-goals__eyebrow { margin-bottom:18px; font-size:12px; }
    .tsi-goals__title { font-size:43px; line-height:1.01; }
    .tsi-goals__description { margin-top:20px; font-size:15px; }
    .tsi-goals__buttons { grid-template-columns:1fr; }
    .tsi-goals__btn { min-height:56px; }
    .tsi-goals__stats { grid-template-columns:1fr; gap:20px; margin-top:30px; padding-top:0; }
    .tsi-goals__stat,
    .tsi-goals__stat + .tsi-goals__stat { padding:0; }
    .tsi-goals__stat + .tsi-goals__stat:before { display:none; }
    .tsi-goals__stat strong { font-size:39px; }
}



/* =========================================================
 * LISTA – ukrycie dodatkowego tytułu generowanego przez motyw
 * ======================================================= */
body.tsi-re-listing-page .entry-header,
body.tsi-re-listing-page .page-header,
body.tsi-re-listing-page h1.entry-title,
body.tsi-re-listing-page h1.page-title,
body.tsi-re-listing-page .content-entry__title { display:none!important; }
body.tsi-re-listing-page .content-shell { max-width:none!important; margin:0!important; padding:0!important; }
body.tsi-re-listing-page .content-entry__body { font-size:inherit!important; line-height:normal!important; }
body.tsi-re-listing-page .site-main > article > .entry-content,
body.tsi-re-listing-page .site-main .entry-content { margin-top:0!important; padding-top:0!important; }

/* =========================================================
 * SINGLE – galeria, pełny opis, CTA i formularz
 * ======================================================= */
.tsi-re-single__main-image{background:#eee8df;overflow:hidden}
.tsi-re-single__main-image img{width:100%;min-height:540px;max-height:690px;object-fit:cover;display:block}
.tsi-re-single__thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:9px}
.tsi-re-single__thumb{appearance:none;border:1px solid transparent;background:#f2ede7;padding:0;cursor:pointer;overflow:hidden;height:86px;transition:border-color .2s ease,opacity .2s ease}
.tsi-re-single__thumb img{width:100%;height:100%;object-fit:cover;display:block;min-height:0;max-height:none}
.tsi-re-single__thumb.is-active{border-color:#c79d70}
.tsi-re-single__thumb:hover{opacity:.82}
.tsi-re-single__quick-contact{display:grid;gap:10px;margin-top:28px}
.tsi-re-single__ask{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;background:var(--tsi-re-blue);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:700;letter-spacing:.08em}
.tsi-re-single__ask span{font-size:21px;font-weight:300}
.tsi-re-single__contact-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #e5d8ca;text-decoration:none!important;color:var(--tsi-re-text)!important;background:#fff}
.tsi-re-single__contact-link strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.tsi-re-single__contact-link small{text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#9a754e}
.tsi-re-single__description{margin-top:70px;padding:55px 0;border-top:1px solid #e8dfd6}
.tsi-re-single__section-label{display:block;color:#a17b54;font-size:10px;font-weight:700;letter-spacing:.2em;margin-bottom:10px}
.tsi-re-single__description h2,.tsi-re-inquiry h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4vw,56px);line-height:1.05;font-weight:500;letter-spacing:-.03em;color:var(--tsi-re-text)}
.tsi-re-single__description .tsi-re-single__content{max-width:920px;margin-top:25px;font-size:17px;line-height:1.8;color:#4f5a64}
.tsi-re-single__description .tsi-re-single__content p{margin:0 0 1.15em}
.tsi-re-inquiry{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;margin-top:10px;padding:58px;background:#faf7f2;border:1px solid #ece2d7}
.tsi-re-inquiry__intro>p{max-width:430px;margin:22px 0 0;color:#5c6872;font-size:15px;line-height:1.65}
.tsi-re-inquiry__contact{display:grid;gap:12px;margin-top:30px}
.tsi-re-inquiry__contact a{display:flex;flex-direction:column;gap:4px;color:var(--tsi-re-text)!important;text-decoration:none!important}
.tsi-re-inquiry__contact span{font-size:10px;color:#9b7650;text-transform:uppercase;letter-spacing:.15em}
.tsi-re-inquiry__contact strong{font-size:18px;overflow-wrap:anywhere}
.tsi-re-inquiry__form{display:grid;gap:15px}
.tsi-re-inquiry__row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.tsi-re-inquiry__form label{display:grid;gap:7px;color:#40505d;font-size:12px;font-weight:600}
.tsi-re-inquiry__form input[type=text],.tsi-re-inquiry__form input[type=email],.tsi-re-inquiry__form input[type=tel],.tsi-re-inquiry__form textarea{width:100%;border:1px solid #dcd1c5;background:#fff;color:#172737;padding:14px 15px;font:inherit;font-size:15px;outline:none;border-radius:0}
.tsi-re-inquiry__form textarea{resize:vertical;min-height:132px;line-height:1.55}
.tsi-re-inquiry__form input:focus,.tsi-re-inquiry__form textarea:focus{border-color:#c79d70;box-shadow:0 0 0 2px rgba(199,157,112,.12)}
.tsi-re-inquiry__consent{grid-template-columns:20px 1fr!important;align-items:start;gap:10px!important;font-weight:400!important;line-height:1.45}
.tsi-re-inquiry__consent input{margin-top:3px}
.tsi-re-inquiry__form button{border:0;background:var(--tsi-re-navy);color:#fff;min-height:54px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.09em;cursor:pointer}
.tsi-re-inquiry__form button span{font-size:22px;font-weight:300}
.tsi-re-form-message{margin:0 0 18px;padding:14px 16px;font-size:13px;line-height:1.5}
.tsi-re-form-message--success{background:#edf7ef;border:1px solid #cce5d0;color:#295b31}
.tsi-re-form-message--error{background:#fff0ef;border:1px solid #efceca;color:#843b32}
.tsi-re-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media (max-width:980px){
 .tsi-re-single__main-image img{min-height:0;max-height:none}
 .tsi-re-single__thumbs{grid-template-columns:repeat(5,minmax(70px,1fr));overflow-x:auto;padding-bottom:5px}
 .tsi-re-inquiry{grid-template-columns:1fr;gap:35px;padding:38px}
}
@media (max-width:720px){
 .tsi-re-single__thumbs{grid-template-columns:repeat(4,76px)}
 .tsi-re-single__thumb{height:68px}
 .tsi-re-single__description{margin-top:48px;padding:42px 0}
 .tsi-re-single__description .tsi-re-single__content{font-size:15px;line-height:1.7}
 .tsi-re-inquiry{margin-left:-4px;margin-right:-4px;padding:27px 20px}
 .tsi-re-inquiry__row{grid-template-columns:1fr}
 .tsi-re-single__contact-link{align-items:flex-start;flex-direction:column;gap:4px}
}
