﻿/* cache-bust touch */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* =============================================================
   Fluid type scale for the home (front-page).
   Each var = clamp(min, intercept + Xvw, max), tuned so:
     - At viewport 1500px the value is ~85% of the legacy >1500 size
       (so the page is more comfortable to read on large screens).
     - Above 1500px the value keeps growing slowly, capping at the
       legacy >1500 size around viewport 2000-2050px.
     - Below 1500px the value scales linearly down to "min" at ~380px.
   Used by the section overrides at the bottom of this file. */
:root {
  --fs-64: clamp(26px, 16px + 2.5vw, 64px);
  --fs-50: clamp(25px, 19px + 1.52vw, 50px);
  /* Above 1500 the --fs-50 curve gets bumped up so big titles read at 55px
     around 1920px viewport (instead of capping at 50). Continuous at 1500. */
  --fs-40: clamp(20px, 15px + 1.25vw, 40px);
  --fs-32: clamp(16px, 12px + 0.98vw, 32px);
  --fs-28: clamp(14px, 11px + 0.89vw, 28px);
  --fs-25: clamp(13px, 10px + 0.71vw, 25px);
  --fs-22: clamp(12px, 10px + 0.62vw, 22px);
  --fs-20: clamp(11px, 9px + 0.54vw, 20px);
  --fs-18: clamp(11px, 9px + 0.4vw, 18px);
  --fs-16: clamp(11px, 10px + 0.27vw, 16px);
}

@media (min-width: 1500px) {
  :root {
    /* Continuous at 1500 (~42px) and reaches 55px at ~1920px viewport.
       Slow growth after 1920, capped at 60px on ultrawide displays. */
    --fs-50: clamp(42px, -4.7px + 3.1vw, 60px);
  }
}

/* Critical fonts are self-hosted so the first render does not wait for Google
   Fonts/Bunny DNS + TLS + stylesheet chains. "Felidae" remains an alias for
   Cormorant Garamond, preserving the existing visual system. The Latin subset
   includes Spanish, French and German; Russian uses the Cyrillic subset. */
@font-face {
  font-family: "Felidae";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Cormorant Garamond"), local("CormorantGaramond-Regular"),
       url("/wp-content/themes/inmolux/fonts/cormorant-garamond-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Felidae";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Cormorant Garamond"), local("CormorantGaramond-Regular"),
       url("/wp-content/themes/inmolux/fonts/cormorant-garamond-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Cormorant Garamond"), local("CormorantGaramond-Regular"),
       local("Garamond"), local("Times New Roman"), local("Times"),
       url("/wp-content/themes/inmolux/fonts/cormorant-garamond-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Cormorant Garamond"), local("CormorantGaramond-Regular"),
       url("/wp-content/themes/inmolux/fonts/cormorant-garamond-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: local("Inter"),
       url("/wp-content/themes/inmolux/fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: local("Inter"),
       url("/wp-content/themes/inmolux/fonts/inter-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Anything that uses Felidae must keep weight 400 and never be synthesized.
   This also forces fallback fonts (Cormorant Garamond for Spanish Â¿Ã¡Ã©Ã­Ã³ÃºÃ±
   and Inter for the â‚¬ sign inside <em>) to render at regular weight,
   matching Felidae's only loaded weight (400). Without this override,
   .title { font-weight: 700 } makes accented Spanish chars render BOLD
   in the fallback Cormorant, while the rest stays 400 in Felidae. */
[class*="title"],
[class*="header"],
h1, h2, h3, h4, h5, h6 {
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
[class*="title"],
[class*="title"] em,
[class*="title"] i,
[class*="title"] b,
h1, h1 em, h1 i, h1 b,
h2, h2 em, h2 i, h2 b,
h3, h3 em, h3 i, h3 b,
h4, h4 em, h4 i, h4 b {
  font-weight: 400 !important;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: clip !important;
  background-color: #FFFFFF;
  font-family: "Inter", sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  scrollbar-gutter: auto;
}

body.noscroll,
html.noscroll {
  overflow: hidden;
}

html.inmolux-scrollytelling-wheel-controlled,
html.inmolux-scrollytelling-wheel-controlled body {
  scroll-behavior: auto !important;
}

.wrapper {
  max-width: 100%;
  overflow: visible;
  overflow-x: visible;
}

h1,
h2,
h3,
h4,
h5,
h6,
span,
p {
  margin: 0;
  padding: 0;
  font-synthesis: none;
}

a {
  text-decoration: none;
  font-synthesis: none;
  transition: opacity 0.3s ease, color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

/* Subtle hover for generic content links only */
.card_review a:hover,
.contacts_group a:hover {
  opacity: 0.85;
}

button {
  cursor: pointer;
  transition: opacity 0.3s ease, background-color 0.3s ease, transform 0.2s ease;
}

button:hover {
  opacity: 0.9;
}

/* Floating action stack (bottom-right corner): a green WhatsApp FAB that is
   always present, plus the back-to-top button that only reveals itself when the
   user scrolls up while deep in the page. The stack is anchored by its BOTTOM
   edge, so when the back-to-top slot expands the WhatsApp FAB is pushed up. */
.floating-stack {
  position: fixed;
  right: clamp(16px, 2.5vw, 36px);
  bottom: clamp(16px, 2.5vw, 36px);
  display: flex;
  flex-direction: column;      /* WhatsApp on top, back-to-top slot below it */
  align-items: center;
  z-index: 900;
  pointer-events: none;        /* children re-enable their own hit area */
}

.floating-wa {
  width: 62px;
  height: 62px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 999px;
  background: #25D366;         /* WhatsApp brand green */
  color: #FFFFFF;
  box-shadow: 0 14px 34px rgba(37, 211, 102, 0.42), 0 6px 16px rgba(1, 1, 1, 0.14);
  pointer-events: auto;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.2s ease;
}

.floating-wa:hover {
  opacity: 1;
  background: #1FB457;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 18px 40px rgba(37, 211, 102, 0.5), 0 8px 20px rgba(1, 1, 1, 0.18);
}

.floating-wa:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(37, 211, 102, 0.28), 0 14px 34px rgba(37, 211, 102, 0.42);
}

.floating-wa__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.floating-wa__icon svg {
  display: block;
  width: 30px;
  height: 30px;
}

.back-to-top {
  position: relative;
  width: 62px;
  height: 0;                   /* collapsed: WhatsApp FAB sits in the corner */
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 999px;
  background: rgba(65, 84, 92, 0.96);
  color: #FFFFFF;
  box-shadow: 0 18px 40px rgba(1, 1, 1, 0.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px) scale(0.9);
  transition: height 0.28s ease, margin-top 0.28s ease, opacity 0.25s ease, visibility 0.28s ease, transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  z-index: 1;
}

.back-to-top::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 0.8px solid rgba(255, 255, 255, 0.18);
  border-radius: inherit;
}

.back-to-top.is-visible {
  height: 62px;
  margin-top: 14px;            /* gap above the WhatsApp FAB */
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.back-to-top:hover {
  opacity: 1;
  background: #2F4048;
  border-color: #FFFFFF;
  transform: translateY(-2px) scale(1);
  box-shadow: 0 22px 48px rgba(1, 1, 1, 0.24);
}

.back-to-top:focus-visible {
  opacity: 1;
  outline: none;
  background: #2F4048;
  border-color: #FFFFFF;
  box-shadow: 0 0 0 4px rgba(65, 84, 92, 0.18), 0 22px 48px rgba(1, 1, 1, 0.24);
}

.back-to-top__icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.back-to-top__icon svg {
  display: block;
  width: 22px;
  height: 22px;
}

.floating-contact-cta {
  position: fixed;
  left: 0;
  top: clamp(116px, 13vh, 168px);
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 10px;
  z-index: 920;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(-12px, 0, 0);
  transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.28s ease;
}

.floating-contact-cta.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}

.floating-contact-cta__panel {
  display: flex;
  align-items: stretch;
  min-width: 0;
  max-width: 292px;
  overflow: hidden;
  background: rgba(16, 16, 16, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 14px 34px rgba(1, 1, 1, 0.16);
  transform-origin: right center;
  transition: max-width 0.28s ease, opacity 0.24s ease, transform 0.28s ease, border-color 0.24s ease;
}

.floating-contact-cta__action {
  min-width: 112px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 0;
  background: transparent;
  color: #FFFFFF;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
  text-align: center;
}

.floating-contact-cta__action + .floating-contact-cta__action {
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.floating-contact-cta__action:hover,
.floating-contact-cta__action:focus-visible {
  opacity: 1;
  outline: none;
  background: rgba(255, 255, 255, 0.1);
}

.floating-contact-cta__toggle {
  position: relative;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.26);
  background: rgba(16, 16, 16, 0.92);
  color: #FFFFFF;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 12px 28px rgba(1, 1, 1, 0.2);
  touch-action: manipulation;
}

.floating-contact-cta__toggle::before {
  content: "";
  position: absolute;
  inset: -8px;
}

.floating-contact-cta__toggle:hover,
.floating-contact-cta__toggle:focus-visible {
  opacity: 1;
  outline: none;
  background: #010101;
  border-color: #FFFFFF;
  transform: translateX(5px);
}

.floating-contact-cta__toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.floating-contact-cta__toggle-icon--show {
  display: none;
}

.floating-contact-cta.is-collapsed .floating-contact-cta__panel {
  max-width: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-10px, 0, 0) scaleX(0.96);
  border-color: transparent;
}

.floating-contact-cta.is-collapsed .floating-contact-cta__toggle {
  margin-left: -22px;
}

.floating-contact-cta.is-collapsed .floating-contact-cta__toggle::before {
  inset: -14px -30px -14px 0;
}

.floating-contact-cta.is-collapsed .floating-contact-cta__toggle-icon--hide {
  display: none;
}

.floating-contact-cta.is-collapsed .floating-contact-cta__toggle-icon--show {
  display: inline-flex;
}

@media (max-width: 900px) {
  .floating-contact-cta {
    left: 0;
    right: auto;
    top: max(86px, calc(env(safe-area-inset-top) + 76px));
    bottom: auto;
    align-items: center;
    flex-direction: row-reverse;
    gap: 7px;
    transform: translate3d(-12px, 0, 0);
  }

  .floating-contact-cta.is-visible {
    transform: translate3d(0, 0, 0);
  }

  .floating-contact-cta__panel {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 124px;
    flex-direction: column;
    background: rgba(16, 16, 16, 0.84);
    box-shadow: 0 12px 30px rgba(1, 1, 1, 0.14);
  }

  .floating-contact-cta__action {
    min-width: 124px;
    flex: 0 0 auto;
    height: 38px;
    padding: 0 12px;
    font-size: 10px;
    letter-spacing: 0.12em;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .floating-contact-cta__action + .floating-contact-cta__action {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
  }

  .floating-contact-cta__toggle {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    margin-left: 0;
    background: rgba(16, 16, 16, 0.92);
  }

  .floating-contact-cta.is-collapsed .floating-contact-cta__toggle {
    margin-left: -19px;
  }

  .floating-contact-cta.is-collapsed .floating-contact-cta__toggle::before {
    inset: -16px -34px -16px 0;
  }
}

@media (max-width: 420px) {
  .floating-contact-cta {
    top: max(80px, calc(env(safe-area-inset-top) + 70px));
  }

  .floating-contact-cta__panel {
    max-width: 112px;
  }

  .floating-contact-cta__action {
    min-width: 112px;
    height: 36px;
    padding: 0 10px;
    font-size: 9px;
  }

  .floating-contact-cta__toggle {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    margin-left: 0;
  }

  .floating-contact-cta.is-collapsed .floating-contact-cta__toggle {
    margin-left: -18px;
  }

  .floating-contact-cta.is-collapsed .floating-contact-cta__toggle::before {
    inset: -16px -36px -16px 0;
  }
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

.wrapper {
  overflow: visible;
  width: 100%;
}

.container,
.container-lg,
.container-md,
.container-sm,
.container-xl {
  max-width: 1758px;
  padding: 0 15px;
  margin-left: auto;
  margin-right: auto;
}

/* Mobile-only elements: hidden on desktop, shown via media queries */
.mob_only {
  display: none;
}

.mob_img {
  display: none;
}

.accardion_mob_icon {
  display: none;
}

.img_mini {
  display: none;
}

input[type=number] {
  -moz-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

header {
  padding-top: 0;
}
/* Home-page header treatment.
   Triggered by `body.is-home-page`, stamped from front-page.php via the
   body_class filter. Works across all Polylang language variants â€” WP's
   own `body.home` class isn't reliable when each language has a different
   page assigned as the static front page. */
body.is-home-page header {
  background-color: transparent;
}
/* On the home page the hero photo is a bright interior â€” white header
   elements would disappear. Flip the logo, the burger lines and the lang
   dropdown to black so they read against the bg. */
body.is-home-page header .about_block .top_header_group > .logo img {
  filter: invert(1) brightness(0);
}
body.is-home-page header .about_block .top_header_group .menu_burger .burger span {
  background: #010101 !important;
}
body.is-home-page header .lang-dropdown-btn {
  color: #010101;
  border-color: rgba(1, 1, 1, 0.35);
}
body.is-home-page header .lang-dropdown-btn:hover {
  border-color: #010101;
  background: rgba(0, 0, 0, 0.05);
}
body.is-home-page header .lang-arrow {
  color: #010101;
}
header .about_block {
  position: relative;
}
header .about_block .top_header_group {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-areas: "left center right";
  align-items: center;
  position: relative;
  padding: 24px 96px 24px;
  gap: 24px;
}
@media (min-width: 1200px) {
  header .about_block .top_header_group {
    padding-top: 28px;
    padding-bottom: 28px;
  }
  header .about_block .bottom_header {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}
/* Logo is the center grid track; with `1fr auto 1fr` it stays dead-center
   regardless of the left/right widths, AND `align-items: center` keeps it
   vertically flush with the burger / right_contacts at every breakpoint. */
header .about_block .top_header_group > .menu_burger { grid-area: left; justify-self: start; }
header .about_block .top_header_group > .menu        { grid-area: left; justify-self: start; }
header .about_block .top_header_group > .logo {
  grid-area: center;
  justify-self: center;
  margin: 0;
  z-index: 2;
}
header .about_block .top_header_group > .logo img {
  display: block;
  /* The logo SVG embeds the wordmark with offsets in its pattern matrix
     (tx -0.113, ty -0.25) â€” visually the artwork is ~10% below and ~1%
     right of the SVG's geometric centre. This translate compensates so the
     wordmark optically centres horizontally and vertically in the header. */
  transform: translate(-2px, -10%);
}
header .about_block .top_header_group > .right_contacts { grid-area: right; justify-self: end; }
header .about_block .top_header_group .menu_burger {
  display: none;
  align-items: center;
  gap: 18px;
}
header .about_block .top_header_group .menu_burger .burger {
  width: 25px;
  height: 8px;
  position: relative;
  border: none;
  background: transparent;
  cursor: pointer;
}
header .about_block .top_header_group .menu_burger .burger span {
  position: absolute;
  left: 0;
  height: 1.5px;
  background: #FFFFFF;
  transition: 0.3s;
  z-index: 150;
}
header .about_block .top_header_group .menu_burger .burger span:nth-child(1) {
  top: 0;
  width: 18px;
}
header .about_block .top_header_group .menu_burger .burger span:nth-child(2) {
  width: 25px;
  top: 50%;
  transform: translateY(-50%);
}
header .about_block .top_header_group .menu_burger .burger span:nth-child(3) {
  bottom: 0;
  width: 18px;
}
header .about_block .top_header_group .menu_burger .burger.active {
  width: 15px;
  height: 15px;
}
header .about_block .top_header_group .menu_burger .burger.active span:nth-child(1) {
  transform: rotate(45deg);
  top: 4px;
  background: #001100;
  width: 20px;
}
header .about_block .top_header_group .menu_burger .burger.active span:nth-child(2) {
  opacity: 0;
}
header .about_block .top_header_group .menu_burger .burger.active span:nth-child(3) {
  transform: rotate(-45deg);
  bottom: 10px;
  background: #001100;
  width: 20px;
}
header .about_block .top_header_group .menu_burger .lang_select {
  display: flex;
}
header .about_block .top_header_group .menu_burger .lang_select select {
  background-color: transparent;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../images/select_language.svg);
  background-repeat: no-repeat;
  background-size: auto;
  background-position-x: 98%;
  background-position-y: center;
  border: none;
  font-weight: 300;
  font-size: 8.87px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #FFFFFF;
  padding-right: 11px;
  cursor: pointer;
}
header .about_block .top_header_group .menu_burger .lang_select select option {
  color: #010101;
}
header .about_block .top_header_group .menu ul {
  display: flex;
  align-items: center;
  gap: 80px;
}
header .about_block .top_header_group .menu ul li {
  display: contents;
}
header .about_block .top_header_group .menu ul li a {
  font-weight: 300;
  /* Large-screen (>1500px) nav size unified with the home page. Home forces
     15.4px via an !important override (front-page.php); inner pages used to
     fall back to a 22px default here, which made their headers look oversized
     on big monitors. 15.4px keeps every page's header the same compact size. */
  font-size: 15.4px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #FFFFFF;
}
header .about_block .top_header_group .right_contacts {
  display: flex;
  align-items: center;
}
header .about_block .top_header_group .right_contacts .phone_number {
  font-weight: 300;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #FFFFFF;
  margin-right: 42px;
}
header .about_block .top_header_group .right_contacts .lang_select {
  margin-right: 50px;
}
header .about_block .top_header_group .right_contacts .lang_select select {
  background-color: transparent;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../images/select_language.svg);
  background-repeat: no-repeat;
  background-size: auto;
  background-position-x: 98%;
  background-position-y: center;
  border: none;
  font-weight: 300;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #FFFFFF;
  padding-right: 11px;
  cursor: pointer;
}
header .about_block .top_header_group .right_contacts .lang_select select option {
  color: #010101;
}
header .about_block .top_header_group .right_contacts .lang-dropdown {
  margin-right: 50px;
}
header .about_block .top_header_group .right_contacts .whatsapp {
  display: flex;
  margin-right: 31px;
}
header .about_block .top_header_group .right_contacts .consultation {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 25px;
  line-height: 115%;
  letter-spacing: 5%;
  text-transform: uppercase;
  color: #FFFFFF;
  padding: 17.5px 39px;
  border: 0.8px solid #FFFFFF;
  background-color: rgba(255, 255, 255, 0);
}
header .about_block .bottom_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 96px 24px;
}
header .about_block .bottom_header .menu ul {
  display: flex;
  align-items: center;
  gap: 48px;
}
header .about_block .bottom_header .menu ul li {
  display: contents;
}
header .about_block .bottom_header .menu ul li a {
  font-weight: 300;
  /* Matches the top-row nav: 15.4px so inner-page headers stay the same
     compact size as home on large (>1500px) screens. */
  font-size: 15.4px;
  line-height: 120%;
  letter-spacing: 0%;
  color: #FFFFFF;
}
header .about_block .bottom_header .menu_burger {
  display: flex;
  align-items: center;
  gap: 28px;
  font-weight: 400;
  font-size: 25px;
  line-height: 120%;
  letter-spacing: 5%;
  color: #FFFFFF;
  font-family: "Felidae", "Cormorant Garamond", serif;
}
header .about_block .bottom_header .menu_burger .burger {
  width: 45px;
  height: 16px;
  position: relative;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 150;
}
header .about_block .bottom_header .menu_burger .burger span {
  position: absolute;
  right: 0;
  height: 0.8px;
  background: #FFFFFF;
  transition: 0.3s;
  z-index: 150;
}
header .about_block .bottom_header .menu_burger .burger span:nth-child(1) {
  top: 0;
  width: 32px;
}
header .about_block .bottom_header .menu_burger .burger span:nth-child(2) {
  width: 45px;
  top: 50%;
  transform: translateY(-50%);
}
header .about_block .bottom_header .menu_burger .burger span:nth-child(3) {
  bottom: 0;
  width: 32px;
}
header .about_block .bottom_header .menu_burger .burger.active {
  width: 15px;
  height: 15px;
}
header .about_block .bottom_header .menu_burger .burger.active span:nth-child(1) {
  transform: rotate(45deg);
  top: 4px;
  background: #010101;
  width: 20px;
}
header .about_block .bottom_header .menu_burger .burger.active span:nth-child(2) {
  opacity: 0;
}
header .about_block .bottom_header .menu_burger .burger.active span:nth-child(3) {
  transform: rotate(-45deg);
  bottom: 10px;
  background: #010101;
  width: 20px;
}
header .about_block .mega-menu {
  position: fixed;
  top: 0;
  right: -300%;
  width: 100%;
  height: 100vh;
  background: #FFFFFF;
  transition: 0.4s;
  z-index: 9999;
  /* Allow vertical scrolling at any viewport â€” at narrow heights or with
     long content (Top projects swiper + contacts + nav) the megamenu was
     clipping its bottom rows. */
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
header .about_block .mega-menu.active {
  right: 0;
}
header .about_block .mega-menu .menu_burger_top_group {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-areas: "left center right";
  align-items: center;
  padding-bottom: 28px;
  border-bottom: 1.5px solid #010101;
  padding-top: 56px;
  gap: 24px;
}
header .about_block .mega-menu .menu_burger_top_group > .menu {
  grid-area: left;
  justify-self: start;
}
header .about_block .mega-menu .menu_burger_top_group > .logo {
  grid-area: center;
  justify-self: center;
}
header .about_block .mega-menu .menu_burger_top_group > .right_contacts {
  grid-area: right;
  justify-self: end;
}
header .about_block .mega-menu .menu_burger_top_group .lang_select {
  display: flex;
  margin-left: 33px;
}
header .about_block .mega-menu .menu_burger_top_group .lang_select select {
  background-color: transparent;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../images/select_language1.svg);
  background-repeat: no-repeat;
  background-size: auto;
  background-position-x: 98%;
  background-position-y: center;
  border: none;
  font-weight: 300;
  font-size: 8.87px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #010101;
  padding-right: 11px;
  cursor: pointer;
}
header .about_block .mega-menu .menu_burger_top_group .lang_select select option {
  color: #010101;
}
header .about_block .mega-menu .menu_burger_top_group .menu ul {
  display: flex;
  align-items: center;
  gap: 80px;
}
header .about_block .mega-menu .menu_burger_top_group .menu ul li {
  display: contents;
}
header .about_block .mega-menu .menu_burger_top_group .menu ul li a {
  font-weight: 300;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #010101;
}
header .about_block .mega-menu .menu_burger_top_group .right_contacts {
  display: flex;
  align-items: center;
}
header .about_block .mega-menu .menu_burger_top_group .right_contacts .phone_number {
  font-weight: 300;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #010101;
  margin-right: 42px;
}
header .about_block .mega-menu .menu_burger_top_group .right_contacts .lang_select {
  margin-right: 50px;
}
header .about_block .mega-menu .menu_burger_top_group .right_contacts .lang_select select {
  background-color: transparent;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../images/select_language1.svg);
  background-repeat: no-repeat;
  background-size: auto;
  background-position-x: 98%;
  background-position-y: center;
  border: none;
  font-weight: 300;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #010101;
  padding-right: 11px;
  cursor: pointer;
}
header .about_block .mega-menu .menu_burger_top_group .right_contacts .lang_select select option {
  color: #010101;
}
header .about_block .mega-menu .menu_burger_top_group .right_contacts .lang-dropdown {
  margin-right: 50px;
}
header .about_block .mega-menu .menu_burger_top_group .right_contacts .whatsapp {
  display: flex;
  margin-right: 31px;
}
header .about_block .mega-menu .menu_burger_top_group .right_contacts .consultation {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 25px;
  line-height: 115%;
  letter-spacing: 5%;
  text-transform: uppercase;
  color: #010101;
  padding: 17.5px 39px;
  border: 0.8px solid #010101;
  background-color: rgba(255, 255, 255, 0);
}
header .about_block .mega-menu .bottom_menu_group {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  border-bottom: 1.6px solid #E1E1E1;
}
/* Grid items default to min-width:auto, so the tracks refuse to shrink below
   their content's intrinsic width. At base font sizes that pushed the
   3-column bottom grid wider than its container on tablet/laptop widths and
   clipped the left CONTACTS column. Let the columns shrink to fit. */
header .about_block .mega-menu .bottom_menu_group > * {
  min-width: 0;
}
header .about_block .mega-menu .bottom_menu_group .our_projects {
  padding: 63px 63px 50px 0;
  width: 100%;
  max-width: 1161px;
  grid-column: span 8;
  border-bottom: 1.6px solid #E1E1E1;
}
header .about_block .mega-menu .bottom_menu_group .our_projects h3,
header .about_block .mega-menu .bottom_menu_group .our_projects .mega-h {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #010101;
  margin-bottom: 40px;
}
header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 20px;
}
header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project {
  display: flex;
  align-items: center;
  gap: 10px;
  grid-column: span 3;
  /* Project rows are <a> elements â€” strip default link underline + colour. */
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: opacity .25s;
}
header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project:hover {
  opacity: 0.7;
}
header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project .project {
  width: 96px;
  height: 64px;
  flex-shrink: 0;
  object-fit: cover;
  display: block;
}
header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project p {
  font-weight: 300;
  font-size: 18px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group {
  padding: 63px 0 50px 60px;
  width: 100%;
  max-width: 571px;
  grid-column: span 4;
  grid-row: span 2;
  border-left: 1.6px solid #E1E1E1;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group h3,
header .about_block .mega-menu .bottom_menu_group .contacts_group .mega-h {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #010101;
  margin-bottom: 40px;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group h4 {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
  margin-bottom: 15px;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone {
  margin-bottom: 50px;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number a {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #3C3C3B;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .email {
  margin-bottom: 50px;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .email a {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #3C3C3B;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group {
  margin-bottom: 158px;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a svg,
header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a img {
  width: 44px;
  height: 44px;
  max-width: 44px;
  max-height: 44px;
  display: block;
}
/* Mega-menu has a white background; source SVGs are white â€” invert so they show. */
header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a img,
#megaMenu .bottom_menu_group .contacts_group .networks_group .networks a img {
  filter: invert(1);
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .ask_questions {
  font-weight: 400;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: 5%;
  text-transform: uppercase;
  color: #000000;
  padding: 21px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.8px solid #000000;
}
header .about_block .mega-menu .bottom_menu_group .top_projects {
  width: 100%;
  max-width: 576px;
  padding: 51px 62px 50px 0;
  grid-column: span 4;
  border-right: 1.6px solid #E1E1E1;
}
header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}
header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects h3,
header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .mega-h {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #010101;
}
header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .navigations_slider {
  display: flex;
  align-items: center;
  height: 22px;
  gap: 40px;
}
header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .navigations_slider .swiper-button-next,
header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .navigations_slider .swiper-button-prev {
  position: static;
  color: #010101;
  width: 22px;
  height: 100%;
  margin: 0;
}
header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group {
  position: relative;
}
/* Top-projects mega-menu slider: lock slide width + image proportions so
   images of different natural sizes render identically and never overflow
   the column on wide viewports (>1500px the Swiper initialised off-screen
   and slides were taking the source image's natural width). */
header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .swiper {
  width: 100%;
  overflow: hidden;
}
header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .swiper-slide {
  width: 100% !important;
  box-sizing: border-box;
}
header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .projects_img img {
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  max-height: none;
  object-fit: cover;
  display: block;
}
header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .projects_img p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
  margin-top: 20px;
}
header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .swiper-pagination {
  bottom: 0;
  right: 0;
  left: auto;
  text-align: right;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #BABABA;
}
header .about_block .mega-menu .bottom_menu_group .menu_group_main {
  width: 100%;
  max-width: 585px;
  padding: 51px 60px 50px 57px;
  grid-column: span 4;
}
header .about_block .mega-menu .bottom_menu_group .menu_group_main h3,
header .about_block .mega-menu .bottom_menu_group .menu_group_main .mega-h {
  font-weight: 700;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #010101;
  margin-bottom: 40px;
}
header .about_block .mega-menu .bottom_menu_group .menu_group_main ul {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 40px;
  row-gap: 30px;
}
header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li {
  display: block;
  min-width: 0;
}
header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li a {
  font-weight: 400;
  font-size: 28px;
  line-height: 130%;
  letter-spacing: 5%;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #3C3C3B;
  display: inline-block;
  word-break: break-word;
  overflow-wrap: anywhere;
}
header .about_block .mega-menu .bottom_menu_group .menu_group_main ul:nth-child(2) {
  padding-bottom: 52px;
  border-bottom: 1.6px solid #E1E1E1;
  margin-bottom: 52px;
}
header .about_block .mega-menu .bottom_menu_group .menu_group_main.mob_menu {
  display: none;
}

/* ===== HERO SCROLL-PINNED SECTION ===== */
.big_block_home {
  position: relative;
  height: 200vh;
}
.big_block_home > .container {
  height: 100%;
  padding: 0;
  max-width: none;
}
.big_block_home header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
.big_block_home .group_home {
  position: sticky;
  top: 0;
  height: 100vh;
  z-index: 2;
  overflow: hidden;
}
/* Hero background as a real <picture> element â€” visible in HTML source,
   not a CSS pseudo, so it plays nice with LiteSpeed CSS/image optimizers
   and the <source media="(min-width: 1920px)"> handles the large-screen
   crop automatically. */
.big_block_home .group_home .hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.big_block_home .group_home .hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity 0.4s ease-out;
  opacity: var(--bg-opacity, 1);
  display: block;
}
/* Light overlay so white hero text stays readable on bright interior
   photography. Subtle wash + soft vignette at the edges â€” the image
   needs to breathe, the text-shadow on the copy carries the contrast. */
.big_block_home .group_home::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse 120% 100% at center,
      rgba(0, 0, 0, 0) 35%,
      rgba(0, 0, 0, 0.30) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.05) 0%,
      rgba(0, 0, 0, 0.18) 100%
    );
  pointer-events: none;
  z-index: 1;
}
.big_block_home .group_home .home_block {
  z-index: 2;
}
.big_block_home .group_home .home_block {
  padding: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.big_block_home .group_home .home_block .home_content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

/* --- Hero Slides --- */
.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.hero-slide h1,
.hero-slide .hero-actions {
  transform: translateY(24px);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
  opacity: 0;
}
.hero-slide h2,
.hero-slide .hero-cta {
  transform: translateY(20px);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) 0.08s, opacity 0.4s ease 0.08s;
  opacity: 0;
}
.hero-slide .hero-meta {
  transform: translateY(14px);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) 0.16s, opacity 0.4s ease 0.16s;
  opacity: 0;
}
.hero-slide.active {
  opacity: 1;
  pointer-events: auto;
}
.hero-slide.active h1,
.hero-slide.active h2,
.hero-slide.active .hero-actions,
.hero-slide.active .hero-cta,
.hero-slide.active .hero-meta {
  transform: translateY(0);
  opacity: 1;
}
.hero-slide.exiting {
  opacity: 0;
}
.hero-slide.exiting h1,
.hero-slide.exiting .hero-actions {
  transform: translateY(-24px);
  opacity: 0;
}
.hero-slide.exiting h2,
.hero-slide.exiting .hero-cta {
  transform: translateY(-20px);
  opacity: 0;
}
.hero-slide.exiting .hero-meta {
  transform: translateY(-14px);
  opacity: 0;
}

.big_block_home .group_home .home_block .main-title {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #FFFFFF;
  max-width: 1005px;
  margin: 0 auto 20px;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.65), 0 0 6px rgba(0, 0, 0, 0.4);
}
.big_block_home .group_home .home_block h2 {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #FFFFFF;
  margin-bottom: 24px;
  max-width: 1005px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6);
}
.big_block_home .group_home .home_block .hero-stats {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0;
  text-align: center;
  color: #FFFFFF;
  margin: 0 auto;
  max-width: 1200px;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
}

/* ===== Hero Slide 2 â€” buy / invest / sell + CTA pinned to bottom ===== */
.hero-slide.hero-slide--cta {
  justify-content: space-between;  /* override center: actions middle, cta-block bottom */
  padding-top: 35vh;
  padding-bottom: 100px;
  transition: none !important;
}
.big_block_home .group_home .home_block .hero-actions,
.big_block_home .group_home .home_block .hero-actions__link,
.big_block_home .group_home .home_block .hero-actions__sep {
  /* Fluid: ~16px @ 360vw, 40px @ 1500vw. Linear in between via clamp.
     !important + repeated on the <a> and <span> children: when only set on
     the <p> padre, an outer rule was breaking inheritance on the <a>. */
  font-size: clamp(16px, 8px + 2.13vw, 40px) !important;
}
.big_block_home .group_home .home_block .hero-actions {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  text-align: center;
  margin: 0 auto;
  display: inline-flex;
  align-items: center;
  gap: clamp(8px, 4px + 0.95vw, 18px);
  padding: clamp(10px, 7px + 0.55vw, 16px) clamp(18px, 12px + 1.15vw, 32px);
  background: rgba(18, 21, 24, 0.08);
  backdrop-filter: blur(7px) saturate(118%);
  -webkit-backdrop-filter: blur(7px) saturate(118%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.07);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.26);
}
.big_block_home .group_home .home_block .hero-actions__bullet {
  width: clamp(5px, 3px + 0.45vw, 10px);
  height: clamp(5px, 3px + 0.45vw, 10px);
  border-radius: 50%;
  background: #FFFFFF;
  flex-shrink: 0;
}
.big_block_home .group_home .home_block .hero-actions__link {
  color: #FFFFFF;
  text-decoration: none;
  opacity: 0.72;
  transition: opacity 0.3s ease;
}
@media (min-width: 1200px) {
  .big_block_home .group_home .home_block .hero-actions {
    text-transform: uppercase;
  }
}
.big_block_home .group_home .home_block .hero-actions__link.is-active,
.big_block_home .group_home .home_block .hero-actions__link:hover {
  opacity: 1;
}
.big_block_home .group_home .home_block .hero-actions__sep {
  color: #FFFFFF;
  opacity: 0.72;
}
.hero-slide.hero-slide--cta .hero-actions,
.hero-slide.hero-slide--cta .hero-cta,
.hero-slide.hero-slide--cta .hero-meta {
  transform: none !important;
  transition: none !important;
}
.hero-slide.hero-slide--cta:not(.active) .hero-actions,
.hero-slide.hero-slide--cta:not(.active) .hero-cta,
.hero-slide.hero-slide--cta:not(.active) .hero-meta {
  opacity: 0 !important;
}
.hero-slide.hero-slide--cta.active .hero-actions,
.hero-slide.hero-slide--cta.active .hero-cta,
.hero-slide.hero-slide--cta.active .hero-meta {
  opacity: 1 !important;
}
.hero-slide.hero-slide--cta.exiting .hero-actions,
.hero-slide.hero-slide--cta.exiting .hero-cta,
.hero-slide.hero-slide--cta.exiting .hero-meta {
  opacity: 0 !important;
}
.big_block_home .group_home .home_block .hero-cta-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(14px, 11px + 0.7vw, 22px);
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.big_block_home .group_home .home_block .hero-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: clamp(16px, 12px + 0.95vw, 26px) clamp(20px, 13px + 1.8vw, 40px);
  border: 1px solid rgba(1, 1, 1, 0.72);
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #010101;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: clamp(13px, 10px + 0.55vw, 18px);
  line-height: 150%;
  letter-spacing: 0.05em;
  text-transform: none;
  text-decoration: none;
  text-shadow: none;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.big_block_home .group_home .home_block .hero-cta:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: #010101;
  color: #010101;
}
.big_block_home .group_home .home_block .hero-meta {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: clamp(12px, 10px + 0.4vw, 16px);
  line-height: 130%;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
  margin: 0;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
}
/* Padding-bottom of the CTA slide is layout, not size â€” kept as breakpoints
   so .keep-scrolling (absolute, bottom:47px) cannot overlap the meta line. */
@media (max-width: 1500px) {
  .hero-slide.hero-slide--cta { padding-bottom: 140px; }
}
@media (max-width: 1199px) {
  .hero-slide.hero-slide--cta { padding-top: 30vh; padding-bottom: 140px; }
}
@media (max-width: 767px) {
  .hero-slide.hero-slide--cta { padding-top: 28vh; padding-bottom: 110px; }
  .big_block_home .group_home .home_block .hero-meta { max-width: 330px; }
}
.big_block_home .group_home .home_block .hero-stats u {
  text-decoration: none;
}
@media (max-width: 1500px) {
  .big_block_home .group_home .home_block .hero-stats {
    font-size: 20px;
  }
}
@media (max-width: 1199px) {
  .big_block_home .group_home .home_block .hero-stats {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .big_block_home .group_home .home_block .hero-stats {
    font-size: 13px;
    max-width: 330px;
  }
}

/* Keep scrolling link */
.keep-scrolling {
  position: absolute;
  bottom: 47px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 400;
  font-size: 12px;
  line-height: 115%;
  letter-spacing: 0%;
  text-align: center;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  z-index: 5;
  animation: bounce-keep-scrolling 2s ease-in-out infinite;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
}
.keep-scrolling img {
  animation: bounce-arrow 2s ease-in-out infinite;
}

@keyframes bounce-arrow {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(8px); }
}
@keyframes bounce-keep-scrolling {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(-50%, 8px); }
}

.cards_logos_informations {
  border-bottom: 1.6px solid #E1E1E1;
}
.cards_logos_informations .title_mob {
  display: none;
}
.cards_logos_informations .about_block {
  display: flex;
  align-items: center;
}
.cards_logos_informations .about_block .card_partner {
  width: 100%;
  height: 242px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-left: 1.6px solid #E1E1E1;
  position: relative;
  padding: 20px;
  overflow: hidden;
  cursor: pointer;
}
.cards_logos_informations .about_block .card_partner:last-child {
  border-right: 1.6px solid #E1E1E1;
}
.cards_logos_informations .about_block .card_partner .logos_partner {
  width: auto;
  height: auto;
  transition: 0.4s;
  opacity: 1;
}
.cards_logos_informations .about_block .card_partner .descriptions_card {
  width: 100%;
  margin: 0 auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  opacity: 0;
  transition: 0.4s;
  max-width: 480px;
}
.cards_logos_informations .about_block .card_partner .descriptions_card h3 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #010101;
  margin-bottom: 32px;
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
}
.cards_logos_informations .about_block .card_partner .descriptions_card h4 {
  color: #3C3C3B;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
}
.cards_logos_informations .about_block .card_partner .arrow_pilus {
  display: flex;
  position: absolute;
  right: 20px;
  bottom: 20px;
  transition: transform 0.3s ease;
}
.cards_logos_informations .about_block .card_partner .arrow_pilus svg circle {
  transition: stroke, fill 0.3s ease;
  fill: transparent;
}
.cards_logos_informations .about_block .card_partner .arrow_pilus svg line {
  transition: stroke 0.3s ease;
}
.cards_logos_informations .about_block .card_partner:hover .logos_partner {
  opacity: 0;
  transform: scale(0.8);
}
.cards_logos_informations .about_block .card_partner:hover .descriptions_card {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.cards_logos_informations .about_block .card_partner:hover .arrow_pilus {
  transform: rotate(45deg);
}
.cards_logos_informations .about_block .card_partner:hover .arrow_pilus svg circle {
  stroke: transparent;
  fill: #41545C;
}
.cards_logos_informations .about_block .card_partner:hover .arrow_pilus svg line {
  stroke: #FFFFFF;
}

.real_estate_marbella_block .title_block {
  border-bottom: 1.6px solid #E1E1E1;
}
.real_estate_marbella_block .title_block .titles {
  border-left: 1.6px solid #E1E1E1;
  border-right: 1.6px solid #E1E1E1;
  padding: 100px 0 50px 0;
}
.real_estate_marbella_block .title_block .titles h2 {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  max-width: 945px;
  margin: 0 auto;
  margin-bottom: 20px;
}
.real_estate_marbella_block .title_block .titles p {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  font-family: "Felidae", "Cormorant Garamond", serif;
}
.real_estate_marbella_block .stages_real_estate {
  border-bottom: 1.6px solid #E1E1E1;
}
.real_estate_marbella_block .stages_real_estate .stages_group {
  display: flex;
  align-items: center;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage {
  width: 100%;
  border-right: 1.6px solid #E1E1E1;
  display: flex;
  flex-direction: column;
  padding: 48px 15px;
  position: relative;
  overflow: hidden;
  height: 877px;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage h3 {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #BABABA;
  transition: color 0.3s ease;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage svg circle {
  transition: stroke, fill 0.3s ease;
  fill: transparent;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage svg line {
  transition: stroke 0.3s ease;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage h4 {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #3C3C3B;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage .img_wrap {
  width: 555px;
  height: 698px;
  overflow: hidden;
  transition: 0.5s;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage .img_wrap .img_estate {
  width: 100%;
  height: 100%;
  transition: 0.5s;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage a {
  font-weight: 400;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: 5%;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #232323;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: rgba(35, 35, 35, 0);
  border: 0.8px solid #232323;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage h4,
.real_estate_marbella_block .stages_real_estate .stages_group .stage p,
.real_estate_marbella_block .stages_real_estate .stages_group .stage a {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transform: translateY(20px);
  transition: 0.4s;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:nth-child(1) {
  padding-left: 0;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:nth-child(3) {
  border: none;
  padding-right: 0;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:hover {
  cursor: pointer;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .title_stage h3 {
  color: #010101;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .title_stage svg circle {
  stroke: transparent;
  fill: #41545C;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .title_stage svg line {
  stroke: #FFFFFF;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .img_wrap {
  width: 216px;
  height: 270px;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:hover h4 {
  opacity: 1;
  max-height: 200px;
  transform: translateY(0);
  margin-bottom: 22px;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:hover p {
  opacity: 1;
  max-height: 200px;
  transform: translateY(0);
  margin-bottom: 35px;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:hover a {
  opacity: 1;
  max-height: 200px;
  transform: translateY(0);
  margin-top: 44px;
  padding: 21px;
}

.personalized_selection_block {
  background-image: url(../images/bg_personalized.avif);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
.personalized_selection_block .about_block {
  border-left: 1.6px solid rgba(225, 225, 225, 0.2);
  border-right: 1.6px solid rgba(225, 225, 225, 0.2);
  padding: 208px;
}
.personalized_selection_block .about_block .group_inf_personalized {
  width: 100%;
  max-width: 1349px;
  background-color: #FAFAFA;
  margin: 0 auto;
  padding: 128px 45px;
}
.personalized_selection_block .about_block .group_inf_personalized h2 {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #010101;
  margin-bottom: 20px;
}
.personalized_selection_block .about_block .group_inf_personalized h3 {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #010101;
  max-width: 575px;
  margin: 0 auto;
  margin-bottom: 15px;
}
.personalized_selection_block .about_block .group_inf_personalized p {
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  letter-spacing: 0%;
  text-align: center;
  color: #3C3C3B;
  margin-bottom: 110px;
}
.personalized_selection_block .about_block .group_inf_personalized a {
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 5%;
  text-transform: uppercase;
  color: #232323;
  border: 0.8px solid #232323;
  padding: 15px 32px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 437px;
  margin: 0 auto;
  margin-bottom: 20px;
  font-family: "Felidae", "Cormorant Garamond", serif;
}
.personalized_selection_block .about_block .group_inf_personalized h4 {
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
  display: flex;
  align-items: center;
  justify-content: center;
}
.personalized_selection_block::before {
  content: "";
  width: 100%;
  height: 1.6px;
  background-color: rgba(225, 225, 225, 0.2);
  position: absolute;
  top: 208px;
  left: 0;
}
.personalized_selection_block::after {
  content: "";
  width: 100%;
  height: 1.6px;
  background-color: rgba(225, 225, 225, 0.2);
  position: absolute;
  bottom: 208px;
  left: 0;
}

.marbella_solutions_wealth_impact {
  border-bottom: 1.6px solid #E1E1E1;
}
.marbella_solutions_wealth_impact .about_block {
  border-left: 1.6px solid #E1E1E1;
  border-right: 1.6px solid #E1E1E1;
  padding: 200px 0 100px 0;
}
.marbella_solutions_wealth_impact .about_block h2 {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  max-width: 1611px;
  margin: 0 auto;
  margin-bottom: 80px;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group {
  display: flex;
  align-items: flex-start;
  gap: 34px;
  height: 781px;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group {
  width: 100%;
  max-width: 539px;
  display: flex;
  flex-direction: column;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description {
  padding: 32px;
  padding-right: 0;
  border-bottom: 1.6px solid #E1E1E1;
  position: relative;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description span {
  display: none;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3 {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  color: #C2C2C2;
  font-family: "Felidae", "Cormorant Garamond", serif;
  position: relative;
  transition: 0.3s;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3::before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background-color: #010101;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  opacity: 0;
  transition: 0.3s;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description p {
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
  font-family: "Inter", sans-serif;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(10px);
  transition: 0.4s;
  margin-top: 16px;
  padding-right: 24px;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover p,
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active p {
  padding-left: 32px;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:first-child {
  padding-top: 0;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:last-child {
  border: 0;
  padding-bottom: 0;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover {
  cursor: pointer;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover h3,
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active h3 {
  padding-left: 32px;
  color: #010101;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover h3::before,
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active h3::before {
  opacity: 1;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover p,
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active p {
  max-height: 200px;
  opacity: 1;
  transform: translateY(0);
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
  width: 100%;
  max-width: 1155px;
  height: 100%;
  position: relative;
  display: flex;
  align-items: end;
  padding: 30px 32px;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content {
  display: none;
  z-index: 10;
  position: relative;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content.active {
  display: block;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content h3 {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #FFFFFF;
  margin-bottom: 16px;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #FFFFFF;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  z-index: 1;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
  z-index: 10;
  position: relative;
  font-weight: 400;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: 5%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  padding: 24px;
  border: 1.6px solid #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #FFFFFF;
}

.one_partners_entire_process .about_block {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
  padding: 100px 0 200px 0;
}
.one_partners_entire_process .about_block .title_block {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  color: #010101;
  font-family: "Felidae", "Cormorant Garamond", serif;
  max-width: 1300px;
  margin: 0 auto;
  margin-bottom: 80px;
}
.one_partners_entire_process .about_block .inf_group_about_partners {
  display: flex;
  align-items: center;
  gap: 30px;
}
.one_partners_entire_process .about_block .inf_group_about_partners .img_wrapper {
  width: 100%;
  height: 100%;
  background-color: #FAFAFA;
  padding: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.one_partners_entire_process .about_block .inf_group_about_partners .img_wrapper img {
  width: 100%;
  max-width: 533px;
  height: auto;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire {
  width: 100%;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-item {
  border: none;
  border-radius: 0;
  border-bottom: 1.6px solid #E1E1E1;
  padding: 48px 0 50px 0;
  padding-right: 12px;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-item:first-child {
  border-top: 1.6px solid #E1E1E1;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button {
  box-shadow: none;
  background-color: transparent;
  padding: 0;
  border-radius: 0;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button .title_process {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 0.02em;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #C4C4C4;
  /* Figma: outside stroke 0.2px same color as fill â€” makes Felidae match the design weight */
  -webkit-text-stroke: 0.2px #C4C4C4;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button:not(.collapsed) .title_process {
  color: #010101;
  -webkit-text-stroke: 0.2px #010101;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-body {
  padding: 0;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-body .text_process {
  padding-top: 24px;
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
  font-family: "Inter", sans-serif;
  max-width: 813px;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button::after {
  width: 37px;
  height: 37px;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='37' viewBox='0 0 37 37' fill='none'%3E%3Ccircle cx='18.5' cy='18.5' r='17.7' stroke='%23C4C4C4' stroke-width='1.6'/%3E%3Cline x1='18.8' y1='10' x2='18.8' y2='28' stroke='%23C4C4C4' stroke-width='1.6'/%3E%3Cline x1='28' y1='18.8' x2='10' y2='18.8' stroke='%23C4C4C4' stroke-width='1.6'/%3E%3C/svg%3E");
  transform: rotate(0deg);
  transition: 0.3s;
}
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button:not(.collapsed)::after {
  transform: rotate(45deg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='37' viewBox='0 0 37 37' fill='none'%3E%3Ccircle cx='18.5' cy='18.5' r='17.7' stroke='%23010101' stroke-width='1.6'/%3E%3Cline x1='18.8' y1='10' x2='18.8' y2='28' stroke='%23010101' stroke-width='1.6'/%3E%3Cline x1='28' y1='18.8' x2='10' y2='18.8' stroke='%23010101' stroke-width='1.6'/%3E%3C/svg%3E");
}

.experience_eliminates_clients .title_block {
  border-bottom: 1.5px solid #E1E1E1;
}
.experience_eliminates_clients .title_block .title_texts {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
  padding-bottom: 80px;
}
.experience_eliminates_clients .title_block .title_texts h2 {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  color: #010101;
  font-family: "Felidae", "Cormorant Garamond", serif;
  max-width: 1352px;
  margin: 0 auto;
  margin-bottom: 32px;
}
.experience_eliminates_clients .title_block .title_texts h3 {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  text-align: center;
  color: #3C3C3B;
  max-width: 757px;
  margin: 0 auto;
}
.experience_eliminates_clients .cards_eliminetes_group {
  border-bottom: 1.5px solid #E1E1E1;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  align-items: center;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el {
  height: 416px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 80px 35px 33px 35px;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el span {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #010101;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el p {
  font-weight: 300;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: 0%;
  color: #3C3C3B;
  font-family: "Inter", sans-serif;
  margin-top: auto;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el p br {
  display: block;
  content: "";
  margin-bottom: 2px;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(1) {
  grid-column: span 4;
  border-right: 1.5px solid #E1E1E1;
  border-bottom: 1.5px solid #E1E1E1;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2) {
  grid-column: span 8;
  grid-row: span 2;
  width: 100%;
  height: 100%;
  padding: 0;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  position: relative;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2) img {
  width: 100%;
  height: 100%;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 1.3s ease-out;
  -o-object-fit: cover;
     object-fit: cover;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2).visible img {
  transform: scaleY(1);
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(3) {
  grid-column: span 4;
  border-right: 1.5px solid #E1E1E1;
  border-bottom: 1.5px solid #E1E1E1;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4) {
  grid-column: span 4;
  width: 100%;
  height: 100%;
  padding: 0;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  position: relative;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4) img {
  width: 100%;
  height: 100%;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 1.3s ease-out;
  -o-object-fit: cover;
     object-fit: cover;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4).visible img {
  transform: scaleY(1);
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(5) {
  grid-column: span 4;
  border-left: 1.5px solid #E1E1E1;
  border-top: 1.5px solid #E1E1E1;
}
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(6) {
  grid-column: span 4;
  border-left: 1.5px solid #E1E1E1;
  border-top: 1.5px solid #E1E1E1;
}
.experience_eliminates_clients .border_blok {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
  padding: 50px 0;
}

.marbella_real_estate_inquiry_block {
  background-image: url(../images/bg_form.avif);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
.marbella_real_estate_inquiry_block .about_block {
  border-left: 1.6px solid rgba(225, 225, 225, 0.2);
  border-right: 1.6px solid rgba(225, 225, 225, 0.2);
  padding: 208px;
}
.marbella_real_estate_inquiry_block .about_block .form_group {
  width: 100%;
  max-width: 1280px;
  background-color: #FFFFFF;
  margin: 0 auto;
  padding: 96px 47px;
}
.marbella_real_estate_inquiry_block .about_block .form_group h2 {
  font-weight: 400;
  font-size: 64px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #010101;
  max-width: 1112px;
  margin: 0 auto;
  margin-bottom: 32px;
}
/* The h4 spam-disclaimer carries `<br class="br-360">` so it splits into two
   lines on narrow viewports (Â«Ð‘ÐµÐ· ÑÐ¿Ð°Ð¼Ð° Ð¸ Ñ€ÐµÐºÐ»Ð°Ð¼Ñ‹. / Ð¢Ð¾Ð»ÑŒÐºÐ¾ 1 ÑÐºÑÐ¿ÐµÑ€Ñ‚Ð½Ñ‹Ð¹
   Ð¾Ñ‚Ð²ÐµÑ‚Â»). Hidden by default â€” fits on one line at desktop widths. */
.marbella_real_estate_inquiry_block .about_block .form_group form h4 .br-360 {
  display: none;
}
.marbella_real_estate_inquiry_block .about_block .form_group h3 {
  /* Per Figma â€” sub-headline is Inter Light, not Felidae. The Felidae rule
     was a hold-over from the old design and was forcing decorative serifs
     on the body copy on mobile, where it became unreadable. */
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0;
  text-align: center;
  color: #3C3C3B;
  margin: 0 auto;
  margin-bottom: 24px;
  max-width: 1112px;
}
.marbella_real_estate_inquiry_block .about_block .form_group p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  text-align: center;
  color: #3C3C3B;
  margin-bottom: 105px;
}
.marbella_real_estate_inquiry_block .about_block .form_group form {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 18px;
       column-gap: 18px;
}
.marbella_real_estate_inquiry_block .about_block .form_group form select {
  width: 100%;
  max-width: 584px;
  border: 1.6px solid #E1E1E1;
  outline: none;
  padding: 40px;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='14' viewBox='0 0 20 14' fill='none'%3E%3Cpath d='M10.3168 13.7182C10.1251 13.9811 9.73285 13.9811 9.54113 13.7182L0.0929749 0.76283C-0.138352 0.445635 0.0882104 0 0.480796 0L19.3771 0C19.7697 0 19.9963 0.445637 19.7649 0.762832L10.3168 13.7182Z' fill='%23D2D2D2'/%3E%3C/svg%3E") no-repeat right 40px center;
  transition: 0.3s ease;
}
.marbella_real_estate_inquiry_block .about_block .form_group form select:hover,
.marbella_real_estate_inquiry_block .about_block .form_group form .lux-select:hover,
.marbella_real_estate_inquiry_block .about_block .form_group form .lux-select.is-hover {
  background-color: #F5F5F5;
  border-color: #C4C4C4;
}
.marbella_real_estate_inquiry_block .about_block .form_group form select:focus {
  border: 1.6px solid #A5A5A5;
  color: #3C3C3B;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='14' viewBox='0 0 20 14' fill='none'%3E%3Cpath d='M10.3168 13.7182C10.1251 13.9811 9.73285 13.9811 9.54113 13.7182L0.0929749 0.76283C-0.138352 0.445635 0.0882104 0 0.480796 0L19.3771 0C19.7697 0 19.9963 0.445637 19.7649 0.762832L10.3168 13.7182Z' fill='%23A5A5A5'/%3E%3C/svg%3E") no-repeat right 40px center;
}
.marbella_real_estate_inquiry_block .about_block .form_group form h4 {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  text-align: center;
  color: #3C3C3B;
  margin: 81px 0 18px 0;
  width: 100%;
  text-align: center;
}
.marbella_real_estate_inquiry_block .about_block .form_group form > button {
  border: none;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #41545C;
  font-weight: 400;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: 5%;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #FFFFFF;
  padding: 21px;
  margin-bottom: 32px;
}
/* Direct child only â€” otherwise this catches `<span class="lux-select__value">`
   inside the lux-select trigger and pushes the placeholder into the middle
   of the dropdown with a tiny font. */
.marbella_real_estate_inquiry_block .about_block .form_group form > span {
  font-weight: 300;
  font-size: 18px;
  line-height: 130%;
  letter-spacing: 0%;
  text-align: center;
  display: flex;
  max-width: 552px;
  margin: 0 auto;
  color: #C3C3C3;
}
.marbella_real_estate_inquiry_block::before {
  content: "";
  width: 100%;
  height: 1.6px;
  background-color: rgba(225, 225, 225, 0.2);
  position: absolute;
  top: 208px;
  left: 0;
}
.marbella_real_estate_inquiry_block::after {
  content: "";
  width: 100%;
  height: 1.6px;
  background-color: rgba(225, 225, 225, 0.2);
  position: absolute;
  bottom: 208px;
  left: 0;
}
.marbella_real_estate_inquiry_block.second_inquiry__block {
  /* El formulario de abajo comparte el fondo AVIF base. El antiguo bg_form1.png
     era un PNG de 3.3 MB que daba 404 en el servidor; ahora el único fondo de
     formulario en uso es el AVIF (ver la regla base arriba y la línea ~14238). */
  background-image: url(../images/bg_form.avif);
}

/* Custom dropdown wrapper styling for inquiry form (desktop â‰¥1200) */
.marbella_real_estate_inquiry_block .about_block .form_group form .lux-select {
  width: calc(50% - 9px);
  max-width: 584px;
  min-height: 112px;
  padding: 0;
  margin: 0 0 18px 0;
  border: 1.6px solid #E1E1E1;
  background-color: #FFFFFF;
  cursor: pointer;
  font-family: "Inter", sans-serif;
}
.marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__trigger {
  padding: 39px 40px;
  margin: 0;
  border: 0;
  background-color: transparent;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  text-transform: none;
  letter-spacing: 0;
  min-height: 112px;
}
.marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__value.is-placeholder {
  color: #3C3C3B;
}
.marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__arrow {
  right: 40px;
  width: 20px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='14' viewBox='0 0 20 14' fill='none'%3E%3Cpath d='M10.3168 13.7182C10.1251 13.9811 9.73285 13.9811 9.54113 13.7182L0.0929749 0.76283C-0.138352 0.445635 0.0882104 0 0.480796 0L19.3771 0C19.7697 0 19.9963 0.445637 19.7649 0.762832L10.3168 13.7182Z' fill='%23D2D2D2'/%3E%3C/svg%3E");
}

.managing_risks_market_block .border_blok {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
  padding: 59px 0;
}
.managing_risks_market_block .title_block {
  border-bottom: 1.6px solid #E1E1E1;
  border-top: 1.6px solid #E1E1E1;
}
.managing_risks_market_block .title_block .titles {
  border-left: 1.6px solid #E1E1E1;
  border-right: 1.6px solid #E1E1E1;
  padding: 71px 0 83px 0;
}
.managing_risks_market_block .title_block .titles h2 {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  max-width: 1332px;
  margin: 0 auto;
  margin-bottom: 32px;
}
.managing_risks_market_block .title_block .titles p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  text-align: center;
  color: #3C3C3B;
  max-width: 930px;
  margin: 0 auto;
}
.managing_risks_market_block .cards_group {
  border-bottom: 1.6px solid #E1E1E1;
}
.managing_risks_market_block .cards_group .about_block {
  display: flex;
  align-items: flex-start;
}
.managing_risks_market_block .cards_group .about_block .card_risks {
  width: 100%;
  padding: 20px 16px 16px 16px;
  border-right: 1.6px solid #E1E1E1;
  height: 750px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.managing_risks_market_block .cards_group .about_block .card_risks .text_card {
  position: relative;
  z-index: 1;
}
.managing_risks_market_block .cards_group .about_block .card_risks .text_card h3 {
  font-weight: 700;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  font-family: "Felidae", "Cormorant Garamond", serif;
  margin-bottom: 16px;
  color: #010101;
}
.managing_risks_market_block .cards_group .about_block .card_risks .text_card p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  max-width: 493px;
}
.managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 16px;
  width: 100%;
  max-width: 555px;
  height: 472px;
  z-index: 2;
  transition: transform 0.5s ease;
}
.managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper img.img_risk {
  width: 100%;
  height: 100%;
  display: block;
}
.managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper .arrow_top {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 10;
  transition: transform 0.5s ease;
}
.managing_risks_market_block .cards_group .about_block .card_risks:nth-child(1) {
  padding-left: 0;
}
.managing_risks_market_block .cards_group .about_block .card_risks:nth-child(1) .img_wrapper {
  left: 0;
  transform: translateX(0);
}
.managing_risks_market_block .cards_group .about_block .card_risks:nth-child(3) {
  padding-right: 0;
  border: none;
}
.managing_risks_market_block .cards_group .about_block .card_risks:nth-child(3) .img_wrapper {
  left: auto;
  right: 0;
  transform: translateX(0);
}
.managing_risks_market_block .cards_group .about_block .card_risks:hover {
  cursor: pointer;
}
.managing_risks_market_block .cards_group .about_block .card_risks:hover .img_wrapper {
  transform: translate(-50%, -51%);
}
.managing_risks_market_block .cards_group .about_block .card_risks:hover .arrow_top {
  transform: rotate(180deg);
}
.managing_risks_market_block .cards_group .about_block .card_risks:hover:nth-child(1) .img_wrapper {
  transform: translate(0, -51%);
}
.managing_risks_market_block .cards_group .about_block .card_risks:hover:nth-child(3) .img_wrapper {
  transform: translate(0, -51%);
}
.managing_risks_market_block .discuss_my_request .tag_discuss {
  padding-top: 40px;
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
}
.managing_risks_market_block .discuss_my_request .tag_discuss a {
  font-weight: 400;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: 5%;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 29px;
  background-color: #41545C;
  color: #FFFFFF;
}

.transparent_process_contact_block .title_block {
  border-bottom: 1.6px solid #E1E1E1;
}
.transparent_process_contact_block .title_block .titles {
  border-left: 1.6px solid #E1E1E1;
  border-right: 1.6px solid #E1E1E1;
  padding: 83px 0 83px 0;
}
.transparent_process_contact_block .title_block .titles h2 {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  margin-bottom: 16px;
}
.transparent_process_contact_block .title_block .titles p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  text-align: center;
  color: #3C3C3B;
  max-width: 723px;
  margin: 0 auto;
  margin-bottom: 60px;
}
.transparent_process_contact_block .title_block .titles .tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
}
.transparent_process_contact_block .title_block .titles .tabs a {
  font-weight: 600;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  color: #C4C4C4;
  font-family: "Felidae", "Cormorant Garamond", serif;
  position: relative;
}
.transparent_process_contact_block .title_block .titles .tabs a.active {
  padding-left: 24px;
  color: #010101;
}
.transparent_process_contact_block .title_block .titles .tabs a.active::before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background-color: #010101;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  transition: 0.3s;
}
.transparent_process_contact_block .title_block .titles .tabs span {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #C4C4C4;
}
.transparent_process_contact_block .cards_processes_group {
  border-bottom: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .cards_processes_group .process_panel {
  display: none;
}
.transparent_process_contact_block .cards_processes_group .process_panel.active {
  display: block;
}
.transparent_process_contact_block .cards_processes_group .cards_group {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  align-items: center;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el {
  height: 416px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 35px;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el h3 {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 0.02em;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #3c3c3b;
  /* Figma: outside stroke #000000 / 0.2px â€” gives Felidae a slightly heavier weight to match design */
  -webkit-text-stroke: 0.2px #000000;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el p {
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
  font-family: "Inter", sans-serif;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(1) {
  grid-column: span 4;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  position: relative;
  padding: 0;
  border-right: 1.5px solid #E1E1E1;
  border-bottom: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(1) img {
  width: 100%;
  height: 100%;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 1.3s ease-out;
  -o-object-fit: cover;
     object-fit: cover;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(1).visible img {
  transform: scaleY(1);
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(2) {
  grid-column: span 4;
  border-right: 1.5px solid #E1E1E1;
  border-bottom: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(3) {
  grid-column: span 4;
  border-bottom: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(4) {
  grid-column: span 4;
  border-right: 1.5px solid #E1E1E1;
  border-bottom: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(5) {
  grid-column: span 8;
  grid-row: span 2;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  position: relative;
  padding: 0;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(5) img {
  width: 100%;
  height: 100%;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 1.3s ease-out;
  -o-object-fit: cover;
     object-fit: cover;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(5).visible img {
  transform: scaleY(1);
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(6) {
  grid-column: span 4;
  border-right: 1.5px solid #E1E1E1;
  border-bottom: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(7) {
  grid-column: span 4;
  border-right: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(8) {
  grid-column: span 4;
  border-right: 1.5px solid #E1E1E1;
  border-top: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(9) {
  grid-column: span 4;
  border-top: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .cards_processes_group_mob_group {
  display: none;
}
.transparent_process_contact_block .go_investment_project {
  border-bottom: 1.6px solid #E1E1E1;
}
.transparent_process_contact_block .go_investment_project .tag_investment {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
}
.transparent_process_contact_block .go_investment_project .tag_investment a {
  font-weight: 400;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: 5%;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 29px;
  background-color: #41545C;
  color: #FFFFFF;
}
.transparent_process_contact_block .border_blok {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
  padding: 100px 0;
}

.professional_obligations_block {
  padding: 200px 0;
  background-color: #FAFAFA;
}
.professional_obligations_block .about_block h3 {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  font-family: "Felidae", "Cormorant Garamond", serif;
  margin-bottom: 33px;
}
.professional_obligations_block .about_block h2 {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  max-width: 1474px;
  margin: 0 auto;
  margin-bottom: 80px;
}
.professional_obligations_block .about_block .slides_obligations {
  display: flex;
  align-items: center;
  height: 821px;
  background-color: #FFFFFF;
}
.professional_obligations_block .about_block .slides_obligations .img_ob {
  width: 100%;
  height: 100%;
  max-width: 863px;
}
.professional_obligations_block .about_block .slides_obligations .slide_group {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper {
  max-width: 598px;
}
.professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-wrapper {
  align-items: center;
}
.professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation .document {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 476px;
  -o-object-fit: contain;
  object-fit: contain;
}
.professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  text-align: center;
  color: #3C3C3B;
  margin-top: 47px;
}
.professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-pagination {
  position: static;
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #C4C4C4;
  margin-top: 41px;
}
.professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next {
  color: #010101;
  width: 22px;
  height: 22px;
}
.professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev {
  color: #010101;
  width: 22px;
  height: 22px;
}

.successful_transactions_experiences_block .title_block {
  border-bottom: 1.6px solid #E1E1E1;
  border-top: 1.6px solid #E1E1E1;
}
.successful_transactions_experiences_block .title_block .titles {
  border-left: 1.6px solid #E1E1E1;
  border-right: 1.6px solid #E1E1E1;
  padding: 200px 0 80px 0;
}
.successful_transactions_experiences_block .title_block .titles h2 {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
}
.successful_transactions_experiences_block .cards_group {
  border-bottom: 1.6px solid #E1E1E1;
}
.successful_transactions_experiences_block .cards_group .about_block {
  display: flex;
  align-items: flex-start;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group {
  padding: 19px;
  width: 100%;
  border-right: 1.6px solid #E1E1E1;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review {
  width: 100%;
  min-height: 653px;
  padding: 32px 29px 29px 36px;
  background-color: #FAFAFA;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 32px;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group img {
  width: auto;
  height: auto;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group h3 {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  color: #010101;
  font-family: "Felidae", "Cormorant Garamond", serif;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group h4 {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #3C3C3B;
  margin-bottom: 17px;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review span {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #CDCDCD;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group:first-child {
  padding-left: 0;
  border-left: 1.6px solid #E1E1E1;
}
.successful_transactions_experiences_block .cards_group .about_block .card_reviews_group:last-child {
  padding-right: 0;
}
.successful_transactions_experiences_block .more_reviews {
  border-bottom: 1.5px solid #E1E1E1;
}
.successful_transactions_experiences_block .more_reviews .tag_reviews {
  padding-top: 20px;
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
}
.successful_transactions_experiences_block .more_reviews .tag_reviews a {
  font-weight: 400;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: 5%;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 29px;
  background-color: #41545C;
  color: #FFFFFF;
}
.successful_transactions_experiences_block .more_reviews .tag_reviews .partners {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 100px 0;
}
.successful_transactions_experiences_block .more_reviews .tag_reviews .partners h2 {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-transform: uppercase;
  color: #CDCDCD;
  font-family: "Felidae", "Cormorant Garamond", serif;
}
.successful_transactions_experiences_block .border_blok {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
  padding: 100px 0;
}

.frequently_asked_questions_block .about_block {
  border-left: 1.5px solid #E1E1E1;
  border-right: 1.5px solid #E1E1E1;
  padding: 198px 0 150px 0;
}
.frequently_asked_questions_block .about_block .title_block {
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-align: center;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  margin-bottom: 32px;
}
.frequently_asked_questions_block .about_block .tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin-bottom: 75px;
}
.frequently_asked_questions_block .about_block .tabs a {
  font-weight: 600;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  color: #C4C4C4;
  font-family: "Felidae", "Cormorant Garamond", serif;
  position: relative;
}
.frequently_asked_questions_block .about_block .tabs a.active {
  padding-left: 24px;
  color: #010101;
}
.frequently_asked_questions_block .about_block .tabs a.active::before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background-color: #010101;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  transition: 0.3s;
}
.frequently_asked_questions_block .about_block .tabs span {
  font-weight: 400;
  font-size: 28px;
  line-height: 110%;
  letter-spacing: 2%;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #C4C4C4;
}
.frequently_asked_questions_block .about_block .questions_accardion {
  width: 100%;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-item {
  border: none;
  border-radius: 0;
  border-bottom: 1.6px solid #E1E1E1;
  padding: 64px 0 79px 0;
  padding-right: 12px;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-item:first-child {
  border-top: 1.6px solid #E1E1E1;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-button {
  box-shadow: none;
  background-color: transparent;
  padding: 0 60px 0 0;
  border: 0;
  border-radius: 0;
  outline: none;
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  text-align: left;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-button:focus,
.frequently_asked_questions_block .about_block .questions_accardion .accordion-button:focus-visible,
.frequently_asked_questions_block .about_block .questions_accardion .accordion-button:not(.collapsed) {
  box-shadow: none;
  outline: none;
  border: 0;
  background-color: transparent;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-button .title_process {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #010101;
  font-family: "Inter", sans-serif;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-button:not(.collapsed) .title_process {
  color: #010101;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-body {
  padding: 0;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-body .text_process {
  padding-top: 34px;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #3C3C3B;
  max-width: 1413px;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-button::after {
  position: absolute;
  right: 0;
  top: 50%;
  margin: 0;
  width: 37px;
  height: 37px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='37' viewBox='0 0 37 37' fill='none'%3E%3Ccircle cx='18.5' cy='18.5' r='17.7' stroke='%23010101' stroke-width='1.6'/%3E%3Cline x1='18.8' y1='10' x2='18.8' y2='28' stroke='%23010101' stroke-width='1.6'/%3E%3Cline x1='28' y1='18.8' x2='10' y2='18.8' stroke='%23010101' stroke-width='1.6'/%3E%3C/svg%3E");
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s ease;
  content: "";
  display: block;
}
.frequently_asked_questions_block .about_block .questions_accardion .accordion-button:not(.collapsed)::after {
  transform: translateY(-50%) rotate(45deg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='37' viewBox='0 0 37 37' fill='none'%3E%3Ccircle cx='18.5' cy='18.5' r='17.7' stroke='%23010101' stroke-width='1.6'/%3E%3Cline x1='18.8' y1='10' x2='18.8' y2='28' stroke='%23010101' stroke-width='1.6'/%3E%3Cline x1='28' y1='18.8' x2='10' y2='18.8' stroke='%23010101' stroke-width='1.6'/%3E%3C/svg%3E");
}

footer {
  background-color: #41545C;
}
footer .border_blok {
  border-left: 1.5px solid rgba(225, 225, 225, 0.2);
  border-right: 1.5px solid rgba(225, 225, 225, 0.2);
  padding: 40px 0;
}
footer .top_footer_block {
  border-top: 1.5px solid rgba(225, 225, 225, 0.2);
}
footer .top_footer_block .about_block {
  padding: 100px 0 82px 0;
  border-left: 1.5px solid rgba(225, 225, 225, 0.2);
  border-right: 1.5px solid rgba(225, 225, 225, 0.2);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  row-gap: 70px;
  /* Every cell starts at the top of its row, so the three headings of each
     row (Phone/Address and Social/Email/Schedule) sit on the same line. */
  align-items: start;
}
footer .top_footer_block .about_block .logo {
  grid-column: span 4;
  margin-top: -30px;
}
footer .top_footer_block .about_block .logo img {
  width: 246px;
  height: auto;
}
footer .top_footer_block .about_block .contacts_group {
  grid-column: span 4;
}
footer .top_footer_block .about_block .contacts_group h3 {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: rgba(255, 255, 255, 0.5019607843);
  margin-bottom: 20px;
}
footer .top_footer_block .about_block .contacts_group .contatcs {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
footer .top_footer_block .about_block .contacts_group .contatcs p {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #FFFFFF;
}
footer .top_footer_block .about_block .contacts_group .contatcs a {
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #FFFFFF;
}
footer .top_footer_block .about_block .contacts_group .networks {
  display: flex;
  align-items: center;
  gap: 16px;
}
footer .top_footer_block .about_block .contacts_group .networks a {
  display: flex;
}
footer .top_footer_block .about_block .contacts_group:nth-child(4) {
  /* "Social networks" is the first cell of row 2: no negative offset, it must
     line up with "E-mail" and "Opening hours". */
  margin-top: 0;
}
footer .menu_group {
  border-top: 1.5px solid rgba(225, 225, 225, 0.2);
  border-bottom: 1.5px solid rgba(225, 225, 225, 0.2);
}
footer .menu_group .menu {
  border-left: 1.5px solid rgba(225, 225, 225, 0.2);
  border-right: 1.5px solid rgba(225, 225, 225, 0.2);
  padding: 55px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .menu_group .menu ul {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-wrap: nowrap;
  width: 100%;
  max-width: none;
}
footer .menu_group .menu ul li {
  display: flex;
  flex-shrink: 0;
}
footer .menu_group .menu .lang_select {
  display: none;
}
footer .menu_group .menu ul li a {
  font-weight: 400;
  font-size: 32px;
  line-height: 130%;
  letter-spacing: 5%;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  color: #FFFFFF;
  white-space: nowrap;
}
footer .menu_group .menu .lang_select select {
  background-color: transparent;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../images/select_language.svg);
  background-repeat: no-repeat;
  background-size: auto;
  background-position-x: 98%;
  background-position-y: center;
  border: none;
  font-weight: 300;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #FFFFFF;
  padding-right: 11px;
  cursor: pointer;
}
footer .menu_group .menu .lang_select select option {
  color: #010101;
}
footer .how_to_get_to_us .about_block {
  border-left: 1.5px solid rgba(225, 225, 225, 0.2);
  border-right: 1.5px solid rgba(225, 225, 225, 0.2);
  padding: 56px 60px;
  display: grid;
  /* Two-column layout: left (select + button stacked) | right (map) */
  grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  -moz-column-gap: 60px;
       column-gap: 60px;
  align-items: start;
}
footer .how_to_get_to_us .about_block select {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  background-color: transparent;
  background-image: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  font-weight: 300;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #FFFFFF;
  padding: 0;
  cursor: default;
  pointer-events: none;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  text-align-last: center;
}
footer .how_to_get_to_us .about_block select option {
  color: #010101;
}
footer .how_to_get_to_us .about_block .how_to_title {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  margin: 0;
  font-weight: 300;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: uppercase;
  color: #FFFFFF;
  text-align: center;
  width: 100%;
}
footer .how_to_get_to_us .about_block .map_block {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 534px;
  margin: 0;
  grid-column: 2;
  grid-row: 1 / 3;
  border-radius: 12px;
  overflow: hidden;
}
footer .how_to_get_to_us .about_block .map_block .map {
  width: 100%;
  height: 100%;
  border: none;
  z-index: 1;
}
.custom-marker {
  background: none;
  border: none;
}
.marker-pin {
  width: 40px;
  height: 40px;
  background: #41545C;
  border-radius: 50%;
  position: relative;
  animation: markerPulse 2s ease-in-out infinite;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.marker-pin::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  background: white;
  border-radius: 50%;
}
footer .how_to_get_to_us .about_block .map_block .location_overlay {
  position: absolute;
  pointer-events: none;
  transform: translate(-50%, -100%);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  transition: left 0.1s ease-out, top 0.1s ease-out;
}
footer .how_to_get_to_us .about_block .map_block .location_overlay .location_marker {
  width: 40px;
  height: 40px;
  background: #41545C;
  border-radius: 50%;
  position: relative;
  animation: markerPulse 2s ease-in-out infinite;
  pointer-events: auto;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
footer .how_to_get_to_us .about_block .map_block .location_overlay .location_marker::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  background: white;
  border-radius: 50%;
}
@keyframes markerPulse {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-8px) scale(1.05);
  }
}
footer .how_to_get_to_us .about_block .map_block .location_overlay .locations_text {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.95);
  padding: 12px 40px 12px 20px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(10px);
  pointer-events: auto;
  position: relative;
  white-space: nowrap;
}
footer .how_to_get_to_us .about_block .map_block .location_overlay .locations_text .close_location {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
  opacity: 0.6;
}
footer .how_to_get_to_us .about_block .map_block .location_overlay .locations_text .close_location:hover {
  transform: translateY(-50%) scale(1.2);
  opacity: 1;
}
footer .how_to_get_to_us .about_block .map_block .location_overlay .locations_text p {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #41545C;
  margin: 0;
}
footer .how_to_get_to_us .about_block .ask_question {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  font-weight: 400;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: 5%;
  text-transform: uppercase;
  font-family: "Felidae", "Cormorant Garamond", serif;
  padding: 21px;
  border: 0.8px solid #FFFFFF;
  background-color: rgba(35, 35, 35, 0);
  color: #FFFFFF;
  margin: 0;
  align-self: end;
  cursor: pointer;
}
footer .how_to_get_to_us .about_block .ask_question:hover {
  background-color: rgba(255, 255, 255, 0.08);
}
footer .we_accept_payments {
  border-top: 1.5px solid rgba(225, 225, 225, 0.2);
  border-bottom: 1.5px solid rgba(225, 225, 225, 0.2);
}
footer .we_accept_payments .about_block {
  padding: 52px 0;
  border-left: 1.5px solid rgba(225, 225, 225, 0.2);
  border-right: 1.5px solid rgba(225, 225, 225, 0.2);
}
footer .we_accept_payments .about_block .group_payments {
  width: 100%;
  max-width: 1157px;
  margin-left: auto;
}
footer .we_accept_payments .about_block .group_payments h3 {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: rgba(255, 255, 255, 0.5019607843);
  margin-bottom: 24px;
}
footer .we_accept_payments .about_block .group_payments .payments {
  display: flex;
  align-items: center;
  gap: 16px;
}
footer .we_accept_payments .about_block .group_payments .payments a {
  display: flex;
}
footer .bottom_texts_group .about_block {
  padding: 56px 0 42px 0;
  border-left: 1.5px solid rgba(225, 225, 225, 0.2);
  border-right: 1.5px solid rgba(225, 225, 225, 0.2);
  display: flex;
  align-items: end;
  justify-content: space-between;
}
footer .bottom_texts_group .about_block span {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #FFFFFF;
  opacity: 60%;
}
footer .bottom_texts_group .about_block .center_group {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
footer .bottom_texts_group .about_block .center_group a {
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  letter-spacing: 0%;
  color: #FFFFFF;
  opacity: 60%;
}

/* ===== CTA Button Hover Effects ===== */
header .about_block .top_header_group .right_contacts .consultation:hover,
header .about_block .mega-menu .menu_burger_top_group .right_contacts .consultation:hover {
  background-color: #41545C;
  color: #FFFFFF;
  border-color: #41545C;
}

header .about_block .bottom_header .menu ul li a:hover,
header .about_block .top_header_group .menu ul li a:hover {
  opacity: 0.7;
}

.personalized_selection_block .about_block .group_inf_personalized a:hover,
.real_estate_marbella_block .stages_real_estate .stages_group .stage a:hover {
  background-color: #232323;
  color: #FFFFFF;
}

.marbella_real_estate_inquiry_block .about_block .form_group form > button:hover {
  background-color: #41545C;
}

.managing_risks_market_block .discuss_my_request .tag_discuss a:hover,
.transparent_process_contact_block .go_investment_project .tag_investment a:hover,
.successful_transactions_experiences_block .more_reviews .tag_reviews a:hover {
  background-color: #2f3e44;
}

.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

header .about_block .mega-menu .bottom_menu_group .contacts_group .ask_questions:hover {
  background-color: #000000;
  color: #FFFFFF;
}

footer .how_to_get_to_us .about_block .ask_question:hover {
  background-color: #FFFFFF;
  color: #41545C;
}

footer .menu_group .menu ul li a:hover {
  opacity: 0.7;
}

/* ===== Scroll Line Styling ===== */
.scroll_line {
  width: 100%;
  height: 2px;
  background-color: #E1E1E1;
  position: relative;
  margin-top: 20px;
  overflow: hidden;
}

.scroll_line_inner {
  height: 100%;
  background-color: #41545C;
  transition: width 0.1s ease;
}

/* ===== Selection Color ===== */
::selection {
  background-color: #41545C;
  color: #FFFFFF;
}

::-moz-selection {
  background-color: #41545C;
  color: #FFFFFF;
}

@media (max-width: 1500px) {
  header .about_block .top_header_group .menu ul {
    gap: 50px;
  }
  header .about_block .top_header_group .menu ul li a {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  header .about_block .top_header_group .logo img {
    width: 117px;
    height: 28px;
  }
  header .about_block .top_header_group .right_contacts .phone_number {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
    margin-right: 25px;
  }
  header .about_block .top_header_group .right_contacts .lang_select select {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  header .about_block .top_header_group .right_contacts .lang_select {
    margin-right: 30px;
  }
  header .about_block .top_header_group .right_contacts .whatsapp {
    margin-right: 20px;
  }
  header .about_block .top_header_group .right_contacts .whatsapp svg {
    width: 21px;
    height: 21px;
  }
  header .about_block .top_header_group .right_contacts .consultation {
    font-weight: 400;
    font-size: 16px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 11px 23px;
  }
  header .about_block .bottom_header .menu ul {
    gap: 30px;
  }
  header .about_block .bottom_header .menu ul li a {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  header .about_block .bottom_header .menu_burger {
    gap: 17px;
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 5%;
  }
  header .about_block .bottom_header .menu_burger a svg {
    width: 28px;
    height: 10px;
  }
  header .about_block .mega-menu .menu_burger_top_group .menu ul {
    gap: 50px;
  }
  header .about_block .mega-menu .menu_burger_top_group .menu ul li a {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  header .about_block .mega-menu .menu_burger_top_group .logo img {
    width: 117px;
    height: 28px;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .phone_number {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
    margin-right: 25px;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .lang_select select {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .lang_select {
    margin-right: 30px;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .whatsapp {
    margin-right: 20px;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .whatsapp svg {
    width: 21px;
    height: 21px;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .consultation {
    font-weight: 400;
    font-size: 16px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 11px 23px;
  }
  header .about_block .mega-menu .menu_burger_top_group {
    padding-bottom: 10px;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects h3,
header .about_block .mega-menu .bottom_menu_group .our_projects .mega-h {
    font-weight: 300;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0%;
    margin-bottom: 20px;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project .project {
    width: 50px;
    height: 50px;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project p {
    font-size: 14px;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects {
    padding: 30px 30px 30px 0;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group {
    padding: 30px 0 30px 30px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group h3,
header .about_block .mega-menu .bottom_menu_group .contacts_group .mega-h {
    font-weight: 300;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0%;
    margin-bottom: 20px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group h4 {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 10px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone {
    margin-bottom: 30px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number a {
    font-weight: 300;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number {
    gap: 15px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .email {
    margin-bottom: 30px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .email a {
    font-weight: 300;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks {
    gap: 10px;
    flex-wrap: wrap;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a svg,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a img {
    width: 40px;
    height: 40px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group {
    margin-bottom: 126px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .ask_questions {
    font-weight: 400;
    font-size: 16px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 16px 0;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects {
    padding: 30px 30px 30px 0;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects h3,
header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .mega-h {
    font-weight: 300;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects {
    margin-bottom: 20px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .navigations_slider {
    height: 11px;
    gap: 20px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .navigations_slider .swiper-button-next,
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .navigations_slider .swiper-button-prev {
    width: 11px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .projects_img p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .swiper-pagination {
    font-size: 18px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main {
    padding: 30px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main h3,
header .about_block .mega-menu .bottom_menu_group .menu_group_main .mega-h {
    font-weight: 300;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0%;
    margin-bottom: 20px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li a {
    font-weight: 400;
    font-size: 20px;
    line-height: 130%;
    letter-spacing: 5%;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul:nth-child(2) {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
  .big_block_home .group_home .home_block {
    padding: 156px 0 30px 0;
  }
  .big_block_home .group_home .home_block h1 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 20px;
  }
  .big_block_home .group_home .home_block h2 {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 15px;
  }
  .big_block_home .group_home .home_block p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    text-align: center;
    margin-bottom: 162px;
    text-transform: uppercase;
  }
  .big_block_home .group_home .home_block a {
    gap: 10px;
    font-weight: 400;
    font-size: 12px;
    line-height: 115%;
    letter-spacing: 0%;
  }
  .big_block_home .group_home .home_block a img {
    width: 20px;
    height: 6px;
  }
  .cards_logos_informations .about_block .card_partner {
    height: 242px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(1) .logos_partner {
    width: 186px;
    height: 106px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(2) .logos_partner {
    width: 188px;
    height: 108px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(3) .logos_partner {
    width: 227px;
    height: 91px;
  }
  .cards_logos_informations .about_block .card_partner .arrow_pilus svg {
    width: 23px;
    height: 23px;
  }
  .cards_logos_informations .about_block .card_partner .descriptions_card h3 {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .cards_logos_informations .about_block .card_partner .descriptions_card h4 {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .cards_logos_informations .about_block .card_partner .descriptions_card {
    width: 90%;
  }
  .real_estate_marbella_block .title_block .titles {
    padding: 100px 0 50px 0;
  }
  .real_estate_marbella_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
    max-width: 926px;
    margin-bottom: 20px;
  }
  .real_estate_marbella_block .title_block .titles p {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage {
    height: 548px;
    padding: 30px 10px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage h3 {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage svg {
    width: 23px;
    height: 23px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage {
    margin-bottom: 20px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage h4 {
    font-weight: 300;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover h4 {
    margin-bottom: 14px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover p {
    margin-bottom: 19px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .img_wrap {
    width: 135px;
    height: 169px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage a {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 5%;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover a {
    padding: 13px;
    margin-top: 28px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .img_wrap {
    width: 100%;
    height: 100%;
  }
  .personalized_selection_block .about_block {
    padding: 130px 118px;
  }
  .personalized_selection_block::before {
    top: 130px;
  }
  .personalized_selection_block::after {
    bottom: 130px;
  }
  .personalized_selection_block .about_block .group_inf_personalized {
    padding: 80px 28px;
    max-width: 843px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h2 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 20px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h3 {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 15px;
    max-width: 575px;
  }
  .personalized_selection_block .about_block .group_inf_personalized p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 110px;
  }
  .personalized_selection_block .about_block .group_inf_personalized a {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 15px;
    max-width: 437px;
    margin-bottom: 20px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h4 {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .marbella_solutions_wealth_impact .about_block {
    padding: 100px 0;
  }
  .marbella_solutions_wealth_impact .about_block h2 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 50px;
    max-width: 1007px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group {
    gap: 21px;
    height: 488px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group {
    max-width: 337px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description {
    padding: 20px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3 {
    font-weight: 400;
    font-size: 28px;
    line-height: 130%;
    letter-spacing: 2%;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover h3 {
    padding-left: 20px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3::before {
    width: 7px;
    height: 7px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description p {
    font-weight: 300;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
    padding: 20px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 15px;
  }
  .marbella_solutions_wealth_impact {
    border-bottom: none;
  }
  .one_partners_entire_process .about_block {
    padding: 0 0 100px 0;
  }
  .one_partners_entire_process .about_block .title_block {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
    max-width: 813px;
    margin-bottom: 50px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners {
    gap: 19px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .img_wrapper {
    padding: 41px 93px;
    max-width: 520px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-item {
    padding: 30px 0;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button .title_process {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
    font-family: "Felidae", "Cormorant Garamond", serif;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-body .text_process {
    padding-top: 20px;
    padding-right: 32px;
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    font-family: "Inter", sans-serif;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button::after {
    width: 23px;
    height: 23px;
  }
  .experience_eliminates_clients .title_block .title_texts {
    padding-bottom: 50px;
  }
  .experience_eliminates_clients .title_block .title_texts h2 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
    max-width: 845px;
    margin-bottom: 20px;
  }
  .experience_eliminates_clients .title_block .title_texts h3 {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    max-width: 473px;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el {
    height: 100%;
    padding: 54px 69px 20px 25px;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el span {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .experience_eliminates_clients .border_blok {
    padding: 25px 0;
  }
  .marbella_real_estate_inquiry_block .about_block {
    padding: 130px 140px;
  }
  .marbella_real_estate_inquiry_block::before {
    top: 130px;
  }
  .marbella_real_estate_inquiry_block::after {
    bottom: 130px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group {
    max-width: 1080px;
    padding: 70px 40px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group h2 {
    font-weight: 400;
    font-size: 56px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 20px;
    max-width: 100%;
    white-space: normal;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group h3 {
    font-weight: 400;
    font-size: 28px;
    line-height: 130%;
    letter-spacing: 2%;
    max-width: 100%;
    margin-bottom: 15px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 60px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form select {
    max-width: 365px;
    padding: 24px 25px;
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 20 14' fill='none'%3E%3Cpath d='M10.3168 13.7182C10.1251 13.9811 9.73285 13.9811 9.54113 13.7182L0.0929749 0.76283C-0.138352 0.445635 0.0882104 0 0.480796 0L19.3771 0C19.7697 0 19.9963 0.445637 19.7649 0.762832L10.3168 13.7182Z' fill='%23D2D2D2'/%3E%3C/svg%3E") no-repeat right 25px center;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form select:focus {
    border: 1.6px solid #A5A5A5;
    color: #3C3C3B;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 20 14' fill='none'%3E%3Cpath d='M10.3168 13.7182C10.1251 13.9811 9.73285 13.9811 9.54113 13.7182L0.0929749 0.76283C-0.138352 0.445635 0.0882104 0 0.480796 0L19.3771 0C19.7697 0 19.9963 0.445637 19.7649 0.762832L10.3168 13.7182Z' fill='%23A5A5A5'/%3E%3C/svg%3E") no-repeat right 25px center;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form h4 {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    margin: 50px 0 10px 0;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form > button {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 13px;
    margin-bottom: 20px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form > span {
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0%;
    max-width: 345px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select {
    width: calc(50% - 5px);
    max-width: 365px;
    min-height: 70px;
    margin-bottom: 10px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__trigger {
    padding: 23px 25px;
    margin: 0;
    border: 0;
    background-color: transparent;
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    color: #3C3C3B;
    text-transform: none;
    letter-spacing: 0;
    min-height: 68px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__arrow {
    right: 25px;
    width: 15px;
    height: 11px;
  }
  .managing_risks_market_block .border_blok {
    padding: 20px 0;
  }
  .managing_risks_market_block .title_block {
    border-top: none;
  }
  .managing_risks_market_block .title_block .titles {
    padding: 0 0 50px 0;
  }
  .managing_risks_market_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 20px;
    max-width: 830px;
  }
  .managing_risks_market_block .title_block .titles p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    max-width: 603px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks {
    height: 469px;
    padding: 18px 10px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card h3 {
    font-weight: 700;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    max-width: 308px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper {
    max-width: 98%;
    height: 295px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper .arrow_top {
    width: 23px;
    height: 23px;
    top: 15px;
    left: 15px;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss {
    padding-top: 31px;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss a {
    font-weight: 400;
    font-size: 16px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 21px;
  }
  .transparent_process_contact_block .title_block .titles {
    padding: 100px 0 50px 0;
  }
  .transparent_process_contact_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 20px;
  }
  .transparent_process_contact_block .title_block .titles p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 40px;
  }
  .transparent_process_contact_block .title_block .titles .tabs {
    gap: 14px;
  }
  .transparent_process_contact_block .title_block .titles .tabs a {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .transparent_process_contact_block .title_block .titles .tabs span {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .transparent_process_contact_block .title_block .titles .tabs a.active {
    padding-left: 15px;
  }
  .transparent_process_contact_block .title_block .titles .tabs a.active::before {
    width: 7px;
    height: 7px;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el {
    height: 100%;
    padding: 21px 20px 20px 25px;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(9) {
    height: 260px;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el h3 {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
    font-family: "Felidae", "Cormorant Garamond", serif;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    font-family: "Inter", sans-serif;
  }
  .transparent_process_contact_block .go_investment_project .tag_investment a {
    font-weight: 400;
    font-size: 16px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 22px;
  }
  .transparent_process_contact_block .border_blok {
    padding: 50px;
  }
  .professional_obligations_block {
    padding: 130px 0;
  }
  .professional_obligations_block .about_block h3 {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 20px;
  }
  .professional_obligations_block .about_block h2 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 50px;
    max-width: 921px;
  }
  .professional_obligations_block .about_block .slides_obligations {
    height: 513px;
  }
  .professional_obligations_block .about_block .slides_obligations .img_ob {
    max-width: 542px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper {
    max-width: 374px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation .document {
    width: 210px;
    height: 298px;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-slide:last-child .document_obligation img {
    width: 262px;
    height: auto;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-top: 25px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next {
    width: 14px;
    height: 14px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev {
    width: 14px;
    height: 14px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-pagination {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-top: 25px;
  }
  .successful_transactions_experiences_block .title_block .titles {
    padding: 100px 0 50px 0;
  }
  .successful_transactions_experiences_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group {
    padding: 12px 10px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review {
    padding: 19px 20px 19px 18px;
    min-height: 408px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group img {
    width: 73px;
    height: 75px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group {
    gap: 15px;
    margin-bottom: 20px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group h3 {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group h4 {
    font-weight: 300;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0%;
    margin-bottom: 10px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group p {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review span {
    font-weight: 600;
    font-size: 20px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews {
    padding: 10px;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews a {
    font-weight: 400;
    font-size: 16px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 21px;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews .partners {
    padding: 50px 0;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews .partners h2 {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .successful_transactions_experiences_block .border_blok {
    padding: 50px 0;
  }
  .frequently_asked_questions_block .about_block {
    padding: 100px 0;
  }
  .frequently_asked_questions_block .about_block .title_block {
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .frequently_asked_questions_block .about_block .tabs {
    gap: 14px;
    margin-bottom: 50px;
  }
  .frequently_asked_questions_block .about_block .tabs a {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .frequently_asked_questions_block .about_block .tabs span {
    font-weight: 400;
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .frequently_asked_questions_block .about_block .tabs a.active {
    padding-left: 15px;
  }
  .frequently_asked_questions_block .about_block .tabs a.active::before {
    width: 7px;
    height: 7px;
  }
  .frequently_asked_questions_block .about_block .questions_accardion .accordion-item {
    padding: 44px 0;
  }
  .frequently_asked_questions_block .about_block .questions_accardion .accordion-button .title_process {
    font-weight: 300;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .frequently_asked_questions_block .about_block .questions_accardion .accordion-button::after {
    width: 23px;
    height: 23px;
  }
  .frequently_asked_questions_block .about_block .questions_accardion .accordion-body .text_process {
    padding-top: 20px;
    padding-right: 32px;
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  footer .border_blok {
    padding: 25px 0;
  }
  footer .top_footer_block .about_block {
    padding: 53px 0 63px 0;
  }
  footer .top_footer_block .about_block .logo img {
    width: 148px;
    height: 45px;
  }
  footer .top_footer_block .about_block .contacts_group h3 {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 10px;
  }
  footer .top_footer_block .about_block .contacts_group .contatcs {
    gap: 15px;
  }
  footer .top_footer_block .about_block .contacts_group .contatcs a {
    font-weight: 300;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  footer .top_footer_block .about_block .contacts_group .contatcs p {
    font-weight: 300;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  footer .top_footer_block .about_block .contacts_group .networks {
    gap: 10px;
  }
  footer .top_footer_block .about_block .contacts_group .networks a img {
    width: 40px;
    height: 40px;
  }
  footer .top_footer_block .about_block .contacts_group:nth-child(4) {
    margin-top: 0;
  }
  footer .top_footer_block .about_block .logo {
    margin-top: 0;
  }
  footer .menu_group .menu {
    padding: 35px 0;
  }
  footer .menu_group .menu ul {
    max-width: none;
  }
  footer .menu_group .menu ul li a {
    font-weight: 400;
    font-size: 20px;
    line-height: 130%;
    letter-spacing: 5%;
  }
  footer .menu_group .menu .lang_select select {
    font-weight: 300;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  footer .how_to_get_to_us .about_block {
    padding: 35px 0;
  }
  footer .how_to_get_to_us .about_block select,
  footer .how_to_get_to_us .about_block .how_to_title {
    font-weight: 300;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  footer .how_to_get_to_us .about_block .map_block {
    max-width: 724px;
    height: 334px;
  }
  footer .how_to_get_to_us .about_block .map_block .map {
    width: 100%;
    height: 100%;
  }
  footer .how_to_get_to_us .about_block .map_block .location {
    top: 133px;
    right: 53px;
  }
  footer .how_to_get_to_us .about_block .map_block .location .locations_text {
    gap: 12px;
  }
  footer .how_to_get_to_us .about_block .map_block .location .locations_text img {
    width: 39px;
    height: 39px;
  }
  footer .how_to_get_to_us .about_block .map_block .location .locations_text p {
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  footer .how_to_get_to_us .about_block .ask_question {
    font-weight: 400;
    font-size: 16px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 16px;
    max-width: 317px;
    margin-top: -52px;
  }
  footer .we_accept_payments .about_block {
    padding: 35px 0;
  }
  footer .we_accept_payments .about_block .group_payments h3 {
    font-weight: 300;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    margin-bottom: 15px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(1) img {
    width: 55px;
    height: 35px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(2) img {
    width: 49px;
    height: 35px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(3) img {
    width: 65px;
    height: 35px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(4) img {
    width: 35px;
    height: 35px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(5) img {
    width: 66px;
    height: 35px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(6) img {
    width: 65px;
    height: 35px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(7) img {
    width: 38px;
    height: 35px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(8) img {
    width: 46px;
    height: 35px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(9) img {
    width: 42px;
    height: 35px;
  }
  footer .we_accept_payments .about_block .group_payments .payments {
    gap: 10px;
  }
  footer .we_accept_payments .about_block .group_payments {
    max-width: 724px;
  }
  footer .bottom_texts_group .about_block {
    /* Inset the copyright (left) + policy links (right) so the fixed
       bottom-corner buttons — the "COOKIES" reopener (left) and the
       back-to-top button (right) — never sit on top of them. */
    padding: 35px 104px 22px 150px;
  }
  footer .bottom_texts_group .about_block span {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  footer .bottom_texts_group .about_block .center_group {
    gap: 15px;
  }
  footer .bottom_texts_group .about_block .center_group a {
    font-weight: 300;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 0%;
  }
}
@media (max-width: 1199px) {
  header {
    padding-top: 0;
  }
  /* On mobile/iPad the desktop nav is replaced by the burger; hide the whole
     <nav class="menu"> element so it doesn't claim a column in the parent
     grid (1fr auto 1fr) and push right_contacts to a new row. */
  header .about_block .top_header_group .menu {
    display: none;
  }
  header .about_block .top_header_group .menu ul {
    display: none;
  }
  header .about_block .top_header_group .right_contacts .phone_number {
    display: none;
  }
  header .about_block .top_header_group .right_contacts .lang_select select {
    display: none;
  }
  header .about_block .top_header_group .right_contacts .whatsapp {
    display: none;
  }
  header .about_block .top_header_group .right_contacts .lang-dropdown {
    display: inline-flex;
    margin-right: 0;
  }
  /* Hide the lang-dropdown next to the burger on all mobile widths â€”
     we render the switcher in the top-right instead. */
  header .about_block .top_header_group .menu_burger .lang-dropdown {
    display: none;
  }
  header .about_block .bottom_header {
    display: none;
  }
  header .about_block .top_header_group .logo img {
    width: 140px;
    height: auto;
  }
  header .about_block .top_header_group .right_contacts .consultation {
    font-weight: 400;
    font-size: 13px;
    line-height: 115%;
    letter-spacing: 0.05em;
    padding: 9px 20px;
  }
  header .about_block .top_header_group .menu_burger {
    display: flex;
  }
  header .about_block .mega-menu .menu_burger_top_group .menu ul {
    display: none;
  }
  header .about_block .mega-menu .menu_burger_top_group {
    padding-top: 64px;
    padding-bottom: 28px;
  }
  header .about_block .mega-menu .menu_burger_top_group .logo img {
    width: 140px;
    height: auto;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .phone_number {
    display: none;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .lang_select select {
    display: none;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .whatsapp svg {
    display: none;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .consultation {
    font-weight: 400;
    font-size: 13px;
    line-height: 115%;
    letter-spacing: 0.05em;
    padding: 9px 20px;
  }
  header .about_block .top_header_group .menu_burger .burger.active span:nth-child(1) {
    width: 15px;
    top: 7px;
  }
  header .about_block .top_header_group .menu_burger .burger.active span:nth-child(3) {
    width: 15px;
    bottom: 7px;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects {
    padding: 20px 15px 20px 0;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects h3,
header .about_block .mega-menu .bottom_menu_group .our_projects .mega-h {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 20px;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project {
    grid-column: span 4;
    gap: 6px;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project .project {
    width: 48px;
    height: 48px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group {
    padding: 20px 0 20px 15px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group h3,
header .about_block .mega-menu .bottom_menu_group .contacts_group .mega-h {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 20px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group h4 {
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 10px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number {
    gap: 10px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number a {
    font-weight: 300;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .email a {
    font-weight: 300;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks {
    flex-wrap: wrap;
    gap: 10px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a {
    width: 36px;
    height: 36px;
    display: inline-flex;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a svg,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a img {
    width: 36px;
    height: 36px;
    max-width: none;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .ask_questions {
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 14.5px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects {
    padding: 20px 15px 20px 0;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects h3,
header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .mega-h {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .projects_img p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-top: 15px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .swiper-pagination {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .navigations_slider {
    gap: 30px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .navigations_slider .swiper-button-next,
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .navigations_slider .swiper-button-prev {
    width: 12px !important;
    height: 8px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main {
    padding: 20px 15px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main h3,
header .about_block .mega-menu .bottom_menu_group .menu_group_main .mega-h {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 20px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li a {
    font-weight: 400;
    font-size: 16px;
    line-height: 130%;
    letter-spacing: 5%;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul:nth-child(2) {
    row-gap: 15px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul:nth-child(2) {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li {
    grid-column: span 5;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group {
    margin-bottom: 137px;
  }
  .big_block_home .group_home .home_block {
    padding: 99px 0 19px 0;
  }
  .big_block_home .group_home .home_block h1 {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    max-width: 636px;
    margin-bottom: 12px;
  }
  .big_block_home .group_home .home_block h2 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .big_block_home .group_home .home_block p {
    max-width: 636px;
    margin: 0 auto;
    margin-bottom: 75px;
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .big_block_home .group_home .home_block a {
    gap: 6px;
  }
  .cards_logos_informations .about_block .card_partner {
    height: 154px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(1) .logos_partner {
    width: 106px;
    height: 175px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(2) .logos_partner {
    width: 115px;
    height: 68px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(3) .logos_partner {
    width: 144px;
    height: 58px;
  }
  .cards_logos_informations .about_block .card_partner .arrow_pilus svg {
    width: 15px;
    height: 15px;
  }
  .cards_logos_informations .about_block .card_partner .descriptions_card h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .cards_logos_informations .about_block .card_partner .descriptions_card h4 {
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .real_estate_marbella_block .title_block .titles {
    padding: 62px 0 31px 0;
  }
  .real_estate_marbella_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 12px;
    max-width: 586px;
  }
  .real_estate_marbella_block .title_block .titles p {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage {
    height: 351px;
    padding: 19px 10px 11px 10px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage {
    margin-bottom: 13px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage svg {
    width: 14px;
    height: 14px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover h4 {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 9px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover p {
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 12px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .img_wrap {
    width: 61px;
    height: 76px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover a {
    font-weight: 400;
    font-size: 10px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 8.5px;
  }
  .personalized_selection_block .about_block {
    padding: 80px 72px;
  }
  .personalized_selection_block::before {
    top: 80px;
  }
  .personalized_selection_block::after {
    bottom: 80px;
  }
  .personalized_selection_block .about_block .group_inf_personalized {
    max-width: 534px;
    padding: 50px 13px 52px 22px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h2 {
    font-weight: 400;
    font-size: 31.66px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 8.5px;
  }
  .personalized_selection_block .about_block .group_inf_personalized p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 63px;
  }
  .personalized_selection_block .about_block .group_inf_personalized a {
    font-weight: 400;
    font-size: 12px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 6px;
    max-width: 325px;
    margin-bottom: 12px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h4 {
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .marbella_solutions_wealth_impact .about_block {
    padding: 80px 0 30px 0;
  }
  .marbella_solutions_wealth_impact {
    border: 0.63px solid #E1E1E1;
  }
  .marbella_solutions_wealth_impact .about_block h2 {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 30px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group {
    gap: 15px;
    height: 389px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description {
    padding: 16px 10px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 130%;
    letter-spacing: 2%;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover h3 {
    padding-left: 12px;
    margin-bottom: 5px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3::before {
    width: 4px;
    height: 4px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description p {
    font-weight: 300;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group {
    max-width: 243px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    font-weight: 400;
    font-size: 12px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 6px;
  }
  .one_partners_entire_process .about_block {
    padding: 80px 0;
  }
  .one_partners_entire_process .about_block .title_block {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    max-width: 515px;
    margin-bottom: 31px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .img_wrapper {
    padding: 26px 52px 42px 52px;
    max-width: 315px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-item {
    padding: 19px 0 15px 0;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button .title_process {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button::after {
    width: 15px;
    height: 15px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-body .text_process {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    padding: 11px 18px 0 0;
  }
  .experience_eliminates_clients .title_block .title_texts h2 {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .experience_eliminates_clients .title_block .title_texts h3 {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .experience_eliminates_clients .title_block .title_texts {
    padding-bottom: 30px;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el {
    padding: 34px 34px 10px 15px;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el span {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .experience_eliminates_clients .border_blok {
    padding: 20px 0;
  }
  .marbella_real_estate_inquiry_block .about_block {
    padding: 80px 74px;
  }
  .marbella_real_estate_inquiry_block::before {
    top: 80px;
  }
  .marbella_real_estate_inquiry_block::after {
    bottom: 80px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group {
    max-width: 540px;
    padding: 50px 5px 50px 9px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group h2 {
    font-weight: 400;
    font-size: 40px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group h3 {
    font-weight: 400;
    font-size: 22px;
    line-height: 130%;
    letter-spacing: 2%;
    margin-bottom: 5px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 27px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form select {
    max-width: 230px;
    padding: 13px 19px 13px 15px;
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='18' viewBox='0 0 20 14' fill='none'%3E%3Cpath d='M10.3168 13.7182C10.1251 13.9811 9.73285 13.9811 9.54113 13.7182L0.0929749 0.76283C-0.138352 0.445635 0.0882104 0 0.480796 0L19.3771 0C19.7697 0 19.9963 0.445637 19.7649 0.762832L10.3168 13.7182Z' fill='%23D2D2D2'/%3E%3C/svg%3E") no-repeat right 25px center;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form select:focus {
    border: 1.6px solid #A5A5A5;
    color: #3C3C3B;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='18' viewBox='0 0 20 14' fill='none'%3E%3Cpath d='M10.3168 13.7182C10.1251 13.9811 9.73285 13.9811 9.54113 13.7182L0.0929749 0.76283C-0.138352 0.445635 0.0882104 0 0.480796 0L19.3771 0C19.7697 0 19.9963 0.445637 19.7649 0.762832L10.3168 13.7182Z' fill='%23A5A5A5'/%3E%3C/svg%3E") no-repeat right 25px center;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form {
    justify-content: center;
    -moz-column-gap: 5px;
         column-gap: 5px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form h4 {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin: 27px 0 15px 0;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form > button {
    font-weight: 400;
    font-size: 12px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 8px;
    margin-bottom: 15px;
  }
  .managing_risks_market_block .border_blok {
    padding: 16px 0;
  }
  .managing_risks_market_block .title_block {
    border: 0.63px solid #E1E1E1;
  }
  .managing_risks_market_block .title_block .titles {
    padding: 27px 0 30px 0;
  }
  .managing_risks_market_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 15px;
    max-width: 586px;
  }
  .managing_risks_market_block .title_block .titles p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    max-width: 496px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks {
    height: 322px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks {
    padding: 17px 17px 10px 10px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card h3 {
    font-weight: 700;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 5px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper {
    height: 187px;
    bottom: 10px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper .arrow_top {
    width: 15px;
    height: 15px;
    top: 10px;
    left: 10px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks:hover .img_wrapper {
    transform: translate(-50%, -60%);
  }
  .managing_risks_market_block .cards_group .about_block .card_risks:hover:nth-child(1) .img_wrapper {
    transform: translate(0, -60%);
  }
  .managing_risks_market_block .cards_group .about_block .card_risks:hover:nth-child(3) .img_wrapper {
    transform: translate(0, -60%);
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss {
    padding-top: 11px;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss a {
    font-weight: 400;
    font-size: 14px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 7px 0;
  }
  .transparent_process_contact_block .title_block .titles {
    padding: 80px 0 30px 0;
  }
  .transparent_process_contact_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .transparent_process_contact_block .title_block .titles p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    max-width: 396px;
    margin-bottom: 15px;
  }
  .transparent_process_contact_block .title_block .titles .tabs {
    gap: 5px;
  }
  .transparent_process_contact_block .title_block .titles .tabs a {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .transparent_process_contact_block .title_block .titles .tabs a.active {
    padding-left: 9px;
  }
  .transparent_process_contact_block .title_block .titles .tabs a.active::before {
    width: 4px;
    height: 4px;
  }
  .transparent_process_contact_block .title_block .titles .tabs span {
    font-weight: 400;
    font-size: 17.73px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el {
    padding: 12px 9px 10px 10px;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(9) {
    height: 165px;
  }
  .transparent_process_contact_block .go_investment_project .tag_investment a {
    font-weight: 400;
    font-size: 14px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 11px;
  }
  .transparent_process_contact_block .go_investment_project .tag_investment {
    padding: 20px 0;
  }
  .transparent_process_contact_block .border_blok {
    padding: 40px 0;
  }
  .professional_obligations_block {
    padding: 80px 0;
  }
  .professional_obligations_block .about_block h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .professional_obligations_block .about_block h2 {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 30px;
    max-width: 583px;
  }
  .professional_obligations_block .about_block .slides_obligations .img_ob {
    max-width: 343px;
  }
  .professional_obligations_block .about_block .slides_obligations {
    height: 325px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation .document {
    width: 133px;
    height: 189px;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-slide:last-child .document_obligation img {
    width: 190px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-top: 19px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-pagination {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-top: 11px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next {
    width: 9px;
    height: 8px;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper {
    max-width: 237PX;
  }
  .successful_transactions_experiences_block .title_block .titles {
    padding: 80px 0 30px 0;
  }
  .successful_transactions_experiences_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    max-width: 464px;
    margin: 0 auto;
  }
  .successful_transactions_experiences_block .title_block .titles h2 br {
    display: none;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group {
    padding: 8px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review {
    padding: 12px 5px 10px 11px;
    min-height: 257px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group {
    gap: 9px;
    margin-bottom: 12px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group img {
    width: 46px;
    height: 48px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group h4 {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group p {
    font-weight: 300;
    font-size: 10.13px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review span {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews {
    padding: 22px 0 32px 0;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews a {
    font-weight: 400;
    font-size: 14px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 7px 0;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews .partners {
    padding: 30px 0 0 0;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews .partners h2 {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .successful_transactions_experiences_block .border_blok {
    padding: 40px 0;
  }
  .frequently_asked_questions_block .about_block {
    padding: 80px 0;
  }
  .frequently_asked_questions_block .about_block .title_block {
    font-weight: 400;
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 15px;
  }
  .frequently_asked_questions_block .about_block .tabs {
    gap: 5px;
    margin-bottom: 25px;
  }
  .frequently_asked_questions_block .about_block .tabs a {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .frequently_asked_questions_block .about_block .tabs a.active {
    padding-left: 9px;
  }
  .frequently_asked_questions_block .about_block .tabs a.active::before {
    width: 4px;
    height: 4px;
  }
  .frequently_asked_questions_block .about_block .tabs span {
    font-weight: 400;
    font-size: 17.73px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .frequently_asked_questions_block .about_block .questions_accardion .accordion-item {
    padding: 27px 10px;
  }
  .frequently_asked_questions_block .about_block .questions_accardion .accordion-button .title_process {
    font-weight: 300;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .frequently_asked_questions_block .about_block .questions_accardion .accordion-button::after {
    width: 15px;
    height: 15px;
  }
  .frequently_asked_questions_block .about_block .questions_accardion .accordion-body .text_process {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    padding: 11px 18px 0 0;
  }
  footer .border_blok {
    padding: 15px 0;
  }
  footer .top_footer_block .about_block .logo img {
    width: 94px;
    height: 30px;
  }
  footer .top_footer_block .about_block .contacts_group h3 {
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 5px;
  }
  footer .top_footer_block .about_block .contacts_group .contatcs {
    gap: 10px;
  }
  footer .top_footer_block .about_block .contacts_group .contatcs a {
    font-weight: 300;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  footer .top_footer_block .about_block .contacts_group .contatcs p {
    font-weight: 300;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  footer .top_footer_block .about_block .contacts_group .networks {
    gap: 6px;
  }
  footer .top_footer_block .about_block .contacts_group .networks a img {
    width: 25px;
    height: 25px;
  }
  footer .top_footer_block .about_block {
    padding: 39px 0 31px 0;
    row-gap: 25px;
  }
  footer .menu_group .menu {
    padding: 20px 0;
  }
  footer .menu_group .menu ul {
    /* No max-width here â€” at â‰¤1199 the original 526px crammed 6 long menu
       items into half the container so they ran together
       ("ÐŸÐžÐšÐ£ÐŸÐÐ¢Ð•Ð›Ð¯ÐœÐŸÐ ÐžÐ”ÐÐ’Ð¦ÐÐœÐ˜ÐÐ’Ð•Ð¡Ð¢Ð˜Ð¦Ð˜Ð˜..."). Let the row use the full
       container width and rely on space-evenly + gap for breathing room. */
    max-width: none;
    /* Tablet/iPad: lay the 8 nav items out as a tidy 4-column grid (so the
       8-item menu reads as a clean 4 + 4) instead of an uneven wrapping row. */
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-items: center;
    align-items: center;
    column-gap: 22px;
    row-gap: 18px;
  }
  footer .menu_group .menu ul li a {
    font-weight: 400;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: 5%;
    text-align: center;
  }
  footer .menu_group .menu .lang_select select {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    background-size: 4px;
  }
  footer .how_to_get_to_us .about_block {
    padding: 30px 0;
  }
  footer .how_to_get_to_us .about_block select,
  footer .how_to_get_to_us .about_block .how_to_title {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  footer .how_to_get_to_us .about_block .map_block {
    max-width: 453px;
    height: 214px;
  }
  footer .how_to_get_to_us .about_block .map_block .location {
    top: 85px;
    right: 25px;
  }
  footer .how_to_get_to_us .about_block .map_block .location .locations_text {
    gap: 8px;
  }
  footer .how_to_get_to_us .about_block .map_block .location .locations_text img {
    width: 25px;
    height: 25px;
  }
  footer .how_to_get_to_us .about_block .map_block .location .locations_text p {
    font-weight: 500;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  footer .how_to_get_to_us .about_block .ask_question {
    font-weight: 400;
    font-size: 12px;
    line-height: 115%;
    letter-spacing: 5%;
    padding: 8px;
    max-width: 223px;
    margin-top: -32px;
  }
  footer .we_accept_payments .about_block {
    padding: 30px 0;
  }
  footer .we_accept_payments .about_block .group_payments h3 {
    font-weight: 300;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
    margin-bottom: 10px;
  }
  footer .we_accept_payments .about_block .group_payments .payments {
    gap: 6.4px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(1) img {
    width: 36px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(2) img {
    width: 31px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(3) img {
    width: 43px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(4) img {
    width: 22px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(5) img {
    width: 42px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(6) img {
    width: 41px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(7) img {
    width: 24px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(8) img {
    width: 29px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments a:nth-child(9) img {
    width: 26px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments {
    max-width: 453px;
  }
  footer .bottom_texts_group .about_block {
    /* Same corner-button clearance as the wider breakpoint. */
    padding: 30px 100px 21px 140px;
  }
  footer .bottom_texts_group .about_block span {
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  footer .bottom_texts_group .about_block .center_group a {
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  footer .bottom_texts_group .about_block .center_group {
    gap: 7px;
  }
}
/* === Hero scroll-pin: slim the container at â‰¤1200 ===
   Desktop >1200 uses .big_block_home { height: 200vh } so JS gets 100vh of
   scroll "fuel" (maxScroll = 200vh âˆ’ 100vh viewport) to transition between
   2 slides. At â‰¤1200 Figma uses a much shorter hero â€” keep the slide-fade
   behaviour but shrink the container to 175vh so the hero isn't 1.5Ã— viewport
   tall on tablets/phones. */
@media (max-width: 1200px) {
  .big_block_home {
    height: 175vh;
  }
}

@media (max-width: 767px) {
  /* (175vh inherited from the â‰¤1199 rule above.) */
  /* Decorative side rails (the two thin 1.5px vertical lines drawn via
     ::before/::after on .big_block_home and its variants) â€” hide on mobile. */
  .big_block_home::before,
  .big_block_home::after,
  .big_block_home--catalog::before,
  .big_block_home--catalog::after,
  .big_block_home--development::before,
  .big_block_home--development::after,
  .big_block_home--blog::before,
  .big_block_home--blog::after,
  .big_block_home--news::before,
  .big_block_home--news::after {
    display: none !important;
  }

  /* === Side ribs (decorative 1.6px vertical lines framing each section):
         hide on mobile across ALL section containers/cards. The blanket
         override below catches every block whose visual frame relies on
         left/right borders so the layout looks edge-to-edge on phones. */
  .about_block,
  .border_blok,
  .card_partner,
  .group_inf_personalized,
  .cards_eliminetes_group,
  .cards_processes_group_mob_group .about_block,
  .marbella_solutions_wealth_impact .descriptions_texts_img_group,
  .marbella_solutions_wealth_impact .descriptions_texts_img_group .descriptions_group,
  .successful_transactions_experiences_block .card_review,
  .top_projects .swiper-slide,
  .professional_obligations_block .swiper-slide,
  /* Section structural wrappers â€” used heavily by various blocks.
     NOTE: do NOT include .go_catalog or any actual button â€” those need
     their full 4-side borders to render as boxed CTAs. */
  .section_header,
  .titles,
  .title_block,
  .title_block .titles,
  .stage,
  .one_partners_entire_process .stages_block .stage,
  .interactive_map_block .map_block,
  .professional_obligations_block .swiper,
  .successful_transactions_experiences_block .border_blok,
  .frequently_asked_questions_block .questions_accardion,
  .marbella_real_estate_inquiry_block,
  footer .about_block,
  footer .border_blok,
  footer .cards_logos_informations,
  footer .top_block_footer {
    border-left: 0 !important;
    border-right: 0 !important;
  }

  /* Show mobile-only elements */
  .mob_only {
    display: block;
  }

  .mob_img {
    display: block;
    width: 100%;
    height: auto;
  }

  .accardion_mob_icon {
    display: inline-block;
  }

  .img_mini {
    display: block;
    width: 100%;
    max-width: 300px;
    height: auto;
    margin: 20px auto;
  }

  header .about_block .top_header_group .menu_burger .lang_select select {
    display: none;
  }
  header .about_block .top_header_group .menu_burger .lang-dropdown {
    display: none;
  }
  header .about_block .top_header_group .logo img {
    width: 110px;
    height: auto;
    margin-right: 0;
  }
  header .about_block .top_header_group .right_contacts .consultation {
    font-weight: 400;
    font-size: 13px;
    line-height: 120%;
    letter-spacing: 0.05em;
    padding: 9px 18px;
    text-transform: uppercase;
  }
  header .about_block .top_header_group .menu_burger .burger {
    width: 44px;
    height: 12px;
  }
  header .about_block .top_header_group .menu_burger .burger span {
    height: 0.8px;
  }
  header .about_block .top_header_group .menu_burger .burger span:nth-child(2) {
    width: 44px;
  }
  header .about_block .top_header_group .menu_burger .burger span:nth-child(1) {
    width: 31px;
  }
  header .about_block .top_header_group .menu_burger .burger span:nth-child(3) {
    width: 31px;
  }
  header .about_block .mega-menu .menu_burger_top_group .lang_select select {
    display: none;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .consultation,
  header .about_block .top_header_group .right_contacts .consultation {
    font-weight: 400;
    font-size: 13px;
    line-height: 120%;
    letter-spacing: 0.05em;
    padding: 9px 18px;
    text-transform: uppercase;
  }
  header .about_block .mega-menu .menu_burger_top_group .logo img {
    width: 110px;
    height: auto;
    margin-right: 0;       /* removed -70px overlap with lang/consultation */
  }
  /* Hide duplicate lang-dropdown in mega-menu header at mobile â€”
     mobile users have lang_switcher in mob_menu below */
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .lang-dropdown {
    display: none !important;
  }
  /* Hide whatsapp icon in mega-menu header at mobile to free space */
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .whatsapp {
    display: none !important;
  }
  /* Tighten right_contacts at mobile so consultation sits cleanly */
  header .about_block .mega-menu .menu_burger_top_group .right_contacts {
    gap: 0;
  }
  header .about_block .mega-menu .menu_burger_top_group {
    padding: 36px 0 22px;
    gap: 12px;             /* breathing room between burger / logo / consultation */
    align-items: center;
  }
  header .about_block .mega-menu .container {
    display: flex;
    flex-direction: column;
    height: 100vh;
  }
  header .about_block .mega-menu .bottom_menu_group {
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
  }
  header .about_block .mega-menu .bottom_menu_group::-webkit-scrollbar {
    display: none;
  }
  header .about_block .mega-menu .bottom_menu_group {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main {
    display: none;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main.mob_menu {
    display: block;
    order: 1;
    padding: 30px 0;
    border-bottom: 1px solid #E1E1E1;
    max-width: 100%;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main.mob_menu .lang_switcher {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 20px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main.mob_menu .lang_switcher a {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
    color: #A6A6A6;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main.mob_menu .lang_switcher a.active {
    color: #3C3C3B;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main.mob_menu .go_catalog {
    /* Inter (already loaded) covers Cyrillic + Latin uniformly â€” Felidae's
       Cyrillic fallback to Cormorant produced uneven tracking on this CTA.
       Valid letter-spacing in em, generous padding, single-line. */
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 16px 18px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    color: #010101;
    border: 1px solid #010101;
    text-decoration: none;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul:nth-child(2) {
    -moz-column-gap: 29px;
         column-gap: 29px;
    padding: 0;
    margin: 0;
    border: none;
    margin-bottom: 30px;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects {
    order: 2;
    padding: 30px 10px 30px 0;
    max-width: 100%;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects {
    order: 3;
    padding: 30px 0;
    border-right: none;
    border-bottom: 1px solid #E1E1E1;
    max-width: 100%;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group {
    order: 4;
    padding: 30px 0;
    border-left: none;
    max-width: 100%;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project {
    grid-column: span 6;
    gap: 10px;
    max-width: 100%;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number {
    flex-direction: row;
    gap: 30px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a svg,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a img {
    width: 40px;
    height: 40px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group {
    margin-bottom: 50px;
  }
  .big_block_home .group_home .home_block {
    padding: 138px 0 30px 0;
  }
  .big_block_home .group_home .home_block h1 {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 6px;
  }
  .big_block_home .group_home .home_block h2 {
    margin-bottom: 138px;
  }
  .big_block_home .group_home .home_block p {
    display: none;
  }
  .big_block_home .group_home .home_block a {
    gap: 10px;
  }
  .cards_logos_informations .about_block {
    overflow-x: scroll;
  }
  .cards_logos_informations .about_block::-webkit-scrollbar {
    display: none;
  }
  .cards_logos_informations .about_block {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .cards_logos_informations .about_block .card_partner {
    min-width: 202px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(1) .logos_partner {
    width: 110px;
    height: 78px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(2) .logos_partner {
    width: 115px;
    height: 67px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(3) .logos_partner {
    width: 144px;
    height: 58px;
  }
  .cards_logos_informations .about_block .card_partner .arrow_pilus svg {
    width: 17px;
    height: 17px;
  }
  .cards_logos_informations .about_block .card_partner .arrow_pilus {
    right: 10px;
    bottom: 10px;
  }
  .cards_logos_informations .about_block .card_partner .descriptions_card h3 {
    font-weight: 300;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0%;
    margin-bottom: 5px;
  }
  .cards_logos_informations .title_mob {
    display: block;
    border-bottom: 1px solid #E1E1E1;
  }
  .cards_logos_informations .title_mob .section_header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    padding: 47px 10px 10px 10px;
    border-left: 1px solid #E1E1E1;
    border-right: 1px solid #E1E1E1;
  }
  .cards_logos_informations .title_mob .section_header h3 {
    font-weight: 400;
    font-size: 12px;
    line-height: 115%;
    letter-spacing: 0%;
    color: #A6A6A6;
  }
  .cards_logos_informations .title_mob .section_header .scroll_line {
    width: 100px;
    height: 1.5px;
    background: #E1E1E1;
    position: relative;
    overflow: hidden;
  }
  .cards_logos_informations .title_mob .section_header .scroll_line .scroll_line_inner {
    height: 100%;
    width: 0%;
    background: #41545C;
    transition: width 0.1s linear;
  }
  .cards_logos_informations .about_block .card_partner:hover .arrow_pilus {
    display: none;
  }
  .real_estate_marbella_block .title_block .titles {
    padding: 80px 0 30px 0;
  }
  .real_estate_marbella_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .real_estate_marbella_block .title_block .titles h2 span {
    display: none;
  }
  .real_estate_marbella_block .title_block .titles p {
    font-weight: 400;
    font-size: 20px;
    line-height: 130%;
    letter-spacing: 3%;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group {
    flex-direction: column;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage {
    border-right: 1px solid #E1E1E1 !important;
    border-left: 1px solid #E1E1E1 !important;
    border-bottom: 1px solid #E1E1E1 !important;
    padding: 20px 10px !important;
    height: 260px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage {
    margin-bottom: 10px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .img_wrap .img_estate {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .img_wrap {
    opacity: 0;
    width: 0;
    height: 0;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover a {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 5%;
    text-transform: uppercase;
    padding: 14.5px;
  }
  .personalized_selection_block .about_block {
    padding: 80px 10px;
  }
  .personalized_selection_block .about_block .group_inf_personalized {
    padding: 50px 30px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h2 {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .personalized_selection_block .about_block .group_inf_personalized h2 span {
    display: none;
  }
  .personalized_selection_block .about_block .group_inf_personalized h3 {
    font-weight: 300;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 0%;
    margin-bottom: 30px;
  }
  .personalized_selection_block .about_block .group_inf_personalized .img_mini {
    display: block !important;
    width: 124px;
    height: 130px;
    -o-object-fit: cover;
       object-fit: cover;
    margin: 0 auto;
    margin-bottom: 30px;
  }
  .personalized_selection_block .about_block .group_inf_personalized p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 15px;
  }
  .personalized_selection_block .about_block .group_inf_personalized a {
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 14.5px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h4 {
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0%;
    text-align: center;
  }
  .marbella_solutions_wealth_impact .about_block {
    padding: 80px 0 20px 0;
  }
  .marbella_solutions_wealth_impact .about_block h2 {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding-bottom: 30px;
    border-bottom: 1px solid #E1E1E1;
  }
  .marbella_solutions_wealth_impact .about_block h2 span {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    font-family: "Inter", sans-serif;
    margin-top: 10px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group {
    flex-direction: column;
    height: auto;
    gap: 20px;
    padding: 30px 10px 0 10px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
    justify-content: center;
    max-width: 100%;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description {
    padding: 0;
    border: none;
    display: flex;
    align-items: center;
    gap: 5px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description span {
    display: flex;
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    color: #A6A6A6;
    font-family: "Felidae", "Cormorant Garamond", serif;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3 {
    color: #A6A6A6;
    padding-left: 0;
    margin: 0 !important;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3::before {
    opacity: 0;
    width: 7px;
    height: 7px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active h3 {
    color: #010101;
    padding-left: 13px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active h3::before {
    opacity: 1 !important;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description p {
    display: none;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover h3::before {
    opacity: 0;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
    height: 222px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content {
    display: block;
    position: absolute;
    left: 20px;
    top: 20px;
    opacity: 0;
    transition: 0.3s;
    z-index: 10;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    font-family: "Felidae", "Cormorant Garamond", serif;
    color: #FFFFFF;
    margin-bottom: 10px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    max-width: 237px;
    color: #FFFFFF;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content.active {
    opacity: 1;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 14.5px;
  }
  .one_partners_entire_process .about_block {
    padding: 80px 10px;
  }
  .one_partners_entire_process .about_block .title_block {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
    text-align: center;
    margin-bottom: 30px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners {
    flex-direction: column;
    gap: 30px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .img_wrapper {
    max-width: 100%;
    padding: 66.5px 60px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-item:first-child {
    border-top: none;
    padding-top: 0;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-body .text_process {
    padding: 20px 0 0 0;
  }
  .experience_eliminates_clients .title_block .title_texts h2 {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
  }
  .experience_eliminates_clients .title_block .title_texts h2 span {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    font-family: "Inter", sans-serif;
    margin-top: 10px;
  }
  .experience_eliminates_clients .title_block .title_texts h3 {
    display: none;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group {
    display: flex;
    flex-direction: column;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2) {
    display: none;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4) {
    display: none;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el {
    padding: 20px 9.5px !important;
    border: none !important;
    width: 100%;
    border-bottom: 1px solid #E1E1E1 !important;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el img {
    display: block !important;
    width: 100%;
    height: 174px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(6) {
    border-bottom: none !important;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el span {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 5px;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 15px;
  }
  .marbella_real_estate_inquiry_block .about_block {
    padding: 80px 11px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group {
    padding: 50px 21px 50px 19px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group h2 {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group h3 {
    font-weight: 300;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 0%;
    margin-bottom: 30px;
    font-family: "Inter", sans-serif;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group h3 br {
    display: none;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group p {
    display: none;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form select {
    max-width: 100%;
    padding: 16px 15px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form h4 {
    max-width: 200px;
    margin: 30px 0 15px 0;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form > button {
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 14.5px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form > span {
    font-weight: 300;
    font-size: 10px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .managing_risks_market_block .border_blok {
    display: none;
  }
  .managing_risks_market_block .title_block .titles {
    padding: 80px 0 30px 0;
  }
  .managing_risks_market_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
    text-align: center;
    margin-bottom: 10px;
  }
  .managing_risks_market_block .title_block .titles p {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 3%;
  }
  .managing_risks_market_block .title_block .titles p span {
    display: none;
  }
  .managing_risks_market_block .cards_group .about_block {
    overflow-x: scroll;
  }
  .managing_risks_market_block .cards_group .about_block::-webkit-scrollbar {
    display: none;
  }
  .managing_risks_market_block .cards_group .about_block {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks {
    min-width: 262px;
    padding: 20px 10px !important;
    height: 100%;
    min-height: 345px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks:nth-child(1) {
    border-left: 1px solid #E1E1E1;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks:nth-child(3) {
    border-right: 1px solid #E1E1E1;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card h3 {
    margin-bottom: 10px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card h3.accardion_mob {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #A6A6A6;
    transition: color 0.3s ease;
    margin: 0;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card h3.accardion_mob svg {
    display: block !important;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card h3.accardion_mob svg circle {
    transition: stroke 0.3s ease;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card h3.accardion_mob svg line {
    transition: stroke 0.3s ease;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card p {
    max-width: 228px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card p.text_p {
    max-height: 0;
    overflow: hidden;
    transition: 0.3s ease;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active .text_p {
    max-height: 228px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active .accardion_mob {
    color: #010101;
    margin-bottom: 10px;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active .accardion_mob svg circle {
    stroke: #010101;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active .accardion_mob svg line {
    stroke: #010101;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper {
    position: static;
    max-width: 100%;
    height: 138px;
    transform: none !important;
    margin: 20px 0;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper .arrow_top {
    display: none;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss h3 {
    display: block !important;
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    font-family: "Felidae", "Cormorant Garamond", serif;
    color: #010101;
    margin-bottom: 10px;
    text-align: center;
    max-width: 271px;
    margin: 0 auto;
    margin-bottom: 10px;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss p {
    display: block !important;
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    text-align: center;
    color: #010101;
    max-width: 271px;
    margin: 0 auto;
    margin-bottom: 20px;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss a {
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 14.5px;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss {
    padding: 30px 0 80px 0;
  }
  .transparent_process_contact_block .title_block .titles {
    padding: 80px 0;
    border: none;
  }
  .transparent_process_contact_block .title_block {
    background-color: #FAFAFA;
  }
  .transparent_process_contact_block .title_block .titles h2 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    text-align: center;
    display: flex;
    flex-direction: column;
    text-transform: capitalize;
    margin-bottom: 30px;
  }
  .transparent_process_contact_block .title_block .titles h2 span {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-top: 10px;
    text-transform: uppercase;
  }
  .transparent_process_contact_block .title_block .titles .img_mini {
    display: block !important;
    width: auto;
    margin: 0 auto;
    margin-bottom: 30px;
  }
  .transparent_process_contact_block .title_block .titles .tabs {
    display: none;
  }
  .transparent_process_contact_block .cards_processes_group {
    display: none;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group {
    display: block;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block {
    padding: 80px 0;
    border-left: 1px solid #E1E1E1;
    border-right: 1px solid #E1E1E1;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-item {
    border: none;
    border-radius: 0;
    border-bottom: 1.6px solid #E1E1E1;
    padding: 20px 0;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-item:first-child {
    border-top: 1.6px solid #E1E1E1;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button {
    box-shadow: none;
    background-color: transparent;
    padding: 0 10px;
    border-radius: 0;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button .title_process {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    font-family: "Felidae", "Cormorant Garamond", serif;
    color: #A6A6A6;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button .title_process::before {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #3C3C3B;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button .title_process .scroll_line {
    width: 100px;
    height: 1.5px;
    background: #E1E1E1;
    position: relative;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button .title_process .scroll_line .scroll_line_inner {
    height: 100%;
    width: 0%;
    background: #41545C;
    transition: width 0.1s linear;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button:not(.collapsed) .title_process {
    color: #010101;
    padding-left: 17px;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button:not(.collapsed) .title_process::before {
    opacity: 1;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button:not(.collapsed) .title_process .scroll_line {
    opacity: 1;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body {
    padding: 0;
    padding-top: 20px;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body .cards_group {
    display: flex;
    align-items: center;
    overflow-x: scroll;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body .cards_group::-webkit-scrollbar {
    display: none;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body .cards_group {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body .cards_group .card_el {
    min-width: 255px;
    height: 216px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px 7px 10px 10px;
    border-top: 1px solid #E1E1E1;
    border-bottom: 1px solid #E1E1E1;
    border-right: 1px solid #E1E1E1;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body .cards_group .card_el h3 {
    font-weight: 300;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 2%;
    text-transform: uppercase;
    color: #000000;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body .cards_group .card_el p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
    color: #3C3C3B;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body .cards_group .card_el p br {
    display: none;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body .cards_group .card_el img {
    width: 100%;
    height: 100%;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body .cards_group .card_el:last-child {
    border-right: none;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body a {
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 5%;
    text-transform: uppercase;
    font-family: "Felidae", "Cormorant Garamond", serif;
    color: #FFFFFF;
    padding: 14.5px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #41545C;
    margin-top: 20px;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button::after {
    width: 20px;
    height: 20px;
    background-size: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='37' viewBox='0 0 37 37' fill='none'%3E%3Ccircle cx='18.5' cy='18.5' r='17.7' stroke='%23A6A6A6' stroke-width='1.6'/%3E%3Cline x1='18.8' y1='10' x2='18.8' y2='28' stroke='%23A6A6A6' stroke-width='1.6'/%3E%3Cline x1='28' y1='18.8' x2='10' y2='18.8' stroke='%23A6A6A6' stroke-width='1.6'/%3E%3C/svg%3E");
    transform: rotate(0deg);
    transition: 0.3s;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button:not(.collapsed)::after {
    display: none;
  }
  .transparent_process_contact_block .go_investment_project {
    display: none;
  }
  .transparent_process_contact_block .border_blok {
    display: none;
  }
  .professional_obligations_block .about_block h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 10px;
  }
  .professional_obligations_block .about_block h2 {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .professional_obligations_block .about_block h2 span {
    display: none;
  }
  .professional_obligations_block .about_block .slides_obligations .img_ob {
    height: 400px;
    -o-object-fit: cover;
       object-fit: cover;
    max-width: 310px;
  }
  .professional_obligations_block .about_block .slides_obligations {
    height: auto;
    flex-direction: column;
    gap: 30px;
    background-color: transparent;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation .document {
    width: 194px;
    height: 276px;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper {
    max-width: 310px;
  }
  .successful_transactions_experiences_block .title_block .titles h3 {
    display: block !important;
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 2%;
    text-align: center;
    color: #010101;
    font-family: "Felidae", "Cormorant Garamond", serif;
    margin-bottom: 10px;
  }
  .successful_transactions_experiences_block .title_block .titles h2 {
    display: none;
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
    margin-bottom: 30px;
  }
  .successful_transactions_experiences_block .title_block .titles h2.second_title {
    display: block !important;
  }
  .successful_transactions_experiences_block .title_block .titles {
    padding: 80px 0 20px 0;
  }
  .successful_transactions_experiences_block .title_block .titles .scroll_line {
    display: block !important;
    width: 100%;
    max-width: 310px;
    height: 1.5px;
    background: #E1E1E1;
    position: relative;
    overflow: hidden;
    opacity: 1 !important;
    transition: opacity 0.2s ease;
    margin: 0 auto;
  }
  .successful_transactions_experiences_block .title_block .titles .scroll_line .scroll_line_inner {
    height: 100%;
    width: 0%;
    background: #41545C;
    transition: width 0.1s linear;
  }
  .successful_transactions_experiences_block .cards_group .about_block {
    overflow-x: scroll;
  }
  .successful_transactions_experiences_block .cards_group .about_block::-webkit-scrollbar {
    display: none;
  }
  .successful_transactions_experiences_block .cards_group .about_block {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group {
    min-width: 262px;
    padding: 10px !important;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review {
    min-height: 394px;
    padding: 10px 10px 10px 7px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group img {
    width: 73px;
    height: 75px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group {
    gap: 15px;
    margin-bottom: 20px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group .name_group h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 110%;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group h4 {
    font-weight: 300;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
    margin-bottom: 10px;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group p {
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0%;
  }
  .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group .card_review .top_text_group p br {
    display: none;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews {
    padding: 20px 0 36px 0;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews a {
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 14.5px;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews .partners h2 {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews .partners {
    overflow-x: scroll;
    gap: 40px;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews .partners::-webkit-scrollbar {
    display: none;
  }
  .successful_transactions_experiences_block .more_reviews .tag_reviews .partners {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .frequently_asked_questions_block .about_block .title_block {
    font-weight: 400;
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 2%;
  }
  .frequently_asked_questions_block .about_block .tabs {
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  footer {
    display: flex;
    flex-direction: column;
  }
  footer .top_footer_block {
    order: 1;
    border-bottom: 1px solid rgba(225, 225, 225, 0.2);
  }
  footer .how_to_get_to_us {
    order: 2;
  }
  footer .menu_group {
    order: 3;
  }
  footer .we_accept_payments {
    order: 4;
  }
  footer .bottom_texts_group {
    order: 5;
  }
  footer .border_blok {
    padding: 20px 0;
  }
  footer .top_footer_block .about_block {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 10px;
    gap: 30px;
  }
  footer .top_footer_block .about_block .contacts_group {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  footer .top_footer_block .about_block .contacts_group .contatcs {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  footer .top_footer_block .about_block .logo {
    margin-bottom: -9px;
    order: 1;
  }
  footer .top_footer_block .about_block .contacts_group:nth-child(2) {
    order: 2;
  }
  footer .top_footer_block .about_block .contacts_group:nth-child(5) {
    order: 3;
  }
  footer .top_footer_block .about_block .contacts_group:nth-child(4) {
    order: 4;
  }
  footer .top_footer_block .about_block .contacts_group:nth-child(3) {
    order: 5;
  }
  footer .top_footer_block .about_block .contacts_group:nth-child(6) {
    order: 6;
  }
  footer .top_footer_block .about_block .contacts_group h3 {
    margin-bottom: 10px;
  }
  footer .top_footer_block .about_block .contacts_group .contatcs {
    flex-direction: row;
    gap: 30px;
  }
  footer .top_footer_block .about_block .contacts_group .networks a img {
    width: 40px;
    height: 40px;
  }
  footer .top_footer_block .about_block .contacts_group .networks {
    gap: 10px;
  }
  footer .how_to_get_to_us .about_block {
    padding: 40px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
  }
  footer .how_to_get_to_us .about_block .map_block {
    max-width: 100%;
    height: 286px;
  }
  footer .how_to_get_to_us .about_block .map_block .map {
    -o-object-fit: cover;
       object-fit: cover;
  }
  footer .how_to_get_to_us .about_block .map_block .location {
    display: none;
  }
  footer .how_to_get_to_us .about_block .ask_question {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 5%;
    padding: 14.5px;
    width: 100%;
    max-width: 100%;
  }
  footer .menu_group .menu {
    padding: 20px 10px;
  }
  footer .menu_group .menu ul {
    /* Phones: drop the 4-col grid to 2 columns so the long labels
       (DEVELOPMENTS / CONSTRUCTION / GUIDES & BLOG) never overflow. */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 14px;
  }
  footer .menu_group .menu ul li a {
    font-size: 16px;
  }
  footer .we_accept_payments .about_block {
    padding: 30px 10px;
  }
  footer .we_accept_payments .about_block .group_payments h3 {
    margin-bottom: 15px;
  }
  footer .we_accept_payments .about_block .group_payments .payments {
    flex-wrap: wrap;
    gap: 10px;
  }
  footer .we_accept_payments .about_block .group_payments .payments:nth-child(1) img {
    width: 36px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments:nth-child(2) img {
    width: 31px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments:nth-child(3) img {
    width: 43px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments:nth-child(4) img {
    width: 22px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments:nth-child(5) img {
    width: 42px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments:nth-child(6) img {
    width: 41px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments:nth-child(7) img {
    width: 24px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments:nth-child(8) img {
    width: 29px;
    height: 22px;
  }
  footer .we_accept_payments .about_block .group_payments .payments:nth-child(9) img {
    width: 26px;
    height: 22px;
  }
  footer .bottom_texts_group .about_block {
    /* Centred stack on phones: extra bottom space so the floating
       corner buttons (COOKIES reopener / back-to-top) clear the text. */
    padding: 30px 12px 76px 12px;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  footer .bottom_texts_group .about_block .center_group {
    order: 1;
    gap: 10px;
    margin-bottom: 10px;
    align-items: center;
    text-align: center;
  }
  footer .bottom_texts_group .about_block .center_group a {
    text-align: center;
  }
  footer .bottom_texts_group .about_block span:nth-child(1) {
    order: 2;
    margin-bottom: 30px;
  }
  footer .bottom_texts_group .about_block span:nth-child(3) {
    order: 3;
  }
}


/* ========== INTERACTIVE MAP SECTION ========== */
.interactive_map_block {
  padding: 120px 0 80px;
}
.interactive_map_block .map_header {
  text-align: center;
  margin-bottom: 64px;
}
.interactive_map_block .map_header .map_label {
  font-weight: 300;
  font-size: 18px;
  line-height: 140%;
  color: #3C3C3B;
  display: block;
  margin-bottom: 16px;
}
.interactive_map_block .map_header h2 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 64px;
  line-height: 110%;
  letter-spacing: 2%;
  text-transform: uppercase;
  color: #010101;
  margin-bottom: 40px;
}
.interactive_map_block .map_header .map_cta_btn {
  display: inline-block;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 150%;
  letter-spacing: 5%;
  text-transform: uppercase;
  color: #010101;
  padding: 18px 48px;
  border: 1px solid #010101;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.interactive_map_block .map_header .map_cta_btn:hover {
  background-color: #010101;
  color: #FFFFFF;
}

/* Map Container */
.map_wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.map_container {
  position: relative;
  width: 100%;
  max-width: 1758px;
  margin: 0 auto;
}
.map_bg_img {
  width: 100%;
  height: auto;
  display: block;
}

/* Map Markers */
.map_marker {
  position: absolute;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
  z-index: 2;
}
.map_marker:hover {
  transform: translate(-50%, -50%) scale(1.15);
}
.map_marker svg circle {
  transition: stroke 0.3s ease, fill 0.3s ease;
}
.map_marker:hover svg circle {
  stroke: #3C3C3B;
}
.map_marker:hover svg line {
  stroke: #3C3C3B;
}

/* Center Marker */
.map_center_marker {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
}
.map_center_label {
  font-weight: 300;
  font-size: 14px;
  line-height: 140%;
  color: #3C3C3B;
  white-space: nowrap;
}

/* Info Card */
.map_info_card {
  position: absolute;
  left: 22%;
  top: 28%;
  background: #FFFFFF;
  padding: 24px 28px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  z-index: 4;
  min-width: 220px;
}
.map_info_card h3 {
  font-weight: 400;
  font-size: 22px;
  line-height: 130%;
  color: #010101;
  margin-bottom: 8px;
}
.map_info_card p {
  font-weight: 300;
  font-size: 16px;
  line-height: 150%;
  color: #3C3C3B;
  margin-bottom: 12px;
}
.map_info_card .map_info_link {
  font-size: 20px;
  color: #010101;
  display: inline-block;
  transition: transform 0.3s ease;
}
.map_info_card .map_info_link:hover {
  transform: translateX(4px);
}

/* District Tabs */
.map_district_tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 40px 0;
  border-top: 1.6px solid #E1E1E1;
  margin-top: 0;
}
.map_tab {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 140%;
  letter-spacing: 2%;
  color: #BABABA;
  transition: color 0.3s ease;
  text-transform: none;
  font-style: italic;
}
.map_tab:hover,
.map_tab.active {
  color: #010101;
}
.map_tab .map_tab_bullet {
  font-size: 28px;
  margin-right: 4px;
}
.map_tab_separator {
  font-weight: 300;
  font-size: 22px;
  color: #BABABA;
}


/* ========== POPUP / MODAL SYSTEM ========== */
.popup-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.popup-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
.popup-modal {
  background: #FFFFFF;
  position: relative;
  max-width: 960px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  transform: translateY(30px) scale(0.97);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.popup-overlay.active .popup-modal {
  transform: translateY(0) scale(1);
}
.popup-close {
  position: absolute;
  top: 24px; right: 24px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
  padding: 8px;
  transition: transform 0.3s ease;
}
.popup-close:hover {
  transform: rotate(90deg);
}
/* iOS Safari / WebKit bug: a native <select> won't open its option picker
   when an ancestor uses backdrop-filter (the field highlights on tap but the
   dropdown never appears). The popup form lives inside .popup-overlay, so drop
   the blur on touch/mobile widths — the modal fills the screen there anyway, so
   there's nothing meaningful behind it to blur. Desktop keeps the blur. */
@media (max-width: 1024px) {
  .popup-overlay {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgba(0, 0, 0, 0.6);
  }
}

/* --- Quiz Popup --- */
.popup-quiz-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 500px;
}
.popup-quiz-left {
  padding: 60px 48px;
  background: #F8F7F5;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* .has-bg is the deferred-loading twin of the old inline background-image (see
   footer.php). The overlay/white-text rules below must keep matching BOTH so the
   panel looks identical, but the image itself is only fetched once the popup is
   actually opened (.popup-overlay.active) — otherwise every page on the site
   downloads 362KB for a modal nobody opened, because .popup-overlay hides with
   opacity:0, not display:none. The dark gradient is painted regardless of the
   image, so the white text stays readable while it loads. */
.popup-overlay.active .popup-quiz-left.has-bg {
  background-image: url('../images/popups/quiz_bg.webp');
}
.popup-quiz-left[style*="background-image"]::before,
.popup-quiz-left.has-bg::before {
  content: '';
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.55) 100%);
}
.popup-quiz-left[style*="background-image"] > *,
.popup-quiz-left.has-bg > * {
  position: relative;
  z-index: 1;
}
.popup-quiz-left[style*="background-image"] .popup-label,
.popup-quiz-left[style*="background-image"] h2,
.popup-quiz-left[style*="background-image"] p,
.popup-quiz-left[style*="background-image"] .quiz-step-counter,
.popup-quiz-left[style*="background-image"] .quiz-micro,
.popup-quiz-left.has-bg .popup-label,
.popup-quiz-left.has-bg h2,
.popup-quiz-left.has-bg p,
.popup-quiz-left.has-bg .quiz-step-counter,
.popup-quiz-left.has-bg .quiz-micro {
  color: #FFFFFF;
}
.popup-label {
  font-weight: 300;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #BABABA;
  margin-bottom: 20px;
}
.popup-quiz-left h2 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 36px;
  line-height: 120%;
  color: #010101;
  margin-bottom: 16px;
}
.popup-quiz-left p {
  font-weight: 300;
  font-size: 16px;
  line-height: 160%;
  color: #3C3C3B;
  margin-bottom: 40px;
}
.quiz-progress {
  width: 100%;
  height: 2px;
  background: #E1E1E1;
  margin-bottom: 12px;
}
.quiz-progress-bar {
  height: 100%;
  background: #3C3C3B;
  transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  width: 25%;
}
.quiz-step-counter {
  font-weight: 300;
  font-size: 14px;
  color: #BABABA;
}
.quiz-micro {
  font-weight: 300;
  font-size: 13px;
  color: #BABABA;
  margin-top: 20px;
  letter-spacing: 0.5px;
}
.quiz-hint {
  font-weight: 300;
  font-size: 13px;
  color: #BABABA;
  font-style: italic;
  margin-top: 12px;
  line-height: 150%;
}
.quiz-final-desc {
  font-weight: 300;
  font-size: 16px;
  color: #3C3C3B;
  line-height: 160%;
  margin-bottom: 24px;
}
.popup-quiz-right {
  padding: 60px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-y: auto;
  max-height: 90vh;
}
.quiz-step {
  display: none;
}
.quiz-step.active {
  display: block;
  animation: fadeInUp 0.4s ease;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}
.quiz-step h3 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 28px;
  color: #010101;
  margin-bottom: 28px;
}
.quiz-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.quiz-option {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border: 1px solid #E1E1E1;
  cursor: pointer;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.quiz-option:hover {
  border-color: #3C3C3B;
}
.quiz-option input {
  display: none;
}
.quiz-option input:checked + span {
  font-weight: 400;
}
.quiz-option input:checked ~ span::before {
  background: #3C3C3B;
}
.quiz-option span {
  font-weight: 300;
  font-size: 16px;
  color: #010101;
  position: relative;
  padding-left: 28px;
}
.quiz-option span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 1px solid #BABABA;
  border-radius: 50%;
  transition: background 0.3s ease;
}
.quiz-form-fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.quiz-input {
  width: 100%;
  padding: 16px 20px;
  border: 1px solid #E1E1E1;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;
  color: #010101;
  outline: none;
  transition: border-color 0.3s ease;
}
.quiz-input:focus {
  border-color: #3C3C3B;
}
.quiz-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 32px;
}
.quiz-btn-back {
  background: none;
  border: none;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;
  color: #BABABA;
  cursor: pointer;
  transition: color 0.3s ease;
}
.quiz-btn-back:hover {
  color: #010101;
}
.quiz-btn-next {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 18px;
  color: #FFFFFF;
  background: #010101;
  border: none;
  padding: 16px 40px;
  cursor: pointer;
  transition: background 0.3s ease;
}
.quiz-btn-next:hover {
  background: #3C3C3B;
}

/* --- Form Popup --- */
.popup-form-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
}
.popup-form-left {
  padding: 60px 48px;
  background: #F8F7F5;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.popup-form-left h2 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 120%;
  color: #010101;
  margin-bottom: 16px;
  text-align: center;
}
.popup-form-left p {
  font-weight: 300;
  font-size: 16px;
  line-height: 160%;
  color: #3C3C3B;
  margin-bottom: 32px;
}
.popup-form-features {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.popup-feature {
  font-weight: 300;
  font-size: 15px;
  color: #3C3C3B;
  display: flex;
  align-items: center;
  gap: 10px;
}
.popup-feature span {
  color: #010101;
  font-weight: 400;
}
.popup-form-right {
  padding: 60px 48px;
  display: flex;
  align-items: center;
}
.popup-form-right form {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.form-input {
  width: 100%;
  padding: 16px 20px;
  border: 1px solid #E1E1E1;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;
  color: #010101;
  outline: none;
  background: #FFFFFF;
  transition: border-color 0.3s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form-input:focus {
  border-color: #3C3C3B;
}
.form-textarea {
  resize: vertical;
  min-height: 80px;
}
.form-select {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23BABABA' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  padding-right: 40px;
  cursor: pointer;
}
/* Show the placeholder option in muted grey while no real choice is made.
   The "interest" select is required, so an empty value makes it :invalid.
   (The placeholder is NOT <option disabled> on purpose — iOS Safari renders
   a disabled+selected option as a blank field, hiding the dropdown.) */
.form-select:required:invalid {
  color: #BABABA;
}
.form-select option {
  color: #010101;
}
/* The consultation popup reuses generic class names (.form-input / .form-select)
   that collide with Bootstrap's own .form-select — Bootstrap is loaded site-wide
   (header.php). Bootstrap leaves the <select> with a rounded radius plus its own
   border/background which, together with appearance:none on iOS Safari, made the
   interest field render WITHOUT its visible box (the text inputs aren't affected
   because they don't carry the .form-select class). Pin the popup fields with ID
   specificity so they always render as a bordered, square box like the inputs. */
#consultationForm .form-input,
#consultationForm .form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #E1E1E1;
  border-radius: 0;
  background-color: #FFFFFF;
  box-sizing: border-box;
}
.phone-field-group {
  display: flex;
  gap: 12px;
}
.phone-prefix-select {
  flex: 0 0 142px;
  width: 142px;
  padding-right: 36px;
}
.phone-number-input {
  flex: 1 1 auto;
  min-width: 0;
}
.form-submit-btn {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 20px;
  color: #FFFFFF;
  background: #010101;
  border: none;
  padding: 18px;
  width: 100%;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: background 0.3s ease;
}
.form-submit-btn:hover {
  background: #3C3C3B;
}
.form-disclaimer {
  font-weight: 300;
  font-size: 12px;
  color: #BABABA;
  text-align: center;
}

/* ========== POPUP RESPONSIVE â€” TABLET 768 ========== */
@media (max-width: 1024px) {
  .popup-modal {
    max-width: 720px;
    width: 92%;
    max-height: 92vh;
  }
  /* Form popup: single column stacked */
  .popup-form-inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .popup-form-left {
    padding: 40px 32px 24px;
  }
  .popup-form-left h2 {
    font-size: 28px;
    margin-bottom: 12px;
  }
  .popup-form-left p {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .popup-form-features {
    gap: 8px;
  }
  .popup-feature {
    font-size: 13px;
  }
  .popup-form-right {
    padding: 24px 32px 40px;
  }
  .popup-form-right form { gap: 12px; }
  .form-input {
    padding: 12px 16px;
    font-size: 14px;
  }
  .phone-field-group {
    gap: 10px;
  }
  .phone-prefix-select {
    flex-basis: 132px;
    width: 132px;
  }
  .form-submit-btn {
    font-size: 16px;
    padding: 14px;
    letter-spacing: 1.5px;
  }
  /* Quiz popup: single column stacked, lighter padding */
  .popup-quiz-inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .popup-quiz-left {
    padding: 36px 32px 24px;
  }
  .popup-quiz-left h2 {
    font-size: 26px;
    margin-bottom: 12px;
  }
  .popup-quiz-left p {
    font-size: 14px;
    margin-bottom: 24px;
  }
  .popup-quiz-right {
    padding: 24px 32px 36px;
    max-height: none;
  }
  .quiz-step h3 {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .quiz-option { padding: 12px 16px; }
  .quiz-option span { font-size: 14px; padding-left: 24px; }
  .quiz-input { padding: 12px 16px; font-size: 14px; }
  .quiz-btn-back { font-size: 14px; }
  .quiz-btn-next { font-size: 16px; padding: 12px 28px; }
  .popup-close { top: 16px; right: 16px; padding: 6px; }
  .popup-close svg { width: 22px; height: 22px; }
}

/* ========== POPUP RESPONSIVE â€” MOBILE 480 ========== */
@media (max-width: 480px) {
  .popup-modal {
    width: 100%;
    max-width: 100%;
    max-height: 100vh;
    height: 100vh;        /* full-screen on small phones */
  }
  .popup-overlay {
    align-items: stretch;
    justify-content: stretch;
  }
  /* Form popup */
  .popup-form-left {
    padding: 50px 20px 16px;   /* top extra so close (Ã—) doesn't overlap title */
  }
  .popup-form-left h2 {
    font-size: 22px;
    line-height: 110%;
  }
  .popup-form-left p {
    font-size: 13px;
    margin-bottom: 16px;
  }
  .popup-feature { font-size: 12px; gap: 6px; }
  .popup-form-right {
    padding: 16px 20px 32px;
  }
  .popup-form-right form { gap: 10px; }
  .form-input {
    padding: 12px 14px;
    font-size: 14px;
  }
  .phone-field-group {
    gap: 8px;
  }
  .phone-prefix-select {
    flex-basis: 120px;
    width: 120px;
  }
  .form-textarea { min-height: 60px; }
  .form-submit-btn {
    font-size: 14px;
    padding: 14px;
    letter-spacing: 1px;
  }
  .form-disclaimer { font-size: 10px; }
  /* Quiz popup */
  .popup-quiz-left {
    padding: 50px 20px 20px;
  }
  .popup-quiz-left h2 {
    font-size: 20px;
    line-height: 115%;
    margin-bottom: 8px;
  }
  .popup-quiz-left p {
    font-size: 13px;
    margin-bottom: 16px;
  }
  .popup-label { font-size: 12px; letter-spacing: 2px; margin-bottom: 12px; }
  .quiz-step-counter { font-size: 12px; }
  .quiz-micro { font-size: 11px; margin-top: 12px; }
  .popup-quiz-right {
    padding: 20px 20px 32px;
  }
  .quiz-step h3 {
    font-size: 18px;
    margin-bottom: 16px;
    line-height: 115%;
  }
  .quiz-option { padding: 10px 14px; }
  .quiz-option span {
    font-size: 13px;
    padding-left: 22px;
    line-height: 130%;
  }
  .quiz-option span::before { width: 14px; height: 14px; }
  .quiz-options { gap: 8px; }
  .quiz-input {
    padding: 12px 14px;
    font-size: 14px;
  }
  .quiz-form-fields { gap: 12px; }
  .quiz-nav { margin-top: 20px; }
  .quiz-btn-back { font-size: 13px; }
  .quiz-btn-next {
    font-size: 14px;
    padding: 12px 20px;
    letter-spacing: 0.5px;
  }
  .quiz-hint { font-size: 11px; margin-top: 8px; }
  .quiz-final-desc { font-size: 13px; margin-bottom: 16px; }
  .popup-close { top: 12px; right: 12px; padding: 4px; }
  .popup-close svg { width: 20px; height: 20px; }
  /* On dark quiz-left bg ensure Ã— stays visible */
  .popup-quiz .popup-close svg line { stroke: #FFFFFF; }
}

/* ========== POPUP RESPONSIVE â€” SMALL MOBILE 360 ========== */
@media (max-width: 360px) {
  .popup-form-left { padding: 44px 16px 12px; }
  .popup-form-left h2 { font-size: 20px; }
  .popup-form-right { padding: 12px 16px 24px; }
  .phone-prefix-select {
    flex-basis: 110px;
    width: 110px;
  }
  .popup-quiz-left { padding: 44px 16px 16px; }
  .popup-quiz-left h2 { font-size: 18px; }
  .popup-quiz-right { padding: 16px 16px 24px; }
  .quiz-step h3 { font-size: 16px; }
  .form-input, .quiz-input { padding: 10px 12px; font-size: 13px; }
  .form-submit-btn { font-size: 13px; padding: 12px; }
}


/* ========== LANGUAGE DROPDOWN ========== */
.lang-dropdown {
  position: relative;
  display: inline-block;
}
.lang-dropdown-btn {
  background: none;
  border: 1px solid rgba(255,255,255,0.3);
  color: inherit;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 14px;
  padding: 6px 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  letter-spacing: 1px;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.lang-dropdown-btn:hover {
  border-color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
}
.lang-arrow {
  font-size: 10px;
  transition: transform 0.3s ease;
}
.lang-dropdown.open .lang-arrow {
  transform: rotate(180deg);
}
.lang-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 100%;
  background: #FFFFFF;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  z-index: 100;
}
.lang-dropdown.open .lang-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.lang-option {
  display: block;
  padding: 10px 16px;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: #3C3C3B;
  text-decoration: none;
  letter-spacing: 1px;
  transition: background 0.2s ease, color 0.2s ease;
}
.lang-option:hover {
  background: #F8F7F5;
  color: #010101;
}
.lang-option.active {
  font-weight: 400;
  color: #010101;
  background: #F8F7F5;
  position: relative;
}
.lang-option.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: #010101;
}

/* Dark header variant */
.bottom_header .lang-dropdown-btn,
.mega-menu .lang-dropdown-btn {
  border-color: rgba(60,60,59,0.2);
  color: #3C3C3B;
}
.bottom_header .lang-dropdown-btn:hover,
.mega-menu .lang-dropdown-btn:hover {
  border-color: #3C3C3B;
  background: rgba(0,0,0,0.03);
}

/* =========================================================
   FOOTER LANGUAGE DROPDOWN â€” opens UPWARDS (footer is at page bottom)
   White button on dark teal bg, premium hover, white menu with active marker.
   ========================================================= */
.lang-dropdown.footer-lang { display: inline-block; }
.lang-dropdown.footer-lang .lang-dropdown-btn {
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #FFFFFF;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 14px;
  letter-spacing: 0.1em;
  padding: 8px 16px;
  min-width: 76px;
  justify-content: space-between;
  background: transparent;
  text-transform: uppercase;
  transition: border-color 0.3s ease, background 0.3s ease, color 0.3s ease;
}
.lang-dropdown.footer-lang .lang-dropdown-btn:hover {
  border-color: #FFFFFF;
  background: rgba(255, 255, 255, 0.06);
}
.lang-dropdown.footer-lang .lang-arrow {
  font-size: 9px;
  margin-left: 4px;
  color: inherit;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.lang-dropdown.footer-lang.open .lang-arrow {
  transform: rotate(180deg);
}
/* Open UPWARDS so menu doesn't get clipped at the bottom of the page */
.lang-dropdown.footer-lang .lang-dropdown-menu {
  position: absolute;
  top: auto;
  bottom: calc(100% + 6px);
  left: 0;
  right: auto;
  min-width: 100%;
  background: #FFFFFF;
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(0, 0, 0, 0.04);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  z-index: 200;
  padding: 6px 0;
  border-radius: 2px;
}
.lang-dropdown.footer-lang.open .lang-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.lang-dropdown.footer-lang .lang-option {
  display: block;
  padding: 9px 18px;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #3C3C3B;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease, padding 0.25s ease;
  position: relative;
}
.lang-dropdown.footer-lang .lang-option:hover {
  background: #F4F2EE;
  color: #010101;
  padding-left: 24px;
}
.lang-dropdown.footer-lang .lang-option.active {
  font-weight: 400;
  color: #010101;
  background: #F8F7F5;
}
.lang-dropdown.footer-lang .lang-option.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: #41545C;
}

/* ===== BUY PAGE STYLES ===== */

.buy-page {
  background: #FFFFFF;
}

/* Buy Header */
.buy-header {
  padding: 30px 0 20px;
  background: #FFFFFF;
  position: relative;
  z-index: 100;
}

/* Buy Hero Section */
.buy-hero-section {
  padding: 100px 0 80px;
  background: #F8F8F8;
  text-align: center;
}

.buy-hero-content {
  max-width: 1000px;
  margin: 0 auto;
}

.buy-hero-title {
  font-family: 'Felidae', 'Cormorant Garamond', serif;
  font-size: 64px;
  font-weight: 400;
  line-height: 1.2;
  color: #010101;
  margin-bottom: 24px;
}

.buy-hero-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.6;
  color: #3C3C3B;
  max-width: 800px;
  margin: 0 auto;
}

/* Properties Section */
.buy-properties-section {
  padding: 80px 0;
  background: #FFFFFF;
}

.properties-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.property-card {
  background: #FFFFFF;
  border: 1px solid #E5E5E5;
  transition: all 0.4s ease;
  overflow: hidden;
}

.property-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
  border-color: #3C3C3B;
}

.property-image {
  width: 100%;
  height: 350px;
  overflow: hidden;
  position: relative;
}

.property-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.property-card:hover .property-image img {
  transform: scale(1.08);
}

.property-info {
  padding: 30px;
}

.property-title {
  font-family: 'Felidae', 'Cormorant Garamond', serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.3;
  color: #010101;
  margin-bottom: 8px;
}

.property-location {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: #666666;
  margin-bottom: 16px;
}

.property-details {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #3C3C3B;
}

.detail-separator {
  color: #CCCCCC;
}

.property-price {
  font-family: 'Felidae', 'Cormorant Garamond', serif;
  font-size: 32px;
  font-weight: 400;
  color: #010101;
  margin-bottom: 16px;
}

.property-link {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #010101;
  text-decoration: none;
  text-transform: lowercase;
  letter-spacing: 0.02em;
  display: inline-block;
  position: relative;
  transition: all 0.3s ease;
}

.property-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #010101;
  transition: width 0.3s ease;
}

.property-card:hover .property-link::after {
  width: 100%;
}

/* Responsive */
@media (max-width: 1200px) {
  .buy-hero-title {
    font-size: 56px;
  }
  
  .properties-grid {
    gap: 30px;
  }
  
  .property-image {
    height: 300px;
  }
}

@media (max-width: 991px) {
  .buy-hero-section {
    padding: 80px 0 60px;
  }
  
  .buy-hero-title {
    font-size: 48px;
  }
  
  .buy-hero-subtitle {
    font-size: 18px;
  }
  
  .properties-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  
  .property-image {
    height: 280px;
  }
  
  .property-info {
    padding: 24px;
  }
  
  .property-title {
    font-size: 24px;
  }
  
  .property-price {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .buy-hero-section {
    padding: 60px 0 40px;
  }
  
  .buy-hero-title {
    font-size: 36px;
  }
  
  .buy-hero-subtitle {
    font-size: 16px;
  }
  
  .properties-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .property-image {
    height: 250px;
  }
  
  .property-info {
    padding: 20px;
  }
  
  .property-title {
    font-size: 22px;
  }
  
  .property-price {
    font-size: 24px;
  }
}

/* ================================================================
   ÐÐ”ÐÐŸÐ¢Ð˜Ð’Ð« INDEX.HTML â€” ÑÐ»Ð¾Ð¹ ÑƒÑ‚Ð¾Ñ‡Ð½ÐµÐ½Ð¸Ð¹
   Ð‘Ñ€ÐµÐ¹ÐºÐ¿Ð¾Ð¸Ð½Ñ‚Ñ‹: 1200 / 768 / 360 (ÑÐ²ÐµÑ€ÐµÐ½Ð¾ Ñ Figma)
   ================================================================ */

/* =========== ÐŸÐ›ÐÐÐ¨Ð•Ð¢ â‰¤1200px (max-width: 1199px, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ñ€Ð¾Ð²Ð½Ð¾ 1200 = Ð´ÐµÑÐºÑ‚Ð¾Ð¿/Figma 1200_hero) =========== */
@media (max-width: 1199px) {
  /* Tap-Ñ‚Ð°Ñ€Ð³ÐµÑ‚ â‰¥44x44 Ð´Ð»Ñ Ð±ÑƒÑ€Ð³ÐµÑ€-ÐºÐ½Ð¾Ð¿Ð¾Ðº Ñ‡ÐµÑ€ÐµÐ· Ð½ÐµÐ²Ð¸Ð´Ð¸Ð¼Ñ‹Ð¹ Ð¿ÑÐµÐ²Ð´Ð¾ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚-Ð¾Ð²ÐµÑ€Ð»ÐµÐ¹,
     Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð½Ðµ ÑÐ´Ð²Ð¸Ð³Ð°Ñ‚ÑŒ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ðµ Ð¿Ð¾Ð»Ð¾ÑÐºÐ¸ Ð±ÑƒÑ€Ð³ÐµÑ€Ð° */
  header .about_block .top_header_group .menu_burger .burger,
  header .about_block .bottom_header .menu_burger .burger,
  header .about_block .mega-menu .menu_burger_top_group .menu_burger .burger {
    position: relative;
    flex-shrink: 0;
  }
  header .about_block .top_header_group .menu_burger .burger::before,
  header .about_block .bottom_header .menu_burger .burger::before,
  header .about_block .mega-menu .menu_burger_top_group .menu_burger .burger::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
    z-index: 1;
  }
  /* ÐšÐ¾Ð½ÑÑƒÐ»ÑŒÑ‚ÐµÐ¹ÑˆÐ½-ÐºÐ½Ð¾Ð¿ÐºÐ°: Ð¼Ð¸Ð½Ð¸Ð¼ÑƒÐ¼ 44 Ð²Ñ‹ÑÐ¾Ñ‚Ñ‹ */
  header .about_block .top_header_group .right_contacts .consultation,
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .consultation {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    white-space: nowrap;
  }
  /* Hero-Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº: Figma 768 â€” title 35px, subtitle 20px, width 636 */
  .big_block_home .group_home .home_block .main-title,
  .big_block_home .group_home .home_block h1 {
    font-size: 35px;
    max-width: 636px;
    margin-bottom: 15px;
  }
  .big_block_home .group_home .home_block h2 {
    font-size: 20px;
    max-width: 636px;
  }
  /* Hero-Ñ„Ð¾Ð½: cover Ð½Ð° Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚Ðµ, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð·Ð°Ð¿Ð¾Ð»Ð½ÑÑ‚ÑŒ viewport */
  .big_block_home .group_home::before {
    background-size: cover !important;
  }
  /* Ð›Ð¾Ð³Ð¾Ñ‚Ð¸Ð¿ ÑƒÐ¶Ðµ Ñ†ÐµÐ½Ñ‚Ñ€Ð¸Ñ€ÑƒÐµÑ‚ÑÑ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑÐºÐ¸Ð¼ grid (1fr auto 1fr) â€” Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ…
     position:absolute Ð½Ðµ Ð½ÑƒÐ¶Ð½Ð¾: ÑƒÑ‡Ð°ÑÑ‚Ð²ÑƒÐµÑ‚ Ð² normal flow Ð¸ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾
     Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°ÐµÑ‚ÑÑ Ñ Ð±ÑƒÑ€Ð³ÐµÑ€Ð¾Ð¼ / right_contacts Ñ‡ÐµÑ€ÐµÐ· align-items:center. */
  header .about_block .top_header_group > .logo {
    position: static;
    left: auto;
    top: auto;
    transform: none;
  }
  header .about_block .top_header_group .logo img {
    width: 140px;
    height: auto;
  }
}

/* =========== ÐœÐžÐ‘ÐÐ™Ð› â‰¤768px (max-width: 767px, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ñ€Ð¾Ð²Ð½Ð¾ 768 = Ð¿Ð»Ð°Ð½ÑˆÐµÑ‚/Figma 768_hero) =========== */
@media (max-width: 767px) {
  /* Hero Ð¿Ð¾Ð´ Figma 360: title 30px, subtitle (Ð² br) 20px Ñ letter-spacing 4%, width 330 */
  .big_block_home .group_home .home_block .main-title,
  .big_block_home .group_home .home_block h1 {
    font-size: 30px;
    max-width: 330px;
    letter-spacing: 0.02em;
    margin-bottom: 6px;
  }
  .big_block_home .group_home .home_block h2 {
    font-size: 20px;
    max-width: 330px;
    letter-spacing: 0.04em;
    line-height: 130%;
    margin-bottom: 20px;
  }
  /* Hero-Ñ„Ð¾Ð½: cover Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð·Ð°Ð¿Ð¾Ð»Ð½ÑÑ‚ÑŒ Ð²ÐµÑÑŒ viewport Ð½Ð° Ð¼Ð¾Ð±Ð°Ð¹Ð»Ðµ */
  .big_block_home .group_home::before {
    background-size: cover !important;
  }
  /* KEEP SCROLLING Ð² Ð½Ð¸Ð¶Ð½ÐµÐ¹ Ñ‡Ð°ÑÑ‚Ð¸ hero, ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½ÐµÐµ */
  .keep-scrolling {
    bottom: 30px;
    font-size: 11px;
    gap: 10px;
  }
  .keep-scrolling img {
    width: 18px;
    height: 6px;
  }
  /* Ð‘ÑƒÑ€Ð³ÐµÑ€ Ñ‡ÑƒÑ‚ÑŒ Ð¼ÐµÐ½ÑŒÑˆÐµ Ð½Ð° Ð¼Ð¾Ð±Ð°Ð¹Ð»Ðµ, Ð½Ð¾ tap-Ñ‚Ð°Ñ€Ð³ÐµÑ‚ ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½ 44x44 */
  header .about_block .top_header_group .menu_burger {
    gap: 12px;
  }
  /* Centered by parent grid (1fr auto 1fr) â€” undo any inherited absolute. */
  header .about_block .top_header_group > .logo {
    position: static;
    left: auto;
    top: auto;
    transform: none;
  }
  /* ÐšÐ½Ð¾Ð¿ÐºÐ° ÐºÐ¾Ð½ÑÑƒÐ»ÑŒÑ‚Ð°Ñ†Ð¸Ð¸: ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½Ð°Ñ Ð¿Ð¾Ð´ Figma 360 (78x22) */
  header .about_block .top_header_group .right_contacts {
    flex-shrink: 0;
  }
  header .about_block .top_header_group .right_contacts .consultation {
    font-size: 13px;
    padding: 9px 18px;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
  }
  /* Hero a sangre completa en mobile â€” quitamos el padding lateral del
     .container para que la imagen de fondo (.group_home::before) cubra
     edge-to-edge sin bandas blancas a los lados. El texto interno tiene
     su propio max-width y se centra solo. */
  .big_block_home > .container {
    padding: 0;
  }
  /* El home_block se queda con un margen interno para el texto. */
  .big_block_home .group_home .home_block {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* =========== Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px =========== */
@media (max-width: 360px) {
  /* Ð¤Ð¸Ð½Ð°Ð»ÑŒÐ½Ñ‹Ðµ ÑƒÑ‚Ð¾Ñ‡Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ Figma 360 */
  .big_block_home .group_home .home_block .main-title,
  .big_block_home .group_home .home_block h1 {
    font-size: 30px;
    max-width: 330px;
  }
  /* Figma 360: Ð²Ñ‚Ð¾Ñ€Ð°Ñ ÑÑ‚Ñ€Ð¾ÐºÐ° title Ð¼ÐµÐ½ÑŒÑˆÐµ (20px, letter-spacing 4%) */
  .big_block_home .group_home .home_block .main-title .title-sub,
  .big_block_home .group_home .home_block h1 .title-sub {
    display: inline-block;
    font-size: 20px;
    line-height: 130%;
    letter-spacing: 0.04em;
    margin-top: 6px;
  }
  .big_block_home .group_home .home_block h2 {
    font-size: 14px;
    max-width: 300px;
  }
  .big_block_home .group_home .home_block p {
    font-size: 11px;
  }
  .keep-scrolling {
    bottom: 20px;
    font-size: 10px;
  }
  /* Consultation button a 360 â€” un toque mÃ¡s compacto. */
  header .about_block .top_header_group .right_contacts .consultation,
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .consultation {
    font-size: 12px;
    padding: 8px 14px;
    letter-spacing: 0.04em;
    min-height: 0;
    width: auto;
    text-align: center;
    justify-content: center;
  }
  /* Contenedor a sangre completa tambiÃ©n a 360 (el padding interno
     vive ahora en .home_block, no en .container, para no cortar el bg). */
  .big_block_home > .container {
    padding: 0;
  }
}

/* ================================================================
   Ð‘Ð›ÐžÐš #2: CARDS_LOGOS_INFORMATIONS (Ð½Ð°Ð³Ñ€Ð°Ð´Ñ‹ LPA/EPA/Andalucia)
   ================================================================ */

/* === ÐŸÐ›ÐÐÐ¨Ð•Ð¢ â‰¤1199px (Figma 768_hero: 3 ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ¸ Ð² Ñ€ÑÐ´, Ð±ÐµÐ· ÑÐºÑ€Ð¾Ð»Ð»Ð°) === */
@media (max-width: 1199px) {
  .cards_logos_informations .about_block .card_partner {
    height: 200px;            /* Ð±Ñ‹Ð»Ð¾ 154 â€” Ð¿Ð¾Ð´Ñ‚ÑÐ½ÑƒÐ»Ð¸ Ð¿Ð¾Ð´ Figma 768 */
    padding: 20px 10px;
  }
  .cards_logos_informations .about_block .card_partner .arrow_pilus {
    right: 12px;
    bottom: 12px;
  }
}

/* ÐžÑ‚ÐºÐ»ÑŽÑ‡Ð°ÐµÐ¼ hover-Ñ€ÐµÐ°ÐºÑ†Ð¸ÑŽ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐµÐº Ð½Ð° Ñ‚Ð°Ñ‡-ÑƒÑÑ‚Ñ€Ð¾Ð¹ÑÑ‚Ð²Ð°Ñ… (tap â‰  hover) */
@media (max-width: 1199px) and (hover: none) {
  .cards_logos_informations .about_block .card_partner:hover .logos_partner {
    opacity: 1;
    transform: none;
  }
  .cards_logos_informations .about_block .card_partner:hover .descriptions_card {
    opacity: 0;
  }
  .cards_logos_informations .about_block .card_partner:hover .arrow_pilus {
    transform: none;
  }
  .cards_logos_informations .about_block .card_partner:hover .arrow_pilus svg circle {
    stroke: #C4C4C4;
    fill: transparent;
  }
  .cards_logos_informations .about_block .card_partner:hover .arrow_pilus svg line {
    stroke: #C4C4C4;
  }
}

/* === ÐœÐžÐ‘ÐÐ™Ð› â‰¤767px (Figma 360_hero: Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑÐºÑ€Ð¾Ð»Ð») === */
@media (max-width: 767px) {
  .cards_logos_informations .about_block .card_partner {
    height: 200px;
    min-width: 202px;
    padding: 20px 10px;
  }
  /* ÐŸÑ€Ð¾Ð³Ñ€ÐµÑÑ-Ð»Ð¸Ð½Ð¸Ñ ÑÐºÑ€Ð¾Ð»Ð»Ð° Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ ÑˆÐ¸Ñ€Ðµ Ð¿Ð¾Ð´ Figma */
  .cards_logos_informations .title_mob .section_header .scroll_line {
    width: 120px;
  }
  /* Ð£Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð²Ð°ÐµÐ¼ tap-Ñ‚Ð°Ñ€Ð³ÐµÑ‚ "+" â€” Ð¼Ð¸Ð½Ð¸Ð¼ÑƒÐ¼ 36x36 Ð´Ð»Ñ ÐºÐ¾Ð¼Ñ„Ð¾Ñ€Ñ‚Ð° */
  .cards_logos_informations .about_block .card_partner .arrow_pilus {
    right: 10px;
    bottom: 10px;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
  }
}

/* === Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px === */
@media (max-width: 360px) {
  .cards_logos_informations .about_block .card_partner {
    height: 180px;
    min-width: 180px;
    padding: 16px 8px;
  }
  .cards_logos_informations .title_mob .section_header {
    padding: 36px 10px 10px 10px;
  }
  /* Ð¡ÐºÐ°Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð»Ð¾Ð³Ð¾Ñ‚Ð¸Ð¿Ñ‹ Ñ‡ÑƒÑ‚ÑŒ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½ÐµÐµ */
  .cards_logos_informations .about_block .card_partner:nth-child(1) .logos_partner {
    width: 95px;
    height: 67px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(2) .logos_partner {
    width: 98px;
    height: 57px;
  }
  .cards_logos_informations .about_block .card_partner:nth-child(3) .logos_partner {
    width: 120px;
    height: 48px;
  }
}

/* ================================================================
   Ð‘Ð›ÐžÐš #3: REAL_ESTATE_MARBELLA_BLOCK (Ð˜Ð½Ð²ÐµÑÑ‚Ð¾Ñ€/ÐŸÐ¾ÐºÑƒÐ¿Ð°Ñ‚ÐµÐ»ÑŒ/Ð¡Ð¾Ð±ÑÑ‚Ð²ÐµÐ½Ð½Ð¸Ðº)
   ================================================================ */

/* === ÐŸÐ›ÐÐÐ¨Ð•Ð¢ â‰¤1199px (Figma 768: 3 stage Ð² Ñ€ÑÐ´) === */
@media (max-width: 1199px) {
  /* Tap-Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ ÐºÑ€ÑƒÐ¶ÐºÐ° "+" Ñƒ title_stage Ð¼Ð¸Ð½Ð¸Ð¼ÑƒÐ¼ 44x44 */
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage .arrow_pilus {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage .arrow_pilus::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
    z-index: 1;
  }
}

/* === ÐžÑ‚ÐºÐ»ÑŽÑ‡Ð°ÐµÐ¼ hover-Ñ€ÐµÐ¶Ð¸Ð¼ "Ñ€Ð°ÑÐºÑ€Ñ‹Ñ‚ÑŒ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÑƒ" Ð½Ð° Ñ‚Ð°Ñ‡-ÑƒÑÑ‚Ñ€Ð¾Ð¹ÑÑ‚Ð²Ð°Ñ… === */
@media (max-width: 1199px) and (hover: none) {
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .title_stage h3 {
    color: #BABABA;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .title_stage svg circle {
    stroke: #C4C4C4;
    fill: transparent;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .title_stage svg line {
    stroke: #C4C4C4;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover h4,
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover p,
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover a {
    opacity: 0;
    max-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .img_wrap {
    width: 100%;
    height: auto;
  }
}

/* === ÐœÐžÐ‘ÐÐ™Ð› â‰¤767px (Figma 360: Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾, Ñ‚Ð¾Ð»ÑŒÐºÐ¾ title + ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ°) === */
@media (max-width: 767px) {
  .real_estate_marbella_block .stages_real_estate .stages_group .stage {
    height: auto;
    min-height: 220px;
    padding: 20px 14px !important;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .img_wrap {
    width: 100%;
    height: 144px;
    margin-top: 12px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .img_wrap .img_estate {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage h3 {
    font-size: 18px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage svg {
    width: 22px;
    height: 22px;
  }
  /* ÐŸÐµÑ€Ð²Ð°Ñ/Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑÑ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ° â€” ÑƒÐ½Ð¸Ñ„Ð¸Ñ†Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñ‹ */
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:nth-child(1),
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:nth-child(3) {
    padding: 20px 14px !important;
  }
}

/* === Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px === */
@media (max-width: 360px) {
  .real_estate_marbella_block .stages_real_estate .stages_group .stage {
    min-height: 200px;
    padding: 16px 12px !important;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:nth-child(1),
  .real_estate_marbella_block .stages_real_estate .stages_group .stage:nth-child(3) {
    padding: 16px 12px !important;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .img_wrap {
    height: 130px;
  }
  .real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage h3 {
    font-size: 16px;
  }
  .real_estate_marbella_block .title_block .titles h2 {
    font-size: 22px;
    max-width: 300px;
    margin: 0 auto 10px;
  }
  .real_estate_marbella_block .title_block .titles p {
    font-size: 13px;
  }
}

/* ================================================================
   Ð‘Ð›ÐžÐš #4: PERSONALIZED_SELECTION_BLOCK (ÐŸÐµÑ€ÑÐ¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð±Ð¾Ñ€ÐºÐ°)
   ================================================================ */

/* === ÐŸÐ›ÐÐÐ¨Ð•Ð¢ â‰¤1199px â€” ÑƒÐ¶Ðµ Ð¿Ð¾ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚ÑÑ ÑÑƒÑ‰ÐµÑÑ‚Ð²ÑƒÑŽÑ‰Ð¸Ð¼Ð¸ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°Ð¼Ð¸, Ñ‚Ð¾Ð»ÑŒÐºÐ¾ tap-Ñ‚Ð°Ñ€Ð³ÐµÑ‚ Ñƒ CTA === */
@media (max-width: 1199px) {
  .personalized_selection_block .about_block .group_inf_personalized a {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
  }
}

/* === ÐœÐžÐ‘ÐÐ™Ð› â‰¤767px â€” ÑƒÑÐ¸Ð»ÐµÐ½Ð¸Ñ === */
@media (max-width: 767px) {
  .personalized_selection_block .about_block .group_inf_personalized a {
    min-height: 48px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* === Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px === */
@media (max-width: 360px) {
  .personalized_selection_block .about_block {
    padding: 60px 8px;
  }
  .personalized_selection_block .about_block .group_inf_personalized {
    padding: 40px 20px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h2 {
    font-size: 24px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h3 {
    font-size: 12px;
    margin-bottom: 20px;
  }
  .personalized_selection_block .about_block .group_inf_personalized .img_mini {
    width: 100px;
    height: 104px;
    margin-bottom: 20px;
  }
  .personalized_selection_block .about_block .group_inf_personalized p {
    font-size: 12px;
  }
  .personalized_selection_block .about_block .group_inf_personalized a {
    font-size: 11px;
    padding: 12px;
  }
  .personalized_selection_block .about_block .group_inf_personalized h4 {
    font-size: 10px;
  }
}

/* ================================================================
   Ð‘Ð›ÐžÐš #5: MARBELLA_SOLUTIONS_WEALTH_IMPACT (Ð ÐµÑˆÐµÐ½Ð¸Ñ: Ð½Ð¾Ð²Ð¾ÑÑ‚Ñ€Ð¾Ð¹ÐºÐ¸/Ð²Ð¸Ð»Ð»Ñ‹/...)
   ================================================================ */

/* === ÐŸÐ›ÐÐÐ¨Ð•Ð¢ â‰¤1199px â€” CTA "ÑÐ¼Ð¾Ñ‚Ñ€ÐµÑ‚ÑŒ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹" tap-Ñ‚Ð°Ñ€Ð³ÐµÑ‚ === */
@media (max-width: 1199px) {
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* ÐŸÑƒÐ½ÐºÑ‚Ñ‹ ÑÐ¿Ð¸ÑÐºÐ° ÑÐ»ÐµÐ²Ð° Ñ‚Ð¾Ð¶Ðµ ÐºÐ»Ð¸ÐºÐ°Ð±ÐµÐ»ÑŒÐ½Ñ‹ â€” Ð¼Ð¸Ð½Ð¸Ð¼ÑƒÐ¼ 44 Ð²Ñ‹ÑÐ¾Ñ‚Ñ‹ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ */
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description {
    min-height: 44px;
  }
}

/* === ÐœÐžÐ‘ÐÐ™Ð› â‰¤767px â€” Ð¿ÑƒÐ½ÐºÑ‚Ñ‹ Ñ‚Ð°Ð±Ð¾Ð² inline, Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ Ð½Ð° ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐµ === */
@media (max-width: 767px) {
  /* Tap-Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñ‚Ð°Ð±-Ð¿ÑƒÐ½ÐºÑ‚Ð°: +padding Ð²Ð¾ÐºÑ€ÑƒÐ³ */
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description {
    padding: 8px 4px;
    min-height: 36px;
  }
  /* CTA Ð²Ð¾ Ð²ÑÑŽ ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ¸-ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¸ */
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    width: calc(100% - 40px);
    position: absolute;
    bottom: 20px;
    left: 20px;
    min-height: 48px;
    color: #FFFFFF;
    border-color: #FFFFFF;
  }
  /* ÐšÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ° Ñ overlay: Ð´Ð¾Ð±Ð°Ð²Ð¸Ð¼ Ð·Ð°Ñ‚ÐµÐ¼Ð½ÐµÐ½Ð¸Ðµ Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ñ‚ÐµÐºÑÑ‚ Ñ‡Ð¸Ñ‚Ð°Ð»ÑÑ */
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
    position: relative;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.45) 100%);
    pointer-events: none;
    z-index: 1;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content {
    z-index: 5;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    z-index: 5;
  }
}

/* === Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px === */
@media (max-width: 360px) {
  .marbella_solutions_wealth_impact .about_block h2 {
    font-size: 24px;
    padding-bottom: 20px;
  }
  .marbella_solutions_wealth_impact .about_block h2 span {
    font-size: 12px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3 {
    font-size: 14px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description span {
    font-size: 14px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
    height: 200px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content h3 {
    font-size: 18px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content p {
    font-size: 12px;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    font-size: 11px;
    width: calc(100% - 32px);
    bottom: 16px;
    left: 16px;
  }
}

/* ================================================================
   Ð‘Ð›ÐžÐš #6: INTERACTIVE_MAP_BLOCK (Ð˜Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° Ñ€Ð°Ð¹Ð¾Ð½Ð¾Ð²)
   ================================================================ */

/* === ÐŸÐ›ÐÐÐ¨Ð•Ð¢ â‰¤1199px === */
@media (max-width: 1199px) {
  .interactive_map_block {
    padding: 80px 0 60px;
  }
  .interactive_map_block .map_header {
    margin-bottom: 40px;
  }
  .interactive_map_block .map_header .map_label {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .interactive_map_block .map_header h2 {
    font-size: 40px;
    margin-bottom: 28px;
  }
  .interactive_map_block .map_header .map_cta_btn {
    font-size: 16px;
    padding: 14px 32px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* Tap-Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñ‚Ð°Ð±Ð° Ñ€Ð°Ð¹Ð¾Ð½Ð° â‰¥44x44 */
  .map_district_tabs {
    gap: 16px;
    padding: 28px 10px;
    flex-wrap: wrap;
  }
  .map_tab {
    font-size: 18px;
    padding: 6px 2px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
  }
  /* Leaflet container Ð²Ñ‹ÑÐ¾Ñ‚Ð° */
  #mapLeaflet {
    height: 500px !important;
  }
}

/* === ÐœÐžÐ‘ÐÐ™Ð› â‰¤767px === */
@media (max-width: 767px) {
  .interactive_map_block {
    padding: 60px 0 40px;
  }
  .interactive_map_block .map_header {
    margin-bottom: 30px;
  }
  .interactive_map_block .map_header .map_label {
    font-size: 12px;
  }
  .interactive_map_block .map_header h2 {
    font-size: 28px;
    margin-bottom: 24px;
  }
  .interactive_map_block .map_header .map_cta_btn {
    font-size: 13px;
    padding: 14px 22px;
    width: 100%;
    max-width: 320px;
  }
  .map_district_tabs {
    gap: 10px 14px;
    padding: 20px 12px;
    font-size: 16px;
  }
  .map_tab {
    font-size: 16px;
  }
  .map_tab_separator {
    font-size: 16px;
  }
  .map_tab .map_tab_bullet {
    font-size: 20px;
  }
  #mapLeaflet {
    height: 380px !important;
  }
  /* Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ° Ð½Ð° ÐºÐ°Ñ€Ñ‚Ðµ â€” ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½ÐµÐµ */
  .map_info_card {
    left: 10%;
    top: 18%;
    padding: 14px 18px;
    min-width: 180px;
  }
  .map_info_card h3 {
    font-size: 16px;
  }
  .map_info_card p {
    font-size: 12px;
  }
  .map_info_card .map_info_link {
    font-size: 16px;
  }
}

/* === Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px === */
@media (max-width: 360px) {
  .interactive_map_block .map_header h2 {
    font-size: 22px;
    max-width: 300px;
    margin: 0 auto 20px;
  }
  .interactive_map_block .map_header .map_cta_btn {
    font-size: 11px;
    padding: 13px 18px;
    letter-spacing: 0.04em;
  }
  .map_district_tabs {
    gap: 8px 10px;
    padding: 16px 8px;
  }
  .map_tab {
    font-size: 14px;
  }
  .map_tab_separator {
    font-size: 14px;
  }
  #mapLeaflet {
    height: 340px !important;
  }
}

/* ================================================================
   Ð‘Ð›ÐžÐš #7: ONE_PARTNERS_ENTIRE_PROCESS (Ð°ÐºÐºÐ¾Ñ€Ð´ÐµÐ¾Ð½ "ÐžÐ´Ð¸Ð½ Ð¿Ð°Ñ€Ñ‚Ð½Ñ‘Ñ€")
   ================================================================ */

/* === ÐŸÐ›ÐÐÐ¨Ð•Ð¢ â‰¤1199px â€” tap-Ñ‚Ð°Ñ€Ð³ÐµÑ‚ Ð½Ð° accordion-button === */
@media (max-width: 1199px) {
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button {
    min-height: 56px;
    padding: 16px 0;
  }
}

/* === ÐœÐžÐ‘ÐÐ™Ð› â‰¤767px === */
@media (max-width: 767px) {
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button .title_process {
    font-size: 16px;
    line-height: 130%;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-body .text_process {
    font-size: 14px;
    line-height: 140%;
  }
  /* Ð˜ÐºÐ¾Ð½ÐºÐ° +/x Ð°ÐºÐºÐ¾Ñ€Ð´ÐµÐ¾Ð½Ð° ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÐµÑ‚ Ñ€Ð°Ð·Ð¼ÐµÑ€ Ð½Ð¾ Ð¿Ð»Ð¾Ñ‰Ð°Ð´ÑŒ ÐºÐ»Ð¸ÐºÐ° â‰¥44 Ñ‡ÐµÑ€ÐµÐ· padding ÐºÐ½Ð¾Ð¿ÐºÐ¸ */
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button::after {
    width: 22px;
    height: 22px;
    background-size: contain;
    flex-shrink: 0;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .img_wrapper {
    padding: 40px 30px;
  }
}

/* === Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px === */
@media (max-width: 360px) {
  .one_partners_entire_process .about_block {
    padding: 60px 10px;
  }
  .one_partners_entire_process .about_block .title_block {
    font-size: 22px;
    max-width: 300px;
    margin: 0 auto 24px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button .title_process {
    font-size: 14px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-body .text_process {
    font-size: 13px;
  }
  .one_partners_entire_process .about_block .inf_group_about_partners .img_wrapper {
    padding: 30px 20px;
  }
}

/* ================================================================
   Ð‘Ð›ÐžÐš #8: EXPERIENCE_ELIMINATES_CLIENTS (ÐžÐ¿Ñ‹Ñ‚/30000+/15+/5000+/8)
   ================================================================ */

/* === Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px === */
@media (max-width: 360px) {
  .experience_eliminates_clients .title_block .title_texts h2 {
    font-size: 24px;
    max-width: 300px;
    margin: 0 auto;
  }
  .experience_eliminates_clients .title_block .title_texts h2 span {
    font-size: 12px;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el span {
    font-size: 26px;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el p {
    font-size: 13px;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el img {
    height: 150px;
  }
}

/* ================================================================
   Ð‘Ð›ÐžÐš #9: MARBELLA_REAL_ESTATE_INQUIRY_BLOCK (Ñ„Ð¾Ñ€Ð¼Ð° Ð·Ð°Ð¿Ñ€Ð¾ÑÐ°)
   ================================================================ */

/* === ÐŸÐ›ÐÐÐ¨Ð•Ð¢/ÐœÐžÐ‘ÐÐ™Ð› â‰¤1199px â€” tap-Ñ‚Ð°Ñ€Ð³ÐµÑ‚Ñ‹ Ñ„Ð¾Ñ€Ð¼ === */
@media (max-width: 1199px) {
  .marbella_real_estate_inquiry_block .about_block .form_group form select {
    min-height: 48px;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form > button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
}

/* === Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px === */
@media (max-width: 360px) {
  .marbella_real_estate_inquiry_block .about_block {
    padding: 40px 8px !important;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group {
    padding: 32px 16px !important;
  }
  /* Per Figma 360: title 30px Felidae Regular, 110% line-height, 2% tracking.
     Three-line break gives Â«Ð›Ð¸Ñ‡Ð½Ñ‹Ð¹ Ñ€Ð°Ð·Ð±Ð¾Ñ€ / Ð²Ð°ÑˆÐµÐ³Ð¾ Ð·Ð°Ð¿Ñ€Ð¾ÑÐ° / Ñ ÑÐºÑÐ¿ÐµÑ€Ñ‚Ð¾Ð¼Â». */
  .marbella_real_estate_inquiry_block .about_block .form_group h2 {
    font-family: "Felidae", "Cormorant Garamond", serif !important;
    font-weight: 400 !important;
    font-size: 30px !important;
    line-height: 110% !important;
    letter-spacing: 2% !important;
    margin-bottom: 14px !important;
  }
  /* Show the two-line break for spam disclaimer h4 at 360. */
  .marbella_real_estate_inquiry_block .about_block .form_group form h4 .br-360 {
    display: inline;
  }
  /* Per Figma 360: subtitle Inter Light 14px / 110% / 0 tracking. */
  .marbella_real_estate_inquiry_block .about_block .form_group h3 {
    font-family: "Inter", sans-serif !important;
    font-weight: 300 !important;
    font-size: 14px !important;
    line-height: 110% !important;
    letter-spacing: 0 !important;
    color: #3C3C3B !important;
    margin-bottom: 18px !important;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group h3 br { display: none; }
  .marbella_real_estate_inquiry_block .about_block .form_group p {
    font-size: 12px;
    margin-bottom: 24px;
  }
  /* Form: stack fields vertically (1-column) â€” Figma 360 puts all four
     selects on their own row, not in a 2Ã—2 grid. !important to defeat the
     wider @media rules at 1500/1199 that set calc(50% - 5px). */
  .marbella_real_estate_inquiry_block .about_block .form_group form {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    column-gap: 0 !important;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form select,
  .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px;
  }
  /* native <select> still needs its own padding (lux-select uses __trigger) */
  .marbella_real_estate_inquiry_block .about_block .form_group form select {
    padding: 14px 12px !important;
  }
  /* Restore left-aligned placeholder (Â«Ð‘ÑŽÐ´Ð¶ÐµÑ‚Â», Â«Ð¦ÐµÐ»ÑŒÂ»â€¦) â€” text was rendering
     centered after my earlier 360 overrides reduced left padding too much.
     Use the same 16px padding-left as the focused outline-style fields in
     Figma, keep enough right padding for the chevron. */
  .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__trigger {
    padding: 14px 32px 14px 16px !important;
    font-size: 13px !important;
    min-height: 48px !important;
    justify-content: space-between !important;
    text-align: left !important;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__value {
    text-align: left !important;
    flex: 1 1 auto !important;
  }
  /* Smaller chevron on 360 â€” Figma uses a discreet ~9px caret, not the
     desktop 20Ã—14 filled triangle. */
  .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__arrow {
    right: 14px !important;
    width: 9px !important;
    height: 6px !important;
    background-size: 9px 6px !important;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form h4 {
    font-size: 12px !important;
    margin: 16px auto 8px !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .marbella_real_estate_inquiry_block .about_block .form_group form > button {
    font-size: 11px;
    padding: 14px;
    margin-top: 8px;
  }
  /* CRITICAL: scope to direct child `> span` â€” otherwise it also catches the
     `<span class="lux-select__value">` inside each lux-select trigger and
     forces the placeholder text into the middle of the dropdown with 9px font.
     The policy disclaimer is the only `<span>` that's a direct child of form. */
  .marbella_real_estate_inquiry_block .about_block .form_group form > span {
    font-size: 9px !important;
    text-align: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }
}

/* ================================================================
   Ð‘Ð›ÐžÐš #10: MANAGING_RISKS_MARKET_BLOCK (Ð£Ð¿Ñ€Ð°Ð²Ð»ÑÐµÐ¼ Ñ€Ð¸ÑÐºÐ°Ð¼Ð¸ Ñ€Ñ‹Ð½ÐºÐ°)
   ================================================================ */

/* === ÐŸÐ›ÐÐÐ¨Ð•Ð¢/ÐœÐžÐ‘ÐÐ™Ð› â‰¤1199px â€” tap-Ñ‚Ð°Ñ€Ð³ÐµÑ‚Ñ‹ === */
@media (max-width: 1199px) {
  .managing_risks_market_block .discuss_my_request .tag_discuss a {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .managing_risks_market_block .cards_group .card_risks .accardion_mob {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
  }
}

/* === Ð£Ð—ÐšÐ˜Ð™ ÐœÐžÐ‘ÐÐ™Ð› â‰¤360px === */
@media (max-width: 360px) {
  .managing_risks_market_block .title_block .titles h2 {
    font-size: 22px;
    max-width: 300px;
    margin: 0 auto 10px;
  }
  .managing_risks_market_block .title_block .titles p {
    font-size: 12px;
  }
  .managing_risks_market_block .cards_group .card_risks {
    min-width: 270px;
  }
  .managing_risks_market_block .cards_group .card_risks .text_card h3 {
    font-size: 16px;
  }
  .managing_risks_market_block .cards_group .card_risks .text_card p {
    font-size: 13px;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss h3 {
    font-size: 14px;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss p {
    font-size: 12px;
  }
  .managing_risks_market_block .discuss_my_request .tag_discuss a {
    font-size: 11px;
    padding: 14px;
  }
}

/* =========================================================
   GLOBAL ANIMATION SYSTEM â€” ImmoLux Standard
   Animations only activate when JS adds .js-anim-ready to body.
   If JS fails to load â†’ content stays visible (no white screen).
   Use these classes on any element across all pages.
   ========================================================= */
body.js-anim-ready .anim-fade-up {
  opacity: 0;
  transform: translateY(48px);
  transition: opacity 1.3s cubic-bezier(0.16, 1, 0.3, 1),
              transform 1.3s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
body.js-anim-ready .anim-fade-left {
  opacity: 0;
  transform: translateX(-48px);
  transition: opacity 1.3s cubic-bezier(0.16, 1, 0.3, 1),
              transform 1.3s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
body.js-anim-ready .anim-fade-right {
  opacity: 0;
  transform: translateX(48px);
  transition: opacity 1.3s cubic-bezier(0.16, 1, 0.3, 1),
              transform 1.3s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
body.js-anim-ready .anim-scale {
  opacity: 0;
  transform: scale(0.94);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1),
              transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
body.js-anim-ready .anim-wipe {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1.4s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: clip-path;
}

/* Final / visible state â€” same body.js-anim-ready prefix to win specificity.
   IMPORTANT: transform MUST be `none` (not identity like translate(0)/scale(1))
   and will-change MUST be released â€” otherwise the element keeps a stacking
   context, which traps z-index of any dropdown/popup inside it. */
body.js-anim-ready .anim-fade-up.visible,
body.js-anim-ready .anim-fade-left.visible,
body.js-anim-ready .anim-fade-right.visible,
body.js-anim-ready .anim-scale.visible {
  opacity: 1;
  transform: none;
  will-change: auto;
}
body.js-anim-ready .anim-wipe.visible {
  clip-path: inset(0 0 0 0);
  will-change: auto;
}

/* Cursor-follow photo (for elements with [data-hover-img]) */
.cursor-photo {
  position: fixed;
  width: 320px;
  height: 230px;
  pointer-events: none;
  z-index: 9999;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.35s cubic-bezier(0.25, 1, 0.5, 1),
              transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: transform, opacity;
}
.cursor-photo.is-visible {
  opacity: 1;
  transform: scale(1);
}
.cursor-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Disable cursor-follow on touch devices */
.touch-device .cursor-photo { display: none !important; }

/* Disable cursor-follow on tablets/mobile (â‰¤1199px) â€” only desktop hover */
@media (max-width: 1199px) {
  .cursor-photo,
  .cursor-photo.is-visible {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
  }
}
/* Hide on touch-only devices regardless of width (Android tablets etc.) */
@media (hover: none), (pointer: coarse) {
  .cursor-photo,
  .cursor-photo.is-visible {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.js-anim-ready .anim-fade-up,
  body.js-anim-ready .anim-fade-left,
  body.js-anim-ready .anim-fade-right,
  body.js-anim-ready .anim-scale,
  body.js-anim-ready .anim-wipe {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
  }
  .cursor-photo { display: none !important; }
}

/* =========================================================
   GLOBAL CUSTOM DROPDOWN â€” replaces native <select>
   Auto-applied site-wide via main.js (except language switchers).
   Trigger inherits font from parent â€” adapts to context (Inter/Felidae).
   Menu = white card with shadow, animated open + hover with dot.
   ========================================================= */
select.lux-select__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.lux-select {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 100%;
  min-height: 32px;
}
.lux-select__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 22px 0 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  /* Inherit so the trigger matches the surrounding text style */
  font: inherit;
  color: inherit;
  text-align: left;
  position: relative;
  outline: none;
  min-height: inherit;
}
.lux-select__trigger:focus-visible {
  outline: 1px solid #41545C;
  outline-offset: 4px;
}
.lux-select__value {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease;
}
.lux-select__value.is-placeholder {
  color: #B9B9B9;
}
.lux-select__arrow {
  position: absolute;
  right: 0;
  top: 50%;
  width: 12px;
  height: 8px;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23010101' stroke-width='1.5'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.lux-select.is-open .lux-select__arrow {
  transform: translateY(-50%) rotate(180deg);
}

/* Premium dropdown panel */
.lux-select__menu {
  position: absolute;
  top: calc(100% + 14px);
  left: -18px;
  width: calc(100% + 36px);
  min-width: 220px;
  max-height: 320px;
  overflow-y: auto;
  background: #FFFFFF;
  border: 1px solid #E1E1E1;
  list-style: none;
  margin: 0;
  padding: 8px 0;
  z-index: 1100;
  box-shadow:
    0 18px 50px rgba(16, 24, 40, 0.10),
    0 4px 12px rgba(16, 24, 40, 0.04);
  opacity: 0;
  transform: translate3d(0, -10px, 0);
  pointer-events: none;
  transition:
    opacity 0.32s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
  transform-origin: top center;
  will-change: opacity, transform;
  /* Reset font that might be inherited from a felidae trigger */
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 130%;
  color: #010101;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}
.lux-select.is-open .lux-select__menu,
.lux-select__menu.is-open {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}
/* Flip dropdown upward when there's not enough space below the trigger
   (set by main.js openMenu via .is-flipped class). */
.lux-select.is-flipped .lux-select__menu,
.lux-select__menu.is-flipped {
  top: auto;
  bottom: calc(100% + 14px);
  transform-origin: bottom center;
  transform: translate3d(0, 10px, 0);
}
.lux-select.is-flipped.is-open .lux-select__menu,
.lux-select__menu.is-flipped.is-open {
  transform: translate3d(0, 0, 0);
}
/* Lift any field/wrapper that contains an open lux-select above its siblings.
   Prevents stacking-context traps when the parent has its own transform/will-change
   from scroll-reveal animations. */
:where(label, div, form, fieldset):has(> .lux-select.is-open),
:where(label, div):has(> * > .lux-select.is-open) {
  position: relative;
  z-index: 1101;
}
.lux-select__menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #41545C 50%, transparent);
  opacity: 0.18;
  pointer-events: none;
}

.lux-select__option {
  padding: 11px 28px;
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  transition: background-color 0.2s ease, color 0.2s ease;
  overflow: hidden;
}
.lux-select__option::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 5px;
  height: 5px;
  background: #41545C;
  border-radius: 50%;
  transform: translate3d(0, -50%, 0) scale(0);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.lux-select__option-text {
  display: inline-block;
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.lux-select__option:hover {
  background: #F7F7F7;
}
.lux-select__option:hover .lux-select__option-text {
  transform: translate3d(8px, 0, 0);
}
.lux-select__option:hover::before {
  transform: translate3d(0, -50%, 0) scale(1);
}
.lux-select__option.is-placeholder {
  color: #B9B9B9;
}
.lux-select__option.is-active {
  background: #F0F2F4;
  font-weight: 400;
}
.lux-select__option.is-active::before {
  transform: translate3d(0, -50%, 0) scale(1);
}
.lux-select__option.is-active .lux-select__option-text {
  transform: translate3d(8px, 0, 0);
}
.lux-select__menu::-webkit-scrollbar { width: 4px; }
.lux-select__menu::-webkit-scrollbar-track { background: transparent; }
.lux-select__menu::-webkit-scrollbar-thumb { background: #C4C4C4; border-radius: 2px; }
.lux-select__menu::-webkit-scrollbar-thumb:hover { background: #41545C; }

@media (max-width: 767px) {
  .lux-select__option { font-size: 15px; padding: 10px 24px; }
  .lux-select__menu { min-width: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  .lux-select__menu,
  .lux-select__arrow,
  .lux-select__option,
  .lux-select__option-text,
  .lux-select__option::before {
    transition: none !important;
  }
}

/* =========================================================
   GLOBAL RESPONSIVE FINALIZATION â€” 1200 / 768 / 360
   Pixel-perfect to Figma (Index, Contacts, Catalog, etc.)
   Header/mega-menu/popups â€” used on all pages.
   Footer is intentionally untouched (per request).
   ========================================================= */

/* ----- 1200px: tighter horizontal padding, header text/menu ----- */
@media (max-width: 1200px) {
  /* No horizontal scroll guarantee â€” clip (not hidden) so sticky positioning still works */
  body { max-width: 100vw; overflow-x: clip; }
  .wrapper { max-width: 100%; overflow: visible; overflow-x: visible; }
  /* Header CTA "Consultation" 16px Felidae ls 5% */
  header .ask_questions { font-size: 16px; padding: 12px 24px; height: 40px; line-height: 1; }
  /* Header phone link 14px Inter */
  header .phone_link, header .phone, .top_header_group a[href^="tel"] { font-size: 14px; }
  /* Mobile menu trigger pill (icon-only top-bar variant; bottom_header has text+icon and must stay auto) */
  .mobile_menu_trigger,
  .top_header_group > .menu_burger { width: 40px; height: 40px; }
}

/* ----- 768px: burger menu activates, header collapses ----- */
@media (max-width: 768px) {
  body { max-width: 100vw; overflow-x: clip; }
  .wrapper { max-width: 100%; overflow: visible; overflow-x: visible; }
  /* Generic popup/modal sizing â€” center, max 90vw */
  .popup, .modal, [class*="__popup"], [class*="__modal"] {
    width: 90vw;
    max-width: 90vw;
    padding: 24px;
    box-sizing: border-box;
  }
  /* Quiz popup specific */
  .quiz_popup, .form_popup, .consultation_popup {
    width: 90vw;
    max-width: 90vw;
    padding: 32px 24px;
    max-height: 90vh;
    overflow-y: auto;
  }
  /* Container default padding */
  .container { padding-left: 30px; padding-right: 30px; }
  /* Footer per-column readability */
  footer .container { padding: 30px; }
  footer .about_block { gap: 24px; }
  /* Header pill CTA */
  header .ask_questions { font-size: 12px; padding: 8px 14px; height: 30px; }
  /* Mega-menu links font (Felidae 12px on tablet per Figma) */
  .mega-menu a, .mega-menu .menu_item { font-size: 12px; }
}

/* ----- 360px: full-mobile, popups full-width ----- */
@media (max-width: 360px) {
  .container { padding-left: 16px; padding-right: 16px; }
  /* Popups full-screen */
  .popup, .modal, .quiz_popup, .form_popup, .consultation_popup {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    max-height: 100vh;
    padding: 16px;
    border-radius: 0;
  }
  /* Header CTA shrinks */
  header .ask_questions { font-size: 11px; padding: 6px 10px; height: 28px; letter-spacing: 0.05em; }
  header .logo img { height: 28px; }
  /* Footer in 360 â€” keep as is per project requirement, just ensure no overflow */
  footer .container { padding: 24px 16px; }
  footer .about_block { flex-direction: column; gap: 20px; }
  footer .contacts_group { width: 100%; }
  /* Footer payment icons wrap */
  footer .top_footer_block .container > * { flex-wrap: wrap; }
  /* Touch targets minimum 44px */
  a.button, button.button, .ask_questions, [class*="__btn"] { min-height: 44px; }
}

/* =========================================================
   FOOTER "ÐšÐ°Ðº Ðº Ð½Ð°Ð¼ Ð´Ð¾Ð±Ñ€Ð°Ñ‚ÑŒÑÑ" â€” pixel-perfect responsive fix
   Replaces broken 1200/768/360 layout. Map stays right at desktop
   (sized properly), select+button stack on left. On tablet/mobile,
   block stacks vertically with full-width "Ð—Ð°Ð´Ð°Ñ‚ÑŒ Ð²Ð¾Ð¿Ñ€Ð¾ÑÑ‹" button.
   ========================================================= */

/* ----- 1200px: map right (60% width), select+button left (40%) ----- */
@media (max-width: 1200px) {
  footer .how_to_get_to_us .about_block {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: 32px;
    padding: 48px 30px;
    align-items: end;
  }
  footer .how_to_get_to_us .about_block select,
  footer .how_to_get_to_us .about_block .how_to_title {
    grid-column: 1;
    grid-row: 1;
    font-size: 16px;
    line-height: 130%;
    width: 100%;
    max-width: 100%;
    align-self: start;
    padding: 0;
    border: none;
    background-image: none;
  }
  footer .how_to_get_to_us .about_block .map_block {
    grid-column: 2;
    grid-row: 1 / 3;
    max-width: 100%;
    height: 380px;
    margin-left: 0;
  }
  footer .how_to_get_to_us .about_block .ask_question {
    grid-column: 1;
    grid-row: 2;
    margin-top: 24px;
    max-width: 100%;
    font-size: 16px;
    line-height: 150%;
    padding: 14px 24px;
    height: 50px;
    align-self: end;
  }
}

/* ----- 768px: stacked vertical block, full-width button ----- */
@media (max-width: 768px) {
  /* Hide overflowing address overlay on small map */
  footer .how_to_get_to_us .about_block .map_block .location_overlay { display: none; }
  footer .how_to_get_to_us .about_block .map_block .location { display: none; }

  footer .how_to_get_to_us .about_block {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    padding: 32px 30px;
    gap: 16px;
    align-items: stretch;
  }
  footer .how_to_get_to_us .about_block select,
  footer .how_to_get_to_us .about_block .how_to_title {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    max-width: 100%;
    font-size: 14px;
    padding: 0;
    border: none;
    background-image: none;
  }
  footer .how_to_get_to_us .about_block .map_block {
    grid-column: auto;
    grid-row: auto;
    max-width: 100%;
    width: 100%;
    height: 240px;
    margin: 0;
  }
  footer .how_to_get_to_us .about_block .ask_question {
    grid-column: auto;
    grid-row: auto;
    margin: 0;
    width: 100%;
    max-width: 100%;
    font-size: 14px;
    line-height: 150%;
    padding: 14px 24px;
    height: 50px;
  }
}

/* ----- 360px: compact stacked, smaller map, full-width "Ð—ÐÐ”ÐÐ¢Ð¬ Ð’ÐžÐŸÐ ÐžÐ¡Ð«" ----- */
@media (max-width: 360px) {
  footer .how_to_get_to_us .about_block {
    padding: 24px 16px;
    gap: 12px;
  }
  footer .how_to_get_to_us .about_block select,
  footer .how_to_get_to_us .about_block .how_to_title {
    font-size: 14px;
    padding: 0;
  }
  footer .how_to_get_to_us .about_block .map_block {
    height: 200px;
  }
  footer .how_to_get_to_us .about_block .ask_question {
    font-size: 12px;
    line-height: 150%;
    padding: 12px 16px;
    height: 44px;
    letter-spacing: 0.05em;
  }
}

/* =========================================================
   MEGA-MENU & HEADER FIXES â€” burger clickability, blue links,
   side-rail overlap, "menu" label overlap.
   ========================================================= */

/* 1. Burger button must sit ABOVE mega-menu so clicking the X actually
   closes the menu. Mega-menu uses z-index 9999 â€” lift burger above it. */
header .menu_burger {
  position: relative;
  z-index: 10001;
}
header .menu_burger .burger {
  position: relative;
  z-index: 10001;
}

/* 2. Style mob_menu links â€” they were inheriting default Bootstrap link blue.
   Note: .menu_group_main.mob_menu sits directly under .mega-menu .container,
   NOT inside .bottom_menu_group, so selector must match the actual chain. */
@media (max-width: 1200px) {
  .mega-menu .menu_group_main.mob_menu ul li a,
  .mega-menu .menu_group_main.mob_menu .go_catalog,
  .mega-menu .menu_group_main.mob_menu .lang_switcher a {
    color: #010101;
    text-decoration: none;
    font-family: "Inter", sans-serif;
    font-weight: 300;
  }
  /* Force 2-col grid for mob_menu regardless of parent chain.
     Higher specificity than desktop rule at line 675 â€” wins on all pages. */
  header .about_block .mega-menu .menu_group_main.mob_menu ul {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
    row-gap: 16px;
  }
  header .about_block .mega-menu .menu_group_main.mob_menu ul li {
    display: block;
    grid-column: auto;
    width: auto;
    padding: 0;
  }
  .mega-menu .menu_group_main.mob_menu ul li a {
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: color 0.2s ease;
    display: inline-block;
    padding: 4px 0;
  }
  .mega-menu .menu_group_main.mob_menu ul li a:hover {
    color: #41545C;
  }
  .mega-menu .menu_group_main.mob_menu .lang_switcher {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
  }
  .mega-menu .menu_group_main.mob_menu .lang_switcher a {
    color: #A6A6A6;
    font-size: 14px;
    letter-spacing: 0.05em;
    transition: color 0.2s ease;
  }
  .mega-menu .menu_group_main.mob_menu .lang_switcher a.active,
  .mega-menu .menu_group_main.mob_menu .lang_switcher a:hover {
    color: #010101;
  }
  .mega-menu .menu_group_main.mob_menu .go_catalog {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 12px;
    padding: 16px 18px;
    border: 1px solid #010101;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease;
  }
  .mega-menu .menu_group_main.mob_menu .go_catalog:hover {
    background: #010101;
    color: #FFFFFF;
  }
}
/* Very narrow phones (â‰¤430px) â€” collapse the mobile mega-menu links to a
   single centered column so long labels ("PARA COMPRADORES", "SOBRE
   NOSOTROS") get a full row each instead of squeezing into a 2-up grid. */
@media (max-width: 430px) {
  header .about_block .mega-menu .menu_group_main.mob_menu ul {
    grid-template-columns: 1fr;
    row-gap: 18px;
    justify-items: center;
    text-align: center;
  }
}

/* 3. Side-rail vertical lines per Figma â€” 96px insets from each edge,
   1.5px wide, 1083px tall, semi-transparent #E1E1E1 at 20% opacity.
   Rails sit above the sticky hero photo (z-index 2) but below the header (z-index 100). */
.big_block_home::before,
.big_block_home::after,
.big_block_home--catalog::before,
.big_block_home--catalog::after,
.big_block_home--development::before,
.big_block_home--development::after,
.big_block_home--blog::before,
.big_block_home--blog::after,
.big_block_home--news::before,
.big_block_home--news::after {
  content: '';
  position: absolute;
  top: 0;
  width: 1.5px;
  height: 1083px;
  background: rgba(225, 225, 225, 0.2);
  z-index: 5;
  pointer-events: none;
}
.big_block_home::before,
.big_block_home--catalog::before,
.big_block_home--development::before,
.big_block_home--blog::before,
.big_block_home--news::before {
  left: 96px;
}
.big_block_home::after,
.big_block_home--catalog::after,
.big_block_home--development::after,
.big_block_home--blog::after,
.big_block_home--news::after {
  right: 96px;
}
/* Match rails to header horizontal padding at narrower desktops */
@media (max-width: 1500px) {
  .big_block_home::before,
  .big_block_home--catalog::before,
  .big_block_home--development::before,
  .big_block_home--blog::before,
  .big_block_home--news::before {
    left: 60px;
  }
  .big_block_home::after,
  .big_block_home--catalog::after,
  .big_block_home--development::after,
  .big_block_home--blog::after,
  .big_block_home--news::after {
    right: 60px;
  }
}
/* Hide the two decorative vertical rails on the hero â€” per client request.
   Previously only the home wrapper (no "big_block_home--*" modifier) and
   --catalog were excluded, so every other template (invest, sell, buy,
   development, blog, news, object, guidesâ€¦) still painted two faint 1.5px
   lines at 96px from each edge. Blanket-hide them on every wrapper; delete
   this rule to bring the rails back. */
.big_block_home::before,
.big_block_home::after {
  display: none !important;
  content: none !important;
}
/* Mobile: hide rails on all pages â€” per client request */
@media (max-width: 768px) {
  .big_block_home::before,
  .big_block_home::after,
  .big_block_home--catalog::before,
  .big_block_home--catalog::after,
  .big_block_home--development::before,
  .big_block_home--development::after,
  .big_block_home--blog::before,
  .big_block_home--blog::after,
  .big_block_home--news::before,
  .big_block_home--news::after {
    display: none !important;
    content: none !important;
  }
}
/* Make sure CTAs and main content paint ABOVE the rails on desktop */
.dev_hero, .dev_panorama, .dev_projects, .dev_steps,
.cat_hero, .cat_filters, .cat_listings, .cat_cta,
.blog_hero, .blog_feed, .news_article {
  position: relative;
  z-index: 5;
}

/* 4. "menu" label inside .bottom_header .menu_burger must NOT overlap the
   nav links beside it. Add proper spacing + put it OUTSIDE the nav flow. */
header .about_block .bottom_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
header .about_block .bottom_header .menu_burger {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  white-space: nowrap;
}
header .about_block .bottom_header .menu_burger > span {
  white-space: nowrap;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: lowercase;
}
header .about_block .bottom_header .menu {
  flex: 1 1 auto;
  min-width: 0;
}
header .about_block .bottom_header .menu ul {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
header .about_block .bottom_header .menu ul li a {
  white-space: nowrap;
}

/* At â‰¤1200, keep bottom_header nav visible per Figma (ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ / Ðž Ð½Ð°Ñ / ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ñ‹)
   alongside "Ð¼ÐµÐ½ÑŽ" + burger. Hide-and-burger-takeover happens at â‰¤768. */
@media (max-width: 1200px) {
  header .about_block .bottom_header .menu_burger {
    margin-left: 0;
    gap: 18px;
  }
  header .about_block .bottom_header .menu_burger > span {
    font-size: 14px;
    color: #FFFFFF;
  }
}

/* HARD GUARD: lux-select native hidden fallback must STAY hidden.
   It was getting expanded by generic `select` rules in footer/forms,
   causing horizontal overflow at the page level. */
select.lux-select__native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none !important;
}

/* HARD GUARD: bottom_header "Ð¼ÐµÐ½ÑŽ" + burger must NOT overlap.
   Burger is position:relative width:25px, span "Ð¼ÐµÐ½ÑŽ" sits beside via flex gap.
   Per Figma 1200: Ð¼ÐµÐ½ÑŽ (36px) + 17px gap + burger (28px) = 81px total. */
header .about_block .bottom_header .menu_burger {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 18px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  position: relative;
  z-index: 250;
}
header .about_block .bottom_header .menu_burger > span {
  display: inline-block;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 120%;
  color: #FFFFFF;
  white-space: nowrap;
  flex-shrink: 0;
}
header .about_block .bottom_header .menu_burger .burger {
  position: relative;
  width: 28px !important;        /* Figma exact width */
  height: 16px !important;
  flex-shrink: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  z-index: 251;
}
header .about_block .bottom_header .menu_burger .burger span {
  background: #FFFFFF !important;  /* white over dark hero */
  height: 1.5px !important;        /* 0.5px sub-pixel renders as faded/invisible on many displays */
}
/* Override hardcoded widths in style.css line 325-336 with Figma values:
   Line 94 (top): 28w, Line 93 (mid): 20w right-aligned, Line 95 (bot): 20w right-aligned.
   :not(.active) â€” so the X-cross animation (rotate/opacity) still works when open. */
header .about_block .bottom_header .menu_burger .burger:not(.active) span:nth-child(1) {
  width: 28px !important;
  top: 0 !important;
  right: 0;
}
header .about_block .bottom_header .menu_burger .burger:not(.active) span:nth-child(2) {
  width: 20px !important;
  top: 50% !important;
  right: 0;
  transform: translateY(-50%) !important;
}
header .about_block .bottom_header .menu_burger .burger:not(.active) span:nth-child(3) {
  width: 20px !important;
  bottom: 0 !important;
  right: 0;
}
/* Active state â€” proper X cross (Figma not specified, use design defaults) */
header .about_block .bottom_header .menu_burger .burger.active {
  width: 20px !important;
  height: 20px !important;
}
header .about_block .bottom_header .menu_burger .burger.active span {
  background: #010101 !important;
  width: 24px !important;
  height: 1.5px !important;
  right: -2px !important;
  left: auto !important;
}
header .about_block .bottom_header .menu_burger .burger.active span:nth-child(1) {
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) rotate(45deg) !important;
}
header .about_block .bottom_header .menu_burger .burger.active span:nth-child(2) {
  opacity: 0 !important;
}
header .about_block .bottom_header .menu_burger .burger.active span:nth-child(3) {
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) rotate(-45deg) !important;
}

/* Hide the bottom_header nav on tablet/mobile â€” top header burger handles menu access there.
   Per Figma: bottom_header visible only at >768px. */
@media (max-width: 768px) {
  header .about_block .bottom_header { display: none !important; }
}

/* =========================================================
   GLOBAL FIX: pages with a WHITE hero (sell / buy / invest)
   need a DARK burger + "Ð¼ÐµÐ½ÑŽ" label in the bottom_header,
   because the default rule above paints them #FFFFFF !important
   for the dark index.html hero. Without this override the burger
   silhouette becomes invisible on the white background and only
   the "Ð¼ÐµÐ½ÑŽ" label shifts into the void. Applies to ALL pages.
   ========================================================= */
.big_block_home--sell header .about_block .bottom_header .menu_burger > span,
.big_block_home--buy header .about_block .bottom_header .menu_burger > span,
.big_block_home--invest header .about_block .bottom_header .menu_burger > span {
  color: #010101 !important;
}
.big_block_home--sell header .about_block .bottom_header .menu_burger .burger span,
.big_block_home--buy header .about_block .bottom_header .menu_burger .burger span,
.big_block_home--invest header .about_block .bottom_header .menu_burger .burger span {
  background: #010101 !important;
}

/* =========================================================
   GLOBAL FIX: bottom_header alignment (sell / buy / invest).
   .top_header_group on these pages uses margin: 0 -96px / padding: 0 96px
   so its content (ÐŸÐ ÐžÐ”ÐÐ¢Ð¬ / ÐšÐ£ÐŸÐ˜Ð¢Ð¬ / â€¦) starts exactly at the wrapper's
   inner content edge (x = 96px from the wrapper border). Without the same
   trick on .bottom_header its content (ÐŸÑ€Ð¾ÐµÐºÑ‚Ñ‹ / ÐšÐ°Ñ‚Ð°Ð»Ð¾Ð³ / â€¦) gets pushed
   another +96px to the right, breaking vertical alignment with ÐŸÐ ÐžÐ”ÐÐ¢Ð¬.
   This pulls bottom_header to the wrapper edges so its 96px padding-left
   lands the first link directly under ÐŸÐ ÐžÐ”ÐÐ¢Ð¬. Applies to ALL pages with
   white hero. Desktop only â€” mobile/tablet has bottom_header hidden. */
/* >1500: container/header padding is 96px â†’ margin -96px (Ð²ÑÐµ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ðµ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ñ‹) */
@media (min-width: 1501px) {
  .big_block_home--sell header .about_block .bottom_header,
  .big_block_home--buy header .about_block .bottom_header,
  .big_block_home--invest header .about_block .bottom_header,
  .big_block_home--catalog header .about_block .bottom_header,
  .big_block_home--about header .about_block .bottom_header,
  .big_block_home--news header .about_block .bottom_header,
  .big_block_home--blog header .about_block .bottom_header,
  .big_block_home--contacts header .about_block .bottom_header,
  .big_block_home--object header .about_block .bottom_header,
  .big_block_home--privacy header .about_block .bottom_header,
  .big_block_home--development header .about_block .bottom_header {
    margin-left: -96px;
    margin-right: -96px;
    box-sizing: border-box;
  }
}
/* 769..1500: container/header padding is 60px â†’ margin -60px (Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ 1200px) */
@media (min-width: 769px) and (max-width: 1500px) {
  .big_block_home--sell header .about_block .bottom_header,
  .big_block_home--buy header .about_block .bottom_header,
  .big_block_home--invest header .about_block .bottom_header,
  .big_block_home--catalog header .about_block .bottom_header,
  .big_block_home--about header .about_block .bottom_header,
  .big_block_home--news header .about_block .bottom_header,
  .big_block_home--blog header .about_block .bottom_header,
  .big_block_home--contacts header .about_block .bottom_header,
  .big_block_home--object header .about_block .bottom_header,
  .big_block_home--privacy header .about_block .bottom_header,
  .big_block_home--development header .about_block .bottom_header {
    margin-left: -60px;
    margin-right: -60px;
    box-sizing: border-box;
  }
}

/* ================================================================
   â‰¤1200px override: Transparent process cards â€” horizontal carousel/swipe
   (replaces 12-col grid for tablet/laptop)
   ================================================================ */
@media (max-width: 1200px) {
  .transparent_process_contact_block .cards_processes_group .cards_group {
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    border-left: 0;
    border-right: 0;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group::-webkit-scrollbar {
    display: none;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el,
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(1),
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(2),
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(3),
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(4),
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(5),
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(6),
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(7),
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(8),
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(9) {
    grid-column: auto;
    grid-row: auto;
    flex: 0 0 auto;
    width: 280px;
    min-width: 280px;
    height: 320px;
    scroll-snap-align: start;
    border-right: 1.5px solid #E1E1E1;
    border-bottom: 0;
    border-top: 0;
    padding: 25px 20px;
  }
  /* Image cards (1 and 5) keep image cover */
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(1),
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(5) {
    padding: 0;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(1) img,
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(5) img {
    transform: scaleY(1);
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el h3 {
    font-size: 20px;
  }
  .transparent_process_contact_block .cards_processes_group .cards_group .card_el p {
    font-size: 14px;
  }
}

/* ================================================================
   360px overrides: FAQ icon size, horizontal swipe for cards,
   experience block stack to 1 column.
   ================================================================ */
@media (max-width: 360px) {
  /* FAQ accordion +/Ã— icon â€” smaller per user request */
  .frequently_asked_questions_block .about_block .questions_accardion .accordion-button::after {
    width: 18px;
    height: 18px;
  }

  /* Managing risks: enable horizontal swipe between risk cards */
  .managing_risks_market_block .cards_group .about_block {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .managing_risks_market_block .cards_group .about_block::-webkit-scrollbar {
    display: none;
  }
  .managing_risks_market_block .cards_group .about_block .card_risks {
    flex: 0 0 auto;
    min-width: 280px;
    width: 280px;
    scroll-snap-align: start;
    height: auto;
    min-height: 480px;
  }

  /* Cards logos informations (ÐÐ°ÑˆÐ¸ Ð½Ð°Ð³Ñ€Ð°Ð´Ñ‹): enable horizontal swipe */
  .cards_logos_informations .about_block {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .cards_logos_informations .about_block::-webkit-scrollbar {
    display: none;
  }
  .cards_logos_informations .about_block .card_partner {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  /* Experience block: stack 6 cards into 1 column at 360 (per Figma 360 mockup) */
  .experience_eliminates_clients .cards_eliminetes_group .cards_group {
    grid-template-columns: 1fr;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el,
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(1),
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2),
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(3),
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4),
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(5),
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(6) {
    grid-column: span 1;
    grid-row: auto;
    border-right: 0;
    border-left: 0;
    border-bottom: 1.5px solid #E1E1E1;
    border-top: 0;
    height: auto;
    min-height: 200px;
    padding: 30px 20px;
  }
  /* Image cards (2 and 4) â€” auto height, full width */
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2),
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4) {
    padding: 0;
    min-height: 220px;
  }
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2) img,
  .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4) img {
    transform: scaleY(1);
    height: 220px;
  }
}

/* ===== Header â€” unified white text for top + bottom rows over dark hero ===== */
header .about_block .top_header_group .lang-dropdown-btn,
header .about_block .bottom_header .lang-dropdown-btn {
  color: #FFFFFF;
  /* Clearer outline (like the search lupa) so the language pill reads on
     every page. The subtle shadow keeps the edge defined over lighter
     hero areas where a plain white border would wash out. */
  border-color: rgba(255, 255, 255, 0.85);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}
header .about_block .top_header_group .lang-dropdown-btn:hover,
header .about_block .bottom_header .lang-dropdown-btn:hover {
  border-color: #FFFFFF;
  background: rgba(255, 255, 255, 0.08);
  color: #FFFFFF;
}

/* ===== Header horizontal padding â€” responsive
   Push header items inward from screen edges per Figma. ===== */
@media (max-width: 1500px) {
  header .about_block .top_header_group,
  header .about_block .bottom_header {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (max-width: 1199px) {
  header .about_block .top_header_group,
  header .about_block .bottom_header {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 767px) {
  header .about_block .top_header_group {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ===== Pixel-perfect mobile: section H2 sizes to match Figma 30px Felidae ===== */
@media (max-width: 767px) {
  .real_estate_marbella_block h2,
  .one_partners_entire_process h2,
  .marbella_real_estate_inquiry_block .about_block .form_group h2,
  .managing_risks_market_block h2,
  .interactive_map_block h2,
  .marbella_solutions_wealth_impact h2,
  .successful_transactions_experiences_block h2,
  .professional_obligations_block h2,
  .frequently_asked_questions_block h2,
  .transparent_process_contact_block h2,
  .experience_eliminates_clients .title_block .title_texts h2 {
    font-size: 30px !important;
    line-height: 110% !important;
    letter-spacing: 2% !important;
    font-family: "Felidae", "Cormorant Garamond", serif !important;
  }
}

/* =============================================================
   Header / mega-menu: desktop polish (â‰¥1200px)
   - Hide the round phone (WhatsApp) icon on desktop. The phone
     number text and CTA button stay; the icon is mobile-only UX.
   - Cap mega-menu container so the layout doesn't sprawl on
     ultra-wide screens (>1600px).
   ============================================================= */
@media (min-width: 1200px) {
  header .about_block .top_header_group .right_contacts .whatsapp,
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .whatsapp {
    display: none;
  }
}

@media (min-width: 1500px) {
  header .about_block .mega-menu > .container,
  header .about_block .mega-menu .container {
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
  }
  /* Cap everything in the mega-menu so ultra-wide screens don't blow text up
     to billboard size. The base values (32/25/22) were sized for â‰¤1500
     screens originally â€” at >1500 they read too large. Trimmed once more
     for a calmer, more elegant scale. */
  header .about_block .mega-menu .bottom_menu_group .our_projects h3,
  header .about_block .mega-menu .bottom_menu_group .our_projects .mega-h,
  header .about_block .mega-menu .bottom_menu_group .contacts_group h3,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .mega-h,
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects h3,
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .mega-h,
  header .about_block .mega-menu .bottom_menu_group .menu_group_main h3,
  header .about_block .mega-menu .bottom_menu_group .menu_group_main .mega-h {
    font-size: 18px;
    letter-spacing: 0.04em;
    margin-bottom: 24px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group h4 {
    font-size: 14px;
    letter-spacing: 0.02em;
    margin-bottom: 8px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number a,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .email a {
    font-size: 18px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone {
    margin-bottom: 28px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .email {
    margin-bottom: 28px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group {
    margin-bottom: 48px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .ask_questions {
    font-size: 15px;
    letter-spacing: 0.08em;
    padding: 14px;
  }
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project p {
    font-size: 13px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .projects_img p {
    font-size: 15px;
    margin-top: 12px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .swiper-pagination {
    font-size: 15px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li a {
    font-size: 18px;
    letter-spacing: 0.06em;
  }
  /* Header row inside the mega-menu (logo / consultation / lang): keep them
     restrained on ultra-wide too. */
  header .about_block .mega-menu .menu_burger_top_group .menu ul li a,
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .phone_number {
    font-size: 16px;
  }
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .consultation,
  header .about_block .top_header_group .right_contacts .consultation {
    font-size: 16px;
    padding: 10px 22px;
    letter-spacing: 0.06em;
  }
  /* Padding: existing rules use 63/51px which feels heavy at >1500. Tighter
     still so the layout reads as a single elegant block. */
  header .about_block .mega-menu .bottom_menu_group .our_projects {
    padding: 38px 40px 32px 0;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group {
    padding: 38px 0 32px 40px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects {
    padding: 32px 40px 32px 0;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main {
    padding: 32px 40px 32px 40px;
  }
}

/* =============================================================
   Mega-menu on tablet / small-laptop (768â€“1499).
   The base mega-menu sizes (32px headings, 32px phone/email, 60â€“63px
   paddings) were tuned for very wide screens. In this range the 3-column
   bottom grid overflowed its container and clipped the left CONTACTS column
   (the â‰¥1500 calmer scale never reached these widths). Mirror that scale so
   all three columns stay inside the viewport on iPad / laptop screens.
   ============================================================= */
@media (min-width: 768px) and (max-width: 1499px) {
  header .about_block .mega-menu .bottom_menu_group .our_projects h3,
  header .about_block .mega-menu .bottom_menu_group .our_projects .mega-h,
  header .about_block .mega-menu .bottom_menu_group .contacts_group h3,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .mega-h,
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects h3,
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects .mega-h,
  header .about_block .mega-menu .bottom_menu_group .menu_group_main h3,
  header .about_block .mega-menu .bottom_menu_group .menu_group_main .mega-h {
    font-size: 18px;
    letter-spacing: 0.04em;
    margin-bottom: 24px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group h4 {
    font-size: 14px;
    letter-spacing: 0.02em;
    margin-bottom: 8px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number a,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .email a {
    font-size: 18px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone {
    margin-bottom: 28px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .email {
    margin-bottom: 28px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group {
    margin-bottom: 48px;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .ask_questions {
    font-size: 15px;
    letter-spacing: 0.08em;
    padding: 14px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .projects_img p {
    font-size: 15px;
    margin-top: 12px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group .swiper-pagination {
    font-size: 15px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li a {
    font-size: 18px;
    letter-spacing: 0.06em;
  }
  /* Tighter column paddings (base uses 60â€“63px) so three columns fit. */
  header .about_block .mega-menu .bottom_menu_group .contacts_group {
    padding: 38px 0 32px 40px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects {
    padding: 32px 40px 32px 0;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main {
    padding: 32px 40px 32px 40px;
  }
}

/* =============================================================
   Tablet/mobile (â‰¤1199) header cleanup:
   - Hide the decorative .big_block_home side rails (1.5px white-ish
     vertical lines at ~60px from each edge). They look like stray
     "white edges" on narrow viewports and the hero should be edge to edge.
   - Hide the entire .bottom_header (Ð½Ð°Ð² links + "Ð¼ÐµÐ½ÑŽ" + secondary burger).
     The top_header_group already has its own burger that toggles the
     mega-menu â€” having two creates duplicate X icons when the menu opens.
     An earlier !important rule (`.bottom_header { display: flex }`) was
     overriding the breakpoint-level hide; this !important wins.
   ============================================================= */
@media (max-width: 1199px) {
  .big_block_home::before,
  .big_block_home::after,
  .big_block_home--catalog::before,
  .big_block_home--catalog::after,
  .big_block_home--development::before,
  .big_block_home--development::after,
  .big_block_home--blog::before,
  .big_block_home--blog::after,
  .big_block_home--news::before,
  .big_block_home--news::after {
    display: none !important;
  }
  header .about_block .bottom_header {
    display: none !important;
  }
}

/* =============================================================
   Mega-menu close button (.mega-close)
   Two variants to bypass mobile stacking/grid issues:
   - .mega-close--desktop: inside .right_contacts, flows next to ÐšÐžÐÐ¡Ð£Ð›Ð¬Ð¢ÐÐ¦Ð˜Ð¯
   - .mega-close--mobile: direct child of .menu_burger_top_group, takes
     the empty left grid cell on mobile (where .menu is hidden).
   Each variant is shown only on its breakpoint.
   ============================================================= */
.mega-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  background: transparent;
  border: 0;
  color: #010101;
  cursor: pointer;
  flex-shrink: 0;
}
.mega-close svg {
  display: block;
  width: 24px;
  height: 24px;
}
.mega-close--desktop {
  margin-left: 20px;
}
/* Mobile X lives in the LEFT grid cell of .menu_burger_top_group.
   On desktop it is hidden (the desktop X handles wider screens). */
header .about_block .mega-menu .menu_burger_top_group > .mega-close--mobile {
  grid-area: left;
  justify-self: start;
  align-self: center;
  display: none;
}

@media (max-width: 767px) {
  header .about_block .mega-menu .menu_burger_top_group {
    padding-top: 64px !important;
    padding-bottom: 26px !important;
    position: relative !important;
  }
  /* Hide desktop X on mobile */
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .mega-close--desktop {
    display: none !important;
  }
  /* Show mobile X â€” direct grid child, sits on the LEFT of the row */
  header .about_block .mega-menu .menu_burger_top_group > .mega-close--mobile {
    display: inline-flex !important;
    width: 32px !important;
    height: 32px !important;
    color: #010101 !important;
    background: transparent !important;
    border: 0 !important;
    z-index: 5;
  }
  header .about_block .mega-menu .menu_burger_top_group > .mega-close--mobile svg {
    width: 26px !important;
    height: 26px !important;
    display: block !important;
  }
  /* Logo perfectly centered â€” absolute positioning bypasses grid 1fr/auto
     asymmetry caused by ÐšÐžÐÐ¡Ð£Ð›Ð¬Ð¢ÐÐ¦Ð˜Ð¯ button being wider than the X icon. */
  header .about_block .mega-menu .menu_burger_top_group > .logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 2;
  }
  header .about_block .mega-menu .menu_burger_top_group .logo img {
    width: 135px !important;
    height: auto !important;
  }
}

@media (max-width: 360px) {
  header .about_block .mega-menu .menu_burger_top_group {
    padding-top: 56px !important;
    padding-bottom: 22px !important;
  }
  header .about_block .mega-menu .menu_burger_top_group .logo img {
    width: 120px !important;
  }
}

/* When the mega-menu is open, hide the external burgers so the close X
   inside the mega-menu is the only one. JS toggles `noscroll` on <body>
   exactly when the menu opens, so this is the cheapest hook. */
body.noscroll header .about_block .top_header_group .menu_burger,
body.noscroll header .about_block .bottom_header .menu_burger {
  display: none !important;
}

/* RU lang dropdown should sit immediately next to ÐšÐžÐÐ¡Ð£Ð›Ð¬Ð¢ÐÐ¦Ð˜Ð¯ â€” earlier
   the default 50px right margin pushed it far from the CTA.
   Only on desktop, on mobile the lang-dropdown is the only right_contacts
   element visible and should hug the container edge symmetrically with
   the burger on the left. */
@media (min-width: 1200px) {
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .lang-dropdown,
  header .about_block .top_header_group .right_contacts .lang-dropdown {
    margin-right: 18px;
  }
}

/* =============================================================
   Desktop (â‰¥1200) mega-menu top row: more side padding so the
   ÐŸÐ ÐžÐ”ÐÐ¢Ð¬/ÐšÐ£ÐŸÐ˜Ð¢Ð¬/Ð˜ÐÐ’Ð•Ð¡Ð¢Ð˜Ð ÐžÐ’ÐÐ¢Ð¬ nav and the right_contacts cluster
   don't crowd the viewport edges, AND the logo isn't squashed
   into a tiny center track. Also: at 1200-1500 the legacy rule
   hard-coded the logo to 117Ã—28 (stretched 4.18:1 from native 3.15:1),
   which read as a small, distorted glyph; restore width-only sizing
   so the SVG renders at its natural aspect ratio.
   ============================================================= */
@media (min-width: 1200px) {
  header .about_block .mega-menu .menu_burger_top_group {
    padding-left: 64px;
    padding-right: 64px;
  }
}
@media (min-width: 1200px) and (max-width: 1500px) {
  header .about_block .mega-menu .menu_burger_top_group .logo img,
  header .about_block .top_header_group .logo img {
    width: 150px;
    height: auto;
  }
}
@media (min-width: 1500px) {
  header .about_block .mega-menu .menu_burger_top_group {
    padding-left: 80px;
    padding-right: 80px;
  }
  header .about_block .mega-menu .menu_burger_top_group .logo img {
    width: 170px;
    height: auto;
  }
}

/* =============================================================
   Mobile (â‰¤767) mega-menu â€” center the bottom panel content:
   RU/EN/ES switcher, two-column menu items (ÐŸÐžÐšÐ£ÐŸÐÐ¢Ð•Ð›Ð¯Ðœ etc),
   and ÐÐÐ¨Ð˜ ÐŸÐ ÐžÐ•ÐšÐ¢Ð« heading + project tiles. Visual alignment with
   the centered logo / X / consultation row above.
   ============================================================= */
@media (max-width: 767px) {
  /* RU / EN / ES switcher centered */
  header .about_block .mega-menu .bottom_menu_group .menu_group_main.mob_menu .lang_switcher {
    justify-content: center !important;
  }
  /* Two-column menu items â€” center within each cell */
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul {
    justify-items: center !important;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li {
    text-align: center !important;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li a {
    text-align: center !important;
  }
  /* ÐÐÐ¨Ð˜ ÐŸÐ ÐžÐ•ÐšÐ¢Ð« heading */
  header .about_block .mega-menu .bottom_menu_group .our_projects h3,
  header .about_block .mega-menu .bottom_menu_group .our_projects .mega-h {
    text-align: center !important;
  }
  /* Project tiles â€” center image+text within the cell */
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project {
    justify-content: center !important;
    text-align: center !important;
  }
  /* Also center the other section headings + their content for consistency */
  header .about_block .mega-menu .bottom_menu_group .top_projects h3,
  header .about_block .mega-menu .bottom_menu_group .contacts_group h3,
  header .about_block .mega-menu .bottom_menu_group .contacts_group h4 {
    text-align: center !important;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .email,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group {
    text-align: center !important;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .telephone .group_number {
    justify-content: center !important;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks {
    justify-content: center !important;
  }
}

/* =============================================================
   Mobile (â‰¤767): "()" parenthesis curve for ÐÐÐ¨Ð˜ ÐŸÐ ÐžÐ•ÐšÐ¢Ð« tiles.
   Each tile is nudged via translateX so columns 1+8 are tight at top
   and bottom, and columns 5+6 are pushed outward at the middle.
   The 9th tile (Serenity Hills) spans full width and centers below.
   On desktop, the 9th tile is hidden so it does not break the 4x2.
   ============================================================= */
header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project--serenity-hills {
  display: none;
}

@media (max-width: 767px) {
  /* Stack image on top of text, centered, with breathing room. */
  #megaMenu .bottom_menu_group .our_projects .projects_group .project,
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    text-align: center !important;
  }
  #megaMenu .bottom_menu_group .our_projects .projects_group .project > img,
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project > img {
    display: block !important;
    margin: 0 auto !important;
    float: none !important;
  }
  #megaMenu .bottom_menu_group .our_projects .projects_group .project p,
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project p {
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    width: 100% !important;
  }
  /* Social icons â€” make sure they render and are visible on mobile */
  #megaMenu .bottom_menu_group .contacts_group .networks_group .networks,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
  }
  #megaMenu .bottom_menu_group .contacts_group .networks_group .networks a,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a {
    display: inline-flex !important;
    width: 40px;
    height: 40px;
  }
  #megaMenu .bottom_menu_group .contacts_group .networks_group .networks a img,
  header .about_block .mega-menu .bottom_menu_group .contacts_group .networks_group .networks a img {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    max-width: none !important;
    /* Source SVGs are white-on-transparent (designed for dark footer).
       Mega-menu has a white background, so invert to render them dark. */
    filter: invert(1) !important;
  }
  /* Show Serenity Hills tile only on mobile, full-width centered */
  #megaMenu .bottom_menu_group .our_projects .projects_group .project--serenity-hills,
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group .project--serenity-hills {
    display: flex !important;
    grid-column: 1 / -1 !important;
    justify-content: center !important;
  }
  /* () curve via translateX per nth-child.
     Use > combinator so the rule ONLY targets the wrapper <div class="project">
     (direct child of .projects_group) and NOT the inner <img class="project">.
     Otherwise the img would be shifted on top of the wrapper shift and break
     alignment with its text label. */
  #megaMenu .our_projects .projects_group > .project:nth-child(1),
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group > .project:nth-child(1) { transform: translateX(14px) !important; }
  #megaMenu .our_projects .projects_group > .project:nth-child(2),
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group > .project:nth-child(2) { transform: translateX(-14px) !important; }
  #megaMenu .our_projects .projects_group > .project:nth-child(3),
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group > .project:nth-child(3) { transform: translateX(-4px) !important; }
  #megaMenu .our_projects .projects_group > .project:nth-child(4),
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group > .project:nth-child(4) { transform: translateX(4px) !important; }
  #megaMenu .our_projects .projects_group > .project:nth-child(5),
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group > .project:nth-child(5) { transform: translateX(-4px) !important; }
  #megaMenu .our_projects .projects_group > .project:nth-child(6),
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group > .project:nth-child(6) { transform: translateX(4px) !important; }
  #megaMenu .our_projects .projects_group > .project:nth-child(7),
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group > .project:nth-child(7) { transform: translateX(14px) !important; }
  #megaMenu .our_projects .projects_group > .project:nth-child(8),
  header .about_block .mega-menu .bottom_menu_group .our_projects .projects_group > .project:nth-child(8) { transform: translateX(-14px) !important; }

  /* ===========================================================
     Marbella Solutions section â€” mobile fix
     - Title: single block, no flex column, no big inter-word gaps
     - Subtitle (span): right below title, small margin
     - Tabs: horizontal wrap, centered
     - Clicking a tab reveals its description right below the tab row
     - Hide the (white-on-sky-invisible) image overlay text
     =========================================================== */
  .marbella_solutions_wealth_impact .about_block h2 {
    display: block !important;
    flex-direction: row !important;
    text-align: center !important;
    font-size: 18px !important;
    line-height: 130% !important;
    letter-spacing: 0.02em !important;
    padding: 0 16px 16px 16px !important;
    margin: 0 auto !important;
    max-width: 100%;
    white-space: normal !important;
    word-spacing: normal !important;
  }
  .marbella_solutions_wealth_impact .about_block h2 br {
    display: none !important;
  }
  /* Subtitle stays INLINE so the title wraps naturally â€” see the
     unconditional rule near the end of the file for the reasoning. */
  .marbella_solutions_wealth_impact .about_block h2 span:not(.reveal-word) {
    display: inline !important;
    margin: 0 !important;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 20px 10px 0 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Tabs: ONE PER LINE, centered */
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group {
    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 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active p,
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active h3 + p {
    display: block !important;
    flex: 1 0 100% !important;
    width: 100% !important;
    max-width: 280px;
    margin: 6px auto 0 !important;
    padding: 0 !important;
    color: #555 !important;
    font-weight: 300 !important;
    font-size: 13px !important;
    line-height: 140% !important;
    text-align: center !important;
    opacity: 1 !important;
    max-height: none !important;
    transform: none !important;
  }
  /* Hide the white-on-sky image overlay (invisible against light photo) */
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content {
    display: none !important;
  }
  /* Image centered on x-axis, full width within container */
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
    display: block !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    height: 222px !important;
    position: relative !important;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella img {
    display: block !important;
    margin: 0 auto !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    left: 50% !important;
    transform: translateX(-50%) !important;
    position: absolute !important;
    bottom: 14px !important;
  }
}

/* =============================================================
   ÐšÐžÐÐ¡Ð£Ð›Ð¬Ð¢ÐÐ¦Ð˜Ð¯ duplicate inside .mob_menu (above RU/EN/ES).
   Hidden by default; shown only when viewport <470px, where the top
   ÐšÐžÐÐ¡Ð£Ð›Ð¬Ð¢ÐÐ¦Ð˜Ð¯ overlaps with the centered logo. At that breakpoint
   we hide the top one and show this one styled like .go_catalog.
   ============================================================= */
.consultation--mobile-cta {
  display: none;
}

/* Home / top-bar ÐšÐžÐÐ¡Ð£Ð›Ð¬Ð¢ÐÐ¦Ð˜Ð¯ button shifts the centered logo and looks bad
   on narrow viewports. Hide it below 650px on every page (the mobile mega-menu has its own
   ÐšÐžÐÐ¡Ð£Ð›Ð¬Ð¢ÐÐ¦Ð˜Ð¯ entry, so users don't lose the CTA). */
@media (max-width: 650px) {
  header .about_block .top_header_group .right_contacts .consultation {
    display: none !important;
  }
}

@media (max-width: 469px) {
  /* Hide top consultation inside the open mega-menu */
  header .about_block .mega-menu .menu_burger_top_group .right_contacts .consultation:not(.consultation--mobile-cta) {
    display: none !important;
  }
  /* Show mobile consultation above lang_switcher, button-style */
  header .about_block .mega-menu .bottom_menu_group .menu_group_main.mob_menu .consultation--mobile-cta {
    display: flex !important;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 16px 18px;
    width: 100%;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    color: #010101;
    background: transparent;
    border: 1px solid #010101;
    text-decoration: none;
    margin-bottom: 20px;
  }
}


/* ===== Footer menu â€” mobile (â‰¤880px): 2 columns centered =====
   Breakpoint raised from 767â†’880 so the 6-item nav in ES
   ("PARA COMPRADORES", "PARA VENDEDORES"...) wraps to a 3+3 grid
   before the single-row flex layout (white-space:nowrap on links)
   overflows and clips the last items off the right edge. */
@media (max-width: 880px) {
  footer .menu_group .menu ul {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-evenly;
    align-items: center;
    row-gap: 15px;
    column-gap: 40px;
    width: 100%;
    max-width: 100%;
  }
  footer .menu_group .menu ul li {
    grid-column: auto;
    justify-content: center;
  }
}
/* On very narrow phones the two-column grid still squeezes long labels
   ("PARA COMPRADORES", "SOBRE NOSOTROS") into ugly two-line stacks.
   Collapse to a single centered column so each label gets a full row. */
@media (max-width: 430px) {
  footer .menu_group .menu ul {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }
}

/* =============================================================
   HOME (front-page) â€” fluid scaling overrides.
   All font-sizes + key spacing for the home sections are
   converted to clamp() so the layout grows/shrinks smoothly
   instead of stepping at 1500/1199/767. Above 1500 the values
   keep growing slowly until they hit the legacy max around
   ~2000px viewport. !important defeats the existing media
   query reductions in earlier blocks.

   Variables themselves are defined at the top of the file.
   ============================================================= */

/* Spacing vars (only used inside this block â€” kept local to
   avoid touching unrelated rules). */
.front-page-fluid-spacing,
:root {
  --pad-100: clamp(36px, 18px + 1.6vw, 100px);
  --pad-200: clamp(64px, 30px + 3.0vw, 200px);
  --pad-208: clamp(64px, 30px + 3.15vw, 208px);
  --pad-128: clamp(40px, 20px + 1.95vw, 128px);
  --pad-64: clamp(28px, 16px + 1.05vw, 64px);
  --pad-48: clamp(20px, 12px + 0.8vw, 48px);
  --pad-32: clamp(16px, 11px + 0.5vw, 32px);
  --mb-80: clamp(28px, 14px + 1.25vw, 80px);
  --mb-32: clamp(14px, 10px + 0.36vw, 32px);
  --mb-20: clamp(10px, 8px + 0.18vw, 20px);
}

/* -------- Hero (.big_block_home) -------- */
.big_block_home .group_home .home_block .main-title { font-size: var(--fs-50) !important; }
.big_block_home .group_home .home_block h2 { font-size: var(--fs-28) !important; }
.big_block_home .group_home .home_block .hero-stats { font-size: var(--fs-25) !important; }

/* -------- Center the home hero (title + subtitle + stats) vertically & horizontally
   Forces the first slide (no .hero-slide--cta modifier) to sit dead-center of the
   100vh hero, regardless of any earlier padding/justify overrides. -------- */
.big_block_home .group_home .home_block .hero-slide:not(.hero-slide--cta) {
  justify-content: center !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  text-align: center;
}
.big_block_home .group_home .home_block .hero-slide:not(.hero-slide--cta) .main-title,
.big_block_home .group_home .home_block .hero-slide:not(.hero-slide--cta) h1,
.big_block_home .group_home .home_block .hero-slide:not(.hero-slide--cta) h2,
.big_block_home .group_home .home_block .hero-slide:not(.hero-slide--cta) .hero-stats {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* -------- Awards / partner cards (.cards_logos_informations) -------- */
.cards_logos_informations .about_block .card_partner .descriptions_card h3 { font-size: var(--fs-28) !important; }
.cards_logos_informations .about_block .card_partner .descriptions_card h4 { font-size: var(--fs-25) !important; }

/* -------- Real estate Marbella (.real_estate_marbella_block) -------- */
.real_estate_marbella_block .title_block .titles { padding: var(--pad-100) 0 var(--pad-48) 0 !important; }
.real_estate_marbella_block .title_block .titles h2 { font-size: var(--fs-50) !important; margin-bottom: var(--mb-20) !important; }
.real_estate_marbella_block .title_block .titles p { font-size: var(--fs-28) !important; }
.real_estate_marbella_block .stages_real_estate .stages_group .stage { padding: var(--pad-48) 15px !important; }
.real_estate_marbella_block .stages_real_estate .stages_group .stage .title_stage h3 { font-size: var(--fs-28) !important; }
.real_estate_marbella_block .stages_real_estate .stages_group .stage h4 { font-size: var(--fs-32) !important; }
.real_estate_marbella_block .stages_real_estate .stages_group .stage p { font-size: var(--fs-25) !important; }
.real_estate_marbella_block .stages_real_estate .stages_group .stage a { font-size: var(--fs-25) !important; }

/* -------- Personalized selection -------- */
.personalized_selection_block .about_block { padding: var(--pad-208) !important; }
.personalized_selection_block .about_block .group_inf_personalized { padding: var(--pad-128) var(--pad-48) !important; }
.personalized_selection_block .about_block .group_inf_personalized h2 { font-size: var(--fs-50) !important; }
.personalized_selection_block .about_block .group_inf_personalized h3 { font-size: var(--fs-28) !important; }
.personalized_selection_block .about_block .group_inf_personalized p { font-size: var(--fs-16) !important; }
.personalized_selection_block .about_block .group_inf_personalized h4 { font-size: var(--fs-16) !important; }
.personalized_selection_block .about_block .group_inf_personalized a { font-size: var(--fs-16) !important; }

/* Tighten the gap between the body text ("Answer a few questionsâ€¦" / sub p)
   and the START THE QUIZ button. Legacy 110 â†’ 77 (-30%) â†’ 54 (-30% more).
   Cap kicks in around viewport 1103px; below that it scales fluidly. */
.personalized_selection_block .about_block .group_inf_personalized p {
  margin-bottom: clamp(11px, -10px + 5.8vw, 54px) !important;
}

/* Remove the decorative section frame inside .personalized_selection_block:
   - The thin vertical lines on the left/right come from
     `.personalized_selection_block .about_block { border-left/right }`.
   - The thin horizontal lines top+bottom come from the ::before/::after
     pseudos that draw a 1.6px bar.
   User asked to remove these only here (the rest of the home keeps them). */
.personalized_selection_block .about_block {
  border-left: 0 !important;
  border-right: 0 !important;
}
.personalized_selection_block::before,
.personalized_selection_block::after {
  display: none !important;
}

/* -------- Marbella solutions wealth impact -------- */
.marbella_solutions_wealth_impact .about_block { padding: var(--pad-200) 0 var(--pad-100) 0 !important; }
.marbella_solutions_wealth_impact .about_block h2 { font-size: var(--fs-50) !important; margin-bottom: var(--mb-80) !important; }
@media (max-width: 767px) {
  .marbella_solutions_wealth_impact .about_block h2 { font-size: clamp(22px, 5.4vw, 30px) !important; margin-bottom: 0 !important; padding-bottom: 16px !important; line-height: 120% !important; }
  .marbella_solutions_wealth_impact .about_block h2 span { font-size: inherit !important; }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
    max-width: 100% !important;
    width: 100% !important;
  }
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    position: absolute !important;
    bottom: 14px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3 { font-size: var(--fs-28) !important; }
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description p { font-size: var(--fs-16) !important; }
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content h3 { font-size: var(--fs-28) !important; }
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content p { font-size: var(--fs-25) !important; }
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a { font-size: var(--fs-25) !important; }

/* -------- One partner entire process -------- */
.one_partners_entire_process .about_block { padding: var(--pad-100) 0 var(--pad-200) 0 !important; }
.one_partners_entire_process .about_block .title_block { font-size: var(--fs-50) !important; margin-bottom: var(--mb-80) !important; }
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-item { padding: var(--pad-48) 0 var(--pad-48) 0 !important; padding-right: 12px !important; }
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-button .title_process { font-size: var(--fs-28) !important; }
.one_partners_entire_process .about_block .inf_group_about_partners .process_entire .accordion-body .text_process { font-size: var(--fs-16) !important; }

/* -------- Experience eliminates clients -------- */
.experience_eliminates_clients .title_texts h2,
.experience_eliminates_clients h2 { font-size: var(--fs-50) !important; }
.experience_eliminates_clients .title_texts h3,
.experience_eliminates_clients h3 { font-size: var(--fs-25) !important; }
.experience_eliminates_clients .card_el span { font-size: var(--fs-50) !important; }
.experience_eliminates_clients .card_el p { font-size: var(--fs-16) !important; }

/* -------- Managing risks market -------- */
.managing_risks_market_block .title_block h2,
.managing_risks_market_block h2 { font-size: var(--fs-50) !important; }
.managing_risks_market_block .card_risks h3 { font-size: var(--fs-28) !important; }
.managing_risks_market_block .card_risks p { font-size: var(--fs-25) !important; }
.managing_risks_market_block .card_risks a { font-size: var(--fs-25) !important; }

/* -------- Transparent process contact -------- */
.transparent_process_contact_block .title_block h2,
.transparent_process_contact_block h2 { font-size: var(--fs-50) !important; }
.transparent_process_contact_block .title_block p,
.transparent_process_contact_block p { font-size: var(--fs-25) !important; }
.transparent_process_contact_block .tabs a { font-size: var(--fs-28) !important; }
.transparent_process_contact_block .about_block .card_el h3,
.transparent_process_contact_block .card_el h3 { font-size: var(--fs-28) !important; }

/* -------- Professional obligations -------- */
.professional_obligations_block .about_block h3 { font-size: var(--fs-28) !important; }
.professional_obligations_block .about_block h2 { font-size: var(--fs-50) !important; }
.professional_obligations_block .about_block .document_obligation p { font-size: var(--fs-25) !important; }
.professional_obligations_block .swiper-pagination { font-size: var(--fs-28) !important; }

/* -------- Successful transactions / reviews -------- */
.successful_transactions_experiences_block .title_block h2,
.successful_transactions_experiences_block h2 { font-size: var(--fs-50) !important; }
.successful_transactions_experiences_block .card_review h3 { font-size: var(--fs-28) !important; }
.successful_transactions_experiences_block .card_review h4 { font-size: var(--fs-32) !important; }
.successful_transactions_experiences_block .card_review p { font-size: var(--fs-25) !important; }
.successful_transactions_experiences_block .card_review span { font-size: var(--fs-32) !important; }

/* -------- FAQ -------- */
.frequently_asked_questions_block .about_block .title_block,
.frequently_asked_questions_block .title_block { font-size: var(--fs-50) !important; }
.frequently_asked_questions_block .tabs a { font-size: var(--fs-28) !important; }
.frequently_asked_questions_block .title_process { font-size: var(--fs-32) !important; }
.frequently_asked_questions_block .text_process { font-size: var(--fs-25) !important; }

/* -------- Interactive map -------- */
.interactive_map_block .map_label { font-size: var(--fs-18) !important; }
.interactive_map_block h2 { font-size: var(--fs-64) !important; }
.interactive_map_block .map_cta_btn { font-size: var(--fs-20) !important; }
.interactive_map_block .map_tab { font-size: var(--fs-22) !important; }

/* -------- Overflow safety: long words wrap instead of escaping the box -------- */
.cards_logos_informations h1, .cards_logos_informations h2, .cards_logos_informations h3, .cards_logos_informations h4, .cards_logos_informations p, .cards_logos_informations a, .cards_logos_informations span,
.real_estate_marbella_block h1, .real_estate_marbella_block h2, .real_estate_marbella_block h3, .real_estate_marbella_block h4, .real_estate_marbella_block p, .real_estate_marbella_block a,
.personalized_selection_block h1, .personalized_selection_block h2, .personalized_selection_block h3, .personalized_selection_block h4, .personalized_selection_block p, .personalized_selection_block a,
.marbella_solutions_wealth_impact h1, .marbella_solutions_wealth_impact h2, .marbella_solutions_wealth_impact h3, .marbella_solutions_wealth_impact h4, .marbella_solutions_wealth_impact p, .marbella_solutions_wealth_impact a,
.one_partners_entire_process h1, .one_partners_entire_process h2, .one_partners_entire_process h3, .one_partners_entire_process h4, .one_partners_entire_process p, .one_partners_entire_process a,
.experience_eliminates_clients h1, .experience_eliminates_clients h2, .experience_eliminates_clients h3, .experience_eliminates_clients h4, .experience_eliminates_clients p, .experience_eliminates_clients a, .experience_eliminates_clients span,
.managing_risks_market_block h1, .managing_risks_market_block h2, .managing_risks_market_block h3, .managing_risks_market_block h4, .managing_risks_market_block p, .managing_risks_market_block a,
.transparent_process_contact_block h1, .transparent_process_contact_block h2, .transparent_process_contact_block h3, .transparent_process_contact_block h4, .transparent_process_contact_block p, .transparent_process_contact_block a,
.professional_obligations_block h1, .professional_obligations_block h2, .professional_obligations_block h3, .professional_obligations_block h4, .professional_obligations_block p, .professional_obligations_block a,
.successful_transactions_experiences_block h1, .successful_transactions_experiences_block h2, .successful_transactions_experiences_block h3, .successful_transactions_experiences_block h4, .successful_transactions_experiences_block p, .successful_transactions_experiences_block a, .successful_transactions_experiences_block span,
.frequently_asked_questions_block h1, .frequently_asked_questions_block h2, .frequently_asked_questions_block h3, .frequently_asked_questions_block h4, .frequently_asked_questions_block p, .frequently_asked_questions_block a,
.interactive_map_block h1, .interactive_map_block h2, .interactive_map_block h3, .interactive_map_block h4, .interactive_map_block p, .interactive_map_block a {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* =============================================================
   HOME â€” fluid sizing for IMAGES, CARDS, SECTION HEIGHTS.
   The original CSS uses fixed px (e.g. height:877px on a card,
   width:555px on an image) which look enormous on screens >1500.
   Each clamp() below targets ~30% smaller than the legacy size
   at viewport 1500 and ~18% smaller at 1920, scaling down to a
   mobile-friendly floor at ~380px viewport.
   ============================================================= */

/* Awards / partner cards â€” height 242 */
.cards_logos_informations .about_block .card_partner {
  height: clamp(90px, 63px + 7.14vw, 200px) !important;
}

/* Real estate Marbella â€” stages 877 tall, img 555x698, hover variant 216x270.
   FIXED height (not auto): the card's outer box never changes size between
   idle and active, so the section below doesn't get pushed down ("bote").
   Sized large enough that idle (big image) AND active (small image + title +
   text + button) both fit. Below 767 the layout stacks vertically (existing
   media query) â€” there height:auto is fine because cards aren't side by side. */
.real_estate_marbella_block .stages_real_estate .stages_group {
  align-items: flex-start !important;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage {
  height: clamp(520px, 295px + 31vw, 870px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
@media (max-width: 767px) {
  .real_estate_marbella_block .stages_real_estate .stages_group .stage {
    height: auto !important;
    min-height: 280px !important;
    overflow: hidden !important;
  }
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage .img_wrap {
  width: clamp(195px, 131px + 16.9vw, 455px) !important;
  height: clamp(250px, 171px + 20.8vw, 570px) !important;
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .img_wrap,
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active .img_wrap {
  width: clamp(80px, 55px + 6.5vw, 180px) !important;
  height: clamp(95px, 64px + 8.1vw, 220px) !important;
}

/* Click/tap toggle: .active mirrors :hover so touch/tablet (where :hover
   doesn't fire reliably) can expand a card. JS in main.js manages the class. */
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active .title_stage h3 {
  color: #010101 !important;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active .title_stage svg circle {
  stroke: transparent !important;
  fill: #41545C !important;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active .title_stage svg line {
  stroke: #FFFFFF !important;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active h4,
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active p,
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active a {
  opacity: 1 !important;
  max-height: 280px !important;
  transform: translateY(0) !important;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active h4 {
  margin-bottom: 14px !important;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active p {
  margin-bottom: 20px !important;
}
.real_estate_marbella_block .stages_real_estate .stages_group .stage.active a {
  margin-top: 18px !important;
  padding: 16px !important;
}

/* Section h2 (ÐÐ•Ð”Ð’Ð˜Ð–Ð˜ÐœÐžÐ¡Ð¢Ð¬ ÐœÐÐ Ð‘Ð•Ð›Ð¬Ð˜â€¦) â€” cap smaller than --fs-50 (which
   reaches 55 at 1920). User asked for a slightly smaller heading here. */
.real_estate_marbella_block .title_block .titles h2 {
  font-size: clamp(25px, 19px + 1.52vw, 44px) !important;
}

/* Marbella solutions wealth impact â€” 781 tall, img_marbella 1155 max, descriptions 539 max.
   The descriptions_group has 6 children rendered from inm_solution posts; with
   a fixed parent height the last 2 were clipped (overflow:hidden). Switched to
   auto height + min-height so all 6 fit, and gave .img_marbella its own
   explicit height (it was `height: 100%` of parent â€” would collapse otherwise).
   align-items:center vertically centers the image inside the flex row. */
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group {
  height: auto !important;
  min-height: clamp(380px, 200px + 24vw, 700px) !important;
  /* flex-start aligns top of descriptions list with top of image.
     Both children have equal height, so they also bottom-align naturally. */
  align-items: flex-start !important;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group {
  max-width: clamp(190px, 128px + 16.2vw, 440px) !important;
  /* Match image height exactly. Items centered vertically inside the fixed
     box with justify-content; overflow:hidden absorbs sub-pixel transition
     drift so the parent never reflows ("bote"). */
  height: clamp(380px, 200px + 24vw, 700px) !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
  max-width: clamp(400px, 264px + 35.7vw, 950px) !important;
  height: clamp(380px, 200px + 24vw, 700px) !important;
}

/* Compact per-description spacing so the 6 items + 1 expanded fit comfortably
   inside the fixed descriptions_group height without huge empty space below. */
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description {
  padding: clamp(8px, 5px + 0.4vw, 18px) clamp(8px, 5px + 0.4vw, 18px) clamp(8px, 5px + 0.4vw, 18px) clamp(8px, 5px + 0.4vw, 18px) !important;
  padding-right: 0 !important;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active p {
  max-height: clamp(100px, 60px + 1.5vw, 180px) !important;
}

/* Multiple per-solution images stack absolutely inside .img_marbella; only the
   one with .active is visible. The new active image appears INSTANTLY on top
   (z-index 2, transition 0s) while the previous active fades OUT behind it
   (z-index 1, 0.4s). This avoids the white flash that a symmetric cross-fade
   would expose at tâ‰ˆ0.5 when both images were partially transparent. */
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .img_solution {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  z-index: 1 !important;
  opacity: 0 !important;
  transition: opacity 0.4s ease !important;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .img_solution.active {
  opacity: 1 !important;
  z-index: 2 !important;
  transition: opacity 0s !important;
}

/* Overlay text (h3 + p inside .tab_content) hidden â€” user opted to show only
   the image + the VIEW PROPERTIES CTA. The .tab_content elements stay in the
   DOM (the JS still toggles their .active class on tab change) but display:none
   keeps them invisible at all sizes. */
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content,
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content.active {
  display: none !important;
}
/* CTA pinned to the bottom of the image with symmetric left/right margin. */
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
  position: relative !important;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
  position: absolute !important;
  left: clamp(20px, 12px + 0.5vw, 32px) !important;
  right: clamp(20px, 12px + 0.5vw, 32px) !important;
  bottom: clamp(20px, 12px + 0.5vw, 30px) !important;
  top: auto !important;
  width: auto !important;
  z-index: 11 !important;
}

/* On â‰¥1200px viewports, center the descriptions+image group within .about_block.
   Without this, the group anchors at flex-start and the extra horizontal space
   accumulates on the right side (asymmetric margins). */
@media (min-width: 1200px) {
  .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group {
    justify-content: center !important;
  }
}

/* Disable :hover-driven expansion on .description â€” only .active expands.
   JS toggles .active on mouseenter+click, so there's always exactly one
   description open at a time â†’ no two-active overlap â†’ no height "bote". */
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover:not(.active) h3 {
  padding-left: 0 !important;
  color: #C2C2C2 !important;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover:not(.active) h3::before {
  opacity: 0 !important;
}
.marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover:not(.active) p {
  padding-left: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  transform: translateY(10px) !important;
}

/* One partner entire process â€” partner img 533 max */
.one_partners_entire_process .about_block .inf_group_about_partners .img_wrapper img {
  max-width: clamp(185px, 123px + 16.2vw, 435px) !important;
}

/* Managing risks â€” card 750 tall, img_wrapper 555 max + 472 tall */
.managing_risks_market_block .cards_group .about_block .card_risks {
  height: clamp(260px, 173px + 23vw, 615px) !important;
}
/* Risk cards â€” title/description always visible, image reveals
   the Solution underneath via FADE instead of slide-over-text.
   The base CSS slid the 472 px image up by 51 % which dragged it
   over the title. Here the image is shorter and pinned to the
   bottom; on hover it fades to opacity 0 + a small upward nudge,
   uncovering the Solution copy that sits behind it in the flex
   column. Top text stays put at every moment. */
.managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  height: clamp(180px, 18vw, 320px) !important;
  transform: none !important;
  transition: opacity .5s ease, transform .5s ease !important;
}
.managing_risks_market_block .cards_group .about_block .card_risks:nth-child(1) .img_wrapper,
.managing_risks_market_block .cards_group .about_block .card_risks:nth-child(3) .img_wrapper {
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
}
.managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper img.img_risk {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
  object-fit: cover !important;
}
/* Hover: fade out + small lift so the Solution block underneath
   becomes visible. Overrides the base translate(-50%, -51%) and
   translate(0, -51%) rules at the top of this file. */
.managing_risks_market_block .cards_group .about_block .card_risks:hover .img_wrapper,
.managing_risks_market_block .cards_group .about_block .card_risks:hover:nth-child(1) .img_wrapper,
.managing_risks_market_block .cards_group .about_block .card_risks:hover:nth-child(3) .img_wrapper {
  opacity: 0 !important;
  transform: translateY(-16px) !important;
  pointer-events: none !important;
}
/* Mobile/tablet (<1200): use .is-open on the card (set by JS on tap)
   to mirror the hover behaviour, since :hover doesn't fire reliably
   on touch devices. */
.managing_risks_market_block .cards_group .about_block .card_risks.is-open .img_wrapper {
  opacity: 0 !important;
  transform: translateY(-16px) !important;
  pointer-events: none !important;
}
.managing_risks_market_block .cards_group .about_block .card_risks.is-open .arrow_top {
  transform: rotate(180deg) !important;
}
/* Mobile (<1200) â€” managing_risks cards: no swipe arrow here
   (the original markup already has the gesture hint elsewhere)
   and the card height is trimmed so the Solution heading is
   fully clipped by `overflow: hidden` instead of peeking out
   below the image. */
@media (max-width: 1199px) {
  html body .managing_risks_market_block .cards_group .about_block .card_risks {
    height: clamp(320px, 56vw, 460px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  html body .managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper {
    height: clamp(160px, 28vw, 240px) !important;
  }
}

/* Experience eliminates clients â€” card_el 416 tall.
   Scoped to text cards only (1/3/5/6); cards 2/4 are full-height image
   panels and must keep their height:100% rule. */
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(1),
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(3),
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(5),
.experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(6) {
  height: clamp(145px, 97px + 12.7vw, 340px) !important;
}

/* Successful transactions / professional obligations / FAQ â€” these mostly
   rely on auto-height + content, so no card-height override is needed.
   If specific images/blocks feel too big, add their selectors here. */

/* =============================================================
   FOOTER â€” fluid font scaling above 1500px viewport.
   At 1500px the font drops to 75% of the legacy size (25% reduction),
   then grows linearly with the viewport, reaching the original
   100% value at ~2500px and capping there so ultrawide monitors
   don't render an oversized footer.
   Formulas per legacy size:
     22px â†’ clamp(16.5px, 8.25px + 0.55vw, 22px)
     25px â†’ clamp(18.75px, 9.375px + 0.625vw, 25px)
     32px â†’ clamp(24px, 12px + 0.8vw, 32px)
   ============================================================= */
@media (min-width: 1500px) {
  /* 25px â€” section labels (h3) */
  footer .top_footer_block .about_block .contacts_group h3,
  footer .we_accept_payments .about_block .group_payments h3 {
    font-size: clamp(18.75px, 9.375px + 0.625vw, 25px);
  }
  /* 32px â€” phone / email / address text */
  footer .top_footer_block .about_block .contacts_group .contatcs p,
  footer .top_footer_block .about_block .contacts_group .contatcs a {
    font-size: clamp(24px, 12px + 0.8vw, 32px);
  }
  /* 32px â€” middle nav links */
  footer .menu_group .menu ul li a {
    font-size: clamp(24px, 12px + 0.8vw, 32px);
  }
  /* 22px â€” language select + "ÐšÐ°Ðº Ðº Ð½Ð°Ð¼ Ð´Ð¾Ð±Ñ€Ð°Ñ‚ÑŒÑÑ" title */
  footer .menu_group .menu .lang_select select,
  footer .how_to_get_to_us .about_block select,
  footer .how_to_get_to_us .about_block .how_to_title {
    font-size: clamp(16.5px, 8.25px + 0.55vw, 22px);
  }
  /* 25px â€” map tooltip text */
  footer .how_to_get_to_us .about_block .map_block .location_overlay .locations_text p {
    font-size: clamp(18.75px, 9.375px + 0.625vw, 25px);
  }
  /* 25px â€” "Ð—Ð°Ð´Ð°Ñ‚ÑŒ Ð²Ð¾Ð¿Ñ€Ð¾ÑÑ‹" button */
  footer .how_to_get_to_us .about_block .ask_question {
    font-size: clamp(18.75px, 9.375px + 0.625vw, 25px);
  }
  /* 25px â€” bottom copyright + policy links */
  footer .bottom_texts_group .about_block span,
  footer .bottom_texts_group .about_block .center_group a {
    font-size: clamp(18.75px, 9.375px + 0.625vw, 25px);
  }
}

/* =============================================================
   Marbella Solutions â€” final overrides (placed at end of file
   to win over earlier !important rules via source order).
   The h2 fix is UNCONDITIONAL so it applies at every viewport
   (was being beaten by `display:flex; flex-direction:column`
   from earlier media queries which collapsed the title into a
   word-per-line column). The stacking layout fires at â‰¤1199px
   so it covers narrow tablets / phones / split windows alike.
   ============================================================= */

/* ROOT-CAUSE FIX â€” applies to every section h2 in the theme.
   Earlier media queries set `display: flex; flex-direction: column;
   align-items: center` on these h2 elements. That, combined with any
   <br> the editor may have inserted between words, made every
   anonymous text node a SEPARATE flex item â†’ words stacked one per
   line. Force display: block here and hide stray <br> so the title
   wraps normally; <span> is kept as a block-level "subtitle" so the
   original visual intent (small subtitle under the title) survives. */
html body .marbella_solutions_wealth_impact .about_block h2,
html body .experience_eliminates_clients .title_block .title_texts h2,
html body .transparent_process_contact_block .title_block .titles h2 {
  display: block !important;
  flex-direction: row !important;
  align-items: initial !important;
  justify-content: initial !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  word-wrap: normal !important;
  hyphens: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
html body .marbella_solutions_wealth_impact .about_block h2 br,
html body .experience_eliminates_clients .title_block .title_texts h2 br,
html body .transparent_process_contact_block .title_block .titles h2 br {
  display: none !important;
}
/* The original decorative <span> subtitle is now INLINE so the title flows
   as one paragraph that wraps naturally (1 line on wide viewports, 2 lines
   on narrower ones). Forcing `display: block` previously locked it into a
   second line even when it would have fitted next to the title. We also
   drop the font-family/weight overrides so we don't switch fonts mid-line.
   :not(.reveal-word) keeps the .reveal-word spans from main.js out of these
   selectors (those are per-word animation wrappers, not the subtitle). */
html body .marbella_solutions_wealth_impact .about_block h2 span:not(.reveal-word),
html body .experience_eliminates_clients .title_block .title_texts h2 span:not(.reveal-word),
html body .transparent_process_contact_block .title_block .titles h2 span:not(.reveal-word) {
  display: inline !important;
  margin: 0 !important;
}

/* Stacked column layout â€” ONLY at â‰¤767 (phones). Desktop and tablet
   keep the original side-by-side layout (descriptions left + image right). */
@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact .about_block {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html body .marbella_solutions_wealth_impact .about_block h2 {
    font-size: clamp(22px, 5.4vw, 30px) !important;
    line-height: 120% !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
  }
  html body .marbella_solutions_wealth_impact .about_block h2 span:not(.reveal-word) {
    font-size: inherit !important;
  }
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 16px !important;
    padding: 0 !important;
  }
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    padding: 0 !important;
    border: none !important;
  }
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description p {
    display: none !important;
  }
  /* p must force a wrap to its OWN row below /Villas. With flex-basis: 100%
     but max-width: 320px, the COMPUTED main size was 320px â€” small enough
     that p fitted on the same row as span+h3 once the viewport was wide
     enough (~600px+), producing the "/Villas left, message right" bug.
     Removing the 320px clamp keeps the basis at 100% so p always wraps. */
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active p {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 6px auto 0 !important;
    padding: 0 !important;
    color: #555 !important;
    font-weight: 300 !important;
    font-size: 13px !important;
    line-height: 140% !important;
    text-align: center !important;
    opacity: 1 !important;
    transform: none !important;
  }
  /* Cancel the desktop padding-left:32px shift that's pushing the active
     h3 sideways inside the centered row. The dot ::before is also hidden
     at this width because the visible "/" span already serves as the bullet. */
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description.active h3,
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description:hover h3 {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .descriptions_group .description h3::before {
    display: none !important;
  }
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 240px !important;
    margin: 0 !important;
  }
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella img,
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .img_solution {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content,
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella .tab_content.active {
    display: none !important;
  }
  html body .marbella_solutions_wealth_impact .about_block .descriptions_texts_img_group .img_marbella a {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 16px !important;
    top: auto !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    padding: 10px 24px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}

/* =============================================================
   Interactive map district tabs â€” ~30% larger font on phones/tablets
   so the labels (Marbella / Nueva AndalucÃ­a / Sierra Blanca / ...)
   stay readable. The global var(--fs-22) clamps too tight below 770px.
   ============================================================= */
@media (max-width: 769px) {
  html body .interactive_map_block .map_tab { font-size: 22px !important; }
  html body .interactive_map_block .map_tab_separator { font-size: 22px !important; }
}
@media (max-width: 380px) {
  html body .interactive_map_block .map_tab { font-size: 18px !important; }
  html body .interactive_map_block .map_tab_separator { font-size: 18px !important; }
}

/* =============================================================
   Real-estate role cards (.stage) â€” keep the image visible at full
   mobile size when the card is hovered OR active. The unconditional
   "shrink to small thumbnail" rule applied at every viewport, but at
   â‰¤767px the card stacks vertically and the thumbnail (~80px wide)
   looked like it disappeared. At mobile the image should remain the
   same 100% width Ã— 144px box as the idle state so it never visually
   vanishes when the user taps a card.
   ============================================================= */
@media (max-width: 767px) {
  /* Defeat the mobile :hover collapse rule that set the img_wrap to
     width: 0; height: 0; opacity: 0 â€” that's why the image was
     disappearing when the user hovered/tapped a card. */
  html body .real_estate_marbella_block .stages_real_estate .stages_group .stage:hover .img_wrap,
  html body .real_estate_marbella_block .stages_real_estate .stages_group .stage.active .img_wrap {
    width: 100% !important;
    height: 144px !important;
    margin-top: 12px !important;
    opacity: 1 !important;
    align-self: stretch !important;
  }
}

/* =============================================================
   .experience_eliminates_clients â€” full responsive overhaul.
   Fixes:
   - Title now reads like a TITLE (bold, ~50% larger than the
     previous 50 px on desktop) and the subtitle sits directly
     below it instead of being pushed against the bottom border of
     the title block by the 80 px padding.
   - The team image card spans 2 grid rows; with the old 416 px
     card height that resolved to 832 px tall â€” way too dominant.
     Card height shrunk to clamp(220â€“320 px) so the image lands at
     a sensible 440â€“640 px.
   - At â‰¤767 px the cards used to inherit `height: 416px` and a
     `margin-top: auto` on the <p>, which left a huge empty band
     between the stat number and the mobile image AND collapsed
     vertical rhythm so the next card visually "overlapped" the
     previous image. We rewrite that to a simple block stack:
     stat number â†’ description â†’ image, fully under the previous
     card. Decorative image cards (2 and 4) stay hidden as before.
   ============================================================= */

/* --- Title block (all viewports) ---
   Matches the other home-page section titles: Felidae 400 at --fs-50.
   No bold â€” explicit weight 400 plays nicely with the global
   `font-synthesis: none` rule (no fake bold). */
html body .experience_eliminates_clients .title_block .title_texts h2,
html body .experience_eliminates_clients .title_block .title_texts h2 em,
html body .experience_eliminates_clients .title_block .title_texts h2 b,
html body .experience_eliminates_clients .title_block .title_texts h2 strong,
html body .experience_eliminates_clients .title_block .title_texts h2 span {
  font-family: "Felidae", "Cormorant Garamond", serif !important;
  font-weight: 400 !important;
  font-size: var(--fs-50) !important;
  line-height: 1.02 !important;
  margin-bottom: 18px !important;
}
html body .experience_eliminates_clients .title_block .title_texts h2 .reveal-word {
  line-height: inherit !important;
  vertical-align: baseline !important;
}
html body .experience_eliminates_clients .title_block .title_texts h3 {
  font-size: clamp(15px, 1.35vw, 24px) !important;
  margin: 0 auto !important;
  max-width: 880px !important;
  display: block !important;
}
html body .experience_eliminates_clients .title_block .title_texts {
  padding-top: clamp(40px, 4vw, 80px) !important;
  padding-bottom: clamp(28px, 3vw, 48px) !important;
}

/* --- Desktop / tablet (â‰¥768 px): shorter, better-proportioned cards.
   `card_el` was 416 px tall; the team image spans 2 rows so it grew to
   832 px which dwarfed the whole layout. Down to ~260 px / image ~520 px.
   Text stat cards stack their content from the TOP (no `space-between`,
   no `margin-top: auto` on the <p>) so the number and the line below it
   sit together instead of being pushed to opposite edges of the card. */
@media (min-width: 768px) {
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el {
    height: clamp(200px, 17vw, 280px) !important;
    padding: clamp(28px, 2.6vw, 50px) clamp(18px, 2vw, 35px) clamp(20px, 2vw, 32px) clamp(18px, 2vw, 35px) !important;
    justify-content: flex-start !important;
    gap: clamp(8px, 0.8vw, 14px) !important;
  }
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el p {
    margin-top: 0 !important;
  }
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el span {
    font-size: clamp(28px, 2.5vw, 42px) !important;
  }
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el p {
    font-size: clamp(13px, 0.9vw, 16px) !important;
  }
  /* Image cards (#2 team, #4 coast) span 2 rows / 1 row respectively.
     They must stretch to fill their grid cell so the photo covers it
     fully â€” the explicit `height: clamp(...)` above would otherwise pin
     them to single-row height and leave white space inside the cell. */
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2),
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4) {
    height: auto !important;
    align-self: stretch !important;
    padding: 0 !important;
  }
  /* The fade-in animation scales the IMG from Y=0 to Y=1; once visible
     it must fill the (now-stretched) cell entirely. */
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2) img,
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
}

/* --- Mobile (â‰¤767 px): visual style mirrors page-about.php `.ab_awards`
   on phones â€” text centered Felidae serif, image edge-to-edge, 1.6 px
   gray separators between cards, last card no bottom border.
   Stat-text card and its mobile image are RENDERED AS ONE BLOCK with
   the image extending to the card's left/right edges (negative margin
   trick), so the overall mosaic mimics the alternating text-then-photo
   pattern of the reference. */
@media (max-width: 767px) {
  html body .experience_eliminates_clients .cards_eliminetes_group {
    border-bottom: 0 !important;
  }
  /* Title block's bottom border already separates the title from the grid;
     don't double it with a border-top on the cards_group. */
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group {
    display: flex !important;
    flex-direction: column !important;
    border: 0 !important;
  }
  /* Card: no HORIZONTAL padding so the image inside runs the full width
     of the card (`.ab_awards__cell--photo` style â€” edge-to-edge). Text
     children (span + p) get their own padding so they stay readable. */
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el {
    height: auto !important;
    min-height: 0 !important;
    padding: 32px 0 32px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    text-align: center !important;
    gap: 12px !important;
    width: 100% !important;
    grid-column: unset !important;
    grid-row: unset !important;
    border: 0 !important;
    border-bottom: 1.6px solid #E1E1E1 !important;
  }
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:last-child {
    border-bottom: 0 !important;
  }
  /* Hide ALL images on mobile â€” text-only stack below 770 px.
     Catches: (a) the standalone decorative `.img-wrapper.card_el`
     siblings, (b) the inner `.img-wrapper` inside every stat card,
     (c) bare <img>, <picture>, .mob_img anywhere in the section. */
  html body .experience_eliminates_clients .cards_eliminetes_group .img-wrapper,
  html body .experience_eliminates_clients .cards_eliminetes_group picture,
  html body .experience_eliminates_clients .cards_eliminetes_group img,
  html body .experience_eliminates_clients .cards_eliminetes_group .mob_img,
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2),
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4) {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
  }
  /* Stat number â€” Felidae serif, centered (own horizontal padding) */
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el span {
    margin: 0 !important;
    padding: 0 20px !important;
    font-family: "Felidae", "Cormorant Garamond", serif !important;
    font-size: 40px !important;
    line-height: 110% !important;
    letter-spacing: 0.02em !important;
    color: #010101 !important;
    text-align: center !important;
  }
  /* Description â€” single-line height, centered, kill the unconditional
     `margin-top: auto` that pushed it to the bottom of the 416 px card. */
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el p {
    margin: 0 auto !important;
    padding: 0 20px !important;
    font-size: 14px !important;
    line-height: 140% !important;
    color: #3C3C3B !important;
    max-width: 360px !important;
    text-align: center !important;
  }
  /* Image wrapper â€” sits flush to card edges since the card now has 0
     horizontal padding. No more `calc(100% + 40px)` + negative margin
     trick which was being clipped/misrendered in the 410â€“769 range. */
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el .img-wrapper {
    width: 100% !important;
    margin: 20px 0 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
  }
  /* Force the image to a proper, consistent landscape band. We use
     `aspect-ratio` so the height tracks the width automatically â€” this
     defeats any rule that leaves the height at `auto` and lets the
     image collapse to its natural (sometimes very short) intrinsic
     ratio. The unconditional `scaleY(0)` + transform-origin: top from
     the decorative-card animation gets cleared with !important here. */
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el .img-wrapper img,
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el .mob_img,
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(1) img,
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(3) img,
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(5) img,
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(6) img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 200px !important;
    max-height: 320px !important;
    -o-object-fit: cover !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
    opacity: 1 !important;
    transition: none !important;
  }
  /* Title â€” same Felidae 400 look as other section titles on phones. */
  html body .experience_eliminates_clients .title_block .title_texts h2,
  html body .experience_eliminates_clients .title_block .title_texts h2 em,
  html body .experience_eliminates_clients .title_block .title_texts h2 b,
  html body .experience_eliminates_clients .title_block .title_texts h2 strong,
  html body .experience_eliminates_clients .title_block .title_texts h2 span {
    font-family: "Felidae", "Cormorant Garamond", serif !important;
    font-size: clamp(22px, 5.4vw, 30px) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }
  html body .experience_eliminates_clients .title_block .title_texts h2 .reveal-word {
    line-height: inherit !important;
    vertical-align: baseline !important;
  }
  html body .experience_eliminates_clients .title_block .title_texts h3 {
    display: block !important;
    font-size: clamp(13px, 3.4vw, 16px) !important;
    margin-top: 14px !important;
    padding: 0 16px !important;
  }
}

/* =============================================================
   marbella_real_estate_inquiry_block â€” fluid desktop/tablet sizing
   ----------------------------------------------------------------
   The base rules used hard-coded XXL values: padding 208 px on the
   outer wrapper, 96 px inside the white card, 64 px h2, 25 px body
   copy, 40 px select padding, 105 px gap below the lead paragraph.
   At 1500+ widths this filled half the screen with empty whitespace,
   and the h2 ("REAL ESTATE REQUEST IN MARBELLA") overflowed the
   card at common laptop widths. Replace all the static numbers with
   clamp() so the block scales smoothly from 768 px to 1920+ without
   any media-query stair-stepping. Mobile (<768 px) still uses its
   own rules. ============================================================= */
@media (min-width: 768px) {
  html body .marbella_real_estate_inquiry_block .about_block {
    padding: clamp(36px, 6.5vw, 120px) clamp(24px, 7.5vw, 140px) !important;
  }
  html body .marbella_real_estate_inquiry_block::before {
    top: clamp(36px, 6.5vw, 120px) !important;
  }
  html body .marbella_real_estate_inquiry_block::after {
    bottom: clamp(36px, 6.5vw, 120px) !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group {
    max-width: 1080px !important;
    padding: clamp(36px, 4.4vw, 72px) clamp(20px, 2.6vw, 48px) !important;
  }
  /* Title: fluid clamp so "REAL ESTATE REQUEST IN MARBELLA" always
     fits the card width (max-width 1080 px). Removes the white-space:
     nowrap from the 1200-1499 rule that was forcing overflow. */
  html body .marbella_real_estate_inquiry_block .about_block .form_group h2 {
    font-size: clamp(26px, 3.4vw, 54px) !important;
    line-height: 110% !important;
    margin-bottom: clamp(14px, 1.4vw, 24px) !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group h3 {
    font-size: clamp(14px, 1.4vw, 22px) !important;
    margin-bottom: clamp(10px, 1vw, 16px) !important;
    max-width: 100% !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group p {
    font-size: clamp(13px, 1.1vw, 18px) !important;
    margin-bottom: clamp(28px, 3.6vw, 60px) !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group form select {
    max-width: 100% !important;
    padding: clamp(14px, 1.6vw, 26px) clamp(18px, 2vw, 32px) !important;
    font-size: clamp(13px, 1.05vw, 18px) !important;
    background-position: right clamp(18px, 2vw, 32px) center !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select {
    width: calc(50% - 9px) !important;
    max-width: 100% !important;
    min-height: clamp(54px, 5.4vw, 84px) !important;
    margin-bottom: clamp(8px, 1vw, 14px) !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__trigger {
    padding: clamp(14px, 1.6vw, 26px) clamp(18px, 2vw, 32px) !important;
    font-size: clamp(13px, 1.05vw, 18px) !important;
    min-height: clamp(54px, 5.4vw, 84px) !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group form .lux-select__arrow {
    right: clamp(18px, 2vw, 32px) !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group form h4 {
    font-size: clamp(13px, 1.05vw, 18px) !important;
    margin: clamp(24px, 3vw, 50px) 0 clamp(8px, 0.9vw, 14px) 0 !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group form > button {
    font-size: clamp(14px, 1.15vw, 20px) !important;
    padding: clamp(12px, 1.2vw, 20px) !important;
    margin-bottom: clamp(14px, 1.6vw, 26px) !important;
  }
  html body .marbella_real_estate_inquiry_block .about_block .form_group form > span {
    font-size: clamp(11px, 0.85vw, 14px) !important;
    max-width: clamp(280px, 35vw, 480px) !important;
  }
}

/* =============================================================
   Reviews block (home) â€” port of the buy-page `.buy_stories`
   pattern onto `.successful_transactions_experiences_block` so
   both pages use the same review-card design. Mapping:
     .buy_stories__grid          -> .about_block (grid container)
     .buy_story                  -> .card_reviews_group (each card)
     .buy_story__head            -> .name_group (avatar + name row)
     .buy_story__avatar / img    -> .name_group img
     .buy_story__name            -> .name_group h3
     .buy_story__req             -> .card_review h4
     .buy_story__text            -> .card_review p
     .buy_story__date            -> .card_review > span
   ============================================================= */
@media (min-width: 768px) {
  html body .successful_transactions_experiences_block .cards_group .about_block {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-content: center !important;
    gap: clamp(16px, 1.8vw, 32px) !important;
    max-width: clamp(960px, 90vw, 1728px) !important;
    margin: 0 auto !important;
    padding: clamp(14px, 1.4vw, 19px) clamp(20px, 4vw, 96px) !important;
    border-top: 1.6px solid #E1E1E1 !important;
    border-bottom: 1.6px solid #E1E1E1 !important;
  }
  html body .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group {
    background: #FAFAFA !important;
    padding: clamp(20px, 1.8vw, 32px) !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    flex: unset !important;
  }
  html body .successful_transactions_experiences_block .card_reviews_group .card_review {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: clamp(380px, 32vw, 580px) !important;
    gap: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  html body .successful_transactions_experiences_block .card_review .top_text_group {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  html body .successful_transactions_experiences_block .card_review .name_group {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: clamp(14px, 1.4vw, 24px) !important;
    margin-bottom: clamp(18px, 1.8vw, 32px) !important;
  }
  html body .successful_transactions_experiences_block .card_review .name_group img {
    width: clamp(72px, 6.4vw, 117px) !important;
    height: clamp(74px, 6.5vw, 120px) !important;
    object-fit: cover !important;
    display: block !important;
    flex-shrink: 0 !important;
    background: #D9D9D9 !important;
    border-radius: 0 !important;
  }
  html body .successful_transactions_experiences_block .card_review .name_group h3 {
    font-family: "Felidae", "Cormorant Garamond", serif !important;
    font-weight: 400 !important;
    font-size: clamp(22px, 2vw, 38px) !important;
    line-height: 110% !important;
    letter-spacing: 0.02em !important;
    color: #010101 !important;
    margin: 0 !important;
    text-transform: none !important;
  }
  html body .successful_transactions_experiences_block .card_review h4 {
    font-family: "Inter", sans-serif !important;
    font-weight: 300 !important;
    font-size: clamp(16px, 1.5vw, 28px) !important;
    line-height: 120% !important;
    color: #3C3C3B !important;
    margin: 0 0 clamp(10px, 1vw, 18px) 0 !important;
    text-transform: none !important;
    max-width: 100% !important;
  }
  html body .successful_transactions_experiences_block .card_review p {
    font-family: "Inter", sans-serif !important;
    font-weight: 300 !important;
    font-size: clamp(14px, 1.2vw, 22px) !important;
    line-height: 135% !important;
    color: #3C3C3B !important;
    margin: 0 !important;
  }
  html body .successful_transactions_experiences_block .card_review > span {
    font-family: "Inter", sans-serif !important;
    font-weight: 300 !important;
    font-size: clamp(16px, 1.3vw, 26px) !important;
    line-height: 120% !important;
    color: #CDCDCD !important;
    letter-spacing: 0 !important;
    margin-top: auto !important;
    padding-top: clamp(18px, 2vw, 36px) !important;
    text-align: left !important;
    display: block !important;
  }
  /* Section title â€” match buy_stories headline scale */
  html body .successful_transactions_experiences_block .title_block .titles h2 {
    font-family: "Felidae", "Cormorant Garamond", serif !important;
    font-weight: 400 !important;
    font-size: clamp(36px, 3.6vw, 72px) !important;
    line-height: 110% !important;
    letter-spacing: 0.02em !important;
    color: #010101 !important;
    text-align: center !important;
    margin: 0 auto clamp(28px, 3vw, 56px) !important;
    max-width: 1376px !important;
    padding: 0 20px !important;
    text-transform: uppercase !important;
  }
}

/* =============================================================
   experience_eliminates_clients â€” remove inter-card borders/gaps
   on desktop/tablet. The base CSS draws border-right/bottom on
   cards 1/3 and border-left/top on cards 5/6 which read as
   visible separator lines between the cells. The user asked
   for a flat mosaic with no margins between cards.
   ============================================================= */
@media (min-width: 768px) {
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group {
    gap: 0 !important;
    grid-gap: 0 !important;
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
  }
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el,
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(1),
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(2),
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(3),
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(4),
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(5),
  html body .experience_eliminates_clients .cards_eliminetes_group .cards_group .card_el:nth-child(6) {
    border: 0 !important;
    margin: 0 !important;
  }
}

/* =============================================================
   transparent_process_contact_block:
   - Desktop cards: stack title + description from the top with a
     margin between them (instead of `space-between` which left a
     huge empty band). Shorter cards too.
   - Mobile (<1200 px): tabs are centered with no arrow. Swipe-
     hint arrow lives on the scrollable cards row inside the
     accordion body instead.
   ============================================================= */
@media (min-width: 1200px) {
  /* Grid uniformity: stretch every cell to the same fixed row
     height so the small image (row 1) is exactly one card tall
     and the big image (rows 2-3) is exactly two cards tall. */
  html body .transparent_process_contact_block .cards_processes_group .cards_group {
    align-items: stretch !important;
    grid-auto-rows: clamp(220px, 18vw, 300px) !important;
  }
  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el {
    height: auto !important;
    min-height: 0 !important;
    padding: clamp(20px, 1.6vw, 30px) !important;
    justify-content: flex-start !important;
    align-self: stretch !important;
    gap: 0 !important;
  }
  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el h3 {
    margin: 0 0 clamp(14px, 1.2vw, 22px) 0 !important;
  }
  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el p {
    margin: 0 !important;
  }
  /* Image cells fill their grid cell completely. The base
     `transform: scaleY(0)` on the <img> waits for the IntersectionObserver
     `.visible` class â€” until then the cell would look empty, so we
     pin the image to scaleY(1) inside the grid layout. */
  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(1),
  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(5) {
    height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(1) img,
  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:nth-child(5) img {
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: cover !important;
    object-fit: cover !important;
    transform: scaleY(1) !important;
    transform-origin: top !important;
    display: block !important;
  }
}

/* =============================================================
   professional_obligations_block â€” trim the vertical breathing
   room (-70% top/bottom) so the section sits closer to the rest
   of the page, and promote the "professional commitments"
   subtitle to a real title weight/size.
   ============================================================= */
html body .professional_obligations_block .about_block h3 {
  text-transform: uppercase !important;
}

/* =============================================================
   Professional-obligations: smaller, proportional slider on
   large screens, and matching < > swiper arrows. The base
   `.slides_obligations { height: 821px }` was dominating the
   layout at every viewport; clamp it so it scales with width.
   ============================================================= */
@media (min-width: 1200px) {
  html body .professional_obligations_block .about_block .slides_obligations {
    height: clamp(420px, 38vw, 640px) !important;
  }
  html body .professional_obligations_block .about_block .slides_obligations .img_ob {
    max-width: clamp(420px, 42vw, 720px) !important;
  }
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper {
    max-width: clamp(360px, 34vw, 560px) !important;
  }
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation p {
    font-size: clamp(15px, 1.1vw, 20px) !important;
    margin-top: clamp(20px, 2vw, 36px) !important;
  }
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-pagination {
    font-size: clamp(18px, 1.5vw, 26px) !important;
    margin-top: clamp(18px, 2vw, 32px) !important;
  }
}
/* Match the two arrows â€” same box size, same icon size. The
   default `swiper-button-prev/next::after` content is "prev"/"next"
   icons sized via font-size; pin both to the same value so they
   render identically. */
html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev,
html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next {
  width: 28px !important;
  height: 28px !important;
  margin-top: -14px !important;
  color: #010101 !important;
}
html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev::after,
html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next::after {
  font-family: "Inter", sans-serif;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}
/* Swiper's default arrow glyph (icon font) does not render on the home
   diploma slider on desktop, leaving the buttons invisible. Pin explicit
   ‹ / › characters so the prev/next buttons show on large screens too
   (mobile sets its own content lower down, scoped to body.is-home-page). */
html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev::after {
  content: "‹" !important;
}
html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next::after {
  content: "›" !important;
}

/* Desktop / tablet (≥768px): the diploma slider buttons were relying on
   Swiper's default positioning and stayed invisible. Give them an explicit
   position + circular style so they actually render on large screens.
   (Mobile ≤767px keeps its own styling, scoped to body.is-home-page.) */
@media (min-width: 768px) {
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev,
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next {
    position: absolute !important;
    top: 40% !important;
    bottom: auto !important;
    width: 48px !important;
    height: 48px !important;
    margin-top: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(65, 84, 92, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 28px rgba(18, 28, 34, 0.12);
    color: #41545C !important;
    transform: translateY(-50%);
    transition: background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
    z-index: 10;
  }
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev {
    left: 0 !important;
    right: auto !important;
  }
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next {
    right: 0 !important;
    left: auto !important;
  }
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev::after,
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next::after {
    font-size: 26px !important;
  }
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev:hover,
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next:hover {
    background: #FFFFFF;
    box-shadow: 0 16px 34px rgba(18, 28, 34, 0.18);
  }
  html body .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-disabled {
    opacity: 0.4 !important;
    pointer-events: none;
  }
}

/* =============================================================
   Reviews block:
   - <770 px: only show 2 cards instead of 3.
   - â‰¥1200 px: -50% gap between section title and the cards grid.
   - "More reviews" CTA pinned flush against the cards (no gap).
   ============================================================= */
@media (max-width: 769px) {
  html body .successful_transactions_experiences_block .cards_group .about_block .card_reviews_group:nth-child(n+3) {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  html body .successful_transactions_experiences_block .title_block .titles {
    padding-top: clamp(60px, 5vw, 100px) !important;
    padding-bottom: clamp(20px, 2vw, 40px) !important;
  }
}
html body .successful_transactions_experiences_block .more_reviews .tag_reviews {
  padding-top: 0 !important;
}
html body .successful_transactions_experiences_block .more_reviews .tag_reviews a {
  margin: 0 !important;
}

/* =============================================================
   FAQ block:
   - <1200 px: -20% top/bottom padding.
   - â‰¥1200 px: -40% top/bottom padding and fluid question size
     so the accordion titles don't render at 32 px on 24" monitors.
   ============================================================= */
@media (max-width: 1199px) {
  html body .frequently_asked_questions_block .about_block {
    padding-top: calc(198px * 0.8) !important;
    padding-bottom: calc(150px * 0.8) !important;
  }
}
/* -40% top padding on phones â€” the section header was sitting
   too far below the inquiry CTA on <770 px. */
@media (max-width: 769px) {
  html body .frequently_asked_questions_block .about_block {
    padding-top: calc(198px * 0.6) !important;
    padding-bottom: calc(150px * 0.6) !important;
  }
}

/* =============================================================
   Partners carousel â€” auto-scrolling logo strip (right -> left).
   Logos come from the `inm_partner` CPT (add new partner +
   featured image in WP admin). The PHP duplicates the list once
   so the marquee animation can loop seamlessly: when the first
   copy slides fully off-screen we're at translateX(-50%) which
   is the same visual position as translateX(0). Loop restarts
   without a visible jump.
   ============================================================= */
.partners--carousel {
  width: 100%;
  overflow: hidden;
  padding: clamp(40px, 5vw, 80px) 0;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.partners--carousel .partners__track {
  display: flex;
  align-items: center;
  gap: clamp(40px, 6vw, 96px);
  width: max-content;
  animation: inmolux-partners-scroll 32s linear infinite;
  will-change: transform;
}
.partners--carousel:hover .partners__track {
  animation-play-state: paused;
}
.partners--carousel .partners__item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(48px, 5vw, 80px);
}
.partners--carousel .partners__item img {
  max-height: 100%;
  width: auto;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
  filter: grayscale(100%);
  opacity: 0.72;
  transition: filter .3s ease, opacity .3s ease;
}
/* Fallback: when no inm_partner posts exist yet, the loop renders
   text placeholders. Style them so the marquee still reads as
   intentional, not broken. */
.partners--carousel .partners__placeholder {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: clamp(28px, 2.6vw, 50px);
  line-height: 110%;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #CDCDCD;
  white-space: nowrap;
}
.partners--carousel .partners__item:hover img {
  filter: grayscale(0);
  opacity: 1;
}
@keyframes inmolux-partners-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .partners--carousel .partners__track {
    animation: none;
  }
}
@media (min-width: 1200px) {
  html body .frequently_asked_questions_block .about_block {
    padding-top: clamp(80px, 8vw, 120px) !important;
    padding-bottom: clamp(60px, 6vw, 90px) !important;
  }
  html body .frequently_asked_questions_block .about_block .questions_accardion .accordion-button .title_process {
    font-size: clamp(18px, 1.5vw, 26px) !important;
    line-height: 125% !important;
  }
  html body .frequently_asked_questions_block .about_block .title_block {
    font-size: clamp(34px, 3vw, 50px) !important;
    margin-bottom: clamp(20px, 2vw, 32px) !important;
  }
  html body .frequently_asked_questions_block .about_block .tabs a {
    font-size: clamp(15px, 1.2vw, 22px) !important;
  }
}
@media (min-width: 768px) {
  html body .professional_obligations_block {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  html body .professional_obligations_block .about_block h3 {
    font-size: clamp(28px, 2.4vw, 38px) !important;
    margin-bottom: clamp(16px, 1.6vw, 28px) !important;
    letter-spacing: 0.02em !important;
    padding-top: clamp(20px, 2vw, 36px) !important;
  }
  html body .professional_obligations_block .about_block h2 {
    margin-bottom: clamp(28px, 3vw, 48px) !important;
  }
  /* Kill the bottom padding/border_blok-style breathing room
     that the previous transparent_process section was leaving
     above this block. */
  html body .transparent_process_contact_block .go_investment_project + .container .border_blok,
  html body .transparent_process_contact_block > .container:last-child .border_blok {
    padding: 0 !important;
  }
}

/* =============================================================
   Mobile accordion (transparent_process): center each panel
   label and capitalize the first letter ("For investor" instead
   of "for investor"). Applies to the accordion header buttons.
   ============================================================= */
@media (max-width: 1199px) {
  html body .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button {
    justify-content: center !important;
    text-align: center !important;
  }
  /* Bootstrap pins its chevron via `margin-left: auto` which forces
     the icon to the right edge â€” neutralise it so the whole row
     centres in collapsed AND active state. */
  html body .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button::after {
    margin-left: 12px !important;
  }
  html body .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-button .title_process {
    justify-content: center !important;
    text-align: center !important;
    width: auto !important;
    flex: 0 1 auto !important;
    gap: 12px !important;
  }
  /* First-letter capitalisation handled in front-page.php
     (mb_strtoupper of label[0]) â€” CSS ::first-letter doesn't fire
     on flex containers like .title_process. */
}

@media (max-width: 1199px) {
  /* Reset the tabs row â€” centered, no swipe-hint arrow here. */
  html body .transparent_process_contact_block .title_block .titles .tabs {
    position: static !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-right: 0 !important;
  }
  html body .transparent_process_contact_block .title_block .titles .tabs::after {
    display: none !important;
    content: none !important;
  }
  /* Swipe-hint arrow on the mobile cards row inside each
     accordion body. The row is `overflow-x: scroll` (base rule
     line 6515) so this hints the user can drag horizontally. */
  html body .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body {
    position: relative !important;
  }
  html body .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body::after {
    content: "";
    position: absolute;
    right: clamp(10px, 2vw, 24px);
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 18px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 22' fill='none'><path d='M2 11h36m0 0l-9-8m9 8l-9 8' stroke='%2341545C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    animation: inmolux-swipe-hint 1.6s ease-in-out infinite;
    pointer-events: none;
    opacity: 0.9;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.15));
    z-index: 5;
    transition: opacity .35s ease;
  }
  html body .transparent_process_contact_block .cards_processes_group_mob_group .about_block .accordion-body.is-scrolled::after {
    opacity: 0;
  }
}

@keyframes inmolux-swipe-hint {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(12px); }
}

/* =============================================================
   Inquiry form â€” drop the decorative horizontal/vertical lines
   on the dark photo background (the ::before / ::after dividers
   and the about_block side borders). The card itself stays.
   ============================================================= */
html body .marbella_real_estate_inquiry_block::before,
html body .marbella_real_estate_inquiry_block::after {
  display: none !important;
  content: none !important;
}
html body .marbella_real_estate_inquiry_block .about_block {
  border-left: 0 !important;
  border-right: 0 !important;
}

/* =============================================================
   Footer â€” strip every decorative border line EXCEPT the two
   that frame the menu row (Projects / About / Contacts). Those
   are `footer .menu_group { border-top, border-bottom }` and
   must remain.
   ============================================================= */
html body footer .border_blok {
  border-left: 0 !important;
  border-right: 0 !important;
  padding: 0 !important;
}
html body footer .top_footer_block {
  border-top: 0 !important;
}
html body footer .top_footer_block .about_block {
  border-left: 0 !important;
  border-right: 0 !important;
  /* Fluid: ~20px en mÃ³viles, ~45px en 770px (â‰ˆaltura del logo), ~75px en 1500px, tope 90px en monitores grandes */
  padding-top: clamp(20px, 5.5vw, 90px) !important;
  padding-bottom: 41px !important;
}
/* Anular el margin-top negativo del logo (-30px en base) para que el
   padding-top mande y el hueco quede coherente en todos los anchos. */
html body footer .top_footer_block .about_block .logo {
  margin-top: 0 !important;
}
html body footer .menu_group .menu {
  border-left: 0 !important;
  border-right: 0 !important;
}
html body footer .how_to_get_to_us .about_block {
  border-left: 0 !important;
  border-right: 0 !important;
}
html body footer .bottom_texts_group .about_block {
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-top: 1.5px solid rgba(225, 225, 225, 0.2) !important;
}

/* =============================================================
   Mobile (<770 px):
   - transparent_process: hide the redundant `.tabs` row that
     appeared below the section description (the same labels are
     in the accordion below). Tight the gap left between the
     title block and the accordion (-80%).
   - transparent_process: accordion bottom padding -40% so the
     last item ("for owner") sits closer to the next section.
   - successful_transactions reviews: drop the split mob_only
     headline and show the full desktop title in uppercase.
   ============================================================= */
@media (max-width: 770px) {
  html body .transparent_process_contact_block .title_block .titles .tabs {
    display: none !important;
  }
  /* Hide the decorative image inside the title block on mobile â€”
     leaves the heading + description only. */
  html body .transparent_process_contact_block .title_block .titles .img_mini {
    display: none !important;
  }
  /* Collapse the gap between the title-block's bottom border and
     the accordion's top border so the two grey hairlines sit
     directly next to each other. */
  html body .transparent_process_contact_block .title_block .titles {
    padding-bottom: 0 !important;
  }
  html body .transparent_process_contact_block .cards_processes_group_mob_group .about_block {
    padding-top: 0 !important;
    padding-bottom: 48px !important;
  }
  html body .professional_obligations_block {
    padding-top: 48px !important;
  }
  /* Reviews title â€” use the single full headline (uppercase)
     instead of the two split mob_only fragments. */
  html body .successful_transactions_experiences_block .title_block .titles h2.mob_only,
  html body .successful_transactions_experiences_block .title_block .titles h3.mob_only,
  html body .successful_transactions_experiences_block .title_block .titles .scroll_line.mob_only {
    display: none !important;
  }
  html body .successful_transactions_experiences_block .title_block .titles h2:not(.mob_only):not(.second_title) {
    display: block !important;
    text-transform: uppercase !important;
    font-family: "Felidae", "Cormorant Garamond", serif !important;
    font-weight: 400 !important;
    font-size: clamp(22px, 6vw, 32px) !important;
    line-height: 115% !important;
    letter-spacing: 0.02em !important;
    text-align: center !important;
    color: #010101 !important;
    margin: 0 auto 20px !important;
    padding: 0 16px !important;
    max-width: 100% !important;
  }
}

/* =============================================================
   Transparent process: per-panel CTA visibility.
   Only the button matching the active tab is shown â€” JS in main.js
   syncs `.active` onto the matching `a[data-panel]`.
   ============================================================= */
html body .transparent_process_contact_block .go_investment_project .tag_investment a[data-panel] {
  display: none !important;
}
html body .transparent_process_contact_block .go_investment_project .tag_investment a[data-panel].active {
  display: flex !important;
}

/* =============================================================
   770â€“1199 px: "Discover the guide for X" CTAs render as outline
   buttons (transparent background, black text, 1 px black border).
   Hover restores the standard filled style (#41545C / white).
   Scoped to the transparent_process section ONLY.
   ============================================================= */
@media (min-width: 770px) and (max-width: 1199px) {
  html body .transparent_process_contact_block .go_investment_project .tag_investment a {
    background-color: transparent !important;
    color: #010101 !important;
    border: 1px solid #010101 !important;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease !important;
  }
  html body .transparent_process_contact_block .go_investment_project .tag_investment a:hover,
  html body .transparent_process_contact_block .go_investment_project .tag_investment a:focus {
    background-color: #41545C !important;
    color: #FFFFFF !important;
    border-color: #41545C !important;
  }
}

/* =============================================================
   Footer map (Leaflet) â€” render in grayscale + slight contrast
   bump so the OSM tiles match the dark teal footer aesthetic.
   Markers/overlays/attribution are excluded so they keep their
   real colors and remain readable.
   ============================================================= */
html body footer .how_to_get_to_us .about_block .map_block .map .leaflet-tile-pane {
  filter: grayscale(100%) contrast(0.95) brightness(0.97);
  -webkit-filter: grayscale(100%) contrast(0.95) brightness(0.97);
}

/* =============================================================
   Home page â€” sweep left/right decorative hairlines off every
   section container that draws them. Top/bottom dividers stay
   where present.
   ============================================================= */
html body .managing_risks_market_block .title_block,
html body .managing_risks_market_block .title_block .titles,
html body .managing_risks_market_block .cards_group,
html body .managing_risks_market_block .cards_group .about_block,
html body .managing_risks_market_block .border_blok,
html body .managing_risks_market_block .discuss_my_request .tag_discuss,
html body .transparent_process_contact_block .title_block,
html body .transparent_process_contact_block .title_block .titles,
html body .transparent_process_contact_block .cards_processes_group,
html body .transparent_process_contact_block .cards_processes_group .container,
html body .transparent_process_contact_block .cards_processes_group .cards_group,
html body .transparent_process_contact_block .cards_processes_group_mob_group .about_block,
html body .transparent_process_contact_block .go_investment_project,
html body .transparent_process_contact_block .go_investment_project .tag_investment,
html body .transparent_process_contact_block .border_blok,
html body .marbella_solutions_wealth_impact,
html body .marbella_solutions_wealth_impact .about_block,
html body .marbella_solutions_wealth_impact .title_block,
html body .marbella_solutions_wealth_impact .title_block .titles,
html body .experience_eliminates_clients,
html body .experience_eliminates_clients .title_block,
html body .experience_eliminates_clients .title_block .titles,
html body .experience_eliminates_clients .cards_eliminetes_group,
html body .experience_eliminates_clients .cards_eliminetes_group .cards_group,
html body .experience_eliminates_clients .border_blok,
html body .successful_transactions_experiences_block,
html body .successful_transactions_experiences_block .title_block,
html body .successful_transactions_experiences_block .title_block .titles,
html body .successful_transactions_experiences_block .cards_group,
html body .successful_transactions_experiences_block .cards_group .about_block,
html body .successful_transactions_experiences_block .more_reviews,
html body .successful_transactions_experiences_block .more_reviews .tag_reviews,
html body .successful_transactions_experiences_block .border_blok,
html body .frequently_asked_questions_block,
html body .frequently_asked_questions_block .about_block,
html body .one_partners_entire_process,
html body .one_partners_entire_process .about_block,
html body .professional_obligations_block,
html body .professional_obligations_block .about_block,
html body .real_estate_marbella_block,
html body .real_estate_marbella_block .title_block,
html body .real_estate_marbella_block .title_block .titles,
html body .real_estate_marbella_block .about_block,
html body .marbella_real_estate_inquiry_block .about_block,
html body .ab_awards,
html body .ab_awards .ab_awards__grid {
  border-left: 0 !important;
  border-right: 0 !important;
}

/* =============================================================
   Mobile (<770 px) â€” transparent_process title block:
   Symmetric vertical padding (Margin X top + Margin X bottom)
   so the title and subtitle are visually centred in their band.
   Inner gap between h2 and p is exactly half of the outer
   padding, matching the desktop pattern.
   ============================================================= */
@media (max-width: 770px) {
  html body .transparent_process_contact_block .title_block .titles {
    padding-top: clamp(32px, 7vw, 56px) !important;
    padding-bottom: clamp(32px, 7vw, 56px) !important;
  }
  html body .transparent_process_contact_block .title_block .titles h2 {
    margin-bottom: clamp(16px, 3.5vw, 28px) !important;
  }
  html body .transparent_process_contact_block .title_block .titles p {
    margin-bottom: 0 !important;
  }
}

/* =============================================================
   Home "SELECCIÃ“N DE INMUEBLES" â€” CTA button perfectly centred
   horizontally regardless of any breakpoint that introduces
   asymmetric padding on the inner card (e.g. the tablet rule at
   `.personalized_selection_block .about_block .group_inf_personalized
   { padding: 50px 13px 52px 22px }` shifted the button visually).
   ============================================================= */
html body .personalized_selection_block .about_block .group_inf_personalized a {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
@media (max-width: 1199px) {
  html body .personalized_selection_block .about_block .group_inf_personalized {
    padding-left: var(--pad-48) !important;
    padding-right: var(--pad-48) !important;
  }
}

/* =============================================================
   Footer main menu (For Buyers / For Sellers / Investments /
   Projects / About / Contacts) â€” +30% font-size at tablet width
   (770â€“1199 px). Base â‰¤1199 rule is 12px; Ã—1.3 â‰ˆ 15.6 px.
   ============================================================= */
@media (min-width: 770px) and (max-width: 1199px) {
  html body footer .menu_group .menu ul li a {
    font-size: 15.6px !important;
  }
}

/* Home awards logos: larger presence and stable loading. */
html body .cards_logos_informations .about_block {
  align-items: stretch;
}
html body .cards_logos_informations .about_block .card_partner {
  height: clamp(280px, 24vw, 420px) !important;
  min-height: 280px;
  padding: clamp(24px, 2.2vw, 36px) !important;
  isolation: isolate;
}
html body .cards_logos_informations .about_block .card_partner .logos_partner {
  display: block;
  width: clamp(240px, 22vw, 460px) !important;
  height: auto !important;
  max-width: 88% !important;
  max-height: clamp(130px, 10vw, 210px) !important;
  object-fit: contain;
  object-position: center;
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform, opacity;
  transition: opacity .32s ease, transform .32s ease !important;
}
html body .cards_logos_informations .about_block .card_partner .descriptions_card {
  max-width: min(86%, 560px);
  transition: opacity .32s ease, transform .32s ease !important;
}
html body .cards_logos_informations .about_block .card_partner:hover .logos_partner {
  opacity: 0.08;
  transform: scale(0.92);
}
@media (max-width: 1199px) {
  html body .cards_logos_informations .about_block .card_partner {
    height: clamp(250px, 30vw, 340px) !important;
    min-height: 250px;
  }
  html body .cards_logos_informations .about_block .card_partner .logos_partner {
    width: clamp(200px, 24vw, 320px) !important;
    max-height: clamp(110px, 11vw, 170px) !important;
  }
}
@media (max-width: 767px) {
  html body .cards_logos_informations .about_block .card_partner {
    min-width: clamp(260px, 76vw, 340px) !important;
    height: clamp(240px, 74vw, 320px) !important;
    min-height: 240px;
  }
  html body .cards_logos_informations .about_block .card_partner .logos_partner {
    width: clamp(200px, 58vw, 280px) !important;
    max-height: 140px !important;
  }
}
@media (max-width: 360px) {
  html body .cards_logos_informations .about_block .card_partner {
    min-width: 240px !important;
    height: 220px !important;
    min-height: 220px;
  }
  html body .cards_logos_informations .about_block .card_partner .logos_partner {
    width: 190px !important;
    max-height: 120px !important;
  }
}

/* =============================================================
   768â€“1199 px: extra breathing room BELOW the "Discover the
   guide for X" CTA button so it doesn't sit too close to the
   "Professional commitments" section below. Applied as a
   margin-bottom on the visible (.active) button itself â€” keeps
   the gap external to the button's own padding so the outline
   box doesn't grow taller.
   ============================================================= */
@media (min-width: 768px) and (max-width: 1199px) {
  html body .transparent_process_contact_block .go_investment_project .tag_investment a[data-panel].active {
    margin-bottom: clamp(40px, 4vw, 72px) !important;
  }
}

@media (min-width: 770px) and (max-width: 1199px) {
  html body.is-home-page .transparent_process_contact_block {
    display: none !important;
  }
}


/* =============================================================
   Mega-menu: "GO TO BLOG" button (below ASK QUESTIONS).
   Same outlined style as .ask_questions, with a top gap so the
   two buttons stack neatly.
   ============================================================= */
header .about_block .mega-menu .bottom_menu_group .contacts_group .go_blog {
    font-family: "Felidae", "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 25px;
    line-height: 150%;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #000000;
    padding: 21px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.8px solid #000000;
    background: transparent;
    text-decoration: none;
    margin-top: 16px;
    transition: background-color .25s ease, color .25s ease;
    box-sizing: border-box;
}
header .about_block .mega-menu .bottom_menu_group .contacts_group .go_blog:hover {
    background-color: #000000;
    color: #FFFFFF;
}

@media (max-width: 1500px) {
    header .about_block .mega-menu .bottom_menu_group .contacts_group .go_blog {
        font-size: 16px;
        line-height: 115%;
        padding: 16px 0;
        margin-top: 12px;
    }
}
@media (max-width: 768px) {
    header .about_block .mega-menu .bottom_menu_group .contacts_group .go_blog {
        font-size: 14px;
        padding: 14px 0;
        margin-top: 12px;
    }
}
/* =============================================================
   HOME â€” Latest Blog Posts block
   3 cards on desktop (>=770px), 2 cards on mobile (<770px).
   Reuses the .about_block container shell (side rails + padding)
   so it matches the rest of the home page's section rhythm.
   ============================================================= */
.home_blog_block .about_block {
    border-left: 1.5px solid #E1E1E1;
    border-right: 1.5px solid #E1E1E1;
    padding: 150px 80px 150px;
    box-sizing: border-box;
}
.home_blog_block .home_blog_head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 70px;
    flex-wrap: wrap;
}
.home_blog_block .home_blog_kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #8C8F94;
    margin-bottom: 16px;
}
.home_blog_block .home_blog_kicker::before {
    content: "";
    width: 28px;
    height: 1px;
    background: #8C8F94;
    display: inline-block;
}
.home_blog_block .home_blog_head .title_block {
    flex: 1 1 auto;
    font-family: "Felidae", "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 0.02em;
    color: #010101;
    margin: 0;
    text-transform: uppercase;
}
.home_blog_block .home_blog_head .home_blog_kicker {
    flex: 0 0 100%;
    margin-bottom: 12px;
}
.home_blog_block .home_blog_more {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #232323;
    text-decoration: none;
    transition: color .25s ease, gap .25s ease;
    flex: 0 0 auto;
}
.home_blog_block .home_blog_more svg {
    width: 32px;
    height: 32px;
    transition: transform .25s ease;
    flex-shrink: 0;
}
.home_blog_block .home_blog_more svg circle { transition: stroke .25s ease; }
.home_blog_block .home_blog_more svg line   { transition: stroke .25s ease; }
.home_blog_block .home_blog_more:hover { color: #010101; gap: 18px; }
.home_blog_block .home_blog_more:hover svg circle,
.home_blog_block .home_blog_more:hover svg line { stroke: #010101; }
.home_blog_block .home_blog_more--bottom {
    display: none;
}

.home_blog_block .home_blog_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px 32px;
}
.home_blog_block .home_blog_card {
    display: flex;
    flex-direction: column;
    background: transparent;
}
.home_blog_block .home_blog_card__photo {
    display: block;
    width: 100%;
    overflow: hidden;
    margin-bottom: 24px;
    aspect-ratio: 4 / 3;
}
.home_blog_block .home_blog_card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease, opacity .25s ease;
}
.home_blog_block .home_blog_card__photo:hover img {
    transform: scale(1.04);
    opacity: 0.94;
}
.home_blog_block .home_blog_card__body {
    display: flex;
    flex-direction: column;
}
.home_blog_block .home_blog_card__date {
    display: block;
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    letter-spacing: 0.06em;
    color: #8C8F94;
    margin-bottom: 12px;
    text-transform: uppercase;
}
.home_blog_block .home_blog_card__title {
    font-family: "Felidae", "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 120%;
    letter-spacing: 0.01em;
    color: #010101;
    margin: 0 0 14px;
}
.home_blog_block .home_blog_card__title a {
    color: inherit;
    text-decoration: none;
    transition: color .2s ease;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home_blog_block .home_blog_card__title a:hover { color: #3C3C3B; }
.home_blog_block .home_blog_card__excerpt {
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 145%;
    color: #3C3C3B;
    margin: 0 0 22px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home_blog_block .home_blog_card__btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    align-self: flex-start;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 100%;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #232323;
    text-decoration: none;
    transition: color .25s ease, gap .25s ease;
}
.home_blog_block .home_blog_card__btn svg {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    transition: transform .25s ease;
}
.home_blog_block .home_blog_card__btn svg circle,
.home_blog_block .home_blog_card__btn svg line { transition: stroke .25s ease; }
.home_blog_block .home_blog_card__btn:hover { color: #010101; gap: 16px; }
.home_blog_block .home_blog_card__btn:hover svg circle,
.home_blog_block .home_blog_card__btn:hover svg line { stroke: #010101; }

.home_blog_block .home_blog_empty {
    padding: 60px 0;
    font-family: "Inter", sans-serif;
    color: #8C8F94;
    text-align: center;
}

/* Tablet â€” keep 3 columns but shrink padding and gap */
@media (max-width: 1199px) {
    .home_blog_block .about_block { padding: 100px 40px; }
    .home_blog_block .home_blog_head { margin-bottom: 50px; gap: 24px; }
    .home_blog_block .home_blog_head .title_block { font-size: 40px; }
    .home_blog_block .home_blog_grid { gap: 36px 24px; }
    .home_blog_block .home_blog_card__title { font-size: 22px; }
}

/* Below 770px â€” 2 columns, hide the 3rd card, drop the header CTA
   (it reappears below the grid for thumb-reach) */
@media (max-width: 769px) {
    .home_blog_block .about_block {
        padding: 70px 20px;
        border-left: none;
        border-right: none;
    }
    .home_blog_block .home_blog_head {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 32px;
        gap: 12px;
    }
    .home_blog_block .home_blog_head .title_block {
        font-size: 30px;
        line-height: 115%;
    }
    .home_blog_block .home_blog_more--top { display: none; }
    .home_blog_block .home_blog_more--bottom {
        display: inline-flex;
        margin-top: 32px;
    }
    .home_blog_block .home_blog_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 16px;
    }
    /* Mobile shows 2 posts only, regardless of how many WP returned. */
    .home_blog_block .home_blog_grid .home_blog_card:nth-child(n+3) {
        display: none;
    }
    .home_blog_block .home_blog_card__photo { margin-bottom: 14px; aspect-ratio: 4 / 3; }
    .home_blog_block .home_blog_card__date { font-size: 11px; margin-bottom: 8px; }
    .home_blog_block .home_blog_card__title { font-size: 18px; margin-bottom: 10px; }
    .home_blog_block .home_blog_card__excerpt {
        font-size: 13px;
        line-height: 140%;
        margin-bottom: 14px;
        -webkit-line-clamp: 2;
    }
    .home_blog_block .home_blog_card__btn { font-size: 11px; gap: 8px; }
    .home_blog_block .home_blog_card__btn svg { width: 22px; height: 22px; }
}

@media (max-width: 380px) {
    .home_blog_block .about_block { padding: 56px 14px; }
    .home_blog_block .home_blog_grid { gap: 22px 12px; }
    .home_blog_block .home_blog_head .title_block { font-size: 26px; }
    .home_blog_block .home_blog_card__title { font-size: 16px; }
}

/* =========================================================
   TP MOBILE CAROUSEL (Investor / Buyer / Owner)
   Replaces the old Bootstrap accordion on the home page at
   mobile / iPad widths. Uses Swiper with slidesPerView:auto
   so the CSS width on .swiper-slide controls the layout
   (80% main + 10% peek on the right of the next card).
   ========================================================= */
@media (max-width: 1199px) {
  .cards_processes_group_mob_group .tp-mob-swiper-wrap {
    padding: 60px 0 40px;
    overflow: hidden;
  }
  .cards_processes_group_mob_group .tp-mob-swiper-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px 28px;
    gap: 14px;
  }
  .cards_processes_group_mob_group .tp-mob-swiper-title {
    font-family: "Felidae", "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.1;
    color: #010101;
    flex: 1;
    text-align: center;
  }
  .cards_processes_group_mob_group .tp-mob-swiper-prev,
  .cards_processes_group_mob_group .tp-mob-swiper-next {
    background: transparent;
    border: 1px solid #E1E1E1;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3C3C3B;
    font-family: serif;
    font-size: 24px;
    line-height: 1;
    padding: 0;
    transition: border-color .25s ease, color .25s ease, background-color .25s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .cards_processes_group_mob_group .tp-mob-swiper-prev:hover,
  .cards_processes_group_mob_group .tp-mob-swiper-next:hover {
    border-color: #010101;
    color: #010101;
  }
  .cards_processes_group_mob_group .tp-mob-swiper-prev:disabled,
  .cards_processes_group_mob_group .tp-mob-swiper-next:disabled {
    opacity: 0.35;
    cursor: default;
  }
  .cards_processes_group_mob_group .tp-mob-swiper {
    overflow: visible;
    padding: 0 0 0 16px;
  }
  .cards_processes_group_mob_group .tp-mob-swiper .swiper-slide {
    width: 80%;
    height: auto;
    transition: opacity .35s ease;
  }
  .cards_processes_group_mob_group .tp-mob-swiper .swiper-slide:not(.swiper-slide-active) {
    opacity: 0.35;
  }
  .cards_processes_group_mob_group .tp-mob-slide__inner {
    border: 1px solid #E1E1E1;
    padding: 24px 18px;
    background: #FFFFFF;
    height: 100%;
  }
  .cards_processes_group_mob_group .tp-mob-slide__title {
    font-family: "Felidae", "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.1;
    color: #010101;
    margin: 0 0 18px;
  }
  .cards_processes_group_mob_group .tp-mob-slide__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 22px;
    padding: 14px 18px;
    border: 1px solid #010101;
    color: #010101;
    text-decoration: none;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    transition: background-color .25s ease, color .25s ease;
  }
  .cards_processes_group_mob_group .tp-mob-slide__cta:hover {
    background-color: #010101;
    color: #FFFFFF;
  }
}

/* =========================================================
   Home hard override
   Keep the light-home header + premium glass treatment stable across
   Polylang variants and across the late legacy header rules above.
   ========================================================= */
body.is-home-page header,
body.is-home-page header .about_block,
body.is-home-page header .about_block .top_header_group,
body.is-home-page header .about_block .bottom_header {
  background: transparent !important;
  box-shadow: none !important;
  border-bottom-color: transparent !important;
}
body.is-home-page header .about_block .top_header_group > .logo img {
  filter: brightness(0) saturate(100%) !important;
}
body.is-home-page header .about_block .top_header_group .menu_burger .burger span,
body.is-home-page header .about_block .bottom_header .menu_burger .burger span {
  background: #010101 !important;
}
body.is-home-page header .about_block .top_header_group .menu_burger > span,
body.is-home-page header .about_block .bottom_header .menu_burger > span,
body.is-home-page header .about_block .top_header_group .menu ul li a,
body.is-home-page header .about_block .bottom_header .menu ul li a,
body.is-home-page header .about_block .top_header_group .right_contacts .phone_number,
body.is-home-page header .about_block .top_header_group .right_contacts .consultation {
  color: #010101 !important;
}
body.is-home-page header .about_block .top_header_group .right_contacts .consultation,
body.is-home-page header .about_block .top_header_group .right_contacts .consultation:hover {
  color: #010101 !important;
  background: transparent !important;
  border-color: rgba(1, 1, 1, 0.35) !important;
}
body.is-home-page header .lang-dropdown-btn {
  color: #010101 !important;
  background: transparent !important;
  border-color: rgba(1, 1, 1, 0.35) !important;
}
body.is-home-page header .lang-dropdown-btn:hover,
body.is-home-page header .lang-dropdown.open .lang-dropdown-btn {
  color: #010101 !important;
  background: transparent !important;
  border-color: rgba(1, 1, 1, 0.55) !important;
}
body.is-home-page header .lang-arrow {
  color: currentColor !important;
}

@media (max-width: 1199px) {
  .transparent_process_contact_block .cards_processes_group {
    display: none !important;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group {
    display: block !important;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .about_block {
    padding: 0 !important;
  }
  .transparent_process_contact_block .cards_processes_group_mob_group .tp-mob-swiper-wrap {
    display: block !important;
    padding-top: 56px !important;
  }
}

/* =============================================================
   HOME FEATURED PROPERTIES
   ============================================================= */
.home_featured_properties_block {
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 6vw, 92px) 0 clamp(58px, 7vw, 108px);
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.78), transparent 30%),
    radial-gradient(circle at bottom left, rgba(65, 84, 92, 0.14), transparent 34%),
    linear-gradient(180deg, #FCFCFB 0%, #F5F0E8 56%, #ECE7DF 100%);
}
.home_featured_properties_block::before,
.home_featured_properties_block::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
  z-index: 0;
}
.home_featured_properties_block::before {
  width: clamp(180px, 28vw, 380px);
  height: clamp(180px, 28vw, 380px);
  left: -8%;
  bottom: -14%;
  background: rgba(65, 84, 92, 0.12);
  filter: blur(28px);
}
.home_featured_properties_block::after {
  width: clamp(220px, 34vw, 460px);
  height: clamp(220px, 34vw, 460px);
  right: -10%;
  top: -14%;
  background: rgba(1, 17, 0, 0.06);
  filter: blur(22px);
}
.home_featured_properties__shell {
  position: relative;
  z-index: 1;
  padding: clamp(22px, 3vw, 40px);
  border-radius: 0;
  border: 1px solid rgba(60, 60, 59, 0.10);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.90), rgba(252, 250, 247, 0.82));
  box-shadow: 0 24px 60px rgba(22, 30, 34, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.home_featured_properties__head {
  display: grid;
  grid-template-columns: minmax(0, 1.24fr) minmax(320px, 420px);
  gap: 20px 32px;
  align-items: start;
  margin-bottom: clamp(20px, 2.6vw, 30px);
}
.home_featured_properties__titles,
.home_featured_properties__side {
  display: grid;
  gap: 16px;
}
.home_featured_properties__titles {
  max-width: min(920px, 100%);
}
.home_featured_properties__side {
  justify-self: end;
  align-content: start;
  justify-items: center;
  max-width: 396px;
}
.home_featured_properties__kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 9px 14px;
  border-radius: 0;
  border: 1px solid rgba(65, 84, 92, 0.16);
  background: rgba(65, 84, 92, 0.08);
  color: #41545C;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.home_featured_properties__title {
  color: #010101;
  font-family: "Felidae", serif;
  font-size: clamp(34px, 4.4vw, 64px);
  line-height: 0.95;
  max-width: 13.2ch;
}
.home_featured_properties__title span {
  color: #41545C;
  font-style: italic;
}
.home_featured_properties__intro {
  max-width: 31ch;
  color: #3C3C3B;
  font-size: clamp(15px, 1.14vw, 19px);
  line-height: 1.62;
  text-align: left;
}
.home_featured_properties__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: fit-content;
  padding: 14px 20px;
  border-radius: 0;
  background: #41545C;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: background-color 0.28s ease, transform 0.28s ease;
}
.home_featured_properties__cta svg {
  width: 34px;
  height: 34px;
}
.home_featured_properties__cta svg circle,
.home_featured_properties__cta svg line {
  stroke: #FFFFFF;
}
.home_featured_properties__cta:hover {
  background: #010101;
  transform: translateY(-2px);
}
.home_featured_properties__slider {
  position: relative;
  margin-top: -6px;
}
.home_featured_properties_block.is-recentering .home-featured-swiper .swiper-wrapper {
  transition-duration: 0ms !important;
}
.home_featured_properties_block.is-recentering .home-featured-swiper .swiper-slide {
  transition: none !important;
}
.home-featured-swiper {
  overflow: visible !important;
}
.home-featured-swiper .swiper-slide {
  height: auto;
  transition: transform 0.45s ease, opacity 0.45s ease;
  opacity: 0.56;
  transform: translateY(16px) scale(0.93);
}
.home-featured-swiper .swiper-slide-prev,
.home-featured-swiper .swiper-slide-next {
  opacity: 0.78;
  transform: translateY(8px) scale(0.97);
}
.home-featured-swiper .swiper-slide-active {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.home-featured-swiper .swiper-slide-active .home_featured_card {
  border-radius: 30px;
}
.home_featured_card {
  position: relative;
  display: flex;
  min-height: clamp(520px, 72vh, 760px);
  border-radius: 30px;
  overflow: hidden;
  color: #FFFFFF;
  background: #140D09;
  box-shadow: 0 26px 60px rgba(16, 8, 4, 0.28);
}
.home_featured_card__media,
.home_featured_card__media img,
.home_featured_card__veil {
  position: absolute;
  inset: 0;
}
.home_featured_card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home_featured_card__veil {
  background:
    linear-gradient(180deg, rgba(12, 8, 6, 0.14) 0%, rgba(12, 8, 6, 0.05) 22%, rgba(12, 8, 6, 0.72) 74%, rgba(12, 8, 6, 0.94) 100%),
    linear-gradient(120deg, rgba(255, 255, 255, 0.08), transparent 42%);
}
.home_featured_card__chips {
  position: absolute;
  inset: 18px 18px auto 18px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.home_featured_card__chips span,
.home_featured_card__meta span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(13, 9, 7, 0.34);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #FFF9F2;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.home_featured_card__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  margin-top: auto;
  padding: clamp(22px, 3vw, 34px);
}
.home_featured_card__location {
  margin-bottom: 12px;
  color: rgba(247, 225, 206, 0.95);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.home_featured_card__title {
  margin-bottom: 16px;
  color: #FFFFFF;
  font-family: "Felidae", serif;
  font-size: clamp(28px, 3.1vw, 48px);
  line-height: 0.94;
  max-width: 11.5ch;
}
.home_featured_card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.home_featured_card__meta span {
  background: rgba(255, 255, 255, 0.08);
}
.home_featured_card__foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}
.home_featured_card__price {
  display: inline-flex;
  align-items: flex-end;
  gap: 8px;
  color: #FFFFFF;
  font-size: clamp(24px, 1.9vw, 38px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.03em;
}
.home_featured_card__price em {
  font-style: normal;
  font-size: 0.68em;
  line-height: 1.1;
  opacity: 0.9;
}
.home_featured_card__link {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  gap: 12px;
  color: #F6DFC8;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-align: right;
}
.home_featured_card__link svg {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
}
.home_featured_card__link svg circle,
.home_featured_card__link svg line {
  stroke: #F6DFC8;
}
.home-featured-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-top: -32px;
  border: 1px solid rgba(60, 60, 59, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #010101;
  box-shadow: 0 12px 28px rgba(22, 30, 34, 0.14);
  cursor: pointer;
  transition: background-color 0.28s ease, color 0.28s ease, transform 0.28s ease;
}
.home-featured-prev {
  left: clamp(-12px, -1vw, -6px);
}
.home-featured-next {
  right: clamp(-12px, -1vw, -6px);
}
.home-featured-nav:hover {
  background: #41545C;
  color: #FFFFFF;
  transform: translateY(-2px);
}
.home-featured-pagination {
  margin-top: 22px;
  color: #41545C;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-align: center;
  text-transform: uppercase;
}
.home_featured_properties_block.is-single .home-featured-nav,
.home_featured_properties_block.is-single .home-featured-pagination {
  display: none !important;
}
.home_featured_properties_block.is-single .home-featured-swiper .swiper-slide {
  opacity: 1;
  transform: none;
}
@media (min-width: 1280px) {
  .home_featured_properties__head {
    grid-template-columns: minmax(260px, 1fr) minmax(420px, 760px) minmax(260px, 1fr);
    gap: 18px 32px;
    align-items: start;
  }
  .home_featured_properties__titles {
    display: contents;
  }
  .home_featured_properties__kicker {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    justify-self: start;
    padding: 15px 28px;
    font-size: 13px;
    letter-spacing: 0.26em;
  }
  .home_featured_properties__title {
    grid-column: 2;
    grid-row: 1;
    max-width: 11.6ch;
    margin: 0 auto;
    text-align: center;
    justify-self: center;
  }
  .home_featured_properties__side {
    grid-column: 3;
    grid-row: 1;
    width: 100%;
    padding-top: 8px;
    justify-self: end;
    justify-items: center;
  }
  .home_featured_properties__slider {
    margin-top: -18px;
  }
}
@media (max-width: 1279px) {
  .home_featured_properties__head {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .home_featured_properties__titles,
  .home_featured_properties__side {
    justify-items: center;
  }
  .home_featured_properties__title,
  .home_featured_properties__intro {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .home_featured_properties__kicker {
    margin-left: auto;
    margin-right: auto;
  }
  .home_featured_properties__side {
    justify-self: center;
  }
}
@media (max-width: 1199px) {
  .home_featured_properties__head {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .home_featured_properties__title,
  .home_featured_properties__intro {
    max-width: none;
  }
  .home_featured_properties__side {
    justify-self: center;
  }
  .home_featured_properties__slider {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .home_featured_properties_block {
    padding: 48px 0 72px;
  }
  .home_featured_properties__shell {
    padding: 18px;
    border-radius: 0;
  }
  .home_featured_properties__head {
    gap: 18px;
    margin-bottom: 22px;
  }
  .home_featured_properties__kicker {
    font-size: 10px;
    letter-spacing: 0.18em;
  }
  .home_featured_properties__title {
    font-size: clamp(28px, 9vw, 42px);
    line-height: 1;
    margin: 0 auto;
    text-align: center;
  }
  .home_featured_properties__intro {
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
  }
  .home_featured_properties__cta {
    width: 100%;
    justify-content: space-between;
    padding: 13px 16px;
  }
  .home_featured_properties__titles,
  .home_featured_properties__side {
    justify-items: center;
  }
  .home-featured-swiper .swiper-slide,
  .home-featured-swiper .swiper-slide-prev,
  .home-featured-swiper .swiper-slide-next,
  .home-featured-swiper .swiper-slide-active {
    opacity: 1;
    transform: none;
  }
  .home_featured_card {
    min-height: clamp(560px, 78vh, 700px);
    border-radius: 24px;
  }
  .home_featured_card__chips {
    inset: 14px 14px auto 14px;
  }
  .home_featured_card__content {
    padding: 18px 16px 20px;
  }
  .home_featured_card__title {
    font-size: clamp(24px, 8vw, 34px);
    max-width: none;
  }
  .home_featured_card__foot {
    align-items: flex-start;
    flex-direction: column;
  }
  .home_featured_card__link {
    text-align: left;
  }
  .home-featured-nav {
    width: 52px;
    height: 52px;
    margin-top: -26px;
  }
  .home-featured-prev {
    left: 8px;
  }
  .home-featured-next {
    right: 8px;
  }
}

/* =============================================================
   HOME FINISHING OVERRIDES
   ============================================================= */
html body.is-home-page .marbella_real_estate_inquiry_block.second_inquiry__block .about_block {
  padding-top: 0 !important;
  padding-bottom: clamp(14px, 1.5vw, 18px) !important;
}
html body.is-home-page .marbella_real_estate_inquiry_block.second_inquiry__block .about_block .form_group {
  padding-top: clamp(10px, 1vw, 16px) !important;
  padding-bottom: clamp(24px, 2vw, 32px) !important;
}
html body.is-home-page .marbella_real_estate_inquiry_block.second_inquiry__block .about_block .form_group form h4 {
  margin: 24px 0 10px !important;
}
html body.is-home-page .marbella_real_estate_inquiry_block.second_inquiry__block .about_block .form_group form > button {
  margin-bottom: 12px !important;
}
html body.is-home-page .marbella_real_estate_inquiry_block.home_featured_inquiry_bridge {
  background-image:
    linear-gradient(180deg, rgba(236, 231, 223, 0.96) 0%, rgba(245, 240, 232, 0.82) 20%, rgba(255, 255, 255, 0.94) 48%, #FFFFFF 100%),
    url(../images/bg_form.avif) !important;
  background-color: #FFFFFF;
}
html body.is-home-page .marbella_real_estate_inquiry_block.home_featured_inquiry_bridge::before {
  top: 0 !important;
  background-color: rgba(225, 225, 225, 0.28) !important;
}
html body.is-home-page .marbella_real_estate_inquiry_block.home_featured_inquiry_bridge::after {
  background-color: rgba(225, 225, 225, 0.22) !important;
}
html body.is-home-page .marbella_real_estate_inquiry_block.home_featured_inquiry_bridge .about_block {
  padding-top: clamp(58px, 5vw, 94px) !important;
  padding-bottom: clamp(78px, 6vw, 110px) !important;
}

@media (min-width: 992px) {
  header .about_block .mega-menu .bottom_menu_group {
    border-bottom: none;
  }
  header .about_block .mega-menu .bottom_menu_group .contacts_group {
    border-left: none;
    border-bottom: none;
    padding: 63px 34px 50px 0;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects {
    border-left: 1.6px solid #E1E1E1;
    padding: 51px 58px 50px 44px;
    max-width: 548px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main {
    padding: 51px 20px 50px 62px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul {
    column-gap: 78px;
    row-gap: 38px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul li a {
    display: block;
    padding-right: 12px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main ul:nth-child(2) {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects .sliders_group,
  header .about_block .mega-menu .bottom_menu_group .top_projects .title_projects {
    max-width: 500px;
  }
}

@media (min-width: 1280px) {
  header .about_block .mega-menu .bottom_menu_group .contacts_group {
    padding-right: 42px;
  }
  header .about_block .mega-menu .bottom_menu_group .top_projects {
    padding: 51px 72px 50px 54px;
    max-width: 576px;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main {
    padding-left: 72px;
  }
}

html body .managing_risks_market_block .cards_group .about_block .card_risks > .text_card:first-child {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: clamp(170px, 12vw, 248px);
}

html body .managing_risks_market_block .cards_group .about_block .card_risks > .text_card:first-child h3 {
  min-height: clamp(66px, 4.4vw, 108px);
  margin-bottom: clamp(10px, 0.9vw, 16px);
}

html body .managing_risks_market_block .cards_group .about_block .card_risks > .text_card:first-child p {
  min-height: clamp(88px, 6vw, 140px);
  margin: 0;
}

@media (max-width: 1199px) {
  html body .managing_risks_market_block .cards_group .about_block .card_risks > .text_card:first-child {
    min-height: clamp(124px, 24vw, 188px);
  }

  html body .managing_risks_market_block .cards_group .about_block .card_risks > .text_card:first-child h3 {
    min-height: clamp(42px, 8vw, 74px);
  }

  html body .managing_risks_market_block .cards_group .about_block .card_risks > .text_card:first-child p {
    min-height: clamp(56px, 12vw, 104px);
  }
}

@media (min-width: 1200px) {
  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:not(.img-wrapper) {
    justify-content: flex-start !important;
  }

  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:not(.img-wrapper) h3 {
    min-height: clamp(72px, 5vw, 116px);
    display: flex;
    align-items: flex-end;
    margin: 0 0 clamp(14px, 1.2vw, 22px) 0 !important;
  }

  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:not(.img-wrapper) p {
    min-height: clamp(96px, 6vw, 148px);
    margin: 0 !important;
  }
}

@media (max-width: 1200px) {
  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:not(.img-wrapper) {
    justify-content: flex-start !important;
  }

  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:not(.img-wrapper) h3 {
    min-height: 52px;
    display: flex;
    align-items: flex-end;
    margin: 0 0 12px 0 !important;
  }

  html body .transparent_process_contact_block .cards_processes_group .cards_group .card_el:not(.img-wrapper) p {
    min-height: 92px;
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  html body.is-home-page .professional_obligations_block {
    padding: clamp(48px, 12vw, 72px) 0 !important;
    background: linear-gradient(180deg, #F5F4F0 0%, #FAFAF8 42%, #FFFFFF 100%) !important;
  }

  html body.is-home-page .professional_obligations_block .about_block h3 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin: 0 auto 18px !important;
    padding: 12px 22px !important;
    border: 1px solid rgba(65, 84, 92, 0.16);
    border-radius: 999px;
    background: rgba(65, 84, 92, 0.06);
    color: #41545C;
    font-family: "Inter", sans-serif;
    font-weight: 600 !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    letter-spacing: 0.2em !important;
    text-align: center;
  }

  html body.is-home-page .professional_obligations_block .about_block h2 {
    max-width: min(100%, 14ch);
    margin: 0 auto 24px !important;
    font-size: clamp(30px, 7.5vw, 38px) !important;
    line-height: 1.02 !important;
    letter-spacing: 0.01em !important;
    text-align: center !important;
    text-transform: none;
    text-wrap: balance;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  html body.is-home-page .professional_obligations_block .about_block h2 span {
    display: inline !important;
    color: #41545C;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    height: auto !important;
    background: transparent !important;
    overflow: hidden;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .img_ob {
    width: 100% !important;
    max-width: none !important;
    height: clamp(280px, 76vw, 420px) !important;
    border-radius: 0;
    border: 1px solid rgba(65, 84, 92, 0.1);
    -o-object-fit: cover;
    object-fit: cover;
    box-shadow: 0 24px 56px rgba(18, 28, 34, 0.12);
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 20px 14px 18px;
    border: 1px solid rgba(65, 84, 92, 0.12);
    border-radius: 0;
    background: #FFFFFF;
    box-shadow: 0 18px 44px rgba(18, 28, 34, 0.08);
    overflow: hidden;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper {
    max-width: none !important;
    width: 100%;
    padding: 4px 48px 0;
    overflow: hidden !important;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-wrapper {
    align-items: stretch !important;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-slide {
    width: 100% !important;
    height: auto !important;
    display: flex;
    justify-content: center;
    flex-shrink: 0;
    opacity: 0.6;
    transition: opacity 0.58s ease;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation {
    width: 100%;
    gap: 8px;
    min-height: 0;
    justify-content: flex-start;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-slide-active {
    opacity: 1;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation .document,
  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-slide:last-child .document_obligation img {
    width: min(100%, 214px) !important;
    height: auto !important;
    max-height: 300px;
    border-radius: 0;
    box-shadow: 0 16px 36px rgba(18, 28, 34, 0.14);
    transform: translateY(8px) scale(0.982);
    opacity: 0.84;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.56s ease, box-shadow 0.56s ease;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .document_obligation p {
    max-width: 14ch;
    margin: 0 auto !important;
    min-height: 2.55em;
    font-size: 16px !important;
    line-height: 1.24 !important;
    letter-spacing: -0.01em !important;
    text-align: center !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    color: #3C3C3B;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.42s ease 0.1s, transform 0.62s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-slide-active .document_obligation .document,
  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-slide-active:last-child .document_obligation img {
    transform: translateY(0) scale(1);
    opacity: 1;
    box-shadow: 0 20px 42px rgba(18, 28, 34, 0.18);
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-slide-active .document_obligation p {
    opacity: 1;
    transform: translateY(0);
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-pagination {
    position: static !important;
    margin-top: 12px !important;
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase;
    color: #98A3A8 !important;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-pagination-current {
    color: #41545C;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev,
  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next {
    top: 43% !important;
    bottom: auto !important;
    width: 52px !important;
    height: 52px !important;
    margin-top: 0 !important;
    border: 1px solid rgba(65, 84, 92, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 0 12px 28px rgba(18, 28, 34, 0.12);
    color: #41545C !important;
    transform: translateY(-50%);
    transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.26s ease, background-color 0.22s ease, border-color 0.22s ease, opacity 0.22s ease;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev {
    left: 0 !important;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next {
    right: 0 !important;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev svg,
  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next svg {
    display: none !important;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev::after,
  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next::after {
    font-family: "Inter", sans-serif;
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1), color 0.22s ease;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev::after {
    content: "â€¹";
    margin-left: 0;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next::after {
    content: "â€º";
    margin-right: 0;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev:active,
  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next:active {
    transform: translateY(-50%) scale(0.9);
    background: rgba(65, 84, 92, 0.92) !important;
    border-color: rgba(65, 84, 92, 0.22);
    box-shadow: 0 10px 22px rgba(18, 28, 34, 0.16);
    color: #FFFFFF !important;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev:active::after {
    transform: translateX(-2px);
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next:active::after {
    transform: translateX(2px);
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-prev::after {
    content: "\2039" !important;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-next::after {
    content: "\203A" !important;
  }

  html body.is-home-page .professional_obligations_block .about_block .slides_obligations .slide_group .mySwiper .swiper-button-disabled {
    opacity: 0.3;
    box-shadow: none;
  }
}

/* Storytelling scene 01 overrides placed last to beat legacy image rules. */
html body .marbella_solutions_wealth_impact .storytelling_scene {
  overflow: hidden !important;
  background: #101513 !important;
  isolation: isolate !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 49% 57%, rgba(246, 238, 190, 0.18), transparent 35%),
    linear-gradient(180deg, rgba(8, 13, 13, 0) 55%, rgba(8, 13, 13, 0.18) 100%) !important;
  mix-blend-mode: screen !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__picture,
html body .marbella_solutions_wealth_impact .storytelling_scene__base,
html body .marbella_solutions_wealth_impact .storytelling_scene__layer {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  pointer-events: none !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__picture {
  z-index: 1 !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__base,
html body .marbella_solutions_wealth_impact .storytelling_scene__layer {
  object-fit: cover !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__base {
  z-index: 1 !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__layer {
  mix-blend-mode: screen !important;
  transform: translateZ(0) !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__fill {
  z-index: 3 !important;
  opacity: 0.18 !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__topography {
  z-index: 4 !important;
  opacity: 0.34 !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__analysis {
  z-index: 5 !important;
  opacity: 0.42 !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__outline {
  z-index: 6 !important;
  opacity: 0.9 !important;
  filter: drop-shadow(0 0 5px rgba(247, 241, 223, 0.36)) !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__connector {
  z-index: 7 !important;
  opacity: 0.62 !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__legal {
  z-index: 8 !important;
  opacity: 0.72 !important;
}

/* Full-height scrollytelling mode for Marbella solutions. */
html body .solutions_scrollytelling {
  position: relative !important;
  min-height: 600vh !important;
  background: #f8f7f5 !important;
}

html body .solutions_scrollytelling > .container {
  position: sticky !important;
  top: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100vh !important;
  min-height: 100vh !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html body .solutions_scrollytelling .about_block {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
}

html body .solutions_scrollytelling .about_block h2 {
  position: absolute !important;
  z-index: 20 !important;
  top: clamp(28px, 5vh, 64px) !important;
  left: clamp(28px, 5vw, 92px) !important;
  width: min(760px, 43vw) !important;
  margin: 0 !important;
  color: #ffffff !important;
  text-align: left !important;
  line-height: 1.08 !important;
  font-size: clamp(31px, 3.15vw, 58px) !important;
  text-shadow: 0 2px 18px rgba(8, 13, 13, 0.55), 0 0 32px rgba(8, 13, 13, 0.32) !important;
}

html body .solutions_scrollytelling .about_block h2 span:not(.reveal-word) {
  display: inline !important;
  font-size: inherit !important;
}

html body .solutions_scrollytelling .descriptions_texts_img_group {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh !important;
  margin: 0 !important;
}

html body .solutions_scrollytelling .descriptions_group {
  position: absolute !important;
  z-index: 21 !important;
  left: clamp(28px, 5vw, 92px) !important;
  top: 50% !important;
  transform: translateY(-34%) !important;
  width: min(430px, 34vw) !important;
  max-width: none !important;
  height: auto !important;
  max-height: 58vh !important;
  justify-content: flex-start !important;
  overflow: visible !important;
  padding: 14px 18px 16px !important;
  background: rgba(248, 247, 245, 0.74) !important;
  backdrop-filter: blur(14px) !important;
  box-shadow: 0 24px 70px rgba(19, 27, 29, 0.08) !important;
}

html body .solutions_scrollytelling .description {
  padding: clamp(9px, 1.2vh, 16px) 0 !important;
  border-color: rgba(5, 5, 5, 0.13) !important;
}

html body .solutions_scrollytelling .description h3 {
  color: rgba(5, 5, 5, 0.32) !important;
  font-size: clamp(20px, 1.55vw, 30px) !important;
}

html body .solutions_scrollytelling .description p {
  color: #2f3737 !important;
  font-size: clamp(15px, 0.95vw, 18px) !important;
  line-height: 1.18 !important;
}

html body .solutions_scrollytelling .description.active h3 {
  color: #050505 !important;
}

html body .solutions_scrollytelling .description.active p {
  max-height: 150px !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

html body .solutions_scrollytelling .img_marbella {
  position: absolute !important;
  z-index: 1 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: min(72vw, 1420px) !important;
  max-width: none !important;
  height: 100vh !important;
  min-height: 100vh !important;
  margin: 0 !important;
  overflow: hidden !important;
}

html body .solutions_scrollytelling .img_marbella::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 9 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(248, 247, 245, 0.32), rgba(248, 247, 245, 0) 24%) !important;
}

html body .solutions_scrollytelling .img_marbella > .img_solution {
  display: none !important;
}

html body .solutions_scrollytelling .storytelling_scene {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  --story-svg-shift-x: 0% !important;
  --story-svg-shift-y: 0% !important;
}

html body .solutions_scrollytelling .storytelling_scene__base,
html body .solutions_scrollytelling .storytelling_scene__layer {
  transform-origin: 61% 63% !important;
  transition: opacity 0.85s ease, transform 1.1s cubic-bezier(0.16, 1, 0.3, 1), filter 0.85s ease !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__base {
  transform: scale(1) translate3d(0, 0, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__base {
  transform: scale(1.035) translate3d(-1.2%, 0.3%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__base {
  transform: scale(1.075) translate3d(-2.2%, 0.8%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__base {
  transform: scale(1.12) translate3d(-3.4%, 1.4%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__base {
  transform: scale(1.16) translate3d(-4.2%, 1.7%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__base {
  transform: scale(1.2) translate3d(-5%, 1.8%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__fill { opacity: 0.1 !important; }
html body .solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__fill { opacity: 0.26 !important; }
html body .solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__fill,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__fill,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__fill,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__fill { opacity: 0.14 !important; }

html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__legal,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__connector { opacity: 0.72 !important; }
html body .solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__legal,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__connector { opacity: 0.34 !important; }
html body .solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__legal,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__connector,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__legal,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__connector,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__legal,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__connector,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__legal,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__connector { opacity: 0.12 !important; }

html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__topography { opacity: 0.28 !important; }
html body .solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__topography { opacity: 0.42 !important; }
html body .solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__topography,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__topography,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__topography,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__topography { opacity: 0.2 !important; }

html body .solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__outline {
  opacity: 1 !important;
  filter: drop-shadow(0 0 8px rgba(247, 241, 223, 0.52)) !important;
}

html body .solutions_scrollytelling .img_marbella a {
  z-index: 30 !important;
  left: auto !important;
  right: clamp(28px, 4vw, 72px) !important;
  bottom: clamp(28px, 5vh, 72px) !important;
  width: min(560px, 42vw) !important;
  transform: none !important;
}

/* Actual inline story SVGs use .storytelling_scene__svg_layer, not
   .storytelling_scene__layer. Keep the desktop stack, color and reveal
   animation on the real class so the SVG composition renders again. */
html body .marbella_solutions_wealth_impact .storytelling_scene__svg_layer {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  pointer-events: none !important;
  mix-blend-mode: screen !important;
  transform: translateZ(0) !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__picture--desktop,
html body .marbella_solutions_wealth_impact .storytelling_scene__base--desktop {
  display: block !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__base--mobile {
  display: none !important;
}

html body .solutions_scrollytelling .descriptions_group .description {
  display: none !important;
}

html body .solutions_scrollytelling .descriptions_group .description.active {
  display: block !important;
}

html body .solutions_scrollytelling .descriptions_group .description span,
html body .solutions_scrollytelling .descriptions_group .description.active span {
  display: none !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__connector,
html body .marbella_solutions_wealth_impact .storytelling_scene__legal {
  display: none !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__svg_layer--desktop {
  transform-origin: 61% 63% !important;
  transition:
    opacity 0.85s ease,
    transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.85s ease,
    clip-path 0.85s ease !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__base--desktop {
  transform-origin: 61% 63% !important;
  transition: opacity 0.85s ease, transform 1.1s cubic-bezier(0.16, 1, 0.3, 1), filter 0.85s ease !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__topography {
  z-index: 4 !important;
  color: rgba(240, 236, 224, 0.95) !important;
  opacity: var(--story-topography-opacity, 0) !important;
  clip-path: inset(var(--story-topography-clip, 100%) 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__analysis {
  z-index: 5 !important;
  color: rgba(244, 239, 229, 0.94) !important;
  opacity: var(--story-analysis-opacity, 0) !important;
  clip-path: inset(var(--story-analysis-clip, 100%) 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__connector {
  z-index: 6 !important;
  color: rgba(239, 224, 184, 0.96) !important;
  opacity: var(--story-connector-opacity, 0.62) !important;
  clip-path: inset(var(--story-connector-clip, 0%) 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__legal {
  z-index: 7 !important;
  color: rgba(248, 237, 198, 0.98) !important;
  opacity: var(--story-legal-opacity, 0.72) !important;
  clip-path: inset(var(--story-legal-clip, 0%) 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__outline {
  z-index: 8 !important;
  color: rgba(247, 241, 223, 0.98) !important;
  opacity: var(--story-outline-opacity, 0) !important;
  clip-path: inset(var(--story-outline-clip, 100%) 0 0 0) !important;
  filter: drop-shadow(0 0 5px rgba(247, 241, 223, 0.36)) !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__outline--gold {
  color: rgba(216, 185, 79, 0.98) !important;
  opacity: calc((var(--story-build-progress, 0) * 0.46) + (var(--story-fill-progress, 0) * 0.24)) !important;
  filter: drop-shadow(0 0 8px rgba(216, 185, 79, 0.32)) !important;
}

html body .marbella_solutions_wealth_impact .storytelling_scene__fill {
  z-index: 3 !important;
  color: rgba(212, 188, 108, 0.96) !important;
  opacity: var(--story-fill-opacity, 0) !important;
  clip-path: inset(var(--story-fill-clip, 100%) 0 0 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__fill,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__outline--gold {
  opacity: 0 !important;
  clip-path: inset(100% 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__topography {
  opacity: var(--story-topography-opacity, 0) !important;
  clip-path: inset(var(--story-topography-clip, 100%) 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__analysis {
  opacity: var(--story-analysis-opacity, 0) !important;
  clip-path: inset(var(--story-analysis-clip, 100%) 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__outline {
  opacity: var(--story-outline-opacity, 0) !important;
  clip-path: inset(var(--story-outline-clip, 100%) 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__fill {
  opacity: var(--story-fill-opacity, 0) !important;
  clip-path: inset(var(--story-fill-clip, 100%) 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__fill,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__outline--gold {
  opacity: 0 !important;
  clip-path: inset(100% 0 0 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__base--desktop,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1) translate3d(0, 0, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1) translate3d(var(--story-svg-shift-x, 0%), var(--story-svg-shift-y, 0%), 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__base--desktop,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.035) translate3d(-1.2%, 0.3%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.035) translate3d(calc(-1.2% + var(--story-svg-shift-x, 0%)), calc(0.3% + var(--story-svg-shift-y, 0%)), 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__base--desktop,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.075) translate3d(-2.2%, 0.8%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.075) translate3d(calc(-2.2% + var(--story-svg-shift-x, 0%)), calc(0.8% + var(--story-svg-shift-y, 0%)), 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__base--desktop,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.12) translate3d(-3.4%, 1.4%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.12) translate3d(calc(-3.4% + var(--story-svg-shift-x, 0%)), calc(1.4% + var(--story-svg-shift-y, 0%)), 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__base--desktop,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.16) translate3d(-4.2%, 1.7%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.16) translate3d(calc(-4.2% + var(--story-svg-shift-x, 0%)), calc(1.7% + var(--story-svg-shift-y, 0%)), 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__base--desktop,
html body .solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.2) translate3d(-5%, 1.8%, 0) !important;
}

html body .solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__svg_layer--desktop {
  transform: scale(1.2) translate3d(calc(-5% + var(--story-svg-shift-x, 0%)), calc(1.8% + var(--story-svg-shift-y, 0%)), 0) !important;
}

body.js-anim-ready .marbella_solutions_wealth_impact .storytelling_scene__picture.anim-fade-up,
body.js-anim-ready .marbella_solutions_wealth_impact .storytelling_scene__svg_layer.anim-fade-up,
body.js-anim-ready .marbella_solutions_wealth_impact .storytelling_scene__base.anim-fade-up,
body.js-anim-ready .marbella_solutions_wealth_impact .storytelling_scene__picture.anim-fade-up.visible,
body.js-anim-ready .marbella_solutions_wealth_impact .storytelling_scene__svg_layer.anim-fade-up.visible,
body.js-anim-ready .marbella_solutions_wealth_impact .storytelling_scene__base.anim-fade-up.visible {
  opacity: 1 !important;
  will-change: auto !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile {
  display: none !important;
}

@media (min-width: 1200px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    --story-svg-shift-x: -5.8% !important;
    --story-svg-shift-y: 8.4% !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    left: auto !important;
    right: auto !important;
    overflow: visible !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container {
    position: sticky !important;
    top: 0 !important;
    left: 50% !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 0 0 -50vw !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .descriptions_texts_img_group,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .descriptions_texts_img_group,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--desktop {
    inset: 0 !important;
    max-width: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    min-height: 100vh !important;
    padding: 0 !important;
    transform: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella::after {
    background: linear-gradient(90deg, rgba(248, 247, 245, 0.18), rgba(248, 247, 245, 0) 28%) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--desktop {
    display: block !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100% !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile {
    display: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--desktop {
    display: block !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group {
    left: clamp(32px, 4vw, 84px) !important;
    top: 54% !important;
    bottom: auto !important;
    right: auto !important;
    transform: translateY(-18%) !important;
    width: min(270px, 20vw) !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 16px 20px !important;
    max-height: none !important;
    display: block !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active h3 {
    display: block !important;
    margin: 0 !important;
    padding-left: 28px !important;
    color: #050505 !important;
    font-size: clamp(24px, 1.9vw, 34px) !important;
    line-height: 1.04 !important;
    text-align: left !important;
    position: relative !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active h3::before {
    left: 0 !important;
    opacity: 1 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active p {
    display: block !important;
    margin: 14px 0 0 !important;
    padding: 0 0 0 28px !important;
    max-height: none !important;
    opacity: 1 !important;
    color: #2f3737 !important;
    font-size: clamp(15px, 1vw, 18px) !important;
    line-height: 1.24 !important;
    text-align: left !important;
    transform: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella .tab_content,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella .tab_content.active,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella .img_solution,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella .img_solution.active,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__connector,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__legal {
    display: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__fill,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__outline--gold {
    opacity: 0 !important;
    clip-path: inset(100% 0 0 0) !important;
  }
}

@media (max-width: 1199px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling {
    min-height: 600vh !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    min-height: 100vh !important;
    overflow: hidden !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .descriptions_texts_img_group {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100vh !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella::after {
    background: linear-gradient(180deg, rgba(248, 247, 245, 0.08), rgba(248, 247, 245, 0) 28%, rgba(248, 247, 245, 0) 72%, rgba(248, 247, 245, 0.08)) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__picture,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__base {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 1 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer {
    z-index: 5 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella .img_solution,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella .img_solution.active {
    display: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella .tab_content,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella .tab_content.active {
    display: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block h2 {
    transition: opacity 0.45s ease, transform 0.45s ease !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling.story-title-hidden .about_block h2 {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group {
    position: absolute !important;
    z-index: 21 !important;
    max-height: none !important;
    overflow: hidden !important;
    background: rgba(248, 247, 245, 0.88) !important;
    backdrop-filter: blur(12px) !important;
    box-shadow: 0 24px 70px rgba(19, 27, 29, 0.1) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella a {
    position: absolute !important;
    top: auto !important;
    width: auto !important;
    transform: none !important;
    z-index: 30 !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    --story-svg-shift-x: -4.4% !important;
    --story-svg-shift-y: 6.2% !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__base--desktop {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--desktop {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile {
    display: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block h2 {
    top: 34px !important;
    left: 34px !important;
    width: min(410px, 42vw) !important;
    font-size: clamp(34px, 4vw, 48px) !important;
    line-height: 0.98 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling.story-title-hidden .about_block h2 {
    transform: translateY(-18px) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group {
    left: 34px !important;
    right: auto !important;
    top: auto !important;
    bottom: 116px !important;
    transform: none !important;
    width: min(360px, 38vw) !important;
    padding: 20px 22px 22px !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active {
    display: block !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active span {
    display: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active h3 {
    display: block !important;
    margin: 0 !important;
    color: #050505 !important;
    font-size: clamp(24px, 2.4vw, 32px) !important;
    line-height: 1.04 !important;
    text-align: left !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active p {
    display: block !important;
    margin: 12px 0 0 !important;
    max-height: none !important;
    opacity: 1 !important;
    color: #2f3737 !important;
    font-size: clamp(14px, 1.3vw, 16px) !important;
    line-height: 1.28 !important;
    text-align: left !important;
    transform: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella a {
    left: 34px !important;
    right: 34px !important;
    bottom: 34px !important;
  }
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    background-image: none !important;
    --story-svg-shift-x: 7.2% !important;
    --story-svg-shift-y: 12.8% !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__base--desktop {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--mobile {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform-origin: 54% 54% !important;
    transform: translate3d(var(--story-bg-x, 0), var(--story-bg-y, 0), 0) scale(var(--story-bg-scale, 1)) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__base--mobile {
    object-position: center center !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--desktop {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__svg_layer--mobile {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    visibility: visible !important;
    transform-origin: 50% 50% !important;
    transform: translate3d(var(--story-bg-x, 0%), var(--story-bg-y, 0%), 0) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile.storytelling_scene__topography {
    opacity: var(--story-topography-opacity, 0) !important;
    clip-path: inset(var(--story-topography-clip, 100%) 0 0 0) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile.storytelling_scene__analysis {
    opacity: var(--story-analysis-opacity, 0) !important;
    clip-path: inset(var(--story-analysis-clip, 100%) 0 0 0) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile.storytelling_scene__outline {
    opacity: calc(var(--story-outline-progress, 0) * 0.92) !important;
    clip-path: inset(var(--story-outline-clip, 100%) 0 0 0) !important;
    filter: drop-shadow(0 0 6px rgba(248, 244, 234, 0.44)) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile.storytelling_scene__outline.storytelling_scene__outline--gold {
    opacity: calc(var(--story-fill-progress, 0) * 0.58) !important;
    clip-path: inset(var(--story-fill-clip, 100%) 0 0 0) !important;
    filter: drop-shadow(0 0 8px rgba(216, 185, 79, 0.38)) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile.storytelling_scene__fill {
    opacity: var(--story-fill-opacity, 0) !important;
    clip-path: inset(var(--story-fill-clip, 100%) 0 0 0) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__svg_layer--mobile.storytelling_scene__fill,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__svg_layer--mobile.storytelling_scene__outline--gold {
    opacity: 0 !important;
    clip-path: inset(100% 0 0 0) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block h2 {
    top: 22px !important;
    left: 16px !important;
    right: 16px !important;
    width: auto !important;
    max-width: calc(100vw - 32px) !important;
    margin: 0 auto !important;
    font-size: clamp(24px, 6.8vw, 38px) !important;
    line-height: 0.98 !important;
    letter-spacing: 0.01em !important;
    text-align: center !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling.story-title-hidden .about_block h2 {
    transform: translateY(-14px) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group {
    left: 16px !important;
    right: 16px !important;
    top: auto !important;
    bottom: 110px !important;
    transform: none !important;
    width: auto !important;
    padding: 16px 18px 18px !important;
    text-align: center !important;
    z-index: 45 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 0 10px !important;
    text-align: center !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active span {
    display: inline-block !important;
    color: #050505 !important;
    font-family: "Felidae", "Cormorant Garamond", serif !important;
    font-size: clamp(20px, 5.5vw, 28px) !important;
    line-height: 1.04 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active h3 {
    display: block !important;
    margin: 0 !important;
    color: #050505 !important;
    font-size: clamp(20px, 5.5vw, 28px) !important;
    line-height: 1.04 !important;
    text-align: center !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description p {
    display: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active p {
    display: block !important;
    flex: 0 0 100% !important;
    margin: 10px auto 0 !important;
    max-height: none !important;
    opacity: 1 !important;
    color: #2f3737 !important;
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.24 !important;
    text-align: center !important;
    transform: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella a {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
  }
}

@media (min-width: 768px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--mobile {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .floating-stack {
    right: 16px;
    bottom: 16px;
  }

  .floating-wa {
    width: 54px;
    height: 54px;
  }

  .floating-wa__icon svg {
    width: 26px;
    height: 26px;
  }

  .back-to-top {
    width: 54px;
  }

  .back-to-top.is-visible {
    height: 54px;
  }

  .back-to-top__icon svg {
    width: 20px;
    height: 20px;
  }
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__outline path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 9px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__outline--gold,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__outline--gold,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__outline--gold,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__outline--gold,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__outline--gold {
  display: block !important;
  visibility: visible !important;
  opacity: calc(var(--story-fill-progress, 0) * 0.32) !important;
  clip-path: inset(var(--story-fill-clip, 100%) 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__outline--gold path,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__outline--gold path,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__outline--gold path,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__outline--gold path,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__outline--gold path {
  fill: currentColor !important;
  stroke: none !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__fill,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__outline--gold {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  clip-path: inset(100% 0 0 0) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__fill,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__fill,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__fill,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__fill,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__fill {
  display: block !important;
  visibility: visible !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__topography,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__analysis,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__outline {
  visibility: visible !important;
}

@media (min-width: 1200px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    --story-svg-shift-x: -8.2% !important;
    --story-svg-shift-y: 11.2% !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: visible !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container {
    position: sticky !important;
    top: 0 !important;
    left: 50% !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 0 0 -50vw !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .descriptions_texts_img_group,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--desktop {
    inset: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    max-height: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella {
    left: 0 !important;
    right: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    --story-svg-shift-x: -7.4% !important;
    --story-svg-shift-y: 9.8% !important;
  }
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    --story-svg-shift-x: 7.4% !important;
    --story-svg-shift-y: 12.6% !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__outline path {
    stroke-width: 7px !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__svg_layer--mobile.storytelling_scene__fill,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__svg_layer--mobile.storytelling_scene__outline--gold {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    clip-path: inset(100% 0 0 0) !important;
  }
}

@media (min-width: 768px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__base--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__svg_layer--mobile {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    pointer-events: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__base--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__svg_layer--desktop {
    display: block !important;
    visibility: visible !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .descriptions_texts_img_group,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--desktop {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container {
    left: 50% !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--desktop {
    object-fit: cover !important;
    object-position: center center !important;
  }
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__base--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__svg_layer--desktop {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__base--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__base--mobile,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__svg_layer--mobile {
    display: block !important;
    visibility: visible !important;
  }
}

/* === Scrollytelling scene-2 inset image (planos inside parcel) === */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__planos {
  position: absolute !important;
  pointer-events: none !important;
  display: none !important;
  opacity: 0 !important;
  z-index: 5 !important;
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity !important;
}

@media (max-width: 767px) {
  /* The image renders at its full natural dimensions (no width/max-width
     clamping that could clip it), then a CSS transform: scale() shrinks
     the whole element uniformly. transform-origin: 50% 0% pivots the
     scale at the top-centre, so changing the scale factor never moves the
     pool — it just grows/shrinks the plan from that anchor downwards. */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__planos--mobile {
    display: block !important;
    inset: auto !important;
    top: 33% !important;
    left: 50% !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    transform-origin: 50% 0% !important;
    transform: translateX(-50%) scale(0.55) !important;
    opacity: var(--story-fill-progress, 0) !important;
    clip-path: inset(var(--story-fill-clip, 100%) 0 0 0) !important;
  }

  /* Scene-2 only: when leaving Investment projects (state 3+) just fade
     the opacity out smoothly. clip-path is left alone so it doesn't snap
     to 100% the instant the state changes — the opacity transition handles
     the disappearance gracefully over ~0.9s. */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene:not([data-story-state="2"]) .storytelling_scene__planos--mobile {
    opacity: 0 !important;
  }

  /* Parcel interior paints white during scene 2 (was yellow + barely visible).
     Override the mobile fill color and bump effective opacity so the interior
     reads as a clear white wash while the planos image animates in on top. */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile.storytelling_scene__fill {
    color: rgba(255, 255, 255, 0.94) !important;
    mix-blend-mode: normal !important;
    opacity: calc(var(--story-fill-progress, 0) * 0.78) !important;
    filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.4)) !important;
  }

  /* The mobile parcel-fill SVG file is currently blank, so the fill layer
     can't paint anything on its own. Re-use the white outline's path: keep
     its stroke as the outline, and apply a scroll-driven fill-opacity so the
     interior fades to a fully opaque white as scene 2 progresses, then
     animates back out smoothly when state changes to 3+. */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__svg_layer--mobile.storytelling_scene__outline:not(.storytelling_scene__outline--gold) path {
    fill: #ffffff !important;
    fill-opacity: 0 !important;
    stroke: currentColor !important;
    stroke-width: 7px !important;
    transition: fill-opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__svg_layer--mobile.storytelling_scene__outline:not(.storytelling_scene__outline--gold) path {
    fill-opacity: var(--story-fill-progress, 0) !important;
    transition: none !important;
  }
}

/* Force-hide on tablet+ until a desktop planos asset exists. */
@media (min-width: 768px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__planos--mobile {
    display: none !important;
  }
}

/* === Scrollytelling scene-3 mobile construction layers === */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction {
  position: absolute !important;
  pointer-events: none !important;
  display: none !important;
  opacity: 0 !important;
  max-width: none !important;
  object-fit: contain !important;
  mix-blend-mode: normal !important;
  will-change: opacity, transform, clip-path !important;
  transition:
    opacity 0.72s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    clip-path 0.72s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--mobile {
    display: block !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"],
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:has(.storytelling_scene[data-story-state="3"]) > .container,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:has(.storytelling_scene[data-story-state="3"]) .about_block,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:has(.storytelling_scene[data-story-state="3"]) .descriptions_texts_img_group,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella:has(.storytelling_scene[data-story-state="3"]) {
    overflow-x: visible !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--parcel {
    z-index: 10 !important;
    top: var(--story-construction-parcel-top, min(20lvh, calc(50lvh - 45vw))) !important;
    left: var(--story-construction-parcel-left, 50%) !important;
    width: var(--story-construction-parcel-width, max(51.5lvh, 77.25vw)) !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    clip-path: none !important;
    overflow: visible !important;
    transform-origin: 50% 58% !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--tower {
    z-index: 11 !important;
    top: var(--story-construction-tower-top, min(16lvh, calc(50lvh - 51vw))) !important;
    left: var(--story-construction-tower-left, min(calc(50vw - 24.733lvh), 12.9vw)) !important;
    width: var(--story-construction-tower-width, max(39.3lvh, 58.95vw)) !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    clip-path: none !important;
    overflow: visible !important;
    transform-origin: 20% 42% !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--building {
    z-index: 12 !important;
    top: var(--story-construction-building-top, 46lvh) !important;
    left: var(--story-construction-building-left, 50%) !important;
    width: var(--story-construction-building-width, max(50.7lvh, 58.1vw)) !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    clip-path: none !important;
    overflow: visible !important;
    transform-origin: 50% 50% !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--load {
    z-index: 13 !important;
    top: var(--story-construction-load-top, min(32lvh, calc(50lvh - 27vw))) !important;
    left: var(--story-construction-load-left, min(calc(50vw - 5.067lvh), 42.4vw)) !important;
    width: var(--story-construction-load-width, max(18.3lvh, 27.45vw)) !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    clip-path: none !important;
    overflow: visible !important;
    transform-origin: 50% 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__construction--parcel {
    opacity: var(--story-construction-parcel-progress, 0) !important;
    transform: var(--story-construction-parcel-transform, translate3d(calc(-50% + var(--story-construction-parcel-extra-x, 0px)), var(--story-construction-parcel-extra-y, 0px), 0) scale(var(--story-construction-parcel-scale, 1))) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__construction--tower {
    opacity: var(--story-construction-tower-progress, 0) !important;
    transform: var(--story-construction-tower-transform, translate3d(calc(var(--story-construction-tower-x, -16px) + var(--story-construction-tower-extra-x, 0px)), var(--story-construction-tower-extra-y, 0px), 0) scale(var(--story-construction-tower-scale, .85))) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__construction--load {
    opacity: var(--story-construction-load-progress, 0) !important;
    transform: var(--story-construction-load-transform, translate3d(calc(-50% + var(--story-construction-load-x, 0px) + var(--story-construction-load-extra-x, 0px)), var(--story-construction-load-extra-y, 0px), 0) scale(var(--story-construction-load-scale, .5))) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__construction--building {
    opacity: var(--story-construction-building-progress, 0) !important;
    clip-path: none !important;
    transform: var(--story-construction-building-transform, translate3d(calc(-50% + var(--story-construction-building-extra-x, 0px)), var(--story-construction-building-extra-y, 0px), 0) scale(var(--story-construction-building-scale, 1))) !important;
  }

  /* Home preview robustness — the construction layers above are gated behind
     [data-story-state="3"]. On a fresh/direct home load the scene state can get
     stuck at "1" while the build-progress variables still update correctly
     (verified live on device: --story-construction-*-progress advance and the
     images load, but opacity stayed 0 because the state gate didn't match, so
     the obra/crane never showed). The home preview ONLY ever plays the build
     scene, so drive its construction layers straight from the progress vars
     here — independent of data-story-state. At the top of the scene the progress
     vars are 0, so nothing shows until the build actually begins. Scoped to
     --preview so the full invest-page scrollytelling keeps its state gating. */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__construction--parcel {
    opacity: var(--story-construction-parcel-progress, 0) !important;
    transform: var(--story-construction-parcel-transform, translate3d(calc(-50% + var(--story-construction-parcel-extra-x, 0px)), var(--story-construction-parcel-extra-y, 0px), 0) scale(var(--story-construction-parcel-scale, 1))) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__construction--tower {
    opacity: var(--story-construction-tower-progress, 0) !important;
    transform: var(--story-construction-tower-transform, translate3d(calc(var(--story-construction-tower-x, -16px) + var(--story-construction-tower-extra-x, 0px)), var(--story-construction-tower-extra-y, 0px), 0) scale(var(--story-construction-tower-scale, .85))) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__construction--load {
    opacity: var(--story-construction-load-progress, 0) !important;
    transform: var(--story-construction-load-transform, translate3d(calc(-50% + var(--story-construction-load-x, 0px) + var(--story-construction-load-extra-x, 0px)), var(--story-construction-load-extra-y, 0px), 0) scale(var(--story-construction-load-scale, .5))) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__construction--building {
    opacity: var(--story-construction-building-progress, 0) !important;
    clip-path: none !important;
    transform: var(--story-construction-building-transform, translate3d(calc(-50% + var(--story-construction-building-extra-x, 0px)), var(--story-construction-building-extra-y, 0px), 0) scale(var(--story-construction-building-scale, 1))) !important;
  }
}

/* === Home (mobile) construction preview fixes ===
   The home preview plays only the build scene (state 3). Two side-effects of
   freezing the story there:
   1) The parcel-outline / fill / topography / analysis SVG overlays stay drawn
      (the mobile outline opacity isn't faded by scene), so they hid the actual
      construction. Suppress them so the earthworks + crane + building read clean.
   2) The intro topnote is shown from the very top of the preview, which collided
      with the section <h2>. Hide the <h2> in the preview — the topnote carries
      the message. Extra ancestor classes keep these above the per-layer rules. */
@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene .storytelling_scene__svg_layer--mobile.storytelling_scene__outline,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene .storytelling_scene__svg_layer--mobile.storytelling_scene__outline.storytelling_scene__outline--gold,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene .storytelling_scene__svg_layer--mobile.storytelling_scene__topography,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene .storytelling_scene__svg_layer--mobile.storytelling_scene__analysis,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene .storytelling_scene__svg_layer--mobile.storytelling_scene__fill {
    opacity: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .about_block h2 {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* === Finished villa: cross-fades over the construction once the build is done
   (scene 4 onward). The scene-3 construction layers already fade out on their
   own 0.72s opacity transition when the state leaves "3", so this layer fading
   in produces a smooth dissolve from building-site to finished property. The
   scale settle is a one-off state transition (not scroll-linked) to stay free
   of the mobile sticky vibration. Mobile/vertical only — desktop keeps its own
   base zoom for scenes 4-6. === */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__finished {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  pointer-events: none !important;
  z-index: 14 !important;
  opacity: 0 !important;
  transform-origin: 54% 54% !important;
  transform: scale(1.08) !important;
  will-change: opacity, transform !important;
  transition:
    opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .storytelling_scene__finished--mobile {
    display: block !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__finished--villa,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__finished--complex,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__finished--complex {
    opacity: 1 !important;
    transform: scale(1) !important;
  }
}

@media (max-width: 480px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--parcel {
    --story-construction-parcel-width: 51.5lvh !important;
    --story-construction-parcel-top: 20lvh !important;
    --story-construction-parcel-left: 50% !important;
    --story-construction-parcel-scale: 1 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--tower {
    --story-construction-tower-width: 39.3lvh !important;
    --story-construction-tower-top: 16lvh !important;
    --story-construction-tower-left: 1vw !important;
    --story-construction-tower-scale: .85 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--load {
    --story-construction-load-width: 18.3lvh !important;
    --story-construction-load-top: 32lvh !important;
    --story-construction-load-left: 40% !important;
    --story-construction-load-scale: .5 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--building {
    --story-construction-building-width: max(66lvh, 90vw) !important;
    --story-construction-building-top: 40lvh !important;
    --story-construction-building-left: 60% !important;
    --story-construction-building-scale: 1 !important;
  }
}

@media (min-width: 481px) and (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--parcel {
    --story-construction-parcel-width: clamp(51.5lvh, 72vw, 53.5lvh) !important;
    --story-construction-parcel-top: 20lvh !important;
    --story-construction-parcel-left: 50% !important;
    --story-construction-parcel-scale: 1 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--tower {
    --story-construction-tower-width: clamp(39.3lvh, 55vw, 40.8lvh) !important;
    --story-construction-tower-top: 16lvh !important;
    --story-construction-tower-left: clamp(1vw, calc(50vw - 24.733lvh), 6vw) !important;
    --story-construction-tower-scale: .85 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--load {
    --story-construction-load-width: clamp(18.3lvh, 25vw, 19.1lvh) !important;
    --story-construction-load-top: 32lvh !important;
    --story-construction-load-left: 40% !important;
    --story-construction-load-scale: .5 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--building {
    --story-construction-building-width: clamp(66lvh, 90vw, 78lvh) !important;
    --story-construction-building-top: 40lvh !important;
    --story-construction-building-left: 60% !important;
    --story-construction-building-scale: 1 !important;
  }
}

/* iPad band (>=550px, still the mobile scene). Above the phone clamps the
   under-construction building stopped growing — its width was capped at 78lvh
   while the rest of the scene kept scaling with the viewport, so it read as
   frozen. Raise the vw weight and ceiling so it keeps pace as the viewport
   grows; the load is pulled in earlier from JS (CONSTRUCTION_LOAD_STOP_WIDE)
   so it stays in frame alongside it. */
@media (min-width: 550px) and (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--building {
    --story-construction-building-width: clamp(78lvh, 104vw, 100lvh) !important;
  }
}

/* =====================================================================
   Scrollytelling — DESKTOP construction scene (scene 3), shown from 768px up.
   Replicates the mobile build sequence for tablet + desktop: the crane goes
   up first, then the construction. Reuses the SAME mobile webp assets for
   the crane (tower) + its load, plus the horizontal planos / construccion
   webp for the wide layout. Driven by the same --story-construction-*-progress
   vars main.js already sets at every width — no JS layout maths needed here.

   IMPORTANT — gated to (min-width:768px). Below 768px (phone/portrait tablet)
   these desktop images must NEVER show: only the mobile vertical build (its own
   single crane) belongs there. The hard (max-width:767px) kill-switch after this
   force-hides every --desktop layer so the desktop crane can never double up
   with the mobile one. Every rule here is scoped to the *--desktop* layers, so
   the mobile markup is never touched.

   Tuning: each layer exposes --story-cd-* vars (top/left/width/scale/travel)
   so positions can be nudged in one line without touching the animation. The
   construccion-webp + planos-horizontal assets live in images/storytelling/.
   Fine-tune against the live photos. === */
@media (min-width: 768px) {
  /* CAMERA LAYER — mirrors the base photo's per-scene zoom/pan EXACTLY, so the
     construction zooms+pans with the photo. Without this the build drifted off
     the parcel by a viewport-scaling amount (the photo's translate is in vw/vh),
     which is what made it "do weird things" as the window resized. transform-
     origin + the per-state transforms are copied verbatim from
     .storytelling_scene__base--desktop. Default (no state attr) = state 3 so the
     home teaser (which plays scene 3) stays aligned even if its state lags. */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__deskscene {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    z-index: 13 !important;
    /* Query container so the cover-rect below can size itself from the ACTUAL
       scene box (100cqw/100cqh) instead of the viewport (100vw/100vh). They're
       equal when the scene fills the viewport, but cqw/cqh stay correct even if
       a scrollbar or an ancestor ever narrows the scene — the build then can't
       drift relative to the photo/parcel as the window resizes. */
    container-type: size !important;
    transform-origin: 61% 63% !important;
    transform: scale(1.075) translate3d(-2.2%, 0.8%, 0) !important;
    transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__deskscene { transform: scale(1) translate3d(0, 0, 0) !important; }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__deskscene { transform: scale(1.035) translate3d(-1.2%, 0.3%, 0) !important; }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__deskscene { transform: scale(1.075) translate3d(-2.2%, 0.8%, 0) !important; }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__deskscene { transform: scale(1.12) translate3d(-3.4%, 1.4%, 0) !important; }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="5"] .storytelling_scene__deskscene { transform: scale(1.16) translate3d(-4.2%, 1.7%, 0) !important; }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="6"] .storytelling_scene__deskscene { transform: scale(1.2) translate3d(-5%, 1.8%, 0) !important; }

  /* COVER-LOCK RECT — replicates the base photo's object-fit:cover rectangle
     (photo is 3:2, object-position center) INSIDE the camera layer. Every layer
     inside is positioned in % of THIS box, so it tracks a fixed point on the
     photo at every viewport width/height. width/height are the exact cover-rect
     dimensions for a <photo-aspect-ratio> image in a 100vw x 100vh box. Adjust
     --story-cd-photo-ar only if the lock drifts across widths (= wrong ratio). */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__deskscene-rect {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: max(100cqw, calc(100cqh * var(--story-cd-photo-ar, 1.5))) !important;
    height: max(calc(100cqw / var(--story-cd-photo-ar, 1.5)), 100cqh) !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
  }

  /* --- Scene-2 planos (horizontal) — invest page only; the home teaser is
     locked to scene 3 so this never shows there, exactly like mobile. --- */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__planos--desktop {
    display: block !important;
    position: absolute !important;
    inset: auto !important;
    top: var(--story-cd-planos-top, 58%) !important;
    left: var(--story-cd-planos-left, 52%) !important;
    width: var(--story-cd-planos-width, 20%) !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    z-index: 6 !important;
    transform-origin: 50% 50% !important;
    transform: translate(-50%, -50%) scale(var(--story-cd-planos-scale, 1)) !important;
    opacity: var(--story-fill-progress, 0) !important;
    clip-path: inset(var(--story-fill-clip, 100%) 0 0 0) !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene:not([data-story-state="2"]) .storytelling_scene__planos--desktop {
    opacity: 0 !important;
  }

  /* --- Construction layers visible + positioned (% of the cover-lock rect) --- */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--desktop {
    display: block !important;
    position: absolute !important;
  }

  /* construccion-webp — the building base (appears last, after the crane) */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--desktop.storytelling_scene__construction--building {
    z-index: 10 !important;
    top: var(--story-cd-building-top, 56%) !important;
    left: var(--story-cd-building-left, 52%) !important;
    width: var(--story-cd-building-width, 26%) !important;
    height: auto !important;
    transform-origin: 50% 100% !important;
  }

  /* crane (prueba de a ver.webp) — same asset as mobile; goes up first */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--desktop.storytelling_scene__construction--tower {
    z-index: 12 !important;
    top: var(--story-cd-tower-top, 17%) !important;
    left: var(--story-cd-tower-left, 37%) !important;
    width: var(--story-cd-tower-width, 17%) !important;
    height: auto !important;
    transform-origin: 22% 92% !important;
  }

  /* crane load (Grua movimiento.webp) — same asset as mobile; slides along jib */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__construction--desktop.storytelling_scene__construction--load {
    z-index: 13 !important;
    top: var(--story-cd-load-top, 30%) !important;
    left: var(--story-cd-load-left, 46%) !important;
    width: var(--story-cd-load-width, 5.5%) !important;
    height: auto !important;
    transform-origin: 50% 0 !important;
  }

  /* Animation — opacity + transform straight from the scroll progress vars.
     Applied for the full invest page at [data-story-state="3"] AND for the
     home teaser (--preview) independent of the state attribute, because the
     preview only ever plays this scene and its state can lag on a fresh load
     (same pattern the mobile preview uses). */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__construction--desktop.storytelling_scene__construction--building,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__construction--desktop.storytelling_scene__construction--building {
    opacity: var(--story-construction-building-progress, 0) !important;
    transform: translate3d(-50%, calc((1 - var(--story-construction-building-progress, 0)) * 5%), 0) scale(var(--story-cd-building-scale, 1)) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__construction--desktop.storytelling_scene__construction--tower,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__construction--desktop.storytelling_scene__construction--tower {
    opacity: var(--story-construction-tower-progress, 0) !important;
    transform: translate3d(-50%, calc((1 - var(--story-construction-tower-progress, 0)) * 7%), 0) scale(var(--story-cd-tower-scale, 1)) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__construction--desktop.storytelling_scene__construction--load,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__construction--desktop.storytelling_scene__construction--load {
    opacity: var(--story-construction-load-progress, 0) !important;
    transform: translate3d(calc(-50% + var(--story-construction-building-progress, 0) * var(--story-cd-load-travel, 180%)), calc((1 - var(--story-construction-load-progress, 0)) * -3%), 0) scale(var(--story-cd-load-scale, 1)) !important;
  }

  /* From 768px up the teaser plays the build scene, so the section <h2> (top-left)
     would collide with the construction + top-note caption (the iPad overlap you
     saw). Hide it; the top-note carries the message. Mobile (<=767px) already hides
     it via its own rule. Invest page (no --preview) keeps its title untouched. */
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .about_block h2 {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* HARD KILL-SWITCH — desktop construction/planos must NEVER render below 768px.
   Phones show only the original mobile vertical build (a single crane). This
   force-hides every --desktop layer so the desktop crane can't double up with
   the mobile one regardless of any other rule. */
@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene .storytelling_scene__deskscene,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene .storytelling_scene__deskscene-rect,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene .storytelling_scene__construction--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene .storytelling_scene__planos--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__construction--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state] .storytelling_scene__planos--desktop {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
  }
}

/* Home teaser is a clean crane-build scene — never draw the desktop SVG diagram
   (topography / analysis / parcel outline / fill) over it. The per-state outline/
   fill rules are highly specific, so this matches their specificity (state attr +
   the double svg_layer class) and wins by source order. The invest page (no
   --preview) keeps every overlay. Also stops the desktop SVGs leaking into the
   tablet / responsive ("mobile") view where the build scene now plays. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene[data-story-state] .storytelling_scene__svg_layer.storytelling_scene__svg_layer--desktop {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* =====================================================================
   TUNING PANEL — desktop construction size + position (F12-friendly).

   Because every layer is anchored to the photo's cover-rect (.deskscene-rect),
   these values are now VIEWPORT-INDEPENDENT: set them ONCE and the build stays
   locked to the parcel at 710px, 838px, 1280px, 1920px… (it grows/shrinks with
   the photo, "stays in the same place"). That's why there are no breakpoints
   here anymore — one single panel drives every width.

   HOW TO ADJUST LIVE FROM DEVTOOLS:
   1) Open F12, inspector arrow, click the scene. Select the element
      <div class="storytelling_scene"> (inside .img_marbella).
   2) In the Styles panel you'll see THIS rule with all the --story-cd-* vars.
   3) Edit any value — the crane / load / building / planos move + scale LIVE.
   4) Tell me the values you landed on and I'll bake them in. (No need to give a
      px width now — the values hold across all widths.)

   Vars per layer (all positions/sizes are % of the PHOTO, not the viewport):
     -top / -left  = position on the photo (left = horizontal centre anchor)
     -width        = size as % of the photo width
     -scale        = extra uniform scale on top of -width (quick resize knob)
     load -travel  = how far the load slides along the jib (% of its own width)
   --story-cd-photo-ar = photo width/height (1.5 = 3:2). Only touch this if the
     build drifts off the parcel as you resize (means the ratio is slightly off).

   No !important on purpose so DevTools edits apply immediately; the vars are set
   on .storytelling_scene and inherit down to every --desktop layer. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
  --story-cd-photo-ar: 1.5;
  --story-cd-building-top: 54%; /* lower, so the base sits on the cliff edge */
  --story-cd-building-left: 47%; /* moved left onto the precipice */
  --story-cd-building-width: 36%;
  --story-cd-building-scale: 1.5; /* grow to fill the plot; origin 50% 100% keeps the base pinned to the hill edge */
  --story-cd-tower-top: 18%; /* lower */
  --story-cd-tower-left: 42%; /* further left */
  --story-cd-tower-width: 19%;
  --story-cd-tower-scale: 1.2; /* bigger crane; origin 22% 92% keeps the mast base footed */
  --story-cd-load-top: 27%; /* raised a touch so it connects to the cable */
  --story-cd-load-left: 43%; /* further left, following the crane */
  --story-cd-load-width: 6%;
  --story-cd-load-scale: 1;
  --story-cd-load-travel: 100%; /* pull the load back so it hangs under the jib (cable vertical), not floating past the tip */
  --story-cd-planos-top: 52%;
  --story-cd-planos-left: 61%;
  --story-cd-planos-width: 24%;
  --story-cd-planos-scale: 1;
}

/* === Scrollytelling top-note (per-scene caption) === */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote {
  position: absolute !important;
  z-index: 23 !important;
  pointer-events: none !important;
  text-align: center !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote__text {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-weight: 400 !important;
  letter-spacing: 0.005em !important;
  line-height: 1.42 !important;
  text-shadow: 0 1px 14px rgba(8, 13, 13, 0.55), 0 0 26px rgba(8, 13, 13, 0.42) !important;
  opacity: 0 !important;
  transform: translateY(-10px) !important;
  transition:
    opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.65s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform !important;
}

/* Scene 2 caption sits ~36px above the default container top so it doesn't
   collide visually with the parcel content that appears below it. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote__text[data-scene-text="2"] {
  top: -36px !important;
}

/* Scene 1 caption — opacity is driven by --story-topnote-progress while the
   2nd SVG layer (topography) paints in, after the H2 title has faded out. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="1"] .storytelling_scene__topnote__text[data-scene-text="1"] {
  opacity: var(--story-topnote-progress, 0) !important;
  transform: translateY(calc((1 - var(--story-topnote-progress, 0)) * -10px)) !important;
  transition: none !important;
}

/* Scene 1 caption hidden in any other state. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene:not([data-story-state="1"]) .storytelling_scene__topnote__text[data-scene-text="1"] {
  opacity: 0 !important;
  transform: translateY(-10px) !important;
}

/* Scene 2 caption — opacity tracks --story-fill-progress so it appears in
   sync with the white parcel-fill draw and the planos image. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="2"] .storytelling_scene__topnote__text[data-scene-text="2"] {
  opacity: var(--story-fill-progress, 0) !important;
  transform: translateY(calc((1 - var(--story-fill-progress, 0)) * -10px)) !important;
  transition: none !important;
}

/* Scene 2 caption hidden in any other state. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene:not([data-story-state="2"]) .storytelling_scene__topnote__text[data-scene-text="2"] {
  opacity: 0 !important;
  transform: translateY(-10px) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote__text--land {
  display: block !important;
  top: -48px !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-title,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-subtitle,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-desc {
  display: block !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-title {
  font-family: "Felidae", "Cormorant Garamond", serif !important;
  font-size: clamp(26px, 3vw, 54px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  margin-bottom: clamp(10px, 1.2vw, 18px) !important;
  /* This caption sits over the bright sunset sky/sea of scene 3, where the
     light base text-shadow washes out. Stack a tight dark halo with a wider
     soft scrim so the white serif stays legible against any sky tone. */
  text-shadow:
    0 1px 2px rgba(8, 13, 13, 0.85),
    0 2px 10px rgba(8, 13, 13, 0.7),
    0 0 34px rgba(8, 13, 13, 0.55) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-subtitle {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: clamp(16px, 1.3vw, 24px) !important;
  font-weight: 300 !important;
  line-height: 1.28 !important;
  margin-bottom: clamp(12px, 1.4vw, 22px) !important;
  text-shadow:
    0 1px 2px rgba(8, 13, 13, 0.8),
    0 1px 12px rgba(8, 13, 13, 0.6),
    0 0 28px rgba(8, 13, 13, 0.5) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-desc {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: clamp(14px, 1vw, 18px) !important;
  font-weight: 300 !important;
  line-height: 1.42 !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="3"] .storytelling_scene__topnote__text[data-scene-text="3"] {
  opacity: var(--story-build-progress, 0) !important;
  transform: translateY(calc((1 - var(--story-build-progress, 0)) * -10px)) !important;
  transition: none !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene:not([data-story-state="3"]) .storytelling_scene__topnote__text[data-scene-text="3"] {
  opacity: 0 !important;
  transform: translateY(-10px) !important;
}

/* Desktop: top-center, readable column width, slightly higher than before */
@media (min-width: 768px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote {
    top: clamp(76px, 12vh, 128px) !important;
    left: 50% !important;
    right: auto !important;
    width: min(620px, 56vw) !important;
    transform: translateX(-50%) !important;
    padding: 0 !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote__text {
    font-size: clamp(15px, 1.3vw, 19px) !important;
  }
}

/* Mobile: top centered, full width minus side padding, slightly higher */
@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote {
    top: clamp(78px, 14vh, 132px) !important;
    left: 16px !important;
    right: 16px !important;
    width: auto !important;
    padding: 0 !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote__text {
    font-size: clamp(14px, 4vw, 17px) !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote__text--land {
    top: -24px !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-title {
    font-size: clamp(24px, 7vw, 34px) !important;
    margin-bottom: 8px !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-subtitle {
    font-size: clamp(14px, 4vw, 17px) !important;
    margin-bottom: 10px !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-desc {
    font-size: clamp(12px, 3.35vw, 15px) !important;
    line-height: 1.36 !important;
  }
}

/* Investment scrollytelling: keep the sticky scene at viewport height so the
   following section cannot peek through at the bottom while the story is held. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .descriptions_texts_img_group,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
  height: 100vh !important;
  min-height: 100vh !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .storytelling_scene__topnote__text {
  box-sizing: border-box !important;
  padding: clamp(14px, 1.8vw, 20px) clamp(18px, 2.4vw, 26px) !important;
  background: rgba(10, 14, 16, 0.5) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 6px !important;
  -webkit-backdrop-filter: blur(12px) saturate(130%) !important;
  backdrop-filter: blur(12px) saturate(130%) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote__text--land-desc {
  top: 0 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: clamp(15px, 1.2vw, 22px) !important;
  font-weight: 300 !important;
  line-height: 1.42 !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene[data-story-state="4"] .storytelling_scene__topnote__text[data-scene-text="4"] {
  opacity: var(--story-villas-progress, 0) !important;
  transform: translateY(calc((1 - var(--story-villas-progress, 0)) * -10px)) !important;
  transition: none !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene:not([data-story-state="4"]) .storytelling_scene__topnote__text[data-scene-text="4"] {
  opacity: 0 !important;
  transform: translateY(-10px) !important;
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .storytelling_scene__topnote__text {
    padding: 14px 18px !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote__text--land-desc {
    font-size: clamp(13px, 3.7vw, 16px) !important;
    line-height: 1.36 !important;
  }
}

/* Desktop (>=1200px) mega-menu nav: single tidy vertical list. On iPad/tablet
   (768-1199) it switches to a 2-column grid instead (see the dedicated block
   below); below 768 the mobile list (.mob_menu) takes over. */
@media (min-width: 1200px) {
  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    margin: 0;
  }

  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul:nth-child(2) {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1.6px solid #E1E1E1;
  }

  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul li,
  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul li a {
    width: auto;
    max-width: 100%;
  }

  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul li a {
    display: block;
    padding-right: 0;
    word-break: normal;
    overflow-wrap: normal;
    white-space: normal;
  }
}

/* iPad / tablet (768-1199): the mega-menu panel is too narrow for two columns
   of long uppercase words (PROMOCIONES / SOBRE NOSOTROS / CONSTRUCCIÓN), so a
   2-col grid overlaps and clips. Stack the nav as a single tidy vertical list
   instead — one item per row, mirroring the desktop (>=1200) layout. */
@media (min-width: 768px) and (max-width: 1199px) {
  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin: 0;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul:nth-child(2) {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1.6px solid #E1E1E1;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul li {
    grid-column: auto;
    width: auto;
    max-width: 100%;
  }
  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul li a {
    display: block;
    padding-right: 0;
    word-break: normal;
    overflow-wrap: normal;
    white-space: normal;
  }
}

/* === Scrollytelling tab card: dark translucent glass scrim so the title +
   description stay legible over the photo scenes (replaces the cream panel).
   Full variant only — the home preview hides this card above. === */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group {
  background: rgba(10, 14, 16, 0.5) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28) !important;
  -webkit-backdrop-filter: blur(12px) saturate(130%) !important;
  backdrop-filter: blur(12px) saturate(130%) !important;
}
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active h3,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active span {
  color: #ffffff !important;
}
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description p,
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description.active p {
  color: rgba(255, 255, 255, 0.9) !important;
}
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block .descriptions_texts_img_group .descriptions_group .description h3::before {
  background-color: rgba(255, 255, 255, 0.85) !important;
}

/* Home-only scrollytelling preview. The investment page keeps the full version. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .about_block .descriptions_texts_img_group .descriptions_group {
  display: none !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__topnote {
  z-index: 34 !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__topnote__text {
  display: block !important;
  padding: clamp(16px, 2.2vw, 28px) clamp(18px, 3vw, 38px) !important;
  color: #ffffff !important;
  background: rgba(12, 18, 20, 0.26) !important;
  border: 1px solid rgba(255, 255, 255, 0.34) !important;
  border-radius: 8px !important;
  -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
  backdrop-filter: blur(16px) saturate(145%) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.42) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__topnote__text[data-scene-text="2"] {
  display: none !important;
}

/* Home preview (mobile): the teaser is locked to the build scene (state 3), so
   the intro caption — which only shows in state 1 by default — would never
   appear over the crane/construction. Keep it visible during the build so the
   title rides along with the obra animation. Scoped to --preview + state 3 so it
   never leaks into the full invest-page scrollytelling. */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene[data-story-state="3"] .storytelling_scene__topnote__text[data-scene-text="1"] {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition:
    opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.65s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .img_marbella a {
  top: auto !important;
  bottom: clamp(84px, 15vh, 216px) !important;
  left: 50% !important;
  right: auto !important;
  width: auto !important;
  min-width: clamp(176px, 18vw, 260px) !important;
  height: clamp(50px, 5vw, 64px) !important;
  padding: 0 clamp(26px, 3vw, 44px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  background: rgba(0, 0, 0, 0.46) !important;
  border: 1px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 0 !important;
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.28) !important;
  -webkit-backdrop-filter: blur(10px) saturate(130%) !important;
  backdrop-filter: blur(10px) saturate(130%) !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
  text-transform: none !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: clamp(15px, 1.05vw, 18px) !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  z-index: 35 !important;
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .img_marbella a:hover {
  background: rgba(0, 0, 0, 0.62) !important;
}

@media (min-width: 768px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__topnote {
    top: clamp(64px, 8vh, 104px) !important;
    width: min(820px, calc(100vw - 96px)) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__topnote__text {
    font-size: clamp(18px, 1.7vw, 28px) !important;
    line-height: 1.34 !important;
  }
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__topnote {
    top: clamp(86px, 13vh, 132px) !important;
    left: 18px !important;
    right: 18px !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .storytelling_scene__topnote__text {
    padding: 16px 18px !important;
    font-size: clamp(15px, 4.1vw, 18px) !important;
    line-height: 1.36 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .img_marbella a {
    bottom: 84px !important;
    min-width: 176px !important;
    height: 52px !important;
    padding: 0 28px !important;
    font-size: 15px !important;
  }
}

/* =============================================================
   Home preview + risks fixes.
   - The scrollytelling preview title must fade on desktop too; the
     old opacity rule only existed inside tablet/mobile media queries.
   - The preview CTA is pinned to the horizontal centre after all
     tablet overrides.
   - Risk "Solution" text expands in-flow on click/hover instead of
     being clipped by the fixed card height.
   ============================================================= */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling.story-title-hidden .about_block h2 {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-18px) !important;
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling.story-title-hidden .about_block h2 {
    transform: translateY(-14px) !important;
  }
}

html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .img_marbella a {
  position: absolute !important;
  left: 50vw !important;
  right: auto !important;
  top: auto !important;
  bottom: clamp(76px, 12vh, 150px) !important;
  transform: translate3d(-50%, 0, 0) !important;
  width: max-content !important;
  max-width: calc(100vw - 48px) !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .img_marbella a {
    bottom: clamp(72px, 10vh, 112px) !important;
    min-width: min(240px, calc(100vw - 80px)) !important;
  }
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .img_marbella a {
    bottom: max(72px, calc(env(safe-area-inset-bottom) + 72px)) !important;
    min-width: 176px !important;
    max-width: calc(100vw - 36px) !important;
  }
}

/* Invest (full) scrollytelling — desktop/tablet layout: move the per-scene
   description card to the BOTTOM-CENTRE, just above the CTA (like the mobile
   layout), and shrink the CTA so it no longer spans the full width. Scoped to the
   full variant (NOT --preview, whose card is hidden) and to >=768px so the mobile
   layout (<=767px) stays untouched. Placed last + the extra :not() so it beats the
   per-breakpoint rules earlier in the file. */
@media (min-width: 768px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .about_block .descriptions_texts_img_group .descriptions_group {
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: clamp(96px, 12vh, 150px) !important;
    transform: translateX(-50%) !important;
    /* Shrink-wrap the active title + description. The base layout pins this
       card to height:clamp(...,700px) so it matches the tab image — over the
       photo that made it ~4x taller than its text. height:auto + the width
       cap let it hug the text, like the mobile card. */
    width: auto !important;
    max-width: min(440px, 86vw) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: clamp(14px, 1.6vw, 22px) clamp(18px, 2vw, 26px) !important;
    text-align: center !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .about_block .descriptions_texts_img_group .descriptions_group .description.active h3 {
    padding-left: 0 !important;
    text-align: center !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .about_block .descriptions_texts_img_group .descriptions_group .description.active h3::before {
    display: none !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .about_block .descriptions_texts_img_group .descriptions_group .description.active p {
    padding-left: 0 !important;
    max-height: none !important;
    text-align: center !important;
  }
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .img_marbella a {
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: clamp(28px, 4vh, 48px) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(360px, 86vw) !important;
    transform: translateX(-50%) !important;
    white-space: nowrap !important;
  }
}

html body .managing_risks_market_block .cards_group .about_block {
  align-items: stretch !important;
}

html body .managing_risks_market_block .cards_group .about_block .card_risks {
  height: auto !important;
  min-height: clamp(420px, 34vw, 660px) !important;
  overflow: hidden !important;
  justify-content: space-between !important;
}

html body .managing_risks_market_block .cards_group .about_block .card_risks .text_card:last-child {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  margin-top: auto !important;
}

html body .managing_risks_market_block .cards_group .about_block .card_risks .accardion_mob {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
}

html body .managing_risks_market_block .cards_group .about_block .card_risks .accardion_mob_icon {
  display: block !important;
  flex: 0 0 37px !important;
  width: 37px !important;
  height: 37px !important;
}

html body .managing_risks_market_block .cards_group .about_block .card_risks .text_card p.text_p {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  margin: 0 !important;
  transition: max-height 0.35s ease, opacity 0.35s ease, margin 0.35s ease !important;
}

html body .managing_risks_market_block .cards_group .about_block .card_risks:hover .text_card p.text_p,
html body .managing_risks_market_block .cards_group .about_block .card_risks.is-open .text_card p.text_p,
html body .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active p.text_p {
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  margin-top: 12px !important;
}

html body .managing_risks_market_block .cards_group .about_block .card_risks:hover .accardion_mob,
html body .managing_risks_market_block .cards_group .about_block .card_risks.is-open .accardion_mob,
html body .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active .accardion_mob {
  margin-bottom: 0 !important;
  color: #010101 !important;
}

html body .managing_risks_market_block .cards_group .about_block .card_risks:hover .accardion_mob_icon circle,
html body .managing_risks_market_block .cards_group .about_block .card_risks:hover .accardion_mob_icon line,
html body .managing_risks_market_block .cards_group .about_block .card_risks.is-open .accardion_mob_icon circle,
html body .managing_risks_market_block .cards_group .about_block .card_risks.is-open .accardion_mob_icon line,
html body .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active .accardion_mob_icon circle,
html body .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active .accardion_mob_icon line {
  stroke: #010101 !important;
}

@media (max-width: 1199px) {
  html body .managing_risks_market_block .cards_group .about_block .card_risks {
    min-height: clamp(460px, 62vw, 640px) !important;
    overflow: hidden !important;
    justify-content: flex-start !important;
  }

  html body .managing_risks_market_block .cards_group .about_block .card_risks .text_card:last-child {
    margin-top: 0 !important;
  }

  html body .managing_risks_market_block .cards_group .about_block .card_risks > .text_card:first-child {
    flex: 0 0 clamp(190px, 22vw, 260px) !important;
    min-height: clamp(190px, 22vw, 260px) !important;
  }

  html body .managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper,
  html body .managing_risks_market_block .cards_group .about_block .card_risks:hover .img_wrapper,
  html body .managing_risks_market_block .cards_group .about_block .card_risks:hover:nth-child(1) .img_wrapper,
  html body .managing_risks_market_block .cards_group .about_block .card_risks:hover:nth-child(3) .img_wrapper,
  html body .managing_risks_market_block .cards_group .about_block .card_risks.is-open .img_wrapper,
  html body .managing_risks_market_block .cards_group .about_block .card_risks.is-open:nth-child(1) .img_wrapper,
  html body .managing_risks_market_block .cards_group .about_block .card_risks.is-open:nth-child(3) .img_wrapper {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: clamp(190px, 25vw, 280px) !important;
    margin: 0 0 clamp(18px, 2.4vw, 28px) !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 769px) {
  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block {
    align-items: flex-start !important;
    overflow-y: visible !important;
  }

  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks {
    align-self: flex-start !important;
    height: auto !important;
    height: max-content !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks > .text_card:first-child {
    flex: 0 0 clamp(136px, 31vw, 178px) !important;
    min-height: clamp(136px, 31vw, 178px) !important;
  }

  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks .text_card:last-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    flex: 0 0 auto !important;
    margin-top: 0 !important;
    padding-top: 7px !important;
    overflow: visible !important;
  }

  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks .img_wrapper,
  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks:hover .img_wrapper,
  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks.is-open .img_wrapper {
    height: clamp(180px, 42vw, 300px) !important;
    margin: 0 0 12px !important;
    opacity: 1 !important;
    transform: none !important;
  }

  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks .text_card p.text_p {
    position: static !important;
    order: 2 !important;
    transform: none !important;
  }

  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks:hover .text_card .text_p,
  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks.is-open .text_card .text_p,
  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active .text_p {
    max-height: 520px !important;
    margin: 7px 0 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
  }

  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks .accardion_mob {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    order: 1 !important;
  }

  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks:hover .accardion_mob,
  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks.is-open .accardion_mob,
  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks .text_card.active .accardion_mob {
    margin-bottom: 7px !important;
  }

  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks:hover,
  html body.is-home-page.is-home-page .managing_risks_market_block .cards_group .about_block .card_risks.is-open {
    overflow: visible !important;
  }
}

/* Final horizontal-overflow guard.
   The scrollytelling layers use viewport math; on mobile any leftover 100vw
   rule can expose the body background as a white strip on the right. */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overscroll-behavior-x: none;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip !important;
  }
}

body,
.wrapper {
  position: relative;
  min-width: 0 !important;
  max-width: 100% !important;
}

.wrapper {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

@media (max-width: 767px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .descriptions_texts_img_group,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: visible !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .descriptions_texts_img_group,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    left: 0 !important;
    right: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    overflow: hidden !important;
  }
}

/* Mobile scrollytelling fallback background.
   The pinned scene already fills the viewport via the responsive blocks above
   (@media max-width:1199px / 767px: container sticky 100vh, img_marbella/scene
   inset:0, base--mobile object-fit:cover with a fixed transform). We only force
   a dark fallback so any sub-pixel peek-through — or the base image still
   decoding — reads as the scene instead of the light desktop #f8f7f5, which was
   the "white block" at the end of the block. No background-image (the scene's
   own img/SVG layers stay the animated content) and no height/sticky/overflow
   overrides, so preview (home, short) and full (invest, ~600vh) keep their own
   JS-driven heights. */
@media (max-width: 767px) {
  html body .solutions_scrollytelling,
  html body .solutions_scrollytelling > .container,
  html body .solutions_scrollytelling .img_marbella,
  html body .solutions_scrollytelling .storytelling_scene {
    background-color: #101513 !important;
    background-image: none !important;
  }
}

/* =====================================================================
   Header search (lupa) — trigger button + full-screen overlay
   Markup: header.php (.search_trigger + #inmoluxSearch). JS: js/header-search.js
   ===================================================================== */
.search_trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #FFFFFF;
  transition: opacity 0.2s ease;
}
.search_trigger:hover { opacity: 0.7; }
.search_trigger svg { display: block; width: 24px; height: 24px; }
header .about_block .top_header_group .right_contacts .search_trigger--desktop { margin-right: 26px; }
header .about_block .top_header_group .menu_burger .search_trigger--mobile { margin-left: 4px; }

/* The desktop trigger lives in .right_contacts, which still renders on mobile
   (it keeps the lang switcher + CTA). Hide it there — the mobile trigger sits
   next to the burger instead. */
@media (max-width: 1199px) {
  header .about_block .top_header_group .right_contacts .search_trigger--desktop { display: none; }
}

.inmolux-search {
  position: fixed;
  inset: 0;
  z-index: 100000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.inmolux-search.is-open { opacity: 1; visibility: visible; }

.inmolux-search__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(16, 21, 19, 0.94);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.inmolux-search__panel {
  position: relative;
  width: min(760px, 92vw);
  height: 100%;
  margin: 0 auto;
  padding-top: clamp(76px, 12vh, 150px);
  display: flex;
  flex-direction: column;
  transform: translateY(-12px);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.inmolux-search.is-open .inmolux-search__panel { transform: translateY(0); }

.inmolux-search__close {
  position: fixed;
  top: clamp(18px, 4vh, 40px);
  right: clamp(18px, 4vw, 56px);
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #FFFFFF;
  transition: opacity 0.2s ease;
}
.inmolux-search__close:hover { opacity: 0.7; }

.inmolux-search__form {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  padding-bottom: 14px;
}
.inmolux-search__icon {
  display: flex;
  margin-right: 14px;
  color: #FFFFFF;
  opacity: 0.85;
}
.inmolux-search__icon svg { width: 26px; height: 26px; }
.inmolux-search__input {
  flex: 1 1 auto;
  min-width: 0;
  background: transparent;
  border: none;
  outline: none;
  color: #FFFFFF;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: clamp(20px, 3.2vw, 30px);
}
.inmolux-search__input::placeholder { color: rgba(255, 255, 255, 0.5); }
/* Hide the WebKit clear/cancel button — we manage the field ourselves. */
.inmolux-search__input::-webkit-search-cancel-button { -webkit-appearance: none; }

.inmolux-search__status {
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.6);
  font-family: "Inter", sans-serif;
  font-size: 14px;
}

.inmolux-search__results {
  flex: 1 1 auto;
  margin-top: 8px;
  padding-bottom: 40px;
  overflow-y: auto;
}

.inmolux-search__group { margin-top: 26px; }
.inmolux-search__group-title {
  margin: 0 0 10px;
  color: rgba(255, 255, 255, 0.55);
  font-family: "Inter", sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.inmolux-search__list { display: flex; flex-direction: column; }

.inmolux-search__result {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px;
  border-radius: 10px;
  text-decoration: none;
  color: #FFFFFF;
  transition: background 0.18s ease;
}
.inmolux-search__result:hover,
.inmolux-search__result.is-active { background: rgba(255, 255, 255, 0.08); }

.inmolux-search__thumb {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
}
.inmolux-search__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.inmolux-search__body { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.inmolux-search__title {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.inmolux-search__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.inmolux-search__ref {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #101513;
  background: #FFFFFF;
  padding: 2px 8px;
  border-radius: 4px;
}
.inmolux-search__price { font-size: 13px; color: rgba(255, 255, 255, 0.7); }
.inmolux-search__type {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}

.inmolux-search__viewall {
  display: inline-block;
  margin-top: 24px;
  color: #FFFFFF;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.inmolux-search__viewall:hover { opacity: 0.8; }

@media (max-width: 767px) {
  .inmolux-search__panel { width: 100%; padding-left: 18px; padding-right: 18px; }
  .inmolux-search__result { padding: 10px 8px; }
  .inmolux-search__thumb { width: 48px; height: 48px; }
}

/* =====================================================================
   Header search trigger (lupa) — adapt colour to the per-page chrome
   The header is white by default (used over dark heroes) and flips to black
   on the light-hero pages (buy / sell / invest) via the .big_block_home--{page}
   variant classes set in header.php. The lupa must follow the same logic, so
   it is white by default (see .search_trigger above) and black on those pages.
   ===================================================================== */
.big_block_home--buy .search_trigger,
.big_block_home--sell .search_trigger,
.big_block_home--invest .search_trigger {
  color: #010101;
}
/* Single project pages reuse the --buy variant but sit on a dark photo hero,
   so the chrome (and the lupa) stays white — mirrors project.css. */
body.single-inm_project .search_trigger {
  color: #FFFFFF;
}

/* =====================================================================
   Home-only header legibility
   The home keeps white chrome over a bright interior hero (the front-page.php
   glass treatment), so a soft shadow + a step from light 300 to regular 400
   keeps the white text + lupa readable. Scoped to body.is-home-page so no
   other page (which already recolours its header to black) is affected.
   ===================================================================== */
body.is-home-page header .about_block .top_header_group .menu ul li a,
body.is-home-page header .about_block .top_header_group .right_contacts .phone_number,
body.is-home-page header .about_block .top_header_group .right_contacts .lang-dropdown,
body.is-home-page header .about_block .top_header_group .right_contacts .consultation,
body.is-home-page header .about_block .bottom_header .menu ul li a,
body.is-home-page header .about_block .bottom_header .menu_burger > span {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45), 0 0 14px rgba(0, 0, 0, 0.25);
}
body.is-home-page header .about_block .top_header_group .menu ul li a,
body.is-home-page header .about_block .top_header_group .right_contacts .phone_number,
body.is-home-page header .about_block .bottom_header .menu ul li a {
  font-weight: 400;
}
body.is-home-page header .about_block .search_trigger svg,
body.is-home-page header .about_block .top_header_group .menu_burger .burger,
body.is-home-page header .about_block .bottom_header .menu_burger .burger {
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

/* =============================================================
   Trailing menu items in the 2-column grids (mobile mega-menu + footer).

   "Construcción" flows as a NORMAL grid cell (it pairs up in a row — e.g.
   Contactos | Construcción). "Guías y Blog" is the LAST appended item, so it
   lands alone in the final row; per client request we span it full-width and
   centre it so the column stays balanced ("para que quede bonito").

   In the desktop layouts (mega-menu vertical flex list ≥1200px, footer flex
   row >880px) grid-column / justify-self are simply ignored, so these only act
   inside the 2-col mobile mega + ≤880px footer grids. On the ≤430px single
   column it just spans the only column — harmless.
   ============================================================= */
/* Balance the 2-column mega/footer grids: when a list has an ODD number of
   items the lone last one would sit alone in the left column — span it across
   both columns and centre it. Targets the last item generically (works in any
   language / item count) instead of hard-coding "Guías", so an 8-item list
   (e.g. footer 4+4, mobile mega 2x4 with Alquilar present) stays untouched. */
footer .menu_group .menu ul li:last-child:nth-child(odd),
header .about_block .mega-menu .bottom_menu_group .menu_group_main.mob_menu ul li:last-child:nth-child(odd),
header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul li:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  justify-self: center;
  text-align: center;
}

/* Desktop mega-menu vertical flex list: keep the long word
   "Строительство / Construcción" on one line. */
@media (min-width: 1200px) {
  header .about_block .mega-menu .bottom_menu_group .menu_group_main:not(.mob_menu) ul li.menu-item--construction a {
    white-space: nowrap;
  }
}

/* On large screens (desktop ≥1200px) hide the phone number in the top header
   row — per client request it was crowding the top bar. The phone stays in the
   mega-menu, the footer and the floating contact CTA, and remains visible on
   tablet/mobile where the layout has room for it. */
@media (min-width: 1200px) {
  header .about_block .top_header_group .right_contacts .phone_number {
    display: none;
  }
}

/* Wide footer spacing: at very large desktop widths the footer menu and
   contact grid need more real room than the global 1758px container allows. */
@media (min-width: 2200px) {
  html body footer .container {
    max-width: min(2140px, calc(100vw - 160px));
  }

  html body footer .top_footer_block .about_block {
    column-gap: clamp(48px, 3vw, 84px);
    row-gap: 96px;
    padding-top: 118px !important;
    padding-bottom: 76px !important;
  }

  html body footer .top_footer_block .about_block .contacts_group:nth-child(4) {
    margin-top: 0;
  }

  html body footer .top_footer_block .about_block .contacts_group .networks {
    gap: 24px;
    flex-wrap: wrap;
  }

  html body footer .menu_group .menu {
    padding: 72px 0;
  }

  html body footer .menu_group .menu ul {
    justify-content: center;
    gap: clamp(44px, 2.6vw, 72px);
    padding: 0 36px;
    box-sizing: border-box;
  }

  html body footer .how_to_get_to_us .about_block {
    column-gap: 96px;
    padding: 76px 80px;
  }

  html body footer .bottom_texts_group .about_block {
    padding: 72px 0 58px;
  }
}

/* =========================================================
   2026-07-14 (peticion cliente): la linea inferior del header
   desaparece por completo (se quito de header.php) y el "menu" +
   burger pasan a la fila superior, a la derecha del todo junto al
   boton CONSULTA (.topbar_menu, dentro de .right_contacts).
   - Escritorio (>768px): visible; etiqueta "menu" + burger de 3
     lineas con las medidas Figma del burger antiguo (28/20/20).
   - Movil (<=768px): oculto — ahi sigue el burger propio de la
     fila superior izquierda (.top_header_group .menu_burger).
   - Color: blanco por defecto (hero oscuro del home); oscuro en
     las paginas de hero blanco (todas las interiores llevan la
     clase --buy, ademas de --sell / --invest).
   ========================================================= */
.topbar_menu { display: none; }
@media (min-width: 769px) {
  .topbar_menu {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-left: 28px;
    flex-shrink: 0;
    white-space: nowrap;
    position: relative;
    z-index: 250;
  }
  .topbar_menu > span {
    font-family: "Felidae", "Cormorant Garamond", serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    color: #FFFFFF;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .topbar_menu .burger {
    position: relative;
    width: 28px !important;
    height: 16px !important;
    flex-shrink: 0;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
  }
  .topbar_menu .burger span {
    position: absolute;
    display: block;
    height: 1.5px !important;
    background: #FFFFFF !important;
    transition: all .3s ease;
  }
  .topbar_menu .burger:not(.active) span:nth-child(1) { width: 28px !important; top: 0; right: 0; left: auto; }
  .topbar_menu .burger:not(.active) span:nth-child(2) { width: 20px !important; top: 50%; right: 0; left: auto; transform: translateY(-50%); }
  .topbar_menu .burger:not(.active) span:nth-child(3) { width: 20px !important; bottom: 0; top: auto; right: 0; left: auto; }

  /* Hero BLANCO: etiqueta y lineas del burger en oscuro. */
  .big_block_home--buy header .about_block .top_header_group .topbar_menu > span,
  .big_block_home--sell header .about_block .top_header_group .topbar_menu > span,
  .big_block_home--invest header .about_block .top_header_group .topbar_menu > span { color: #010101; }
  .big_block_home--buy header .about_block .top_header_group .topbar_menu .burger span,
  .big_block_home--sell header .about_block .top_header_group .topbar_menu .burger span,
  .big_block_home--invest header .about_block .top_header_group .topbar_menu .burger span { background: #010101 !important; }
}
/* Tablet / escritorio estrecho: la fila superior va justa con el trio
   + logo + contactos; se conserva el burger pero sin la etiqueta. */
@media (min-width: 769px) and (max-width: 1200px) {
  .topbar_menu { margin-left: 16px; }
  .topbar_menu > span { display: none; }
}

/* =========================================================
   2026-07-14 (peticion cliente): el trio del header (Comprar /
   Alquilar / Vender / Invertir) iba demasiado separado (gap 80px
   heredado del diseno ruso/espanol) y en idiomas con palabras
   largas (DE "Kaufen / Mieten / Verkaufen / Investieren", FR)
   llegaba a pegarse al logo e incluso a recortarse por el borde;
   ademas la distancia al logo variaba de una pagina a otra. Se
   compacta el grupo (enlaces mas juntos), se prohibe la rotura de
   linea y asi queda siempre aire entre el ultimo enlace y el logo,
   igual en todas las paginas e idiomas. El !important asegura que
   gana tambien a los overrides por pagina y al inline del home.
   Mismos valores en la fila del mega-menu para que no "salte" al
   abrirlo.
   ========================================================= */
header .about_block .top_header_group > .menu { min-width: 0; }
header .about_block .top_header_group .menu ul,
header .about_block .mega-menu .menu_burger_top_group > .menu ul {
  gap: 40px !important;
  flex-wrap: nowrap;
}
header .about_block .top_header_group .menu ul li a,
header .about_block .mega-menu .menu_burger_top_group > .menu ul li a {
  white-space: nowrap;
}
@media (max-width: 1500px) {
  header .about_block .top_header_group .menu ul,
  header .about_block .mega-menu .menu_burger_top_group > .menu ul {
    gap: 28px !important;
  }
}
@media (max-width: 1200px) {
  header .about_block .top_header_group .menu ul,
  header .about_block .mega-menu .menu_burger_top_group > .menu ul {
    gap: 20px !important;
  }
}

/* ============================================================
   Home intro strip (Servicios integrales, jul-2026):
   H2 + claim + 4 stats + awards line, above the award cards
   inside .cards_logos_informations.
   ============================================================ */
.home_intro .home_intro__head {
  padding: 100px 20px 50px 20px;
  text-align: center;
}
.home_intro .home_intro__head h2 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 50px;
  line-height: 110%;
  letter-spacing: 2%;
  text-transform: uppercase;
  color: #010101;
  max-width: 945px;
  margin: 0 auto 20px auto;
}
.home_intro .home_intro__head p {
  font-weight: 300;
  font-size: 24px;
  line-height: 130%;
  color: #3C3C3B;
  max-width: 860px;
  margin: 0 auto;
}
.home_intro .home_intro__stats {
  display: flex;
  border-top: 1.6px solid #E1E1E1;
}
.home_intro .home_intro__stat {
  flex: 1 1 25%;
  border-left: 1.6px solid #E1E1E1;
  padding: 40px 24px;
  text-align: center;
}
.home_intro .home_intro__stat:last-child {
  border-right: 0;
}
.home_intro .home_intro__stat:first-child {
  border-left: 0;
}
.home_intro .home_intro__stat span {
  display: block;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  color: #010101;
  margin-bottom: 12px;
}
.home_intro .home_intro__stat p {
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  color: #3C3C3B;
}
.home_intro .home_intro__awards_line {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  padding: 40px 20px 30px 20px;
  text-align: center;
  font-weight: 300;
  font-size: 18px;
  line-height: 130%;
  color: #3C3C3B;
}
@media (max-width: 767px) {
  .home_intro .home_intro__head {
    padding: 60px 16px 32px 16px;
  }
  .home_intro .home_intro__head h2 {
    font-size: 32px;
  }
  .home_intro .home_intro__head p {
    font-size: 17px;
  }
  .home_intro .home_intro__stats {
    flex-wrap: wrap;
  }
  .home_intro .home_intro__stat {
    flex: 1 1 50%;
    padding: 24px 12px;
    border-bottom: 1.6px solid #E1E1E1;
  }
  .home_intro .home_intro__stat:nth-child(odd) {
    border-left: 0;
  }
  .home_intro .home_intro__stat:nth-child(even) {
    border-right: 0;
  }
  .home_intro .home_intro__stat span {
    font-size: 30px;
  }
  .home_intro .home_intro__stat p {
    font-size: 13px;
  }
  .home_intro .home_intro__awards_line {
    border-top: none;
    padding: 28px 16px 20px 16px;
    font-size: 15px;
  }
}

/* =============================================================
   Footer navigation overflow fix.
   The footer menu can grow as pages are added, so the old one-line
   nowrap layout clips on desktop. Keep it as a balanced grid of links.
   ============================================================= */
html body footer .menu_group .menu {
  padding: clamp(28px, 2.8vw, 48px) clamp(14px, 2vw, 36px);
}

html body footer .menu_group .menu ul {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px 12px;
  width: min(100%, 1280px);
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  align-items: stretch;
  justify-content: center;
}

html body footer .menu_group .menu ul li,
html body footer .menu_group .menu ul li:last-child:nth-child(odd) {
  display: flex;
  flex: 1 1 230px;
  max-width: 250px;
  min-width: 0;
  justify-content: center;
  text-align: center;
}

html body footer .menu_group .menu ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.035);
  color: #fff;
  font-size: clamp(17px, 0.95vw, 22px);
  line-height: 1.12;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: normal;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

html body footer .menu_group .menu ul li a:hover,
html body footer .menu_group .menu ul li a:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.42);
  opacity: 1;
}

@media (min-width: 1800px) {
  html body footer .menu_group .menu ul {
    width: min(100%, 1320px);
  }

  html body footer .menu_group .menu ul li,
  html body footer .menu_group .menu ul li:last-child:nth-child(odd) {
    flex-basis: 235px;
    max-width: 260px;
  }
}

@media (max-width: 880px) {
  html body footer .menu_group .menu {
    padding: 24px 10px;
  }

  html body footer .menu_group .menu ul {
    gap: 10px;
  }

  html body footer .menu_group .menu ul li,
  html body footer .menu_group .menu ul li:last-child:nth-child(odd) {
    flex: 1 1 calc(50% - 10px);
    max-width: none;
  }

  html body footer .menu_group .menu ul li a {
    min-height: 48px;
    padding: 11px 10px;
    font-size: 15px;
    letter-spacing: 0.06em;
  }

  html body footer .menu_group .menu ul li:last-child:nth-child(odd) {
    flex-basis: 100%;
  }
}

@media (max-width: 430px) {
  html body footer .menu_group .menu ul li,
  html body footer .menu_group .menu ul li:last-child:nth-child(odd) {
    flex-basis: 100%;
  }
}

/* =============================================================
   Higgsfield desktop video scrollytelling.
   If images/storytelling/higgsfield-desktop.mp4 or .webm exists, viewports from
   760px lazy-load the video instead of the AVIF/SVG/WebP layer stack.
   Smaller mobile screens keep the existing responsive scene.
   ============================================================= */
html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__video--desktop {
  display: none;
}

@media (min-width: 760px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__video--desktop {
    position: absolute !important;
    inset: 0 !important;
    z-index: 18 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: #101513 !important;
    transition: opacity 220ms ease !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--desktop-video-ready .storytelling_scene__video--desktop {
    opacity: 1 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__picture--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__picture,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__picture *,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__base,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__base--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__svg_layer,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__svg_layer--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__deskscene,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__deskscene *,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__deskscene-rect,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__planos,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__planos--desktop,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__construction,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__finished,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene--has-desktop-video .storytelling_scene__construction--desktop {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Stable overlay layout for every viewport that uses the desktop video.
   This also closes the old 760-767px gap, where the video was active while
   the mobile text and full-width CTA rules were still winning. */
@media (min-width: 760px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling > .container {
    left: 50% !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    padding: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .descriptions_texts_img_group,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene {
    inset: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella {
    padding: 0 !important;
    transform: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .img_marbella::after {
    background: linear-gradient(
      180deg,
      rgba(7, 12, 14, 0.28) 0%,
      rgba(7, 12, 14, 0.04) 36%,
      rgba(7, 12, 14, 0.03) 60%,
      rgba(7, 12, 14, 0.34) 100%
    ) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block > h2 {
    top: clamp(22px, 4dvh, 48px) !important;
    left: 50% !important;
    right: auto !important;
    width: min(720px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    color: #fff !important;
    font-size: clamp(29px, 4.2vw, 46px) !important;
    line-height: 1.03 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling.story-title-hidden .about_block > h2 {
    transform: translate(-50%, -16px) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote {
    top: clamp(142px, 21dvh, 196px) !important;
    left: 50% !important;
    right: auto !important;
    width: min(720px, calc(100vw - 64px)) !important;
    max-width: calc(100vw - 64px) !important;
    transform: translateX(-50%) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote__text,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-title,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote-subtitle {
    letter-spacing: 0 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .about_block .descriptions_texts_img_group .descriptions_group {
    display: block !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: clamp(94px, 11dvh, 132px) !important;
    width: min(440px, calc(100vw - 48px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 48px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: clamp(14px, 1.8vw, 20px) clamp(18px, 2.4vw, 26px) !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .descriptions_group .description {
    display: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .descriptions_group .description.active {
    display: block !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .descriptions_group .description.active h3 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: clamp(22px, 2.8vw, 30px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .descriptions_group .description.active h3::before {
    display: none !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .descriptions_group .description.active p {
    display: block !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    max-height: none !important;
    opacity: 1 !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: clamp(14px, 1.45vw, 16px) !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    transform: none !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .img_marbella > a,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .img_marbella > a {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: clamp(18px, 3.5dvh, 38px) !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: clamp(190px, 24vw, 280px) !important;
    max-width: calc(100vw - 48px) !important;
    min-height: 50px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 13px 28px !important;
    border-radius: 0 !important;
    transform: translateX(-50%) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: clamp(14px, 1.35vw, 17px) !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1024px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block > h2 {
    left: clamp(32px, 4vw, 76px) !important;
    width: min(600px, 43vw) !important;
    max-width: 43vw !important;
    transform: none !important;
    font-size: clamp(34px, 3.6vw, 56px) !important;
    text-align: left !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling.story-title-hidden .about_block > h2 {
    transform: translateY(-16px) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote {
    top: clamp(42px, 8dvh, 86px) !important;
    left: auto !important;
    right: clamp(32px, 4vw, 76px) !important;
    width: min(620px, 43vw) !important;
    max-width: 43vw !important;
    transform: none !important;
  }
}

@media (min-width: 760px) and (max-height: 720px) {
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .about_block > h2 {
    top: 16px !important;
    font-size: clamp(26px, 3.2vw, 38px) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling .storytelling_scene__topnote {
    top: 96px !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .about_block .descriptions_texts_img_group .descriptions_group {
    bottom: 74px !important;
    padding: 12px 18px !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .descriptions_group .description.active h3 {
    font-size: clamp(20px, 2.4vw, 26px) !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .descriptions_group .description.active p {
    margin-top: 7px !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
  }

  html body .marbella_solutions_wealth_impact.solutions_scrollytelling:not(.solutions_scrollytelling--preview) .img_marbella > a,
  html body .marbella_solutions_wealth_impact.solutions_scrollytelling--preview .img_marbella > a {
    bottom: 12px !important;
    min-height: 44px !important;
    padding: 10px 24px !important;
  }
}
