﻿/* =========================================================
   Mobile / tablet — ALL sizes in px (max-width: 991px)
   Desktop (vw) is untouched — this file loads last.
   ========================================================= */

@media (max-width: 991px) {
  /* —— Nuclear typography reset: kill all vw text sizes —— */
  html {
    font-size: 16px !important;
    scroll-padding-top: 100px !important;
  }

  body,
  body.ry-tarasowa,
  body.ry-home,
  body.ry-inner,
  body.ry-invest {
    font-size: 16px !important;
    line-height: 1.6 !important;
    overflow-x: hidden !important;
  }

  body.ry-tarasowa p,
  body.ry-tarasowa li,
  body.ry-tarasowa label,
  body.ry-tarasowa td,
  body.ry-tarasowa th,
  body.ry-tarasowa span,
  body.ry-tarasowa a,
  body.ry-tarasowa strong,
  body.ry-tarasowa em,
  body.ry-tarasowa b,
  body.ry-tarasowa small,
  body.ry-tarasowa div,
  body.ry-tarasowa button,
  body.ry-tarasowa input,
  body.ry-tarasowa textarea,
  body.ry-tarasowa select {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  body.ry-tarasowa h1,
  body.ry-tarasowa .ry-banner__title,
  body.ry-tarasowa .ry-banner__overlay-inner .ry-banner__title,
  body.ry-home.ry-invest #ry-top .ry-banner__overlay-inner .ry-banner__title {
    font-size: 36px !important;
    line-height: 1.1 !important;
    margin: 0 0 12px !important;
  }

  body.ry-tarasowa h2,
  body.ry-tarasowa .ldm-story__title,
  body.ry-tarasowa .ldm-ta-lokalizacja__copy h2,
  body.ry-tarasowa .ldm-ta-standard h2,
  body.ry-tarasowa .ldm-ta-privacy h2,
  body.ry-tarasowa .ldm-ta-gallery h2,
  body.ry-tarasowa .ldm-ta-domy__title,
  body.ry-tarasowa .ldm-ta-contact__meet h2,
  body.ry-tarasowa .ldm-page-form__title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin: 0 0 14px !important;
  }

  body.ry-tarasowa h3,
  body.ry-tarasowa .ldm-ta-pillar h3,
  body.ry-tarasowa .ldm-ta-ucard__id {
    font-size: 22px !important;
    line-height: 1.25 !important;
    margin: 0 0 10px !important;
  }

  body.ry-tarasowa h4,
  body.ry-tarasowa h5,
  body.ry-tarasowa h6 {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  body.ry-tarasowa .ldm-ta-kicker,
  body.ry-tarasowa .ry-inv-nav__links a {
    font-size: 15px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.4 !important;
  }

  body.ry-tarasowa .ldm-ta-lead,
  body.ry-tarasowa .ldm-story__lead,
  body.ry-tarasowa .ldm-story__text,
  body.ry-tarasowa .ldm-story__item,
  body.ry-tarasowa .ldm-ta-pillar__text,
  body.ry-tarasowa .ldm-ta-points p,
  body.ry-tarasowa .ldm-ta-points li p,
  body.ry-tarasowa .ldm-ta-list li,
  body.ry-tarasowa .ldm-ta-legal,
  body.ry-tarasowa .ry-banner__tagline,
  body.ry-tarasowa .ry-banner--hero .ry-banner__tagline,
  body.ry-tarasowa .ry-banner__overlay-inner .ry-banner__tagline,
  body.ry-home.ry-invest #ry-top .ry-banner__overlay-inner .ry-banner__tagline {
    font-size: 16px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
  }

  body.ry-tarasowa .ry-btn,
  body.ry-tarasowa a.ry-btn,
  body.ry-tarasowa button.ry-btn,
  body.ry-tarasowa .ldm-ta-ucard__btn--primary,
  body.ry-tarasowa a.ldm-ta-ucard__btn--primary,
  body.ry-tarasowa .ry-banner__cta,
  body.ry-tarasowa a.ry-btn.ry-banner__cta,
  body.ry-tarasowa .ldm-ta-pillar__more {
    font-size: 15px !important;
    line-height: 1.3 !important;
    min-height: 48px !important;
    padding: 12px 20px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__status,
  body.ry-tarasowa .ldm-ta-ucard__chip,
  body.ry-tarasowa .ldm-ta-ucard__spec strong,
  body.ry-tarasowa .ldm-ta-ucard__spec span,
  body.ry-tarasowa .ldm-ta-ucard__spec small,
  body.ry-tarasowa .ldm-avail__label,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__label {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }

  body.ry-tarasowa .ldm-avail__num,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__num {
    font-size: 32px !important;
    line-height: 1.05 !important;
  }

  body.ry-tarasowa .ry-nav__link,
  body.ry-tarasowa .ry-nav__menu--open .ry-nav__link {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  body.ry-tarasowa .ry-float a,
  body.ry-tarasowa .ry-float a.ry-btn,
  body.ry-tarasowa .ry-float a.ry-phone,
  body.ry-tarasowa .ry-float a.ry-email {
    font-size: 15px !important;
    line-height: 1.2 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  body.ry-tarasowa .wpcf7 input,
  body.ry-tarasowa .wpcf7 textarea,
  body.ry-tarasowa .wpcf7 select,
  body.ry-tarasowa .wpcf7-form-control {
    font-size: 16px !important;
  }

  body.ry-tarasowa {
    --ta-title-size: 28px;
  }

  .ry-wrap {
    padding-left: 18px !important;
    padding-right: 18px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .ry-py {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .ry-btn,
  a.ry-btn,
  button.ry-btn {
    min-height: 48px !important;
    padding: 12px 20px !important;
    font-size: 15px !important;
    gap: 10px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  .ry-btn svg,
  a.ry-btn svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Build houses — always fully visible, no construction animation */
  .ldm-build__layer,
  .ldm-build__stage.is-building .ldm-build__layer,
  .ldm-build__stage .ldm-build__layer,
  .ldm-page-banner__houses .ldm-build__layer {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
  }

  .ldm-build__layer--scaffold,
  .ldm-build__stage.is-building .ldm-build__layer--scaffold,
  .ldm-build__stage.is-built .ldm-build__layer--scaffold,
  .ldm-page-banner__houses .ldm-build__layer--scaffold {
    opacity: 0 !important;
    animation: none !important;
  }

  /* Icon-only header contacts keep text hidden */
  body.ry-tarasowa .ry-nav__contact.ry-phone span {
    font-size: 0 !important;
  }

  /* ---------- Header ---------- */
  body.ry-home #ry-mast.ry-nav,
  body.ry-inner #ry-mast.ry-nav,
  body.ry-tarasowa #ry-mast.ry-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 200 !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 72px !important;
    height: auto !important;
    padding: 8px 14px !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 4px 20px rgba(16, 24, 40, 0.12) !important;
    backdrop-filter: blur(8px);
  }

  body.ry-tarasowa .ry-nav__brand,
  body.ry-home .ry-nav__brand,
  body.ry-inner .ry-nav__brand {
    grid-column: unset !important;
    justify-self: unset !important;
    flex: 0 0 auto !important;
    height: auto !important;
    padding: 0 !important;
    order: 1 !important;
  }

  body.ry-tarasowa .ry-nav__brand .ldm-logo,
  body.ry-home .ry-nav__brand img,
  body.ry-inner .ry-nav__brand img,
  body.ry-tarasowa .ry-nav__brand img,
  html body.ry-tarasowa .ry-nav__brand .ldm-logo,
  html body.ry-tarasowa .ry-nav__brand img {
    width: auto !important;
    height: auto !important;
    max-width: 120px !important;
    max-height: 62px !important;
    padding: 6px !important;
    margin: 0 !important;
    background: #fff !important;
    border-radius: 0 0 8px 8px !important;
    filter: none !important;
  }

  body.ry-tarasowa .ry-nav__menu,
  body.ry-home .ry-nav__menu,
  body.ry-inner .ry-nav__menu {
    position: fixed !important;
    top: 72px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    inset: auto 0 0 0 !important;
    z-index: 190 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 24px 24px 40px !important;
    background: rgba(28, 44, 93, 0.98) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }

  body.ry-tarasowa .ry-nav__menu--open,
  body.ry-home .ry-nav__menu--open,
  body.ry-inner .ry-nav__menu--open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: rgba(28, 44, 93, 0.98) !important;
  }

  /* Keep white header bar above open menu overlay */
  body.ry-home.ry-blocked #ry-mast.ry-nav,
  body.ry-inner.ry-blocked #ry-mast.ry-nav,
  body.ry-tarasowa.ry-blocked #ry-mast.ry-nav,
  body.ry-home #ry-mast.ry-nav:has(.ry-nav__menu--open),
  body.ry-inner #ry-mast.ry-nav:has(.ry-nav__menu--open),
  body.ry-tarasowa #ry-mast.ry-nav:has(.ry-nav__menu--open) {
    background: #fff !important;
    box-shadow: 0 4px 20px rgba(16, 24, 40, 0.12) !important;
  }

  body.ry-tarasowa .ry-nav__list,
  body.ry-home .ry-nav__list,
  body.ry-inner .ry-nav__list {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body.ry-tarasowa .ry-nav__link,
  body.ry-home .ry-nav__link,
  body.ry-inner .ry-nav__link,
  body.ry-tarasowa .ry-nav__menu--open .ry-nav__link,
  body.ry-home .ry-nav__menu--open .ry-nav__link,
  body.ry-inner .ry-nav__menu--open .ry-nav__link {
    font-size: 18px !important;
    letter-spacing: 0.1em !important;
    color: #fff !important;
    background: transparent !important;
    text-shadow: none !important;
    padding: 12px 16px !important;
    border-radius: 0 !important;
  }

  body.ry-tarasowa .ry-nav__contacts,
  body.ry-home .ry-nav__contacts,
  body.ry-inner .ry-nav__contacts {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 8px 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    grid-column: unset !important;
    order: 2 !important;
  }

  body.ry-tarasowa .ry-nav__contacts:after,
  body.ry-home .ry-nav__contacts:after,
  body.ry-inner .ry-nav__contacts:after {
    display: none !important;
  }

  body.ry-tarasowa .ry-nav__contact,
  body.ry-home .ry-nav__contact,
  body.ry-inner .ry-nav__contact,
  body.ry-tarasowa .ry-nav__contact.ry-phone,
  body.ry-home .ry-nav__contact.ry-phone,
  body.ry-inner .ry-nav__contact.ry-phone,
  body.ry-tarasowa .ry-nav__contact.ry-email,
  body.ry-home .ry-nav__contact.ry-email,
  body.ry-inner .ry-nav__contact.ry-email,
  body.ry-home .ry-nav__contact--icon,
  body.ry-inner .ry-nav__contact--icon,
  body.ry-tarasowa .ry-nav__contact:not(:hover),
  body.ry-home .ry-nav__contact:not(:hover),
  body.ry-inner .ry-nav__contact:not(:hover) {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    gap: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    border-radius: 8px !important;
    background: #2e3192 !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 0 !important;
  }

  body.ry-tarasowa .ry-nav__contact.ry-phone span,
  body.ry-home .ry-nav__contact.ry-phone span,
  body.ry-inner .ry-nav__contact.ry-phone span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    padding: 0 !important;
    margin: -1px !important;
    color: #fff !important;
    font-size: 0 !important;
    opacity: 0 !important;
  }

  body.ry-tarasowa .ry-nav__contact svg,
  body.ry-home .ry-nav__contact svg,
  body.ry-inner .ry-nav__contact svg,
  body.ry-tarasowa .ry-nav__icon,
  body.ry-tarasowa .ry-nav__icon--phone,
  body.ry-tarasowa .ry-nav__icon--email,
  body.ry-home .ry-nav__contact--icon svg,
  body.ry-inner .ry-nav__contact--icon svg,
  body.ry-home .ry-nav__contact.ry-email svg,
  body.ry-inner .ry-nav__contact.ry-email svg,
  body.ry-tarasowa .ry-nav__contact.ry-email svg,
  body.ry-home .ry-nav__contact.ry-phone svg,
  body.ry-inner .ry-nav__contact.ry-phone svg,
  body.ry-tarasowa .ry-nav__contact.ry-phone svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    display: block !important;
  }

  body.ry-tarasowa .ry-nav__contact svg,
  body.ry-tarasowa .ry-nav__contact svg path,
  body.ry-home .ry-nav__contact svg,
  body.ry-home .ry-nav__contact svg path,
  body.ry-inner .ry-nav__contact svg,
  body.ry-inner .ry-nav__contact svg path,
  body.ry-home .ry-nav__contact--icon svg path,
  body.ry-inner .ry-nav__contact--icon svg path,
  body.ry-home .ry-nav__contact.ry-email svg path,
  body.ry-inner .ry-nav__contact.ry-email svg path {
    fill: #fff !important;
    color: #fff !important;
    stroke: none !important;
  }

  body.ry-tarasowa .ry-flex.ry-aic,
  body.ry-home .ry-nav .ry-flex,
  body.ry-inner .ry-nav .ry-flex {
    grid-column: unset !important;
    margin-left: 0 !important;
    order: 3 !important;
    flex: 0 0 auto !important;
  }

  body.ry-tarasowa .ry-nav__burger,
  body.ry-home .ry-nav__burger,
  body.ry-inner .ry-nav__burger {
    position: relative !important;
    z-index: 210 !important;
    width: 28px !important;
    height: 22px !important;
    display: block !important;
  }

  body.ry-tarasowa .ry-nav__burger span,
  body.ry-home .ry-nav__burger span,
  body.ry-inner .ry-nav__burger span {
    background: #2e3192 !important;
    height: 2px !important;
  }

  body.ry-home.ry-blocked .ry-nav__brand,
  body.ry-inner.ry-blocked .ry-nav__brand,
  body.ry-tarasowa.ry-blocked .ry-nav__brand,
  body.ry-home.ry-blocked .ry-nav__contacts,
  body.ry-inner.ry-blocked .ry-nav__contacts,
  body.ry-tarasowa.ry-blocked .ry-nav__contacts,
  body.ry-home.ry-blocked .ry-nav__burger,
  body.ry-inner.ry-blocked .ry-nav__burger,
  body.ry-tarasowa.ry-blocked .ry-nav__burger {
    position: relative !important;
    z-index: 220 !important;
  }

  /* X stays navy on white header */
  body.ry-home.ry-blocked .ry-nav__burger span,
  body.ry-inner.ry-blocked .ry-nav__burger span,
  body.ry-tarasowa.ry-blocked .ry-nav__burger span,
  body.ry-home .ry-nav__burger--open span,
  body.ry-inner .ry-nav__burger--open span,
  body.ry-tarasowa .ry-nav__burger--open span {
    background: #2e3192 !important;
  }

  /* ---------- Investment subnav ---------- */
  body.ry-tarasowa .ry-inv-nav {
    position: sticky !important;
    top: 72px !important;
    z-index: 150 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(46, 49, 146, 0.12) !important;
    box-shadow: 0 6px 18px rgba(16, 24, 40, 0.06) !important;
  }

  body.ry-tarasowa .ry-inv-nav__inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    padding: 10px 18px !important;
    padding-right: 22px !important;
    position: relative !important;
  }

  body.ry-tarasowa .ry-inv-nav__logo {
    flex: 0 0 auto !important;
    margin-right: auto !important;
  }

  body.ry-tarasowa .ry-inv-nav__logo img,
  body.ry-tarasowa .ry-inv-nav__logo-img {
    display: block !important;
    width: auto !important;
    height: 40px !important;
    max-width: 160px !important;
    object-fit: contain !important;
  }

  body.ry-tarasowa .ry-inv-nav__burger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    width: 28px !important;
    height: 20px !important;
    flex: 0 0 auto !important;
    margin-left: 12px !important;
    z-index: 2 !important;
  }

  body.ry-tarasowa .ry-inv-nav__burger span {
    display: block !important;
    width: 100% !important;
    height: 2px !important;
    background: #2e3192 !important;
    border-radius: 1px !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
  }

  body.ry-tarasowa .ry-inv-nav__burger.is-open span:nth-child(1) {
    transform: translateY(9px) rotate(45deg) !important;
  }

  body.ry-tarasowa .ry-inv-nav__burger.is-open span:nth-child(2) {
    opacity: 0 !important;
  }

  body.ry-tarasowa .ry-inv-nav__burger.is-open span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg) !important;
  }

  body.ry-tarasowa .ry-inv-nav__links {
    display: none !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    overflow: visible !important;
    padding: 10px 0 4px !important;
    margin: 8px 0 0 !important;
    border-top: 1px solid rgba(46, 49, 146, 0.1) !important;
  }

  body.ry-tarasowa .ry-inv-nav.is-open .ry-inv-nav__links {
    display: flex !important;
  }

  body.ry-tarasowa .ry-inv-nav__links a {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    letter-spacing: 0.06em !important;
    padding: 12px 0 !important;
    color: #2e3192 !important;
    border-bottom: 1px solid rgba(46, 49, 146, 0.08) !important;
    text-transform: uppercase !important;
  }

  body.ry-tarasowa .ry-inv-nav__links a:last-child {
    border-bottom: 0 !important;
  }

  /* ---------- Hero (match homepage mobile) ---------- */
  body.ry-tarasowa .ry-banner--hero,
  body.ry-tarasowa #ry-top.ry-banner {
    min-height: 100svh !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.ry-tarasowa .ry-banner__slider,
  body.ry-tarasowa .ry-banner__slide,
  body.ry-tarasowa .ry-banner__slide .ry-img,
  body.ry-tarasowa .ry-banner__slide img {
    width: 100% !important;
    height: 100% !important;
    min-height: 100svh !important;
    object-fit: cover !important;
  }

  body.ry-tarasowa .ry-banner__overlay,
  body.ry-tarasowa .ry-banner--hero .ry-banner__overlay {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    top: 40% !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    text-align: center !important;
    pointer-events: none !important;
  }

  body.ry-tarasowa .ry-banner__overlay-inner,
  body.ry-tarasowa .ry-banner--hero .ry-banner__overlay-inner {
    padding: 18px 14px !important;
    max-width: 100% !important;
    width: 100% !important;
    align-items: center !important;
    background: radial-gradient(
      ellipse 80% 70% at 50% 50%,
      rgba(16, 18, 52, 0.72) 0%,
      rgba(16, 18, 52, 0.35) 55%,
      transparent 75%
    ) !important;
    pointer-events: auto !important;
  }

  body.ry-tarasowa .ry-banner__tagline,
  body.ry-tarasowa .ry-banner--hero .ry-banner__tagline,
  body.ry-tarasowa .ry-banner__overlay-inner .ry-banner__tagline,
  body.ry-tarasowa.ry-invest #ry-top .ry-banner__overlay-inner .ry-banner__tagline,
  body.ry-home.ry-invest #ry-top .ry-banner__overlay-inner .ry-banner__tagline {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    overflow: hidden !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin: 0 auto 18px !important;
    max-width: 340px !important;
    width: 100% !important;
    color: rgba(255, 255, 255, 0.92) !important;
  }

  body.ry-tarasowa .ry-banner__title,
  body.ry-tarasowa .ry-banner--hero .ry-banner__title,
  body.ry-tarasowa .ry-banner__overlay-inner .ry-banner__title,
  body.ry-tarasowa.ry-invest #ry-top .ry-banner__overlay-inner .ry-banner__title,
  body.ry-home.ry-invest #ry-top .ry-banner__overlay-inner .ry-banner__title {
    display: block !important;
    font-size: 38px !important;
    line-height: 1.08 !important;
    margin: 0 0 12px !important;
    color: #fff !important;
    text-align: center !important;
    max-width: 100% !important;
  }

  body.ry-tarasowa .ry-banner__cta,
  body.ry-tarasowa .ry-banner--hero .ry-banner__cta,
  body.ry-tarasowa a.ry-btn.ry-banner__cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 24px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    margin-top: 0 !important;
    pointer-events: auto !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: #2e3192 !important;
    border-color: #2e3192 !important;
  }

  body.ry-tarasowa .ry-banner__paint,
  body.ry-tarasowa .ry-banner__diamonds {
    display: none !important;
  }

  body.ry-tarasowa .ry-banner__arrows,
  body.ry-tarasowa .ry-banner--hero .ry-banner__arrows {
    position: absolute !important;
    top: auto !important;
    bottom: 249px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    z-index: 14 !important;
    width: auto !important;
  }

  body.ry-tarasowa .ry-banner__arrow,
  body.ry-tarasowa .ry-banner--hero .ry-banner__arrow,
  body.ry-tarasowa .ry-banner--hero button.ry-banner__arrow {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 8px !important;
    border-radius: 8px !important;
    background: rgba(46, 49, 146, 0.88) !important;
  }

  body.ry-tarasowa .ry-banner__arrow svg {
    width: 16px !important;
    height: 16px !important;
  }

  body.ry-tarasowa .ry-banner__wave,
  body.ry-tarasowa .ry-banner__torn {
    height: 36px !important;
    z-index: 8 !important;
  }

  body.ry-tarasowa .ry-banner__wave svg,
  body.ry-tarasowa .ry-banner__torn svg {
    width: 100% !important;
    height: 36px !important;
  }

  /* Availability cards — like homepage */
  body.ry-tarasowa .ldm-avail--side,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: 72px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    gap: 6px !important;
    z-index: 12 !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  body.ry-tarasowa .ldm-avail__item,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__item {
    position: relative !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 118px !important;
    padding: 26px 8px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__item::before,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__item::after {
    inset: -6px 0 !important;
  }

  body.ry-tarasowa .ldm-avail__icon,
  body.ry-tarasowa .ry-banner--hero .ldm-avail__icon,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__icon {
    width: 54px !important;
    height: 42px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
  }

  body.ry-tarasowa .ldm-avail__art,
  body.ry-tarasowa .ry-banner--hero .ldm-avail__art {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain !important;
  }

  body.ry-tarasowa .ldm-avail__num,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__num,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__item--free .ldm-avail__num,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__item--reserved .ldm-avail__num,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__item--sold .ldm-avail__num {
    font-size: 42px !important;
    margin: 0 !important;
    margin-top: -9px !important;
    margin-bottom: 10px !important;
    line-height: 1.05 !important;
    color: #fff !important;
    text-align: center !important;
    width: 100% !important;
  }

  body.ry-tarasowa .ldm-avail__label,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side .ldm-avail__label {
    font-size: 11px !important;
    letter-spacing: 0.02em !important;
    max-width: 100% !important;
    width: 100% !important;
    text-align: center !important;
    color: #fff !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    margin-bottom: 14px !important;
  }

  body.ry-tarasowa .ldm-inv-logo,
  body.ry-tarasowa .ry-banner--hero .ldm-inv-logo {
    position: absolute !important;
    top: 88px !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    max-width: 200px !important;
    z-index: 13 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.ry-tarasowa .ry-banner--hero .ldm-inv-logo::before,
  body.ry-tarasowa .ry-banner--hero .ldm-inv-logo::after {
    display: none !important;
  }

  body.ry-tarasowa .ry-banner--hero .ldm-inv-logo img,
  body.ry-tarasowa .ldm-inv-logo__img {
    max-width: 150px !important;
    max-height: 48px !important;
    position: absolute !important;
    top: 31px !important;
    left: 50% !important;
    transform: translate(-50%) !important;
    background-color: #fff !important;
    border-radius: 5px !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* ---------- Shared Tarasowa type ---------- */
  body.ry-tarasowa {
    --ta-title-size: 26px;
  }

  body.ry-tarasowa .ldm-story__title,
  body.ry-tarasowa .ldm-ta-lokalizacja__copy h2,
  body.ry-tarasowa .ldm-ta-standard h2,
  body.ry-tarasowa .ldm-ta-privacy h2,
  body.ry-tarasowa .ldm-ta-gallery h2,
  body.ry-tarasowa .ldm-ta-domy__title,
  body.ry-tarasowa .ldm-ta-contact__meet h2,
  body.ry-tarasowa .ldm-page-form__title {
    font-size: 26px !important;
    line-height: 1.2 !important;
    margin: 0 0 14px !important;
  }

  body.ry-tarasowa .ldm-ta-kicker {
    font-size: 15px !important;
    letter-spacing: 0.12em !important;
    margin: 0 0 10px !important;
  }

  body.ry-tarasowa .ldm-ta-lead,
  body.ry-tarasowa .ldm-story__lead,
  body.ry-tarasowa .ldm-story__text {
    font-size: 16px !important;
    line-height: 1.65 !important;
    max-width: none !important;
    margin: 0 0 16px !important;
  }

  body.ry-tarasowa .ldm-ta-list li {
    padding: 10px 0 10px 18px !important;
    font-size: 15px !important;
    border-bottom-width: 1px !important;
  }

  body.ry-tarasowa .ldm-ta-list li::before {
    top: 16px !important;
    width: 7px !important;
    height: 7px !important;
  }

  body.ry-tarasowa .ldm-ta-list--cols {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-bottom: 20px !important;
  }

  /* ---------- Pillars ---------- */
  body.ry-tarasowa .ldm-ta-pillars {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.ry-tarasowa .ldm-ta-pillar {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 28px 20px !important;
    border: 1px solid rgba(46, 49, 146, 0.16) !important;
    border-bottom: 1px solid rgba(46, 49, 146, 0.16) !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }

  body.ry-tarasowa .ldm-ta-pillar:last-child {
    border-bottom: 1px solid rgba(46, 49, 146, 0.16) !important;
  }

  body.ry-tarasowa .ldm-ta-pillar:not(:last-child)::after {
    display: none !important;
  }

  body.ry-tarasowa .ldm-ta-pillar__icon {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    margin: 0 auto 16px !important;
    border-width: 1px !important;
  }

  body.ry-tarasowa .ldm-ta-pillar__icon svg {
    width: 28px !important;
    height: 28px !important;
  }

  body.ry-tarasowa .ldm-ta-pillar h3 {
    font-size: 18px !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    letter-spacing: 0.02em !important;
    text-align: center !important;
    width: 100% !important;
  }

  body.ry-tarasowa .ldm-ta-pillar__text {
    font-size: 15px !important;
    line-height: 1.65 !important;
    margin: 0 0 18px !important;
    text-align: center !important;
    -webkit-line-clamp: 5 !important;
    line-clamp: 5 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.ry-tarasowa .ldm-ta-pillar.is-open .ldm-ta-pillar__text {
    display: block !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    overflow: visible !important;
  }

  body.ry-tarasowa .ldm-ta-pillar__more.ry-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    margin: 0 auto !important;
    padding: 10px 18px !important;
  }

  /* ---------- Lokalizacja ---------- */
  body.ry-tarasowa .ldm-ta-lokalizacja {
    padding: 56px 0 !important;
  }

  body.ry-tarasowa .ldm-ta-lokalizacja__edge {
    height: 40px !important;
  }

  body.ry-tarasowa .ldm-ta-lokalizacja__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.ry-tarasowa .ldm-ta-lokalizacja__media,
  body.ry-tarasowa .ldm-ta-lokalizacja__img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
  }

  body.ry-tarasowa .ldm-ta-points {
    gap: 16px !important;
  }

  body.ry-tarasowa .ldm-ta-points li {
    grid-template-columns: 48px 1fr !important;
    gap: 12px !important;
    padding-bottom: 16px !important;
    border-bottom-width: 1px !important;
  }

  body.ry-tarasowa .ldm-ta-points__icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }

  body.ry-tarasowa .ldm-ta-points__icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  body.ry-tarasowa .ldm-ta-points p,
  body.ry-tarasowa .ldm-ta-points li p {
    font-size: 15px !important;
    margin: 0 !important;
  }

  /* ---------- Bridge ---------- */
  body.ry-tarasowa .ldm-ta-bridge {
    padding: 40px 0 !important;
  }

  body.ry-tarasowa .ldm-ta-bridge__inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "text text"
      "left right" !important;
    gap: 16px !important;
    align-items: center !important;
  }

  body.ry-tarasowa .ldm-ta-bridge__text {
    grid-area: text !important;
    text-align: center !important;
    font-size: 15px !important;
    padding: 0 8px !important;
  }

  body.ry-tarasowa .ldm-ta-bridge__house--left {
    grid-area: left !important;
    justify-self: center !important;
    max-width: 130px !important;
    width: 100% !important;
    height: auto !important;
  }

  body.ry-tarasowa .ldm-ta-bridge__house--right {
    grid-area: right !important;
    justify-self: center !important;
    max-width: 130px !important;
    width: 100% !important;
    height: auto !important;
  }

  /* ---------- Story / O inwestycji ---------- */
  body.ry-tarasowa .ldm-story {
    padding: 56px 0 !important;
  }

  body.ry-tarasowa .ldm-story__edge {
    height: 40px !important;
  }

  body.ry-tarasowa .ldm-story__row,
  body.ry-tarasowa .ldm-story__row--text-first,
  body.ry-tarasowa .ldm-story__row--media-first {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin: 0 0 36px !important;
  }

  /* Second story block: text first, image under title */
  body.ry-tarasowa .ldm-story__row--media-first .ldm-story__copy {
    order: 1 !important;
  }

  body.ry-tarasowa .ldm-story__row--media-first .ldm-story__media {
    order: 2 !important;
  }

  body.ry-tarasowa .ldm-story__row--text-first .ldm-story__copy {
    order: 1 !important;
  }

  body.ry-tarasowa .ldm-story__row--text-first .ldm-story__media {
    order: 2 !important;
  }

  body.ry-tarasowa .ldm-story__row--text-first .ldm-story__copy,
  body.ry-tarasowa .ldm-story__row--media-first .ldm-story__copy,
  body.ry-tarasowa .ldm-story__copy {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    max-width: none !important;
  }

  body.ry-tarasowa .ldm-story__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.ry-tarasowa .ldm-story__row--text-first .ldm-story__list {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.ry-tarasowa .ldm-story__list li,
  body.ry-tarasowa .ldm-story__row--text-first .ldm-story__list li,
  body.ry-tarasowa .ldm-story__row--media-first .ldm-story__list li {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    text-align: left !important;
    padding: 0 !important;
  }

  body.ry-tarasowa .ldm-story__icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-width: 1px !important;
    margin: 0 !important;
  }

  body.ry-tarasowa .ldm-story__icon svg {
    width: 20px !important;
    height: 20px !important;
  }

  body.ry-tarasowa .ldm-story__item {
    font-size: 15px !important;
    line-height: 1.5 !important;
    padding-top: 8px !important;
  }

  body.ry-tarasowa .ldm-story__media,
  body.ry-tarasowa .ldm-story__img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
  }

  body.ry-tarasowa .ldm-ta-features {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.ry-tarasowa .ldm-ta-features article,
  body.ry-tarasowa .ldm-ta-feature {
    padding: 16px !important;
    font-size: 15px !important;
  }

  /* ---------- Plan (rotated vertical, full width) ---------- */
  body.ry-tarasowa .ldm-ta-domy {
    padding-top: 48px !important;
    padding-bottom: 40px !important;
  }

  body.ry-tarasowa .ldm-ta-domy__title {
    text-align: center !important;
    margin-bottom: 20px !important;
  }

  body.ry-tarasowa .ldm-ta-plan {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.ry-tarasowa .ldm-ta-plan {
    --ta-mask-w: 137px;
    --ta-mask-h: 139px;
  }

  body.ry-tarasowa .ldm-ta-plan__map {
    display: block !important;
    position: relative !important;
    order: 1 !important;
    width: 390px !important;
    min-width: 390px !important;
    max-width: 390px !important;
    margin: 0 auto 16px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    line-height: 0 !important;
    aspect-ratio: 507 / 1316 !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #e8e9f0 !important;
  }

  body.ry-tarasowa .ldm-ta-plan__map.is-mobile-plan > img,
  body.ry-tarasowa .ldm-ta-plan__map.is-mobile-plan > .maparea {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.ry-tarasowa .ldm-ta-plan__paint {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  body.ry-tarasowa .ldm-ta-plan__map canvas:not(.ldm-ta-plan__paint) {
    display: none !important;
  }

  /* Fixed mask layout — same px sizes/positions for all widths ≤991px */
  body.ry-tarasowa .ldm-ta-plan__masks {
    display: block !important;
    position: relative !important;
    width: 381px !important;
    min-width: 381px !important;
    max-width: 381px !important;
    height: 973px !important;
    margin: -41px auto 0 !important;
    padding: 0 !important;
    left: auto !important;
    top: auto !important;
    z-index: 3 !important;
    pointer-events: none !important;
    overflow: visible !important;
  }

  body.ry-tarasowa .ldm-ta-plan__mask {
    display: block !important;
    position: absolute !important;
    width: 137px !important;
    height: 139px !important;
    min-width: 137px !important;
    min-height: 139px !important;
    max-width: 137px !important;
    max-height: 139px !important;
    border: 0 !important;
    outline: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  body.ry-tarasowa .ldm-ta-plan__mask rect {
    stroke: none !important;
    stroke-width: 0 !important;
  }

  body.ry-tarasowa .ldm-ta-plan__mask--status-free rect {
    fill: #699f02 !important;
    fill-opacity: 0.32 !important;
  }
  body.ry-tarasowa .ldm-ta-plan__mask--status-reserved rect {
    fill: #F59C27 !important;
    fill-opacity: 0.32 !important;
  }
  body.ry-tarasowa .ldm-ta-plan__mask--status-sold rect {
    fill: #ac1f1f !important;
    fill-opacity: 0.32 !important;
  }
  body.ry-tarasowa .ldm-ta-plan__mask--status-soon rect {
    fill: #555a6a !important;
    fill-opacity: 0.25 !important;
  }

  body.ry-tarasowa .ldm-ta-plan__mask--6A { left: 30px !important; top: 44px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--6B { left: 30px !important; top: 183px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--8A { left: 30px !important; top: 373px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--8B { left: 30px !important; top: 512px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--10A { left: 30px !important; top: 695px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--10B { left: 30px !important; top: 834px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--5A { left: 216px !important; top: 41px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--5B { left: 215px !important; top: 180px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--7A { left: 218px !important; top: 373px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--7B { left: 218px !important; top: 512px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--9A { left: 217px !important; top: 695px !important; }
  body.ry-tarasowa .ldm-ta-plan__mask--9B { left: 217px !important; top: 834px !important; }

  body.ry-tarasowa .ldm-ta-plan__hint {
    order: 2 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    margin: 14px auto 12px !important;
    max-width: 95% !important;
    width: 95% !important;
    color: #666 !important;
  }

  body.ry-tarasowa .ldm-ta-legend {
    order: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 auto 24px !important;
    max-width: 95% !important;
    width: 95% !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.ry-tarasowa .ldm-ta-legend__item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    gap: 8px !important;
    color: #1a1a24 !important;
  }

  body.ry-tarasowa .ldm-ta-legend__item::before {
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    min-height: 12px !important;
    border-radius: 2px !important;
    flex-shrink: 0 !important;
  }

  body.ry-tarasowa .ldm-ta-plan__tip {
    font-size: 12px !important;
    padding: 6px 10px !important;
    transform: translate(-50%, calc(-100% - 8px)) !important;
  }

  /* ---------- Unit cards ---------- */
  body.ry-tarasowa .ldm-ta-units {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-top: 8px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard {
    padding: 16px !important;
    border-width: 1px !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 20px rgba(26, 26, 36, 0.06) !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__head {
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__id {
    font-size: 24px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__status {
    font-size: 15px !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    gap: 6px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__status i {
    width: 8px !important;
    height: 8px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__chips {
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__chip {
    font-size: 15px !important;
    padding: 7px 12px !important;
    gap: 6px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__chip svg {
    width: 16px !important;
    height: 16px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__specs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__spec {
    gap: 8px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__spec > svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__spec strong {
    font-size: 16px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__spec span,
  body.ry-tarasowa .ldm-ta-ucard__spec small {
    font-size: 15px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__btn,
  body.ry-tarasowa a.ldm-ta-ucard__btn,
  body.ry-tarasowa .ldm-ta-ucard__btn span,
  body.ry-tarasowa a.ldm-ta-ucard__btn span {
    min-height: 44px !important;
    padding: 10px 8px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    gap: 5px !important;
    border-radius: 8px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__btn--primary,
  body.ry-tarasowa a.ldm-ta-ucard__btn--primary,
  body.ry-tarasowa .ldm-ta-ucard__btn--primary span {
    font-size: 12px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__btn--ghost,
  body.ry-tarasowa a.ldm-ta-ucard__btn--ghost,
  body.ry-tarasowa .ldm-ta-ucard__btn--ghost span,
  body.ry-tarasowa a.ldm-ta-ucard__btn--ghost span {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__btn--ghost svg,
  body.ry-tarasowa a.ldm-ta-ucard__btn--ghost svg,
  body.ry-tarasowa .ldm-ta-ucard__btn--ghost svg path {
    color: #111 !important;
    stroke: #111 !important;
    fill: none !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__btn svg {
    width: 16px !important;
    height: 16px !important;
  }

  body.ry-tarasowa .ldm-ta-legal {
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin: 18px 0 0 !important;
    text-align: center !important;
  }

  /* Unit popup */
  body.ry-tarasowa .ldm-ta-unit {
    padding: 12px !important;
  }

  body.ry-tarasowa .ldm-ta-unit__panel {
    width: 96vw !important;
    max-width: 96vw !important;
    height: auto !important;
    min-height: 68vh !important;
    aspect-ratio: auto !important;
    border-radius: 8px !important;
    border-width: 1px !important;
  }

  body.ry-tarasowa .ldm-ta-unit__bar {
    font-size: 15px !important;
    padding: 12px 40px 12px 12px !important;
    gap: 6px 8px !important;
  }

  body.ry-tarasowa .ldm-ta-unit__bar .nrlokalu {
    font-size: 15px !important;
  }

  body.ry-tarasowa .ldm-ta-unit__close {
    top: 4px !important;
    right: 8px !important;
    font-size: 28px !important;
  }

  /* ---------- Gallery ---------- */
  body.ry-tarasowa .ldm-ta-gallery {
    padding: 48px 0 56px !important;
  }

  body.ry-tarasowa .ldm-ta-gallery__head {
    margin-bottom: 20px !important;
  }

  body.ry-tarasowa .ldm-ta-slider__viewport {
    padding: 8px 0 16px !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  body.ry-tarasowa .ldm-ta-slider__track {
    gap: 12px !important;
    padding: 0 18px !important;
  }

  body.ry-tarasowa .ldm-ta-slider__slide,
  body.ry-tarasowa .ldm-ta-slider__slide--tall,
  body.ry-tarasowa .ldm-ta-slider__slide--mid,
  body.ry-tarasowa .ldm-ta-slider__slide--short {
    flex: 0 0 78% !important;
    max-width: 300px !important;
    aspect-ratio: 3 / 4 !important;
    box-shadow: 0 10px 28px rgba(26, 26, 36, 0.1) !important;
    transform: none !important;
  }

  body.ry-tarasowa .ldm-ta-slider__controls {
    max-width: 280px !important;
    margin: 16px auto 0 !important;
    gap: 14px !important;
    padding: 0 8px !important;
  }

  body.ry-tarasowa .ldm-ta-slider__btn,
  body.ry-tarasowa .ldm-ta-slider__btn--prev,
  body.ry-tarasowa .ldm-ta-slider__btn--next {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border: 2px solid #2e3192 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #2e3192 !important;
    box-shadow: 0 2px 10px rgba(46, 49, 146, 0.15) !important;
  }

  body.ry-tarasowa .ldm-ta-slider__btn svg {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    display: block !important;
  }

  body.ry-tarasowa .ldm-ta-slider__btn svg path {
    stroke: #2e3192 !important;
    stroke-width: 2.2 !important;
  }

  /* ---------- Contact ---------- */
  body.ry-tarasowa .ldm-ta-contact {
    padding: 48px 0 !important;
  }

  body.ry-tarasowa .ldm-ta-contact__top {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-bottom: 24px !important;
  }

  body.ry-tarasowa .ldm-ta-contact__meet,
  body.ry-tarasowa .ldm-ta-contact__meet h2,
  body.ry-tarasowa .ldm-ta-contact__lead,
  body.ry-tarasowa .ldm-page-form__content,
  body.ry-tarasowa .ldm-page-form__title,
  body.ry-tarasowa .ldm-page-form__lead {
    max-width: 95% !important;
    width: 95% !important;
  }

  body.ry-tarasowa .ldm-ta-contact__photo {
    width: 100% !important;
    height: auto !important;
    max-height: 340px !important;
    object-fit: cover !important;
  }

  body.ry-tarasowa .ldm-ta-contact__map,
  body.ry-tarasowa .ldm-ta-contact__map iframe {
    width: 100% !important;
    min-height: 280px !important;
    height: 280px !important;
  }

  body.ry-tarasowa .ldm-page-form,
  body.ry-tarasowa .wpcf7 {
    font-size: 15px !important;
  }

  body.ry-tarasowa .wpcf7 input,
  body.ry-tarasowa .wpcf7 textarea,
  body.ry-tarasowa .wpcf7 select {
    font-size: 15px !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
  }

  body.ry-tarasowa .wpcf7 textarea {
    min-height: 120px !important;
  }

  /* ---------- Footer / float ---------- */
  body.ry-tarasowa .ldm-footer {
    padding: 40px 0 24px !important;
    background: #fff !important;
    border-top: 1px solid rgba(46, 49, 146, 0.12) !important;
  }

  body.ry-tarasowa .ldm-footer__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    text-align: center !important;
    padding-bottom: 28px !important;
  }

  body.ry-tarasowa .ldm-footer__logo img,
  body.ry-tarasowa .ldm-logo--footer {
    display: block !important;
    height: 56px !important;
    width: auto !important;
    max-width: 160px !important;
    margin: 0 auto 12px !important;
  }

  body.ry-tarasowa .ldm-footer__brand p,
  body.ry-tarasowa .ldm-footer__col p {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #4a4a5e !important;
  }

  body.ry-tarasowa .ldm-footer__row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: left !important;
  }

  body.ry-tarasowa .ldm-footer__icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #2e3192 !important;
  }

  body.ry-tarasowa .ldm-footer__icon svg {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    display: block !important;
  }

  body.ry-tarasowa .ldm-footer__col h3 {
    font-size: 14px !important;
    letter-spacing: 0.1em !important;
    margin: 0 0 12px !important;
    color: #2e3192 !important;
  }

  body.ry-tarasowa .ldm-footer__bar {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
    font-size: 13px !important;
    padding: 16px 0 72px !important;
  }

  body.ry-tarasowa .ldm-footer__bar a:last-child {
    text-align: center !important;
  }

  body.ry-tarasowa .footer-content,
  body.ry-tarasowa .ldm-footer__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    text-align: center !important;
  }

  /* Bottom contact bar — full width, white text */
  body.ry-tarasowa .ry-float {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    gap: 0 !important;
    background: #2e3192 !important;
    box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.18) !important;
  }

  body.ry-tarasowa .ry-float a.ry-btn,
  body.ry-tarasowa .ry-float a.ry-phone,
  body.ry-tarasowa .ry-float a.ry-email,
  body.ry-tarasowa .ry-float a {
    flex: 1 1 50% !important;
    width: auto !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: #2e3192 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  body.ry-tarasowa .ry-float a.ry-email {
    font-size: 0 !important;
    gap: 0 !important;
  }

  body.ry-tarasowa .ry-float a.ry-email svg,
  body.ry-tarasowa .ry-float__icon--email {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    display: block !important;
    flex-shrink: 0 !important;
  }

  body.ry-tarasowa .ry-float a.ry-phone {
    border-right: 1px solid rgba(255, 255, 255, 0.2) !important;
  }

  body.ry-tarasowa .ry-float__icon,
  body.ry-tarasowa .ry-float__icon--phone,
  body.ry-tarasowa .ry-float__icon--email,
  body.ry-tarasowa .ry-float a svg {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    flex-shrink: 0 !important;
  }

  body.ry-tarasowa .ry-float a.ry-btn svg,
  body.ry-tarasowa .ry-float a.ry-btn svg path,
  body.ry-tarasowa .ry-float a svg path,
  body.ry-tarasowa .ry-float__icon path {
    fill: #fff !important;
    color: #fff !important;
  }

  /* Hide decorative clutter on small screens */
  body.ry-tarasowa .decor,
  body.ry-tarasowa .decor2,
  body.ry-tarasowa .decor3 {
    display: none !important;
  }

  /* =========================================================
     HOME + INNER PAGES — px layout (desktop untouched)
     ========================================================= */

  body.ry-home:not(.ry-tarasowa),
  body.ry-inner:not(.ry-tarasowa) {
    padding-bottom: 56px !important;
  }

  body.ry-home:not(.ry-tarasowa) h1,
  body.ry-home:not(.ry-tarasowa) .ry-banner__title,
  body.ry-home:not(.ry-tarasowa) #ry-top .ry-banner__overlay-inner .ry-banner__title,
  body.ry-inner:not(.ry-tarasowa) h1,
  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__title {
    font-size: 34px !important;
    line-height: 1.12 !important;
  }

  body.ry-home:not(.ry-tarasowa) h2,
  body.ry-home:not(.ry-tarasowa) .ry-about__content h2,
  body.ry-inner:not(.ry-tarasowa) .ry-about__content h2,
  body.ry-home:not(.ry-tarasowa) .ldm-build__title,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__title,
  body.ry-home:not(.ry-tarasowa) .ldm-invest__title,
  body.ry-home:not(.ry-tarasowa) .ldm-story__title,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__title,
  body.ry-home:not(.ry-tarasowa) .ldm-contact__title,
  body.ry-home:not(.ry-tarasowa) #ry-news .ry-section-title h2,
  body.ry-inner:not(.ry-tarasowa) h2,
  body.ry-inner:not(.ry-tarasowa) .ldm-page-form__title,
  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin: 0 0 14px !important;
  }

  body.ry-home:not(.ry-tarasowa) p,
  body.ry-home:not(.ry-tarasowa) .ry-desc p,
  body.ry-home:not(.ry-tarasowa) .ldm-build__text,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__text,
  body.ry-home:not(.ry-tarasowa) .ldm-invest__lead,
  body.ry-home:not(.ry-tarasowa) .ldm-story__lead,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__lead,
  body.ry-home:not(.ry-tarasowa) .ldm-story__text,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__text,
  body.ry-home:not(.ry-tarasowa) .ldm-contact__lead,
  body.ry-inner:not(.ry-tarasowa) p,
  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__lead {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  /* —— Home / shared hero —— */
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero,
  body.ry-home:not(.ry-tarasowa) #ry-top.ry-banner {
    min-height: 100svh !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__slider,
  body.ry-home:not(.ry-tarasowa) .ry-banner__slide,
  body.ry-home:not(.ry-tarasowa) .ry-banner__slide .ry-img,
  body.ry-home:not(.ry-tarasowa) .ry-banner__slide img {
    width: 100% !important;
    height: 100% !important;
    min-height: 100svh !important;
    object-fit: cover !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__overlay,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ry-banner__overlay {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    top: 40% !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    text-align: center !important;
    pointer-events: none !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__overlay-inner,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ry-banner__overlay-inner {
    padding: 18px 14px !important;
    max-width: 100% !important;
    width: 100% !important;
    align-items: center !important;
    background: radial-gradient(
      ellipse 80% 70% at 50% 50%,
      rgba(16, 18, 52, 0.72) 0%,
      rgba(16, 18, 52, 0.35) 55%,
      transparent 75%
    ) !important;
    pointer-events: auto !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__eyebrow {
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
    margin: 0 0 10px !important;
    color: rgba(255, 255, 255, 0.85) !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__title,
  body.ry-home:not(.ry-tarasowa) #ry-top .ry-banner__overlay-inner .ry-banner__title {
    font-size: 38px !important;
    line-height: 1.08 !important;
    margin: 0 0 12px !important;
    color: #fff !important;
    text-align: center !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__tagline,
  body.ry-home:not(.ry-tarasowa) #ry-top .ry-banner__overlay-inner .ry-banner__tagline {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin: 0 auto 18px !important;
    max-width: 340px !important;
    color: rgba(255, 255, 255, 0.92) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__cta,
  body.ry-home:not(.ry-tarasowa) a.ry-btn.ry-banner__cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 24px !important;
    font-size: 15px !important;
    pointer-events: auto !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__paint,
  body.ry-home:not(.ry-tarasowa) .ry-banner__diamonds {
    display: none !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__arrows,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ry-banner__arrows {
    position: absolute !important;
    top: auto !important;
    bottom: 249px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    z-index: 14 !important;
    width: auto !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__arrow,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ry-banner__arrow,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero button.ry-banner__arrow {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 8px !important;
    background: rgba(46, 49, 146, 0.88) !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__arrow svg {
    width: 16px !important;
    height: 16px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__dots,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ry-banner__dots {
    bottom: 48px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    gap: 10px !important;
    z-index: 15 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__dot,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ry-banner__dot {
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
    border-width: 2px !important;
    border-color: rgba(255, 255, 255, 0.9) !important;
    border-radius: 50% !important;
    background: transparent !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__dot.is-active,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ry-banner__dot.is-active {
    width: 28px !important;
    height: 10px !important;
    min-width: 28px !important;
    border-radius: 999px !important;
    background: #fff !important;
    border-color: #fff !important;
  }

  body.ry-tarasowa .ry-banner__dots,
  body.ry-tarasowa .ry-banner--hero .ry-banner__dots {
    bottom: 48px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    gap: 10px !important;
    z-index: 15 !important;
  }

  body.ry-tarasowa .ry-banner__dot,
  body.ry-tarasowa .ry-banner--hero .ry-banner__dot {
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
    border-width: 2px !important;
    border-color: rgba(255, 255, 255, 0.9) !important;
    border-radius: 50% !important;
    background: transparent !important;
  }

  body.ry-tarasowa .ry-banner__dot.is-active,
  body.ry-tarasowa .ry-banner--hero .ry-banner__dot.is-active {
    width: 28px !important;
    height: 10px !important;
    min-width: 28px !important;
    border-radius: 999px !important;
    background: #fff !important;
    border-color: #fff !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__wave,
  body.ry-home:not(.ry-tarasowa) .ry-banner__torn {
    height: 36px !important;
    z-index: 8 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner__wave svg,
  body.ry-home:not(.ry-tarasowa) .ry-banner__torn svg {
    width: 100% !important;
    height: 36px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-avail--side,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: 72px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    gap: 6px !important;
    z-index: 12 !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-avail__item,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side .ldm-avail__item {
    position: relative !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 118px !important;
    padding: 26px 8px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side .ldm-avail__item::before,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side .ldm-avail__item::after {
    inset: -6px 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-avail__icon,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail__icon,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side .ldm-avail__icon {
    width: 54px !important;
    height: 42px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-avail__art,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail__art {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-avail__num,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side .ldm-avail__num,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side .ldm-avail__item--free .ldm-avail__num,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side .ldm-avail__item--reserved .ldm-avail__num,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side .ldm-avail__item--sold .ldm-avail__num {
    font-size: 42px !important;
    margin: 0 !important;
    margin-top: -9px !important;
    margin-bottom: 10px !important;
    line-height: 1.05 !important;
    color: #fff !important;
    text-align: center !important;
    width: 100% !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-avail__label,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side .ldm-avail__label {
    font-size: 11px !important;
    letter-spacing: 0.02em !important;
    max-width: 100% !important;
    width: 100% !important;
    text-align: center !important;
    color: #fff !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    margin-bottom: 14px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-logo,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-inv-logo {
    position: absolute !important;
    top: 88px !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    max-width: 200px !important;
    z-index: 13 !important;
    margin: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-inv-logo::before,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-inv-logo::after {
    display: none !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-inv-logo img {
    max-width: 150px !important;
    max-height: 48px !important;
    position: absolute !important;
    top: 31px !important;
    left: 50% !important;
    transform: translate(-50%) !important;
    background-color: white !important;
    border-radius: 5px !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* —— About —— */
  body.ry-home:not(.ry-tarasowa) .ry-about.ry-split,
  body.ry-inner:not(.ry-tarasowa) .ry-about.ry-split {
    padding-bottom: 24px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__layout,
  body.ry-inner:not(.ry-tarasowa) .ry-about__layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "media"
      "content"
      "aside" !important;
    gap: 28px !important;
    margin-bottom: 0 !important;
    padding-top: 8px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__media,
  body.ry-inner:not(.ry-tarasowa) .ry-about__media {
    grid-area: media !important;
    min-height: 280px !important;
    height: 280px !important;
    border-radius: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__media-edge,
  body.ry-inner:not(.ry-tarasowa) .ry-about__media-edge {
    height: 28px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__content,
  body.ry-inner:not(.ry-tarasowa) .ry-about__content {
    grid-area: content !important;
    padding: 0 !important;
    max-width: 100% !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__content h2,
  body.ry-inner:not(.ry-tarasowa) .ry-about__content h2 {
    font-size: 28px !important;
    margin: 0 0 14px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__content .ry-desc p,
  body.ry-inner:not(.ry-tarasowa) .ry-about__content .ry-desc p {
    font-size: 16px !important;
    line-height: 1.65 !important;
    margin: 0 0 12px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__aside,
  body.ry-inner:not(.ry-tarasowa) .ry-about__aside {
    grid-area: aside !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stats,
  body.ry-inner:not(.ry-tarasowa) .ry-about__stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stat,
  body.ry-inner:not(.ry-tarasowa) .ry-about__stat {
    min-height: 160px !important;
    padding: 14px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 4px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stat:nth-child(n),
  body.ry-inner:not(.ry-tarasowa) .ry-about__stat:nth-child(n) {
    grid-column: auto !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stat-icon,
  body.ry-inner:not(.ry-tarasowa) .ry-about__stat-icon {
    width: 81px !important;
    height: 81px !important;
    margin: 0 0 4px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stat-num,
  body.ry-inner:not(.ry-tarasowa) .ry-about__stat-num {
    font-size: 26px !important;
    line-height: 1.1 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stat-num--phrase,
  body.ry-inner:not(.ry-tarasowa) .ry-about__stat-num--phrase {
    font-size: 11px !important;
    text-align: center !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stat-label,
  body.ry-inner:not(.ry-tarasowa) .ry-about__stat-label {
    font-size: 12px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.04em !important;
    margin-top: 10px !important;
  }

  /* —— Build process —— */
  body.ry-home:not(.ry-tarasowa) .ldm-build,
  body.ry-inner:not(.ry-tarasowa) .ldm-build {
    margin-top: 8px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__wave,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__wave {
    height: 32px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__inner,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__stage,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__stage {
    order: -1 !important;
    min-height: 200px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__house--left .ldm-build__svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__house--left .ldm-build__svg,
  body.ry-home:not(.ry-tarasowa) .ldm-build__house--right .ldm-build__svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__house--right .ldm-build__svg {
    width: 88px !important;
    max-width: 28vw !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__house--main .ldm-build__svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__house--main .ldm-build__svg {
    width: 168px !important;
    max-width: 52vw !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__house--left,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__house--left {
    margin-right: -28px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__house--right,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__house--right {
    margin-left: -28px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__eyebrow,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__eyebrow {
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
    margin: 0 0 10px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__title,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__title {
    font-size: 30px !important;
    line-height: 1.1 !important;
    margin: 0 0 12px !important;
    text-shadow: none !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__text,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__text {
    max-width: 100% !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    text-shadow: none !important;
    margin-bottom: 18px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__list,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__list {
    margin: 0 0 8px !important;
    gap: 14px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__list li,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__list li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__list-icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__list-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    margin-top: 1px !important;
    color: #c5c8f0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__list-icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__list-icon svg {
    width: 24px !important;
    height: 24px !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__cta,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__cta,
  body.ry-home:not(.ry-tarasowa) .ldm-build a.ldm-build__cta,
  body.ry-inner:not(.ry-tarasowa) .ldm-build a.ldm-build__cta {
    display: inline-flex !important;
    margin-top: 28px !important;
    margin-bottom: 24px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 10px 18px !important;
    gap: 10px !important;
    font-size: 14px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__copy,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__cta-icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__cta-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    border-width: 1.5px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__cta-icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__cta-icon svg {
    width: 14px !important;
    height: 14px !important;
  }

  /* Tiny vw icons → readable px on mobile */
  body.ry-home:not(.ry-tarasowa) .ldm-footer__icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__icon,
  body.ry-tarasowa .ldm-footer__icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-values__icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-steps__icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    flex-shrink: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-footer__icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__icon svg,
  body.ry-tarasowa .ldm-footer__icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-values__icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-steps__icon svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-values__icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-steps__icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-values__icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-steps__icon svg {
    width: 100% !important;
    height: 100% !important;
  }

  /* —— Investments —— */
  body.ry-home:not(.ry-tarasowa) .ldm-invest,
  body.ry-inner:not(.ry-tarasowa) .ldm-invest {
    padding: 15px 0 15px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-invest__head,
  body.ry-inner:not(.ry-tarasowa) .ldm-invest__head {
    margin-bottom: 28px !important;
    text-align: center !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-invest__title,
  body.ry-inner:not(.ry-tarasowa) .ldm-invest__title {
    font-size: 28px !important;
    margin: 0 0 10px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-invest__lead,
  body.ry-inner:not(.ry-tarasowa) .ldm-invest__lead {
    font-size: 16px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-invest__grid,
  body.ry-inner:not(.ry-tarasowa) .ldm-invest__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card {
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__media,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__media {
    min-height: 220px !important;
    height: 220px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__status,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__status {
    font-size: 12px !important;
    padding: 6px 10px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__counters,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__counters {
    gap: 6px !important;
    padding: 8px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__counter,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__counter {
    min-width: 0 !important;
    padding: 8px 6px !important;
    font-size: 12px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__counter strong,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__counter strong {
    font-size: 18px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__nav,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__nav {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: #2e3192 !important;
    border: 0 !important;
    box-shadow: 0 2px 10px rgba(16, 24, 40, 0.18) !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__nav svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__nav svg {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    display: block !important;
    stroke: #2e3192 !important;
    color: #2e3192 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__nav svg path,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__nav svg path {
    stroke: #2e3192 !important;
    stroke-width: 2.2 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__nav--prev,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__nav--prev {
    left: 10px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__nav--next,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__nav--next {
    right: 10px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__body,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__body {
    padding: 20px 16px 22px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__name,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__name {
    font-size: 22px !important;
    margin: 0 0 8px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__desc,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__desc {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin: 0 0 16px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__actions,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__cta,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__cta,
  body.ry-home:not(.ry-tarasowa) .ldm-inv-card__contact,
  body.ry-inner:not(.ry-tarasowa) .ldm-inv-card__contact {
    flex: 1 1 auto !important;
    min-height: 46px !important;
    font-size: 14px !important;
    justify-content: center !important;
  }

  /* —— Story —— */
  body.ry-home:not(.ry-tarasowa) .ldm-story,
  body.ry-inner:not(.ry-tarasowa) .ldm-story {
    padding: 48px 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__edge,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__edge {
    height: 32px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__row,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row,
  body.ry-home:not(.ry-tarasowa) .ldm-story__row--text-first,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row--text-first,
  body.ry-home:not(.ry-tarasowa) .ldm-story__row--media-first,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row--media-first {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  /* Second story block: text first, image under the final paragraph */
  body.ry-home:not(.ry-tarasowa) .ldm-story__row--media-first .ldm-story__copy,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row--media-first .ldm-story__copy {
    order: 1 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__row--media-first .ldm-story__media,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row--media-first .ldm-story__media {
    order: 2 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__row--text-first .ldm-story__copy,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row--text-first .ldm-story__copy {
    order: 1 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__row--text-first .ldm-story__media,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row--text-first .ldm-story__media {
    order: 2 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__copy,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__copy,
  body.ry-home:not(.ry-tarasowa) .ldm-story__row--text-first .ldm-story__copy,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row--text-first .ldm-story__copy,
  body.ry-home:not(.ry-tarasowa) .ldm-story__row--media-first .ldm-story__copy,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row--media-first .ldm-story__copy {
    margin: 0 !important;
    padding: 28px 0 !important;
    text-align: left !important;
    padding-top: 9px !important;
    padding-bottom: 22px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__title,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__title {
    font-size: 26px !important;
    margin: 0 0 12px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__list,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__list {
    margin: 16px 0 !important;
    gap: 10px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__list li,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__list li {
    padding: 0 0 0 18px !important;
    font-size: 15px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__list li::before,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__list li::before {
    top: 7px !important;
    width: 7px !important;
    height: 7px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__media,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__media,
  body.ry-home:not(.ry-tarasowa) .ldm-story__media img,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__media img {
    min-height: 240px !important;
    height: 240px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__media,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__media {
    margin-bottom: 36px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__row--media-first .ldm-story__media,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__row--media-first .ldm-story__media {
    margin-bottom: 40px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story,
  body.ry-inner:not(.ry-tarasowa) .ldm-story {
    padding-bottom: 24px !important;
  }

  /* —— Quote (o-firmie) —— */
  body.ry-inner:not(.ry-tarasowa) .ldm-quote {
    padding: 36px 18px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-quote__text {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 24px !important;
    line-height: 1.4 !important;
  }

  /* —— News —— */
  body.ry-home:not(.ry-tarasowa) #ry-news.ry-blog {
    padding: 48px 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) #ry-news .ry-section-head,
  body.ry-home:not(.ry-tarasowa) .ry-section-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
    margin-bottom: -49px !important;
    margin-top: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) #ry-news .ry-section-title {
    margin-bottom: 24px !important;
    text-align: center !important;
  }

  body.ry-home:not(.ry-tarasowa) #ry-news .ry-list,
  body.ry-home:not(.ry-tarasowa) #ry-news .ry-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-blog__card--compact .ry-blog__foot .ry-btn {
    width: auto !important;
    min-width: 180px !important;
    background-color: #2e3192 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  /* —— Marquee —— */
  body.ry-home:not(.ry-tarasowa) .ldm-marquee {
    position: relative !important;
    overflow: hidden !important;
    background: #2e3192 !important;
    color: #fff !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    margin-bottom: 29px !important;
    margin-top: -48px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-marquee__group {
    padding: 14px 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-marquee__item {
    font-size: 14px !important;
    padding: 0 8px 0 16px !important;
  }

  /* —— Contact —— */
  body.ry-home:not(.ry-tarasowa) .ldm-contact,
  body.ry-inner:not(.ry-tarasowa) .ldm-contact {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-contact__grid,
  body.ry-inner:not(.ry-tarasowa) .ldm-contact__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-contact__media,
  body.ry-inner:not(.ry-tarasowa) .ldm-contact__media {
    height: 220px !important;
    min-height: 220px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-contact__media img,
  body.ry-inner:not(.ry-tarasowa) .ldm-contact__media img {
    min-height: 220px !important;
    height: 220px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-contact__panel,
  body.ry-inner:not(.ry-tarasowa) .ldm-contact__panel {
    padding: 36px 18px 48px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-contact__eyebrow,
  body.ry-inner:not(.ry-tarasowa) .ldm-contact__eyebrow {
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-contact__title,
  body.ry-inner:not(.ry-tarasowa) .ldm-contact__title {
    font-size: 28px !important;
    margin: 0 0 12px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-contact__lead,
  body.ry-inner:not(.ry-tarasowa) .ldm-contact__lead {
    margin: 0 0 20px !important;
    max-width: 95% !important;
    color: #4a4a5e !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-contact__fields,
  body.ry-inner:not(.ry-tarasowa) .ldm-contact__fields {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.ry-home:not(.ry-tarasowa) .wpcf7 input,
  body.ry-home:not(.ry-tarasowa) .wpcf7 textarea,
  body.ry-home:not(.ry-tarasowa) .wpcf7 select,
  body.ry-inner:not(.ry-tarasowa) .wpcf7 input,
  body.ry-inner:not(.ry-tarasowa) .wpcf7 textarea,
  body.ry-inner:not(.ry-tarasowa) .wpcf7 select {
    font-size: 16px !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.ry-home:not(.ry-tarasowa) .wpcf7 textarea,
  body.ry-inner:not(.ry-tarasowa) .wpcf7 textarea {
    min-height: 120px !important;
  }

  /* —— Inner page banner —— */
  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner {
    min-height: 280px !important;
    align-items: center !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 100px 18px 36px !important;
    align-items: end !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__copy {
    max-width: 100% !important;
    margin-bottom: 0 !important;
    text-align: left !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__crumbs {
    font-size: 13px !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__title {
    font-size: 34px !important;
    line-height: 1.12 !important;
    text-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__lead {
    font-size: 16px !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    line-height: 1.55 !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-block__lead {
    margin: 0 !important;
    max-width: 95% !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__houses {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 160px !important;
    max-width: 42vw !important;
    margin: 8px 0 0 auto !important;
    opacity: 0.85 !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__houses .ldm-build__house--left .ldm-build__svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__houses .ldm-build__house--right .ldm-build__svg {
    width: 48px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__houses .ldm-build__house--main .ldm-build__svg {
    width: 92px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__wave {
    height: 28px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact {
    padding: 40px 0 !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__photo {
    display: none !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__info {
    gap: 0 !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__card {
    padding: 18px 0 !important;
    gap: 14px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__map {
    min-height: 260px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-contact__map iframe {
    min-height: 260px !important;
    height: 260px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-form {
    padding: 40px 0 56px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-form__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-form__media {
    order: -1 !important;
    min-height: 220px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-form__media img {
    min-height: 220px !important;
    height: 220px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-form__title {
    font-size: 28px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-form__lead {
    margin: 0 0 20px !important;
    max-width: 90% !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-form__inner,
  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-intro__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-intro__media,
  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-form__media {
    width: 100% !important;
    height: 220px !important;
    min-height: 220px !important;
    order: -1 !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-form__media img,
  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-intro__media img {
    min-height: 220px !important;
    height: 220px !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-block--soft .ry-wrap,
  body.ry-inner:not(.ry-tarasowa) .ldm-page-block--waved .ry-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-block--waved {
    padding-top: 72px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-values,
  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-steps {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 26px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-values__item h3,
  body.ry-inner:not(.ry-tarasowa) .ldm-values__copy h3 {
    font-size: 15px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-grunty-steps__item {
    display: flex !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 14px !important;
    background: transparent !important;
    border-top: 3px solid #2e3192 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-block--waved-bottom {
    padding-bottom: 41px !important;
    padding-top: 45px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-bridge {
    padding: 40px 0 !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__title {
    font-size: 26px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__contacts {
    flex-direction: column !important;
    gap: 14px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__icon {
    width: 40px !important;
    height: 40px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-bridge__house {
    display: none !important;
  }

  /* —— Footer (home + inner) —— */
  body.ry-home:not(.ry-tarasowa) .ldm-footer,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer {
    padding: 40px 0 24px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-footer__inner,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    text-align: center !important;
    padding-bottom: 28px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-footer__logo img,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__logo img {
    height: 56px !important;
    width: auto !important;
    margin: 0 auto 12px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-footer__row,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__row {
    justify-content: center !important;
    gap: 10px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-footer__icon,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__icon {
    width: 24px !important;
    height: 24px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-footer__icon svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-footer__col h3,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__col h3 {
    font-size: 14px !important;
    letter-spacing: 0.1em !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-footer__bar,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__bar {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
    font-size: 13px !important;
    padding: 16px 0 20px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-footer__bar a:last-child,
  body.ry-inner:not(.ry-tarasowa) .ldm-footer__bar a:last-child {
    text-align: center !important;
  }

  /* —— Float bar (home + inner) —— */
  body.ry-home:not(.ry-tarasowa) .ry-float,
  body.ry-inner:not(.ry-tarasowa) .ry-float {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    gap: 0 !important;
    background: #2e3192 !important;
    box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.18) !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-float a.ry-btn,
  body.ry-home:not(.ry-tarasowa) .ry-float a.ry-phone,
  body.ry-home:not(.ry-tarasowa) .ry-float a.ry-email,
  body.ry-home:not(.ry-tarasowa) .ry-float a,
  body.ry-inner:not(.ry-tarasowa) .ry-float a.ry-btn,
  body.ry-inner:not(.ry-tarasowa) .ry-float a.ry-phone,
  body.ry-inner:not(.ry-tarasowa) .ry-float a.ry-email,
  body.ry-inner:not(.ry-tarasowa) .ry-float a {
    flex: 1 1 50% !important;
    width: auto !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: #2e3192 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-float a.ry-phone,
  body.ry-inner:not(.ry-tarasowa) .ry-float a.ry-phone {
    border-right: 1px solid rgba(255, 255, 255, 0.2) !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-float a svg,
  body.ry-inner:not(.ry-tarasowa) .ry-float a svg {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    flex-shrink: 0 !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-float a svg path,
  body.ry-inner:not(.ry-tarasowa) .ry-float a svg path {
    fill: #fff !important;
    color: #fff !important;
  }
}

/* Phones */
@media (max-width: 575px) {
  .ry-wrap {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.ry-tarasowa .ry-banner__title,
  body.ry-home:not(.ry-tarasowa) .ry-banner__title,
  body.ry-home:not(.ry-tarasowa) #ry-top .ry-banner__overlay-inner .ry-banner__title {
    font-size: 32px !important;
  }

  body.ry-tarasowa .ry-banner__tagline,
  body.ry-home:not(.ry-tarasowa) .ry-banner__tagline,
  body.ry-home:not(.ry-tarasowa) #ry-top .ry-banner__overlay-inner .ry-banner__tagline {
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    font-size: 15px !important;
  }

  body.ry-tarasowa .ry-banner__overlay,
  body.ry-home:not(.ry-tarasowa) .ry-banner__overlay {
    top: 38% !important;
    bottom: auto !important;
  }

  body.ry-tarasowa .ldm-avail--side,
  body.ry-tarasowa .ry-banner--hero .ldm-avail--side,
  body.ry-home:not(.ry-tarasowa) .ldm-avail--side,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-avail--side {
    bottom: 64px !important;
    left: 10px !important;
    right: 10px !important;
  }

  body.ry-tarasowa .ry-banner--hero .ldm-inv-logo,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-inv-logo {
    top: 82px !important;
    max-width: 160px !important;
  }

  body.ry-tarasowa .ry-banner--hero .ldm-inv-logo img,
  body.ry-tarasowa .ldm-inv-logo__img,
  body.ry-home:not(.ry-tarasowa) .ry-banner--hero .ldm-inv-logo img {
    max-width: 150px !important;
    max-height: 48px !important;
    position: absolute !important;
    top: 31px !important;
    left: 50% !important;
    transform: translate(-50%) !important;
    background-color: white !important;
    border-radius: 5px !important;
  }

  body.ry-tarasowa .ry-banner__arrows,
  body.ry-tarasowa .ry-banner--hero .ry-banner__arrows,
  body.ry-home:not(.ry-tarasowa) .ry-banner__arrows {
    bottom: 249px !important;
    top: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    flex-direction: row !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__media,
  body.ry-inner:not(.ry-tarasowa) .ry-about__media {
    min-height: 220px !important;
    height: 220px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stat,
  body.ry-inner:not(.ry-tarasowa) .ry-about__stat {
    min-height: 150px !important;
    padding: 12px 8px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stat-num,
  body.ry-inner:not(.ry-tarasowa) .ry-about__stat-num {
    font-size: 22px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ry-about__stat-num--phrase,
  body.ry-inner:not(.ry-tarasowa) .ry-about__stat-num--phrase {
    font-size: 10px !important;
    text-align: center !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__house--main .ldm-build__svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__house--main .ldm-build__svg {
    width: 140px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__house--left .ldm-build__svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__house--left .ldm-build__svg,
  body.ry-home:not(.ry-tarasowa) .ldm-build__house--right .ldm-build__svg,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__house--right .ldm-build__svg {
    width: 72px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-build__title,
  body.ry-inner:not(.ry-tarasowa) .ldm-build__title {
    font-size: 26px !important;
  }

  body.ry-home:not(.ry-tarasowa) .ldm-story__media,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__media,
  body.ry-home:not(.ry-tarasowa) .ldm-story__media img,
  body.ry-inner:not(.ry-tarasowa) .ldm-story__media img {
    min-height: 200px !important;
    height: 200px !important;
  }

  body.ry-tarasowa .ry-float a.ry-email,
  body.ry-home:not(.ry-tarasowa) .ry-float a.ry-email,
  body.ry-inner:not(.ry-tarasowa) .ry-float a.ry-email {
    font-size: 0 !important;
    gap: 0 !important;
  }

  body.ry-tarasowa .ry-float a.ry-email svg,
  body.ry-home:not(.ry-tarasowa) .ry-float a.ry-email svg,
  body.ry-inner:not(.ry-tarasowa) .ry-float a.ry-email svg {
    width: 20px !important;
    height: 20px !important;
  }

  body.ry-tarasowa .ry-float a.ry-phone,
  body.ry-home:not(.ry-tarasowa) .ry-float a.ry-phone,
  body.ry-inner:not(.ry-tarasowa) .ry-float a.ry-phone {
    font-size: 15px !important;
  }

  body.ry-tarasowa .ldm-story__title,
  body.ry-tarasowa .ldm-ta-lokalizacja__copy h2,
  body.ry-tarasowa .ldm-ta-standard h2,
  body.ry-tarasowa .ldm-ta-privacy h2,
  body.ry-tarasowa .ldm-ta-gallery h2,
  body.ry-tarasowa .ldm-ta-domy__title,
  body.ry-tarasowa .ldm-ta-contact__meet h2,
  body.ry-tarasowa .ldm-page-form__title,
  body.ry-home:not(.ry-tarasowa) h2,
  body.ry-home:not(.ry-tarasowa) .ldm-invest__title,
  body.ry-home:not(.ry-tarasowa) .ldm-contact__title,
  body.ry-inner:not(.ry-tarasowa) h2 {
    font-size: 26px !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__actions {
    grid-template-columns: 1fr 1fr !important;
  }

  body.ry-tarasowa .ldm-ta-ucard__specs {
    grid-template-columns: 1fr !important;
  }

  body.ry-tarasowa .ldm-ta-slider__slide,
  body.ry-tarasowa .ldm-ta-slider__slide--tall,
  body.ry-tarasowa .ldm-ta-slider__slide--mid,
  body.ry-tarasowa .ldm-ta-slider__slide--short {
    flex: 0 0 85% !important;
  }

  body.ry-tarasowa .ry-nav__brand .ldm-logo,
  body.ry-tarasowa .ry-nav__brand img,
  body.ry-home:not(.ry-tarasowa) .ry-nav__brand img,
  body.ry-inner:not(.ry-tarasowa) .ry-nav__brand img {
    max-width: 100px !important;
    max-height: 54px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner {
    min-height: 240px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__inner {
    padding: 96px 14px 28px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__title {
    font-size: 30px !important;
  }

  body.ry-inner:not(.ry-tarasowa) .ldm-page-banner__houses {
    display: none !important;
  }
}

/* Desktop: header phone number must stay white on navy */
@media (min-width: 992px) {
  body.ry-home .ry-nav__contact.ry-phone,
  body.ry-inner .ry-nav__contact.ry-phone,
  body.ry-home .ry-nav__contact.ry-phone:not(:hover),
  body.ry-inner .ry-nav__contact.ry-phone:not(:hover),
  body.ry-home .ry-nav__contact.ry-phone:hover,
  body.ry-inner .ry-nav__contact.ry-phone:hover,
  body.ry-home .ry-nav__contact.ry-phone span,
  body.ry-inner .ry-nav__contact.ry-phone span {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }
}
