/* MEDLA: ek-icons.css */
/* Generado por tools/make_icon_font.py: no editar a mano. */
@font-face {
  font-family: "ElementsKit Subset";
  src: url("../fonts/elementskit-subset.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
.ek { font-family: "ElementsKit Subset"; font-style: normal; font-weight: 400; line-height: 1; speak: never; -webkit-font-smoothing: antialiased; }
.ek::before { display: block; }

.ek-lock::before { content: "\e80f"; }

.ek-protected-content-v3::before { content: "\e930"; }

.ek-tick::before { content: "\e983"; }
.ek-users::before { content: "\e82b"; }

/* MEDLA: styles.css */
/* ==========================================================================
   MEDLA Asesores · recreación a medida de medla-asesores.com
   Tokens medidos del sitio original (ver DESIGN.md)
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root {
  /* Color: paleta del original, un solo acento (dorado) */
  --teal: #142D37;
  --teal-deep: #112734;
  --gold: #A6956B;
  --gold-soft: #EFEEE6;
  --gold-line: #C6AD72;
  --paper: #F0F0F0;
  --cream: #F7F6F2;
  --white: #FFFFFF;
  --ink: #232323;
  --ink-soft: #333333;
  --muted: #666666;
  --muted-inverse: #AAAAAA;
  --star: #F6BB06;
  --verified: #3D7DFC;
  --wa: #4DC247;

  /* Tipografía */
  --font-display: "DM Serif Display", Georgia, "Times New Roman", serif;
  --font-hero: "DM Serif Text", "DM Serif Display", Georgia, serif;
  --font-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-ui: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-btn: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Espaciado (escala 4/8) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-9: 36px;
  --space-10: 40px;
  --space-12: 48px;
  --space-13: 52px;
  --space-16: 64px;
  --space-25: 100px;

  /* Layout: un solo ancho de contenedor */
  --container: 1400px;
  --section-y: var(--space-25);
  --section-x: 10px;

  /* Radios (regla documentada: tarjeta 16 · nota 20 · reseña 25 · imagen 30 · botones rectos) */
  --radius-icon: 12px;
  --radius-card: 16px;
  --radius-note: 20px;
  --radius-review: 25px;
  --radius-image: 30px;

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --t-micro: 0.3s;
}

/* ---------- 2. Base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 24px;
  /* Safari exposes the root canvas below the document as its toolbar moves. */
  background: #e9e8dc;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  /* Keep document scrolling native. Clip decorative overflow in its component,
     not on the viewport that also contains the footer and fixed controls. */
}

img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4, p, figure, blockquote, ul, address { margin: 0; }
ul { padding: 0; list-style: none; }
address { font-style: normal; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
[hidden] { display: none !important; }

:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.section--teal :focus-visible,
.modal :focus-visible { outline-color: #D9C99A; }

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  left: 16px; top: -80px;
  z-index: 300;
  padding: 12px 20px;
  background: var(--teal);
  color: #fff;
  font-weight: 600;
  transition: top 0.25s var(--ease-out);
}
.skip-link:focus { top: 16px; }

.wrap {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
}

/* ---------- 3. Botones ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 20px 30px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  color: var(--btn-fg);
  background: var(--btn-bg);
  border: 1px solid var(--btn-bd, var(--btn-bg));
  border-radius: 0;
  transition:
    color var(--t-micro) var(--ease-out),
    background-color var(--t-micro) var(--ease-out),
    border-color var(--t-micro) var(--ease-out),
    translate var(--t-micro) var(--ease-out),
    box-shadow var(--t-micro) var(--ease-out);
}
.btn:hover {
  color: var(--btn-fg-hover);
  background: var(--btn-bg-hover);
  border-color: var(--btn-bd-hover, var(--btn-bg-hover));
  translate: 0 -2px;
  box-shadow: 0 14px 24px -14px rgba(20, 45, 55, 0.55);
}
.btn:active {
  translate: 0 0;
  scale: 0.98;
  box-shadow: none;
}

.btn--teal {
  --btn-bg: var(--teal); --btn-fg: #fff;
  --btn-bg-hover: #fff; --btn-fg-hover: var(--teal); --btn-bd-hover: var(--teal);
}
.btn--gold {
  --btn-bg: var(--gold); --btn-fg: #000;
  --btn-bg-hover: var(--teal); --btn-fg-hover: #fff;
}
.btn--deep {
  --btn-bg: var(--teal-deep); --btn-fg: #fff;
  --btn-bg-hover: #fff; --btn-fg-hover: var(--teal-deep); --btn-bd-hover: var(--teal-deep);
  font-size: 1rem;
  padding: 20px 28px;
}

.btn--lg { font-size: clamp(1rem, 1.4vw, 1.25rem); padding: 20px 35px; }

/* ---------- 4. Cortina de entrada ---------- */
.curtain {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  place-items: center;
  background: var(--cream);
}
.curtain__logo { width: 110px; height: auto; }

/* ---------- 5. Header ---------- */
.site-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 50;
  padding-inline: var(--section-x);
}

.brand { display: block; flex: none; width: 130px; }
.brand img { width: 100%; }

.site-nav {
  display: flex;
  align-items: center;
  gap: var(--space-5);
}

.site-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 20px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 20px;
  color: var(--ink);
  transition: color var(--t-micro) var(--ease-out);
}
.site-nav__link::after {
  content: "";
  position: absolute;
  left: 20px; right: 20px; bottom: 6px;
  height: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.45s var(--ease-out);
}
.site-nav__link:hover::after,
.site-nav__link:focus-visible::after { transform: scaleX(1); }
.site-nav__link.is-active { color: var(--teal); }
.site-nav__link .ph-caret-down { font-size: 12px; transition: rotate var(--t-micro) var(--ease-out); }
.has-sub:hover .ph-caret-down,
.has-sub:focus-within .ph-caret-down { rotate: 180deg; }

.nav-toggle {
  display: none;
  place-items: center;
  width: 48px; height: 48px;
  font-size: 30px;
  color: var(--teal);
  border: 1px solid rgba(20, 45, 55, 0.25);
  background: rgba(255, 255, 255, 0.7);
  transition: background-color var(--t-micro) var(--ease-out);
}
.nav-toggle:hover { background: #fff; }

/* ---------- 6. Hero ---------- */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 100vh;
  min-height: 100dvh;
  /* Medidas del original: contenido centrado en vertical bajo la cabecera */
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 197px;
  padding-bottom: 0;
  background: linear-gradient(165deg, #E9E8E2 0%, #F7F6F2 55%, #ECEBE6 100%);
}
.hero__media {
  position: absolute;
  inset: -15% 0;
  z-index: -2;
  will-change: transform;
}
.hero__poster,
.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__video { opacity: 0; transition: opacity 1.2s var(--ease-out); }
.hero__video.is-ready { opacity: 1; }
.hero__veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #fff;
  opacity: 0.8;
}
.hero__content {
  width: calc(100% - 100px);
  max-width: var(--container);
  margin-inline: auto;
}
.hero__title {
  max-width: 80%;
  font-family: var(--font-hero);
  font-size: 68px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--teal);
}

.hl__mark {
  position: absolute;
  left: 50%; top: 50%;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  translate: -50% -50%;
  overflow: visible;
  pointer-events: none;
  fill: none;
  stroke: var(--gold);
  stroke-width: 2;
}
.hero__tag {
  max-width: 60%;
  margin-top: var(--space-9);
  font-size: 28px;
  font-weight: 600;
  line-height: 2;
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
}
.hero__lead {
  max-width: 60%;
  margin: 34px 0 34px;
  font-size: 19.2px;
  font-weight: 600;
  line-height: 2;
  color: var(--ink);
}

/* ---------- 7. Bloques de sección ---------- */
.section {
  padding: var(--section-y) var(--section-x);
}
.section--paper { background: var(--paper); }

.section--white { background: var(--white); }
.section--teal  { background: var(--teal); color: #fff; }

.section-title {
  max-width: 960px;
  margin-inline: auto;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  color: var(--ink);
}
.section-title em { font-style: normal; color: var(--gold); }
.section-title--light { color: #fff; }
.section-title--teal { color: var(--teal); }

.section-lead {
  max-width: 960px;
  margin: 30px auto 0;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
  text-align: center;
  color: var(--muted);
  text-wrap: pretty;
}
.section-lead--light { color: var(--muted-inverse); }

/* ---------- 8. Compromiso ---------- */
.commit__wrap { display: flex; flex-direction: column; }

/* ---------- 9. Cita ---------- */

.qw { display: inline; }

/* ---------- 10. Cifras ---------- */

/* ---------- 11. Servicios ---------- */
.services { padding: 0; }

/* ---------- 12. Reseñas ---------- */
.reviews__board {
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  align-items: center;
  gap: var(--space-8);
  margin-top: 65px;
}
.reviews__summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
  font-family: var(--font-ui);
  color: #fff;
}
.reviews__rating { font-size: 1.3rem; font-weight: 600; line-height: 1.4; letter-spacing: 0.01em; }
.reviews__stars { display: flex; gap: 2px; font-size: 26px; color: var(--star); }
.reviews__count { font-size: 0.875rem; }
.reviews__count strong { font-weight: 600; }
.g-word {
  margin-top: 6px;
  font-family: var(--font-ui);
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
}

/* Carrusel base (reseñas, socios, sellos) */
.car { position: relative; }
.car__viewport { overflow: hidden; }
.car__track {
  display: flex;
  will-change: transform;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.car__slide {
  flex: 0 0 calc(100% / var(--pv, 1));
  min-width: 0;
}
.car__btn {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 30px; height: 30px;
  margin-top: -15px;
  font-size: 16px;
  color: var(--ink);
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  transition: opacity var(--t-micro) var(--ease-out), scale var(--t-micro) var(--ease-out), background-color var(--t-micro) var(--ease-out);
}
.car__btn:hover { scale: 1.12; }
.car__btn:active { scale: 0.94; }
.car__btn--prev { left: -15px; }
.car__btn--next { right: -15px; }
.car__btn[disabled] { opacity: 0; pointer-events: none; }
.car__btn--bare {
  width: 40px; height: 40px;
  margin-top: -20px;
  font-size: 22px;
  color: var(--muted);
  background: none;
  box-shadow: none;
}
.car__btn--bare:hover { color: var(--ink); background: rgba(0, 0, 0, 0.05); }
.car__btn--bare.car__btn--prev { left: 0; }
.car__btn--bare.car__btn--next { right: 0; }

.car__dots { display: flex; justify-content: center; margin-top: var(--space-4); }
.car__dot {
  display: grid;
  place-items: center;
  width: 24px; height: 24px;
}
.car__dot::before {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #C9C9C9;
  transition: background-color var(--t-micro) var(--ease-out), scale var(--t-micro) var(--ease-out);
}
.car__dot:hover::before { scale: 1.3; }
.car__dot[aria-current="true"]::before { background: var(--ink); }

.car--reviews { --pv: 4; }
.car--reviews .car__viewport { padding: 8px 0 26px; margin: -8px 0 -26px; }
.car--reviews .car__track { align-items: flex-start; }
.car--reviews .car__slide { padding: 0 8px; }
.car--partners { --pv: 3; margin-top: 65px; }

/* Tarjeta de reseña */
.rev {
  position: relative;
  min-height: 235px;
  padding: 20px 20px 48px;
  font-family: var(--font-ui);
  color: #000;
  background: #fff;
  border: 1px solid var(--gold-line);
  border-radius: var(--radius-review);
  box-shadow: 1px 4px 10px rgba(0, 0, 0, 0.05), 0 0 2px rgba(0, 0, 0, 0.05);
  transition: translate 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
}
.rev:hover {
  translate: 0 -4px;
  box-shadow: 1px 18px 30px -12px rgba(0, 0, 0, 0.35), 0 0 2px rgba(0, 0, 0, 0.05);
}
.rev__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-2); }
.rev__head > div { min-width: 0; }
.rev__name {
  overflow: hidden;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rev__date { font-size: 0.8125rem; line-height: 1.4; color: #6B6B6B; }
.rev__g { flex: none; width: 20px; height: 20px; }
.rev__stars {
  display: flex;
  align-items: center;
  gap: 1px;
  margin: var(--space-2) 0 var(--space-3);
  font-size: 17px;
  color: var(--star);
}
.rev__ok { margin-left: 5px; color: var(--verified); }
.rev__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  font-size: 0.9375rem;
  line-height: 1.45;
}
.rev.is-open .rev__text { display: block; -webkit-line-clamp: unset; }
.rev__more {
  margin-top: 6px;
  font-size: 0.8125rem;
  color: #6B6B6B;
  transition: color var(--t-micro) var(--ease-out);
}
.rev__more:hover { color: var(--ink); }
.rev__quote {
  position: absolute;
  right: 20px; bottom: 12px;
  font-size: 30px;
  color: var(--gold-line);
}

/* ---------- 13. Socios ---------- */
.partners .car__slide {
  display: grid;
  place-items: center;
  padding: 0 var(--space-5);
}
.partner { width: 100%; max-width: 300px; }
.partner img { max-height: 170px; width: auto; margin-inline: auto; object-fit: contain; }

/* ---------- 14. FAQ ---------- */
.accordion { display: grid; gap: var(--space-5); margin-top: 65px; }
.acc {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.4s var(--ease-out);
}
.acc:hover { box-shadow: 0 14px 28px -18px rgba(20, 45, 55, 0.4); }
.acc__btn {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: 25px;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: left;
  color: #000;
}
.acc__btn i { flex: none; font-size: 15px; transition: rotate 0.45s var(--ease-out); }
.acc__btn[aria-expanded="true"] i { rotate: 180deg; }
.acc__panel { overflow: hidden; }
.acc__body {
  padding: 0 25px 25px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  color: var(--muted);
}

/* ---------- 15. CTA ¿Tienes alguna pregunta? ---------- */
.ask {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-inline: 50px;
  background: linear-gradient(140deg, #4A4638 0%, #2A2A26 100%);
}

/* ---------- 16. Empresas ---------- */

/* ---------- 17. Footer ---------- */

.flag { display: inline-block; width: 16px; height: 12px; }

/* ---------- 18. WhatsApp + modal ---------- */
.wa-fab {
  position: fixed;
  /* encima del avatar del chat de Jotform (64 px, a 15/16 px del borde), centrado con él */
  right: 17px; bottom: 150px;   /* libre también cuando aparece el saludo del chat */
  z-index: 60;
  display: grid;
  place-items: center;
  width: 60px; height: 60px;
  font-size: 36px;
  color: #fff;
  background: var(--wa);
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
  transition: scale var(--t-micro) var(--ease-out), box-shadow var(--t-micro) var(--ease-out);
}
.wa-fab:hover { scale: 1.1; box-shadow: 0 12px 26px rgba(0, 0, 0, 0.32); }
.wa-fab:active { scale: 0.96; }

.modal {
  position: fixed;
  inset: 0;
  z-index: 150;
  display: grid;
  place-items: center;
  padding: var(--space-4);
}
.modal__backdrop { position: absolute; inset: 0; background: rgba(8, 18, 24, 0.78); }
.modal__panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: min(640px, 100%);
  min-height: 470px;
  background: linear-gradient(140deg, #1B3A47, #0F232C);
}
.modal__bg { position: absolute; inset: 0; z-index: -2; }
.modal__bg img { width: 100%; height: 100%; object-fit: cover; }
.modal__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(8, 18, 24, 0.66), rgba(8, 18, 24, 0.34));
}
.modal__close {
  position: absolute;
  top: var(--space-4); right: var(--space-4);
  z-index: 2;
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  font-size: 22px;
  color: #fff;
  border-radius: 50%;
  transition: background-color var(--t-micro) var(--ease-out), rotate var(--t-micro) var(--ease-out);
}
.modal__close:hover { background: rgba(255, 255, 255, 0.16); rotate: 90deg; }
.modal__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 470px;
  padding: 56px 32px 40px;
  color: #fff;
}
.modal__title { font-family: var(--font-display); font-size: clamp(2rem, 6vw, 3rem); font-weight: 400; line-height: 1; }
.modal__text { max-width: 30ch; margin: var(--space-6) 0 var(--space-8); font-size: 1.25rem; font-weight: 500; line-height: 1.7; }
.modal__small { margin-top: var(--space-5); font-size: 0.9375rem; font-weight: 500; line-height: 1.3; }

/* ---------- 19. Marcadores de imagen pendiente ---------- */
.slot { position: relative; display: block; }
.slot img { display: block; max-width: 100%; height: auto; }
.slot.is-missing img { display: none; }
img.is-broken { display: none; }
.slot.is-missing {
  display: grid;
  place-items: center;
  min-height: 120px;
  padding: var(--space-4);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  color: var(--gold);
  background: var(--gold-soft);
  border: 1px dashed rgba(166, 149, 107, 0.6);
}
.slot.is-missing::after { content: attr(data-label); }

.partner.is-missing { min-height: 110px; }

/* ---------- 20. Estados iniciales de motion (solo con motion permitido) ---------- */
@media (prefers-reduced-motion: no-preference) {
.js .curtain { display: grid; }

.js [data-reveal],
  .js [data-reveal-item] { opacity: 0; transform: translate3d(0, 40px, 0); }

.js .site-header { opacity: 0; transform: translate3d(0, -30px, 0); }
.js .hero__tag,
  .js .hero__lead,
  .js .hero .btn--lg { opacity: 0; transform: translate3d(0, 26px, 0); }

.js .hero__title .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.14em; margin-bottom: -0.14em; }
.js .hero__title .w--hl { overflow: visible; }
.js .hero__title .wi { display: inline-block; transform: translate3d(0, 118%, 0); }
.js .hero__title .w--hl .wi { opacity: 0; transform: translate3d(0, 40%, 0); }

.js .is-in { opacity: 1 !important; transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- 21. Responsive ---------- */
@media (max-width: 1200px) {
.car--reviews { --pv: 3; }

}

@media (max-width: 1024px) {
.nav-toggle { display: grid; }
.site-nav {
    position: absolute;
    top: 100%;
    left: var(--space-5); right: var(--space-5);
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-6) var(--space-6);
    background: #fff;
    box-shadow: 0 30px 50px -20px rgba(20, 45, 55, 0.4);
    opacity: 0;
    visibility: hidden;
    translate: 0 -10px;
    transition: opacity var(--t-micro) var(--ease-out), translate var(--t-micro) var(--ease-out), visibility 0s linear var(--t-micro);
  }
.site-nav.is-open { opacity: 1; visibility: visible; translate: 0 0; transition-delay: 0s; }

.site-nav__link { padding: 16px 0; }
.site-nav__link::after { left: 0; right: 0; }
.site-nav__link .ph-caret-down { display: none; }

.hero { padding-top: 132px; }
.hero__content { width: calc(100% - 140px); }
.hero__title { max-width: 100%; }
.hero__tag, .hero__lead { max-width: 85%; }

.reviews__board { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
.car--reviews { --pv: 2; }
.car--partners { --pv: 2; }

}

@media (max-width: 767px) {
:root { --section-y: var(--space-16); --section-x: var(--space-4); }

.brand { width: 90px; }
.site-nav { left: var(--space-4); right: var(--space-4); }

.hero { padding-top: 127px; }
.hero__video { display: none; }
.hero__content { width: calc(100% - 40px); }
.hero__title { font-size: 35.2px; line-height: 48px; }
.hero__tag, .hero__lead { max-width: 100%; font-size: 14.4px; }
.hero .btn--lg { font-size: 16px; line-height: 16px; padding: 15px 25px; }

.section-lead { font-size: 1rem; }

.reviews__board { margin-top: var(--space-10); }
.car--reviews { --pv: 1; }
.car--partners { --pv: 1; margin-top: var(--space-10); }
.car--reviews .car__btn--prev { left: -8px; }
.car--reviews .car__btn--next { right: -8px; }

.accordion { margin-top: var(--space-10); }
.acc__btn { padding: var(--space-5); font-size: 1.0625rem; }
.acc__body { padding: 0 var(--space-5) var(--space-5); }

.ask { padding-inline: var(--space-4); }

.modal { padding: 0; align-items: end; }
.modal__panel { width: 100%; min-height: 78vh; }
.modal__content { min-height: 78vh; padding: 72px var(--space-6) var(--space-8); }
}

/* ==========================================================================
   22. Páginas internas (contenido convertido del sitio original)
   ========================================================================== */

/* Marcadores de componentes (formularios, reseñas...): no crean caja propia */

/* FAQ convertido: lista sobre el fondo de su tarjeta contenedora */

/* Artículos: títulos y entradillas más editoriales */

/* Listado de artículos */

@media (max-width: 1024px) {
/* Medidas del original en tablet: logo 94 px, cabecera 124 px */

}
@media (max-width: 767px) {
/* Medidas del original en móvil: logo 90 px, cabecera 110 px */

}

/* ==========================================================================
   23. Formularios (contacto, asesoría confirmada, newsletter)
   ========================================================================== */
.mform { width: 100%; max-width: 1300px; margin-inline: auto; font-family: var(--font-body); color: var(--teal); }

.mform__plan { margin: -8px auto 24px; text-align: center; font-size: 0.9375rem; color: var(--muted); }

.mfield { display: flex; flex-direction: column; gap: 6px; min-width: 0; border: 0; padding: 0; margin: 0; }

.mfield__label abbr, .mcheck abbr { color: #B3261E; text-decoration: none; margin-left: 2px; }

.mfield input[type="text"], .mfield input[type="email"], .mfield input[type="tel"], .mfield input[type="month"], .mfield select, .mfield textarea {
  width: 100%;
  padding: 13px 16px;
  font: 500 1rem/1.4 var(--font-body);
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(20, 45, 55, 0.3);
  border-radius: 8px;
  transition: border-color var(--t-micro) var(--ease-out), box-shadow var(--t-micro) var(--ease-out);
}
.mfield textarea { resize: vertical; min-height: 120px; }
.mfield input:hover, .mfield select:hover, .mfield textarea:hover { border-color: var(--teal); }
.mfield input:focus, .mfield select:focus, .mfield textarea:focus { outline: 0; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(166, 149, 107, 0.35); }
.mfield.is-invalid input, .mfield.is-invalid select, .mfield.is-invalid textarea { border-color: #B3261E; }
.mfield__error { font-size: 0.8125rem; font-weight: 600; color: #B3261E; }

.mcheck { display: flex; align-items: flex-start; gap: 10px; margin: 6px 0; font-size: 0.9375rem; line-height: 1.45; color: var(--ink); cursor: pointer; }
.mcheck input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--teal); cursor: pointer; }
.mcheck.is-invalid span { color: #B3261E; }

.mform__status { margin-top: 16px; min-height: 1.5em; font-size: 0.9375rem; font-weight: 600; }
.mform__status.is-error { color: #B3261E; }
.mform.is-sending button[type="submit"] { opacity: 0.6; pointer-events: none; }
.mform__done { padding: 40px 28px; text-align: center; background: var(--cream); border-radius: var(--radius-note); }
.mform__done h3 { margin: 0 0 10px; font-family: var(--font-display); font-weight: 400; font-size: 2rem; color: var(--teal); }
.mform__done p { margin: 0; color: var(--ink); line-height: 1.6; }
.mform--newsletter { max-width: 560px; }

/* ==========================================================================
   24. Tarjetas de consultas (agenda)
   ========================================================================== */

/* Mismo alto que la tabla de precios de Stripe del original (678 px a 1440) */
@media (min-width: 1025px) {}
.plan { display: flex; flex-direction: column; min-width: 0; font-family: var(--font-ui); }

/* Bloques de apoyo de páginas convertidas */

@media (max-width: 1024px) {

}
@media (max-width: 767px) {

}

/* Intro completo solo en la primera visita de la sesión */
html.no-intro .curtain { display: none !important; }

/* Formulario sobre fondo oscuro (tarjeta "Contáctanos") */
.mform--dark, .mform--dark .mfield__label, .mform--dark .mcheck, .mform--dark .mform__legal { color: #F2F2F2; }

.mform--dark .mfield input, .mform--dark .mfield textarea, .mform--dark .mfield select {
  color: #fff; background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.35);
}
.mform--dark .mfield input:hover, .mform--dark .mfield textarea:hover { border-color: #fff; }
.mform--dark .mcheck input { accent-color: var(--gold); }
.mform--dark .mfield.is-invalid input, .mform--dark .mfield.is-invalid textarea { border-color: #FF8A80; }
.mform--dark .mfield__error, .mform--dark .mform__status.is-error { color: #FFB4AB; }
.mform--dark .mfield__label abbr, .mform--dark .mcheck abbr { color: #FFB4AB; }
.mform--rapido { max-width: 100%; }

@media (max-width: 1024px) {
.car--reviews .car__btn--prev { left: 4px; }
.car--reviews .car__btn--next { right: 4px; }
}

/* ---------- 25. Reserva con pago (calendarios de HighLevel) ---------- */

.booking {
  max-width: 1000px;
  margin-inline: auto;
  padding: var(--space-12) var(--space-6) var(--space-16);
}

/* Con el chat de HighLevel activo, el botón de WhatsApp sube para no taparlo */

@media (max-width: 767px) {

.booking { padding: var(--space-8) var(--space-2) var(--space-12); }

}

/* ---------- 26. Pie convertido del original (tools/extract.mjs --footer) ---------- */

/* Contenido por encima de las formas (olas/triángulos) de Elementor */

/* El original mide los botones con la fuente del sistema; con la tipografía de marca no deben partirse */

/* Botón del hero con las medidas del original (195 × 62 en escritorio y tablet) */
.hero .btn--lg { font-size: 20px; font-weight: 500; line-height: 20px; padding: 20px 35px; }
@media (max-width: 767px) {
.hero .btn--lg { font-size: 16px; line-height: 16px; padding: 15px 25px; }
}
/* Margen lateral del logo como el original: 40 px a 1440, ~13 px en portátil/tablet, 20 px en móvil */
@media (max-width: 1399px) {
.site-header { padding-inline: 0; }

}
@media (max-width: 767px) {

}

/* ---------- 27. Paginación del blog ---------- */

/* Botones desactivados (sitio de empresas en preparación) */
a.is-disabled, a.is-disabled:hover, a.is-disabled:focus-visible { opacity: 0.5; cursor: not-allowed; filter: grayscale(0.3); translate: none; transform: none; box-shadow: none; }
/* Inicio en móvil/tablet: botón de menú como el original (cuadro teal de 40 px, líneas blancas) */
@media (max-width: 1024px) {
.site-header:not(.site-header--solid) .nav-toggle { width: 40px; height: 40px; font-size: 22px; padding: 0; border: 0; border-radius: 0; background: var(--teal); color: #fff; }
.site-header:not(.site-header--solid) .nav-toggle:hover { background: var(--teal-deep); }
}
@media (max-width: 767px) {
.site-header:not(.site-header--solid) .nav-toggle { margin: 18px 6px 0 0; }
}
@media (max-width: 767px) {
.hero .btn--lg { border-radius: 6px; }
}

/* MEDLA: polish.css */
/* Conservative refinements. Original brand, typography, images and structure remain in styles.css. */
.hero__lead{max-width:760px;text-wrap:pretty}.hero__title{text-wrap:balance}.mform input,.mform textarea,.mform select{max-width:100%}.acc__btn{min-height:52px}.new-guide{max-width:850px;margin:auto;padding:60px 24px 85px;font-family:var(--font-body);line-height:1.8}.new-guide h1{font:400 clamp(32px,4vw,48px)/1.15 var(--font-display);color:var(--teal);margin-bottom:22px}.new-guide h2{font:400 clamp(24px,3vw,31px)/1.25 var(--font-display);color:var(--teal);margin:34px 0 18px}.new-guide p{margin-bottom:20px}.new-guide>img{width:100%;max-height:440px;object-fit:cover;margin:28px 0}.new-guide ul{list-style:disc;padding-left:24px}.new-guide li{margin-bottom:12px}.new-guide a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.new-guide>.btn{color:#fff;text-decoration:none;margin-top:25px}
.consent-banner{position:fixed;z-index:9000;left:20px;bottom:20px;width:445px;max-width:calc(100vw - 40px);padding:25px;background:var(--cream);border:1px solid #bcb8ab;box-shadow:0 5px 25px #142d3725;color:var(--ink);font-family:var(--font-body)}.consent-banner h2{font:400 25px/1.2 var(--font-display);color:var(--teal);margin:0 0 15px}.consent-banner p{font-size:12px;line-height:1.7;margin-bottom:19px}.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.consent-actions .btn{font-size:11px;padding:13px 10px;min-height:45px;white-space:normal}.consent-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}.consent-links button,.consent-links a{font-size:11px;text-decoration:underline;text-underline-offset:3px;line-height:1.6;color:var(--teal)}.consent-dialog{border:1px solid #bcb8ab;background:var(--cream);color:var(--ink);border-radius:8px;padding:32px;width:610px;max-width:calc(100vw - 30px);max-height:calc(100dvh - 35px);overflow-y:auto;margin:auto;box-shadow:0 15px 55px #142d3733;font-family:var(--font-body)}.consent-dialog::backdrop{background:#142d3799}.consent-dialog h2{font:400 29px/1.2 var(--font-display);color:var(--teal);margin:0 28px 20px 0}.consent-dialog>p{font-size:12px;line-height:1.75;margin:0 0 20px}.consent-close{position:absolute;right:15px;top:12px;width:32px;height:32px;font-size:28px}.consent-option{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:19px 0;border-top:1px solid #d7d5cc}.consent-option h3{font:600 13px/1.5 var(--font-body);margin:0 0 8px}.consent-option p{font-size:11px;line-height:1.7}.consent-option a{text-decoration:underline}.consent-option>span{font-size:10px;max-width:64px;flex-shrink:0;text-align:right}.consent-option input{accent-color:var(--teal);width:22px;height:22px;flex:0 0 22px}.consent-note{font-size:10px!important;border-top:1px solid #d7d5cc;padding-top:20px}.consent-save{width:100%;font-size:12px}.consent-embed{width:100%;height:100%;min-height:220px}.consent-embed--booking{min-height:620px}.consent-placeholder{height:100%;min-height:220px;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;background:var(--paper);color:var(--ink);font:13px/1.75 var(--font-body)}.consent-placeholder p{max-width:400px}.consent-embed--booking>.consent-placeholder{min-height:620px}.consent-placeholder strong{font:400 27px/1.3 var(--font-display);color:var(--teal)}.consent-placeholder .btn{font-size:12px}.consent-chat-launcher{position:fixed;bottom:22px;right:22px;z-index:1000;padding:13px 17px;background:var(--teal);color:white;border-radius:24px;box-shadow:0 4px 15px #142d3725;display:flex;align-items:center;gap:8px;font:500 12px var(--font-body)}.consent-chat-launcher i{font-size:21px}.wa-fab{bottom:82px}.consent-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:9500;background:var(--teal);color:#fff;max-width:calc(100vw - 32px);width:max-content;padding:13px 20px;font:12px/1.6 var(--font-body);pointer-events:none;border-radius:4px}.consent-status:empty{display:none}
@media(max-width:767px){.hero__content{padding-inline:22px}.hero__lead{font-size:14px;line-height:1.75;max-width:520px;margin-inline:auto}.hero__title{font-size:clamp(32px,7.8vw,43px);line-height:1.2}.consent-banner{left:12px;right:12px;bottom:12px;width:auto;max-width:none;padding:21px}.consent-banner h2{font-size:23px}.consent-actions{gap:8px}.consent-actions .btn{font-size:10px}.consent-dialog{padding:27px 22px}.consent-option{gap:14px}.consent-dialog h2{font-size:26px}.consent-chat-launcher{right:16px;bottom:18px}.wa-fab{bottom:76px}.new-guide{padding:40px 20px 60px}}

@media(max-width:767px){}

@media(max-width:767px){.consent-chat-launcher{width:48px;height:48px;padding:0;justify-content:center;border-radius:50%}.consent-chat-launcher span{display:none}}

/* MEDLA: revamp.css */
/* MEDLA · editorial revamp. Original brand assets and connector markup are retained. */
.rv-layout{--rv-line:#d8d8ce;--rv-muted:#64716f;--rv-gutter:clamp(22px,4.5vw,72px);--rv-max:1280px;background:#fbfaf7;color:var(--teal);font-family:var(--font-body)}
.rv-layout :is(h1,h2,h3){text-wrap:pretty}.rv-layout :is(a,button,input,summary):focus-visible{outline:2px solid var(--gold);outline-offset:5px}.rv-layout :is(section,[id]){scroll-margin-top:130px}.rv-layout .btn{min-height:50px;padding:15px 25px;font:600 13px/1.4 var(--font-body);gap:24px;border-radius:2px;transition:background .25s,color .25s,transform .25s;box-shadow:none}.rv-layout .btn:hover{transform:translateY(-2px)}.rv-layout .btn--gold{color:var(--teal);background:var(--gold)}.rv-layout .btn--gold:hover{background:#c8b58b}
.rv-shell{width:calc(100% - 2*var(--rv-gutter));max-width:var(--rv-max);margin-inline:auto}
/* One navigation system, including keyboard-operable service disclosure. */
.rv-layout .rv-header{position:sticky;top:0;z-index:1100;background:var(--teal);border-bottom:1px solid #ffffff21;min-height:100px;color:white;box-shadow:none}.rv-header__inner{position:relative;width:calc(100% - 2*var(--rv-gutter));max-width:var(--rv-max);margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:25px}.rv-header .brand{width:82px;flex:0 0 82px;padding:10px 0}.rv-header .brand img{width:82px;height:auto}.rv-nav{display:flex;align-items:center;gap:32px}.rv-nav-link{font:500 12px/1.5 var(--font-body);padding:14px 0;position:relative;color:#f6f5f0}.rv-nav-link::after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}.rv-nav-link:hover::after,.rv-nav-link[aria-current]::after{transform:scaleX(1)}.rv-nav-area{display:flex;align-items:center;gap:5px}.rv-mega-toggle{display:grid;place-items:center;width:28px;height:40px;color:var(--gold)}.rv-mega-toggle i{transition:transform .25s}.rv-mega-toggle[aria-expanded=true] i{transform:rotate(180deg)}.rv-layout .rv-nav-cta{min-height:46px;padding:13px 20px;margin-left:10px;font-size:11px}.rv-nav-toggle{display:none}.rv-mega{position:absolute;top:100%;left:0;width:100%;background:#f7f6f2;color:var(--teal);border:1px solid var(--rv-line);box-shadow:0 25px 45px #10242c21;display:grid;grid-template-columns:1fr 2fr;padding:35px 40px 0;z-index:1200;animation:rv-dropdown .22s ease-out}.rv-header.is-scrolled{box-shadow:0 5px 18px #142d3715}
@keyframes rv-dropdown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* Home copy is verbatim. The new composition gives the existing images room. */
.rv-layout .hero{min-height:740px;height:auto;justify-content:center;padding:65px 0 85px;background:var(--teal)}.rv-layout .hero__media{inset:-10% 0 -10% 36%;z-index:-2}.rv-layout .hero__poster,.rv-layout .hero__video{object-position:60% center;filter:saturate(.68)}.rv-layout .hero__veil{opacity:1;background:linear-gradient(90deg,#142d37 0%,#142d37 25%,#142d37ee 40%,#142d3766 68%,#142d3733 100%)}.rv-layout .hero__content{width:calc(100% - 2*var(--rv-gutter));max-width:var(--rv-max);padding:0;margin:auto}.rv-layout .hero__title{font-family:var(--font-hero);font-weight:400;font-size:clamp(48px,5.5vw,82px);line-height:1.13;letter-spacing:-.035em;color:#f8f6ef;max-width:760px;width:65%;text-wrap:balance}.rv-layout .hl__mark{stroke:#c1ae7f;stroke-width:1.25;opacity:.8}.rv-layout .hero__tag{font-size:12px;line-height:1.7;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;font-weight:500;color:#c4b38b;max-width:none;margin:35px 0 20px}.rv-layout .hero__lead{font-size:14px;line-height:1.9;font-weight:400;color:#e0e6e3;width:480px;max-width:48%;margin:0 0 30px}.rv-layout .hero .btn{background:#f7f6f2;color:var(--teal);min-width:180px;font-size:13px}.rv-layout .hero .btn::after{content:'↗';font-size:20px;margin-left:20px}
.rv-layout .section{padding:100px var(--rv-gutter)}.rv-layout .wrap{max-width:var(--rv-max);width:100%}.rv-layout .section-title{font-size:clamp(32px,3.5vw,53px);font-weight:400;line-height:1.18;letter-spacing:-.025em;color:var(--teal)}.rv-layout .section-title em{font-style:italic;color:#95835d}.rv-layout .section-lead{font-size:14px;line-height:1.85;font-weight:400;max-width:700px;margin-top:20px;color:var(--rv-muted)}.rv-layout .commit{background:#f7f6f2}.rv-layout .commit__wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:0 90px}.rv-layout .commit .section-title{max-width:620px;text-align:left;margin:0}.rv-layout .commit .section-lead{text-align:left;align-self:center;margin:0;max-width:430px}.rv-commit-story{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.rv-commit-story figure{height:330px;overflow:hidden}.rv-commit-story img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.rv-commit-story figure:hover img{transform:scale(1.025)}
.rv-layout .quote{padding-block:95px;background:var(--teal)}
.rv-layout .services{background:#fbfaf7}
.rv-layout .reviews{background:var(--teal)}.rv-layout .reviews .section-title{color:#fff}.rv-layout .reviews .section-lead{color:#c1cdcd}.rv-layout .reviews__board{grid-template-columns:190px minmax(0,1fr);gap:42px;margin-top:55px}.rv-layout .reviews__summary{color:#f8f6f0;gap:12px}.rv-layout .reviews__rating{font-size:16px;letter-spacing:.1em}.rv-layout .reviews__count{font-size:11px}.rv-layout .rev{border:1px solid #9f947044;border-radius:2px;background:#fbfaf7;padding:28px;box-shadow:none;min-height:270px}.rv-layout .rev__name{font-size:12px}.rv-layout .rev__date{font-size:10px}.rv-layout .rev__text{font-size:13px;line-height:1.8}.rv-layout .rev__quote{font-size:36px;color:#b8a67b}.rv-layout .car__btn{width:40px;height:40px;border-radius:50%;box-shadow:none}.rv-layout .partners{padding-block:75px}.rv-layout .partners .section-title{font-size:35px}.rv-layout .partners .section-lead{font-size:12px}.rv-layout .partner img{filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}.rv-layout .partner:hover img{filter:none;opacity:1}.rv-layout .car--partners{margin-top:45px}
.rv-layout .faq{background:#f0efe9}.rv-layout .faq>.wrap{display:grid;grid-template-columns:.9fr 1.4fr;gap:18px 75px;align-items:start}.rv-layout .faq .section-title{text-align:left;grid-column:1;font-size:48px;margin:0}.rv-layout .faq .section-lead{grid-column:1;text-align:left;font-size:13px;margin:0;max-width:290px}.rv-layout .faq .accordion{grid-column:2;grid-row:1/4;margin:0}.rv-layout .faq .acc{border-radius:0;border:0;border-top:1px solid #caccc2;background:transparent;box-shadow:none}.rv-layout .faq .acc:last-child{border-bottom:1px solid #caccc2}.rv-layout .faq .acc__btn{padding:23px 0;font-size:15px;font-weight:500;line-height:1.5;color:var(--teal)}.rv-layout .faq .acc__body{padding:0 24px 25px 0;font-size:13px;line-height:1.85;color:#576460}.rv-layout .ask{min-height:480px;padding:75px var(--rv-gutter);background:var(--teal)}.rv-layout .biz{padding-block:70px}.rv-layout .biz .btn{margin-top:24px}.rv-layout .is-disabled{opacity:.5;cursor:default}
/* Areas, services and knowledge library. */
.rv-intro__copy{min-width:0}.rv-intro__image{height:100%;min-height:465px;overflow:hidden}.rv-intro__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.rv-areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.rv-area-card{border:1px solid #d7dacf;padding:32px 38px;background:#f7f6f2;transition:border-color .3s,background .3s;position:relative}.rv-area-card:hover{border-color:#a6946a;background:#f0eee5}.rv-area-card h2{font:400 43px/1.2 var(--font-display);margin:0 0 10px;letter-spacing:-.02em}.rv-area-card>p{font-size:13px;color:#67766c}.rv-consult{background:#eae8dd;padding:65px 0}.rv-consult>.rv-shell{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:90px}.rv-consult h2{font:400 clamp(32px,3.5vw,48px)/1.15 var(--font-display);margin:18px 0 20px;letter-spacing:-.02em}.rv-consult p:not(.rv-kicker){font-size:14px;line-height:1.9;color:#5e6c63;max-width:550px}

.rv-featured{display:grid;grid-template-columns:1.12fr 1fr;background:var(--teal);color:white;min-height:400px}.rv-featured h2{font:400 clamp(28px,2.6vw,38px)/1.25 var(--font-display);letter-spacing:-.015em;margin:24px 0 20px}.rv-featured p{font-size:12px;line-height:1.9;color:#c1cccc}.rv-post{display:flex;flex-direction:column;min-width:0}.rv-post h3{font:400 25px/1.28 var(--font-display);letter-spacing:-.015em;margin:14px 0 16px}.rv-post h3 a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.rv-related{border-top:1px solid var(--rv-line)}
/* Readable articles and a useful index, without discarding the existing bodies. */
.rv-article-progress{height:2px;background:var(--gold);position:fixed;z-index:1300;top:0;left:0;width:0;pointer-events:none}
/* Existing secondary pages inherit a consistent, quieter presentation. */
.rv-layout .booking{padding-block:45px 70px}.rv-layout .mform :is(input:not([type=checkbox]),select,textarea){border-radius:2px;background:#fbfaf7;border-color:#bbc5b9}.rv-layout .plan{border-radius:2px;box-shadow:none}
/* Footer: real contact details and original destinations remain available. */
.rv-footer{background:var(--teal);color:#e1e8e3;padding:65px 0 25px}.rv-footer h3{font:600 10px/1.6 var(--font-body);letter-spacing:.13em;text-transform:uppercase;color:#b5a477;margin-bottom:20px}.rv-footer address{font-style:normal;font-size:12px;line-height:1.9}.rv-footer address p{font-size:11px;color:#a8b9ba;margin-top:12px}.rv-footer a{transition:color .2s}.rv-footer a:hover{color:#d1bc84}.rv-footer ul{list-style:none;padding:0;display:grid;gap:12px;font-size:12px}
/* Consent has equal accept/reject controls; providers stay off until selected. */
.rv-layout .consent-banner{width:min(1030px,calc(100vw - 44px));max-width:none;left:22px;right:22px;bottom:22px;margin:auto;padding:23px 28px;display:grid;grid-template-columns:1.4fr 1fr;gap:10px 35px;border:1px solid #b1b7aa;border-radius:3px;box-shadow:0 12px 50px #112d3733;background:#f7f6f2}.rv-layout .consent-banner h2{font:400 25px/1.2 var(--font-display);margin:0;grid-column:1}.rv-layout .consent-banner>p{font-size:11px;line-height:1.7;margin:0;grid-column:1}.rv-layout .consent-actions{grid-column:2;grid-row:1/3;align-self:center;gap:10px}.rv-layout .consent-actions .btn{font-size:10px;min-height:48px;padding:12px}.rv-layout .consent-links{grid-column:1/-1;justify-content:start;gap:28px;margin:4px 0 0}.rv-layout .consent-banner .consent-links{justify-content:space-between}.rv-layout .consent-dialog h2{font-size:32px}.rv-layout .consent-dialog{border-radius:3px;padding:35px;max-height:calc(100dvh - 30px)}.rv-layout .consent-option h3{font-size:13px}.rv-layout .consent-option p,.rv-layout .consent-dialog>p{font-size:12px}.rv-layout .consent-option input{width:24px;height:24px;flex-basis:24px}.rv-layout .consent-embed--booking{background:#f7f6f2}.rv-layout .consent-placeholder{background:#f0eee5;min-height:300px}.rv-layout .consent-embed--booking .consent-placeholder{min-height:560px}.rv-layout .consent-chat-launcher{font-size:11px;background:#142d37;box-shadow:0 4px 18px #0d202540;border:1px solid #ffffff88;bottom:22px;right:22px}.rv-layout .wa-fab{width:48px;height:48px;bottom:82px;right:23px;box-shadow:0 4px 14px #0d202520}.rv-layout .wa-fab i{font-size:27px}.rv-layout .consent-status{font-size:11px}
@media(min-width:1500px){.rv-layout .hero{min-height:790px}.rv-layout .hero__title{font-size:88px}}
@media(max-width:1100px){.rv-nav{gap:20px}.rv-layout .rv-nav-cta{padding-inline:15px;gap:16px}.rv-header__inner{gap:15px}.rv-layout .commit__wrap{gap:0 45px}.rv-commit-story{gap:45px}.rv-layout .hero__title{width:75%;max-width:680px}.rv-layout .hero__lead{max-width:57%}.rv-post h3{font-size:22px}.rv-layout .reviews__board{grid-template-columns:160px minmax(0,1fr);gap:25px}}
@media(max-width:960px){.rv-layout .rv-header,.rv-header__inner{min-height:85px}.rv-header .brand,.rv-header .brand img{width:70px;flex-basis:70px}.rv-nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;border:1px solid #ffffff44;padding:11px;color:#f7f6f2}.rv-nav-toggle span{height:1px;width:20px;background:currentColor;transition:transform .25s}.rv-nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.rv-nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.rv-nav{display:none;position:fixed;left:0;right:0;top:85px;bottom:0;overflow-y:auto;overscroll-behavior:contain;background:#f7f6f2;color:var(--teal);padding:25px var(--rv-gutter) 100px;align-items:stretch;gap:0}.rv-nav.is-open{display:flex;flex-direction:column}.rv-nav-link{font:400 26px/1.4 var(--font-display);color:var(--teal);padding:16px 0;border-bottom:1px solid var(--rv-line)}.rv-nav-link::after{display:none}.rv-nav-area{display:grid;grid-template-columns:1fr 45px;gap:0;align-items:center}.rv-nav-area>.rv-nav-link{width:100%}.rv-mega-toggle{width:45px;height:69px;border-bottom:1px solid var(--rv-line)}.rv-mega{position:static;grid-column:1/-1;width:100%;box-shadow:none;border:0;padding:0;display:block;background:#eeeade;animation:rv-dropdown .2s ease-out}.rv-layout .rv-nav-cta{margin:25px 0 0;align-self:start;font-size:12px;min-height:50px;padding:16px 22px}.rv-nav-is-open{overflow:hidden}.rv-layout .hero{min-height:720px;padding-block:70px}.rv-layout .hero__title{font-size:64px;width:78%;max-width:640px}.rv-layout .hero__media{left:25%}.rv-layout .hero__lead{max-width:60%;font-size:13px}.rv-layout .hero__tag{font-size:11px}.rv-layout .section{padding-block:75px}.rv-layout .commit__wrap{grid-template-columns:1fr;gap:25px}.rv-layout .commit .section-lead{max-width:600px}.rv-commit-story{gap:35px}.rv-layout .faq>.wrap{grid-template-columns:.7fr 1.3fr;gap:20px 40px}.rv-layout .faq .section-title{font-size:38px}.rv-intro__image{min-height:440px}.rv-area-card{padding:27px}.rv-consult>.rv-shell{gap:50px}.rv-layout .consent-banner{grid-template-columns:1fr 1fr;gap:12px 25px}.rv-layout .consent-actions{grid-column:2;grid-row:1/3;display:flex;flex-direction:column}.rv-layout .consent-actions .btn{min-height:43px}.rv-related .rv-post:last-child{display:none}}
@media(max-width:650px){.rv-layout{--rv-gutter:22px}.rv-layout :is(section,[id]){scroll-margin-top:100px}.rv-layout .rv-header,.rv-header__inner{min-height:78px}.rv-header .brand,.rv-header .brand img{width:62px;flex-basis:62px}.rv-nav{top:78px}.rv-nav-link{font-size:24px}.rv-mega-toggle{height:66px}.rv-layout .hero{min-height:760px;padding:65px 0 75px;justify-content:flex-start}.rv-layout .hero__content{margin:0 auto;padding:0}.rv-layout .hero__title{font-size:clamp(38px,8.8vw,57px);line-height:1.14;max-width:100%;width:100%;letter-spacing:-.03em;text-wrap:balance}.rv-layout .hero__media{inset:0 -40% 0 -20%}.rv-layout .hero__veil{background:linear-gradient(180deg,#142d37ee,#142d37da 65%,#142d3766)}.rv-layout .hero__poster{object-position:60% center}.rv-layout .hero__tag{font-size:10px;line-height:1.9;letter-spacing:.09em;margin:27px 0 20px}.rv-layout .hero__lead{font-size:12px;line-height:1.95;max-width:100%;width:370px;margin:0 0 26px;color:#e1e7e4}.rv-layout .hero .btn{font-size:12px;min-width:170px}.rv-layout .section{padding:60px var(--rv-gutter)}.rv-layout .section-title{font-size:34px}.rv-layout .commit__wrap{gap:22px}.rv-layout .commit .section-lead{font-size:13px}.rv-commit-story{grid-template-columns:1fr;gap:25px}.rv-commit-story figure{height:230px}.rv-layout .reviews__board{display:block;margin-top:30px}.rv-layout .reviews__summary{align-items:center;margin-bottom:32px}.rv-layout .reviews__rating{font-size:13px}.rv-layout .rev{min-height:265px;padding:24px}.rv-layout .reviews .section-title{font-size:34px}.rv-layout .partners .section-title{font-size:29px}.rv-layout .partners .section-lead{font-size:11px}.rv-layout .faq>.wrap{display:block}.rv-layout .faq .section-title{font-size:37px}.rv-layout .faq .section-lead{margin:15px 0 28px;font-size:12px;max-width:none}.rv-layout .faq .acc__btn{font-size:13px;padding:21px 0}.rv-layout .faq .acc__body{font-size:12px}.rv-layout .ask{padding:60px var(--rv-gutter);min-height:460px}.rv-intro__image{height:240px;min-height:0}.rv-areas-grid{grid-template-columns:1fr;gap:20px}.rv-area-card{padding:25px}.rv-area-card h2{font-size:37px}.rv-area-card>p{font-size:12px}.rv-consult{padding:50px 0}.rv-consult>.rv-shell{grid-template-columns:1fr;gap:28px}.rv-consult h2{font-size:34px}.rv-consult p:not(.rv-kicker){font-size:12px}.rv-featured{grid-template-columns:1fr}.rv-featured h2{font-size:29px;margin:19px 0}.rv-featured p{font-size:12px}.rv-post h3{font-size:28px;margin-top:14px}.rv-related .rv-post:last-child{display:flex}.rv-footer{padding-top:45px}.rv-footer h3{font-size:9px;letter-spacing:.1em;line-height:1.8;margin-bottom:14px}.rv-footer ul{font-size:11px;gap:10px}.rv-footer address{font-size:11px}.rv-footer address p{font-size:10px;line-height:1.9}.rv-layout .consent-banner{left:12px;right:12px;bottom:12px;max-width:none;width:auto;padding:22px;display:block}.rv-layout .consent-banner h2{font-size:24px;margin-bottom:12px}.rv-layout .consent-banner>p{font-size:11px;margin-bottom:18px}.rv-layout .consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rv-layout .consent-actions .btn{font-size:10px;padding:13px 8px;min-height:48px}.rv-layout .consent-banner .consent-links{margin-top:15px;font-size:10px;gap:12px}.rv-layout .consent-dialog{padding:27px 22px;max-width:calc(100vw - 24px)}.rv-layout .consent-dialog h2{font-size:27px}.rv-layout .consent-option p,.rv-layout .consent-dialog>p{font-size:11px}.rv-layout .consent-option{gap:15px}.rv-layout .consent-chat-launcher{right:15px;bottom:17px;width:44px;height:44px;padding:0;border-radius:50%}.rv-layout .consent-chat-launcher span{display:none}.rv-layout .wa-fab{right:15px;bottom:74px;width:44px;height:44px}.rv-layout .wa-fab i{font-size:25px}.rv-layout .booking{padding-inline:15px}.rv-layout .consent-placeholder{padding:22px}.rv-layout .consent-embed--booking .consent-placeholder{min-height:430px}}
@media(prefers-reduced-motion:reduce){.rv-layout *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.rv-layout .hero__media,.rv-layout .hero__content{transform:none!important}}
.rv-more-services summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;padding:15px 0;border-bottom:1px solid var(--rv-line);font-size:11px;color:#7d6942}.rv-more-services summary::-webkit-details-marker{display:none}.rv-more-services summary span{font-size:18px;transition:transform .2s}.rv-more-services[open] summary span{transform:rotate(45deg)}.rv-more-services>div>a{font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rv-line);padding:14px 0;min-height:44px}
@media(max-width:767px){}

/* MEDLA: connections.css */
/* The original transparent logo sits directly over the film on the home page. */
.rv-layout.page-home .rv-header{position:fixed;inset:0 0 auto;background:transparent;border-color:#ffffff19;transition:background .3s,border-color .3s,backdrop-filter .3s}
.rv-layout.page-home .rv-header.is-scrolled,.rv-layout.page-home.rv-nav-is-open .rv-header{background:#142d37f5;backdrop-filter:blur(14px);border-color:#ffffff19}
.rv-header .brand,.rv-header .brand img{background:transparent;box-shadow:none}
.rv-layout.page-home .hero{min-height:860px;padding:185px 0 95px}
.rv-layout.page-home .hero__media{inset:-8% 0}
.rv-layout.page-home .hero__veil{inset:-15% 0;background:linear-gradient(180deg,#142d3799,transparent 30%,#142d371a),linear-gradient(90deg,#142d37 0%,#142d37f5 25%,#142d37b0 48%,#142d3726 100%)}
.rv-layout.page-home .hero::after{content:'';position:absolute;inset:auto 0 0;height:95px;background:linear-gradient(transparent,#142d37);pointer-events:none}
.hero__film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;filter:saturate(.78);opacity:0;pointer-events:none;transition:opacity 1s}
.hero__film.is-ready{opacity:1}
.hero__actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}

/* A visual bridge to Spain. It has no country picker or simulated journey. */
.atlas{position:relative;isolation:isolate;overflow:clip;background:#142d37;color:#f7f4e9;padding:56px 0 28px;border-top:1px solid #ffffff14;scroll-margin-top:98px!important}
.atlas__layout{display:grid;grid-template-columns:.86fr 1.6fr;gap:0 20px;align-items:center}
.atlas__copy{position:relative;z-index:1;padding:38px 0 54px}
.atlas__eyebrow{font-size:10px;font-weight:500;line-height:1.8;letter-spacing:.2em;text-transform:uppercase;color:#c3b28c;margin:0 0 28px;display:flex;align-items:center;gap:14px}
.atlas__eyebrow::before{content:none}
.atlas h2{font:400 clamp(48px,5.1vw,76px)/1.08 var(--font-display);letter-spacing:-.035em;margin:0;color:#f2f0e5}
.atlas h2 em{color:#c9b47e;font-weight:400}
.atlas__intro{font-size:13px;line-height:1.95;color:#b9c8c3;max-width:310px;margin:29px 0 26px}

.atlas__map{position:relative;min-width:0;margin:0 -35px 0 -30px}
.atlas__svg{display:block;width:100%;height:auto;overflow:visible}
.atlas__land{fill:#385b5b;fill-opacity:.22;stroke:#8ba49d;stroke-opacity:.25;stroke-width:.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.atlas__land.is-americas{fill:#55756d;fill-opacity:.38;stroke-opacity:.46}
.atlas__land.is-europe{fill:#ae9e74;fill-opacity:.24;stroke:#c5b68c;stroke-opacity:.4}
.atlas__land.is-spain{fill:#c8b17a;fill-opacity:.95;stroke:#e5d7af;stroke-opacity:.9}
.atlas__route{fill:none;stroke:url(#atlas-route-gold);stroke-width:1.1;stroke-linecap:round;vector-effect:non-scaling-stroke}
.atlas__origin{fill:#c8b380;stroke:#142d37;stroke-width:2}
.atlas__region{font:400 14px var(--font-body);letter-spacing:.09em;fill:#b0c2b6;paint-order:stroke;stroke:#142d37;stroke-width:3;stroke-linejoin:round}
.atlas__region--latam{font-size:13px}

.atlas__destination-halo{fill:#d4bb7d;opacity:.1}
.atlas__destination-ring{fill:none;stroke:#d8c18a;stroke-width:.8;stroke-opacity:.85}
.atlas__destination-dot{fill:#fff0c4}
.atlas__label-line{fill:none;stroke:#d5c18e;stroke-width:.8;stroke-opacity:.7}
.atlas__spain{font:600 17px var(--font-body);letter-spacing:.12em;fill:#f4eacb;paint-order:stroke;stroke:#142d37;stroke-width:4;stroke-linejoin:round}

.atlas__europe{font:400 24px var(--font-display);letter-spacing:.18em;fill:#d5c28f}

@media(min-width:1500px){.atlas{padding-top:65px}.atlas__map{margin-right:-60px}.atlas__copy{padding-block:45px 65px}}
@media(max-width:1100px){.atlas__layout{grid-template-columns:.9fr 1.4fr}.atlas__map{margin-right:-20px;margin-left:-35px}.atlas h2{font-size:57px}.atlas__intro{max-width:270px}}
@media(max-width:960px){.rv-layout.page-home .hero{min-height:820px;padding-top:160px;padding-bottom:85px}.atlas{padding-top:40px}.atlas__layout{grid-template-columns:.85fr 1.1fr;gap:0 5px}.atlas h2{font-size:clamp(45px,6.2vw,57px)}.atlas__copy{padding:35px 0}.atlas__intro{max-width:255px;font-size:12px}.atlas__map{margin-left:-45px;margin-right:-20px}.atlas__eyebrow{font-size:9px}}
@media(max-width:650px){.rv-layout.page-home .hero{min-height:780px;padding-top:150px;padding-bottom:75px}.rv-layout.page-home .hero__media{inset:0 -35% 0 -15%}.rv-layout.page-home .hero__veil{background:linear-gradient(180deg,#142d37bd 0%,#142d37b8 55%,#142d3759 100%),linear-gradient(90deg,#142d3766,transparent)}.hero__film{object-position:60% center}.hero__actions{gap:10px 24px}.atlas{padding:35px 0 20px;scroll-margin-top:78px!important}.atlas__layout{display:flex;flex-direction:column;align-items:stretch;gap:0}.atlas__copy{padding:10px 0 0}.atlas__eyebrow{margin-bottom:22px}.atlas h2{font-size:clamp(43px,10.8vw,65px);line-height:1.06}.atlas__intro{max-width:350px;font-size:12px;margin:23px 0 16px}.atlas__map{width:calc(100% + 24px);margin:8px -12px -5px}.atlas__region{font-size:18px}.atlas__region--latam{font-size:15px}.atlas__europe{font-size:26px}.atlas__spain{font-size:21px}}
@media(prefers-reduced-motion:reduce){.hero__film{transition:none}.atlas *{animation:none!important;transition:none!important}.atlas__route,.atlas__gateway{stroke-dashoffset:0!important}.rv-layout.page-home .hero__media{transform:none!important}}

/* An illuminated atlas, isolated from the older home themes. */
.rv-layout .atlas[data-atlas-refined][data-atlas-premium]{background:radial-gradient(ellipse at 79% 36%,#24444870 0,transparent 53%),linear-gradient(118deg,#0e252c,#16353b 65%,#10292e);color:#f5f3eb;border-block:1px solid #e4d2a518;padding:clamp(74px,7.8vw,120px) 0;}
.rv-layout .atlas[data-atlas-premium]::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#061c241c,transparent 28%,transparent 78%,#071e272e);pointer-events:none;}
.rv-layout .atlas[data-atlas-premium] .atlas__layout{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.55fr);align-items:center;gap:clamp(24px,3.6vw,58px);}
.rv-layout .atlas[data-atlas-premium] .atlas__copy{min-width:0;padding:0;}
.rv-layout .atlas[data-atlas-premium] .atlas__eyebrow{margin:0 0 26px;color:#d0bf9e;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:none;gap:13px;}
.rv-layout .atlas[data-atlas-premium] .atlas__eyebrow::before{content:none;}
.rv-layout .atlas[data-atlas-refined][data-atlas-premium] h2{max-width:11ch;font:500 clamp(44px,4.6vw,68px)/1.1 var(--font-body);letter-spacing:-.045em;color:#f5f3eb;overflow-wrap:normal;text-wrap:balance;}
.rv-layout .atlas[data-atlas-premium] h2 em{font-style:normal;font-weight:inherit;color:#d2b99a!important;}
.rv-layout .atlas[data-atlas-premium] .atlas__intro{max-width:34ch;margin:28px 0 24px;font-size:15px;line-height:1.85;color:#c4d0cb;}
.rv-layout .atlas[data-atlas-premium] .atlas__intro+.atlas__intro{margin-top:0;}
.rv-layout .atlas[data-atlas-premium] .atlas__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:32px;}
.rv-layout .atlas[data-atlas-premium] .atlas__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;border-radius:999px;font:500 14px/1.4 var(--font-body);text-align:center;text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
.rv-layout .atlas[data-atlas-premium] .atlas__start{background:#d1bf94;border:1px solid #d1bf94;color:#102f35;}
.rv-layout .atlas[data-atlas-premium] .atlas__start:hover{background:#e6d6b1;border-color:#e6d6b1;}
.rv-layout .atlas[data-atlas-premium] .atlas__invest{border:1px solid #a5b8b16b;color:#f4eee0;background:transparent;}
.rv-layout .atlas[data-atlas-premium] .atlas__invest:hover{background:#ffffff0d;border-color:#d1bf94;}
.rv-layout .atlas[data-atlas-premium] .atlas__actions a:focus-visible{outline:2px solid #f4dcaa;outline-offset:5px;}

.rv-layout .atlas[data-atlas-premium] .atlas__map{width:100%;min-width:0;margin:0;aspect-ratio:1000/730;isolation:isolate;}
.rv-layout .atlas[data-atlas-premium] .atlas__svg{width:100%;height:100%;overflow:hidden;filter:none;}

.rv-layout .atlas[data-atlas-premium] .atlas__land{fill:#759b91;fill-opacity:.065;stroke:#bbcabd;stroke-opacity:.17;stroke-width:.5;}
.rv-layout .atlas[data-atlas-premium] .atlas__land.is-americas{fill:url(#atlas-land-light);fill-opacity:.21;stroke-opacity:.34;}
.rv-layout .atlas[data-atlas-premium] .atlas__land.is-europe{fill:#c9b996;fill-opacity:.14;stroke:#d3c09b;stroke-opacity:.35;}
.rv-layout .atlas[data-atlas-premium] .atlas__land.is-spain{fill:#d9bd86;fill-opacity:1;stroke:#f5e1b9;stroke-width:.9;stroke-opacity:.95;}
.rv-layout .atlas[data-atlas-premium] .atlas__route{stroke:url(#atlas-route-gold);stroke-opacity:.75;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;}
.rv-layout .atlas[data-atlas-premium] .atlas__flow{fill:none;stroke:#f7e3b7;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:.055 1.2;stroke-dashoffset:.08;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none;}
.rv-layout .atlas[data-atlas-premium] .atlas__origin{fill:#cfba8d;stroke:#153239;stroke-width:1.8;}
.rv-layout .atlas[data-atlas-premium] .atlas__region{fill:#bbcac1;stroke:#153239;stroke-width:4;font:500 18px var(--font-body);letter-spacing:.055em;}
.rv-layout .atlas[data-atlas-premium] .atlas__destination-halo{fill:#dec48f;opacity:.11;transform-box:fill-box;transform-origin:center;}
.rv-layout .atlas[data-atlas-premium] .atlas__destination-orbit{fill:none;stroke:#d8c197;stroke-opacity:.27;stroke-width:.8;stroke-dasharray:74 18 6 24;transform:rotate(-28deg);}
.rv-layout .atlas[data-atlas-premium] .atlas__destination-sight{fill:none;stroke:#cfbb96;stroke-opacity:.42;stroke-width:.7;}
.rv-layout .atlas[data-atlas-premium] .atlas__destination-ring{stroke:#e0c89d;stroke-width:.85;stroke-opacity:.9;}
.rv-layout .atlas[data-atlas-premium] .atlas__destination-dot{fill:#fff3d7;}
.rv-layout .atlas[data-atlas-premium] .atlas__label-line{stroke:#d2b790;stroke-width:.8;stroke-opacity:.75;}
.rv-layout .atlas[data-atlas-premium] .atlas__spain{fill:#fff2d9;stroke:#19343a;stroke-width:4;font:600 25px var(--font-body);letter-spacing:.06em;}
.rv-layout .atlas[data-atlas-premium] .atlas__europe{fill:#d5c39f;font:500 20px var(--font-body);letter-spacing:.12em;}

.rv-layout .atlas[data-atlas-premium] .elite-map-light{display:none;}
@media(min-width:1200px){
.rv-layout .atlas[data-atlas-premium] .atlas__map{width:calc(100% + 32px);margin-right:-32px;}
}
@media(max-width:900px){
.rv-layout .atlas[data-atlas-premium] .atlas__layout{grid-template-columns:minmax(0,1fr);gap:36px;}
.rv-layout .atlas[data-atlas-premium] .atlas__copy{max-width:580px;}
.rv-layout .atlas[data-atlas-refined][data-atlas-premium] h2{max-width:15ch;font-size:clamp(43px,6.5vw,61px);}
.rv-layout .atlas[data-atlas-premium] .atlas__intro{max-width:46ch;}
.rv-layout .atlas[data-atlas-premium] .atlas__map{max-width:740px;justify-self:center;}
}
@media(max-width:480px){
.rv-layout .atlas[data-atlas-refined][data-atlas-premium]{padding-block:60px 40px;}
.rv-layout .atlas[data-atlas-premium] .atlas__layout{gap:24px;}
.rv-layout .atlas[data-atlas-premium] .atlas__eyebrow{margin-bottom:20px;font-size:11px;}
.rv-layout .atlas[data-atlas-refined][data-atlas-premium] h2{font-size:clamp(38px,10.9vw,49px);max-width:12ch;}
.rv-layout .atlas[data-atlas-premium] .atlas__intro{font-size:14px;margin:23px 0 16px;}
.rv-layout .atlas[data-atlas-premium] .atlas__map{width:calc(100% + 24px);max-width:none;margin-inline:-12px;}
.rv-layout .atlas[data-atlas-premium] .atlas__region{font-size:25px;letter-spacing:.01em;}
.rv-layout .atlas[data-atlas-premium] .atlas__spain{font-size:31px;letter-spacing:.02em;}
.rv-layout .atlas[data-atlas-premium] .atlas__europe{font-size:27px;}

}
@media(prefers-reduced-motion:reduce){.rv-layout .atlas[data-atlas-premium] .atlas__flow{display:none;}}

/* MEDLA: motion.css */
/* Visual refinements only. Native navigation, content and forms remain in place. */
.rv-layout{--motion-ease:cubic-bezier(.22,.7,.2,1)}
.rv-layout .rv-header::after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:#c7b17d;transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}

.rv-layout .btn span[aria-hidden]{transition:transform .35s var(--motion-ease)}
.rv-layout .btn:hover span[aria-hidden],.rv-layout .btn:focus-visible span[aria-hidden]{transform:translate(3px,-3px)}

/* The existing service list is framed by the original photograph of Madrid. */

.rv-services-photo{position:relative;min-width:0;height:590px;margin:0;overflow:hidden;border-radius:210px 210px 2px 2px;background:#dedbcc;isolation:isolate}
.rv-services-photo::after{content:'';position:absolute;inset:12px;border:1px solid #f5eed580;border-radius:inherit;pointer-events:none;z-index:1}
.rv-services-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:47% center;filter:saturate(.7)}

.rv-layout .rv-commit-story figure{height:390px;position:relative}
.rv-layout .rv-commit-story img{transition:none}
.rv-layout .rv-commit-story figure:hover img{transform:none}
.rv-layout .quote{position:relative;overflow:clip}
.rv-layout .quote::before{content:'“';position:absolute;top:12px;left:calc(50% - 610px);font:400 300px/1 var(--font-display);color:#bba77915;pointer-events:none}

/* Editorial pages share photo reveals and considered interactive states. */
.rv-layout .rv-area-card{position:relative;transition:background .4s,border-color .4s}
.rv-layout .rv-area-card::after{content:'';position:absolute;inset:auto 0 0;height:2px;background:#ae9867;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--motion-ease)}
.rv-layout .rv-area-card:is(:hover,:focus-within){border-color:#b5ab91;background:#ece9de}
.rv-layout .rv-area-card:is(:hover,:focus-within)::after{transform:scaleX(1)}

.rv-layout .rv-post h3 a{background:linear-gradient(#ac996d,#ac996d) left bottom/0 1px no-repeat;transition:background-size .5s var(--motion-ease),color .3s}
.rv-layout .rv-post:is(:hover,:focus-within) h3 a{background-size:100% 1px;color:#857047}

.rv-layout .rv-mega{animation:medla-menu-reveal .4s var(--motion-ease)}

@supports(interpolate-size:allow-keywords){
.rv-layout :is(.rv-faq,.rv-more-services){interpolate-size:allow-keywords}
.rv-layout :is(.rv-faq,.rv-more-services)::details-content{block-size:0;overflow:clip;transition:block-size .35s var(--motion-ease),content-visibility .35s;transition-behavior:allow-discrete}
.rv-layout :is(.rv-faq,.rv-more-services)[open]::details-content{block-size:auto}
}
@keyframes medla-menu-reveal{from{opacity:0;clip-path:inset(0 0 16% 0);transform:translateY(-6px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes medla-answer{from{opacity:.45;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(min-width:961px){.rv-services-photo{position:sticky;top:128px}}
@media(max-width:1100px){.rv-services-photo{height:610px}}
@media(max-width:960px){.rv-services-photo{height:580px}.rv-layout .rv-commit-story figure{height:320px}}
@media(max-width:650px){.rv-services-photo{border-radius:140px 140px 2px 2px;height:285px;width:100%;margin:0 0 30px}.rv-services-photo img{object-position:center 60%}.rv-layout .rv-commit-story figure{height:260px}.rv-layout .quote::before{left:10px;top:0;font-size:180px}.rv-layout .rv-nav.is-open{animation:medla-menu-reveal .35s var(--motion-ease)}}
@media(prefers-reduced-motion:reduce){.rv-layout *, .rv-layout *::before,.rv-layout *::after{animation:none!important;transition:none!important}.rv-layout .rv-header::after{display:none}.rv-layout :is(.rv-services-photo,.rv-commit-story figure,.rv-intro__image){clip-path:none!important}.rv-layout :is(.rv-services-photo,.rv-commit-story figure,.rv-intro__image) img{transform:none!important}}

/* MEDLA: design.css */
/* MEDLA: one visual language for home, editorial pages and imported content. */
.rv-layout{--paper:#f7f6f2;--cream:#eeece6;--teal:#142d37;--gold:#a6956b;--rv-line:#d9d5cb;--rv-muted:#606663;--rv-max:1320px;--rv-gutter:clamp(22px,5.5vw,88px);background:var(--paper);color:var(--teal);font-size:15px}
.rv-layout ::selection{background:#d6c496;color:#142d37}
.rv-layout :is(h1,h2,h3){font-weight:400;letter-spacing:-.02em}
.rv-layout .btn{border-radius:2px;min-height:52px;padding:15px 25px;font-size:13px;font-weight:600;gap:20px}
.rv-layout .btn--gold,.rv-layout .btn--teal{background:var(--teal);color:#fffdf3;border-color:var(--teal)}
.rv-layout .btn--gold:hover,.rv-layout .btn--teal:hover{background:#345247;color:#fffdf3}

.rv-layout .section{padding-block:100px}.rv-layout .section-title{font-size:clamp(34px,3.8vw,54px);line-height:1.13}
.rv-layout .section-lead{font-size:15px;line-height:1.9;color:var(--rv-muted)}

/* The logo remains transparent; the navigation now belongs to the light canvas. */
.rv-layout .rv-header{background:#f7f6f2f5;color:var(--teal);border-color:#142d3718;backdrop-filter:blur(18px);padding-inline:0}
.rv-layout.page-home .rv-header{background:transparent;border-color:#142d3715;backdrop-filter:none}
.rv-layout.page-home .rv-header.is-scrolled,.rv-layout.page-home.rv-nav-is-open .rv-header{background:#f7f6f2f5;border-color:#142d3718;backdrop-filter:blur(18px)}
.rv-layout .rv-nav-link{color:var(--teal);font-size:14px}.rv-layout .rv-mega-toggle{color:#7d704d}
.rv-layout .rv-nav-cta{background:var(--gold);color:var(--teal);font-size:12px;padding:15px 22px;border:0}
.rv-layout .rv-nav-cta span{color:#d6c492}.rv-layout .rv-nav-toggle{color:var(--teal);border-color:#142d3744;border-radius:2px}
.rv-layout .rv-mega{background:#faf9f4;border:1px solid #d8d9cc;box-shadow:0 18px 28px #142d370c;border-radius:2px;padding:34px 38px 0}

.rv-layout .rv-nav-link::after{bottom:7px}.rv-layout .rv-header.is-scrolled{box-shadow:none}

/* A pale geographic composition. Spain is the destination, not a simulated selector. */
.rv-layout .atlas{background:#eeece5;border-color:#d6d1c5;color:var(--teal);padding:70px 0 30px}
.rv-layout .atlas__copy{padding:30px 0 50px}.rv-layout .atlas h2{color:var(--teal);font-size:clamp(48px,5vw,72px);line-height:1.03}
.rv-layout .atlas h2 em{color:#8e7b4c}.rv-layout .atlas__eyebrow{color:#7e7150}
.rv-layout .atlas__intro{color:#606763;font-size:14px;max-width:330px}

.rv-layout .atlas__land{fill:#cacbc4;fill-opacity:.3;stroke:#929b96;stroke-opacity:.45;stroke-width:.5}
.rv-layout .atlas__land.is-americas{fill:#c3c8c4;fill-opacity:.7;stroke-opacity:.7}
.rv-layout .atlas__land.is-europe{fill:#c9c5b5;fill-opacity:.7;stroke:#99917c;stroke-opacity:.7}
.rv-layout .atlas__land.is-spain{fill:#142d37;fill-opacity:1;stroke:#274d43;stroke-width:1}
.rv-layout .atlas__route{stroke:#9b8450;stroke-opacity:.8;stroke-width:1.15}
.rv-layout .atlas__origin{fill:#8b7848;stroke:#eeece5}
.rv-layout .atlas__region{fill:#616b64;stroke:#eeece5;stroke-width:2;font-size:15px;letter-spacing:.05em}

.rv-layout .atlas__destination-halo{fill:#ad9357;opacity:.2}.rv-layout .atlas__destination-ring{stroke:#a18341}
.rv-layout .atlas__destination-dot{fill:#ead49a}.rv-layout .atlas__label-line{stroke:#7e8e6a;stroke-opacity:1}
.rv-layout .atlas__spain{fill:#142d37;stroke:#eeece5;stroke-width:4}
.rv-layout .atlas__europe{fill:#656b5e;font-size:27px}

/* Existing home sections, with a deliberate light / dark rhythm. */
.rv-layout .commit{background:var(--paper)}.rv-layout .commit__wrap{gap:0 85px}.rv-layout .commit .section-title{max-width:670px}
.rv-layout .commit .section-lead{font-size:15px}

.rv-layout .rv-commit-story{grid-template-columns:1.13fr 1fr;gap:75px}.rv-layout .rv-commit-story figure{height:390px;border-radius:2px}

.rv-layout .quote{background:#ebe7df;padding-block:90px;color:var(--teal)}
.rv-layout .quote::before{display:none}

.rv-layout.page-home .services{background:var(--teal);color:var(--paper);padding-block:100px 110px}

.rv-layout.page-home .rv-services-photo{border-radius:2px;height:620px;background:#839080}
.rv-layout.page-home .rv-services-photo img{filter:saturate(.9)}.rv-layout.page-home .rv-services-photo::after{display:none}

.rv-layout .reviews{background:var(--paper)}.rv-layout .reviews .section-title{color:var(--teal);max-width:840px}
.rv-layout .reviews .section-lead{color:#69736b}.rv-layout .reviews__summary{color:var(--teal);gap:15px}
.rv-layout .reviews__board{grid-template-columns:200px minmax(0,1fr);gap:55px;margin-top:50px}.rv-layout .reviews__count{font-size:12px}
.rv-layout .rev{background:#fbfaf7;border:1px solid #d6d3c9;color:#263f34;padding:30px 25px;border-radius:4px;box-shadow:none;min-height:320px}
.rv-layout .rev__name{font-size:13px;color:#294237}.rv-layout .rev__date{font-size:11px;color:#738071}.rv-layout .rev__text{font-size:14px;line-height:1.85;color:#5d665e}
.rv-layout .rev__more{color:#6f6b47}
.rv-layout .partners{background:#faf9f5;border-top:1px solid #d6d3c9;padding-block:75px}.rv-layout .partners .section-title{font-size:42px}
.rv-layout .partners .section-lead{font-size:14px}.rv-layout .partners .car__slide img{filter:grayscale(1);opacity:.7;transition:filter .35s,opacity .35s}
.rv-layout .partners .car__slide:hover img{filter:none;opacity:1}
.rv-layout .partners .partner img{max-height:105px;max-width:190px;mix-blend-mode:multiply}.rv-layout .partners .car--partners{margin-top:45px}
.rv-layout .faq{background:var(--paper);border-block:1px solid #d6d3c9}.rv-layout .faq .section-title{font-size:clamp(36px,4.2vw,56px)}
.rv-layout .faq .section-lead{font-size:14px}.rv-layout .acc__btn{font-size:15px;padding-block:25px}.rv-layout .acc__body{font-size:14px;line-height:1.85;color:#5d665e}
.rv-layout .ask{background:#ece9e1;padding:95px var(--rv-gutter);min-height:560px;color:var(--teal);isolation:isolate;overflow:clip}

.rv-layout .biz{background:var(--paper);padding-block:70px}

/* Shared editorial rhythm, including services and the blog. */

.rv-layout .rv-intro__image{min-height:480px;border-radius:2px}
.rv-layout .rv-intro__image img{filter:saturate(.8)}

.rv-layout .rv-areas-grid{grid-template-columns:1fr;gap:0}
.rv-layout .rv-area-card{display:grid;grid-template-columns:55px 1fr 1.15fr;gap:14px 40px;padding:38px 0;border:0;border-top:1px solid #d6d3c9;background:transparent;align-items:start}
.rv-layout .rv-area-card:last-child{border-bottom:1px solid #d6d3c9}.rv-layout .rv-area-card:is(:hover,:focus-within){background:transparent}

.rv-layout .rv-area-card h2{grid-column:2;grid-row:1;font-size:50px;margin:0}.rv-layout .rv-area-card>p{grid-column:2;grid-row:2;font-size:14px;max-width:280px}

.rv-layout .rv-more-services summary{font-size:12px}.rv-layout .rv-more-services>div>a{font-size:13px}

.rv-layout .rv-featured{background:#eeece5;color:var(--teal);border-radius:0;grid-template-columns:1.1fr 1fr}
.rv-layout .rv-featured h2{font-size:38px;line-height:1.14}.rv-layout .rv-featured p{font-size:14px;line-height:1.85;color:#59655d}

.rv-layout .rv-post h3{font-size:29px;line-height:1.2}

.rv-layout .rv-consult{background:#ece9e1;padding-block:80px}.rv-layout .rv-consult h2{font-size:clamp(36px,4.2vw,58px);line-height:1.07}
.rv-layout .rv-consult p:not(.rv-kicker){font-size:15px;color:#606961}
.rv-layout .new-guide :is(h1,h2,h3){font-family:var(--font-display);font-weight:400;line-height:1.15;color:var(--teal)}
.rv-layout .new-guide h1{font-size:clamp(37px,5vw,64px)}.rv-layout .new-guide h2{font-size:35px}

/* Converted content uses the same layout; old inline colors and per-page widths are removed at build time. */

.rv-layout .mform :is(input:not([type=checkbox]),textarea,select){background:#f8f7f3;border:1px solid #bbbeb2;border-radius:2px;font-size:16px;min-height:50px;color:#293d35}
.rv-layout .mform label{font-size:13px}

/* A quieter footer with a large typographic close and the original contact destinations. */
.rv-layout .rv-footer{background:#eae7de;color:#33433d;border-top:1px solid #cad1be;padding-top:65px}

.rv-layout .rv-footer h3{color:#6d613f;font-size:10px}.rv-layout .rv-footer ul{font-size:13px}.rv-layout .rv-footer address{font-size:13px;line-height:1.85}
.rv-layout .rv-footer address p{font-size:12px;color:#5c665c}

.rv-layout .rv-footer a:hover{color:#766338}
.rv-layout [hidden]{display:none!important}

@media(min-width:1550px){.rv-layout .rv-services-photo{height:670px}}
@media(max-width:1100px){.rv-layout .atlas h2{font-size:65px}.rv-layout .rv-area-card{gap:14px 25px;grid-template-columns:38px 1fr 1.2fr}.rv-layout .rv-area-card h2{font-size:43px}.rv-layout .rv-featured h2{font-size:32px}}
@media(max-width:960px){.rv-layout .rv-nav{background:#f7f6f2;height:calc(100dvh - 85px);bottom:auto}.rv-layout .rv-mega{padding:0;border:0;box-shadow:none;background:#ecefe5}.rv-layout .rv-nav-link{font-size:26px}.rv-layout .rv-nav-cta{font-size:13px}.rv-layout .atlas h2{font-size:55px}.rv-layout .atlas__intro{font-size:13px}.rv-layout .section{padding-block:75px}.rv-layout .commit__wrap{gap:28px}.rv-layout .section-title{font-size:43px}.rv-layout .rv-commit-story{gap:35px}.rv-layout .rv-commit-story figure{height:335px}.rv-layout.page-home .services{padding-block:75px}.rv-layout.page-home .rv-services-photo{height:620px}.rv-layout .reviews__board{grid-template-columns:150px minmax(0,1fr);gap:30px}.rv-layout .rv-intro__image{min-height:400px}}
@media(max-width:700px){
.rv-layout{--rv-gutter:22px;font-size:14px}.rv-layout .atlas{padding-block:45px 24px}.rv-layout .atlas__layout{display:flex;flex-direction:column}
.rv-layout .atlas__copy{padding:0}.rv-layout .atlas h2{font-size:clamp(47px,11.8vw,72px);line-height:1.04}.rv-layout .atlas__intro{font-size:13px;max-width:350px}
.rv-layout .atlas__map{width:calc(100% + 24px);margin:15px -12px 0}.rv-layout .atlas__region{font-size:20px}.rv-layout .atlas__europe{font-size:29px}
.rv-layout .section{padding-block:60px}.rv-layout .section-title{font-size:36px}.rv-layout .section-lead,.rv-layout .commit .section-lead{font-size:14px}
.rv-layout .rv-commit-story{grid-template-columns:1fr;gap:28px}.rv-layout .rv-commit-story figure{height:275px;border-bottom-right-radius:2px}
.rv-layout .quote{padding-block:60px}
.rv-layout.page-home .services{padding-block:60px}
.rv-layout.page-home .rv-services-photo{height:320px;max-width:440px;margin:0 auto 35px;border-radius:2px}
.rv-layout .reviews__board{display:block}.rv-layout .reviews__summary{margin-bottom:35px}.rv-layout .rev{padding:26px;min-height:295px}.rv-layout .reviews .section-title{font-size:36px}.rv-layout .partners .section-title{font-size:32px}.rv-layout .partners .section-lead{font-size:13px}
.rv-layout .faq .section-title{font-size:42px}.rv-layout .faq .section-lead{font-size:13px}.rv-layout .acc__btn{font-size:14px}.rv-layout .acc__body{font-size:13px}
.rv-layout .ask{padding:60px 22px 0;min-height:0;display:flex;flex-direction:column}

.rv-layout .rv-intro__image{height:280px;min-height:0;border-radius:2px}
.rv-layout .rv-area-card{grid-template-columns:28px minmax(0,1fr);gap:14px 16px;padding-block:30px}.rv-layout .rv-area-card h2{font-size:39px}.rv-layout .rv-area-card>p{font-size:13px}.rv-layout .rv-more-services summary{font-size:11px}
.rv-layout .rv-featured{display:block}.rv-layout .rv-featured h2{font-size:31px}.rv-layout .rv-featured p{font-size:13px}.rv-layout .rv-post h3{font-size:28px}
.rv-layout .rv-consult{padding-block:55px}.rv-layout .rv-consult>.rv-shell{grid-template-columns:1fr;gap:30px}.rv-layout .rv-consult h2{font-size:38px}.rv-layout .rv-consult p:not(.rv-kicker){font-size:14px}

.rv-layout .rv-footer{padding-top:45px}.rv-layout .rv-footer ul,.rv-layout .rv-footer address{font-size:12px}.rv-layout .rv-footer address p{font-size:11px}
}
@media(max-width:650px){.rv-layout .rv-nav{height:calc(100dvh - 78px)}}

/* Restraint is shared by every page. Semantic emphasis in articles is retained. */
.rv-layout :is(h1,h2,h3) em{font-style:normal!important;color:inherit!important}
.rv-layout :is(h1,h2,h3){font-synthesis:none}
.rv-layout :is(a,button,input,summary):focus-visible{outline:2px solid #837044;outline-offset:4px}
.rv-layout .btn:hover{transform:none}
.rv-layout .rv-nav-cta:hover{background:#837044;color:#fff}
.rv-layout .rv-nav-cta span,.rv-layout .btn .rv-arrow{display:none}
.rv-layout .rv-nav-toggle{background:transparent}

.rv-layout .atlas__map{margin-inline:0}

.rv-layout .atlas__europe{font-family:var(--font-body);font-size:19px;font-weight:500;letter-spacing:.16em}

.rv-layout .rev{border-radius:2px}
.rv-layout .rv-post h3 a{background:none}
.rv-layout .rv-post:is(:hover,:focus-within) h3 a{color:#766646}

.rv-layout .rv-featured{border:1px solid #d9d5cb}

/* The two columns share the site's exact outer edges and a fixed spacing scale. */
.rv-layout.page-home .hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:clamp(36px,5vw,72px);
  align-items:stretch;
  min-height:0;
  height:auto;
  padding:144px max(var(--rv-gutter),calc((100vw - var(--rv-max))/2)) 72px;
  background:var(--paper);
  color:var(--teal);
  overflow:clip;
}
.rv-layout.page-home .hero__media{
  grid-column:2;grid-row:1;
  position:relative;inset:auto;z-index:0;
  min-width:0;min-height:560px;
  height:clamp(560px,calc(100svh - 216px),690px);
  overflow:hidden;border-radius:2px;
  transform:none!important;
}
.rv-layout.page-home .hero__veil,.rv-layout.page-home .hero::after{display:none}
.rv-layout.page-home .hero__content{
  grid-column:1;grid-row:1;align-self:center;
  position:relative;z-index:1;width:100%;max-width:none;margin:0;padding:0;
  transform:none!important;
}
.rv-layout.page-home .hero__title{
  font:400 clamp(44px,4.8vw,72px)/1.13 var(--font-hero);
  letter-spacing:-.025em;color:var(--teal);
  width:100%;max-width:none;text-wrap:balance;
}

.rv-layout.page-home .hero__tag{
  font:500 11px/1.7 var(--font-body);letter-spacing:.12em;
  color:#7d704f;max-width:none;margin:30px 0 18px;
}
.rv-layout.page-home .hero__lead{
  color:#55615c;font-size:15px;line-height:1.85;font-weight:400;
  width:100%;max-width:490px;margin:0 0 32px;
}
.rv-layout.page-home .hero__actions{max-width:100%;gap:16px 26px}
.rv-layout.page-home .hero .btn{min-width:166px;background:var(--teal);color:#fff;min-height:54px}
.rv-layout.page-home .hero .btn::after{display:none}
.rv-layout.page-home .hero .btn:hover{background:#24464d}

.rv-layout.page-home .hero__film,.rv-layout.page-home .hero__poster{object-position:60% center;filter:saturate(.82)}
@media(max-width:1100px){
.rv-layout.page-home .hero{gap:36px;padding-top:136px;padding-bottom:60px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.rv-layout.page-home .hero__title{font-size:clamp(42px,4.9vw,54px)}
.rv-layout.page-home .hero__media{height:600px;min-height:560px}
.rv-layout.page-home .hero__lead{font-size:14px}
}
@media(max-width:760px){
.rv-layout.page-home .hero{grid-template-columns:1fr;padding:128px var(--rv-gutter) 44px;gap:36px}
.rv-layout.page-home .hero__content{grid-column:1;grid-row:1}
.rv-layout.page-home .hero__title{font-size:clamp(36px,9.6vw,54px);line-height:1.12}
.rv-layout.page-home .hero__tag{font-size:10px;letter-spacing:.11em;margin:26px 0 18px}
.rv-layout.page-home .hero__lead{font-size:14px;max-width:570px;margin-bottom:28px}
.rv-layout.page-home .hero__actions{gap:13px 22px}
.rv-layout.page-home .hero .btn{min-width:152px;min-height:52px;font-size:12px;padding-inline:24px}

.rv-layout.page-home .hero__media{grid-column:1;grid-row:2;width:100%;height:auto;min-height:0;aspect-ratio:1.5;border-radius:2px;margin:0}
.rv-layout.page-home .hero__film,.rv-layout.page-home .hero__poster{object-position:center}
.rv-layout .atlas__map{width:100%;margin:28px 0 18px}
}
@media(max-width:360px){.rv-layout.page-home .hero__actions{gap:8px 18px}}

/* MEDLA: elite.css */
/* MEDLA / Cinema. One restrained material palette, with native navigation. */
.rv-layout{--elite-ink:#141a19;--elite-night:#101615;--elite-gold:#ccb889;--elite-stone:#eae7de;--elite-line:#b3a48855;--motion-ease:cubic-bezier(.22,.7,.2,1)}
.rv-layout :is(h1,h2,h3) em{font-style:normal!important}
.rv-layout .btn{transition:background .35s,color .35s,border-color .35s;letter-spacing:.015em}
.rv-layout :is(a,button,input,summary):focus-visible{outline:2px solid #8c7444;outline-offset:5px}
.rv-layout :is(.hero,.atlas,.elite-chapters,.rv-footer,.rv-featured) :is(a,button,summary):focus-visible{outline-color:#e2cb97}
.rv-layout .rv-header{z-index:1100;transition:background .35s,border-color .35s,box-shadow .35s}
.rv-layout .rv-header__inner{height:96px}
.rv-layout .rv-header .brand img{width:78px;height:auto}
.rv-layout.page-home .rv-header{border-color:#f3eddf30;color:#f7f6f2}
.rv-layout.page-home:not(.rv-nav-is-open) .rv-header:not(.is-scrolled) :is(.rv-nav-link,.rv-nav-toggle,.rv-mega-toggle){color:#f7f6f2}
.rv-layout.page-home:not(.rv-nav-is-open) .rv-header:not(.is-scrolled) .rv-nav-toggle{border-color:#f7f6f270}
.rv-layout.page-home .rv-header.is-scrolled,.rv-layout.page-home.rv-nav-is-open .rv-header{background:#f7f6f2f5;border-color:#142d371a;color:var(--teal);backdrop-filter:blur(18px)}
.rv-layout .rv-nav-link{font-size:13px;letter-spacing:.025em}
.rv-layout .rv-nav-cta{background:#c8b58b;color:#182421;min-height:46px;padding:13px 21px}
.rv-layout .rv-nav-cta:hover{background:#e1d0a8;color:#142d37}
.rv-layout .rv-mega{border-top:2px solid #b7a477;box-shadow:0 22px 60px #11171420}

/* The original Barcelona film becomes the opening scene. */
.rv-layout.page-home .hero{
  position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;
  min-height:820px;min-height:max(820px,100svh);height:auto;gap:0;
  padding:155px max(var(--rv-gutter),calc((100vw - var(--rv-max))/2)) 100px;
  background:var(--elite-night);color:#f7f6f2;overflow:clip;
}
.rv-layout.page-home .hero__media{
  position:absolute;inset:0;z-index:-3;width:100%;height:100%;min-height:0;
  border-radius:0;aspect-ratio:auto;transform:none!important;overflow:hidden;
}
.rv-layout.page-home :is(.hero__film,.hero__poster){width:100%;height:100%;object-fit:cover;object-position:65% center;filter:saturate(.65) contrast(1.04)}
.rv-layout.page-home .hero__veil{
  display:block;position:absolute;inset:0;z-index:-2;
  background:linear-gradient(90deg,#101615f5 0%,#101615eb 22%,#101615b8 46%,#10161526 76%),linear-gradient(180deg,#10161560,transparent 26%,#10161518 70%,#101615c9);
}
.rv-layout.page-home .hero::after{content:'';display:block;position:absolute;z-index:-1;inset:126px var(--rv-gutter) 37px auto;width:31%;height:auto;border:1px solid #f4eedf2b;border-left:0;pointer-events:none;background:none}
.rv-layout.page-home .hero__content{position:relative;z-index:1;align-self:auto;width:100%;max-width:800px;padding:0;margin:0;transform:none!important}
.rv-layout.page-home .hero__title{font:400 clamp(48px,5.3vw,82px)/1.07 var(--font-hero);letter-spacing:-.025em;color:#f7f5ed;max-width:800px;text-wrap:balance;margin:0}

.rv-layout.page-home .hero__tag{font-size:10px;letter-spacing:.2em;color:#d6c496;margin:34px 0 17px;display:flex;align-items:center;gap:15px}
.rv-layout.page-home .hero__tag::before{content:'';height:1px;width:34px;background:#cbb787;flex:0 0 auto}
.rv-layout.page-home .hero__lead{font-size:14px;line-height:1.95;font-weight:400;color:#dddcd3;max-width:520px;margin:0 0 33px}
.rv-layout.page-home .hero__actions{gap:15px 31px}
.rv-layout.page-home .hero .btn{background:#d6c192;color:#18211e;min-height:55px;padding-inline:29px;min-width:170px;border:1px solid #d6c192}
.rv-layout.page-home .hero .btn:hover{background:#f0dfb7;color:#14231e}

/* Four direct anchors keep the cinematic sequence easy to navigate. */

/* An illuminated Atlantic atlas. All geography and destinations remain real. */
.rv-layout .atlas{background:var(--elite-night);color:#f4f0e5;padding:76px 0 34px;border:0}
.rv-layout .atlas__layout{grid-template-columns:.85fr 1.5fr;gap:0 35px}
.rv-layout .atlas__copy{padding:30px 0 65px}
.rv-layout .atlas h2{color:#f0eee6;font-size:clamp(49px,5vw,77px);line-height:1.06;letter-spacing:-.02em}
.rv-layout .atlas h2 em{color:#d2bf91!important}
.rv-layout .atlas__eyebrow{color:#cab584;letter-spacing:.2em;font-size:9px}
.rv-layout .atlas__intro{color:#bec3bc;font-size:14px;line-height:1.9;max-width:330px}

.rv-layout .atlas__map{margin:0;isolation:isolate;transform-origin:65% 50%}
.rv-layout .atlas__svg{position:relative;z-index:1;filter:drop-shadow(0 14px 18px #0003)}
.rv-layout .atlas__land{fill:#6d7970;fill-opacity:.12;stroke:#b0b9aa;stroke-opacity:.25;stroke-width:.5}
.rv-layout .atlas__land.is-americas{fill:#819388;fill-opacity:.22;stroke-opacity:.5}
.rv-layout .atlas__land.is-europe{fill:#bba67b;fill-opacity:.25;stroke:#ceb882;stroke-opacity:.5}
.rv-layout .atlas__land.is-spain{fill:#d4b979;fill-opacity:1;stroke:#f0ddb0;stroke-width:.8}
.rv-layout .atlas__route{stroke:#d1b777;stroke-opacity:.7;stroke-width:1.1}
.rv-layout .atlas__origin{fill:#c4ae80;stroke:#111715}
.rv-layout .atlas__region{fill:#b9c1b7;stroke:#101615;stroke-width:3;font-size:14px}

.rv-layout .atlas__destination-halo{fill:#d7bc7c;opacity:.15}
.rv-layout .atlas__destination-ring{stroke:#e2c78a}.rv-layout .atlas__destination-dot{fill:#fff0cc}
.rv-layout .atlas__label-line{stroke:#ceba8b}.rv-layout .atlas__spain{fill:#f9efd4;stroke:#101615}
.rv-layout .atlas__europe{fill:#d5c298}

/* Warm editorial breathing space between the moving scenes. */
.rv-layout .commit{padding-block:120px 105px}
.rv-layout .commit__wrap{gap:0 90px}
.rv-layout .commit .section-title{font-size:clamp(37px,4.2vw,61px);line-height:1.11;color:var(--elite-ink)}
.rv-layout .commit .section-lead{align-self:end;font-size:15px;line-height:1.95}

.rv-layout .rv-commit-story{gap:70px;grid-template-columns:1.16fr 1fr;align-items:center}
.rv-layout .rv-commit-story figure{height:430px;border-radius:0}
.rv-layout .rv-commit-story img{filter:saturate(.65)}

/* Generated architectural concept, animated as a visual scene; no fake location claims. */
.rv-layout .quote{position:relative;isolation:isolate;overflow:clip;min-height:780px;display:flex;align-items:center;padding-block:110px;background:#292b24;color:#fff6e3}
.elite-portal-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}
.rv-layout .quote::after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#101612d9 0%,#101612c4 35%,#1016124a 62%,#10161200 85%)}
.rv-layout .quote>.wrap{width:100%;position:relative;z-index:1}

/* Services are a visible index with one visual anchor, not a maze of cards. */
.rv-layout.page-home .services{background:#f7f6f2;color:#1b2722;padding-block:115px}

.rv-layout.page-home .rv-services-photo{height:625px;border-radius:0;background:#d4cebf}
.rv-layout.page-home .rv-services-photo img{filter:saturate(.58)}
.rv-layout.page-home .rv-services-photo::after{content:'MADRID, ESPAÑA';display:block;position:absolute;inset:auto 20px 20px;padding:17px 20px;background:#f7f6f2e6;backdrop-filter:blur(10px);border:0;border-radius:0;color:#263730;font:500 9px/1.5 var(--font-body);letter-spacing:.22em}

.rv-layout .reviews{background:#eae7df;border-block:1px solid #d5cebf}
.rv-layout .reviews .section-title{max-width:840px;color:var(--elite-ink);font-size:clamp(37px,4.5vw,64px)}
.rv-layout .rev{border-color:#c8c0af;background:#f8f6ef;border-radius:0;padding:31px}
.rv-layout .rev__name{color:#23332b}.rv-layout .rev__text{color:#536057}

.rv-layout .partners{background:#f7f6f2;border:0;padding-block:80px}
.rv-layout .partners .section-title{font-size:clamp(30px,3.2vw,44px)}
.rv-layout .faq{background:#eeece5;border-color:#d0c9bb}
.rv-layout .faq>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px 75px}
.rv-layout .faq .section-title{grid-column:1;grid-row:1;font-size:clamp(40px,4.7vw,64px);margin:0}
.rv-layout .faq .section-lead{grid-column:1;grid-row:2;align-self:start;max-width:310px;margin:0}
.rv-layout .faq .accordion{grid-column:2;grid-row:1/4;width:100%;margin:0}
.rv-layout .acc__btn{font-size:15px;padding-block:28px;line-height:1.6}
.rv-layout .acc{border-color:#c9c0ac}
.rv-layout .acc__body{font-size:14px;line-height:1.9}
.rv-layout .ask{background:#ddd8cb}

.rv-layout .biz{border-top:1px solid #d2cabb}

/* Interior pages inherit the same precise type, photographic frames and controls. */

.rv-layout .rv-intro__image{border-radius:0;box-shadow:18px 18px 0 #c6b17e25;margin-right:18px}
.rv-layout .rv-intro__image img{filter:saturate(.7)}

.rv-layout .rv-area-card{padding:42px 0;border-color:#c9c2b3}
.rv-layout .rv-area-card:is(:hover,:focus-within){background:#eae6dc55}
.rv-layout .rv-area-card h2{color:#24392d}

.rv-layout .rv-featured{background:#19251f;border:0;border-radius:0}
.rv-layout .rv-featured :is(h2,h2 a){color:#f7f1e2}
.rv-layout .rv-featured :is(p,.rv-post-meta){color:#c6cfc2}

.rv-layout .rv-post h3{line-height:1.2}

.rv-layout .rv-consult{background:#e3dece;border-block:1px solid #cbc0a7}
.rv-layout .rv-consult h2{color:#21332a}

.rv-layout .mform :is(input,textarea,select):focus-visible{outline:2px solid #a28b51;outline-offset:2px}

/* A strong signature closes every journey. */
.rv-layout .rv-footer{position:relative;overflow:clip;background:#141d18;color:#d9ddce;border-color:#354136;padding-top:85px}

.rv-layout .rv-footer h3{color:#c8b586;letter-spacing:.14em;font-size:10px}
.rv-layout .rv-footer address p{color:#b9c2b1}
.rv-layout .rv-footer a:hover{color:#e4c995}

.rv-layout .rv-footer::after{content:'MEDLA';display:block;text-align:center;font:400 clamp(100px,22vw,360px)/.86 var(--font-body);letter-spacing:.04em;color:#c9b37d18;border-top:1px solid #c1ac7529;padding-top:40px;margin:0 var(--rv-gutter);pointer-events:none}
.rv-layout .consent-banner{background:#f8f6ef;border:1px solid #bcab87;box-shadow:0 16px 65px #07120c24;border-radius:2px}
.rv-layout .consent-dialog{border-radius:2px;border-color:#ad9b74}
.rv-layout .consent-chat-launcher{background:#24362b;border:1px solid #cfbb8a66}
.rv-layout .wa-fab{background:#466b4a;color:white;box-shadow:0 6px 20px #142d3720}
.rv-layout [hidden]{display:none!important}

@media(min-width:1500px){.rv-layout.page-home .hero{min-height:min(1050px,100svh)}.rv-layout.page-home .hero__content{max-width:850px}.rv-layout.page-home .hero__title{font-size:88px}.rv-layout.page-home .hero__lead{max-width:550px;font-size:15px}}
@media(max-width:1100px){
.rv-layout.page-home .hero{min-height:810px;padding-top:150px;padding-bottom:95px}
.rv-layout.page-home .hero__title{font-size:clamp(48px,6.1vw,67px);max-width:700px}
.rv-layout.page-home .hero__content{max-width:720px}.rv-layout.page-home .hero__lead{max-width:490px}
.rv-layout .atlas__layout{grid-template-columns:.9fr 1.25fr;gap:0 15px}.rv-layout .atlas h2{font-size:56px}
.rv-layout .rv-commit-story{gap:40px}.rv-layout .rv-commit-story figure{height:380px}
.rv-layout .quote{min-height:690px}

.rv-layout .faq>.wrap{gap:22px 40px}.rv-layout .faq .section-title{font-size:48px}

}
@media(max-width:960px){
.rv-layout .rv-header__inner{height:85px}.rv-layout .rv-header .brand img{width:68px}
.rv-layout .rv-nav{top:85px;height:calc(100dvh - 85px);background:#f7f6f2}
.rv-layout .rv-nav .rv-nav-link{color:#142d37!important;font-size:25px}
.rv-layout .rv-mega-toggle{color:#897546!important}.rv-layout .rv-nav-cta{align-self:start}
.rv-layout .rv-mega{box-shadow:none}

.rv-layout .commit{padding-block:85px}.rv-layout .commit .section-title{font-size:44px}
.rv-layout .quote{min-height:660px}
.rv-layout .quote::after{background:linear-gradient(90deg,#101612e6,#101612a6 50%,#10161235)}
.rv-layout .faq>.wrap{display:block}.rv-layout .faq .section-lead{margin:20px 0 38px;max-width:none}
.rv-layout .faq .accordion{margin:0}
}
@media(max-width:700px){
.rv-layout.page-home .hero{display:flex;min-height:780px;min-height:max(780px,100svh);padding:132px 22px 78px;justify-content:center}
.rv-layout.page-home .hero__media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;min-height:0}
.rv-layout.page-home :is(.hero__film,.hero__poster){object-position:63% center}
.rv-layout.page-home .hero__veil{background:linear-gradient(180deg,#101615ad,#101615c7 40%,#101615d9 77%,#101615c7),linear-gradient(90deg,#10161577,transparent)}
.rv-layout.page-home .hero::after{inset:105px 22px 28px auto;width:18%;border-color:#f4eedf26}
.rv-layout.page-home .hero__content{width:100%;max-width:570px}
.rv-layout.page-home .hero__title{font-size:clamp(38px,9.6vw,61px);line-height:1.1;letter-spacing:-.022em;text-wrap:balance}
.rv-layout.page-home .hero__tag{font-size:9px;letter-spacing:.12em;gap:10px;margin:27px 0 18px}
.rv-layout.page-home .hero__tag::before{width:20px}.rv-layout.page-home .hero__lead{font-size:13px;line-height:1.95;margin-bottom:30px;max-width:480px}
.rv-layout.page-home .hero__actions{gap:12px 22px}.rv-layout.page-home .hero .btn{font-size:12px;min-width:150px;padding-inline:21px;min-height:52px}

.rv-layout .atlas{padding:53px 0 26px}.rv-layout .atlas__layout{display:flex;flex-direction:column;gap:0}
.rv-layout .atlas__copy{width:100%;padding:0}.rv-layout .atlas h2{font-size:clamp(48px,12vw,75px);line-height:1.03}
.rv-layout .atlas__eyebrow{font-size:9px;margin-bottom:24px}.rv-layout .atlas__intro{font-size:13px;max-width:370px}
.rv-layout .atlas__map{width:100%;margin:14px 0 25px}.rv-layout .atlas__region{font-size:20px}
.rv-layout .atlas__europe{font-size:24px}
.rv-layout .commit{padding-block:65px}.rv-layout .commit .section-title{font-size:36px}
.rv-layout .commit .section-lead{font-size:14px}
.rv-layout .rv-commit-story{grid-template-columns:1fr;gap:30px}.rv-layout .rv-commit-story figure{height:290px}

.rv-layout .quote{min-height:760px;padding-block:65px 200px;align-items:start}
.elite-portal-image{object-position:62% center}
.rv-layout .quote::after{background:linear-gradient(180deg,#101612ed,#101612c4 53%,#1016121a),linear-gradient(90deg,#10161238,transparent)}

.rv-layout.page-home .services{padding-block:65px}

.rv-layout.page-home .rv-services-photo{height:340px;max-width:none;margin-bottom:30px}
.rv-layout.page-home .rv-services-photo::after{inset:auto 16px 16px;font-size:9px;padding:14px 16px}

.rv-layout .reviews .section-title{font-size:37px}
.rv-layout .partners{padding-block:58px}.rv-layout .partners .section-title{font-size:32px}
.rv-layout .faq .section-title{font-size:44px}.rv-layout .acc__btn{font-size:14px;padding-block:24px}

.rv-layout .rv-intro__image{margin-right:12px;box-shadow:12px 12px 0 #c6b17e25}
.rv-layout .rv-area-card{padding-block:30px}.rv-layout .rv-area-card h2{font-size:38px}
.rv-layout .rv-footer{padding-top:55px}

.rv-layout .rv-footer::after{font-size:21vw;padding-top:27px}

}
@media(max-width:650px){.rv-layout .rv-header__inner{height:78px}.rv-layout .rv-header .brand img{width:61px}.rv-layout .rv-nav{top:78px;height:calc(100dvh - 78px)}}
@media(max-width:360px){.rv-layout.page-home .hero__title{font-size:35px}.rv-layout.page-home .hero__actions{gap:8px 17px}.rv-layout.page-home .hero .btn{min-width:136px}.rv-layout .quote{min-height:840px}.rv-layout .atlas h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){.rv-layout .hero__media,.rv-layout .elite-portal-image{transform:none!important;translate:none!important;scale:none!important}.rv-layout .rv-intro__image{box-shadow:12px 12px 0 #c6b17e25}}

/* Continuous page rhythm: spacing carries the hierarchy instead of colored bands. */

.rv-layout.page-home :is(.stats,.services,.reviews,.partners,.faq){background:var(--paper);border:0}

.rv-layout.page-home .services{padding-bottom:76px}
.rv-layout.page-home .reviews{padding-block:60px 55px}
.rv-layout.page-home .reviews__board{margin-top:44px}
.rv-layout.page-home .rev{background:transparent;border:0;border-left:1px solid #b7aa9055;border-radius:0;box-shadow:none;padding:15px 28px;min-height:265px}
.rv-layout.page-home .rev:hover{translate:none;box-shadow:none}
.rv-layout.page-home .partners{padding-block:38px 76px}
.rv-layout.page-home .partners>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;align-items:end}
.rv-layout.page-home .partners .section-title{font-size:33px;line-height:1.15;margin:0}
.rv-layout.page-home .partners .section-lead{font-size:13px;line-height:1.85;max-width:460px;margin:0;justify-self:end}
.rv-layout.page-home .partners .car--partners{grid-column:1/-1;width:100%;margin-top:38px}
.rv-layout.page-home .faq{padding-block:60px 90px}
.rv-layout.page-home .faq .accordion{gap:0}
.rv-layout.page-home .acc{background:none;border-radius:0;box-shadow:none}
.rv-layout.page-home .acc:hover{box-shadow:none}

/* One closing scene: the Madrid image dissolves into the same ground as the footer. */
.rv-layout.page-home .home-closing{position:relative;isolation:isolate;background:#141d18;color:#edf0df}
.rv-layout.page-home .home-closing .ask{position:relative;display:block;isolation:isolate;min-height:0;padding:110px var(--rv-gutter) 70px;background:transparent;overflow:clip;scroll-margin-top:100px!important}

.rv-layout.page-home .home-closing .biz{position:relative;background:transparent;border:0;padding:18px var(--rv-gutter) 52px;color:#c5cdbf}

.rv-layout.page-home .home-closing :is(a,button):focus-visible{outline-color:#e2cb97}

/* The footer continues the scene, with a quiet signature and one clear directory. */
.rv-layout.page-home .rv-footer{background:#141d18;border:0;padding-top:12px}

.rv-layout.page-home .rv-footer::after{position:absolute;inset:auto 0 -20px;margin:0;border:0;padding:0;font-size:22vw;line-height:.82;letter-spacing:.03em;color:#bbaa6d08;z-index:0;pointer-events:none}
.rv-layout.page-home .rv-footer>.rv-shell{position:relative;z-index:1}

@media(max-width:1100px){
.rv-layout.page-home .home-closing .ask{padding-top:90px}

}
@media(max-width:960px){
.rv-layout.page-home .home-closing .ask{scroll-margin-top:85px!important}
.rv-layout.page-home .partners>.wrap{gap:0 35px}.rv-layout.page-home .partners .section-title{font-size:30px}

}
@media(max-width:700px){

.rv-layout.page-home .services{padding-bottom:36px}
.rv-layout.page-home .reviews{padding-block:35px 30px}.rv-layout.page-home .reviews__board{margin-top:33px}
.rv-layout.page-home .rev{padding:10px 23px;min-height:265px}
.rv-layout.page-home .partners{padding-block:32px 48px}.rv-layout.page-home .partners>.wrap{display:block}
.rv-layout.page-home .partners .section-title{font-size:29px}.rv-layout.page-home .partners .section-lead{font-size:12px;margin-top:17px;max-width:none}
.rv-layout.page-home .partners .car--partners{margin-top:28px}
.rv-layout.page-home .faq{padding-block:35px 65px}.rv-layout.page-home .faq .section-title{font-size:42px}
.rv-layout.page-home .home-closing .ask{display:block;padding:70px 22px 50px;min-height:0}

.rv-layout.page-home .home-closing .biz{padding:0 22px 37px}

.rv-layout.page-home .rv-footer{padding-top:5px}

.rv-layout.page-home .rv-footer::after{bottom:10px;font-size:23vw}
}
@media(max-width:650px){.rv-layout.page-home .home-closing .ask{scroll-margin-top:78px!important}}

/* MEDLA: elite-motion.css */
/* Progressive cinematic layer. No hidden content or intercepted navigation. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: elite-page-out 180ms ease both; }
::view-transition-new(root) { animation: elite-page-in 240ms ease both; }
@keyframes elite-page-out { to { opacity: 0; } }
@keyframes elite-page-in { from { opacity: 0; } }

@keyframes elite-arrival {
  0% { transform: scaleX(0); opacity: 0; }
  12% { opacity: 1; }
  74% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0; }
}

.elite-motion-enabled .hero :is(.hero__film,.hero__poster) {
  scale: var(--elite-film-scale, 1.06);
  translate: 0 var(--elite-film-shift, 0px);
  transform-origin: 56% 50%;
}
.elite-motion-enabled .hero.elite-is-visible :is(.hero__film,.hero__poster) {
  will-change: scale, translate;
}
.elite-motion-enabled .elite-portal-image {
  scale: var(--elite-portal-scale, 1.1);
  translate: 0 var(--elite-portal-shift, 0px);
  transform-origin: center;
}
.elite-motion-enabled .quote.elite-is-visible .elite-portal-image {
  will-change: scale, translate;
}
.elite-motion-enabled .rv-services-photo img {
  scale: 1.075;
  translate: 0 var(--elite-photo-shift, 0px);
}
.elite-motion-enabled .rv-services-photo.elite-is-visible img {
  will-change: translate;
}

.elite-atlas-signals { pointer-events: none; }
.elite-atlas-signal { fill: #fff0c4; stroke: #ccb071; stroke-width: 1; }
.elite-map-light {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  background: radial-gradient(ellipse 260px 220px at var(--elite-pointer-x, 50%) var(--elite-pointer-y, 50%), #d6bd7b20, transparent 80%);
  pointer-events: none;
  transition: opacity 450ms ease;
}
.atlas__svg { position: relative; }
@media (hover: hover) and (pointer: fine) {
.elite-motion-enabled .elite-pointer-active .elite-map-light { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
::view-transition-old(root), ::view-transition-new(root) { animation: none; }
.elite-load-signal, .elite-map-light { display: none; }
.hero :is(.hero__film,.hero__poster), .elite-portal-image, .rv-services-photo img {
    scale: none !important;
    translate: none !important;
    will-change: auto !important;
  }
}

/* MEDLA: editorial.css */
/* A photographic language across the whole site, with the existing words intact. */

.rv-layout .rv-intro__image{aspect-ratio:1.18;height:auto;min-height:0;margin:0;box-shadow:none;align-self:stretch}
.rv-layout .rv-intro__image img{position:absolute;inset:0}

/* Each area is a photographic spread. The complete catalogue stays searchable. */
.rv-layout .rv-areas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 45px}
.rv-layout .rv-area-card{display:flex;flex-direction:column;border:0!important;padding:0;background:transparent!important;min-width:0}

.rv-layout .rv-area-card h2{grid-column:2;grid-row:1;font-size:clamp(35px,3.5vw,51px);margin:0;line-height:1.1}

.rv-layout .rv-area-card .rv-more-services summary{min-height:46px;padding-block:14px}
.rv-layout .rv-area-card .rv-more-services>div>a{line-height:1.65;padding-block:12px}

/* The specialty index has the rhythm of an editorial, not a bare text inventory. */

/* Questions sit beside a quiet detail, with enough space to read and use them. */

/* A magazine cover, then a spacious, consistently framed reading collection. */

.rv-layout .rv-featured{grid-template-columns:1.12fr 1fr;background:transparent;color:#21332a;border-bottom:1px solid #cfc8b9;padding-bottom:55px;gap:0 6%;overflow:visible}

.rv-layout .rv-featured :is(h2,h2 a){color:#21332a;font-size:clamp(30px,3.15vw,47px);line-height:1.13}
.rv-layout .rv-featured :is(p,.rv-post-meta,.rv-post-bottom){color:#626c62}
.rv-layout .rv-featured p{font-size:15px;line-height:1.85}

.rv-layout .rv-post h3{font-size:clamp(25px,2.15vw,33px);line-height:1.19;letter-spacing:-.02em}

.rv-layout .rv-related{border-top:1px solid #d8d1c2}

/* The final invitation and footer share one atmosphere, not another box. */

@media(hover:hover) and (pointer:fine){

}
@media(max-width:1100px){
.rv-layout .rv-areas-grid{gap:50px 30px}

}
@media(max-width:960px){

.rv-layout .rv-intro__image{aspect-ratio:auto;min-height:440px}

}
@media(max-width:700px){

.rv-layout .rv-intro__image{min-height:0;aspect-ratio:1.45;width:100%;margin:0;height:auto;max-height:none}

.rv-layout .rv-areas-grid{grid-template-columns:1fr;gap:48px}

.rv-layout .rv-area-card h2{font-size:40px}

.rv-layout .rv-featured{grid-template-columns:1fr;gap:25px;padding-bottom:35px}

.rv-layout .rv-featured :is(h2,h2 a){font-size:32px}
.rv-layout .rv-featured p{font-size:14px}

.rv-layout .rv-post h3{font-size:29px}

}
@media(max-width:370px){

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

}

/* MEDLA: wayfinding-nav.css */
/* Navigation and booking actions use one vocabulary across the site. */
.rv-layout .rv-nav-cta{white-space:nowrap;font-weight:600;letter-spacing:0}
.rv-layout .rv-mega{grid-template-columns:minmax(180px,.75fr) minmax(0,2fr);padding:25px 32px 0}

.rv-layout :is(.rv-nav-link,.rv-mega-toggle,.rv-mega a,.rv-nav-cta,.wf-footer-cta):focus-visible{outline:2px solid #a38b58;outline-offset:5px}

@media(max-width:1100px) and (min-width:961px){
.rv-layout .rv-nav{gap:18px}
.rv-layout .rv-nav-cta{font-size:12px;padding-inline:17px;margin-left:4px}
.rv-layout .rv-mega{padding-inline:25px}

}
@media(max-width:960px){
.rv-layout .rv-nav{padding-top:12px;padding-bottom:max(30px,env(safe-area-inset-bottom));scroll-padding-block:20px}
.rv-layout .rv-nav>.rv-nav-link,.rv-layout .rv-nav-area>.rv-nav-link{font-size:24px;padding-block:14px}
.rv-layout .rv-mega-toggle{height:62px;min-width:44px}
.rv-layout .rv-mega{padding:0;background:#eeece5;border:0}

.rv-layout .rv-nav-cta{align-self:stretch;justify-content:center;min-height:52px;padding:16px 22px;margin-top:24px;font-size:14px;flex-shrink:0}

}
@media(max-width:650px){

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

}

/* MEDLA: wayfinding.css */
/* Shared navigation rhythm: search, service context and one clear next step. */
.rv-layout [hidden]{display:none!important}

.rv-layout #consulta{scroll-margin-top:120px}

@media(max-width:700px){

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

/* MEDLA: bilingual.css */
/* MEDLA bilingual editorial system: same palette, clear continuous rhythm. */

/* Positive hero layers avoid video painting behind the section background. */

@media(min-width:1101px){html[lang="en"] .rv-nav{gap:17px}html[lang="en"] .rv-nav-link{font-size:12px}html[lang="en"] .rv-nav-cta{font-size:12px;padding-inline:16px}}
@media(max-width:1100px){}
@media(max-width:760px){}
@media(prefers-reduced-motion:reduce){}

/* MEDLA: refinement.css */
/* MEDLA — one canvas, a clear reading rhythm and purposeful next steps. */
.rv-layout {
  --ux-paper: #f7f6f2;
  --ux-ink: #23352e;
  --ux-muted: #59635d;
  --ux-gold: #8a7247;
  --ux-line: #d5d1c6;
  --ux-space: clamp(48px, 6.4vw, 88px);
  background: var(--ux-paper);
}

.rv-layout :is(h1, h2, h3, p) { overflow-wrap: break-word; }
.rv-layout :is(h1, h2, h3) { text-wrap: balance; }

.rv-layout :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid #846c40;
  outline-offset: 5px;
}

/* The objects occupy the page, rather than sitting in a rectangular image. */

/* Service directory: six editorial spreads, with an unchanged reading order. */
.rv-layout .rv-areas-grid,
.rv-layout .sv-area-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.rv-layout .rv-area-card,
.rv-layout .sv-area-grid > .bi-area > a {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  column-gap: clamp(35px, 6vw, 90px);
  align-items: center;
  padding-block: clamp(30px, 4vw, 56px);
  margin: 0;
  min-width: 0;
  border-bottom: 1px solid var(--ux-line) !important;
  background: transparent !important;
}
.rv-layout .rv-area-card:first-child,
.rv-layout .sv-area-grid > .bi-area:first-child > a { padding-top: 8px; }

.rv-layout .rv-area-card:nth-child(even),
.rv-layout .sv-area-grid > .bi-area:nth-child(even) > a {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
}

.rv-layout .rv-area-card h2,
.rv-layout .sv-area-grid .bi-area h2 {
  font: 400 clamp(35px, 3.8vw, 51px)/1.08 var(--font-display);
  letter-spacing: -.03em;
  color: var(--ux-ink);
  margin: 0;
}

/* Area introductions share the scale of the directory and lead into the work. */

/* A short process fills the gap between selecting a service and contacting us. */

/* Questions and articles retain generous line length without a change of style. */

.rv-layout .rv-related .rv-post:last-child { display: flex; }

/* The document remains usable when JavaScript is unavailable. */
html:not(.js) .rv-layout .curtain,
html:not(.js) .rv-layout .rv-nav-toggle,
html:not(.js) .rv-layout .rv-mega-toggle,
html:not(.js) .rv-layout .rv-search,
html:not(.js) .rv-layout .rv-filters,
html:not(.js) .rv-layout .wf-results-row,
html:not(.js) .rv-layout .rv-load { display: none; }
html:not(.js) .rv-layout .acc__panel[hidden] { display: block !important; height: auto !important; }
html:not(.js) .rv-layout .acc__btn { cursor: default; }

/* A single quiet closing sequence replaces the heavy invitation/footer blocks. */

@media (max-width: 1050px) {
.rv-layout .rv-area-card,
  .rv-layout .sv-area-grid > .bi-area > a { column-gap: 38px; }
.rv-layout .rv-area-card h2,
  .rv-layout .sv-area-grid .bi-area h2 { font-size: 40px; }

}

@media (max-width: 960px) {
html:not(.js) .rv-layout .rv-header {
    position: relative;
    background: var(--ux-paper);
    color: var(--ux-ink);
    backdrop-filter: none;
  }
html:not(.js) .rv-layout .rv-header__inner {
    height: auto;
    display: flex;
    flex-wrap: wrap;
    padding-block: 8px 15px;
    gap: 8px 20px;
  }
html:not(.js) .rv-layout .rv-header .brand img { filter: brightness(0) saturate(100%); opacity: .82; }
html:not(.js) .rv-layout .rv-nav {
    position: static;
    display: flex;
    flex: 1 1 100%;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 20px;
    padding: 0;
    height: auto;
    min-height: 0;
    bottom: auto;
    overflow: visible;
    background: transparent;
    color: var(--ux-ink);
  }
html:not(.js) .rv-layout .rv-nav-area { display: block; }
html:not(.js) .rv-layout .rv-nav .rv-nav-link {
    color: var(--ux-ink);
    border: 0;
    padding-block: 12px;
    min-height: 44px;
    font: 500 13px/1.5 var(--font-body);
  }
html:not(.js) .rv-layout.page-home .rv-header .rv-nav .rv-nav-link { color: var(--ux-ink) !important; }
html:not(.js) .rv-layout .rv-nav-cta { margin: 5px 0; align-self: center; padding: 12px 17px; min-height: 44px; }

}

@media (max-width: 760px) {
.rv-layout { --ux-space: 52px; }

.rv-layout .rv-area-card,
  .rv-layout .rv-area-card:nth-child(even),
  .rv-layout .sv-area-grid > .bi-area > a,
  .rv-layout .sv-area-grid > .bi-area:nth-child(even) > a {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding-block: 28px 36px;
  }

.rv-layout .rv-area-card h2,
  .rv-layout .sv-area-grid .bi-area h2 { font-size: clamp(34px, 8.7vw, 43px); }

}

@media (max-width: 370px) {
.rv-layout { --rv-gutter: 20px; }

.rv-layout .rv-area-card h2,
  .rv-layout .sv-area-grid .bi-area h2 { font-size: 33px; }

}

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

}

/* MEDLA: quiet-ui.css */
/* MEDLA: one clear label per action. Shared by Spanish and English pages.
   Only decorative counters and repeated link ornaments are suppressed.
   Dropdown controls, article icon links, forms and consent controls are intact. */

/* Interface symbols share one viewBox and stroke. They remain decorative,
   with the action named by the button or its visible adjacent heading. */
.rv-layout .medla-line-icon { display: block; flex: 0 0 auto; width: 24px; height: 24px; }
.rv-layout .rv-mega-toggle .medla-line-icon { width: 18px; height: 18px; transition: transform .18s ease; }
.rv-layout .rv-mega-toggle[aria-expanded="true"] .medla-line-icon { transform: rotate(180deg); }
.rv-layout .car__btn .medla-line-icon { width: 21px; height: 21px; margin: auto; }
@media(prefers-reduced-motion:reduce) {
.rv-layout .rv-mega-toggle .medla-line-icon { transition: none; }
}

/* These links already have visible, meaningful labels. Do not target every
   aria-hidden span: some are essential disclosure or icon-only controls. */
.rv-layout :is(.rv-text-link, .wf-primary, .wf-footer-cta, .wf-nav-action,
  .rv-area-card__links a, .ux-area-link, .sa-area-open, .ls-related-links a,
  .ux-next-areas__links a) > :is(.rv-arrow, span[aria-hidden="true"]),
.rv-layout :is(.sv-service-row, .ed-service-row) > .rv-arrow,
.rv-layout .sa-specialty-links > a > .sa-arrow,
.rv-layout .sa-group li a > i[aria-hidden="true"],
.rv-layout .wf-service-result > .sa-arrow,
.rv-layout .bi-area h2 > span[aria-hidden="true"],
.rv-layout .bi-guide-grid h3 > span[aria-hidden="true"],
.rv-layout .bi-actions .btn > span[aria-hidden="true"] {
  display: none;
}
.rv-layout a.btn > :is(.rv-arrow, span[aria-hidden="true"]) { display: none; }

/* The service menu has the same eight clear choices as the directory. */
.rv-layout .rv-mega { grid-template-columns: minmax(0, 1fr); }

/* Remove empty columns left by the ornamental counters. */
.rv-layout .rv-area-card .ed-area-copy,
.rv-layout .ux-process__steps > li,
.rv-layout .ls-topics > section,
.rv-layout .sa-specialty-links > a,
.rv-layout .sa-group li a,
.rv-layout .ls-related-links > a,
.rv-layout .ux-next-areas__links > a {
  grid-template-columns: minmax(0, 1fr);
}

.rv-layout .sa-area-heading { grid-template-columns: minmax(0, 1fr) auto; }

/* Upright type, consistent scale and a comfortable line length. */
.rv-layout :is(.rv-area-card h2, .bi-area h2, .rv-service-row h3,
  .ux-process__steps h3, .ux-next-areas__links > a > span:first-child,
  .ls-detail-content h2, .ls-topics h3, .ls-related h2, .ls-related-links > a,
  .bi-guides h2, .bi-guide-grid h3, .bi-closing h2) {
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 500;
  letter-spacing: -.025em;
}
.rv-layout :is(.rv-area-card h2, .bi-area h2) {
  font-size: clamp(27px, 3vw, 40px);
  line-height: 1.18;
}

/* A full row is already clickable. Hover should underline the label, not move
   content around while somebody tries to read or select it. */

/* The directory now has one optional search below the area choices. */

/* Area pages show a concise set of specialty titles. The detail pages carry
   the explanation, so these rows only need a quiet, clearly clickable label. */
.rv-layout .sa-specialty-group {
  padding-block: 30px;
  column-gap: clamp(35px, 6vw, 85px);
}
.rv-layout .sa-specialty-group > header { position: static; }
.rv-layout .sa-specialty-group > header h2 {
  margin: 0;
  font-size: clamp(23px, 2.5vw, 31px);
  line-height: 1.3;
}

/* Home uses the same concise service rows in either language. */

@media (max-width: 760px) {

.rv-layout .sa-area-heading { grid-template-columns: minmax(0, 1fr); }

}

/* MEDLA: service-gallery.css */
/* A single visual system for the service directory. No drifting click targets. */

.rv-layout .sg-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 17px 24px;
  min-height: 52px;
  border: 1px solid #183b3f;
  border-radius: 3px;
  color: #fffef8;
  background: #183b3f;
  font: 500 13px/1.5 var(--font-body);
  text-decoration: none;
  transition: background .2s ease;
}
.rv-layout .sg-primary:hover { background: #2e5050; }

@media (max-width: 1000px) {

}
@media (max-width: 600px) {

.rv-layout .sg-primary { padding-inline: 20px; }

}
@media (prefers-reduced-motion: reduce) {
.sg-card, .sg-primary { transition: none; }
}
@media (max-width:700px) {

}

/* MEDLA: home-studio.css */
/* Shared ES/EN home composition. Original copy stays in the source template. */
.rv-layout.page-home .commit {
  padding-block: clamp(72px, 8vw, 122px);
  background: #f8f7f2;
  color: #132f35;
}
.rv-layout.page-home .commit__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 42px clamp(42px, 7vw, 104px);
  align-items: start;
}
.rv-layout.page-home .commit .section-title {
  max-width: 650px;
  margin: 0;
  font: 500 clamp(35px, 3.7vw, 55px)/1.15 var(--font-body);
  letter-spacing: -.045em;
  text-align: left;
  text-wrap: balance;
  color: #132f35;
}
.rv-layout.page-home .commit .section-title em {
  font-style: normal;
  color: #a47956;
}
.rv-layout.page-home .commit .section-lead {
  align-self: end;
  max-width: 46ch;
  margin: 0 0 4px;
  font: 400 clamp(16px, 1.3vw, 18px)/1.85 var(--font-body);
  color: #52615e;
}

/* The original centred quotation and portrait, without a scene behind them. */
.rv-layout.page-home .quote {
  display: block;
  min-height: 0;
  padding-block: clamp(64px, 7vw, 100px);
  background: #132f35;
  color: #f7f5ed;
}
.rv-layout.page-home .quote::after { content: none; display: none; }

/* Four service panels: a full-size local sculpture and a readable caption. */
.rv-layout.page-home .services {
  padding-block: clamp(76px, 8vw, 116px);
  background: #f5f3eb;
}

/* Existing brand marks keep their true colours in every interaction state. */
.rv-layout.page-home .partners img,
.rv-layout.page-home .partner img,
.rv-layout.page-home .partner:hover img,
.rv-layout.page-home .car--partners img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal;
}

@media (max-width: 1000px) {
.rv-layout.page-home .commit__wrap { gap: 34px 42px; }
.rv-layout.page-home .commit .section-title { font-size: 38px; }
.rv-layout.page-home .commit .section-lead { font-size: 16px; line-height: 1.8; }

}
@media (max-width: 700px) {
.rv-layout.page-home .commit__wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.rv-layout.page-home .commit .section-title { font-size: clamp(32px, 8.4vw, 43px); max-width: 16ch; }
.rv-layout.page-home .commit .section-lead { max-width: 56ch; }

.rv-layout.page-home .quote { min-height: 0; padding-block: 64px; }

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

}

/* MEDLA: shell-studio.css */
/* Shared shell: language stays available; the footer closes the conversation. */
.rv-layout .ss-header .rv-header__inner { gap: 18px; }
.rv-layout .ss-header .brand { flex: 0 0 74px; width: 74px; }
.rv-layout .ss-header-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  min-height: 44px;
}
/* Native disclosure keeps the language options available without JavaScript. */
.rv-layout .ss-header .brand,
.rv-layout .ss-header .brand img { background: transparent; border: 0; box-shadow: none; }
.rv-layout .ss-language { position: relative; margin: 0; color: inherit; }
.rv-layout .ss-language > summary,
.rv-layout .ss-client-portal {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 0;
  border-radius: 50%;
  color: inherit;
  background: transparent;
  cursor: pointer;
  list-style: none;
}
.rv-layout .ss-language > summary::-webkit-details-marker { display: none; }
.rv-layout .ss-language > summary::marker { content: ''; }
.rv-layout .ss-language > summary svg { display: block; width: 23px; height: 23px; }
.rv-layout .ss-client-portal { padding: 0; }
.rv-layout .ss-portal-mark { position: relative; display: block; width: 32px; height: 21px; overflow: hidden; }
.rv-layout .ss-portal-mark img { position: absolute; inset: 0 auto auto -12px; display: block; width: 56px; height: auto; max-width: none; margin: 0; padding: 0; background: transparent; filter: none; opacity: 1; }
.rv-layout .ss-language > summary:hover,
.rv-layout .ss-language[open] > summary,
.rv-layout .ss-client-portal:hover { background: #a6946a24; }
.rv-layout .ss-language__options {
  position: absolute;
  inset-block-start: calc(100% + 12px);
  inset-inline-end: 0;
  z-index: 60;
  width: 182px;
  padding: 7px;
  border: 1px solid #ded3b9;
  border-radius: 8px;
  background: #fbfaf6;
  box-shadow: 0 14px 36px #18383a18;
  color: #18383a;
}
.rv-layout .ss-language__options > a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 13px;
  border-radius: 4px;
  color: #18383a;
  font: 500 14px/1.5 var(--font-body);
  text-decoration: none;
  font-style: normal;
  letter-spacing: 0;
}
.rv-layout .ss-language__options > a[aria-current] { background: #efe3c4; font-weight: 600; }
.rv-layout .ss-language__options > a:hover { background: #f3ecd9; }
.rv-layout .ss-language__options > a[aria-current]:hover { background: #e9d9ad; }
.rv-layout .ss-header-tools :is(a, button, summary):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.rv-layout .ss-header .rv-nav { flex: 1 1 auto; justify-content: flex-end; gap: clamp(12px, 1.55vw, 24px); }
.rv-layout .ss-header .rv-nav-link { font-size: 12px; white-space: nowrap; }
.rv-layout .ss-header .rv-nav-cta { margin-left: 0; padding-inline: 17px; font-size: 11px; white-space: nowrap; }

.rv-layout .rv-footer.ss-footer {
  --ss-ink: #18383a;
  --ss-muted: #56615a;
  --ss-line: #cecfc1;
  position: relative;
  padding: 0;
  margin: 0;
  border: 0;
  background: #e9e8dc;
  color: var(--ss-ink);
  overflow: visible;
}
.rv-layout .rv-footer.ss-footer::before,
.rv-layout .rv-footer.ss-footer::after { display: none; content: none; }
.rv-layout .rv-footer.ss-footer > .rv-shell { position: relative; z-index: 1; }
.rv-layout .rv-footer.ss-footer :is(a, button, summary) { color: inherit; text-decoration: none; }
.rv-layout .rv-footer.ss-footer :is(a, button, summary):focus-visible { outline: 2px solid #765632; outline-offset: 4px; }
.rv-layout .rv-footer.ss-footer :is(a, button):hover { color: #765632; }
.rv-layout .rv-footer.ss-footer :is(h2, h3, p, ul, address) { margin: 0; }
.rv-layout .rv-footer.ss-footer :is(h2, h3) { font-family: var(--font-body); font-style: normal; }
.rv-layout .rv-footer.ss-footer ul { list-style: none; padding: 0; }
.rv-layout .ss-footer__lead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding-block: 36px 30px;
  border-bottom: 1px solid var(--ss-line);
}
.rv-layout .ss-footer__lead h2 {
  margin: 0 0 7px;
  color: var(--ss-ink);
  font-size: clamp(25px, 2.6vw, 36px);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -.04em;
}
.rv-layout .ss-footer__lead > div > a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.rv-layout .rv-footer.ss-footer .ss-footer__cta {
  flex: 0 0 auto;
  min-height: 48px;
  padding: 14px 23px;
  border: 1px solid var(--ss-ink);
  border-radius: 2px;
  background: var(--ss-ink);
  color: #faf8ef;
  font: 500 12px/1.5 var(--font-body);
  letter-spacing: 0;
  text-transform: none;
}
.rv-layout .rv-footer.ss-footer .ss-footer__cta:hover { background: #2d4c48; color: #faf8ef; }
.rv-layout .ss-footer__body {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(25px, 4.5vw, 65px);
  padding-block: 28px 24px;
}
.rv-layout .ss-footer__body > * { min-width: 0; }
.rv-layout .rv-footer.ss-footer h3 {
  margin-bottom: 13px;
  color: var(--ss-ink);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}
.rv-layout .ss-footer__services > ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.rv-layout .ss-footer__services li { min-width: 0; }
.rv-layout .ss-footer__services a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding-block: 6px;
  font-size: 12px;
  line-height: 1.5;
}
.rv-layout .ss-footer__services a:hover { text-decoration: underline; text-underline-offset: 4px; }

.rv-layout .rv-footer.ss-footer address { font-style: normal; font-size: 12px; line-height: 1.7; }
.rv-layout .rv-footer.ss-footer address p { margin-top: 9px; color: var(--ss-muted); font-size: 12px; line-height: 1.85; }
.rv-layout .rv-footer.ss-footer address > a { display: inline-flex; align-items: center; min-height: 32px; }

.rv-layout .ss-footer__meta {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 18px 24px;
  padding-block: 17px;
  border-top: 1px solid var(--ss-line);
}
.rv-layout .ss-footer__identity { display: flex; align-items: center; gap: 19px; min-width: 0; }
.rv-layout .ss-footer__brand { display: block; flex: 0 0 74px; width: 74px; }
.rv-layout .ss-footer__brand img { display: block; width: 74px; height: auto; filter: none; opacity: 1; }

.rv-layout .ss-footer__socials { justify-self: end; }
.rv-layout .ss-footer__socials nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0 3px; }
.rv-layout .ss-footer__socials a { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; border-radius: 50%; font-size: 10px; line-height: 1.5; transition: background-color .2s ease, color .2s ease; }
.rv-layout .ss-footer__socials a:hover { background: #18383a0b; }
.rv-layout .ss-footer__socials svg { display: block; width: 20px; height: 20px; }
.rv-layout .ss-footer__seals { display: flex; align-items: center; gap: 16px; padding-inline-start: 22px; border-inline-start: 1px solid var(--ss-line); }
.rv-layout .ss-footer__seals img { display: block; width: auto; height: 58px; max-height: none; padding: 0; background: transparent; border-radius: 0; object-fit: contain; mix-blend-mode: multiply; }
.rv-layout .ss-footer__seals img.rv-aec { width: 134px; height: auto; max-height: 40px; }
.rv-layout .ss-footer__legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 22px;
  padding-block: 11px 15px;
  border-top: 1px solid var(--ss-line);
  color: var(--ss-muted);
  font-size: 9px;
  line-height: 1.6;
}
.rv-layout .ss-footer__legal nav { display: flex; align-items: center; flex-wrap: wrap; gap: 0 20px; }
.rv-layout .ss-footer__legal :is(a, button) { display: inline-flex; align-items: center; min-height: 36px; padding: 0; background: transparent; font: inherit; }

@media (max-width: 1100px) {
.rv-layout .ss-header .rv-header__inner { min-height: 82px; height: 82px; gap: 16px; }
.rv-layout .ss-header { min-height: 82px; }
.rv-layout .ss-header .brand,
  .rv-layout .ss-header .brand img { width: 66px; flex-basis: 66px; }
.rv-layout .ss-header-tools { margin-left: auto; }
.rv-layout .ss-header .rv-nav-toggle { display: flex; flex-direction: column; justify-content: center; gap: 7px; width: 44px; height: 44px; padding: 11px; }
.rv-layout .ss-header .rv-nav-toggle span { display: block; width: 20px; height: 1px; background: currentColor; }
.rv-layout .ss-header .rv-nav {
    display: none;
    position: fixed;
    inset: 82px 0 0;
    height: calc(100dvh - 82px);
    overflow-y: auto;
    overscroll-behavior: contain;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 22px var(--rv-gutter) 70px;
    background: #f7f6f2;
    color: #18383a;
  }
.rv-layout .ss-header .rv-nav.is-open { display: flex; }
.rv-layout .ss-header .rv-nav .rv-nav-link { padding-block: 15px; font: 500 23px/1.4 var(--font-body); color: #18383a; border-bottom: 1px solid #d4d5c9; }
.rv-layout .ss-header .rv-nav-link::after { display: none; }
.rv-layout .ss-header .rv-nav-area { display: grid; grid-template-columns: minmax(0, 1fr) 45px; gap: 0; }
.rv-layout .ss-header .rv-mega-toggle { width: 45px; height: 63px; border-bottom: 1px solid #d4d5c9; color: #18383a; }
.rv-layout .ss-header .rv-mega { position: static; grid-column: 1 / -1; width: 100%; padding: 0; background: #edece2; border: 0; box-shadow: none; }

.rv-layout .ss-header .rv-nav-cta { margin: 23px 0 0; align-self: flex-start; padding: 15px 22px; font-size: 12px; }
.rv-layout.rv-nav-is-open { overflow: hidden; }
html:not(.js) .rv-layout .ss-header { position: relative; }
html:not(.js) .rv-layout .ss-header .rv-header__inner { height: auto; flex-wrap: wrap; }
html:not(.js) .rv-layout .ss-header .rv-nav { display: flex; position: static; height: auto; flex: 1 1 100%; flex-direction: row; flex-wrap: wrap; gap: 0 20px; padding: 0 0 12px; overflow: visible; }
html:not(.js) .rv-layout .ss-header .rv-nav .rv-nav-link { font-size: 13px; border: 0; }
html:not(.js) .rv-layout .ss-header .rv-nav-toggle { display: none; }
.rv-layout .ss-footer__body { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); gap: 25px; }
.rv-layout .ss-footer__meta { grid-template-columns: 1fr auto; gap: 8px 22px; }
.rv-layout .ss-footer__socials { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 700px) {
.rv-layout .ss-footer__lead { align-items: flex-start; flex-direction: column; gap: 12px; padding-block: 28px 25px; }
.rv-layout .ss-footer__lead h2 { font-size: clamp(25px, 6.5vw, 33px); max-width: 17ch; }
.rv-layout .ss-footer__lead > div > a { font-size: 13px; }
.rv-layout .ss-footer__body { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 22px; padding-block: 24px; }
.rv-layout .ss-footer__services { grid-column: 1 / -1; }
.rv-layout .ss-footer__services > ul { gap: 0 22px; }
.rv-layout .ss-footer__services a { min-height: 40px; font-size: 12px; }
.rv-layout .rv-footer.ss-footer address { font-size: 11px; }
.rv-layout .rv-footer.ss-footer address p { font-size: 11px; line-height: 1.8; }
.rv-layout .rv-footer.ss-footer h3 { font-size: 11px; margin-bottom: 9px; }
.rv-layout .ss-footer__meta { grid-template-columns: 1fr auto; gap: 8px 16px; padding-block: 15px; }
.rv-layout .ss-footer__identity { grid-column: 1 / -1; }

.rv-layout .ss-footer__socials { grid-column: 2; grid-row: 2; justify-self: end; }
.rv-layout .ss-footer__socials nav { flex-wrap: nowrap; gap: 0; }
.rv-layout .ss-footer__brand,
  .rv-layout .ss-footer__brand img { width: 64px; flex-basis: 64px; }
.rv-layout .ss-footer__seals { gap: 12px; padding-inline-start: 16px; }
.rv-layout .ss-footer__seals img { height: 51px; }
.rv-layout .ss-footer__seals img.rv-aec { width: 116px; }
.rv-layout .ss-footer__legal { gap: 3px; padding-bottom: 20px; }
.rv-layout .ss-footer__legal > span { width: 100%; }
.rv-layout .ss-footer__legal nav { gap: 0 16px; }
.rv-layout .ss-footer__legal :is(a, button) { min-height: 38px; }
}
@media (max-width: 420px) {
.rv-layout .ss-header .rv-header__inner { width: calc(100% - max(18px, env(safe-area-inset-left, 0px)) - max(18px, env(safe-area-inset-right, 0px))); gap: 10px; }
.rv-layout .ss-header .brand,
  .rv-layout .ss-header .brand img { width: 60px; flex-basis: 60px; }
.rv-layout .ss-header-tools { gap: 8px; }

}
/* Compact does not mean small print. Keep secondary navigation readable. */
.rv-layout .ss-footer__services a { min-height: 40px; font-size: 13px; }
.rv-layout .ss-footer__services .wf-footer-directory a,
.rv-layout .ss-footer__more summary,
.rv-layout .ss-footer__more li > a,
.rv-layout .ss-footer__socials a,
.rv-layout .rv-footer.ss-footer address > .rv-footer__map { font-size: 12px; }
.rv-layout .ss-footer__legal { font-size: 11px; }
@media (prefers-reduced-motion: reduce) {
.rv-layout .rv-footer.ss-footer .ss-footer__cta { transition: none; transform: none; }
.rv-layout .ss-footer__socials a { transition: none; }
}

.rv-layout .ss-office-channels { display: flex; align-items: flex-start; flex-direction: column; }
.rv-layout .ss-office-channels > a { display: inline-flex; align-items: center; min-height: 36px; font-weight: 500; line-height: 1.6; }
.rv-layout .rv-footer.ss-footer address .ss-office-note { margin-top: 6px; font-size: 11px; line-height: 1.65; }
@media (min-width: 1101px) {
.rv-layout .ss-header-tools { order: 3; gap: 4px; }
.rv-layout .ss-header .rv-nav { order: 2; }
}
@media (max-width: 420px) {
.rv-layout .ss-language__options { inset-inline-end: -48px; }
.rv-layout .ss-footer__identity { gap: 16px; }
.rv-layout .ss-footer__seals { gap: 10px; padding-inline-start: 14px; }
}
.rv-layout .ss-office-country { display: flex; align-items: center; gap: 9px; }
.rv-layout .ss-country-flag { flex: none; display: inline-flex; width: auto; height: 36px; overflow: visible; border-radius: 0; outline: 1px solid #18383a14; box-shadow: 0 1px 2px #18383a10; }
.rv-layout .ss-country-flag img { display: block; width: auto; height: 100%; max-width: none; object-fit: contain; border-radius: 0; filter: none; opacity: 1; }
.rv-layout .ss-footer__legal .ss-footer__tax-id { display: inline; margin-inline-start: 12px; white-space: nowrap; text-decoration: underline; text-decoration-color: #a7ab9f; text-underline-offset: 3px; }
@media (min-width: 901px) {
.rv-layout .ss-footer__meta { grid-template-columns: 1fr auto auto; }
.rv-layout .ss-footer__socials { grid-column: auto; justify-self: end; }
}
@media (max-width: 360px) {
.rv-layout .ss-footer__brand,
  .rv-layout .ss-footer__brand img { width: 58px; flex-basis: 58px; }
.rv-layout .ss-footer__seals { gap: 8px; padding-inline-start: 12px; }
.rv-layout .ss-footer__seals img { height: 46px; }
.rv-layout .ss-footer__seals img.rv-aec { width: 100px; }
.rv-layout .ss-footer__socials { grid-column: 1 / -1; grid-row: auto; justify-self: start; }
}
/* Office names sit below their flags; the identity row has enough space to read. */
.rv-layout .ss-office-country { flex-direction:column; align-items:flex-start; gap:10px; }
.rv-layout .rv-footer.ss-footer h3.ss-office-country { font-size:17px; margin-bottom:18px; }
.rv-layout .ss-country-flag--es { width: 54px; }
.rv-layout .ss-country-flag--mx { width: 63px; }
.rv-layout .ss-footer__meta { grid-template-columns:1fr auto; gap:18px 24px; padding-block:28px; }
.rv-layout .ss-footer__identity { grid-column:1 / -1; gap:28px; }
.rv-layout .ss-footer__brand,.rv-layout .ss-footer__brand img { width:94px; flex-basis:94px; }
.rv-layout .ss-footer__seals { gap:28px; padding-inline-start:28px; }
.rv-layout .ss-footer__seals img { height:76px; }
.rv-layout .ss-footer__seals img.rv-aec { width:220px; height:auto; max-height:86px; mix-blend-mode:normal; }
.rv-layout .ss-footer__socials { grid-column:2; justify-self:end; }
@media(max-width:700px){
.rv-layout .ss-footer__identity { flex-wrap:wrap; gap:18px; }
.rv-layout .ss-footer__brand,.rv-layout .ss-footer__brand img { width:70px; flex-basis:70px; }
.rv-layout .ss-footer__seals { gap:14px; padding-inline-start:16px; flex-wrap:wrap; }
.rv-layout .ss-footer__seals img { height:58px; }
.rv-layout .ss-footer__seals img.rv-aec { width:138px; max-height:60px; }
.rv-layout .ss-footer__socials { grid-column:1 / -1; justify-self:start; }
}

.rv-layout .ss-language__options > a { direction:ltr; justify-content:flex-start; text-align:left; }

/* Privacy purposes share a compact shell; each external service keeps its own choice. */
.rv-layout .consent-dialog { width: 650px; border-radius: 18px; padding: 30px; background: #f8f6ef; }
.rv-layout .consent-dialog h2 { margin: 0 32px 12px 0; font-size: 30px; line-height: 1.2; }
.rv-layout .consent-dialog > p { font-size: 12px; line-height: 1.7; margin-bottom: 20px; }
.rv-layout .consent-dialog .consent-close { width: 40px; height: 40px; border-radius: 50%; left: auto; right: auto; inset-inline-end: 10px; top: 9px; }
.rv-layout .consent-dialog .consent-close:hover { background: #142d370b; }
.rv-layout .consent-categories { display: grid; gap: 10px; margin-block: 18px; }
.rv-layout .consent-dialog .consent-category { margin: 0; padding: 17px 18px; border: 1px solid #d6d8cf; border-radius: 12px; background: #fffdf8; }
.rv-layout .consent-dialog .consent-category--necessary { background: #eeeede; border-color: #dbddce; }
.rv-layout .consent-dialog .consent-option { align-items: flex-start; gap: 18px; }
.rv-layout .consent-dialog .consent-option > div { min-width: 0; }
.rv-layout .consent-dialog .consent-option h3,
.rv-layout .consent-dialog .consent-category__title { display: block; margin: 0 0 5px; color: #142d37; font: 600 14px/1.5 var(--font-body); }
.rv-layout .consent-dialog .consent-option p,
.rv-layout .consent-dialog .consent-category__description { margin: 0; color: #4b5c5b; font: 400 12px/1.7 var(--font-body); }
.rv-layout .consent-dialog .consent-option a { color: #254949; text-underline-offset: 3px; }
.rv-layout .consent-dialog .consent-essential { flex: 0 0 auto; max-width: 82px; padding: 5px 9px; border-radius: 8px; background: #fffdf8b3; color: #405342; font: 500 10px/1.45 var(--font-body); text-align: center; }
.rv-layout .consent-dialog .consent-category--attention { padding: 0; overflow: hidden; }
.rv-layout .consent-dialog .consent-category > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 74px; padding: 17px 18px; cursor: pointer; list-style: none; }
.rv-layout .consent-dialog .consent-category > summary::-webkit-details-marker { display: none; }
.rv-layout .consent-dialog .consent-category > summary::after { display: none; }
.rv-layout .consent-dialog .consent-category > summary:hover { background: #e9e4d233; }
.rv-layout .consent-dialog .consent-category__copy { min-width: 0; }
.rv-layout .consent-dialog .consent-category__description { display: block; }
.rv-layout .consent-dialog .consent-category__toggle { position: relative; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid #d1d6c8; border-radius: 50%; color: #53634f; }
.rv-layout .consent-dialog .consent-category__toggle::before,
.rv-layout .consent-dialog .consent-category__toggle::after { content: ''; position: absolute; inset: 50% auto auto 50%; width: 10px; height: 1px; background: currentColor; transform: translate(-50%, -50%); }
.rv-layout .consent-dialog .consent-category__toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.rv-layout .consent-dialog .consent-category[open] .consent-category__toggle::after { display: none; }
.rv-layout .consent-dialog .consent-category__options { padding: 0 18px; }
.rv-layout .consent-dialog .consent-category__options .consent-option { padding: 17px 0; }
.rv-layout .consent-dialog .consent-option input[role='switch'] { appearance: none; position: relative; margin: 2px 0 0; width: 42px; height: 26px; flex: 0 0 42px; border: 1px solid #a4ada1; border-radius: 20px; background: #e1e4dc; cursor: pointer; }
.rv-layout .consent-dialog .consent-option input[role='switch']::before { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fffdf8; box-shadow: 0 1px 3px #142d3733; transition: transform .16s ease; }
.rv-layout .consent-dialog .consent-option input[role='switch']:checked { background: #234d4d; border-color: #234d4d; }
.rv-layout .consent-dialog .consent-option input[role='switch']:checked::before { transform: translateX(16px); }
.rv-layout .consent-dialog :is(summary, button, a, input):focus-visible { outline: 2px solid #8a7245; outline-offset: 4px; }
.rv-layout .consent-dialog .consent-category > summary:focus-visible { outline-offset: -4px; border-radius: 11px; }
.rv-layout .consent-dialog > .consent-note { border: 0; padding-top: 0; font-size: 11px !important; line-height: 1.7; color: #58645c; }
.rv-layout .consent-dialog .consent-save { border-radius: 8px; min-height: 46px; }
.rv-layout .consent-dialog > .consent-links { justify-content: space-between; gap: 8px 20px; margin-top: 12px; }
.rv-layout .consent-dialog > .consent-links button { min-height: 36px; }
.rv-layout .consent-banner { border-radius: 14px; }
.rv-layout .consent-banner > p { font-size: 12px; line-height: 1.7; }
.rv-layout .consent-banner .consent-actions .btn { border-radius: 8px; font-size: 11px; }
@media (max-width: 650px) {
.rv-layout .consent-dialog { padding: 27px 18px 20px; border-radius: 15px; max-width: calc(100vw - 24px); }
.rv-layout .consent-dialog h2 { font-size: 26px; }
.rv-layout .consent-dialog .consent-category { padding: 15px; }
.rv-layout .consent-dialog .consent-category--attention { padding: 0; }
.rv-layout .consent-dialog .consent-category > summary { padding: 15px; }
.rv-layout .consent-dialog .consent-category__options { padding-inline: 15px; }
.rv-layout .consent-dialog .consent-option { gap: 12px; }
.rv-layout .consent-dialog .consent-essential { max-width: 62px; padding: 5px 6px; }
.rv-layout .consent-banner { max-height: calc(100dvh - 24px); overflow-y: auto; padding: 22px; }
.rv-layout .consent-banner .consent-actions .btn { min-height: 46px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
.rv-layout .consent-dialog .consent-option input[role='switch']::before { transition: none; }
}
@media (forced-colors: active) {
.rv-layout .consent-dialog .consent-option input[role='switch'] { appearance: auto; }
.rv-layout .consent-dialog .consent-option input[role='switch']::before { display: none; }
}

.rv-layout .consent-help { margin: 14px 0 18px; color: #58645c; font-size: 11px; line-height: 1.7; }
.rv-layout .consent-help > summary { cursor: pointer; padding-block: 9px; font-size: 12px; color: #254949; }
.rv-layout .consent-help > p { font-size: 11px; line-height: 1.7; margin: 8px 0; }

/* Explain the chat-only action before the first click, including on touch screens. */
.rv-layout .consent-chat-notice { position: fixed; z-index: 9990; right: 80px; bottom: 20px; width: 228px; max-width: calc(100vw - 100px); padding: 12px 14px; border: 1px solid #d4d8cb; border-radius: 12px; background: #f8f6ef; color: #264249; box-shadow: 0 4px 18px #142d3712; font: 400 11px/1.6 var(--font-body); }
.rv-layout .consent-chat-notice p { margin: 0 0 6px; font: inherit; }
.rv-layout .consent-chat-notice > div { display: flex; justify-content: space-between; gap: 16px; }
.rv-layout :is(.consent-chat-notice,.ss-footer__chat-notice) :is(a,button) { color: inherit; background: none; border: 0; padding: 0; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rv-layout :is(.consent-chat-notice,.ss-footer__chat-notice) :is(a,button):focus-visible { outline: 2px solid #8a7245; outline-offset: 3px; }

.rv-layout :is(.consent-chat-notice,.ss-footer__chat-notice)[hidden] { display: none; }
body:has(.mform:focus-within) .consent-chat-notice { visibility: hidden; pointer-events: none; }
@media(max-width:650px){.rv-layout .consent-chat-notice { right: 70px; bottom: 15px; width: 218px; max-width: calc(100vw - 85px); padding: 10px 12px; }}

/* Shared navigation: one appointment action and a native resources disclosure. */
.rv-layout .ss-resources { position: relative; }
.rv-layout .ss-resources > summary {
  display: flex; align-items: center; gap: 5px; min-height: 44px;
  padding: 0; color: inherit; font: 500 12px/1.5 var(--font-body);
  cursor: pointer; list-style: none;
}
.rv-layout .ss-resources > summary::-webkit-details-marker { display: none; }
.rv-layout .ss-resources > summary svg { width: 14px; height: 14px; }
.rv-layout .ss-resources[open] > summary svg { transform: rotate(180deg); }
.rv-layout .ss-resources__options {
  position: absolute; z-index: 65; inset-block-start: calc(100% + 8px); inset-inline-start: -16px;
  min-width: 180px; padding: 8px; border: 1px solid #d9d7c9; border-radius: 8px;
  background: #fbfaf6; color: #18383a; box-shadow: 0 16px 40px #142d2f12;
}
.rv-layout .ss-resources:not([open]) > .ss-resources__options { display: none; }
.rv-layout .ss-resources__options a { display: flex; align-items: center; min-height: 44px; padding: 10px 13px; border-radius: 4px; font-size: 13px; }
.rv-layout .ss-resources__options a:hover,
.rv-layout .ss-resources__options a[aria-current="page"] { background: #e9dfc55c; }
.rv-layout :is(.ss-resources, .ss-footer__navigation) :is(a, summary):focus-visible { outline: 2px solid #a89059; outline-offset: 4px; }

/* Three visible footer groups share the same heading and four-link rhythm. */
.rv-layout .ss-footer__navigation {
  display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px 52px; padding-block: 28px; border-bottom: 1px solid var(--ss-line);
}
.rv-layout .ss-footer__group { min-width: 0; margin: 0; }
.rv-layout .ss-footer__group > h3 {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 44px; margin: 0 0 5px; padding: 0; color: var(--ss-ink);
  font: 600 13px/1.5 var(--font-body); list-style: none;
}
.rv-layout .ss-footer__group ul { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; list-style: none; margin: 0; padding: 0; }
.rv-layout .ss-footer__group a { display: inline-flex; align-items: center; min-height: 40px; font: 400 13px/1.5 var(--font-body); text-decoration: none; }
.rv-layout .ss-footer__group a:hover { text-decoration: underline; text-underline-offset: 4px; }
.rv-layout .ss-footer__body { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 64px; }
.rv-layout .ss-footer__meta { grid-template-columns: minmax(0, 1fr) auto; }
.rv-layout .ss-footer__socials { grid-column: 2; grid-row: 1; justify-self: end; }
@media (max-width: 1100px) {
.rv-layout .ss-resources > summary { min-height: 63px; padding-block: 15px; border-bottom: 1px solid #d4d5c9; font: 500 23px/1.4 var(--font-body); justify-content: space-between; }
.rv-layout .ss-resources > summary svg { width: 20px; height: 20px; margin-inline-end: 12px; }
.rv-layout .ss-resources__options { position: static; min-width: 0; padding: 8px 18px; border: 0; border-radius: 0; box-shadow: none; background: #edece2; }
.rv-layout .ss-resources__options a { min-height: 48px; padding-inline: 0; font-size: 15px; }
html:not(.js) .rv-layout .ss-resources > summary { font-size: 13px; min-height: 44px; border: 0; }
.rv-layout .ss-footer__navigation { gap: 24px 28px; }
}
@media (max-width: 700px) {
.rv-layout .ss-footer__navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 22px; padding-block: 20px; }
.rv-layout .ss-footer__services { grid-column: 1 / -1; padding-bottom: 12px; border-bottom: 1px solid var(--ss-line); }
.rv-layout .ss-footer__services ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; }
.rv-layout .ss-footer__body { gap: 25px 22px; }
.rv-layout .ss-footer__identity { grid-column: 1 / -1; }
.rv-layout .ss-footer__socials { grid-column: 1 / -1; grid-row: auto; justify-self: start; }
}

/* Ask for chat consent only at the point of opening the assistant. */
.rv-layout .consent-chat-notice { width: 280px; font-size: 12px; }
.rv-layout .consent-chat-notice > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; align-items: center; }
.rv-layout .consent-chat-notice [data-chat-accept] { grid-column: 1 / -1; padding: 10px 14px; min-height: 42px; border-radius: 20px; background: #183f45; color: #fffdf6; text-decoration: none; }
.rv-layout .consent-chat-notice [data-chat-reject] { text-align: end; }
.rv-layout .consent-chat-launcher .consent-chat-mark,
.rv-layout .consent-chat-launcher .consent-chat-badge { display: block; }

/* MEDLA: studio-motion.css */
/* One motion language. No preload screen, scroll interception or hidden content. */
@media (prefers-reduced-motion: no-preference) {
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: studio-page-out 140ms ease-out both; }
::view-transition-new(root) { animation: studio-page-in 230ms ease-out both; }
}
@keyframes studio-page-out { to { opacity: 0; } }
@keyframes studio-page-in { from { opacity: 0; } to { opacity: 1; } }

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

}

/* MEDLA: launch-home.css */
/* Madrid in daylight, with a quiet, readable left-hand composition. */
/* Home content is visible before scripts or web fonts finish loading. */
.rv-layout.page-home .curtain { display: none !important; }
.rv-layout.page-home :is(.site-header,.hero__tag,.hero__lead,.hero .btn--lg,.hero__title .wi) { opacity: 1 !important; transform: none !important; }
.rv-layout.page-home .hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 670px; height: auto; padding: 0; background: #faf9f3; color: #173b3f; overflow: hidden; }
.rv-layout.page-home .hero__media { position: absolute; inset: 0; width: auto; transform: none !important; clip-path: none; }
.rv-layout.page-home .hero__media::after { content: none; }
.rv-layout.page-home .hero__poster,.rv-layout.page-home .hero__film { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; filter: none; opacity: 1; }
.rv-layout.page-home .hero__veil { background: linear-gradient(90deg,#faf9f3f5 0%,#faf9f3eb 24%,#faf9f3c4 41%,#faf9f34a 58%,#faf9f300 78%); }
.rv-layout.page-home .hero__content { grid-column: 1; position: relative; z-index: 2; align-self: center; width: auto; max-width: none; margin: 0; padding: 90px 0 90px max(var(--rv-gutter),calc((100vw - var(--rv-max))/2)); transform: none !important; opacity: 1 !important; }
.rv-layout.page-home .hero__title { width: auto; max-width: 650px; margin: 0 0 28px; color: #173b3f; font: 500 clamp(45px,4.7vw,72px)/1.08 var(--font-body); letter-spacing: -.055em; text-wrap: balance; }
.rv-layout.page-home .hero__title .lh-accent { color: #957c54; font-style: normal; }
.rv-layout.page-home .hero__title { max-width: 650px; font-size: clamp(42px,4.1vw,64px); }
.rv-layout.page-home .hero__tag { margin: 0 0 18px; padding: 0; max-width: 440px; color: #465e54; font: 500 12px/1.7 var(--font-body); letter-spacing: .02em; text-transform: none; }
.rv-layout.page-home .hero__tag::before { display: none; }
.rv-layout.page-home .hero__lead { margin: 0 0 30px; width: auto; max-width: 43ch; padding-right: 26px; color: #52645e; font: 400 15px/1.9 var(--font-body); }
.rv-layout.page-home .hero__actions { align-items: flex-start; flex-direction: column; gap: 11px; }
.rv-layout.page-home .hero .btn { min-height: 52px; min-width: 0; padding: 17px 25px; background: #193f43; border-color: #193f43; color: #fffdf5; font-size: 13px; }

.rv-layout.page-home .hero::before,.rv-layout.page-home .hero::after { content: none; }
.rv-layout.page-home .ss-header { position: sticky; top: 0; background: #faf9f3; color: #173b3f; border-bottom: 1px solid #d9dccf; backdrop-filter: none; }
.rv-layout.page-home .ss-header .rv-nav-link,.rv-layout.page-home .ss-header .rv-nav-toggle { color: #173b3f; }
.rv-layout.page-home .ss-header .brand img { filter: none; }

.rv-layout.page-home .partner { background: transparent; }
.rv-layout.page-home .car--partners img { mix-blend-mode: normal; }
.brand-entry { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; background: #fff; pointer-events: none; animation: brand-entry-leave 1.25s both; }

@keyframes brand-entry-mark { from { clip-path: inset(0 100% 42% 0); } to { clip-path: inset(0 0 42% 0); } }
@keyframes brand-entry-name { from { opacity: 0; translate: 0 5px; } to { opacity: 1; translate: 0 0; } }
@keyframes brand-entry-leave { 0%,72% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
@media(max-width:1000px) {.rv-layout.page-home .hero { min-height: 640px; }.rv-layout.page-home .hero__title { font-size: 46px; }.rv-layout.page-home .hero__lead { font-size: 14px; }}
@media(max-width:700px) {
.rv-layout.page-home .hero { display: flex; flex-direction: column; min-height: 0; padding: 0; }
.rv-layout.page-home .hero__content { order: 1; padding: 38px var(--rv-gutter) 32px; width: 100%; }
.rv-layout.page-home .hero__media { order: 2; position: relative; inset: auto; width: 100%; height: 295px; }
.rv-layout.page-home .hero__veil { display: none; }
.rv-layout.page-home .hero__title { font-size: clamp(38px,10.7vw,56px); max-width: 15ch; margin-bottom: 22px; }
.rv-layout.page-home .hero__lead { max-width: 48ch; padding: 0; font-size: 14px; line-height: 1.8; margin-bottom: 24px; }
.rv-layout.page-home .hero__actions { flex-direction: row; flex-wrap: wrap; gap: 8px 22px; align-items: center; }
.rv-layout.page-home .hero__tag { font-size: 11px; }

}
@media(prefers-reduced-motion:reduce) {.brand-entry { display: none; }}
/* The bright home overrides the earlier cinematic header in both scroll states. */
.rv-layout.page-home:not(.rv-nav-is-open) .rv-header:not(.is-scrolled) :is(.rv-nav-link,.rv-nav-toggle,.rv-mega-toggle) { color: #173b3f; border-color: #bdc6ba; }
.rv-layout.page-home .rv-header:not(.is-scrolled) .rv-nav-toggle span { background: currentColor; }
.rv-layout.page-home .hero :is(a,button,summary):focus-visible { outline:2px solid #173b3f; outline-offset:5px; }
.rv-layout.page-home .hero__film { opacity:0; transition:opacity .6s ease; }
.rv-layout.page-home .hero__film.is-ready { opacity:1; }
@media(prefers-reduced-motion:reduce) {.rv-layout.page-home .hero__film { opacity:0; transition:none; }}
/* The two contact controls share one edge and leave room for mobile safe areas. */
.rv-layout { --contact-size:48px; --contact-gap:12px; --contact-edge:max(18px,env(safe-area-inset-right)); --contact-bottom:calc(18px + env(safe-area-inset-bottom)); --contact-panel-bottom:calc(var(--contact-bottom) + 2 * (var(--contact-size) + var(--contact-gap))); }
.rv-layout .consent-chat-launcher,
.rv-layout .wa-fab { position:fixed; top:auto; width:var(--contact-size); height:var(--contact-size); min-height:var(--contact-size); padding:0; border-radius:50%; inset-inline:auto; right:var(--contact-edge); box-sizing:border-box; box-shadow:0 5px 18px #173b3f24; transform:none; translate:none; rotate:none; scale:1; animation:none; transition:none; }
.rv-layout .wa-fab { bottom:var(--contact-bottom); border:1px solid transparent; }
.rv-layout .consent-chat-launcher { gap:0; justify-content:center; bottom:calc(var(--contact-bottom) + var(--contact-size) + var(--contact-gap)); background:#173b3f; color:#fffdf5; }
.rv-layout :is(.consent-chat-launcher,.wa-fab):is(:hover,:active) { scale:1; }
.rv-layout :is(.consent-chat-launcher,.wa-fab):focus-visible { outline:2px solid #ad9565; outline-offset:4px; }
.rv-layout .consent-chat-mark { position:relative; display:block; width:32px; height:27px; overflow:hidden; }
.rv-layout .consent-chat-mark img { position:absolute; inset:0 auto auto -12px; display:block; width:56px; height:auto; max-width:none; margin:0; padding:0; background:transparent; }
.rv-layout .consent-chat-badge { position:absolute; display:block; font:600 9px/1 var(--font-body); background:#d8cba6; color:#173b3f; padding:4px; border-radius:6px; right:-2px; top:-2px; }
.medla-ai { position:fixed; z-index:9100; right:var(--contact-edge); bottom:var(--contact-panel-bottom); width:min(380px,calc(100vw - var(--contact-edge) - max(18px,env(safe-area-inset-left)))); height:min(580px,calc(100dvh - var(--contact-panel-bottom) - max(18px,env(safe-area-inset-top)))); background:#faf9f3; border:1px solid #d6d5c7; border-radius:20px; box-shadow:0 16px 55px #173b3f28; display:flex; flex-direction:column; overflow:hidden; color:#173b3f; }
.rv-layout .consent-chat-notice { right:var(--contact-edge); bottom:var(--contact-panel-bottom); max-width:calc(100vw - var(--contact-edge) - max(18px,env(safe-area-inset-left))); max-height:calc(100dvh - var(--contact-panel-bottom) - max(18px,env(safe-area-inset-top))); overflow-y:auto; overscroll-behavior:contain; }
@media(prefers-reduced-motion:reduce) {.rv-layout :is(.consent-chat-launcher,.wa-fab) { transition:none; }}
.medla-ai[hidden] { display:none; }
.medla-ai header { display:flex; flex:none; gap:12px; padding:19px 18px 15px; align-items:center; border-bottom:1px solid #dddccf; }
.medla-ai header strong { font:500 17px/1.4 var(--font-body); }
.medla-ai header p { font:400 11px/1.5 var(--font-body); margin:4px 0 0; }
.medla-ai header button { border:0; background:transparent; color:inherit; margin-left:auto; min-width:40px; height:40px; font-size:26px; cursor:pointer; }
.medla-ai iframe { border:0; flex:1; min-height:0; width:100%; overscroll-behavior:contain; }

.medla-ai__note { flex:none; margin:0; padding:12px 18px; font:400 10px/1.6 var(--font-body); color:#56675e; border-top:1px solid #dddccf; }
.medla-ai__note a { display:inline-block; color:#173b3f; text-decoration:underline; text-underline-offset:3px; padding-block:4px; }
/* The media spans both grid columns so the light veil has no hard seam. */
.rv-layout.page-home .hero__media { grid-column:1 / -1; grid-row:1; }
.rv-layout.page-home .hero__poster,.rv-layout.page-home .hero__film { transform:none !important; animation:none; }

/* Longer, specific action labels get their own line below each service. */

.rv-layout.page-home .atlas h2 { max-width: 10ch; font-size: clamp(41px,4.6vw,66px); line-height: 1.1; }
@media(max-width:700px) {
.rv-layout.page-home .hero__title { max-width: 17ch; font-size: clamp(36px,9.4vw,52px); }

.rv-layout.page-home .atlas h2 { max-width: 15ch; }

}

/* The city image blends into the paper, with an opaque reading area. */
.rv-layout.page-home .commit--editorial {
 position:relative; min-height:clamp(610px,48vw,740px);
 display:flex; align-items:center; padding-block:clamp(64px,7vw,102px);
 background:#f8f7f2; color:#173b3f;
}
.rv-layout.page-home .commit--editorial .commit__wrap {
 position:relative; z-index:1; display:flex; flex-direction:row; align-items:center; justify-content:flex-start;
}
.rv-layout.page-home .commit--editorial .commit__intro {
 min-width:0; width:52%; max-width:590px;
}
.rv-layout.page-home .commit__eyebrow {
 margin:0 0 24px; color:#6d5d3e;
 font:500 12px/1.5 var(--font-body); letter-spacing:.025em;
}
.rv-layout.page-home .commit--editorial .section-title {
 max-width:18ch; margin:0; color:#173b3f;
 font:500 clamp(35px,3.5vw,51px)/1.14 var(--font-body);
 letter-spacing:-.045em; text-align:start; text-wrap:balance;
}
.rv-layout.page-home .commit--editorial .section-title span {
 display:block; color:#947c53; margin-top:8px;
}
.rv-layout.page-home .commit--editorial .section-lead {
 max-width:43ch; margin:28px 0 0;
 color:#59685f; font:400 16px/1.85 var(--font-body); text-align:start;
}
.rv-layout.page-home .commit__agreement {
 max-width:40ch; margin:20px 0 0;
 color:#59685f; font:400 14px/1.75 var(--font-body);
}
.rv-layout.page-home .commit__link {
 display:inline-flex; align-items:center;
 min-height:44px; margin-top:23px; padding-block:7px;
 border-bottom:1px solid #aa966d; color:#173b3f;
 font:500 14px/1.5 var(--font-body); text-decoration:none;
 transition:color .2s,border-color .2s;
}
.rv-layout.page-home .commit__link:hover { color:#897249; border-color:#173b3f; }
.rv-layout.page-home .commit__link:focus-visible { outline:2px solid #173b3f; outline-offset:6px; }
.rv-layout.page-home .commit__visual {
 position:absolute; z-index:0; inset:0; width:100%; height:100%;
 min-width:0; margin:0; overflow:hidden; pointer-events:none;
}
.rv-layout.page-home .commit__photo {
 display:block; width:100%; height:100%; max-width:none;
 object-fit:cover; object-position:center 54%; filter:saturate(.65);
}
.rv-layout.page-home .commit__visual::after {
 content:""; position:absolute; inset:0;
 background:linear-gradient(90deg,#f8f7f2 0%,#f8f7f2 35%,#f8f7f2f7 46%,#f8f7f2d9 54%,#f8f7f25c 65%,#f8f7f200 80%),
 linear-gradient(180deg,#f8f7f2 0%,#f8f7f200 18%,#f8f7f200 80%,#f8f7f2 100%);
}
html[dir="rtl"] .rv-layout.page-home .commit__visual::after {
 background:linear-gradient(270deg,#f8f7f2 0%,#f8f7f2 35%,#f8f7f2f7 46%,#f8f7f2d9 54%,#f8f7f25c 65%,#f8f7f200 80%),
 linear-gradient(180deg,#f8f7f2 0%,#f8f7f200 18%,#f8f7f200 80%,#f8f7f2 100%);
}
html[lang="ar"] .rv-layout.page-home .commit--editorial .section-title,
html[lang="zh-Hans"] .rv-layout.page-home .commit--editorial .section-title {
 letter-spacing:normal; line-height:1.3;
}
@media(max-width:980px) {
.rv-layout.page-home .commit--editorial .section-title { font-size:clamp(31px,4.1vw,40px); }
.rv-layout.page-home .commit--editorial .section-lead { font-size:15px; }
}
@media(max-width:700px) {
.rv-layout.page-home .commit--editorial { display:flex; flex-direction:column; min-height:0; padding-bottom:0; }
.rv-layout.page-home .commit--editorial .commit__wrap { order:0; display:block; }
.rv-layout.page-home .commit--editorial .commit__intro { width:100%; max-width:none; }
.rv-layout.page-home .commit--editorial .section-title { max-width:20ch; font-size:clamp(33px,8.2vw,44px); }
.rv-layout.page-home .commit--editorial .section-lead { max-width:52ch; margin-top:22px; }
.rv-layout.page-home .commit__eyebrow { margin-bottom:20px; }
.rv-layout.page-home .commit__link { margin-top:16px; }
.rv-layout.page-home .commit__visual { position:relative; order:1; inset:auto; height:clamp(280px,72vw,400px); margin:8px 0 0; }
.rv-layout.page-home .commit__photo { object-position:center 58%; }
.rv-layout.page-home .commit__visual::after,
 html[dir="rtl"] .rv-layout.page-home .commit__visual::after {
  background:linear-gradient(180deg,#f8f7f2 0%,#f8f7f2c9 13%,#f8f7f200 36%,#f8f7f200 70%,#f8f7f2 100%);
 }
}
@media(prefers-reduced-motion:reduce) {
.rv-layout.page-home .commit__link { transition:none; }
}
/* Business services: useful destinations, with a quiet editorial layout. */
.rv-layout.page-home .home-business{padding:clamp(56px,7vw,96px) 0;background:#f7f6ef;color:#173c40;}
.rv-layout.page-home .home-business__inner{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,8vw,110px);align-items:center;}
.rv-layout.page-home .home-business__eyebrow{font:500 11px/1.5 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#6d5d3e;margin:0 0 20px;}
.rv-layout.page-home .home-business h2{font:500 clamp(32px,3.5vw,49px)/1.13 var(--font-body);letter-spacing:-.04em;max-width:18ch;margin:0 0 24px;color:#173c40;}
.rv-layout.page-home .home-business__copy>p:not(.home-business__eyebrow){font:400 16px/1.8 var(--font-body);max-width:48ch;color:#56665b;}
.rv-layout.page-home .home-business__copy>a{display:inline-flex;align-items:center;min-height:48px;margin-top:16px;padding:13px 24px;background:#173c40;color:#fffaf0;border-radius:99px;text-decoration:none;font:500 14px/1.6 var(--font-body);}
.rv-layout.page-home .home-business__areas{display:grid;border-top:1px solid #d7d8c7;}
.rv-layout.page-home .home-business__areas a{display:grid;gap:7px;padding:24px 0;border-bottom:1px solid #d7d8c7;text-decoration:none;color:inherit;}
.rv-layout.page-home .home-business__areas strong{font:500 22px/1.3 var(--font-body);letter-spacing:-.025em;}
.rv-layout.page-home .home-business__areas span{font:400 14px/1.65 var(--font-body);color:#56665b;}
.rv-layout.page-home .home-business__areas a:hover strong{text-decoration:underline;text-decoration-color:#ad976c;text-underline-offset:5px;}
.rv-layout.page-home .home-business a:focus-visible{outline:2px solid #9b8359;outline-offset:5px;}
@media(max-width:700px){.rv-layout.page-home .home-business__inner{grid-template-columns:1fr;gap:36px;}.rv-layout.page-home .home-business__areas a{padding:21px 0;}.rv-layout.page-home .home-business__areas strong{font-size:21px;}}

/* Approved homepage refinements: preserve the hero, atlas and Madrid composition. */
.rv-layout.page-home .home-services__search {
 border:1px solid #d5d7c9; border-radius:32px; background:#fffef9;
}
.rv-layout.page-home .home-services__field { padding-inline-start:20px; }
.rv-layout.page-home .home-services__areas > summary {
 padding-inline:20px; border:1px solid #d5d7c9; border-radius:32px; background:#eeefe6;
}
.rv-layout.page-home .home-services__card-cta {
 padding:9px 18px; min-height:42px; margin-top:6px; border:1px solid #cbd2c2;
 border-radius:999px; background:#edf0e5; text-decoration:none;
 transition:background .2s,border-color .2s;
}
.rv-layout.page-home .home-services__card:is(:hover,:focus-visible) .home-services__card-cta {
 background:#e2e8d9; border-color:#a6b399;
}
.rv-layout.page-home .home-services__card-meta small {
 display:inline-block; padding:5px 10px; border-radius:999px; background:#eae8dc; color:#746445;
}
.rv-layout.page-home .home-benefits { padding:0 0 clamp(34px,4vw,60px); background:#f8f7f2; color:#173b3f; }
.rv-layout.page-home .home-benefits__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.rv-layout.page-home .home-benefits article { border-top:1px solid #d5d7c9; padding-top:24px; min-width:0; }
.rv-layout.page-home .home-benefits .ek { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#eeeee4; color:#947c53; font-size:21px; }
.rv-layout.page-home .home-benefits h3 { margin:16px 0 10px; font:500 18px/1.35 var(--font-body); letter-spacing:-.025em; }
.rv-layout.page-home .home-benefits p { margin:0; color:#59685f; font:400 14px/1.75 var(--font-body); }
.rv-layout.page-home .home-chapter {
 padding:clamp(62px,7vw,100px) 0; color:#f8f7f2;
 background:linear-gradient(90deg,#102e35ed 0%,#102e35d9 45%,#102e3594 100%),url('../img/contacto-madrid-1280.webp') center 54% / cover;
}
.rv-layout.page-home .home-chapter__eyebrow { margin:0 0 24px; color:#d0bd8f; font:500 12px/1.5 var(--font-body); letter-spacing:.025em; }
.rv-layout.page-home .home-chapter h2 { margin:0; max-width:22ch; font:500 clamp(33px,3.5vw,51px)/1.14 var(--font-body); letter-spacing:-.045em; }
.rv-layout.page-home .home-chapter h2 span { color:#d0bd8f; font:inherit; }
.rv-layout.page-home .home-chapter__lead { margin:26px 0 0; max-width:54ch; color:#d2dbd6; font:400 16px/1.85 var(--font-body); }
@media(max-width:980px){
.rv-layout.page-home .home-benefits__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 34px; }
}
@media(max-width:600px){
.rv-layout.page-home .home-chapter { background-image:linear-gradient(90deg,#102e35ed 0%,#102e35d9 45%,#102e3594 100%),url('../img/contacto-madrid-768.webp'); }
.rv-layout.page-home .home-services__field { padding-inline-start:17px; gap:10px; }
.rv-layout.page-home .home-services__clear { margin-inline-start:27px; }
.rv-layout.page-home .home-benefits__grid { gap:25px 18px; }
.rv-layout.page-home .home-benefits h3 { font-size:16px; }
.rv-layout.page-home .home-benefits p { font-size:13px; }
.rv-layout.page-home .home-chapter h2 { font-size:clamp(33px,8.2vw,44px); }
.rv-layout.page-home .home-chapter__lead { font-size:15px; }
}
@media(prefers-reduced-motion:reduce){
.rv-layout.page-home .home-services__card-cta { transition:none; }
}

/* Subtle dividers distinguish the FAQ and business sections. */
.rv-layout.page-home :is(.faq, .home-business) { position:relative; }
.rv-layout.page-home :is(.faq, .home-business)::before {
 content:""; display:block; position:absolute; top:0; left:50%;
 width:min(var(--rv-max), calc(100% - 2 * var(--rv-gutter))); height:1px;
 background:#b9ab8a; transform:translateX(-50%); pointer-events:none;
}
.rv-layout.page-home .home-business { background:#eeeee5; }

/* MEDLA: partner-studio.css */
/* Existing brand identities, with useful context and a clear route back to MEDLA. */

.rv-layout .ps-carousel-link { display: flex; align-items: center; justify-content: center; min-height: 90px; width: 100%; padding: 9px; border-radius: 8px; }
.rv-layout .ps-carousel-vibe .ps-carousel-link { width: 170px; margin-inline: auto; padding: 10px 18px; border-radius: 10px; background: #18383a; }
.rv-layout.page-home .partner.ps-carousel-vibe img { max-height: 83px; max-width: 134px; mix-blend-mode: normal; filter: none; opacity: 1; }
.rv-layout :is(.ps-page a, .ps-carousel-link):focus-visible { outline: 2px solid #667b62; outline-offset: 4px; }
@media (max-width: 800px) {

}
@media (max-width: 550px) {

}

/* OVB mortgage collaboration: an identified provider and a clear MEDLA enquiry. */

@media(max-width:900px) {

}
@media(max-width:650px) {

}
@media(max-width:380px) {}

/* MEDLA: international.css */
/* Arabic and Simplified Chinese share MEDLA's components and local assets. */
html[lang="ar"] { --font-body: Tahoma, "Geeza Pro", Arial, sans-serif; --font-display: Tahoma, "Geeza Pro", Arial, sans-serif; }
html[lang="zh-Hans"] { --font-body: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif; --font-display: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif; }
.intl-page { overflow-wrap: break-word; }
html[lang] .rv-layout.intl-page :is(h1,h2,h3,h4,p,a,button,label,summary,select,input,textarea) { font-family: var(--font-body); font-style: normal; letter-spacing: normal; }
.intl-page :is(h1,h2,h3) { text-wrap: balance; }
.intl-page .hero__title { max-width: 16ch; line-height: 1.24; }
html[lang] .rv-layout.page-home.intl-page .hero__title { font-size: clamp(34px,4.1vw,63px); line-height: 1.35; }
.intl-page .hero__lead { line-height: 1.8; }
.intl-page .hero__content { text-align: start; }

.intl-closing { padding-block: 52px 76px; border-top: 1px solid rgba(23,55,59,.16); }
.intl-closing h2 { font-size: clamp(29px,3.5vw,44px); line-height: 1.4; max-width: 30ch; margin: 0 0 20px; }
.intl-closing p { line-height: 1.9; max-width: 65ch; margin: 0 0 24px; }
.intl-closing .sg-primary { display: inline-flex; text-align: center; }

.intl-page :is(a[href^="tel:"],a[href^="mailto:"],input[type="email"],input[type="tel"]) { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] .intl-page :is(.rv-header__inner,.rv-nav,.rv-mega__links,.ss-footer__body,.sg-intro,.sg-gallery,.cs-contact-grid) { direction: rtl; }
html[dir="rtl"] .intl-page :is(.rv-nav-link,.rv-mega__links>a,.ss-footer,.cs-contact-page,.consent-banner,.consent-dialog) { text-align: right; }
html[dir="rtl"] .intl-page :is(.sv-scene,.hero__media,.ss-language svg,.brand img) { direction: ltr; }
html[dir="rtl"] .intl-page .consent-close { right: auto; left: 14px; }
html[dir="rtl"] .intl-page .rv-mega { inset-inline-start: 0; inset-inline-end: auto; }
html[dir="rtl"] .intl-page :is(.ss-footer__lead,.ss-footer__legal,.ss-footer__meta) { direction: rtl; }
html[lang="zh-Hans"] .intl-page .hero__title { max-width: 12ch; }
html[lang="zh-Hans"] .intl-page .hero__title :is(.w,.wi) { display: inline; white-space: normal; overflow: visible; }
@media (min-width: 701px) {
html[dir="rtl"] .rv-layout.page-home.intl-page .hero__media { inset: 0 48% 0 0; }
html[dir="rtl"] .rv-layout.page-home.intl-page .hero__veil { background: linear-gradient(270deg,#faf9f3 0%,#faf9f3 44%,#faf9f3d9 50%,#faf9f300 67%); }
html[dir="rtl"] .rv-layout.page-home.intl-page .hero__content { padding-left: 0; padding-right: max(var(--rv-gutter),calc((100vw - var(--rv-max))/2)); }
html[dir="rtl"] .rv-layout.page-home.intl-page .hero__lead { padding-right: 0; padding-left: 26px; }
}
@media (max-width: 900px) {

}
@media (max-width: 600px) {
.intl-page .hero__title { font-size: clamp(32px,8.5vw,45px); }
.intl-page .hero__lead { font-size: 16px; }

.intl-page .sg-primary { min-height: 46px; padding: 12px 18px; white-space: normal; }
.intl-page .sa-specialty-group { gap: 18px; }
.intl-closing { padding-block: 40px 58px; }

html[dir="rtl"] .intl-page .rv-mega { inset-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {}

/* MEDLA: practice-experience.css */
/* Practice areas share a clear reading system and retain their own character. */
.rv-layout :is(.btn, .sg-primary, .sg-secondary) { border-radius: 999px; }

/* Original institutional artwork, displayed on the page without a enclosing panel. */

@media(max-width:520px) {

}

/* Compact hero; the existing vector is given a complete, quiet frame. */

/* Fiscal: distinct profiles, each with its own compact disclosure. */

/* Civil: generous, calm reading rows. */

/* Employment and administrative work: simple service groups. */

/* Criminal: the useful service links are immediately available. */

/* Business: a two-column set of working areas. Other services: two clear choices. */

/* The fiscal tool is available on demand with its existing controls intact. */

/* Detail pages inherit the practice tone without replacing their anchored navigation. */

/* Existing directory and home cards pick up the same restrained area accents. */

@media (max-width: 1100px) {

}
@media (max-width: 800px) {

}
@media (max-width: 600px) {

}

@media (prefers-reduced-motion: no-preference) {

@keyframes pr-open { from { opacity: .7; transform: translateY(4px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {

}
@media (forced-colors: active) {

}

/* Fiscal credentials sit beside the stated scope and fees in the opening block. */

@media (max-width: 600px) {

}

/* MEDLA: journey-polish.css */
/* Final journey polish: discover, choose, enquire. */
/* A stable sticky header avoids a translucent, moving navigation layer on arrival. */
.rv-layout .site-header { opacity: 1 !important; transform: none !important; }
/* Native fragment navigation stays smooth; wheel and touch remain browser-owned. */
@media (prefers-reduced-motion: no-preference) {html { scroll-behavior: smooth; }}
@media (prefers-reduced-motion: reduce) {html { scroll-behavior: auto !important; }}

.rv-layout .mform:focus-within { scroll-margin-top:110px; }
@media(max-width:700px) {

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

.rv-layout .mform-optional { grid-column:1/-1; border-top:1px solid #d7dacd; border-bottom:1px solid #d7dacd; }
.rv-layout .mform-optional > summary { cursor:pointer; min-height:48px; padding:12px 0; font-size:14px; color:#526562; }

@media(max-width:700px) {}

/* Keep the anti-spam field off the visual surface without creating RTL overflow. */

/* Relevant services share the existing page rhythm, without another sales banner. */

@media(max-width:760px) {

}

/* MEDLA: home-services.css */
/* One search field and a native area selector keep service discovery compact. */
.rv-layout .home-services{padding:clamp(64px,7vw,108px) 0;background:#f7f6f0;color:#173a41;scroll-margin-top:100px;}
.rv-layout .home-services__shell{max-width:1190px;}
.rv-layout .home-services h2{max-width:20ch;margin:0 0 32px;font:500 clamp(34px,4.1vw,55px)/1.13 var(--font-body);letter-spacing:-.045em;text-wrap:balance;}
.rv-layout .home-services [hidden]{display:none!important;}
.rv-layout .home-services__toolbar{display:flex;align-items:stretch;gap:18px;margin:0 0 34px;}
.rv-layout .home-services__search{display:flex;align-items:center;flex:1;min-width:0;gap:12px;border:0;border-bottom:1px solid #a7b0a4;border-radius:0;background:transparent;transition:border-color .2s;}
.rv-layout .home-services__search:focus-within{border-color:#7f9287;box-shadow:0 0 0 3px #bcc9b733;}
.rv-layout .home-services__field{display:flex;align-items:center;gap:14px;flex:1;min-width:0;padding-inline:0;}
.rv-layout .home-services__field svg{width:22px;height:22px;flex-shrink:0;color:#89764f;}
.rv-layout .home-services__field input{width:100%;min-width:0;min-height:58px;border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;padding:15px 8px 15px 0;font:400 16px/1.5 var(--font-body);color:#173a41;outline:none;}
.rv-layout .home-services__field input::placeholder{color:#7c8780;opacity:1;}
.rv-layout .home-services__clear{border:0;background:none;color:#39564c;font:500 12px/1.5 var(--font-body);cursor:pointer;min-height:44px;padding:10px 18px;margin-inline-end:8px;white-space:nowrap;text-decoration:underline;text-underline-offset:5px;}
.rv-layout .home-services__areas{position:relative;flex:0 0 230px;align-self:stretch;}
.rv-layout .home-services__areas>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;height:100%;min-height:58px;padding:12px 16px;cursor:pointer;list-style:none;border-bottom:1px solid #a7b0a4;font:500 14px/1.5 var(--font-body);}
.rv-layout .home-services__areas>summary::-webkit-details-marker{display:none;}
.rv-layout .home-services__areas>summary::marker{content:'';}
.rv-layout .home-services__areas>summary svg{flex-shrink:0;}
.rv-layout .home-services__areas[open]>summary svg{transform:rotate(180deg);}
.rv-layout .home-services__pills{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:10;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:440px;max-width:calc(100vw - 40px);max-height:55vh;overflow:auto;margin:0;padding:12px;border:1px solid #d9d7c9;border-radius:6px;background:#fffef9;box-shadow:0 12px 30px #173a4112;}
.rv-layout .home-services__pill{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:0;border-radius:3px;background:transparent;color:#496057;font:400 13px/1.4 var(--font-body);text-decoration:none;transition:background .18s,color .18s;}
.rv-layout .home-services__pill:hover{background:#eeece0;color:#203f36;}
.rv-layout .home-services__pill.is-active{background:#e9e6d8;color:#173a41;font-weight:500;}
.rv-layout .home-services__status{margin:0;font:400 12px/1.6 var(--font-body);color:#67776d;}
.rv-layout .home-services__status:not(:empty){margin:-7px 0 18px;}
.rv-layout .home-services__results{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;margin:0;padding:0;}
.rv-layout .home-services__item{min-width:0;margin:0;padding:0;}
.rv-layout .home-services__card{position:relative;display:flex;flex-direction:column;gap:12px;min-height:0;height:100%;padding:26px 0 30px;border:0;border-top:1px solid #d5d7c9;border-radius:0;background:transparent;color:#173a41;text-decoration:none;transition:border-color .18s;}
.rv-layout .home-services__card:hover{background:transparent;border-color:#afa17b;}
.rv-layout .home-services__card-meta{display:flex;align-items:center;gap:10px;}
.rv-layout .home-services__icon{display:none;}
.rv-layout .home-services__card small{font:400 10px/1.45 var(--font-body);letter-spacing:.02em;color:#7f805f;}
.rv-layout .home-services .home-services__card h3{margin:0;font:500 21px/1.35 var(--font-body);letter-spacing:-.025em;color:inherit;overflow-wrap:anywhere;}
.rv-layout .home-services .home-services__description{margin:0;color:#596b63;font:400 14px/1.7 var(--font-body);overflow-wrap:anywhere;}
.rv-layout .home-services__card-cta{display:inline-flex;align-self:flex-start;align-items:center;min-height:34px;margin-top:auto;padding-top:7px;color:#334f45;font:500 13px/1.5 var(--font-body);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#b7aa84;text-underline-offset:5px;}
.rv-layout .home-services__card:is(:hover,:focus-visible) .home-services__card-cta{color:#173a41;text-decoration-color:currentColor;}
.rv-layout .home-services__card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#b7aa84;text-underline-offset:4px;}
.rv-layout .home-services__more{display:table;margin:20px 0 0;padding:10px 0;min-height:44px;border:0;border-bottom:1px solid #a3946d;border-radius:0;background:transparent;color:#334f45;font:500 14px/1.5 var(--font-body);text-decoration:none;cursor:pointer;transition:color .18s;}
.rv-layout .home-services__more:hover{background:#eeece0;border-color:#9d9f83;}
.rv-layout .home-services__empty{padding:13px 0 0;}
.rv-layout .home-services__empty p{max-width:48ch;margin:0 0 12px;color:#53675d;font:400 15px/1.7 var(--font-body);}
.rv-layout .home-services__empty>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px 26px;}
.rv-layout .home-services__empty :is(a,button){display:inline-flex;align-items:center;min-height:44px;border:0;background:none;padding:0;color:#786444;font:500 13px/1.5 var(--font-body);text-decoration:underline;text-underline-offset:5px;cursor:pointer;}
.rv-layout .home-services :is(a,button,summary):focus-visible{outline:2px solid #9d895d;outline-offset:4px;border-radius:3px;}
.home-services__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:960px){
.rv-layout .home-services__results{grid-template-columns:repeat(2,minmax(0,1fr));}
.rv-layout .home-services__results{column-gap:28px;}
}
@media(max-width:600px){
.rv-layout .home-services{padding-block:58px;}
.rv-layout .home-services h2{margin-bottom:27px;font-size:clamp(33px,8.6vw,43px);}
.rv-layout .home-services__toolbar{display:grid;gap:12px;margin-bottom:26px;}
.rv-layout .home-services__search{gap:4px;flex-wrap:wrap;}
.rv-layout .home-services__field{padding-inline-start:0;gap:12px;flex-basis:100%;}
.rv-layout .home-services__field input{min-height:58px;font-size:16px;padding-inline-end:12px;}
.rv-layout .home-services__clear{margin:-9px 8px 4px;margin-inline-start:39px;font-size:12px;min-height:38px;}
.rv-layout .home-services__areas>summary{min-height:48px;padding-inline:0;}
.rv-layout .home-services__pills{width:100%;max-width:none;grid-template-columns:minmax(0,1fr);}
.rv-layout .home-services__pill{min-height:44px;padding:10px 12px;font-size:13px;}
.rv-layout .home-services__results{grid-template-columns:minmax(0,1fr);gap:0;}
.rv-layout .home-services__card{min-height:0;gap:10px;padding:24px 0;}
.rv-layout .home-services__card-meta{align-items:center;flex-direction:row;gap:10px;}
.rv-layout .home-services__card small{font-size:10px;}
.rv-layout .home-services .home-services__card h3{font-size:18px;line-height:1.4;}
.rv-layout .home-services .home-services__description{font-size:14px;line-height:1.7;}
.rv-layout .home-services__card-cta{margin-top:2px;}
.rv-layout .home-services__more{margin-top:23px;}
}
@media(prefers-reduced-motion:reduce){.rv-layout .home-services *{transition:none!important;}}

/* MEDLA: purchase-options.css */

@media(max-width:620px) {

}

/* MEDLA: typography.css */
/* Shared typography: Manrope for reading and UI, one brand serif for accents. */
.rv-layout{--font-ui:var(--font-body);--font-btn:var(--font-body)}
html:is([lang="es"],[lang="en"]) .rv-layout #content :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-body);font-style:normal}

/* Letter spacing belongs to Latin display text, not Arabic or Chinese scripts. */

/* MEDLA: market-navigation.css */
/* Country is a compact service choice, separate from the language globe. */
.rv-layout {
  --market-header-height: 101px;
  --market-document-anchor: 130px;
}
.rv-layout .market-navigation { position: relative; margin: 0; color: inherit; }
.rv-layout .market-navigation > summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 10px;
  border: 0;
  border-radius: 4px;
  color: inherit;
  background: transparent;
  cursor: pointer;
  list-style: none;
  font: 500 12px/1.4 var(--font-body);
  letter-spacing: 0;
  white-space: nowrap;
}
.rv-layout .market-navigation > summary::-webkit-details-marker { display: none; }
.rv-layout .market-navigation > summary::marker { content: ''; }
.rv-layout .market-navigation > summary svg { flex: 0 0 10px; width: 10px; height: 7px; }
.rv-layout .market-navigation[open] > summary svg { transform: rotate(180deg); }
.rv-layout .market-navigation > summary:hover,
.rv-layout .market-navigation[open] > summary { background: #a6946a18; }
.rv-layout .market-navigation__options {
  position: absolute;
  inset-block-start: calc(100% + 12px);
  inset-inline-end: 0;
  z-index: 60;
  width: 294px;
  max-width: calc(100vw - 36px);
  padding: 20px 10px 10px;
  border: 1px solid #ded3b9;
  border-radius: 8px;
  background: #fbfaf6;
  box-shadow: 0 14px 36px #18383a18;
  color: #18383a;
  text-align: start;
}
.rv-layout .market-navigation__question,
.rv-layout .market-navigation__helper { margin: 0; padding-inline: 12px; font-family: var(--font-body); letter-spacing: 0; }
.rv-layout .market-navigation__question { font-size: 13px; font-weight: 500; line-height: 1.5; }
.rv-layout .market-navigation__helper { margin-block: 4px 17px; color: #56675e; font-size: 11px; line-height: 1.5; }
.rv-layout .market-navigation__options > a {
  display: grid;
  gap: 4px;
  min-height: 66px;
  padding: 12px;
  border-radius: 4px;
  color: #18383a;
  font: 400 12px/1.5 var(--font-body);
  letter-spacing: 0;
  text-decoration: none;
  white-space: normal;
}
.rv-layout .market-navigation__options > a + a { margin-top: 4px; }
.rv-layout .market-navigation__options > a strong { font-size: 14px; font-weight: 500; }
.rv-layout .market-navigation__options > a span { color: #56675e; font-size: 12px; }
.rv-layout .market-navigation__options > a[aria-current] { background: #f0ebdc; }
.rv-layout .market-navigation__options > a:hover { background: #ece6d5; }
.rv-layout .market-navigation :is(summary, a):focus-visible { outline: 2px solid #765632; outline-offset: 2px; }
@media (max-width: 600px) {
.rv-layout .ss-header-tools { gap: 4px; }
.rv-layout .market-navigation > summary { padding-inline: 6px; gap: 6px; }
.rv-layout .market-navigation__options {
    position: fixed;
    inset-block-start: calc(var(--market-header-height) + 8px);
    inset-inline: 18px;
    width: auto;
    max-width: none;
  }
}
@media (max-width: 420px) {
.rv-layout .ss-header .rv-header__inner { gap: 6px; }
.rv-layout .ss-header .brand,
  .rv-layout .ss-header .brand img { width: 56px; flex-basis: 56px; }
.rv-layout .ss-header-tools { gap: 2px; }
}

/* The country choice shares the existing header row. Keep anchors and sticky
   content clear of that row, with no second navigation strip. */

.rv-layout #content :is(section, [id]) { scroll-margin-top: var(--market-document-anchor); }
.rv-layout #content :is(.mform:focus-within, .sf-shell) { scroll-margin-top: 110px; }

.rv-layout #content :is(#consulta, .cs-contact-form, .iq-contact-summary, .pr-planner, .sl-plan, .sl-destinations, .ea-prose h2, .sm-section) {
  scroll-margin-top: 120px;
}

.rv-layout #content .home-services { scroll-margin-top: 100px; }

.rv-layout #content .atlas { scroll-margin-top: 98px !important; }
.rv-layout.page-home #content .home-closing .ask { scroll-margin-top: 100px !important; }

@media (min-width: 701px) {

}
@media (min-width: 741px) {

}
@media (min-width: 761px) {

.rv-layout .sa-specialty-group > header { top: 155px; }
}
@media (min-width: 851px) {

}
@media (min-width: 901px) {

}
@media (min-width: 961px) {

.rv-layout .rv-services-photo { top: 128px; }
}
@media (min-width: 1001px) and (min-height: 800px) {

}
@media (max-width: 1100px) {
/* Stop the document at its boundary instead of stretching the canvas past
     the footer and moving the fixed controls during elastic overscroll. */
html { overscroll-behavior-y: none; }
.rv-layout {
    --market-header-height: calc(83px + env(safe-area-inset-top, 0px));
    --rv-gutter: max(22px, 4.5vw, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  }
.rv-layout .ss-header { padding-top: env(safe-area-inset-top, 0px); }
.rv-layout .ss-header .rv-nav {
    inset: calc(82px + env(safe-area-inset-top, 0px)) 0 0;
    height: calc(100dvh - 82px - env(safe-area-inset-top, 0px));
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px));
  }

/* Keep the footer compact. Legal links use the clear space between the
     fixed controls instead of reserving an empty row below the page. */
.rv-layout .rv-footer.ss-footer {
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }
.rv-layout .ss-footer__legal {
    padding-inline: calc(var(--contact-size) + var(--contact-gap));
    justify-content: center;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {

}
@media (max-width: 960px) {

.rv-layout.page-home #content .home-closing .ask { scroll-margin-top: 85px !important; }
}
@media (max-width: 760px) {

}
@media (max-width: 700px) {

}
@media (max-width: 650px) {
.rv-layout { --market-document-anchor: 100px; }
.rv-layout #content .atlas { scroll-margin-top: 78px !important; }
.rv-layout.page-home #content .home-closing .ask { scroll-margin-top: 78px !important; }

}
@media (max-width: 640px) {

}
@media (max-width: 550px) {

}

/* MEDLA: home-entry.css */
/* The dialog opens once per session; the ordinary home remains usable without JavaScript. */
html:has(.market-entry-open), body.market-entry-open { overflow: hidden; }
.rv-layout.page-home .home-market-entry:not([open]) { display: none; }
.home-market-entry::backdrop { background: #f8f7f2; }
.rv-layout.page-home .home-market-entry {
  box-sizing: border-box;
  display: grid;
  align-items: center;
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  border: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 140px 0 64px;
  background: #f8f7f2;
  color: #173e41;
}
.home-market-entry__brand { position: absolute; top: 26px; left: 50%; transform: translateX(-50%); width: 92px; height: auto; }
.home-market-entry__inner { max-width: 1000px; width: calc(100% - 80px); margin-inline: auto; }
.home-market-entry #home-market-title:focus { outline: none; }
.home-market-entry header { text-align: center; }
.rv-layout.page-home .home-market-entry h2 {
  margin: 0;
  font-family: var(--font-body);
  font-size: clamp(34px, 4.1vw, 58px);
  font-weight: 500;
  line-height: 1.13;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.home-market-entry header > p {
  margin: 22px 0 0;
  color: #5c6c64;
  font-size: clamp(14px, 1.45vw, 18px);
  line-height: 1.65;
}
.home-market-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(40px, 6vh, 66px);
}
.home-market-choice {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 12px clamp(20px, 4vw, 52px) 18px;
  color: inherit;
  text-decoration: none;
}
.home-market-choice + .home-market-choice { border-inline-start: 1px solid #d8d8ca; }
.home-market-choice > img {
  display: block;
  width: 100px;
  height: 68px;
  object-fit: contain;
  margin-bottom: 28px;
  transition: transform .2s ease;
}
.home-market-choice__copy { min-width: 0; }
.rv-layout.page-home .home-market-choice h3 {
  font: 500 clamp(27px, 2.7vw, 36px)/1.2 var(--font-body);
  letter-spacing: -.035em;
  margin: 0;
}
.home-market-choice p { max-width: 28ch; min-height: 3.3em; margin: 15px auto 22px; font-size: 15px; line-height: 1.65; color: #5c6c64; }
.home-market-choice__action { display: inline-block; padding-bottom: 5px; border-bottom: 1px solid #ab966b; font-size: 14px; line-height: 1.5; }
.home-market-choice:hover > img { transform: translateY(-3px); }
.home-market-choice:hover .home-market-choice__action { border-bottom-color: #173e41; }
.home-market-choice:focus-visible { outline: 2px solid #9e885e; outline-offset: 5px; }
.rv-layout.page-home #content #inicio-espana { scroll-margin-top: var(--market-header-height, 153px); }
.rv-layout.page-home #inicio-espana:focus { outline: none; }
[dir=rtl] .home-market-entry :is(h2,h3) { letter-spacing: normal; line-height: 1.4; }
@media (max-width: 600px) {
.rv-layout.page-home .home-market-entry { padding-block: 138px 36px; }
.home-market-entry__brand { width: 80px; top: 26px; }
.home-market-entry__inner { width: calc(100% - 40px); }
.home-market-entry header { text-align: start; }
.rv-layout.page-home .home-market-entry h2 { font-size: clamp(31px, 8.8vw, 42px); max-width: 17ch; }
.home-market-entry header > p { margin-top: 16px; max-width: 31ch; }
.home-market-options { grid-template-columns: 1fr; margin-top: 30px; }
.home-market-choice { flex-direction: row; gap: 22px; align-items: flex-start; text-align: start; padding: 25px 0; }
.home-market-choice + .home-market-choice { border-inline-start: 0; border-top: 1px solid #d8d8ca; }
.home-market-choice > img { width: 66px; height: 45px; flex: 0 0 66px; margin: 0; }
.rv-layout.page-home .home-market-choice h3 { font-size: 27px; }
.home-market-choice p { min-height: 0; font-size: 14px; margin: 9px 0 16px; max-width: 27ch; }
.home-market-choice__action { font-size: 13px; }
}
@media (max-width: 360px) {
.home-market-choice { gap: 16px; }
.home-market-choice > img { width: 52px; flex-basis: 52px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
.home-market-choice > img { transition: none; }
.home-market-choice:hover > img { transform: none; }
}
