/* vw-in-source:1px=0.052vw */

/* LDM Development / Osiedle Tarasowa — brand #2e3192 */

:root {

  --color-main: #2e3192;
  --color-accent: #4549b8;
  --color-soft: #e8e9f7;
  --color-bg: #ffffff;
  --color-text: #1a1a24;
  --color-muted: #5a5a72;
  --color-extra: #ffffff;
  --ry-navy: #2e3192;
  --ry-navy-bar: rgba(46, 49, 146, 0.78);
  --ldm-forest: #2e3192;
  --ldm-moss: #3a3eaa;
  --ldm-leaf: #4549b8;
  --ldm-mint: #c5c8f0;
  --ldm-soft: #e8e9f7;
  --ldm-bg: #ffffff;
  --ldm-ink: #1a1a24;
  --ldm-cream: #ffffff;
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-ui: "Sora", "Helvetica Neue", Arial, sans-serif;

}

html,
body {

  font-family: var(--font-ui);
  color: var(--ldm-ink);
  background: var(--ldm-bg);

}

h1, h2, h3, h4, h5, h6,
.ry-section-title h2,
.ry-banner__title,
.ry-banner__eyebrow,
.ry-estates__title h2,
.ry-card__top h2,
.ry-about h2,
.ry-perks__title h3 {

  font-family: var(--font-display) !important;

}

/* Global color remaps from navy/gold → green */

.ry-btn,
a.ry-btn,
button.ry-btn {

  background-color: var(--ldm-forest) !important;
  border-color: var(--ldm-forest) !important;
  color: #fff !important;
  font-family: var(--font-ui) !important;
  border-radius: 0.104vw !important;
  letter-spacing: 0.04992vw;
  text-transform: uppercase;
  font-size: 15px !important;
  font-weight: 500 !important;
  transition: background 0.25s ease, transform 0.2s ease;

}

@media (min-width: 991px) {
  .ry-btn,
  a.ry-btn,
  button.ry-btn {
    font-size: 0.64896vw !important;
  }
}

.ry-btn:hover,
a.ry-btn:hover {

  background-color: var(--ldm-leaf) !important;
  border-color: var(--ldm-leaf) !important;
  transform: translateY(-0.052vw);

}

.ry-btn--alt,
a.ry-btn--alt {

  background-color: transparent !important;
  color: var(--ldm-forest) !important;
  border: 0.052vw solid var(--ldm-forest) !important;

}

.ry-btn--alt:hover,
a.ry-btn--alt:hover {

  background-color: var(--ldm-forest) !important;
  color: #fff !important;

}

/* Nav brand wordmark */

.ldm-wordmark {

  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.624vw;
  text-decoration: none !important;
  color: inherit !important;
  line-height: 1;

}

.ldm-wordmark__text {

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.104vw;

}

.ldm-wordmark__mark {

  font-family: var(--font-display);
  font-weight: 600;
  font-size: 30px;
  letter-spacing: 0.09984vw;
  text-transform: uppercase;

}

.ldm-wordmark__sub {

  font-family: var(--font-ui);
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.23296vw;
  text-transform: uppercase;
  opacity: 0.85;

}

body.ry-home .ry-nav__brand a.ldm-wordmark,
body.ry-inner .ry-nav__brand a.ldm-wordmark {

  background: none;
  padding: 0;
  margin: 0;
  border-radius: 0;
  filter: none;

}

/* Availability counters */

.ldm-avail {

  display: flex;
  flex-wrap: wrap;
  gap: 0.52vw 0.728vw;
  margin-top: 1.1648vw;
  pointer-events: auto;

}

.ldm-avail__item {

  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 4.576vw;
  padding: 0.624vw 0.832vw;
  background: rgba(247, 251, 248, 0.12);
  border: 0.052vw solid rgba(247, 251, 248, 0.28);
  backdrop-filter: blur(0.52vw);
  border-radius: 0.208vw;

}

.ldm-avail__num {

  font-family: var(--font-display);
  font-size: 34px;
  font-weight: 600;
  color: #fff !important;
  line-height: 1;

}

.ldm-avail__label {

  margin-top: 0.312vw;
  font-family: var(--font-ui);
  font-size: 15px;
  letter-spacing: 0.13312vw;
  text-transform: uppercase;
  color: #fff !important;

}

.ldm-avail__item--free .ldm-avail__num,
.ldm-avail__item--reserved .ldm-avail__num,
.ldm-avail__item--sold .ldm-avail__num {

  color: #fff !important;

}

/* Anything on brand blue → white text/icons */

.ry-btn,
a.ry-btn,
button.ry-btn,
.ry-nav__contact,
.ry-perks-band,
.ry-perks-band *,
.ry-footer,
.ry-footer *,
footer.ry-foot,
footer.ry-foot *,
#ry-colophon,
#ry-colophon *,
.ldm-avail__item,
.ldm-avail__item *,
.ry-banner__arrow,
.ry-banner__cta {

  color: #fff !important;
  fill: #fff;

}

.ry-btn--alt,
a.ry-btn--alt {

  color: var(--ldm-forest) !important;
  fill: var(--ldm-forest);

}

.ry-btn--alt:hover,
a.ry-btn--alt:hover {

  color: #fff !important;
  fill: #fff;

}

/* Hero dots pagination */

.ry-banner__dots {

  position: absolute;
  z-index: 12;
  left: 50%;
  bottom: clamp(2.704vw, 7vw, 4.368vw);
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0.52vw;
  pointer-events: auto;

}

.ry-banner__dot {

  width: 0.52vw;
  height: 0.52vw;
  padding: 0;
  border: 0.052vw solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.2s ease, width 0.25s ease;

}

.ry-banner__dot.is-active {

  background: var(--ldm-mint);
  border-color: var(--ldm-mint);
  width: 1.456vw;
  border-radius: 51.948vw;

}

.ry-banner__dot:hover {

  background: rgba(216, 243, 220, 0.45);

}

/* Soft green section accents */

.ry-estates__count,
.ry-section-title h2 {

  color: var(--ldm-forest) !important;

}

#ry-news.ry-blog .ry-section-title h2 {

  color: #1a1a24 !important;

}

.ry-section-head {

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.248vw;
  width: 100%;
  margin-bottom: -1.48vw;
  margin-top: 1vw;

}

.ry-card__content h2 {

  color: var(--ldm-forest) !important;

}

.ry-addr svg path {

  fill: var(--ldm-leaf);

}

/* Replace gold / navy leftovers */

body.ry-home .ry-nav__link:before,
body.ry-inner .ry-nav__link:before {

  display: none !important;
  content: none !important;
  background: none !important;

}

@media (max-width: 47.99em) {

  .ldm-avail {
    gap: 8px;
  }

  .ldm-avail__item {
    min-width: 72px;
    padding: 10px 12px;
  }

  .ry-banner__dots {
    bottom: 40px;
  }

}

/* Stronger global remaps for leftover navy from style.css */

/* Header bar — translucent white, no blur (beats vw.css) */

body.ry-home #ry-mast.ry-nav,
body.ry-inner #ry-mast.ry-nav {

  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  width: 100%;
  max-width: none;
  min-height: 5.72vw;
  padding-top: 0.416vw;
  padding-bottom: 0.416vw;
  padding-left: clamp(0.832vw, 4vw, 2.496vw);
  padding-right: clamp(0.832vw, 4vw, 2.496vw);
  background: #fffffff0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  border: 0;
  color: #2e3192;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 1.456vw;

}

body.ry-home #ry-mast.ry-nav.ry-sticky,
body.ry-inner #ry-mast.ry-nav.ry-sticky {

  position: fixed;
  background: #fffffff0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;

}

body.ry-home .ry-nav__link,
body.ry-inner .ry-nav__link {

  color: #413b3b !important;
  text-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  font-family: "Sora", sans-serif !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: 0.03328vw !important;
  text-transform: uppercase !important;
  padding: 0.416vw 0.728vw !important;
  padding-bottom: 0.66vw !important;
  opacity: 0.88;
  border-bottom: 0 solid #2e3192;
  margin-left: 1vw;
  margin-right: 1vw;
  transition: color 0.2s ease, opacity 0.2s ease !important;

}

body.ry-home .ry-nav__link:hover,
body.ry-inner .ry-nav__link:hover,
body.ry-home .ry-nav__link:focus,
body.ry-inner .ry-nav__link:focus,
body.ry-home .ry-nav__link[aria-current="page"],
body.ry-inner .ry-nav__link[aria-current="page"],
body.ry-home .ry-nav__link:active,
body.ry-inner .ry-nav__link:active {

  color: #2e3192 !important;
  opacity: 1 !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: 0.03328vw !important;
  text-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border-bottom: 0 !important;
  transform: none !important;

}

body.ry-home .ry-nav__link:before,
body.ry-inner .ry-nav__link:before,
body.ry-home .ry-nav__link:hover:before,
body.ry-inner .ry-nav__link:hover:before,
body.ry-home .ry-nav__link::after,
body.ry-inner .ry-nav__link::after,
body.ry-home .ry-nav__link:hover::after,
body.ry-inner .ry-nav__link:hover::after {

  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;

}

.ry-about,
.ry-estates,
.ry-main {

  background: var(--ldm-bg);

}

.ry-perks-band {

  background: var(--ldm-forest) !important;

}

.ry-status {

  background: var(--ldm-soft) !important;
  color: var(--ldm-forest) !important;
  border-radius: 0.104vw;

}

.ry-footer,
.ry-footer__ask-item--form,
.footer-content,
.footer-copyright {

  background-color: #2e3192 !important;

}

.ry-live__panel {

  background: linear-gradient(135deg, #2e3192 0%, #3a3eaa 100%) !important;

}

.ry-cooperation__edge-soft,
.ry-footer__ask-edge-soft,
.ry-perks-band__soft {

  fill: rgba(46, 49, 146, 0.35) !important;

}

.ry-cooperation__edge-zig,
.ry-footer__ask-edge-zig,
.ry-perks-band__zig {

  fill: #2e3192 !important;

}

.ry-unit--reserved .ry-unit__status {

  color: #b7791f !important;

}

body.ry-inner .ry-page-hero,
.ry-page-hero {

  background-color: #2e3192 !important;

}

.ry-inv-hero,
.hero--investment {

  background: #2e3192;

}

.ry-inv-hero .ldm-avail {

  margin: 1.04vw 0 1.248vw;

}

.ry-inv-hero__title {

  font-family: var(--font-display) !important;
  color: #f7fbf8 !important;

}

.ry-inv-hero__eyebrow {

  color: #fff !important;
  font-family: var(--font-ui) !important;
  letter-spacing: 0.23296vw;

}

.ry-page-hero__torn-edge,
.ry-inv-hero__torn .ry-page-hero__torn-edge {

  fill: #ffffff !important;

}

.footer-brand .ldm-wordmark {

  margin-bottom: 0.624vw;

}

.footer-brand .ldm-wordmark__mark {

  font-size: 26px;

}

/* === Final green overrides (beat vw.css) === */

body.ry-home .ry-nav__contact,
body.ry-inner .ry-nav__contact,
body.ry-home .ry-nav__contact:not(:hover),
body.ry-inner .ry-nav__contact:not(:hover),
body.ry-home .ry-nav__contact.ry-phone,
body.ry-inner .ry-nav__contact.ry-phone,
body.ry-home .ry-nav__contact.ry-email,
body.ry-inner .ry-nav__contact.ry-email {

  background: #2e3192 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-radius: 0 !important;

}

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;

}

body.ry-home .ry-nav__contact:hover,
body.ry-inner .ry-nav__contact:hover {

  background: #4549b8 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;

}

body.ry-home .ry-nav__contact svg,
body.ry-inner .ry-nav__contact svg,
body.ry-home .ry-nav__contact svg path,
body.ry-inner .ry-nav__contact svg path,
body.ry-home .ry-nav__contact:not(:hover) svg,
body.ry-inner .ry-nav__contact:not(:hover) svg {

  fill: #fff !important;
  color: #fff !important;

}

/* Hero: wave edge, raised arrows, solid counter card (beats vw/mobile) */

/* Hide diamond mosaic under hero text mask (not used in final design). */
.ry-banner--hero .ry-banner__paint,
.ry-banner--hero .ry-banner__diamonds {
  display: none !important;
}

.ry-banner--hero .ry-banner__torn {

  display: none !important;

}

.ry-banner--hero .ry-banner__wave {

  display: block !important;
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: -0.052vw !important;
  z-index: 14;
  width: 100%;
  height: clamp(4.16vw, 11vw, 6.76vw) !important;
  pointer-events: none;
  line-height: 0;

}

.ry-banner--hero .ry-banner__wave svg {

  display: block;
  width: 100%;
  height: 100%;
  filter: none !important;

}

.ry-banner--hero .ry-banner__arrows {

  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;
  right: clamp(1.04vw, 3.5vw, 2.288vw) !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.624vw !important;
  column-gap: 0.624vw !important;
  margin: 0 !important;
  z-index: 12;

}

.ry-banner--hero .ry-banner__arrows .ry-banner__arrow,
.ry-banner--hero button.ry-banner__arrow {

  background: #2e3192d6 !important;
  border: 0.052vw solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 0 !important;
  width: 4.16vw !important;
  height: 4.16vw !important;
  min-width: 3.12vw !important;
  min-height: 3.12vw !important;
  padding: 0 !important;
  box-shadow: 0 0.52vw 1.456vw rgba(20, 22, 70, 0.28) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  fill: #fff !important;

}

.ry-banner--hero .ry-banner__arrow svg {

  width: 1.248vw !important;
  height: 1.248vw !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

}

.ry-banner--hero .ry-banner__arrows .ry-banner__arrow:hover,
.ry-banner--hero button.ry-banner__arrow:hover {

  background: #4549b8 !important;
  transform: none !important;

}

.ry-banner--hero .ldm-avail--side {

  margin-top: 0 !important;
  top: 79% !important;
  transform: translateY(1%) !important;
  flex-direction: row !important;
  gap: 1vw !important;

}

.ry-banner--hero .ldm-avail--side .ldm-avail__item {

  align-items: center !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0.52vw 0.728vw !important;
  padding-left: 0 !important;
  gap: 0.6vw !important;
  flex-direction: row !important;
  min-width: 11.908vw !important;
  --ldm-wave-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 260' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 36 C25 8 50 64 75 36 C100 8 125 64 150 36 C175 8 190 50 200 36 L200 224 C175 252 150 196 125 224 C100 252 75 196 50 224 C25 252 10 210 0 224 Z'/%3E%3C/svg%3E");

}

.ry-banner--hero .ldm-avail__icon {

  width: 2.964vw !important;
  height: 3.276vw !important;
  padding-top: 0.3vw !important;

}

.ry-banner--hero .ldm-avail--side .ldm-avail__item::before {

  content: "" !important;
  position: absolute !important;
  inset: -0.52vw !important;
  z-index: 0 !important;
  background: rgba(255, 255, 255, 0) !important;
  border: 0 !important;
  pointer-events: none !important;
  clip-path: none !important;
  -webkit-mask-image: var(--ldm-wave-shape) !important;
  mask-image: var(--ldm-wave-shape) !important;
  -webkit-mask-size: 100% 100% !important;
  mask-size: 100% 100% !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;

}

.ry-banner--hero .ldm-avail--side .ldm-avail__item::after {

  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: rgba(46, 49, 146, 0.95) !important;
  border: 0 !important;
  pointer-events: none !important;
  clip-path: none !important;
  -webkit-mask-image: var(--ldm-wave-shape) !important;
  mask-image: var(--ldm-wave-shape) !important;
  -webkit-mask-size: 100% 100% !important;
  mask-size: 100% 100% !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;

}

.ry-banner--hero .ldm-avail__art {

  width: 5.252vw !important;
  height: 3.588vw !important;

}

.ry-banner--hero .ldm-avail--side .ldm-avail__num {

  font-size: 24px !important;
  margin-top: -1vw !important;
  margin-bottom: 0 !important;
  color: #fff !important;

}

@media (min-width: 991px) {
  .ry-banner--hero .ldm-avail--side .ldm-avail__num {
    font-size: 2.8vw !important;
  }
}

.ry-banner--hero .ldm-avail--side .ldm-avail__item--free .ldm-avail__num,
.ry-banner--hero .ldm-avail--side .ldm-avail__item--reserved .ldm-avail__num,
.ry-banner--hero .ldm-avail--side .ldm-avail__item--sold .ldm-avail__num {

  color: #fff !important;
  margin-top: -1vw !important;

}

.ry-banner--hero .ldm-inv-logo {

  position: absolute !important;
  z-index: 12 !important;
  right: clamp(1.04vw, 4vw, 2.496vw) !important;
  bottom: clamp(3.328vw, 9vw, 5.72vw) !important;
  isolation: isolate !important;
  padding: 0 !important;
  background: transparent !important;

}

.ry-banner--hero .ldm-inv-logo::before {

  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: auto !important;
  z-index: 0 !important;
  right: -2.496vw !important;
  bottom: -3.848vw !important;
  width: min(23.92vw, 48vw) !important;
  height: min(16.64vw, 38vw) !important;
  background: radial-gradient(
    ellipse 95% 90% at 88% 92%,
    #fff 0%,
    #fff 32%,
    rgba(255, 255, 255, 0.82) 48%,
    rgba(255, 255, 255, 0.35) 66%,
    rgba(255, 255, 255, 0) 82%
  ) !important;
  pointer-events: none !important;
  box-shadow: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;

}

.ry-banner--hero .ldm-inv-logo::after {

  content: none !important;
  display: none !important;

}

.ry-banner--hero .ldm-inv-logo img {

  position: relative !important;
  z-index: 2 !important;
  height: clamp(5.408vw, 15vw, 5.408vw) !important;
  max-width: min(33.28vw, 72vw) !important;
  width: auto !important;
  object-fit: contain !important;
  filter: none !important;
  background: transparent !important;

}

@media (max-width: 991px) {

  .ry-banner--hero .ry-banner__arrows {
    top: 50% !important;
    bottom: auto !important;
    right: 0.832vw !important;
    transform: translateY(-50%) !important;
    flex-direction: column !important;
  }

  .ry-banner--hero .ry-banner__arrows .ry-banner__arrow,
  .ry-banner--hero button.ry-banner__arrow {
    width: 3.328vw !important;
    height: 3.328vw !important;
    min-width: 3.12vw !important;
    min-height: 3.12vw !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: #2e3192d6 !important;
  }

  .ry-banner--hero .ry-banner__wave {
    display: block !important;
    height: 3.64vw !important;
  }

}

@media (max-width: 47.99em) {

  .ry-banner--hero .ry-banner__arrows {
    top: 50% !important;
    bottom: auto !important;
  }

}

.ry-banner__cta,
a.ry-banner__cta {

  background: #4549b8 !important;
  color: #fff !important;
  border-radius: 0 !important;

}

body.ry-home .ry-nav__brand .ldm-logo {

  max-height: 4.784vw !important;
  max-width: 10.92vw !important;

}

@media (min-width: 991px) {
  body.ry-home .ry-nav__brand .ldm-logo,
  body.ry-inner .ry-nav__brand .ldm-logo {
    max-height: 4.784vw !important;
    max-width: 10.92vw !important;
    width: auto !important;
    height: auto !important;
  }
}

/* ===== About: wave photo (top+bottom) | text | logo + motto + 2 tiles ===== */

.ry-banner--hero {

  z-index: 5;

}

.ry-about.ry-split {

  display: block !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: clamp(1.04vw, 3vw, 2.08vw);
  position: relative;
  z-index: 1;

}

.ry-about__layout {

  display: grid;
  grid-template-columns: minmax(13.52vw, 1fr) minmax(0, 1.15fr) minmax(14.56vw, 1fr);
  gap: clamp(1.456vw, 3.5vw, 2.496vw);
  align-items: stretch;
  margin-bottom: clamp(1.248vw, 3vw, 2.08vw);
  padding-top: 0;

}

.ry-about__media {

  position: relative;
  min-height: clamp(29.952vw, 70vw, 38.688vw);
  align-self: stretch;
  margin-top: 0;
  z-index: 0;
  overflow: hidden;

}

.ry-about__media-photo {

  position: absolute;
  inset: 0;

}

.ry-about__media-photo img {

  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;

}

/* Exact same wave path as hero banner — painted over photo */

.ry-about__media-edge {

  position: absolute;
  left: 0;
  width: 100%;
  height: clamp(3.744vw, 10vw, 6.24vw);
  display: block;
  pointer-events: none;
  z-index: 2;
  line-height: 0;

}

.ry-about__media-edge svg,
.ry-about__media-edge {

  overflow: visible;

}

.ry-about__media-edge--top {

  top: 0;

}

.ry-about__media-edge--bottom {

  bottom: 0;

}

.ry-about__media-edge path {

  fill: #ffffff;

}

.ry-about__content {

  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding-top: 0;
  margin-left: 2vw;

}

.ry-about__content h2 {

  margin: 0 0 0.5824vw;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 42px;
  letter-spacing: 0.03328vw;
  text-transform: uppercase;
  color: var(--ldm-ink);

}

.ry-about__content .ry-desc p {

  margin: 0 0 0.832vw;
  font-size: 17px;
  line-height: 1.7;
  color: var(--ldm-ink);

}

/* 3x2 counter grid — same height as left photo */

.ry-about__aside {

  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: clamp(29.952vw, 70vw, 38.688vw);
  padding: 0;
  align-self: stretch;

}

.ry-about__stats {

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: inherit;
  border: 0 solid rgba(46, 49, 146, 0.28);
  background: #fff;

}

.ry-about__stat {

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.26vw;
  padding: 0;
  text-align: center;
  border-right: 0.052vw solid rgba(46, 49, 146, 0.22);
  border-bottom: 0.052vw solid rgba(46, 49, 146, 0.22);

}

.ry-about__stat:nth-child(2n) {

  border-right: 0;

}

.ry-about__stat:nth-child(n + 5) {

  border-bottom: 0;

}

.ry-about__stat-icon {

  display: block;
  width: 7vw;
  height: 6vw;
  object-fit: contain;
  margin-top: -1vw;

}

.ry-about__stat-num {

  font-family: var(--font-display);
  font-size: 42px;
  font-weight: 600;
  line-height: 1;
  color: #2e3192;
  letter-spacing: -0.01664vw;
  margin-top: -1vw;

}

.ry-about__stat-num--phrase {
  font-size: 1.1vw;
  text-align: center !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.25;
  max-width: 9em;
  margin-top: 0;
}

.ry-about__stat-num.ry-about__stat-num--phrase {
  font-size: 1.1vw;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.25;
  max-width: 9em;
  margin-top: 0;
}

.ry-about__stat-label {

  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.11648vw;
  text-transform: uppercase;
  color: #5a5a72;

}

.ldm-inv-card__specs {

  margin: 0 0 0.52vw;
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: #2e3192;
  letter-spacing: 0.02em;

}

.ldm-story__media {

  position: relative;

}

.ldm-story__badge {

  position: absolute;
  left: 0.832vw;
  bottom: 0.832vw;
  padding: 0.312vw 0.624vw;
  border-radius: 999px;
  background: rgba(26, 26, 36, 0.72);
  color: #fff;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;

}

.ldm-contact__hint {

  grid-column: 1 / -1;
  margin: -0.26vw 0 0;
  font-family: var(--font-ui);
  font-size: 13px;
  color: #5a5a72;

}

@media (max-width: 991px) {

  .ry-about__layout {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "media aside"
      "content content";
    gap: 1.248vw;
  }

  .ry-about__media {
    grid-area: media;
    min-height: 21.84vw;
    margin-top: 0;
  }

  .ry-about__aside {
    grid-area: aside;
    min-height: 21.84vw;
  }

  .ry-about__content {
    grid-area: content;
  }

}

@media (max-width: 47.99em) {

  .ry-about__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "media"
      "content"
      "aside";
    gap: 24px;
  }

  .ry-about__media {
    min-height: 320px;
  }

  .ry-about__aside {
    min-height: 420px;
  }

}

/* ===== Inwestycje — 2-col card grid ===== */

.ldm-invest {

  padding: clamp(2.496vw, 7vw, 2.184vw) 0 clamp(2.912vw, 8vw, 5.72vw);
  background: #fff;

}

.ldm-invest__head {

  margin-bottom: clamp(1.456vw, 4vw, 2.496vw);
  text-align: center;

}

.ldm-invest__title {

  margin: 0 0 0.3328vw;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 48px;
  letter-spacing: 0.03328vw;
  text-transform: uppercase;
  color: var(--ldm-ink);

}

.ldm-invest__lead {

  margin: 0;
  font-family: var(--font-ui);
  font-size: 18px;
  color: var(--ldm-ink);
  opacity: 0.72;

}

.ldm-invest__grid {

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.248vw, 3vw, 2.08vw);

}

.ldm-inv-card {

  display: flex;
  flex-direction: column;
  background: #fff;
  min-width: 0;

}

.ldm-inv-card__media {

  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e8e9f7;

}

.ldm-inv-card__viewport {

  position: absolute;
  inset: 0;
  overflow: hidden;

}

.ldm-inv-card__track {

  display: flex;
  height: 100%;
  width: 100%;
  transition: transform 0.45s ease;
  will-change: transform;

}

.ldm-inv-card__slide {

  flex: 0 0 100%;
  height: 100%;

}

.ldm-inv-card__slide img {

  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

}

.ldm-inv-card__status {

  position: absolute;
  top: 0.832vw;
  left: 0.832vw;
  z-index: 3;
  padding: 0.416vw 0.728vw;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.11648vw;
  text-transform: uppercase;
  color: #fff;
  background: #2e3192;

}

.ldm-inv-card__status--build {

  background: #4549b8;

}

.ldm-inv-card__status--sale {

  background: #2e3192;

}

.ldm-inv-card__counters {

  position: absolute;
  left: 0.832vw;
  right: 0.832vw;
  bottom: 0.936vw;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 0.416vw;

}

.ldm-inv-card__counter {

  display: inline-flex;
  align-items: baseline;
  gap: 0.312vw;
  padding: 0.416vw 0.624vw;
  background: rgba(255, 255, 255, 0.92);
  color: #1a1a24;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.03328vw;
  text-transform: uppercase;

}

.ldm-inv-card__counter strong {

  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  color: #2e3192;
  letter-spacing: 0;

}

.ldm-inv-card__nav {

  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  width: 2.08vw;
  height: 2.08vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: rgba(255, 255, 255, 0.9);
  color: #2e3192;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;

}

.ldm-inv-card__nav:hover {

  background: #2e3192;
  color: #fff;

}

.ldm-inv-card__nav svg {

  width: 0.936vw;
  height: 0.936vw;

}

.ldm-inv-card__nav--prev {
 left: 0.624vw; 
}

.ldm-inv-card__nav--next {
 right: 0.624vw; 
}

.ldm-inv-card__dots {

  position: absolute;
  top: 0.936vw;
  right: 0.832vw;
  z-index: 3;
  display: flex;
  gap: 0.312vw;

}

.ldm-inv-card__dot {

  width: 0.416vw;
  height: 0.416vw;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;

}

.ldm-inv-card__dot.is-active {

  background: #fff;

}

.ldm-inv-card__body {

  display: flex;
  flex-direction: column;
  gap: 0.728vw;
  padding: 1.144vw 0.208vw 0;

}

.ldm-inv-card__name {

  margin: 0;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  color: #1a1a24;

}

.ldm-inv-card__desc {

  margin: 0;
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.6;
  color: #5a5a72;

}

.ldm-inv-card__actions {

  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.624vw;
  margin-top: 0.208vw;

}

.ldm-inv-card__cta {

  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 2.496vw;
  padding: 0.624vw 1.144vw !important;
  background: #2e3192 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.09984vw;
  text-transform: uppercase;
  text-decoration: none !important;

}

.ldm-inv-card__cta:hover {

  background: #4549b8 !important;

}

.ldm-inv-card__contact {

  display: inline-flex;
  align-items: center;
  gap: 0.416vw;
  padding: 0.624vw 0.832vw;
  border: 0.052vw solid rgba(46, 49, 146, 0.28);
  color: #2e3192 !important;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.0832vw;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;

}

.ldm-inv-card__contact svg {

  width: 0.832vw;
  height: 0.832vw;

}

.ldm-inv-card__contact:hover {

  background: #2e3192;
  border-color: #2e3192;
  color: #fff !important;

}

@media (max-width: 61.99em) {

  .ldm-invest__grid {
    grid-template-columns: 1fr;
  }

}

/* ===== Story splits — text + photo, section waves ===== */

.ldm-story {

  --ldm-story-bg: #f4f2ec;
  position: relative;
  isolation: isolate;
  padding: clamp(3.744vw, 9vw, 6.76vw) 0;
  background: var(--ldm-story-bg);
  overflow: hidden;

}

.ldm-story__edge {

  position: absolute;
  left: 0;
  width: 100%;
  height: clamp(2.496vw, 7vw, 4.68vw);
  display: block;
  pointer-events: none;
  z-index: 3;
  line-height: 0;

}

.ldm-story__edge path {

  fill: #ffffff;

}

.ldm-story__edge--top {

  top: 0;

}

.ldm-story__edge--bottom {

  bottom: -0.052vw;

}

.ldm-story__row {

  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;

}

.ldm-story__row + .ldm-story__row {

  margin-top: 0;

}

.ldm-story__row--text-first {

  grid-template-columns: 1fr 1fr;

}

.ldm-story__row--text-first .ldm-story__copy {

  margin-left: auto;
  text-align: right;
  padding: clamp(1.248vw, 4vw, 2.912vw) clamp(1.456vw, 4vw, 3.328vw) clamp(1.248vw, 4vw, 2.912vw) 0;
  display: flex;
  flex-direction: column;
  justify-content: center;

}

.ldm-story__row--text-first .ldm-story__list {

  margin-left: auto !important;
  margin-right: 0.1248vw !important;

}

.ldm-story__row--text-first .ldm-story__list li {

  padding: 0 1.1232vw 0 0 !important;

}

.ldm-story__row--text-first .ldm-story__list li::before {

  left: auto;
  right: 0;

}

.ldm-story__row--media-first {

  grid-template-columns: 1fr 1fr;

}

.ldm-story__row--media-first .ldm-story__copy {

  padding: clamp(1.248vw, 4vw, 2.912vw) 0 clamp(1.248vw, 4vw, 2.912vw) clamp(1.456vw, 4vw, 3.328vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;

}

.ldm-story__copy {

  min-width: 0;
  max-width: none;
  box-sizing: border-box;

}

.ldm-story__title {

  margin: 0 0 0.7072vw;
  font-family: var(--font-display) !important;
  font-weight: 600;
  font-size: 50px;
  line-height: 1.08;
  letter-spacing: 0.03328vw;
  text-transform: uppercase;
  color: #1a1a24 !important;

}

.ldm-story__lead,
.ldm-story__text {

  margin: 0;
  font-family: var(--font-ui);
  font-size: 18px;
  line-height: 1.75;
  color: #3f3f4d !important;

}

.ldm-story__list {

  margin: 1.2896vw 0 1.2896vw 0.1248vw !important;
  padding: 0 !important;
  list-style: none;
  display: grid;
  gap: 0.624vw;

}

.ldm-story__list li {

  position: relative;
  margin: 0 !important;
  padding: 0 0 0 1.1232vw !important;
  font-family: var(--font-ui);
  font-size: 17px;
  line-height: 1.45;
  color: #1a1a24 !important;

}

.ldm-story__list li::before {

  content: "" !important;
  position: absolute;
  left: 0;
  top: 0.3744vw;
  width: 0.4576vw;
  height: 0.4576vw;
  display: block !important;
  border-radius: 0 !important;
  background: #2e3192 !important;

}

.ldm-story__media {

  position: relative;
  width: 100%;
  min-height: clamp(19.76vw, 48vw, 32.24vw);
  height: 100%;
  overflow: hidden;
  background: #e8e6df;

}

.ldm-story__media img {

  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(19.76vw, 48vw, 32.24vw);
  object-fit: cover;
  object-position: center;

}

@media (max-width: 61.99em) {

  .ldm-story__row,
  .ldm-story__row--text-first,
  .ldm-story__row--media-first {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ldm-story__row--media-first .ldm-story__media {
    order: -1;
  }

  .ldm-story__row--text-first .ldm-story__copy,
  .ldm-story__row--media-first .ldm-story__copy {
    margin-left: 0;
    text-align: left;
    padding: clamp(1.456vw, 6vw, 2.08vw) 0;
  }

  .ldm-story__row--text-first .ldm-story__list {
    margin-left: 0.1248vw !important;
    margin-right: 0 !important;
  }

  .ldm-story__row--text-first .ldm-story__list li {
    padding: 0 0 0 1.1232vw !important;
  }

  .ldm-story__row--text-first .ldm-story__list li::before {
    left: 0;
    right: auto;
  }

  .ldm-story__row + .ldm-story__row {
    margin-top: clamp(1.456vw, 6vw, 2.08vw);
  }

  .ldm-story__media,
  .ldm-story__media img {
    min-height: clamp(12.48vw, 58vw, 18.72vw);
  }

  .ldm-story__title {
    font-size: 38px;
  }

}

/* ===== Build process — text + looping house skyline ===== */

.ldm-build {

  position: relative;
  isolation: isolate;
  margin-top: clamp(1.456vw, 4vw, 2.496vw);
  padding: clamp(0.052vw, 0vw, 0.156vw) 0;
  background: #2e3192;
  color: #ffffff !important;
  overflow: hidden;

}

.ldm-build__bg,
.ldm-build__veil {

  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;

}

.ldm-build__bg {

  background:
    url("../images/ldm/hero-04.jpg") center right / cover no-repeat;
  transform: scale(1.04);

}

.ldm-build__veil {

  background:
    linear-gradient(
      105deg,
      #2e3192 0%,
      #2e3192 36%,
      rgba(46, 49, 146, 0.92) 52%,
      rgba(46, 49, 146, 0.55) 68%,
      rgba(18, 20, 55, 0.28) 100%
    ),
    linear-gradient(
      180deg,
      rgba(46, 49, 146, 0.35) 0%,
      rgba(46, 49, 146, 0.08) 40%,
      rgba(10, 12, 40, 0.45) 100%
    );

}

.ldm-build__wave {

  position: absolute;
  left: 0;
  width: 100%;
  height: clamp(2.08vw, 5.5vw, 3.744vw);
  display: block;
  pointer-events: none;
  z-index: 3;
  line-height: 0;

}

.ldm-build__wave svg {

  display: block;
  width: 100%;
  height: 100%;

}

.ldm-build__wave path {

  fill: #ffffff;

}

.ldm-build__wave--top {

  top: 0;

}

.ldm-build__wave--bottom {

  bottom: -0.052vw;

}

.ldm-build__inner {

  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: clamp(1.04vw, 3.5vw, 2.496vw);
  align-items: center;
  /* keep .ry-wrap left/right (6vw) — only set vertical padding */
  padding-top: clamp(1.872vw, 4.5vw, 3.016vw);
  padding-bottom: clamp(1.872vw, 4.5vw, 3.016vw);

}

.ldm-build__copy,
.ldm-build__copy p,
.ldm-build__copy li,
.ldm-build__copy h2 {

  color: #ffffff !important;

}

.ldm-build__eyebrow {

  margin: 0 0 0.5408vw;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.18304vw;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78) !important;

}

.ldm-build__title {

  margin: 0 0 0.4576vw;
  font-family: var(--font-display) !important;
  font-weight: 600;
  font-size: 46px;
  line-height: 1.05;
  letter-spacing: -0.01664vw;
  color: #ffffff !important;
  text-shadow: 0 0.52vw 1.456vw rgba(10, 12, 40, 0.28);

}

.ldm-build__text {

  margin: 0;
  max-width: 26.624vw;
  font-family: var(--font-ui);
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.92) !important;
  text-shadow: 0 0.312vw 0.936vw rgba(10, 12, 40, 0.25);

}

.ldm-build__list {

  margin: 1.2896vw 0 1.4144vw;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.728vw;
  color: #ffffff !important;

}

.ldm-build__list li,
.ldm-build__list li span {

  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.624vw;
  padding-left: 0 !important;
  margin-top: 0 !important;
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.45;
  color: #ffffff !important;

}

.ldm-build__list li span {

  display: inline;
  gap: 0;

}

.ldm-build__list li::before {

  content: none !important;
  display: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;

}

.ldm-build__list-icon {

  flex-shrink: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.144vw;
  height: 1.144vw;
  margin-top: 0.052vw;
  color: #c5c8f0 !important;

}

.ldm-build__list-icon svg {

  display: block;
  width: 100%;
  height: 100%;
  stroke: currentColor !important;
  fill: none !important;

}

.ldm-build__cta,
.ldm-build a.ldm-build__cta {

  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.728vw;
  min-height: 2.704vw;
  padding: 0.624vw 1.144vw 0.624vw 1.248vw !important;
  background: #ffffff !important;
  color: #2e3192 !important;
  border: 0.078vw solid #ffffff !important;
  border-radius: 0 !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.11648vw;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;

}

.ldm-build__cta span,
.ldm-build__cta .ldm-build__cta-icon {

  color: #2e3192 !important;

}

.ldm-build__cta:hover,
.ldm-build a.ldm-build__cta:hover {

  background: transparent !important;
  color: #ffffff !important;
  border-color: #ffffff !important;

}

.ldm-build__cta:hover span,
.ldm-build__cta:hover .ldm-build__cta-icon {

  color: #ffffff !important;

}

.ldm-build__cta-icon {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.456vw;
  height: 1.456vw;
  border: 0.052vw solid currentColor;
  flex-shrink: 0;
  color: inherit !important;

}

.ldm-build__cta-icon svg {

  width: 0.728vw;
  height: 0.728vw;
  stroke: currentColor !important;
  fill: none !important;

}

.ldm-build__stage {

  position: relative;
  min-height: clamp(13.52vw, 36vw, 20.28vw);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0;

}

.ldm-build__house {

  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;

}

.ldm-build__house--left,
.ldm-build__house--right {

  z-index: 1;
  opacity: 0.78;
  filter: drop-shadow(0 0.52vw 1.04vw rgba(8, 10, 30, 0.2));

}

.ldm-build__house--main {

  z-index: 3;
  filter: drop-shadow(0 0.936vw 1.768vw rgba(8, 10, 30, 0.32));

}

.ldm-build__svg {

  width: 100%;
  height: auto;
  color: #ffffff;
  overflow: visible;

}

/* +50% vs original side size, then slightly reduced with section */

.ldm-build__house--left .ldm-build__svg,
.ldm-build__house--right .ldm-build__svg {

  width: clamp(7.28vw, 20vw, 11.96vw);

}

/* main — slightly smaller than 2x for ~30% shorter section */

.ldm-build__house--main .ldm-build__svg {

  width: clamp(14.56vw, 40vw, 23.92vw);

}

/* Side houses tuck behind the main one */

.ldm-build__house--left {

  margin-right: clamp(-3.744vw, -9vw, -2.496vw);
  transform: translateY(1.456vw) scaleX(-1);

}

.ldm-build__house--right {

  margin-left: clamp(-3.744vw, -9vw, -2.496vw);
  transform: translateY(1.768vw);

}

.ldm-build__layer {

  opacity: 0;
  transform: translateY(1.144vw);
  clip-path: inset(100% 0 0 0);

}

.ldm-build__stage.is-building .ldm-build__layer {

  animation: ldmHouseRiseLoop 8.5s linear infinite;

}

.ldm-build__stage.is-building .ldm-build__layer--scaffold {

  animation-name: ldmScaffoldLoop;

}

.ldm-build__stage.is-built .ldm-build__layer {

  animation: none;
  opacity: 1;
  transform: none;
  clip-path: inset(0 0 0 0);

}

.ldm-build__stage.is-built .ldm-build__layer--scaffold {

  opacity: 0;

}

/* Stagger: 12 construction steps per house */

.ldm-build__house--left .ldm-build__layer--1 {
 animation-delay: 0s; 
}

.ldm-build__house--left .ldm-build__layer--2 {
 animation-delay: 0.22s; 
}

.ldm-build__house--left .ldm-build__layer--3 {
 animation-delay: 0.4s; 
}

.ldm-build__house--left .ldm-build__layer--4 {
 animation-delay: 0.58s; 
}

.ldm-build__house--left .ldm-build__layer--5 {
 animation-delay: 0.76s; 
}

.ldm-build__house--left .ldm-build__layer--6 {
 animation-delay: 0.94s; 
}

.ldm-build__house--left .ldm-build__layer--7 {
 animation-delay: 1.12s; 
}

.ldm-build__house--left .ldm-build__layer--8 {
 animation-delay: 1.3s; 
}

.ldm-build__house--left .ldm-build__layer--9 {
 animation-delay: 1.48s; 
}

.ldm-build__house--left .ldm-build__layer--10 {
 animation-delay: 1.66s; 
}

.ldm-build__house--left .ldm-build__layer--11 {
 animation-delay: 1.84s; 
}

.ldm-build__house--left .ldm-build__layer--12 {
 animation-delay: 2.02s; 
}

.ldm-build__house--main .ldm-build__layer--1 {
 animation-delay: 0.45s; 
}

.ldm-build__house--main .ldm-build__layer--2 {
 animation-delay: 0.67s; 
}

.ldm-build__house--main .ldm-build__layer--3 {
 animation-delay: 0.85s; 
}

.ldm-build__house--main .ldm-build__layer--4 {
 animation-delay: 1.03s; 
}

.ldm-build__house--main .ldm-build__layer--5 {
 animation-delay: 1.21s; 
}

.ldm-build__house--main .ldm-build__layer--6 {
 animation-delay: 1.39s; 
}

.ldm-build__house--main .ldm-build__layer--7 {
 animation-delay: 1.57s; 
}

.ldm-build__house--main .ldm-build__layer--8 {
 animation-delay: 1.75s; 
}

.ldm-build__house--main .ldm-build__layer--9 {
 animation-delay: 1.93s; 
}

.ldm-build__house--main .ldm-build__layer--10 {
 animation-delay: 2.11s; 
}

.ldm-build__house--main .ldm-build__layer--11 {
 animation-delay: 2.29s; 
}

.ldm-build__house--main .ldm-build__layer--12 {
 animation-delay: 2.47s; 
}

.ldm-build__house--right .ldm-build__layer--1 {
 animation-delay: 0.9s; 
}

.ldm-build__house--right .ldm-build__layer--2 {
 animation-delay: 1.12s; 
}

.ldm-build__house--right .ldm-build__layer--3 {
 animation-delay: 1.3s; 
}

.ldm-build__house--right .ldm-build__layer--4 {
 animation-delay: 1.48s; 
}

.ldm-build__house--right .ldm-build__layer--5 {
 animation-delay: 1.66s; 
}

.ldm-build__house--right .ldm-build__layer--6 {
 animation-delay: 1.84s; 
}

.ldm-build__house--right .ldm-build__layer--7 {
 animation-delay: 2.02s; 
}

.ldm-build__house--right .ldm-build__layer--8 {
 animation-delay: 2.2s; 
}

.ldm-build__house--right .ldm-build__layer--9 {
 animation-delay: 2.38s; 
}

.ldm-build__house--right .ldm-build__layer--10 {
 animation-delay: 2.56s; 
}

.ldm-build__house--right .ldm-build__layer--11 {
 animation-delay: 2.74s; 
}

.ldm-build__house--right .ldm-build__layer--12 {
 animation-delay: 2.92s; 
}

@keyframes ldmHouseRiseLoop {
  0% {
    opacity: 0;
    transform: translateY(1.352vw);
    clip-path: inset(100% 0 0 0);
  }
  4% {
    opacity: 1;
    transform: translateY(0.416vw);
    clip-path: inset(55% 0 0 0);
  }
  9% {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
  }
  58% {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
  }
  68% {
    opacity: 0;
    transform: translateY(0.728vw);
    clip-path: inset(100% 0 0 0);
  }
  100% {
    opacity: 0;
    transform: translateY(0.728vw);
    clip-path: inset(100% 0 0 0);
  }
}

/* Scaffold appears mid-build, then disappears when house is ready */

@keyframes ldmScaffoldLoop {
  0%,
  6% {
    opacity: 0;
    transform: translateY(0.832vw);
    clip-path: inset(100% 0 0 0);
  }
  10% {
    opacity: 0.85;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
  }
  38% {
    opacity: 0.75;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
  }
  44%,
  100% {
    opacity: 0;
    transform: translateY(-0.416vw);
    clip-path: inset(0 0 100% 0);
  }
}

@media (max-width: 61.99em) {

  .ldm-build__veil {
    background:
      linear-gradient(
        180deg,
        #2e3192 0%,
        rgba(46, 49, 146, 0.88) 42%,
        rgba(46, 49, 146, 0.55) 70%,
        rgba(18, 20, 55, 0.4) 100%
      );
  }

  .ldm-build__inner {
    grid-template-columns: 1fr;
    gap: 1.872vw;
  }

  .ldm-build__stage {
    order: -1;
    min-height: 12.48vw;
  }

  .ldm-build__house--left .ldm-build__svg,
  .ldm-build__house--right .ldm-build__svg {
    width: clamp(5.72vw, 28vw, 8.32vw);
  }

  .ldm-build__house--main .ldm-build__svg {
    width: clamp(10.4vw, 52vw, 15.6vw);
  }

  .ldm-build__house--left {
    margin-right: -2.496vw;
  }

  .ldm-build__house--right {
    margin-left: -2.496vw;
  }

}

@media (prefers-reduced-motion: reduce) {

  .ldm-build__layer {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    animation: none !important;
  }

}

/* ===== Blog / SEO single ===== */

.ldm-blog-single {
  padding: 60px 0 80px;
}

.ldm-blog-single__grid {
  max-width: 88%;
  margin: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 40px;
  align-items: start;
}

.ldm-blog-single__media img {
  width: 100%;
  height: auto;
  display: block;
}

.ldm-blog-single__copy .ry-date {
  margin: 0 0 12px;
  opacity: 0.7;
}

.ldm-blog-single__copy h2 {
  margin: 0 0 20px;
}

.ldm-blog-single__content {
  line-height: 1.7;
}

.ldm-blog-single__content p {
  margin: 0 0 1em;
}

.ldm-blog-single__cta {
  margin: 28px 0 0;
}

@media (max-width: 900px) {
  .ldm-blog-single__grid {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
}

.ldm-blog-page {
  padding-top: 3rem;
  padding-bottom: 5rem;
}

.ldm-blog-page .ry-blog__list--cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (max-width: 900px) {
  .ldm-blog-page .ry-blog__list--cards {
    grid-template-columns: 1fr;
  }
}

/* ===== Legal / privacy ===== */

.ldm-legal {
  padding: 3rem 0 5rem;
}

.ldm-legal__inner {
  width: 90%;
  max-width: 90%;
  margin: 0 auto;
  line-height: 1.75;
  color: #1a1a24;
}

.ldm-legal__inner h2 {
  margin: 0 0 1.25rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  color: #2e3192;
}

.ldm-legal__inner h3 {
  margin: 2rem 0 0.85rem;
  font-size: 1.15rem;
  color: #2e3192;
}

.ldm-legal__inner h4 {
  margin: 1.35rem 0 0.65rem;
  font-size: 1.02rem;
}

.ldm-legal__inner p {
  margin: 0 0 1em;
}

.ldm-legal__inner ol {
  margin: 0 0 1.25em;
  padding-left: 1.35em;
}

.ldm-legal__inner li {
  margin-bottom: 0.4em;
}

@media (max-width: 700px) {
  .ldm-legal__inner {
    width: 92%;
    max-width: 92%;
  }
}

/* ===== Footer SEO links ===== */

.ldm-footer__seo {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.1rem;
  justify-content: center;
  padding: 1.1rem 6vw 0.85rem;
  border-top: 0.052vw solid rgba(46, 49, 146, 0.12);
  font-family: var(--font-ui);
  font-size: 13px;
}

.ldm-footer__seo a {
  color: #5a5a72 !important;
  text-decoration: none !important;
}

.ldm-footer__seo a:hover {
  color: #2e3192 !important;
  text-decoration: underline !important;
}

/* ===== SEO marquee ===== */

.ldm-marquee {

  position: relative;
  overflow: hidden;
  background: #2e3192;
  color: #fff;
  border-top: 0.052vw solid rgba(255, 255, 255, 0.12);
  border-bottom: 0.052vw solid rgba(255, 255, 255, 0.12);

}

.ldm-marquee__track {

  display: flex;
  width: max-content;
  animation: ldmMarquee 42s linear infinite;

}

.ldm-marquee__group {

  display: flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
  padding: 0.936vw 0;

}

.ldm-marquee__item {

  display: inline-flex;
  align-items: center;
  padding: 0 0.416vw 0 0.936vw;
  font-family: var(--font-ui);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.03328vw;
  color: rgba(255, 255, 255, 0.92) !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color 0.2s ease;

}

.ldm-marquee__item:hover {

  color: #ffffff !important;

}

.ldm-marquee__dot {

  color: rgba(197, 200, 240, 0.7);
  padding: 0 0.52vw;
  user-select: none;

}

.ldm-marquee:hover .ldm-marquee__track {

  animation-play-state: paused;

}

@keyframes ldmMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {

  .ldm-marquee__track {
    animation: none;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
  }

  .ldm-marquee__group[aria-hidden="true"] {
    display: none;
  }

}

/* ===== Contact 50/50 ===== */

.ldm-contact {

  background: #ffffff;
  margin-top: 5vw;
  margin-bottom: 4vw;

}

.ldm-contact__grid {

  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: clamp(29.12vw, 70vw, 39.52vw);

}

.ldm-contact__media {

  position: relative;
  min-height: 100%;
  overflow: hidden;
  background: #e8e9f7;
  height: 20vw;

}

.ldm-contact__media img {

  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(21.84vw, 55vw, 39.52vw);
  object-fit: cover;
  object-position: center;

}

.ldm-contact__panel {

  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.872vw, 5vw, 3.744vw) clamp(1.456vw, 5vw, 3.744vw);
  background: #f7f7fb;

}

.ldm-contact__eyebrow {

  margin: 0 0 0.5824vw;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.1664vw;
  text-transform: uppercase;
  color: #2e3192 !important;

}

.ldm-contact__title {

  margin: 0 0 0.4576vw;
  font-family: var(--font-display) !important;
  font-weight: 600;
  font-size: 45px;
  line-height: 1.1;
  color: #1a1a24 !important;

}

.ldm-contact__lead {

  margin: 0 0 1.9968vw;
  max-width: 28.288vw;
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.65;
  color: #4a4a5e !important;

}

.ldm-contact__cf {

  margin-top: 0.4992vw;

}

.ldm-contact__fields {

  display: grid;
  gap: 0.832vw;
  margin-top: 0.3328vw;

}

.ldm-contact__fields label,
.ldm-contact__message {

  display: grid;
  gap: 0.416vw;
  position: relative;

}

.ldm-contact__panel .wpcf7 label .ry-title,
.ldm-contact__panel .ry-title {

  position: static !important;
  left: auto !important;
  top: auto !important;
  z-index: auto !important;
  pointer-events: auto !important;
  padding: 0 0 0 0.104vw !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04992vw;
  text-transform: uppercase;
  color: #2e3192 !important;
  opacity: 1 !important;
  transition: none !important;

}

.ldm-contact__panel input[type="text"],
.ldm-contact__panel input[type="email"],
.ldm-contact__panel input[type="tel"],
.ldm-contact__panel textarea,
.ldm-contact__panel .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {

  width: 100%;
  box-sizing: border-box;
  border: 0.052vw solid rgba(46, 49, 146, 0.22) !important;
  background: #ffffff !important;
  color: #1a1a24 !important;
  padding: 0.728vw 0.832vw 0.728vw 1.04vw !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;

}

.ldm-contact__panel input:focus,
.ldm-contact__panel textarea:focus {

  outline: none;
  border-color: #2e3192 !important;

}

.ldm-contact__note {

  margin: 0.9152vw 0 0.832vw !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #5a5a72 !important;

}

.ldm-contact__note a {

  color: #2e3192 !important;
  text-decoration: underline;

}

.ldm-contact__bottom {

  display: grid;
  gap: 0.832vw;

}

.ldm-contact__bottom .wpcf7-list-item-label {

  font-size: 15px;
  line-height: 1.45;
  color: #3a3a4d !important;

}

.ldm-contact__submit,
.ldm-contact__panel input.wpcf7-submit {

  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 2.6vw;
  padding: 0.624vw 1.456vw !important;
  background: #2e3192 !important;
  border: 0.078vw solid #2e3192 !important;
  color: #ffffff !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.09984vw;
  text-transform: uppercase;
  cursor: pointer;

}

.ldm-contact__submit:hover,
.ldm-contact__panel input.wpcf7-submit:hover {

  background: #1f226e !important;
  border-color: #1f226e !important;

}

@media (max-width: 61.99em) {

  .ldm-contact__grid {
    grid-template-columns: 1fr;
  }

  .ldm-contact__media img {
    min-height: clamp(13.52vw, 60vw, 19.76vw);
  }

}

/* ===== Footer ===== */

.ldm-footer {

  background: #ffffff;
  color: #1a1a24;
  padding: clamp(1.997vw, 4.8vw, 3.328vw) 0 0;
  border-top: 0.052vw solid rgba(46, 49, 146, 0.12);

}

.ldm-footer__inner {

  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: clamp(1.165vw, 3.2vw, 1.997vw);
  padding-bottom: clamp(1.498vw, 4vw, 2.33vw);

}

.ldm-footer__logo img {

  display: block;
  width: auto;
  height: clamp(2.33vw, 5.6vw, 3.245vw);
  margin-bottom: 0.666vw;
  filter: none;

}

.ldm-footer__brand p,
.ldm-footer__col p {

  margin: 0 0 0.366vw;
  font-family: var(--font-ui);
  font-size: 13px;
  line-height: 1.55;
  color: #4a4a5e !important;

}

.ldm-footer__row {

  display: flex;
  align-items: flex-start;
  gap: 0.52vw;

}

.ldm-footer__icon {

  flex-shrink: 0;
  width: 1.04vw;
  height: 1.04vw;
  margin-top: 0.104vw;
  color: #2e3192;
  display: inline-flex;
  align-items: center;
  justify-content: center;

}

.ldm-footer__icon svg {

  display: block;
  width: 0.936vw;
  height: 0.936vw;

}

.ldm-footer__col h3 {

  margin: 0 0 0.599vw;
  font-family: var(--font-ui) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14976vw;
  text-transform: uppercase;
  color: #2e3192 !important;

}

.ldm-footer__col a {

  color: #1a1a24 !important;
  text-decoration: none !important;

}

.ldm-footer__col a:hover {

  color: #2e3192 !important;
  text-decoration: underline !important;

}

.ldm-footer__bar {

  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.666vw;
  align-items: center;
  padding: 0.749vw 0 0.915vw;
  border-top: 0.052vw solid rgba(46, 49, 146, 0.12);
  font-family: var(--font-ui);
  font-size: 14px;
  padding-left: 6vw;
  padding-right: 6vw;

}

.ldm-footer__credit {

  font-size: 11px !important;
  color: #8a8a9e !important;
  opacity: 0.85;

}

.ldm-footer__credit:hover {

  color: #5a5a72 !important;
  opacity: 1;

}

.ldm-footer__bar a,
.ldm-footer__bar p {

  margin: 0;
  color: #5a5a72 !important;
  text-decoration: none !important;

}

.ldm-footer__bar .center,
.ldm-footer__bar p {

  text-align: center;

}

.ldm-footer__bar a:last-child {

  text-align: right;

}

.ldm-footer__bar a:hover {

  color: #2e3192 !important;

}

@media (max-width: 61.99em) {

  .ldm-footer__inner {
    grid-template-columns: 1fr 1fr;
  }

  .ldm-footer__brand {
    grid-column: 1 / -1;
  }

  .ldm-footer__bar {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .ldm-footer__bar a:last-child {
    text-align: center;
  }

}

@media (max-width: 39.99em) {

  .ldm-footer__inner {
    grid-template-columns: 1fr;
  }

}

/* === MOBILE FONT PX CONVERTED — desktop vw restore === */
@media (min-width: 991px) {
.ldm-wordmark__mark {
  font-size: clamp(1.2896vw, 2.2vw, 1.5808vw);
}

.ldm-wordmark__sub {
  font-size: 0.51584vw;
}

.ldm-avail__num {
  font-size: clamp(1.3312vw, 3vw, 1.7472vw);
}

.ldm-avail__label {
  font-size: 0.51584vw;
}

body.ry-home .ry-nav__link,
body.ry-inner .ry-nav__link {
  font-size: 0.9vw !important;
}

body.ry-home .ry-nav__link:hover,
body.ry-inner .ry-nav__link:hover,
body.ry-home .ry-nav__link:focus,
body.ry-inner .ry-nav__link:focus,
body.ry-home .ry-nav__link[aria-current="page"],
body.ry-inner .ry-nav__link[aria-current="page"],
body.ry-home .ry-nav__link:active,
body.ry-inner .ry-nav__link:active {
  font-size: 0.9vw !important;
}

.footer-brand .ldm-wordmark__mark {
  font-size: 1.3312vw;
}

.ry-about__content h2 {
  font-size: clamp(1.4976vw, 3.2vw, 2.1632vw);
}

.ry-about__content .ry-desc p {
  font-size: clamp(0.7904vw, 1.15vw, 0.8736vw);
}

.ry-about__stat-num {
  font-size: clamp(1.4976vw, 3.2vw, 2.1632vw);
}

.ry-about__stat-num--phrase,
.ry-about__stat-num.ry-about__stat-num--phrase {
  font-size: 1.1vw;
  text-align: center !important;
}

.ry-about__stat-label {
  font-size: clamp(0.51584vw, 0.85vw, 0.59904vw);
}

.ldm-invest__title {
  font-size: clamp(1.664vw, 4vw, 2.496vw);
}

.ldm-invest__lead {
  font-size: clamp(0.7904vw, 1.2vw, 0.9152vw);
}

.ldm-inv-card__status {
  font-size: 0.56576vw;
}

.ldm-inv-card__counter {
  font-size: 0.56576vw;
}

.ldm-inv-card__counter strong {
  font-size: 0.8736vw;
}

.ldm-inv-card__name {
  font-size: clamp(1.1232vw, 2vw, 1.456vw);
}

.ldm-inv-card__desc {
  font-size: 0.7904vw;
}

.ldm-inv-card__cta {
  font-size: 0.624vw !important;
}

.ldm-inv-card__contact {
  font-size: 0.624vw;
}

.ldm-story__title {
  font-size: clamp(1.664vw, 3.8vw, 2.5792vw);
}

.ldm-story__lead,
.ldm-story__text {
  font-size: clamp(0.81536vw, 1.2vw, 0.9152vw);
}

.ldm-story__list li {
  font-size: clamp(0.81536vw, 1.15vw, 0.89856vw);
}

.ldm-build__eyebrow {
  font-size: 0.59904vw;
}

.ldm-build__title {
  font-size: clamp(1.5392vw, 3.6vw, 2.4128vw);
}

.ldm-build__text {
  font-size: clamp(0.76544vw, 1.15vw, 0.8736vw);
}

.ldm-build__list li,
.ldm-build__list li span {
  font-size: 0.7904vw;
}

.ldm-build__cta,
.ldm-build a.ldm-build__cta {
  font-size: 0.64896vw !important;
}

.ldm-marquee__item {
  font-size: clamp(0.7072vw, 1.1vw, 0.832vw);
}

.ldm-contact__eyebrow {
  font-size: 0.59904vw;
}

.ldm-contact__title {
  font-size: clamp(1.5808vw, 3.4vw, 2.3296vw);
}

.ldm-contact__lead {
  font-size: 0.832vw;
}

.ldm-contact__panel .wpcf7 label .ry-title,
.ldm-contact__panel .ry-title {
  font-size: 0.64896vw !important;
}

.ldm-contact__panel input[type="text"],
.ldm-contact__panel input[type="email"],
.ldm-contact__panel input[type="tel"],
.ldm-contact__panel textarea,
.ldm-contact__panel .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
  font-size: 0.7904vw !important;
}

.ldm-contact__note {
  font-size: 0.64896vw !important;
}

.ldm-contact__bottom .wpcf7-list-item-label {
  font-size: 0.6656vw;
}

.ldm-contact__submit,
.ldm-contact__panel input.wpcf7-submit {
  font-size: 0.64896vw !important;
}

.ldm-footer__brand p,
.ldm-footer__col p {
  font-size: 0.76544vw;
}

.ldm-footer__col h3 {
  font-size: 0.59904vw !important;
}

.ldm-footer__bar {
  font-size: 0.94vw;
}
}
