/* 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-arrow-right::before { content: "\e87a"; }
.ek-contact::before { content: "\e993"; }
.ek-envelope1::before { content: "\e818"; }
.ek-finance-book::before { content: "\ea1f"; }
.ek-justice::before { content: "\e961"; }
.ek-lock::before { content: "\e80f"; }
.ek-map-marker1::before { content: "\e973"; }
.ek-phone-handset::before { content: "\e830"; }
.ek-protected-content-v3::before { content: "\e930"; }
.ek-safe-house::before { content: "\ebdb"; }
.ek-save-money::before { content: "\eaef"; }
.ek-shield11::before { content: "\ea6f"; }
.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;
}

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;
  overflow-x: clip;
}

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--outline {
  --btn-bg: #fff; --btn-fg: var(--teal); --btn-bd: var(--teal);
  --btn-bg-hover: var(--teal); --btn-fg-hover: #fff;
}
.btn--roboto { font-family: var(--font-btn); }
.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);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  max-width: var(--container);
  margin-inline: auto;
  padding: var(--space-5);
}
.brand { display: block; flex: none; width: 130px; }
.brand img { width: 100%; }

.site-nav {
  display: flex;
  align-items: center;
  gap: var(--space-5);
}
.site-nav__list { display: flex; align-items: center; }
.site-nav__list > li { position: relative; }

.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; }

.site-nav__sub {
  position: absolute;
  top: 100%;
  left: 8px;
  min-width: 210px;
  padding: var(--space-2) 0;
  background: #fff;
  box-shadow: 0 24px 48px -20px rgba(20, 45, 55, 0.35), 0 0 0 1px rgba(20, 45, 55, 0.06);
  opacity: 0;
  visibility: hidden;
  translate: 0 8px;
  transition: opacity var(--t-micro) var(--ease-out), translate var(--t-micro) var(--ease-out), visibility 0s linear var(--t-micro);
}
.has-sub:hover .site-nav__sub,
.has-sub:focus-within .site-nav__sub {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
  transition-delay: 0s;
}
.site-nav__sub a {
  display: block;
  padding: 12px 24px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--ink);
  transition: background-color var(--t-micro) var(--ease-out), color var(--t-micro) var(--ease-out), padding-left var(--t-micro) var(--ease-out);
}
.site-nav__sub a:hover,
.site-nav__sub a:focus-visible { background: var(--cream); color: var(--teal); padding-left: 30px; }

.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; }
.nav-toggle__close { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__open { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__close { display: block; }

/* ---------- 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 {
  position: relative;
  display: inline-block;
  color: var(--gold);
  white-space: nowrap;
}
.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--cream { background: var(--cream); }
.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; }
.pillars {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: 65px;
}
.pillar {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 26px;
  background: #fff;
  border-radius: var(--radius-card);
  transition: translate 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
}
.pillar:hover {
  translate: 0 -6px;
  box-shadow: 0 28px 40px -24px rgba(20, 45, 55, 0.3);
}
.pillar__icon {
  display: grid;
  place-items: center;
  width: 54px; height: 54px;
  font-size: 30px;
  color: var(--gold);
  background: var(--gold-soft);
  border-radius: var(--radius-icon);
  transition: background-color var(--t-micro) var(--ease-out), color var(--t-micro) var(--ease-out);
}
.pillar:hover .pillar__icon { background: var(--teal); color: #fff; }
.pillar__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--ink-soft);
}
.pillar__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--muted);
}
.commit__note {
  margin-top: var(--space-5);
  padding: 30px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  color: var(--teal);
  background: #fff;
  border-radius: var(--radius-note);
}

/* ---------- 9. Cita ---------- */
.quote__figure { text-align: center; }
.quote__text {
  font-size: clamp(1rem, 1.45vw, 1.3rem);
  font-weight: 400;
  line-height: 2;
  color: #fff;
}
.qw { display: inline; }
.quote__meta {
  display: grid;
  justify-items: center;
  margin-top: var(--space-12);
}
.quote__meta .slot--circle { margin-bottom: var(--space-5); }
.quote__name {
  font-family: var(--font-display);
  font-size: 1.375rem;
  line-height: 1.5;
}
.quote__role { font-size: 0.8125rem; font-weight: 500; line-height: 1; }

/* ---------- 10. Cifras ---------- */
.stats { padding-block: 50px; }
.stats__wrap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.stat {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  padding: 50px 30px;
}
.stat__num {
  display: flex;
  align-items: baseline;
  gap: 0;
  font-family: var(--font-display);
  font-size: clamp(3.25rem, 5vw, 4.5rem);
  line-height: 1;
  color: #000;
}
.stat__plus { font-family: var(--font-hero); font-size: 0.667em; }
.stat__unit {
  margin-left: 0.2em;
  font-family: var(--font-hero);
  font-size: 0.444em;
}
.stat__text {
  max-width: 34ch;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--ink);
}

/* ---------- 11. Servicios ---------- */
.services { padding: 0; }
.services__wrap { padding: max(var(--space-8), 5vw); }
.services__title {
  font-family: var(--font-ui);
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.055em;
  text-align: center;
  color: #222;
}
.services__title em { font-style: normal; color: var(--gold); }
.services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 321px));
  justify-content: space-evenly;
  gap: 65px 50px;
  margin-top: 65px;
}
.svc {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-family: var(--font-ui);
  color: #212121;
}
.svc--solo { grid-column: 2; }
.svc__icon {
  display: grid;
  place-items: center;
  width: 130px; height: 130px;
  margin-bottom: var(--space-8);
  font-size: 90px;
  color: var(--gold);
  transition: scale 0.6s var(--ease-out);
}
.svc:hover .svc__icon { scale: 1.06; }
.svc__title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.04em;
}
.svc__title a { transition: color var(--t-micro) var(--ease-out); }
.svc:hover .svc__title a { color: var(--gold); }
.svc__text {
  margin-top: var(--space-4);
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
}
.svc__more {
  position: relative;
  margin-top: var(--space-5);
  font-size: 1rem;
  font-weight: 500;
  font-style: italic;
  line-height: 1;
  text-transform: capitalize;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color var(--t-micro) var(--ease-out), text-underline-offset var(--t-micro) var(--ease-out);
}
.svc__more:hover { color: var(--gold); text-underline-offset: 7px; }

/* ---------- 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; }
.car--seals { --pv: 1; width: 100%; max-width: 322px; }

/* 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%);
}
.ask__bg { position: absolute; inset: -15% 0; z-index: -3; will-change: transform; }
.ask__bg img { width: 100%; height: 100%; object-fit: cover; }
.ask__veil { position: absolute; inset: 0; z-index: -2; background: var(--ink); opacity: 0.75; }
.ask__inner { max-width: var(--container); margin-inline: auto; padding-block: var(--section-y); }
.ask__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 50px 20px;
  text-align: center;
  color: #fff;
  background: rgba(166, 149, 107, 0.32);
  border-radius: var(--radius-image);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
.ask__title {
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
}
.ask__text {
  max-width: 771px;
  margin-top: var(--space-8);
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.7;
  text-wrap: pretty;
}
.ask__text + .ask__text { margin-top: 30px; }
.ask__btn { margin-top: var(--space-10); padding-inline: 36px; font-weight: 600; }

/* ---------- 16. Empresas ---------- */
.biz__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
}
.biz__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-right: 50px;
  color: var(--teal);
}
.biz__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 400;
  line-height: 1;
}
.biz__text {
  margin: 30px 0 56px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.7;
}
.biz__small { margin-top: var(--space-6); font-size: 0.875rem; font-weight: 500; line-height: 1.5; }
.biz__media { width: 100%; }

/* ---------- 17. Footer ---------- */
.foot-top {
  position: relative;
  isolation: isolate;
  padding: 50px 50px 20px;
  background: var(--cream);
}
.foot-top__wave {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: -1;
  width: 100%;
  height: 143px;
  fill: #fff;
}
.foot-top__grid {
  display: grid;
  grid-template-columns: minmax(0, 316px) minmax(0, 316px) minmax(0, 300px) minmax(0, 322px);
  justify-content: space-between;
  gap: var(--space-8);
  min-height: 400px;
}
.foot-col { display: flex; flex-direction: column; }
.foot-col--cta, .foot-col--seals { align-items: center; text-align: center; }
.foot-col--cta { gap: 30px; }
.foot-title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  color: var(--ink);
}
.foot-title--teal { color: var(--teal); }
.foot-list { margin-top: 22px; }
.foot-list a {
  display: inline-block;
  padding: var(--space-2) 0;
  font-size: 1rem;
  line-height: 20px;
  color: var(--teal);
  background: linear-gradient(currentColor, currentColor) left calc(100% - 6px) / 0 1px no-repeat;
  transition: background-size 0.45s var(--ease-out), color var(--t-micro) var(--ease-out);
}
.foot-list a:hover,
.foot-list a:focus-visible { background-size: 100% 1px; color: var(--gold); }

.foot-address { display: flex; flex-direction: column; gap: 6px; margin-top: 22px; font-size: 0.875rem; line-height: 1.5; color: var(--ink); }
.foot-row { display: flex; align-items: flex-start; gap: var(--space-2); }
.foot-row i { flex: none; margin-top: 2px; font-size: 16px; }
.foot-row a { transition: color var(--t-micro) var(--ease-out); }
.foot-row a:hover { color: var(--gold); }
.foot-country { display: flex; align-items: center; gap: 6px; margin-top: var(--space-3); }
.flag { display: inline-block; width: 16px; height: 12px; }
.flag--es { background: linear-gradient(#AA151B 25%, #F1BF00 25% 75%, #AA151B 75%); }
.flag--mx { background: linear-gradient(90deg, #006847 33.3%, #fff 33.3% 66.6%, #CE1126 66.6%); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08); }

.foot-col--seals .foot-title { margin-bottom: var(--space-6); }
.foot-col--seals .car { padding-inline: 0; }
.seal { display: grid; place-items: center; }
.seal img { max-height: 300px; width: auto; }

.foot-top__pointer {
  position: absolute;
  left: 50%; bottom: 0;
  width: 41px; height: 20px;
  background: var(--cream);
  translate: -50% 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.foot-bottom {
  display: flex;
  justify-content: space-between;
  gap: var(--space-5);
  min-height: 288px;
  padding: 50px 50px 5px;
  margin-top: 2px;
  background: #fff;
}
.foot-bottom__brand { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.foot-bottom__brand img { width: 130px; }
.foot-bottom__addr { font-size: 1rem; line-height: 1; color: var(--teal); }
.foot-bottom__addr { line-height: 1.15; }
.foot-bottom__copy { font-family: var(--font-btn); font-size: 1rem; font-weight: 500; color: var(--ink); }

.foot-bottom__social { display: flex; flex-direction: column; align-items: center; width: 186px; }
.foot-social-title { font-family: var(--font-btn); font-size: 1rem; font-weight: 500; color: var(--ink); }
.social { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3) var(--space-4); margin-top: var(--space-5); }
.social a {
  display: grid;
  place-items: center;
  width: 32px; height: 32px;
  font-size: 24px;
  color: #000;
  transition: color var(--t-micro) var(--ease-out), translate var(--t-micro) var(--ease-out);
}
.social a:hover { color: var(--gold); translate: 0 -3px; }
.aec { width: 186px; margin-top: var(--space-5); }

/* ---------- 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); }
.slot--silent.is-missing::after { content: none; }

.slot--circle { width: 88px; height: 88px; overflow: hidden; border-radius: 50%; }
.slot--circle img { width: 100%; height: 100%; object-fit: cover; }
.slot--circle.is-missing {
  min-height: 0;
  padding: 0;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.35);
}
.slot--circle.is-missing::after { content: attr(data-label); font-family: var(--font-display); font-size: 1.5rem; }

.slot--photo { width: 100%; aspect-ratio: 7 / 5; overflow: hidden; border-radius: var(--radius-image); }
.slot--photo img { width: 100%; height: 100%; object-fit: cover; }
.slot--photo.is-missing { min-height: 0; }

.partner.is-missing { min-height: 110px; }
.seal.is-missing { min-height: 300px; width: 243px; margin-inline: auto; }
.aec.is-missing { min-height: 56px; padding: var(--space-2); font-size: 0.75rem; }

/* ---------- 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; }
  .foot-top__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    gap: var(--space-12) var(--space-8);
    min-height: 0;
  }
  .foot-col--cta, .foot-col--seals { align-items: flex-start; text-align: left; }
  .foot-top { padding-top: 90px; }
}

@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__list { flex-direction: column; align-items: stretch; }
  .site-nav__list > li { border-bottom: 1px solid rgba(20, 45, 55, 0.08); }
  .site-nav__link { padding: 16px 0; }
  .site-nav__link::after { left: 0; right: 0; }
  .site-nav__link .ph-caret-down { display: none; }
  .site-nav__sub {
    position: static;
    min-width: 0;
    padding: 0 0 var(--space-3);
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    translate: 0 0;
  }
  .site-nav__sub a { padding: 8px 0 8px var(--space-4); }
  .site-nav__sub a:hover, .site-nav__sub a:focus-visible { padding-left: var(--space-5); background: none; }
  .site-nav__cta { align-self: flex-start; }

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

  .pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats__wrap { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stat { padding: 40px 16px; }
  .services__grid { grid-template-columns: repeat(2, minmax(0, 321px)); }
  .svc--solo { grid-column: auto; }

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

  .biz__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-12); }
  .biz__copy { padding-right: 0; }

  .foot-bottom { flex-wrap: wrap; }
}

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

  .site-header__inner { padding: 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; }
  .pillars { grid-template-columns: minmax(0, 1fr); margin-top: 40px; }
  .commit__note { padding: var(--space-6); line-height: 1.8; }

  .stats { padding-block: var(--space-6); }
  .stats__wrap { grid-template-columns: minmax(0, 1fr); }
  .stat { padding: var(--space-6) var(--space-2); }

  .services__wrap { padding: var(--space-16) var(--space-4); }
  .services__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-16); margin-top: var(--space-12); }

  .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); }
  .ask__card { padding: var(--space-10) var(--space-5); }

  .biz__text { margin-bottom: var(--space-8); }

  .foot-top { padding: 80px var(--space-5) var(--space-5); }
  .foot-top__grid { grid-template-columns: minmax(0, 1fr); }
  .foot-bottom { flex-direction: column; padding: var(--space-10) var(--space-5) var(--space-5); }
  .foot-bottom__social { align-items: flex-start; width: 100%; }
  .social { justify-content: flex-start; }

  .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)
   ========================================================================== */
.site-header--solid {
  position: relative;
  background: var(--teal);
}
.site-header--solid .site-header__inner { padding-block: 20px; min-height: 143px; }
.site-header--solid .brand { width: 115px; }
.site-header--solid .site-nav__link { color: #CCCCCC; }
.site-header--solid .site-nav__link:hover,
.site-header--solid .site-nav__link:focus-visible,
.site-header--solid .site-nav__link.is-active { color: #FFFFFF; }
.site-header--solid .site-nav__link::after { background: var(--gold); }
.site-header--solid .nav-toggle { color: #fff; border-color: rgba(255, 255, 255, 0.4); background: transparent; }
.site-header--solid .nav-toggle:hover { background: rgba(255, 255, 255, 0.1); }
.site-header--solid :focus-visible { outline-color: #D9C99A; }

.page-body { overflow-x: clip; background: var(--white); }
.page-body .x-con,
.page-body .x-inner { box-sizing: border-box; min-width: 0; }
.page-body .x-con--top { width: 100%; }
/* Marcadores de componentes (formularios, reseñas...): no crean caja propia */
.page-body .x-mk { display: contents; }
.page-body .x-text { overflow-wrap: anywhere; }
.page-body .x-text > :first-child { margin-top: 0 !important; }
.page-body .x-text > :last-child { margin-bottom: 0 !important; }
.page-body .x-text a { text-underline-offset: 3px; transition: color var(--t-micro) var(--ease-out); }
.page-body .x-text a:hover { color: var(--gold); }
.page-body .x-text img { max-width: 100%; height: auto; }
.page-body .x-text ul,
.page-body .x-text ol { margin-left: 0; }
.page-body .x-h a { color: inherit; text-decoration: none; }
.page-body .x-h a:hover { color: var(--gold); }
.page-body .x-img img { display: inline-block; vertical-align: top; }
.page-body .x-hr { width: 100%; }
.page-body .x-table { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.page-body .x-html { overflow-wrap: anywhere; }

.page-body .x-btn {
  display: inline-block;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: filter var(--t-micro) var(--ease-out), translate var(--t-micro) var(--ease-out), box-shadow var(--t-micro) var(--ease-out), opacity var(--t-micro) var(--ease-out);
}
.page-body .x-btn:hover { filter: brightness(1.12); translate: 0 -2px; box-shadow: 0 14px 24px -14px rgba(20, 45, 55, 0.55); }
.page-body .x-btn:active { translate: 0 0; scale: 0.98; box-shadow: none; }
.page-body .x-btn .ek { margin-right: 8px; vertical-align: -0.1em; }

.page-body .x-tile { transition: translate 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out); }
.page-body .x-tile:hover { translate: 0 -4px; box-shadow: 0 24px 36px -22px rgba(20, 45, 55, 0.35) !important; }

.page-body .x-icon { display: inline-flex; align-items: center; justify-content: center; flex: none; line-height: 1; }
.page-body .x-icon .ek::before { display: block; }
.page-body .x-icon--dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); margin-top: 0.6em; }
.page-body .x-iconlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.page-body .x-iconlist--inline { flex-direction: row; flex-wrap: wrap; gap: 8px 24px; }
.page-body .x-iconlist li { display: flex; align-items: flex-start; gap: 10px; }
.page-body .x-iconlist a { color: inherit; }
.page-body .x-iconbox .x-h a { color: inherit; text-decoration: none; }
.page-body .x-iconbox a:hover { color: var(--gold); }
.page-body .x-iconwrap a { display: inline-block; transition: scale var(--t-micro) var(--ease-out); }
.page-body .x-iconwrap a:hover { scale: 1.06; }
.page-body .x-cta a:hover .x-h { color: var(--gold) !important; }
.page-body .x-meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.page-body .x-post-title { text-wrap: balance; }

/* FAQ convertido: lista sobre el fondo de su tarjeta contenedora */
.page-body .x-acc { width: 100%; }
.page-body .x-acc .acc {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: var(--acc-gap, 0px);
  border-bottom: var(--acc-border, 1px solid rgba(20, 45, 55, 0.12));
}
.page-body .x-acc .acc:hover { box-shadow: none; }
.page-body .x-acc .acc__btn {
  padding: var(--acc-pad, 18px 8px);
  line-height: var(--acc-lh, 1.3);
  background: var(--acc-bg, transparent);
  font-family: var(--acc-ff, var(--font-body));
  font-size: var(--acc-fs, 1rem);
  font-weight: var(--acc-fw, 600);
  color: var(--acc-color, #111);
  transition: color var(--t-micro) var(--ease-out);
}
.page-body .x-acc .acc__btn:hover { color: var(--gold); }
.page-body .x-acc .acc__body { padding: 0 8px 20px; font-size: 0.95rem; color: var(--muted); }
.page-body .x-acc .acc__body .x-con { padding-inline: 0 !important; }

.x-map { width: 100%; overflow: hidden; border-radius: var(--radius-card); background: var(--paper); }
.x-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.x-countdown { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* Artículos: títulos y entradillas más editoriales */
.page-body--post .x-text { font-size: 1.0625rem; }

/* Listado de artículos */
.posts-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 28px;
  width: 100%;
  max-width: 1340px;
  margin-inline: auto;
}
.post-card { display: flex; flex-direction: column; min-width: 0; }
.post-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  border-radius: var(--radius-review);
  background: var(--gold-soft);
}
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: scale 0.9s var(--ease-out); }
.post-card:hover .post-card__media img { scale: 1.05; }
.post-card__ph { display: block; width: 100%; height: 100%; }
.post-card__body { display: flex; flex-direction: column; gap: 10px; padding: 20px 4px 0; }
.post-card__date { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--gold); }
.post-card__title { font-family: var(--font-display); font-size: 1.5rem; font-weight: 400; line-height: 1.2; color: var(--teal); }
.post-card__title a { transition: color var(--t-micro) var(--ease-out); }
.post-card__title a:hover { color: var(--gold); }
.post-card__text { font-size: 0.9375rem; line-height: 1.6; color: var(--muted); }
.post-card__more { margin-top: 4px; font-size: 0.9375rem; font-weight: 700; color: var(--ink); display: inline-flex; align-items: center; gap: 6px; }
.post-card__more i { transition: translate var(--t-micro) var(--ease-out); }
.post-card__more:hover i { translate: 4px 0; }

@media (max-width: 1024px) {
  /* Medidas del original en tablet: logo 94 px, cabecera 124 px */
  .site-header--solid .site-header__inner { min-height: 124px; }
  .site-header--solid .brand { width: 94px; }
  .site-header--solid .site-nav__link { color: var(--ink); }
  .site-header--solid .site-nav__link.is-active,
  .site-header--solid .site-nav__link:hover { color: var(--teal); }
  .posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  /* Medidas del original en móvil: logo 90 px, cabecera 110 px */
  .site-header--solid .site-header__inner { min-height: 110px; padding-block: 15px; }
  .site-header--solid .brand { width: 90px; }
  .posts-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   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__logo { display: block; margin: 0 auto 28px; height: auto; }
.mform__title { margin: 0 0 12px; text-align: center; font-family: var(--font-body); font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700; line-height: 1.25; color: var(--teal); }
.mform__lead { margin: 0 auto 28px; max-width: 62ch; text-align: center; font-size: 1rem; line-height: 1.6; color: var(--ink); }
.mform__plan { margin: -8px auto 24px; text-align: center; font-size: 0.9375rem; color: var(--muted); }
.mform__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; }
.mform__grid--single { grid-template-columns: minmax(0, 1fr); }
.mfield { display: flex; flex-direction: column; gap: 6px; min-width: 0; border: 0; padding: 0; margin: 0; }
.mfield--wide { grid-column: 1 / -1; }
.mfield__label { font-size: 0.875rem; font-weight: 600; line-height: 1.3; color: var(--teal); padding: 0; }
.mfield__label abbr, .mcheck abbr { color: #B3261E; text-decoration: none; margin-left: 2px; }
.mfield__hint { font-size: 0.8125rem; line-height: 1.4; color: var(--muted); }
.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; }
.mphone { display: grid; grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr); gap: 12px; }
.mfield--group { gap: 10px; }
.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__legal { margin: 18px 0 8px; font-size: 0.8125rem; line-height: 1.55; color: var(--muted); }
.mform__legal a { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }
.mform__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.mform__actions { margin-top: 26px; }
.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)
   ========================================================================== */
.pricing { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; width: 100%; max-width: 1100px; margin-inline: auto; color: #fff; }
/* Mismo alto que la tabla de precios de Stripe del original (678 px a 1440) */
@media (min-width: 1025px) { .pricing { padding-block: 80px 73px; } }
.plan { display: flex; flex-direction: column; min-width: 0; font-family: var(--font-ui); }
.plan__logo { width: 64px; height: auto; margin-bottom: 20px; }
.plan__name { margin: 0 0 12px; font-size: 1.125rem; font-weight: 600; line-height: 1.3; }
.plan__desc { margin: 0 0 22px; font-size: 0.8125rem; font-weight: 300; line-height: 1.55; opacity: 0.95; min-height: 9.4em; }
.plan__price { margin: 0 0 14px; font-size: 2.25rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; }
.plan__cta { width: 100%; justify-content: center; font-family: var(--font-ui); padding-block: 16px; }
.plan__inc { margin: 20px 0 10px; font-size: 0.8125rem; font-weight: 500; }
.plan__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 0.8125rem; font-weight: 300; line-height: 1.4; }
.plan__list li { display: flex; align-items: flex-start; gap: 10px; }
.plan__list i { flex: none; font-size: 16px; margin-top: 1px; }

/* Bloques de apoyo de páginas convertidas */
.x-slides {
  display: flex;
  gap: 24px;
  width: 100%;
  overflow-x: auto;
  padding-bottom: 14px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.x-slides > .x-con { flex: 0 0 min(340px, 84%) !important; width: auto !important; scroll-snap-align: start; }
.page-body .x-btnwrap .x-btn { max-width: 100%; }

@media (max-width: 1024px) {
  .pricing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .mform__grid { grid-template-columns: minmax(0, 1fr); }
  .mphone { grid-template-columns: minmax(0, 1fr); }
  .pricing { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .plan__desc { min-height: 0; }
}

/* 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 .mform__legal a { color: #fff; }
.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-hero {
  background: var(--cream);
  padding: var(--space-16) var(--space-6) var(--space-12);
}
.booking-hero__inner {
  max-width: 860px;
  margin-inline: auto;
  text-align: center;
}
.booking-hero__eyebrow {
  margin: 0 0 var(--space-3);
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
}
.booking-hero__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.125rem, 4.2vw, 3.5rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--teal);
  text-wrap: balance;
}
.booking-hero__lead {
  max-width: 60ch;
  margin: var(--space-5) auto 0;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--ink-soft);
}
.booking-hero__lead strong { color: var(--teal); }
.booking {
  max-width: 1000px;
  margin-inline: auto;
  padding: var(--space-12) var(--space-6) var(--space-16);
}
.booking__frame {
  min-height: 680px;
  border: 1px solid var(--paper);
  border-radius: var(--radius-card);
  background: var(--white);
  overflow: hidden;
}
.booking__frame iframe {
  display: block;
  width: 100%;
  min-height: 680px;
  border: 0;
}
.booking__alt {
  max-width: 60ch;
  margin: var(--space-8) auto 0;
  text-align: center;
  color: var(--muted);
}
.booking__alt a {
  color: var(--teal);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s var(--ease-out);
}
.booking__alt a:hover,
.booking__alt a:focus-visible { color: var(--gold); }

/* Con el chat de HighLevel activo, el botón de WhatsApp sube para no taparlo */
.has-ghl-chat .wa-fab { bottom: 104px; }

@media (max-width: 767px) {
  .booking-hero { padding: var(--space-12) var(--space-4) var(--space-8); }
  .booking { padding: var(--space-8) var(--space-2) var(--space-12); }
  .booking__frame { border-radius: var(--radius-icon); }
}

/* ---------- 26. Pie convertido del original (tools/extract.mjs --footer) ---------- */
.site-footer--x { padding: 0; background: none; }
.site-footer--x .x-con, .site-footer--x .x-inner { box-sizing: border-box; min-width: 0; }
.site-footer--x .x-mk { display: contents; }
.site-footer--x a { transition: color var(--t-micro) var(--ease-out); }
.site-footer--x .x-navlist a:hover, .site-footer--x .x-navlist a:focus-visible,
.site-footer--x .x-iconlist a:hover, .site-footer--x .x-iconlist a:focus-visible { color: var(--gold) !important; }
.site-footer--x .x-iconlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.site-footer--x .x-iconlist li { display: flex; align-items: flex-start; gap: 10px; }
.site-footer--x .x-iconlist a { color: inherit; text-decoration: none; }
.site-footer--x .x-icon { display: inline-flex; align-items: center; justify-content: center; flex: none; line-height: 1; }
.site-footer--x .x-social__a { text-decoration: none; transition: scale var(--t-micro) var(--ease-out), color var(--t-micro) var(--ease-out); }
.site-footer--x .x-social__a:hover { scale: 1.12; color: var(--gold) !important; }
.site-footer--x .x-btn { display: inline-block; text-decoration: none; transition: background-color var(--t-micro) var(--ease-out), color var(--t-micro) var(--ease-out), translate var(--t-micro) var(--ease-out); }
.site-footer--x .x-btn:hover { background-color: var(--teal) !important; color: #fff !important; translate: 0 -2px; }
.site-footer--x .x-img img { display: inline-block; vertical-align: top; }
.site-footer--x .x-seals { overflow: hidden; }
.site-footer--x .x-seals .car { height: 100%; }
.site-footer--x .x-seals .seal { margin: 0; display: flex; justify-content: center; }
/* Contenido por encima de las formas (olas/triángulos) de Elementor */
.x-con > .x-shape ~ :not(.x-shape):not(.x-overlay) { position: relative; z-index: 1; }
.x-icon svg { width: 1em; height: 1em; fill: currentColor; display: block; }
/* El original mide los botones con la fuente del sistema; con la tipografía de marca no deben partirse */
.site-footer--x .x-btn { white-space: nowrap; }

/* 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; }
  .site-header__inner { padding-inline: 13px; }
}
@media (max-width: 767px) {
  .site-header__inner { padding-inline: 20px; }
}

/* ---------- 27. Paginación del blog ---------- */
.pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 48px auto 0; font-family: var(--font-body); }
.pager__num, .pager__step {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-width: 44px; height: 44px; padding: 0 14px;
  border: 1px solid rgba(20, 45, 55, 0.18); color: var(--teal); text-decoration: none; font-weight: 600;
  transition: background-color var(--t-micro) var(--ease-out), color var(--t-micro) var(--ease-out), border-color var(--t-micro) var(--ease-out);
}
.pager__num:hover, .pager__step:hover, .pager__num:focus-visible, .pager__step:focus-visible { border-color: var(--gold); color: var(--gold); }
.pager__num.is-current { background: var(--teal); border-color: var(--teal); color: #fff; }

/* 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%}.post-card__title{text-wrap:pretty}.post-card__text{line-height:1.65}.post-card__more{min-height:44px;display:inline-flex;align-items:center}.acc__btn{min-height:52px}.x-text a{text-decoration:underline;text-underline-offset:3px}.site-nav__sub a{min-height:44px}.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 .guide-meta,.new-guide .guide-sources{font-size:13px;color:#555}.new-guide ul{list-style:disc;padding-left:24px}.new-guide li{margin-bottom:12px}.new-guide .guide-checklist{background:var(--cream);border-left:3px solid var(--gold);padding:10px 25px 25px;margin:30px 0}.new-guide .guide-sources{border-top:1px solid #ddd;padding-top:20px}.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}.cookie-footer-control{text-align:center;padding:18px;background:var(--cream);border-top:1px solid #dedbd0}.cookie-footer-control button{color:var(--teal);text-decoration:underline;text-underline-offset:3px;font:12px var(--font-body);min-height:35px}.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}.mphone{flex-wrap:wrap}.mphone select{flex:1 1 140px;min-width:0}.mphone input{flex:1 1 130px;min-width:0}.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){.site-footer--x .x-con{min-width:0;max-width:100%}.site-footer--x .x-iconlist{min-width:0;max-width:100%}.site-footer--x .x-iconlist span{overflow-wrap:anywhere}}

@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-layout .btn--outline{border:1px solid #89958f;background:transparent;color:var(--teal)}.rv-layout .btn--outline:hover{background:var(--teal);color:#fff}
.rv-shell{width:calc(100% - 2*var(--rv-gutter));max-width:var(--rv-max);margin-inline:auto}.rv-kicker{font:600 10px/1.6 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#827250}.rv-number{font:500 11px/1 var(--font-body);letter-spacing:.08em;color:#8e7b53}.rv-arrow{display:inline-block;font:400 26px/1 var(--font-body);transition:transform .25s}.rv-text-link{display:inline-flex;align-items:center;gap:25px;min-height:44px;font:600 12px/1.5 var(--font-body);border-bottom:1px solid currentColor;width:max-content;max-width:100%}.rv-text-link:hover .rv-arrow{transform:translate(3px,-3px)}
/* 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-mega__intro{padding:12px 35px 25px 0}.rv-mega__intro h2{font:400 32px/1.18 var(--font-display);margin:16px 0 22px}.rv-mega__intro>a{font-size:12px;text-decoration:underline;text-underline-offset:6px}.rv-mega__links{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.rv-mega__links>a{display:grid;grid-template-columns:1fr 22px;align-content:center;border-bottom:1px solid var(--rv-line);padding:18px 0;transition:color .2s}.rv-mega__links span{font:400 25px/1.2 var(--font-display)}.rv-mega__links small{font-size:10px;line-height:1.6;color:var(--rv-muted);grid-column:1;margin-top:7px}.rv-mega__links i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;color:#87704a}.rv-mega__links>a:hover{color:#917841}.rv-mega__bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:20px 0;margin-top:20px;border-top:1px solid var(--rv-line);font-size:11px}.rv-header.is-scrolled{box-shadow:0 5px 18px #142d3715}.rv-nav-backdrop{position:fixed;inset:100px 0 0;background:#142d3755;z-index:1090}
@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{color:#c1ae7f}.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-video-toggle{position:absolute;right:calc(var(--rv-gutter) + 80px);bottom:28px;width:42px;height:42px;border:1px solid #ffffff77;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:17px;background:#142d3733;z-index:2}.rv-video-toggle:hover{background:var(--teal)}
.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-layout .pillars{grid-column:1/-1;margin:58px 0 55px;gap:0;border-top:1px solid var(--rv-line);border-bottom:1px solid var(--rv-line)}.rv-layout .pillar{padding:30px 28px 30px 0;background:transparent;border-radius:0;gap:12px;border-right:1px solid var(--rv-line)}.rv-layout .pillar:not(:first-child){padding-left:28px}.rv-layout .pillar:last-child{border:0}.rv-layout .pillar:hover{translate:none;box-shadow:none}.rv-layout .pillar__icon{background:transparent;width:40px;height:44px;font-size:31px;justify-content:start;color:#8d7b51;border-radius:0}.rv-layout .pillar:hover .pillar__icon{background:transparent;color:var(--teal)}.rv-layout .pillar__title{font-size:14px;font-weight:600;color:var(--teal)}.rv-layout .pillar__text{font-size:12px;line-height:1.75;font-weight:400}.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 .commit__note{background:none;padding:0;margin:0;font:400 17px/1.95 var(--font-body);text-align:left;color:var(--teal)}
.rv-layout .quote{padding-block:95px;background:var(--teal)}.rv-layout .quote__figure{max-width:980px;margin:auto;text-align:left}.rv-layout .quote__text{font:400 clamp(25px,2.75vw,42px)/1.5 var(--font-display);letter-spacing:-.015em;color:#f3f1e9}.rv-layout .quote__meta{display:flex;align-items:center;gap:18px;margin-top:35px;flex-wrap:wrap}.rv-layout .quote__meta .slot--circle{width:48px;height:48px;flex:0 0 48px;margin:0}.rv-layout .quote__name{font:500 12px var(--font-body)}.rv-layout .quote__role{color:#b5c2c5;font:400 11px var(--font-body)}.rv-layout .stats{background:#eeece4;padding-block:35px}.rv-layout .stat{padding:30px 50px;gap:16px;border-right:1px solid #d1d0c5}.rv-layout .stat:first-child{padding-left:0}.rv-layout .stat:last-child{border:0}.rv-layout .stat__num{font-size:64px;line-height:1.1;letter-spacing:-.04em;color:var(--teal)}.rv-layout .stat__unit{font-size:22px;letter-spacing:-.02em}.rv-layout .stat__text{font:400 12px/1.75 var(--font-body);max-width:230px;color:#596866}
.rv-layout .services{background:#fbfaf7}.rv-layout .services__wrap{max-width:var(--rv-max);width:100%;margin:auto}.rv-layout .services__title{text-align:left;font:400 clamp(36px,4vw,58px)/1.15 var(--font-display);letter-spacing:-.02em;margin-bottom:45px;color:var(--teal)}.rv-layout .services__title em{color:#95835d;font-style:italic}.rv-layout .services__grid{display:block;counter-reset:service;max-width:none}.rv-layout .svc{counter-increment:service;display:grid;grid-template-columns:52px 1fr 1fr 75px;gap:24px;padding:32px 0;margin:0;background:none;border:none;border-top:1px solid var(--rv-line);border-radius:0;min-height:130px;align-items:center;box-shadow:none;transition:padding .35s,background .35s}.rv-layout .svc:last-child{border-bottom:1px solid var(--rv-line)}.rv-layout .svc::before{content:counter(service,decimal-leading-zero);font:400 11px var(--font-body);color:#8e7b53}.rv-layout .svc:hover{transform:none;translate:none;background:#f2f0e8;padding-left:18px;padding-right:18px;box-shadow:none}.rv-layout .svc__icon{display:none}.rv-layout .svc__title{margin:0;text-align:left;font:400 clamp(25px,2.5vw,38px)/1.15 var(--font-display);color:var(--teal)}.rv-layout .svc__text{margin:0;text-align:left;font:400 13px/1.8 var(--font-body);max-width:310px;color:#66726e}.rv-layout .svc__more{font:600 11px/1.5 var(--font-body);width:auto;text-align:right;margin:0;text-decoration:none;color:var(--teal)}.rv-layout .svc__more::after{content:'↗';font-size:21px;display:block;margin-top:6px}
.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 .ask__bg{inset:-15% 0}.rv-layout .ask__veil{opacity:.78;background:var(--teal)}.rv-layout .ask__inner{width:100%;max-width:var(--rv-max);margin:auto;display:block}.rv-layout .ask__card{max-width:640px;background:transparent;padding:0;border:0;border-radius:0;box-shadow:none}.rv-layout .ask__title{font-size:clamp(38px,4vw,58px);color:#fff;margin-bottom:25px}.rv-layout .ask__text{font:400 14px/1.85 var(--font-body);color:#e5e8e2}.rv-layout .ask__btn{background:#f7f6f2;color:var(--teal);margin-top:28px}.rv-layout .biz{padding-block:70px}.rv-layout .biz__grid{grid-template-columns:1.5fr .6fr;gap:80px;align-items:center}.rv-layout .biz__title{font-size:38px;color:var(--teal);line-height:1.2}.rv-layout .biz__text{font-size:14px;line-height:1.8;max-width:580px;margin-top:18px}.rv-layout .biz__small{font-size:11px}.rv-layout .biz__media{height:240px;border-radius:2px;overflow:hidden}.rv-layout .biz__media .slot{height:100%;border-radius:0}.rv-layout .biz__media img{height:100%;width:100%;object-fit:cover}.rv-layout .biz .btn{margin-top:24px}.rv-layout .is-disabled{opacity:.5;cursor:default}
/* Areas, services and knowledge library. */
.rv-breadcrumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:22px var(--rv-gutter);font:400 10px/1.6 var(--font-body);color:#77817d;border-bottom:1px solid var(--rv-line);background:#fbfaf7}.rv-breadcrumb a:hover{color:var(--teal)}.rv-intro{padding:65px 0 75px;background:#f7f6f2}.rv-intro .rv-shell{position:relative}.rv-intro h1{font:400 clamp(40px,5.2vw,75px)/1.12 var(--font-display);letter-spacing:-.025em;color:var(--teal);max-width:940px;margin:20px 0 28px}.rv-intro h1 em{font-weight:400;font-style:italic;color:#98835b}.rv-intro__lead{font-size:15px;line-height:1.9;max-width:610px;color:#61706b}.rv-intro--photo{padding:0}.rv-intro--photo .rv-shell{max-width:none;width:100%;display:grid;grid-template-columns:1.12fr .88fr;min-height:465px}.rv-intro__copy{min-width:0}.rv-intro--photo .rv-intro__copy{padding:65px 60px 65px max(var(--rv-gutter),calc((100vw - var(--rv-max))/2));align-self:center}.rv-intro--photo h1{font-size:clamp(38px,4.4vw,65px);max-width:630px}.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-intro--photo .rv-intro__lead{max-width:530px;font-size:14px}.rv-section{padding-block:75px}.rv-section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.rv-section-head h2,.rv-faq-section h2,.rv-faq-group h2{font:400 clamp(30px,3.2vw,45px)/1.2 var(--font-display);letter-spacing:-.02em;color:var(--teal)}.rv-section-head .rv-kicker{margin-bottom:13px}.rv-section-head>.rv-kicker{white-space:nowrap}.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__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.rv-area-card__top>a{width:38px;height:38px;display:grid;place-items:center}.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-area-card__links{display:flex;flex-direction:column;margin:26px 0 23px;border-top:1px solid var(--rv-line)}.rv-area-card__links>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}.rv-area-card__links .rv-arrow{font-size:17px}.rv-area-card .rv-text-link{font-size:11px;border:0}.rv-crosslinks{display:flex;flex-wrap:wrap;gap:15px 30px;margin-top:50px;border-top:1px solid var(--rv-line);padding-top:30px;font-size:12px}.rv-crosslinks p{width:100%;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#788274}.rv-crosslinks a{min-height:35px;text-decoration:underline;text-underline-offset:5px}.rv-section-nav{display:flex;gap:40px;padding:18px var(--rv-gutter);border-block:1px solid var(--rv-line);background:#fbfaf7;font-size:11px;align-items:center;flex-wrap:wrap}.rv-section-nav a:last-child{margin-left:auto;display:flex;gap:20px;align-items:center;color:#826e43}.rv-section-nav .rv-arrow{font-size:20px}.rv-service-list{border-top:1px solid var(--rv-line)}.rv-service-row{display:grid;grid-template-columns:65px 1fr 40px;gap:20px;padding:32px 5px;border-bottom:1px solid var(--rv-line);align-items:start;transition:padding .3s,background .3s}.rv-service-row:hover{padding-inline:20px;background:#f1efe7}.rv-service-row .rv-number{padding-top:9px}.rv-service-row h3{font:400 29px/1.2 var(--font-display);margin:0 0 12px;letter-spacing:-.015em}.rv-service-row p{font-size:13px;line-height:1.8;color:#65726c;max-width:730px}.rv-service-row .rv-arrow{padding-top:8px;font-size:24px}.rv-case-link{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#efede2;font-size:13px;padding:25px 30px;margin-top:35px}.rv-faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:55px 0 70px}.rv-faq-section h2{margin:18px 0 24px}.rv-faq{border-top:1px solid var(--rv-line);padding:0}.rv-faq:last-child{border-bottom:1px solid var(--rv-line)}.rv-faq summary{display:flex;justify-content:space-between;align-items:center;gap:25px;cursor:pointer;padding:23px 0;min-height:60px;font-size:14px;line-height:1.6;font-weight:500;list-style:none}.rv-faq summary::-webkit-details-marker{display:none}.rv-faq summary i{font:300 25px/1 var(--font-body);color:#928053;transition:transform .25s;flex:0 0 20px}.rv-faq[open] summary i{transform:rotate(45deg)}.rv-faq[open] summary{color:#91784b}.rv-faq__answer{font-size:13px;line-height:1.9;color:#5a6962;padding:0 30px 25px 0;animation:rv-dropdown .2s ease-out}.rv-source-note{font-size:11px;line-height:1.8;color:#768075;padding-bottom:40px}.rv-source-note a{text-decoration:underline}.rv-faq-groups{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:65px 70px}.rv-faq-group h2{font-size:30px;margin:15px 0 25px}.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-consult__actions{display:flex;align-items:start;flex-direction:column;gap:15px}.rv-consult__actions .btn{min-width:240px}.rv-consult__actions .rv-text-link{font-size:11px}
.rv-search{display:flex;align-items:center;gap:12px;border-bottom:1px solid #859185;min-width:260px;max-width:440px;padding:13px 0;color:#758574}.rv-search>i{font-size:22px}.rv-search input{font:400 13px var(--font-body);border:0;background:transparent;width:100%;min-width:0;color:var(--teal);outline-offset:7px;padding:8px 0}.rv-search--wide{max-width:700px;margin-bottom:30px}.rv-filters{display:flex;flex-wrap:wrap;gap:10px 27px;margin-bottom:27px;border-bottom:1px solid var(--rv-line)}.rv-filters button{font:500 12px/1.4 var(--font-body);padding:13px 0;min-height:44px;border-bottom:2px solid transparent;color:#657368;transition:color .2s,border-color .2s}.rv-filters button[aria-pressed=true]{border-color:var(--teal);color:var(--teal)}.rv-results{font-size:11px;color:#73816f;margin-bottom:24px;min-height:18px}.rv-empty{padding:60px 25px;background:#f1efe6;text-align:center;font-size:14px;line-height:1.9}.rv-empty h3{font:400 32px var(--font-display);margin-bottom:15px}.rv-empty .btn{margin-top:25px}.rv-empty a{text-decoration:underline}.rv-load{text-align:center;margin-top:40px}.rv-load .btn{min-width:230px}
.rv-feature-wrap{margin-top:0;padding-top:35px}.rv-featured{display:grid;grid-template-columns:1.12fr 1fr;background:var(--teal);color:white;min-height:400px}.rv-featured__image{display:block;overflow:hidden;min-height:380px}.rv-featured__image img{height:100%;width:100%;object-fit:cover;transition:transform 1s}.rv-featured__image:hover img{transform:scale(1.025)}.rv-featured__copy{padding:45px;display:flex;flex-direction:column;justify-content:center}.rv-post-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:9px;letter-spacing:.04em;color:#899589}.rv-post-meta>span:first-child,.rv-post-meta>a:first-child{color:#a7956b;letter-spacing:.12em;text-transform:uppercase}.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-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;font-size:10px;color:#78816f}.rv-post-bottom>a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b9bfb1;border-radius:50%;color:var(--teal);transition:background .25s,color .25s}.rv-post-bottom>a:hover{background:var(--teal);color:white}.rv-featured .rv-post-bottom{color:#b3bcb1}.rv-featured .rv-post-bottom>a{border-color:#657369;color:#d2c092}.rv-featured .rv-post-bottom>a:hover{background:#f5f3ec;color:var(--teal)}.rv-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 30px}.rv-post{display:flex;flex-direction:column;min-width:0}.rv-post__image{display:block;aspect-ratio:1.55;overflow:hidden;background:#e5e6de}.rv-post__image img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .7s;filter:saturate(.82)}.rv-post:hover .rv-post__image img{transform:scale(1.035);filter:saturate(1)}.rv-post__copy{padding:22px 0 0;display:flex;flex-direction:column;flex:1}.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-post__copy>p{font-size:12px;line-height:1.8;color:#6a766c;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.rv-post .rv-post-bottom{margin-top:auto;padding-top:22px;border-bottom:1px solid var(--rv-line);padding-bottom:18px}.rv-related{border-top:1px solid var(--rv-line)}.rv-archive{display:flex;align-items:center;gap:10px;font-size:11px;padding-bottom:50px}.rv-archive>span{margin-right:20px;color:#7b8479}.rv-archive a{width:36px;height:36px;border:1px solid #c9cfc4;display:grid;place-items:center}.rv-archive a[aria-current],.rv-archive a:hover{background:var(--teal);color:white;border-color:var(--teal)}
/* Readable articles and a useful index, without discarding the existing bodies. */
.rv-article-tools{padding-block:20px}.rv-article-tools .rv-breadcrumb{padding:0 0 17px;border:0;background:transparent}.rv-article-tools>.rv-post-meta{font-size:10px}.rv-toc{margin-top:20px;border-block:1px solid var(--rv-line);padding:0}.rv-toc summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;cursor:pointer;list-style:none;padding:17px 0}.rv-toc summary::-webkit-details-marker{display:none}.rv-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;padding:5px 0 25px;font-size:12px;line-height:1.7}.rv-toc a:hover{text-decoration:underline}.rv-article .page-body--post{max-width:var(--rv-max);margin:auto}.rv-article .new-guide{padding-top:25px;max-width:870px}.rv-article .new-guide>h1{font-size:clamp(34px,4vw,57px);line-height:1.17;letter-spacing:-.025em}.rv-article #pb h1.x-post-title{font-family:var(--font-display)!important;font-weight:400!important;line-height:1.18!important;letter-spacing:-.025em!important;color:var(--teal)!important;font-size:clamp(34px,4vw,57px)!important}.rv-article #pb .x-text{line-height:1.9!important}.rv-article #pb .x-text :is(h2,h3){font-family:var(--font-display)!important;font-weight:400!important;color:var(--teal)!important;line-height:1.3!important;margin-top:35px!important}.rv-article #pb .x-text p{margin-bottom:22px!important}.rv-article #pb img{max-width:100%}.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.page-inner #content{padding-top:0}.rv-legacy #pb{background:#fbfaf7}.rv-legacy #pb>.x-con--top:first-child{background:#f0eee5!important;padding-block:15px!important}.rv-legacy #pb>.x-con--top:first-child :is(h1,h2){font-family:var(--font-display)!important;letter-spacing:-.025em!important;color:var(--teal)!important;font-weight:400!important}.rv-legacy #pb .x-btn{border-radius:2px!important}.rv-legacy #pb .x-tile{box-shadow:none!important;border-radius:2px!important;border-color:#d5d8ce!important}.rv-legacy #pb .x-tile h3{font-family:var(--font-display)!important;color:var(--teal)!important;font-weight:400!important;letter-spacing:-.01em!important}.rv-layout .booking-hero{background:#f0eee5;padding:65px var(--rv-gutter)}.rv-layout .booking-hero__title{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,4vw,56px);max-width:880px;letter-spacing:-.02em}.rv-layout .booking{padding-block:45px 70px}.rv-layout .booking__frame{border:1px solid var(--rv-line);border-radius:2px;box-shadow:none}.rv-layout .mform :is(input:not([type=checkbox]),select,textarea){border-radius:2px;background:#fbfaf7;border-color:#bbc5b9}.rv-layout .mform__legal{font-size:12px;line-height:1.8}.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__top{display:grid;grid-template-columns:1fr 2.1fr 70px;gap:40px;align-items:center;padding-bottom:50px;border-bottom:1px solid #ffffff24}.rv-footer__top>a:first-child{width:110px}.rv-footer__top img{width:110px;height:auto}.rv-footer__top h2{font:400 clamp(34px,4vw,55px)/1.17 var(--font-display);letter-spacing:-.025em;color:#f6f3e9}.rv-footer__top em{font-style:italic;color:#b3a175}.rv-round-link{width:65px;height:65px;display:grid;place-items:center;border:1px solid #9f9470;border-radius:50%;font-size:32px;color:#c6b384;transition:background .25s,color .25s}.rv-round-link:hover{background:#b4a174;color:var(--teal)}.rv-footer__grid{display:grid;grid-template-columns:1fr .9fr 1.3fr 1.4fr;gap:45px;padding:45px 0}.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}.rv-footer__map{display:inline-block;margin-top:13px;font-size:10px;text-decoration:underline;text-underline-offset:5px}.rv-footer__contact{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:25px 0;border-block:1px solid #ffffff24}.rv-footer__contact>a{font:400 clamp(16px,2vw,25px)/1.5 var(--font-display)}.rv-footer__contact nav{display:flex;gap:22px;flex-wrap:wrap;font-size:10px}.rv-footer__seals{display:flex;align-items:center;justify-content:start;gap:28px;padding:28px 0}.rv-footer__seals>p{font-size:10px;line-height:1.6;max-width:90px;color:#a8b9ba}.rv-footer__seals img{height:65px;width:auto;object-fit:contain;background:#f7f6f2;padding:4px}.rv-footer__seals .rv-aec{width:150px;height:40px;padding:8px}.rv-footer__legal{border-top:1px solid #ffffff24;display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:25px;color:#a9b7b6;font:400 9px/1.8 var(--font-body)}.rv-footer__legal nav{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.rv-footer__legal button{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px;padding:8px 0}
/* 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}.rv-layout .mform__hp{position:absolute!important;left:-9999px!important}
@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-faq-section{gap:45px}.rv-footer__grid{gap:25px}.rv-featured__copy{padding:30px}.rv-post-grid{gap:35px 22px}.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-mega__intro{display:none}.rv-mega__links{padding:5px 20px;gap:0 25px}.rv-mega__links span{font-size:22px}.rv-mega__links small{font-size:10px}.rv-mega__links>a{padding:17px 0;min-height:80px}.rv-mega__bottom{margin:0;padding:22px 20px;gap:20px;flex-wrap:wrap;font-size:11px}.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-nav-backdrop{display:none}.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-layout .pillars{margin:20px 0 25px}.rv-layout .pillar{padding-right:20px}.rv-layout .pillar:not(:first-child){padding-left:20px}.rv-layout .pillar__title{font-size:12px}.rv-layout .pillar__text{font-size:11px}.rv-commit-story{gap:35px}.rv-layout .commit__note{font-size:14px}.rv-layout .quote__text{font-size:31px}.rv-layout .stats{padding-block:20px}.rv-layout .stat{padding:25px}.rv-layout .stat__num{font-size:53px}.rv-layout .faq>.wrap{grid-template-columns:.7fr 1.3fr;gap:20px 40px}.rv-layout .faq .section-title{font-size:38px}.rv-layout .biz__grid{gap:40px}.rv-layout .biz__title{font-size:30px}.rv-footer__grid{grid-template-columns:1fr 1fr;gap:35px 55px}.rv-footer__contact{flex-wrap:wrap}.rv-footer__legal{flex-direction:column;align-items:start}.rv-intro--photo .rv-intro__copy{padding-right:30px}.rv-intro--photo h1{font-size:43px}.rv-intro__image{min-height:440px}.rv-intro--photo .rv-intro__lead{font-size:13px}.rv-area-card{padding:27px}.rv-faq-groups{gap:45px}.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-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.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__links{grid-template-columns:1fr}.rv-mega__links>a{padding:13px 0;min-height:65px}.rv-mega__links span{font-size:21px}.rv-mega__links small{font-size:10px}.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-video-toggle{display:none}.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-layout .pillars{grid-template-columns:1fr 1fr;margin:16px 0 12px}.rv-layout .pillar{padding:24px 18px 24px 0;border-right:1px solid var(--rv-line);border-bottom:1px solid var(--rv-line)}.rv-layout .pillar:not(:first-child){padding-left:0}.rv-layout .pillar:nth-child(even){padding-left:18px;border-right:0}.rv-layout .pillar:nth-child(n+3){border-bottom:0}.rv-layout .pillar__title{font-size:12px;line-height:1.5}.rv-layout .pillar__text{font-size:11px}.rv-layout .pillar__icon{font-size:28px;width:35px;height:35px}.rv-commit-story{grid-template-columns:1fr;gap:25px}.rv-commit-story figure{height:230px}.rv-layout .commit__note{font-size:13px;line-height:1.95}.rv-layout .quote__text{font-size:25px;line-height:1.55}.rv-layout .quote__meta{gap:12px;margin-top:28px}.rv-layout .quote__role{font-size:10px;width:calc(100% - 70px);margin-left:60px;margin-top:-12px}.rv-layout .quote__meta .slot--circle{width:42px;height:42px;flex-basis:42px}.rv-layout .stats{padding-block:10px}.rv-layout .stats__wrap{grid-template-columns:1fr}.rv-layout .stat{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:23px 0;border:0;border-bottom:1px solid var(--rv-line)}.rv-layout .stat__num{font-size:47px;letter-spacing:-.04em}.rv-layout .stat__unit{font-size:17px}.rv-layout .stat__text{font-size:10px;line-height:1.8}.rv-layout .services__title{font-size:37px;margin-bottom:30px}.rv-layout .svc{grid-template-columns:24px 1fr 45px;gap:14px;padding:25px 0;min-height:140px}.rv-layout .svc__title{font-size:28px;grid-column:2;grid-row:1}.rv-layout .svc::before{grid-row:1;align-self:start;padding-top:7px}.rv-layout .svc__text{grid-column:2;grid-row:2;font-size:11px}.rv-layout .svc__more{grid-column:3;grid-row:1/3;font-size:9px}.rv-layout .svc:hover{padding-inline:0;background:transparent}.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-layout .ask__title{font-size:36px}.rv-layout .ask__text{font-size:12px;line-height:1.9}.rv-layout .biz__grid{grid-template-columns:1fr;gap:30px}.rv-layout .biz__title{font-size:31px}.rv-layout .biz__text{font-size:12px}.rv-layout .biz__media{height:200px}.rv-layout .biz__small{font-size:10px}.rv-breadcrumb{font-size:9px;padding-block:17px;gap:8px}.rv-intro{padding:43px 0 50px}.rv-intro h1{font-size:39px;line-height:1.17;margin:18px 0 22px}.rv-intro__lead{font-size:13px;line-height:1.9}.rv-intro--photo{padding:0}.rv-intro--photo .rv-shell{display:block}.rv-intro--photo .rv-intro__copy{padding:43px var(--rv-gutter)}.rv-intro--photo h1{font-size:40px;max-width:530px}.rv-intro__image{height:240px;min-height:0}.rv-intro--photo .rv-intro__lead{font-size:12px}.rv-section{padding-block:50px}.rv-section-head{align-items:start;flex-direction:column;gap:22px;margin-bottom:30px}.rv-section-head h2{font-size:33px}.rv-search{min-width:0;width:100%;max-width:none}.rv-search input{font-size:12px}.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-area-card__links>a{font-size:11px}.rv-crosslinks{font-size:11px;margin-top:35px}.rv-section-nav{gap:18px;font-size:10px;padding-block:15px}.rv-section-nav a:last-child{margin-left:0;width:100%}.rv-section-nav .rv-arrow{font-size:16px}.rv-service-row{grid-template-columns:25px 1fr 23px;gap:12px;padding:24px 0}.rv-service-row h3{font-size:26px}.rv-service-row p{font-size:12px;line-height:1.9}.rv-service-row:hover{padding-inline:0}.rv-service-row .rv-arrow{font-size:20px}.rv-faq-section{grid-template-columns:1fr;gap:30px;padding-block:30px 50px}.rv-faq-section h2{font-size:37px}.rv-faq summary{font-size:13px;gap:20px;padding:20px 0}.rv-faq__answer{font-size:12px;padding-right:20px}.rv-faq-groups{grid-template-columns:1fr;gap:35px}.rv-faq-group h2{font-size:29px}.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-consult__actions .btn{min-width:230px}.rv-feature-wrap{padding-top:25px}.rv-featured{grid-template-columns:1fr}.rv-featured__image{min-height:0;height:230px}.rv-featured__copy{padding:28px}.rv-featured h2{font-size:29px;margin:19px 0}.rv-featured p{font-size:12px}.rv-post-meta{font-size:8px;gap:15px}.rv-filters{gap:5px 20px;margin-bottom:22px}.rv-filters button{font-size:11px;padding:13px 0}.rv-post-grid{grid-template-columns:1fr;gap:35px}.rv-post h3{font-size:28px;margin-top:14px}.rv-post__copy>p{font-size:12px}.rv-post__image{aspect-ratio:1.55}.rv-post__copy{padding-top:18px}.rv-post-bottom{font-size:10px}.rv-related .rv-post:last-child{display:flex}.rv-archive{gap:7px;flex-wrap:wrap}.rv-archive>span{margin-right:8px}.rv-toc nav{grid-template-columns:1fr}.rv-article .new-guide{padding:25px var(--rv-gutter) 50px}.rv-article .new-guide>h1{font-size:35px}.rv-footer{padding-top:45px}.rv-footer__top{grid-template-columns:1fr 55px;gap:25px;padding-bottom:35px}.rv-footer__top>a:first-child{grid-column:1/-1;width:82px}.rv-footer__top img{width:82px}.rv-footer__top h2{font-size:31px}.rv-round-link{width:52px;height:52px;font-size:25px}.rv-footer__grid{grid-template-columns:1fr 1fr;gap:30px 25px;padding:35px 0}.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-footer__contact{gap:20px;padding:23px 0}.rv-footer__contact>a{font-size:18px}.rv-footer__contact nav{gap:12px 20px;font-size:10px}.rv-footer__seals{gap:20px;flex-wrap:wrap;padding:25px 0}.rv-footer__seals p{max-width:none;width:100%}.rv-footer__seals img{height:55px}.rv-footer__seals .rv-aec{width:115px;height:33px}.rv-footer__legal{font-size:9px;gap:15px;align-items:start}.rv-footer__legal nav{gap:10px 19px;padding-bottom:65px}.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-hero{padding-block:40px}.rv-layout .booking-hero__title{font-size:34px}.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 .rv-video-toggle{display:none}.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}
.rv-pricing{padding-block:60px 75px}.rv-pricing .pricing{max-width:none;padding:0;gap:24px;color:var(--teal);align-items:stretch}.rv-pricing .plan{padding:32px;background:#f1efe7;border:1px solid #d7dacf;position:relative}.rv-pricing .plan__logo{width:60px;margin-bottom:28px}.rv-pricing .plan__name{font:400 27px/1.25 var(--font-display);min-height:3.8em;margin-bottom:18px}.rv-pricing .plan__desc{font:400 12px/1.8 var(--font-body);color:#607069;min-height:12em;flex-grow:1}.rv-pricing .plan__price{font:400 44px/1.2 var(--font-display);margin-bottom:22px}.rv-pricing .plan__cta{font:500 13px/1.5 var(--font-body);min-height:52px}.rv-pricing .plan__inc{font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding-top:10px}.rv-pricing .plan__list{font:400 12px/1.7 var(--font-body);color:#53645f}.rv-pricing .plan__list i{color:#968151}.rv-booking-reviews{padding:65px 0 80px;background:#edece3}.rv-booking-reviews .reviews__board{min-width:0;width:100%}.rv-booking-reviews .rv-kicker{max-width:450px;line-height:1.8}@media(max-width:767px){.rv-pricing{padding-block:35px 45px}.rv-pricing .pricing{gap:22px}.rv-pricing .plan{padding:28px 25px}.rv-pricing .plan__name{min-height:0;font-size:27px}.rv-pricing .plan__desc{min-height:0}.rv-booking-reviews{padding-block:45px}.rv-booking-reviews .reviews__board{display:block}.rv-booking-reviews .reviews__summary{margin-bottom:25px}}
.rv-layout .rv-booking-reviews .reviews__summary{color:var(--teal)}


/* 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}
.hero__explore{display:inline-flex;align-items:center;gap:17px;font:400 12px/1.5 var(--font-body);color:#e4dcc9;min-height:50px;text-decoration:none}
.hero__explore span{display:grid;place-items:center;border:1px solid #cfbc9266;border-radius:50%;width:30px;height:30px;font-size:17px;transition:transform .25s,border-color .25s}
.hero__explore:hover span{transform:translateY(3px);border-color:#d4c18e}

/* 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__contact{display:inline-flex;align-items:center;gap:25px;min-height:52px;color:#efe1bd;font-size:12px;line-height:1.5}
.atlas__contact span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #bdaa7788;border-radius:50%;font-size:22px;transition:transform .35s,background .35s,color .35s}
.atlas__contact:hover span,.atlas__contact:focus-visible span{transform:rotate(45deg);background:#c4af7c;color:#142d37}
.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__ocean{font:400 9px var(--font-body);letter-spacing:.3em;fill:#8ba79d;opacity:.5}
.atlas__gateway{stroke:#ccba89;stroke-opacity:.65;stroke-width:.8;fill:none;vector-effect:non-scaling-stroke}
.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__medla{font:500 10px var(--font-body);letter-spacing:.24em;fill:#c7b780;paint-order:stroke;stroke:#142d37;stroke-width:3}
.atlas__europe{font:400 24px var(--font-display);letter-spacing:.18em;fill:#d5c28f}
.atlas__footnote{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff24;padding-top:24px;color:#a4b6b0;font-size:10px;line-height:1.8}
.atlas__footnote p{margin:0}.atlas__footnote strong{color:#d9c79a;font-weight:500}.atlas__footnote span{display:inline-block;margin:0 12px;color:#c9b582}.atlas__footnote a{min-height:44px;display:inline-flex;align-items:center;gap:10px;color:#d7ccb0}
.atlas__footnote a span{margin:0;font-size:18px;transition:transform .25s}.atlas__footnote a:hover span{transform:translate(3px,-3px)}
@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}.atlas__footnote{font-size:9px}}
@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}.atlas__footnote{align-items:start;flex-direction:column;gap:5px}}
@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}.hero__explore{font-size:11px}.hero__explore span{width:27px;height:27px}.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__contact{font-size:11px;gap:22px}.atlas__contact span{width:37px;height:37px;font-size:20px}.atlas__map{width:calc(100% + 24px);margin:8px -12px -5px}.atlas__footnote{padding-top:20px;font-size:9px;gap:7px}.atlas__footnote p{max-width:310px}.atlas__footnote p span{margin-inline:5px}.atlas__region{font-size:18px}.atlas__region--latam{font-size:15px}.atlas__europe{font-size:26px}.atlas__ocean{font-size:11px}.atlas__spain{font-size:21px}.atlas__medla{font-size:13px}}
@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__contact{display:inline-flex;min-height:48px;padding:12px 0;color:#f0ddba;font-size:14px;line-height:1.5;font-weight:500;text-decoration:underline;text-decoration-color:#bdab786b;text-decoration-thickness:1px;text-underline-offset:9px;transition:color .25s,text-decoration-color .25s;}
.rv-layout .atlas[data-atlas-premium] .atlas__contact:hover{color:#fffaf0;text-decoration-color:currentColor;}
.rv-layout .atlas[data-atlas-premium] .atlas__contact:focus-visible{outline:2px solid #e2cb97;outline-offset:6px;border-radius:2px;}
.rv-layout .atlas[data-atlas-premium] .atlas__eu-reference{display:flex;align-items:center;gap:10px;margin:24px 0 0;color:#bdc9c4;font-size:11px;line-height:1.6;}
.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__graticule{fill:none;stroke:#d4d8c6;stroke-opacity:.09;stroke-width:.55;}
.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] .atlas__edge-marks{fill:none;stroke:#d4c09a;stroke-opacity:.25;stroke-width:.7;}
.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;}
 .rv-layout .atlas[data-atlas-premium] .atlas__graticule{stroke-opacity:.065;}
 .rv-layout .atlas[data-atlas-premium] .atlas__edge-marks{display:none;}
}
@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 .hero__explore{transition:color .3s}.rv-layout .hero__explore:hover{color:#fff7e1}
.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)}
.rv-layout .rv-round-link:hover{transform:rotate(45deg)}
.rv-layout .rv-round-link{transition:transform .5s var(--motion-ease),background .3s,color .3s}

/* The existing service list is framed by the original photograph of Madrid. */
.rv-layout.page-home .services__wrap{display:grid;grid-template-columns:.76fr 1.24fr;column-gap:clamp(35px,6vw,90px);align-items:start;padding:0}
.rv-layout.page-home .services__title{grid-column:1/-1;margin-bottom:52px;max-width:700px}
.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.page-home .services__grid{min-width:0;margin:0}
.rv-layout.page-home .svc{position:relative;grid-template-columns:28px minmax(0,1fr) 58px;gap:11px 22px;min-height:147px;padding:28px 0;align-items:center;transition:background .4s}
.rv-layout.page-home .svc::before{grid-column:1;grid-row:1;align-self:start;padding-top:9px;transition:color .3s}
.rv-layout.page-home .svc::after{content:'';height:1px;position:absolute;top:-1px;left:0;right:0;background:#a38b54;transform:scaleX(0);transform-origin:left;transition:transform .65s var(--motion-ease)}
.rv-layout.page-home .svc__title{grid-column:2;grid-row:1;font-size:clamp(26px,2.65vw,38px);transition:color .3s,translate .4s var(--motion-ease)}
.rv-layout.page-home .svc__text{grid-column:2;grid-row:2;font-size:12px;max-width:340px;transition:translate .4s var(--motion-ease)}
.rv-layout.page-home .svc__more{grid-column:3;grid-row:1/3;display:flex;flex-direction:column-reverse;align-items:center;gap:8px;font-size:9px;text-align:center;font-weight:500;min-height:64px}
.rv-layout.page-home .svc__more::after{display:grid;place-items:center;margin:0;width:43px;height:43px;border:1px solid #9a987e66;border-radius:50%;transition:background .35s,color .35s,transform .35s}
.rv-layout.page-home .svc:hover,.rv-layout.page-home .svc:focus-within{padding-inline:0;background:transparent}
.rv-layout.page-home .svc:is(:hover,:focus-within)::after{transform:scaleX(1)}
.rv-layout.page-home .svc:is(:hover,:focus-within) .svc__title{color:#8e784b;translate:5px 0}
.rv-layout.page-home .svc:is(:hover,:focus-within) .svc__text{translate:5px 0}
.rv-layout.page-home .svc:is(:hover,:focus-within) .svc__more::after{background:var(--teal);color:#f6efd9;transform:rotate(45deg)}
.rv-layout .pillar{position:relative}.rv-layout .pillar::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:#ad9564;transform:scaleX(0);transform-origin:left;transition:transform .55s var(--motion-ease)}
.rv-layout .pillar:hover::before{transform:scaleX(1)}
.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-area-card:is(:hover,:focus-within) .rv-area-card__top .rv-arrow{transform:translate(4px,-4px)}
.rv-layout .rv-service-row{position:relative}.rv-layout .rv-service-row::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:#a28b59;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--motion-ease)}
.rv-layout .rv-service-row:is(:hover,:focus-visible)::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-post__image img{transition:transform 1.1s var(--motion-ease),filter .7s}
.rv-layout .rv-post:is(:hover,:focus-within) .rv-post__image img{transform:scale(1.065);filter:saturate(1)}
.rv-layout .rv-mega{animation:medla-menu-reveal .4s var(--motion-ease)}
.rv-layout .rv-mega__links>a i{transition:transform .3s}.rv-layout .rv-mega__links>a:is(:hover,:focus-visible) i{transform:translate(3px,-3px)}
.rv-layout .rv-faq summary{transition:color .25s,padding .3s}.rv-layout .rv-faq summary:hover{color:#8f794d}
.rv-layout .rv-faq__answer{animation:medla-answer .35s 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-faq-section>div:first-child{position:sticky;top:135px;align-self:start}.rv-services-photo{position:sticky;top:128px}}
@media(max-width:1100px){.rv-services-photo{height:610px}.rv-layout.page-home .svc{min-height:152px;gap:12px 15px}.rv-layout.page-home .svc__title{font-size:29px}}
@media(max-width:960px){.rv-services-photo{height:580px}.rv-layout.page-home .services__wrap{grid-template-columns:.7fr 1.3fr;column-gap:30px}.rv-layout.page-home .svc{grid-template-columns:21px minmax(0,1fr) 43px;gap:10px 14px;min-height:145px;padding-block:24px}.rv-layout.page-home .svc__title{font-size:26px}.rv-layout.page-home .svc__text{font-size:11px}.rv-layout.page-home .svc__more::after{width:36px;height:36px}.rv-layout .rv-commit-story figure{height:320px}}
@media(max-width:650px){.rv-layout.page-home .services__wrap{display:block}.rv-layout.page-home .services__title{margin-bottom:28px}.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.page-home .svc{min-height:136px;grid-template-columns:22px minmax(0,1fr) 43px;gap:10px 14px}.rv-layout.page-home .svc__title{font-size:27px}.rv-layout.page-home .svc__more{font-size:8px}.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)}.rv-layout.page-home .svc:is(:hover,:focus-within) :is(.svc__title,.svc__text){translate:none}}
@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 .btn--outline{border-color:#7b897b;background:transparent}
.rv-layout .rv-arrow{font-size:23px}.rv-layout .rv-text-link{font-size:13px;font-weight:500}
.rv-layout .rv-kicker,.rv-layout .md-kicker{font:500 10px/1.7 var(--font-body);letter-spacing:.17em;text-transform:uppercase;color:#7d6a42}
.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-mega__links span{font-size:27px}.rv-layout .rv-mega__links small{font-size:11px}
.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__contact{color:var(--teal);font-size:13px}
.rv-layout .atlas__contact span{border-color:#81917f}.rv-layout .atlas__contact:hover span{background:var(--teal);color:#f6efda;transform:rotate(45deg)}
.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__ocean{fill:#8a8d82;opacity:.65;letter-spacing:.22em}
.rv-layout .atlas__gateway{stroke:#798769;stroke-opacity:.8}
.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__medla{fill:#8e7743;stroke:#eeece5}
.rv-layout .atlas__europe{fill:#656b5e;font-size:27px}.rv-layout .atlas__footnote{border-color:#d2cbbd;color:#616b64;font-size:11px}
.rv-layout .atlas__footnote strong,.rv-layout .atlas__footnote a{color:#31433f}
.rv-layout .atlas__footnote a{padding-right:40px;font-size:11px}

/* 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 .pillars{margin-block:65px;border-color:#d6d3c9}
.rv-layout .pillar__title{font-size:15px}.rv-layout .pillar__text{font-size:13px}.rv-layout .pillar__icon{color:#967e4b}
.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 .commit__note{font:400 17px/1.9 var(--font-body);color:#52605b}
.rv-layout .quote{background:#ebe7df;padding-block:90px;color:var(--teal)}
.rv-layout .quote::before{display:none}.rv-layout .quote__figure{max-width:1040px}.rv-layout .quote__text{font-size:clamp(27px,3vw,42px);line-height:1.4;color:#233e36}
.rv-layout .quote__name{color:#324c41;font-size:13px}.rv-layout .quote__role{color:#6b7766;font-size:12px}
.rv-layout .stats{background:var(--paper);padding-block:25px}.rv-layout .stat{padding:40px 45px}.rv-layout .stat__num{font-size:70px;color:#254338}
.rv-layout .stat__text{font-size:13px;color:#607064}.rv-layout .stat__unit{font-size:23px}
.rv-layout.page-home .services{background:var(--teal);color:var(--paper);padding-block:100px 110px}
.rv-layout.page-home .services__title{color:#fcf9ee;font-size:clamp(40px,4.8vw,66px);line-height:1.05;max-width:850px;margin-bottom:62px}
.rv-layout.page-home .services__title em{color:#c4af7d}.rv-layout.page-home .services__wrap{grid-template-columns:.86fr 1.14fr;column-gap:65px}
.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.page-home .svc{min-height:154px;border-color:#c6cfb832;grid-template-columns:28px minmax(0,1fr) 58px;gap:12px 22px}
.rv-layout.page-home .svc:last-child{border-color:#c6cfb832}.rv-layout.page-home .svc::before{color:#b0a47e;font-size:11px}
.rv-layout.page-home .svc__title{color:#f8f5e8;font-size:clamp(29px,3vw,43px)}.rv-layout.page-home .svc__text{color:#bbc7b8;font-size:13px}
.rv-layout.page-home .svc__more{color:#dcd9c1;font-size:10px}.rv-layout.page-home .svc__more::after{border-color:#aaa78977}
.rv-layout.page-home .svc:is(:hover,:focus-within) .svc__title{color:#dac797}
.rv-layout.page-home .svc:is(:hover,:focus-within) .svc__more::after{background:#c4af7d;color:#17372f}
.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 .car__arrow{border-color:#96a28d;color:#3c5140;background:transparent}
.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 .ask__bg{inset:0 0 0 58%;z-index:0;transform:none!important}.rv-layout .ask__bg img{object-fit:cover;object-position:55% center;filter:saturate(.8)}
.rv-layout .ask__veil{display:none}.rv-layout .ask__inner{position:relative;z-index:1;width:100%;max-width:var(--rv-max);padding:0;margin:auto}
.rv-layout .ask__card{padding:0;background:none;max-width:48%;text-align:left;border-radius:0}
.rv-layout .ask__title{color:var(--teal);font:400 clamp(40px,4.8vw,70px)/1.06 var(--font-display);letter-spacing:-.025em}
.rv-layout .ask__text{font-size:14px;line-height:1.9;color:#566650;max-width:480px}.rv-layout .ask__btn{margin-top:25px;background:var(--teal);color:white}
.rv-layout .biz{background:var(--paper);padding-block:70px}.rv-layout .biz__title{font-size:37px;color:var(--teal)}.rv-layout .biz__text{font-size:14px;color:#657064}
.rv-layout .biz__media{border-radius:2px;overflow:hidden}.rv-layout .biz__small{font-size:11px;color:#758068}

/* Shared editorial rhythm, including services and the blog. */
.rv-layout .rv-breadcrumb{font-size:11px;color:#71776c;padding-block:25px;line-height:1.8}
.rv-layout .rv-intro{background:var(--paper);padding:55px 0 75px;border-bottom:1px solid #d6d3c9}
.rv-layout .rv-intro h1{font-size:clamp(43px,5.5vw,78px);line-height:1.02;letter-spacing:-.025em;max-width:1050px;margin-block:24px 28px}
.rv-layout .rv-intro h1 em{color:#98824d}.rv-layout .rv-intro__lead{font-size:16px;line-height:1.8;max-width:680px;color:#626b65}
.rv-layout .rv-intro--photo{padding:20px 0 65px}.rv-layout .rv-intro--photo .rv-shell{width:calc(100% - 2 * var(--rv-gutter));max-width:var(--rv-max);grid-template-columns:1.15fr .85fr;gap:65px;min-height:500px}
.rv-layout .rv-intro--photo .rv-intro__copy{padding:25px 0}.rv-layout .rv-intro--photo h1{font-size:clamp(42px,5.3vw,76px);line-height:1.06}
.rv-layout .rv-intro--photo .rv-intro__lead{font-size:15px}.rv-layout .rv-intro__image{min-height:480px;border-radius:2px}
.rv-layout .rv-intro__image img{filter:saturate(.8)}
.rv-layout .rv-section{padding-block:80px}.rv-layout .rv-section-head h2,.rv-layout .rv-faq-section h2{font-size:clamp(36px,4.3vw,61px);line-height:1.1}
.rv-layout .rv-search{border-radius:0;background:transparent;border:0;border-bottom:1px solid #9aa78d;padding:12px 0}
.rv-layout .rv-search input{font-size:14px}.rv-layout .rv-results{font-size:11px}.rv-layout .rv-filters{gap:15px 28px}.rv-layout .rv-filters button{font-size:13px}
.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__top{grid-column:1;grid-row:1/4;display:flex;flex-direction:column;align-items:start;gap:25px;margin:7px 0 0}
.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-area-card>.rv-text-link{grid-column:2;grid-row:3;font-size:12px;align-self:end}
.rv-layout .rv-area-card__links{grid-column:3;grid-row:1/4;margin:0;border:0}.rv-layout .rv-area-card__links>a{font-size:13px;padding-block:13px}
.rv-layout .rv-more-services summary{font-size:12px}.rv-layout .rv-more-services>div>a{font-size:13px}.rv-layout .rv-service-row h3{font-size:32px}
.rv-layout .rv-service-row p{font-size:14px;color:#626b65}.rv-layout .rv-service-row{padding-block:30px}.rv-layout .rv-section-nav{background:var(--paper);font-size:12px;border-color:#d6d3c9}
.rv-layout .rv-faq summary{font-size:15px}.rv-layout .rv-faq__answer{font-size:14px;line-height:1.85;color:#59655d}
.rv-layout .rv-faq-group h2{font-size:35px}.rv-layout .rv-featured{background:#eeece5;color:var(--teal);border-radius:0;grid-template-columns:1.1fr 1fr}
.rv-layout .rv-featured__copy{padding:45px}.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-featured .rv-post-bottom{color:#5c7052}.rv-layout .rv-featured .rv-post-bottom>a{border-color:#819373;color:#6d5d31}
.rv-layout .rv-post h3{font-size:29px;line-height:1.2}.rv-layout .rv-post__copy>p{font-size:14px;line-height:1.85}.rv-layout .rv-post-meta,.rv-layout .rv-post-bottom{font-size:11px}
.rv-layout .rv-post-grid{gap:50px 32px}.rv-layout .rv-post__image{border-radius:2px}.rv-layout .rv-post__image img{filter:saturate(.65)}
.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 .rv-consult__actions .rv-text-link{font-size:12px}
.rv-layout .rv-article .new-guide{font-size:16px;line-height:1.85;max-width:880px}.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 #pb.md-content{background:var(--paper);font:400 15px/1.85 var(--font-body);color:#535e56}
.rv-layout #pb.md-content>.x-con--top{padding:50px var(--rv-gutter);background:transparent;max-width:none;border:0;margin:0}
.rv-layout #pb.md-content>.x-con--top:first-child{background:var(--paper)!important;padding:45px var(--rv-gutter) 55px!important;border:0;border-bottom:1px solid #d6d3c9;margin-bottom:10px}
.rv-layout #pb.md-content .x-inner{width:100%;max-width:var(--rv-max);margin:auto;padding:0;display:block}
.rv-layout #pb.md-content .x-con{min-width:0;max-width:100%}
.rv-layout #pb.md-content .md-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 65px;align-items:start}
.rv-layout #pb.md-content .md-columns[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.rv-layout #pb.md-content .md-columns>.x-con{width:100%;padding:0;min-width:0}
.rv-layout #pb.md-content .x-text{font:inherit;color:inherit;text-align:left}
.rv-layout #pb.md-content .md-stack>.x-con{padding:0;margin:0}.rv-layout #pb.md-content .md-stack>.x-con+.x-con{margin-top:60px;padding-top:50px;border-top:1px solid #d6d3c9}
.rv-layout #pb.md-content .x-text>p{max-width:82ch}
.rv-layout #pb.md-content :is(p,ul,ol){margin:0 0 22px}.rv-layout #pb.md-content :is(ul,ol){padding-left:22px;list-style:revert}
.rv-layout #pb.md-content li{margin-bottom:10px}.rv-layout #pb.md-content strong{color:#293d35}
.rv-layout #pb.md-content :is(h1,h2,h3,h4){font-family:var(--font-display)!important;color:var(--teal)!important;font-weight:400!important;line-height:1.15!important;letter-spacing:-.03em!important;text-align:left!important;width:auto;max-width:100%;margin:34px 0 22px}
.rv-layout #pb.md-content .md-page-title{font-size:clamp(41px,5.5vw,78px)!important;line-height:1.04!important;letter-spacing:-.025em!important;max-width:1120px;margin:0!important}
.rv-layout #pb.md-content h2{font-size:clamp(29px,3vw,42px)!important}.rv-layout #pb.md-content h3{font-size:27px!important}
.rv-layout #pb.md-content :is(h1,h2,h3)>:is(strong,b,span){font:inherit;color:inherit}
.rv-layout #pb.md-content :is(h2,h3):first-child{margin-top:0}
.rv-layout #pb.md-content .md-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-block:30px}
.rv-layout #pb.md-content .md-tile{background:transparent;border:0;border-top:1px solid #c7c6b8;border-radius:0!important;box-shadow:none!important;padding:25px 0;width:100%;min-width:0}
.rv-layout #pb.md-content .md-tile p:last-child{margin-bottom:0}.rv-layout #pb.md-content .md-tile .x-text>p:first-child{font-weight:600;color:#2c4935}
.rv-layout #pb.md-content .x-table{max-width:100%;overflow:auto;margin:30px 0;overscroll-behavior:contain}
.rv-layout #pb.md-content table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.65}
.rv-layout #pb.md-content :is(td,th){padding:17px;text-align:left;vertical-align:top;border-bottom:1px solid #d6d3c9;min-width:125px}
.rv-layout #pb.md-content thead{background:#e3e9da;color:#294531}.rv-layout #pb.md-content .x-img{margin:0;overflow:hidden;border-radius:2px}
.rv-layout #pb.md-content .x-img img{display:block;width:100%;max-height:600px;height:auto;object-fit:cover;filter:saturate(.8);border-radius:0}
.rv-layout #pb.md-content .x-btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:15px 27px;border-radius:100px!important;background:var(--teal);color:#fcf7e5;font:500 13px/1.5 var(--font-body);text-decoration:none;transition:background .25s,transform .25s}
.rv-layout #pb.md-content .x-btn:hover{background:#3d5b42;transform:translateY(-2px)}
.rv-layout #pb.md-content .x-btnwrap{margin:25px 0}.rv-layout #pb.md-content .md-kicker{margin-bottom:22px}
.rv-layout #pb.md-content .x-iconbox{padding:20px 0;font-size:14px}.rv-layout #pb.md-content .x-iconbox__icon{color:#9d8855;font-size:32px}
.rv-layout #pb.md-content>.md-contact-section{background:#ece9e1;padding-block:65px}
.rv-layout #pb.md-content .md-contact-section .x-inner{max-width:var(--rv-max)}
.rv-layout #pb.md-content .md-contact-section :is(h2,h3):nth-of-type(2){font:400 15px/1.85 var(--font-body)!important;max-width:640px;color:#56704d!important}
.rv-layout #pb.md-content .mform{background:#fcfbf8;border:1px solid #d4d1c5;border-radius:3px;padding:35px;max-width:800px;margin:35px auto}
.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}.rv-layout .mform__legal{font-size:12px}
.rv-layout #pb.md-content.page-body--post>.x-con--top:not(:first-child){max-width:1000px;margin:auto}
.rv-layout #pb.md-content.page-body--post .x-inner{max-width:850px}
.rv-layout #pb.md-content.page-body--post>.x-con--top:first-child .x-inner{max-width:1040px}
.rv-layout #pb.md-content.page-body--post :is(p,li){font-size:16px;line-height:1.9}
.rv-layout #pb.md-content .reviews__summary{color:var(--teal)}

/* 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__top{grid-template-columns:145px 1fr 80px;gap:45px;padding-bottom:55px;border-color:#bcc8b144}
.rv-layout .rv-footer__top h2{color:#253a36;font-size:clamp(36px,4.5vw,64px);line-height:1.03;letter-spacing:-.025em}
.rv-layout .rv-footer__top em{color:#9b8651}.rv-layout .rv-round-link{width:76px;height:76px;border-color:#82956d;color:#315139;font-size:34px}
.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__map{font-size:11px}
.rv-layout .rv-footer__contact{border-color:#bcc8b177}.rv-layout .rv-footer__contact>a{font-size:27px}.rv-layout .rv-footer__contact nav{font-size:11px}
.rv-layout .rv-footer__seals>p{color:#6a7c5f;font-size:11px}.rv-layout .rv-footer__legal{border-color:#bcc8b177;color:#62675e;font-size:10px}
.rv-layout .rv-footer a:hover{color:#766338}.rv-layout .rv-footer__seals img{background:transparent}
.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-intro--photo .rv-shell{gap:40px}.rv-layout .rv-intro--photo h1{font-size:53px}.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__copy{padding:32px}.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 .atlas__contact{font-size:12px}.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 .commit__note{font-size:14px}.rv-layout .rv-commit-story figure{height:335px}.rv-layout.page-home .services{padding-block:75px}.rv-layout.page-home .services__wrap{gap:0 35px}.rv-layout.page-home .services__title{font-size:56px}.rv-layout.page-home .svc{grid-template-columns:22px minmax(0,1fr) 45px;gap:12px 16px;min-height:154px}.rv-layout.page-home .svc__title{font-size:30px}.rv-layout.page-home .svc__text{font-size:12px}.rv-layout.page-home .rv-services-photo{height:620px}.rv-layout .reviews__board{grid-template-columns:150px minmax(0,1fr);gap:30px}.rv-layout .ask__title{font-size:48px}.rv-layout .ask__card{max-width:52%}.rv-layout .ask__bg{left:61%}.rv-layout .ask__text{font-size:13px}.rv-layout .rv-intro--photo .rv-shell{grid-template-columns:1.1fr .9fr;gap:30px}.rv-layout .rv-intro--photo h1{font-size:43px}.rv-layout .rv-intro__image{min-height:400px}.rv-layout .rv-intro--photo .rv-intro__lead{font-size:13px}.rv-layout #pb.md-content .md-columns{grid-template-columns:1fr;gap:35px}.rv-layout #pb.md-content .md-columns[data-columns="3"]{grid-template-columns:1fr;gap:30px}.rv-layout .rv-footer__top{grid-template-columns:95px 1fr 65px;gap:30px}.rv-layout .rv-footer__top img{width:88px}.rv-layout .rv-footer__top h2{font-size:48px}.rv-layout .rv-round-link{width:61px;height:61px}.rv-layout .rv-post-grid{gap:40px 25px}}
@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 .atlas__footnote{font-size:10px;padding-top:20px}.rv-layout .atlas__footnote a{font-size:10px;padding-right:0;line-height:1.7}
  .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 .pillars{margin:30px 0 35px}.rv-layout .pillar__title{font-size:14px}.rv-layout .pillar__text{font-size:12px}
  .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 .commit__note{font-size:14px;line-height:1.9}
  .rv-layout .quote{padding-block:60px}.rv-layout .quote__text{font-size:29px;line-height:1.4}.rv-layout .quote__role{font-size:11px}.rv-layout .stats{padding-block:15px}.rv-layout .stat{padding:26px 0}.rv-layout .stat__num{font-size:51px}.rv-layout .stat__text{font-size:12px}
  .rv-layout.page-home .services{padding-block:60px}.rv-layout.page-home .services__wrap{display:block}.rv-layout.page-home .services__title{font-size:45px;line-height:1.07;margin-bottom:34px}
  .rv-layout.page-home .rv-services-photo{height:320px;max-width:440px;margin:0 auto 35px;border-radius:2px}.rv-layout.page-home .svc{min-height:143px;padding-block:25px;gap:10px 14px}.rv-layout.page-home .svc__title{font-size:28px}.rv-layout.page-home .svc__text{font-size:12px}
  .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 .ask__inner{order:0}.rv-layout .ask__card{max-width:100%;padding-bottom:40px}.rv-layout .ask__title{font-size:43px}.rv-layout .ask__text{font-size:13px}.rv-layout .ask__bg{order:1;position:relative;inset:auto;width:calc(100% + 44px);height:240px;margin-inline:-22px}.rv-layout .biz__title{font-size:32px}.rv-layout .biz__text{font-size:13px}
  .rv-layout .rv-breadcrumb{font-size:10px;padding-block:20px;gap:8px}.rv-layout .rv-intro{padding:35px 0 45px}.rv-layout .rv-intro h1{font-size:clamp(38px,9.7vw,59px);margin-block:20px 25px;line-height:1.08}.rv-layout .rv-intro__lead{font-size:14px;line-height:1.85}
  .rv-layout .rv-intro--photo{padding:15px 0 45px}.rv-layout .rv-intro--photo .rv-shell{display:block;min-height:0}.rv-layout .rv-intro--photo .rv-intro__copy{padding:0 0 35px}.rv-layout .rv-intro--photo h1{font-size:41px;line-height:1.1}.rv-layout .rv-intro--photo .rv-intro__lead{font-size:14px}.rv-layout .rv-intro__image{height:280px;min-height:0;border-radius:2px}
  .rv-layout .rv-section{padding-block:50px}.rv-layout .rv-section-head h2,.rv-layout .rv-faq-section h2{font-size:36px}.rv-layout .rv-area-card{grid-template-columns:28px minmax(0,1fr);gap:14px 16px;padding-block:30px}.rv-layout .rv-area-card__top{grid-column:1;grid-row:1/3;gap:12px}.rv-layout .rv-area-card__top>a{width:25px}.rv-layout .rv-area-card h2{font-size:39px}.rv-layout .rv-area-card>p{font-size:13px}.rv-layout .rv-area-card__links{grid-column:2;grid-row:3;margin-top:5px}.rv-layout .rv-area-card>.rv-text-link{grid-column:2;grid-row:4;font-size:11px}.rv-layout .rv-area-card__links>a{font-size:12px}.rv-layout .rv-more-services summary{font-size:11px}.rv-layout .rv-service-row h3{font-size:29px}.rv-layout .rv-service-row p{font-size:13px}
  .rv-layout .rv-faq summary{font-size:14px}.rv-layout .rv-faq__answer{font-size:13px}.rv-layout .rv-faq-group h2{font-size:30px}.rv-layout .rv-featured{display:block}.rv-layout .rv-featured__image{height:245px;min-height:0}.rv-layout .rv-featured__copy{padding:27px}.rv-layout .rv-featured h2{font-size:31px}.rv-layout .rv-featured p{font-size:13px}.rv-layout .rv-post-grid{grid-template-columns:1fr;gap:38px}.rv-layout .rv-post h3{font-size:28px}.rv-layout .rv-post__copy>p{font-size:13px}.rv-layout .rv-filters{gap:5px 18px}.rv-layout .rv-filters button{font-size:12px}.rv-layout .rv-post-meta,.rv-layout .rv-post-bottom{font-size:10px}
  .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 #pb.md-content{font-size:14px}.rv-layout #pb.md-content>.x-con--top{padding:35px 22px}.rv-layout #pb.md-content>.x-con--top:first-child{padding:30px 22px 38px!important}.rv-layout #pb.md-content .md-page-title{font-size:39px!important;line-height:1.1!important}
  .rv-layout #pb.md-content h2{font-size:30px!important}.rv-layout #pb.md-content h3{font-size:26px!important}.rv-layout #pb.md-content .md-columns[data-columns="3"],.rv-layout #pb.md-content .md-tiles{grid-template-columns:1fr;gap:25px}.rv-layout #pb.md-content .md-tile{padding:23px 0}
  .rv-layout #pb.md-content .mform{padding:24px 18px;margin:25px 0;max-width:100%}.rv-layout #pb.md-content .x-btn{font-size:12px;padding:14px 22px;max-width:100%}.rv-layout #pb.md-content.page-body--post :is(p,li){font-size:15px}
  .rv-layout .rv-footer{padding-top:45px}.rv-layout .rv-footer__top{grid-template-columns:1fr 57px;gap:25px}.rv-layout .rv-footer__top>a:first-child{grid-column:1/-1}.rv-layout .rv-footer__top h2{font-size:38px}.rv-layout .rv-round-link{width:54px;height:54px;font-size:28px}.rv-layout .rv-footer__grid{gap:35px 25px}.rv-layout .rv-footer ul,.rv-layout .rv-footer address{font-size:12px}.rv-layout .rv-footer address p{font-size:11px}.rv-layout .rv-footer__contact>a{font-size:20px}.rv-layout .rv-footer__contact nav{font-size:10px}.rv-layout .rv-footer__legal{font-size:9px}
}
@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 .rv-round-link{border-radius:2px}
.rv-layout .rv-round-link:hover{transform:translateY(-2px)}
.rv-layout .atlas__contact span{width:32px;height:32px;border:0;border-radius:0}
.rv-layout .atlas__contact:hover span{background:none;color:inherit;transform:translate(3px,-3px)}
.rv-layout .atlas__map{margin-inline:0}
.rv-layout .atlas__footnote a{padding-right:0}
.rv-layout .atlas__europe{font-family:var(--font-body);font-size:19px;font-weight:500;letter-spacing:.16em}
.rv-layout.page-home .svc__more::after{border-radius:2px}
.rv-layout.page-home .svc:is(:hover,:focus-within) .svc__more::after{transform:translateX(2px)}
.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-post__image img{transition:transform .65s var(--motion-ease),filter .45s}
.rv-layout .rv-post:is(:hover,:focus-within) .rv-post__image img{transform:scale(1.025)}
.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 .hl{color:#89764d}
.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__explore{font-size:12px;color:#5b625b;gap:12px}
.rv-layout.page-home .hero__explore:hover{color:var(--teal)}
.rv-layout.page-home .hero__explore span{border:0;border-radius:0;color:#82704b;width:20px;height:28px}
.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__explore{font-size:11px}
  .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}.rv-layout.page-home .hero__explore{min-height:40px}}


/* 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}
.rv-layout .rv-mega__links>a{transition:background .3s,padding .3s}
.rv-layout .rv-mega__links>a:hover{background:#eeebe3}

/* 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 .hl{color:#d9c695}
.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}
.rv-layout.page-home .hero__explore{font-size:12px;color:#f0ecdf;gap:16px}
.rv-layout.page-home .hero__explore span{color:#d6c192}
.rv-layout.page-home .hero__explore:hover{color:#e2c999}

/* Four direct anchors keep the cinematic sequence easy to navigate. */
.elite-chapters{background:var(--elite-night);border-block:1px solid #c7b38a3d;color:#f0eee6}
.elite-chapters>.rv-shell{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.elite-chapters a{position:relative;min-height:85px;display:flex;align-items:center;gap:17px;font:400 12px/1.5 var(--font-body);border-right:1px solid #b5a68035;padding:18px 25px;transition:background .3s,color .3s}
.elite-chapters a:first-child{padding-left:0}.elite-chapters a:last-child{border-right:0;padding-right:0}
.elite-chapters a span{font-size:10px;color:#bda677;font-variant-numeric:tabular-nums}
.elite-chapters a i{font-style:normal;font-size:18px;margin-left:auto;color:#cdbb90;transition:translate .3s}
.elite-chapters a:hover{background:#c6b48d0b;color:#e3cb98}.elite-chapters a:hover i{translate:2px -2px}

/* 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__contact{color:#e4d3ad;font-size:13px;gap:17px}
.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__ocean{fill:#a8b1a4;opacity:.75}
.rv-layout .atlas__gateway{stroke:#e3ce9d;stroke-opacity:.85}
.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__medla{fill:#d0ba8c;stroke:#101615}.rv-layout .atlas__europe{fill:#d5c298}
.rv-layout .atlas__footnote{color:#afb6ac;border-color:#c2b08335;font-size:11px}
.rv-layout .atlas__footnote :is(strong,a){color:#d9c9a6}

/* 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 .pillars{margin-block:60px;border-color:#b9b0a0}
.rv-layout .pillar{padding-block:30px}.rv-layout .pillar__icon{display:inline-flex;width:36px;height:36px;font-size:27px;align-items:center}
.rv-layout .pillar__title{color:#202b26}.rv-layout .pillar__text{color:#68716a}
.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)}
.rv-layout .commit__note{font-size:17px;line-height:1.95;color:#535d56}

/* 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}
.rv-layout .quote__figure{max-width:640px;text-align:left;margin:0}
.rv-layout .quote__text{font:400 clamp(28px,2.9vw,42px)/1.38 var(--font-display);letter-spacing:-.015em;color:#f7f0df;text-align:left}
.rv-layout .quote__text .qw{opacity:1!important}
.rv-layout .quote__meta{display:grid;grid-template-columns:42px 1fr;gap:5px 16px;text-align:left;margin-top:34px;align-items:center;justify-content:start}
.rv-layout .quote__meta .slot{grid-column:1;grid-row:1/3;width:42px;height:42px;margin:0;filter:grayscale(1);opacity:.8}
.rv-layout .quote__name{grid-column:2;grid-row:1;justify-self:start;text-align:left;color:#dac79b;font-size:12px}
.rv-layout .quote__role{grid-column:2;grid-row:2;justify-self:start;text-align:left;color:#d5d3c7;font-size:11px}
.rv-layout .stats{background:#eae7df;padding-block:10px;border-bottom:1px solid #cec6b7}
.rv-layout .stat{padding-block:47px}.rv-layout .stat__num{color:var(--elite-ink);font-size:74px;letter-spacing:-.03em}
.rv-layout .stat__unit{font:400 14px var(--font-body);letter-spacing:.02em;margin-left:10px}.rv-layout .stat__text{color:#5d655d;font-size:12px}

/* 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 .services__title{color:var(--elite-ink);font-size:clamp(42px,5.2vw,76px);line-height:1.03;max-width:850px;margin-bottom:65px}
.rv-layout.page-home .services__wrap{grid-template-columns:.93fr 1.07fr;gap:0 85px}
.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.page-home .svc{border-color:#cfc8b8;min-height:155px}
.rv-layout.page-home .svc:last-child{border-color:#cfc8b8}
.rv-layout.page-home .svc::before{color:#8b7952}
.rv-layout.page-home .svc__title{color:#1d2a24;font-size:clamp(28px,3vw,43px)}
.rv-layout.page-home .svc__text{color:#606a62;font-size:13px}
.rv-layout.page-home .svc__more{color:#5d665c;font-size:10px}
.rv-layout.page-home .svc__more::after{border-color:#a59d86;border-radius:50%}
.rv-layout.page-home .svc:is(:hover,:focus-within) .svc__title{color:#8c713e}
.rv-layout.page-home .svc:is(:hover,:focus-within) .svc__more::after{background:#1c2b24;color:#f9f4e6;transform:translate(2px,-2px)}
.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 .car__arrow{transition:background .25s,color .25s}.rv-layout .car__arrow:hover{background:#1f3028;color:#fbf6e7}
.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 .ask__bg img{filter:saturate(.6)}
.rv-layout .ask__title{color:#1d2a24}.rv-layout .ask__text{color:#4c5c52}
.rv-layout .biz{border-top:1px solid #d2cabb}.rv-layout .biz__title{color:#25382d}

/* Interior pages inherit the same precise type, photographic frames and controls. */
.rv-layout .rv-intro{position:relative;overflow:clip;background:linear-gradient(120deg,#f7f6f2 50%,#e9e5d9);border-color:#cbc2af}
.rv-layout .rv-intro:not(.rv-intro--photo)::after{content:'';position:absolute;inset:25px -100px auto auto;width:430px;height:430px;border:1px solid #ab94622e;transform:rotate(30deg);pointer-events:none}
.rv-layout .rv-intro h1{position:relative;z-index:1;color:#1d2a24;font-size:clamp(44px,6.1vw,87px)}
.rv-layout .rv-intro--photo h1{font-size:clamp(43px,5.6vw,78px)}
.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-intro__lead{color:#57625b}
.rv-layout .rv-search{background:#eeebe2;border:1px solid #c9c0ab;border-radius:0;padding:12px 18px}
.rv-layout .rv-search input{font-size:16px}
.rv-layout .rv-filters button{padding:9px 1px;font-size:12px}
.rv-layout .rv-filters button[aria-pressed=true]{color:#24382b;border-color:#9c8450}
.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-area-card__links>a:hover{color:#826a37}
.rv-layout .rv-area-card__links>a{transition:color .3s,padding .3s}
.rv-layout .rv-area-card__links>a:hover{padding-left:6px}
.rv-layout .rv-service-row{padding-block:32px}.rv-layout .rv-service-row h3{color:#23332b}
.rv-layout .rv-featured{background:#19251f;border:0;border-radius:0}
.rv-layout .rv-featured__copy{padding:44px}.rv-layout .rv-featured :is(h2,h2 a){color:#f7f1e2}
.rv-layout .rv-featured :is(p,.rv-post-meta){color:#c6cfc2}
.rv-layout .rv-featured .rv-text-link{color:#e0cca0}
.rv-layout .rv-featured .rv-post-bottom{color:#c6cfc2;border-color:#b6a78055}
.rv-layout .rv-featured .rv-post-bottom>a{color:#e0cca0}
.rv-layout .rv-post__image{border-radius:0;overflow:hidden}
.rv-layout .rv-post h3{line-height:1.2}.rv-layout .rv-post__copy{padding-top:23px}
.rv-layout .rv-post-bottom{border-color:#c8bfa9}
.rv-layout .rv-consult{background:#e3dece;border-block:1px solid #cbc0a7}
.rv-layout .rv-consult h2{color:#21332a}
.rv-layout #pb.md-content .x-btn{border-radius:2px!important;background:#243b30;min-height:52px}
.rv-layout #pb.md-content .x-btn:hover{background:#826c3d}
.rv-layout #pb.md-content .mform{border-radius:0;box-shadow:10px 10px 0 #c1ae7f12}
.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__top{border-color:#c5b27d35;grid-template-columns:125px 1fr 88px;gap:60px;padding-bottom:65px}
.rv-layout .rv-footer__top h2{font-size:clamp(42px,5.8vw,83px);color:#f0efdf;line-height:1.05}
.rv-layout .rv-footer__top h2 em{color:#cfb987!important}
.rv-layout .rv-round-link{width:84px;height:84px;border-color:#b9a373;background:#c6b184;color:#19251e;border-radius:0}
.rv-layout .rv-round-link:hover{background:#e0cd9e;color:#19251e;transform:translate(3px,-3px)}
.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__map{color:#d3c398}
.rv-layout .rv-footer a:hover{color:#e4c995}
.rv-layout .rv-footer__contact{border-color:#bca8783d}.rv-layout .rv-footer__contact>a{color:#ececd9}
.rv-layout .rv-footer__seals>p{color:#bdc5b6}.rv-layout .rv-footer__seals img{background:#f7f6ef;border-radius:2px;padding:5px}
.rv-layout .rv-footer__legal{color:#c0c6b7;border-color:#b6a3783d;padding-bottom:35px}
.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__figure{max-width:550px}.rv-layout .quote__text{font-size:33px}.rv-layout .quote{min-height:690px}
 .rv-layout.page-home .services__wrap{gap:0 40px;grid-template-columns:.85fr 1.15fr}
 .rv-layout .faq>.wrap{gap:22px 40px}.rv-layout .faq .section-title{font-size:48px}
 .elite-chapters a{padding-inline:16px;gap:10px;font-size:11px}
}
@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 .rv-footer__top{grid-template-columns:90px 1fr 64px;gap:30px}
 .rv-layout .rv-footer__top h2{font-size:51px}.rv-layout .rv-round-link{width:62px;height:62px}
 .rv-layout .commit{padding-block:85px}.rv-layout .commit .section-title{font-size:44px}
 .rv-layout .quote__figure{max-width:510px}.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}.rv-layout .rv-featured__copy{padding:30px}
}
@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.page-home .hero__explore{font-size:11px;gap:10px}
 .elite-chapters>.rv-shell{grid-template-columns:repeat(2,minmax(0,1fr))}
 .elite-chapters a{min-height:68px;font-size:11px;padding:15px 16px;gap:9px;border-bottom:1px solid #b5a68035}
 .elite-chapters a:nth-child(odd){padding-left:0}.elite-chapters a:nth-child(even){padding-right:0;border-right:0}
 .elite-chapters a:nth-child(n+3){border-bottom:0}.elite-chapters a i{font-size:15px}
 .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 .atlas__footnote{width:100%;font-size:10px;gap:4px}.rv-layout .atlas__footnote a{font-size:10px}
 .rv-layout .commit{padding-block:65px}.rv-layout .commit .section-title{font-size:36px}
 .rv-layout .commit .section-lead{font-size:14px}.rv-layout .pillars{margin-block:32px}.rv-layout .pillar{padding-block:25px}
 .rv-layout .rv-commit-story{grid-template-columns:1fr;gap:30px}.rv-layout .rv-commit-story figure{height:290px}
 .rv-layout .commit__note{font-size:14px;line-height:1.9}
 .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 .quote__figure{max-width:530px}.rv-layout .quote__text{font-size:clamp(26px,6.7vw,36px);line-height:1.4}
 .rv-layout .quote__meta{margin-top:26px}.rv-layout .quote__name{font-size:12px}.rv-layout .quote__role{font-size:10px}
 .rv-layout .stats{padding-block:10px}.rv-layout .stat{padding:25px 0}.rv-layout .stat__num{font-size:57px}
 .rv-layout .stat__unit{font-size:13px}.rv-layout .stat__text{font-size:12px}
 .rv-layout.page-home .services{padding-block:65px}.rv-layout.page-home .services__wrap{display:block}
 .rv-layout.page-home .services__title{font-size:45px;margin-bottom:33px}
 .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.page-home .svc{min-height:143px}.rv-layout.page-home .svc__title{font-size:28px}
 .rv-layout.page-home .svc__text{font-size:12px}.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 .ask__title{font-size:44px}.rv-layout .ask__text{font-size:13px}
 .rv-layout .rv-intro h1{font-size:clamp(38px,9.8vw,60px)}.rv-layout .rv-intro--photo h1{font-size:44px}
 .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-featured__copy{padding:27px}
 .rv-layout .rv-footer{padding-top:55px}.rv-layout .rv-footer__top{grid-template-columns:1fr 58px;gap:28px;padding-bottom:43px}
 .rv-layout .rv-footer__top>a:first-child{grid-column:1/-1}.rv-layout .rv-footer__top h2{font-size:39px}
 .rv-layout .rv-round-link{width:54px;height:54px}.rv-layout .rv-footer::after{font-size:21vw;padding-top:27px}
 .rv-layout .rv-footer__legal{padding-bottom:30px}
}
@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.page-home .hero__explore{font-size:10px}.elite-chapters a{font-size:10px;gap:7px}.rv-layout .quote{min-height:840px}.rv-layout .atlas h2{font-size:46px}.rv-layout .rv-footer__top h2{font-size:34px}}
@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 .elite-chapters{border-color:transparent}
.rv-layout.page-home .elite-chapters a{border-right:0}
.rv-layout.page-home :is(.stats,.services,.reviews,.partners,.faq){background:var(--paper);border:0}
.rv-layout.page-home .stats{padding-block:28px 4px}
.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 .ask__bg{position:absolute;inset:0 0 0 25%;z-index:-2;width:auto;height:auto;min-height:0;margin:0;transform:none!important;will-change:auto;opacity:.63;mask-image:linear-gradient(90deg,transparent,#000 38%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%)}
.rv-layout.page-home .home-closing .ask__bg img{width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:saturate(.4) brightness(.78)}
.rv-layout.page-home .home-closing .ask__veil{display:block;position:absolute;inset:0;z-index:-1;opacity:1!important;background:linear-gradient(180deg,#141d1810,#141d180a 35%,#141d1880 75%,#141d18 100%),linear-gradient(90deg,#141d18 0%,#141d18ed 23%,#141d1880 57%,#141d180f 90%)}
.rv-layout.page-home .home-closing .ask__inner{position:relative;width:100%;max-width:var(--rv-max);padding:0;margin:auto;z-index:1}
.rv-layout.page-home .home-closing .ask__card{display:flex;flex-direction:column;align-items:flex-start;max-width:790px;width:100%;padding:0;margin:0;background:none;backdrop-filter:none;border:0;border-radius:0;text-align:left}
.rv-layout.page-home .home-closing .ask__title{font-size:clamp(52px,6.8vw,98px);line-height:1.04;letter-spacing:-.035em;color:#f3f0e4;max-width:800px;margin:0 0 36px;text-wrap:balance}
.rv-layout.page-home .home-closing .ask__text{width:100%;max-width:510px;font-size:14px;line-height:1.9;color:#cbd2c6;margin:0 0 18px;text-align:left}
.rv-layout.page-home .home-closing .ask__btn{align-self:flex-start;margin:15px 0 0;background:#d0bc8d;color:#18271e;border-color:#d0bc8d;padding:15px 31px;min-width:170px}
.rv-layout.page-home .home-closing .ask__btn:hover{background:#e4d3aa;color:#18271e}
.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 .biz__grid{display:block;max-width:var(--rv-max);width:100%;padding:0;margin:0 auto}
.rv-layout.page-home .home-closing .biz__copy{display:grid;grid-template-columns:1.15fr 1.15fr auto;grid-template-rows:auto auto;align-items:center;gap:8px 42px;border-top:1px solid #b9a97a40;padding:29px 0 0;width:100%;max-width:none}
.rv-layout.page-home .home-closing .biz__title{grid-column:1;grid-row:1;font-size:25px;line-height:1.22;letter-spacing:-.015em;color:#e2e5d5;margin:0}
.rv-layout.page-home .home-closing .biz__text{grid-column:2;grid-row:1/3;max-width:370px;font-size:12px;line-height:1.9;color:#b9c3b3;margin:0}
.rv-layout.page-home .home-closing .biz__copy>.btn{grid-column:3;grid-row:1/3;font-size:11px;min-height:46px;padding:12px 0;background:none;color:#d3c299;border:0;border-bottom:1px solid #a7966866;white-space:normal;text-align:left;justify-content:start}
.rv-layout.page-home .home-closing .biz__small{grid-column:1;grid-row:2;font-size:10px;line-height:1.6;color:#aeb9a8;margin:0}
.rv-layout.page-home .home-closing .biz__media{display:none}
.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__top{display:flex;align-items:center;gap:28px;padding:12px 0 33px;border:0}
.rv-layout.page-home .rv-footer__top>a:first-child{flex:0 0 auto;width:auto}
.rv-layout.page-home .rv-footer__top img{width:64px;height:auto}
.rv-layout.page-home .rv-footer__top h2{font:400 24px/1.3 var(--font-display);letter-spacing:0;color:#d8decd;margin:0;flex:1}
.rv-layout.page-home .rv-footer__top h2 br{display:none}
.rv-layout.page-home .rv-footer__top h2 em::before{content:' '}
.rv-layout.page-home .rv-footer__top .rv-round-link{width:46px;height:46px;font-size:25px;background:transparent;border-color:#ab98635c;color:#d3bc88}
.rv-layout.page-home .rv-footer__top .rv-round-link:hover{background:#d3bc88;color:#19251e}
.rv-layout.page-home .rv-footer__grid{padding-top:26px;border-top:1px solid #b9a97a35;gap:36px}
.rv-layout.page-home .rv-footer__contact{border:0;padding-block:33px 20px;gap:20px}
.rv-layout.page-home .rv-footer__contact>a{font-size:23px}
.rv-layout.page-home .rv-footer__seals{padding-block:21px;gap:24px;opacity:.88}
.rv-layout.page-home .rv-footer__seals img{max-height:58px;padding:3px}
.rv-layout.page-home .rv-footer__seals img.rv-aec{max-height:31px}
.rv-layout.page-home .rv-footer__legal{border-color:#b6a37825;padding-block:24px 30px}
.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}
 .rv-layout.page-home .home-closing .ask__title{font-size:72px;max-width:650px}
 .rv-layout.page-home .home-closing .biz__copy{gap:8px 28px;grid-template-columns:1.1fr 1fr auto}
 .rv-layout.page-home .home-closing .biz__title{font-size:23px}
 .rv-layout.page-home .home-closing .biz__copy>.btn{max-width:170px}
}
@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}
 .rv-layout.page-home .home-closing .ask__title{font-size:65px;max-width:600px}
 .rv-layout.page-home .home-closing .ask__bg{left:5%;opacity:.43}
 .rv-layout.page-home .home-closing .biz__copy{grid-template-columns:1.1fr 1fr;gap:13px 30px}
 .rv-layout.page-home .home-closing .biz__text{grid-column:2;grid-row:1/3}
 .rv-layout.page-home .home-closing .biz__copy>.btn{grid-column:2;grid-row:3;justify-self:start;max-width:none}
 .rv-layout.page-home .home-closing .biz__small{grid-row:2/4;align-self:start}
 .rv-layout.page-home .rv-footer__grid{gap:35px 26px}
}
@media(max-width:700px){
 .rv-layout.page-home .elite-chapters a{border-bottom:0}
 .rv-layout.page-home .stats{padding-block:15px 0}.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 .ask__bg{position:absolute;inset:0 -45% 0 0;width:auto;height:auto;min-height:0;margin:0;opacity:.32;mask-image:none;-webkit-mask-image:none}
 .rv-layout.page-home .home-closing .ask__bg img{object-position:55% center}
 .rv-layout.page-home .home-closing .ask__veil{display:block;background:linear-gradient(180deg,#141d1825,#141d1890 45%,#141d18 100%)}
 .rv-layout.page-home .home-closing .ask__card{width:100%;max-width:none;margin:0;padding:0}
 .rv-layout.page-home .home-closing .ask__title{font-size:clamp(42px,11.7vw,65px);max-width:520px;margin-bottom:28px;line-height:1.09}
 .rv-layout.page-home .home-closing .ask__text{font-size:13px;line-height:1.9;max-width:490px;margin-bottom:17px}
 .rv-layout.page-home .home-closing .ask__btn{font-size:12px;margin-top:12px;min-width:154px}
 .rv-layout.page-home .home-closing .biz{padding:0 22px 37px}
 .rv-layout.page-home .home-closing .biz__copy{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:26px 0 0}
 .rv-layout.page-home .home-closing .biz__title{font-size:25px;margin:0 0 14px;max-width:350px}
 .rv-layout.page-home .home-closing .biz__text{font-size:12px;margin-bottom:17px;max-width:460px}
 .rv-layout.page-home .home-closing .biz__copy>.btn{font-size:11px;min-height:40px;margin:0 0 12px;padding-block:10px}
 .rv-layout.page-home .home-closing .biz__small{font-size:10px;margin:0}
 .rv-layout.page-home .rv-footer{padding-top:5px}
 .rv-layout.page-home .rv-footer__top{display:grid;grid-template-columns:52px minmax(0,1fr) 39px;gap:14px;padding-block:4px 26px}
 .rv-layout.page-home .rv-footer__top>a:first-child{grid-column:auto}
 .rv-layout.page-home .rv-footer__top img{width:50px}
 .rv-layout.page-home .rv-footer__top h2{font-size:19px;line-height:1.35}
 .rv-layout.page-home .rv-footer__top .rv-round-link{width:37px;height:37px;font-size:23px}
 .rv-layout.page-home .rv-footer__grid{gap:29px 25px;padding-top:25px}
 .rv-layout.page-home .rv-footer__contact{padding-block:27px 14px;gap:20px}
 .rv-layout.page-home .rv-footer__contact>a{font-size:clamp(17px,4.8vw,23px)}
 .rv-layout.page-home .rv-footer__seals{padding-block:18px;gap:15px}
 .rv-layout.page-home .rv-footer__seals img{max-height:47px}.rv-layout.page-home .rv-footer__seals img.rv-aec{max-height:25px}
 .rv-layout.page-home .rv-footer__legal{padding-block:22px 20px}
 .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; } }

.elite-load-signal {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1200;
  height: 2px;
  background: #d7c08a;
  transform-origin: left;
  pointer-events: none;
  animation: elite-arrival 880ms cubic-bezier(.2,.7,.2,1) both;
}
@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.page-home .ed-home-gallery{position:sticky;top:120px;align-self:start;height:625px;overflow:hidden}
.rv-layout.page-home .ed-home-gallery::after{display:none}
.ed-home-frame{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 600ms ease;pointer-events:none}
.ed-home-frame.is-active{opacity:1;z-index:1}
.rv-layout.page-home .ed-home-frame img{width:100%;height:100%;object-fit:cover;filter:none}
.svc__editorial{display:none}
.rv-layout .ed-photo{position:relative;overflow:hidden;background:#e1ddd2;isolation:isolate}
.rv-layout .ed-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:none;transition:scale 850ms cubic-bezier(.2,.65,.3,1)}
.rv-layout .ed-photo::after{content:"";position:absolute;inset:0;border:1px solid #18261e0c;pointer-events:none}
.rv-layout .rv-intro{background:var(--paper);border:0}
.rv-layout .rv-intro:not(.rv-intro--photo)::after{display:none}
.rv-layout .rv-intro--photo{padding-block:20px 60px}
.rv-layout .rv-intro--photo .rv-shell{grid-template-columns:1fr 1fr;gap:6%;min-height:0;align-items:center}
.rv-layout .rv-intro--photo h1{font-size:clamp(43px,4.75vw,71px);line-height:1.07;margin-block:24px}
.rv-layout .rv-intro--photo .rv-intro__lead{font-size:15px;line-height:1.9;max-width:510px}
.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}
.rv-layout .rv-section-nav{position:sticky;top:96px;z-index:30;background:#f7f6f2f2;backdrop-filter:blur(16px);padding-block:16px;gap:36px;box-shadow:0 4px 12px #1b271705}
.rv-layout .rv-section-nav a{padding-block:5px;transition:color .25s}
.rv-layout .rv-section-nav a:hover{color:#937743}
.rv-layout :is(#especialidades,#preguntas){scroll-margin-top:180px}

/* 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 .ed-area-image{display:block;aspect-ratio:1.6;width:100%;margin:0 0 28px}
.rv-layout .ed-area-copy{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px 20px}
.rv-layout .rv-area-card__top{grid-column:1;grid-row:1/3;margin:8px 0 0;gap:10px}
.rv-layout .rv-area-card__top>a{display:none}
.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 .ed-area-copy>p{grid-column:2;grid-row:2;font-size:14px;line-height:1.7;color:#606a62;margin:0}
.rv-layout .rv-area-card__links{grid-column:2;grid-row:3;margin:12px 0 0}
.rv-layout .rv-area-card__links>a{padding:13px 0;font-size:13px;border-color:#cec9bc}
.rv-layout .ed-area-copy>.rv-text-link{grid-column:2;grid-row:4;justify-self:start;margin-top:14px;font-size:12px}
.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. */
.rv-layout .ed-service-list{border:0}
.rv-layout .ed-service-row{grid-template-columns:minmax(180px,.72fr) 26px minmax(0,1.4fr) 30px;gap:28px;align-items:center;padding:28px 0;border-color:#cfc9bd;background:transparent!important}
.rv-layout .ed-service-row:first-child{border-top:1px solid #cfc9bd}
.rv-layout .ed-service-row:hover{padding-inline:0}
.rv-layout .ed-service-image{height:200px;width:100%;margin:0;grid-column:1;grid-row:1}
.rv-layout .ed-service-row>.rv-number{grid-column:2;align-self:start;margin-top:8px;font-size:11px}
.rv-layout .ed-service-row>div{grid-column:3;min-width:0;padding:15px 0}
.rv-layout .ed-service-row h3{font-size:clamp(27px,2.6vw,39px);line-height:1.15;margin-bottom:18px;max-width:620px}
.rv-layout .ed-service-row p{font-size:14px;line-height:1.8;max-width:590px;margin:0}
.rv-layout .ed-service-row>.rv-arrow{grid-column:4;border:1px solid #c7bda7;width:40px;height:40px;display:grid;place-items:center;padding:0;border-radius:50%;font-size:20px;transition:background .3s,color .3s,translate .3s}
.rv-layout .ed-service-row:focus-visible{outline-offset:6px}
.rv-layout .ed-service-row:is(:hover,:focus-visible)>.rv-arrow{background:#23382d;color:#fbf8ed;translate:2px -2px;border-color:#23382d}
.rv-layout .ed-service-row:is(:hover,:focus-visible) h3{color:#876d3d}
.rv-layout .ed-service-list--long{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px}
.rv-layout .ed-service-list--long .ed-service-row{grid-template-columns:110px 18px minmax(0,1fr);gap:15px;align-items:start;padding-block:25px;border-top:1px solid #cfc9bd;border-bottom:0;position:relative}
.rv-layout .ed-service-list--long .ed-service-image{height:145px}
.rv-layout .ed-service-list--long .ed-service-row>div{padding:6px 0 32px}
.rv-layout .ed-service-list--long h3{font-size:26px;margin-bottom:14px}
.rv-layout .ed-service-list--long p{font-size:13px;line-height:1.8}
.rv-layout .ed-service-list--long .ed-service-row>.rv-arrow{position:absolute;right:0;bottom:24px;width:28px;height:28px;font-size:16px}

/* Questions sit beside a quiet detail, with enough space to read and use them. */
.rv-layout .rv-faq-section:has(.ed-faq-image){grid-template-columns:.85fr 1.15fr;gap:9%;align-items:start;padding-block:65px 85px}
.rv-layout .ed-faq-image{margin:35px 0 0;aspect-ratio:1.7;max-width:360px}
.rv-layout .rv-faq summary{font-size:15px;line-height:1.7;padding-block:25px}
.rv-layout .rv-faq summary i{flex:0 0 26px;display:grid;place-items:center;border:1px solid #c8bea7;border-radius:50%;width:26px;height:26px;font-size:17px;transition:background .3s,color .3s}
.rv-layout .rv-faq[open] summary i{background:#243a2e;color:#faf7eb;border-color:#243a2e}
.rv-layout .rv-faq__answer{font-size:14px;line-height:1.85;padding-right:25px;padding-bottom:25px}

/* A magazine cover, then a spacious, consistently framed reading collection. */
.rv-layout .rv-feature-wrap{padding-top:0}
.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__image{aspect-ratio:1.1;min-height:0}
.rv-layout .rv-featured__copy{padding:25px 0;align-self:center}
.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-featured .rv-post-bottom>a{color:#746039}
.rv-layout .rv-post-grid{gap:55px 36px}
.rv-layout .rv-post__image{aspect-ratio:1.35}
.rv-layout .rv-post-grid .rv-post:nth-child(3n + 2) .rv-post__image{aspect-ratio:1.65}
.rv-layout .rv-post-grid .rv-post:nth-child(3n + 3) .rv-post__image{aspect-ratio:1.5}
.rv-layout .rv-post h3{font-size:clamp(25px,2.15vw,33px);line-height:1.19;letter-spacing:-.02em}
.rv-layout .rv-post__copy>p{font-size:13px;line-height:1.8}
.rv-layout .rv-post-meta{font-size:10px;gap:14px;color:#766440}
.rv-layout .rv-post-meta>span:first-child{letter-spacing:.08em;text-transform:uppercase}
.rv-layout .rv-post-bottom{font-size:10px}
.rv-layout .rv-related{border-top:1px solid #d8d1c2}
.rv-layout .rv-article #pb.md-content.page-body--post .x-img{aspect-ratio:1.9;margin-block:35px 45px}
.rv-layout .rv-article #pb.md-content.page-body--post .x-img img{width:100%;height:100%;max-height:none;object-fit:cover;filter:none}
.rv-layout .rv-article .new-guide>img{width:100%;aspect-ratio:1.8;object-fit:cover;margin-block:35px}

/* The final invitation and footer share one atmosphere, not another box. */
.rv-layout .ed-consult{position:relative;isolation:isolate;overflow:hidden;background:#141d18;border:0;color:#f7f4e8;padding-block:110px 100px}
.rv-layout .ed-consult-image{position:absolute;inset:0 0 0 48%;z-index:-2;margin:0;opacity:.52;overflow:hidden}
.rv-layout .ed-consult-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.rv-layout .ed-consult::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#141d18 28%,#141d18da 51%,#141d1815 100%),linear-gradient(0deg,#141d18,transparent 65%)}
.rv-layout .ed-consult>.rv-shell{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10%;align-items:center}
.rv-layout .ed-consult .rv-consult__actions{min-width:0}
.rv-layout .ed-consult h2{font-size:clamp(40px,4.8vw,68px);line-height:1.08;color:#f4f0e4;max-width:710px}
.rv-layout .ed-consult .rv-kicker{color:#cbb88a}
.rv-layout .ed-consult p:not(.rv-kicker){color:#c3cabf;font-size:14px;line-height:1.9;max-width:570px}
.rv-layout .ed-consult .btn{background:#d1bd91;border-color:#d1bd91;color:#1d2a22}
.rv-layout .ed-consult .btn:hover{background:#e9d9b6}
.rv-layout .ed-consult .rv-text-link{color:#eee2c8}
.rv-layout.page-inner:has(.ed-consult) .rv-footer{border-top:0;padding-top:30px}

@media(hover:hover) and (pointer:fine){
 .rv-layout :is(.rv-area-card:hover,.rv-area-card:focus-within,.ed-service-row:hover,.ed-service-row:focus-visible,.rv-post:hover,.rv-featured:hover) .ed-photo img{scale:1.045}
}
@media(max-width:1100px){
 .rv-layout .rv-areas-grid{gap:50px 30px}
 .rv-layout .ed-service-row{gap:22px;grid-template-columns:220px 22px minmax(0,1fr) 35px}
 .rv-layout .ed-service-image{height:185px}
 .rv-layout .ed-service-list--long{gap:0 28px}
 .rv-layout .ed-service-list--long .ed-service-row{grid-template-columns:90px minmax(0,1fr);gap:18px}
 .rv-layout .ed-service-list--long .ed-service-row>.rv-number{position:absolute;top:18px;left:104px;margin:0}
 .rv-layout .ed-service-list--long .ed-service-row>div{grid-column:2;padding-top:20px}
 .rv-layout .ed-service-list--long h3{font-size:25px}
 .rv-layout .rv-faq-section:has(.ed-faq-image){gap:6%}
}
@media(max-width:960px){
 .rv-layout .rv-section-nav{top:85px}
 .rv-layout .rv-intro--photo .rv-shell{gap:5%}
 .rv-layout .rv-intro--photo h1{font-size:47px}
 .rv-layout .rv-intro--photo .rv-intro__lead{font-size:14px}
 .rv-layout .rv-intro__image{aspect-ratio:auto;min-height:440px}
 .rv-layout .ed-consult>.rv-shell{gap:6%}
 .rv-layout .ed-consult .rv-consult__actions .btn{min-width:0;width:100%;max-width:310px}
 .rv-layout .ed-service-row{grid-template-columns:175px 18px minmax(0,1fr) 30px;gap:18px}
 .rv-layout .ed-service-image{height:175px}
}
@media(max-width:700px){
 .rv-layout.page-home .ed-home-gallery{display:none}
 .rv-layout.page-home .svc{grid-template-columns:77px minmax(0,1fr) 33px;gap:12px 17px;align-items:start;min-height:160px}
 .rv-layout.page-home .svc::before{display:none}
 .rv-layout.page-home .svc__editorial{display:block;grid-column:1;grid-row:1/4;width:77px;height:118px;margin:0;overflow:hidden}
 .rv-layout.page-home .svc__editorial img{width:100%;height:100%;object-fit:cover}
 .rv-layout.page-home .svc__title{font-size:26px;grid-column:2}
 .rv-layout.page-home .svc__text{grid-column:2;font-size:12px}
 .rv-layout.page-home .svc__more{grid-column:3}
 .rv-layout .rv-intro--photo{padding-block:15px 35px}
 .rv-layout .rv-intro--photo .rv-shell{display:flex;flex-direction:column;gap:30px}
 .rv-layout .rv-intro--photo .rv-intro__copy{padding:12px 0 0}
 .rv-layout .rv-intro--photo h1{font-size:clamp(38px,10.5vw,54px);margin-block:18px 22px}
 .rv-layout .rv-intro--photo .rv-intro__lead{font-size:14px;line-height:1.85}
 .rv-layout .rv-intro__image{min-height:0;aspect-ratio:1.45;width:100%;margin:0;height:auto;max-height:none}
 .rv-layout .rv-section-nav{position:relative;top:auto;gap:10px 20px;padding-block:14px;font-size:11px}
 .rv-layout .rv-section-nav a:last-child{width:auto;margin-left:0}
 .rv-layout :is(#especialidades,#preguntas){scroll-margin-top:100px}
 .rv-layout .rv-areas-grid{grid-template-columns:1fr;gap:48px}
 .rv-layout .ed-area-image{aspect-ratio:1.5;margin-bottom:25px}
 .rv-layout .ed-area-copy{grid-template-columns:23px minmax(0,1fr);gap:11px 14px}
 .rv-layout .rv-area-card h2{font-size:40px}
 .rv-layout .rv-area-card .ed-area-copy>p{font-size:13px}
 .rv-layout .ed-service-list,.rv-layout .ed-service-list--long{display:block}
 .rv-layout .ed-service-row,.rv-layout .ed-service-list--long .ed-service-row{grid-template-columns:90px minmax(0,1fr);gap:0 18px;padding-block:23px;position:relative;border-bottom:1px solid #cfc9bd;border-top:0}
 .rv-layout .ed-service-row:first-child{border-top:1px solid #cfc9bd}
 .rv-layout .ed-service-image,.rv-layout .ed-service-list--long .ed-service-image{height:138px;grid-column:1;grid-row:1/3;margin:0}
 .rv-layout .ed-service-row>.rv-number,.rv-layout .ed-service-list--long .ed-service-row>.rv-number{position:static;grid-column:2;grid-row:1;font-size:10px;padding:0;margin:0 0 8px}
 .rv-layout .ed-service-row>div,.rv-layout .ed-service-list--long .ed-service-row>div{grid-column:2;grid-row:2;padding:0 0 32px}
 .rv-layout .ed-service-row h3,.rv-layout .ed-service-list--long h3{font-size:25px;line-height:1.15;margin-bottom:14px}
 .rv-layout .ed-service-row p,.rv-layout .ed-service-list--long p{font-size:12px;line-height:1.8}
 .rv-layout .ed-service-row>.rv-arrow,.rv-layout .ed-service-list--long .ed-service-row>.rv-arrow{position:absolute;bottom:22px;right:0;width:28px;height:28px;font-size:16px}
 .rv-layout .rv-faq-section:has(.ed-faq-image){grid-template-columns:1fr;gap:30px;padding-block:25px 55px}
 .rv-layout .ed-faq-image{display:none}
 .rv-layout .rv-faq summary{font-size:14px;padding-block:22px}
 .rv-layout .rv-faq__answer{font-size:13px;padding-right:5px}
 .rv-layout .rv-featured{grid-template-columns:1fr;gap:25px;padding-bottom:35px}
 .rv-layout .rv-featured__image{height:auto;aspect-ratio:1.45}
 .rv-layout .rv-featured__copy{padding:0}
 .rv-layout .rv-featured :is(h2,h2 a){font-size:32px}
 .rv-layout .rv-featured p{font-size:14px}
 .rv-layout .rv-post-grid{grid-template-columns:1fr;gap:40px}
 .rv-layout .rv-post-grid .rv-post .rv-post__image{aspect-ratio:1.5}
 .rv-layout .rv-post h3{font-size:29px}
 .rv-layout .rv-post-meta{font-size:9px}
 .rv-layout .ed-consult{padding-block:65px 50px}
 .rv-layout .ed-consult>.rv-shell{grid-template-columns:1fr;gap:28px}
 .rv-layout .ed-consult-image{left:20%;opacity:.3}
 .rv-layout .ed-consult::before{background:linear-gradient(90deg,#141d18f5,#141d1840),linear-gradient(0deg,#141d18,transparent)}
 .rv-layout .ed-consult h2{font-size:42px}
 .rv-layout .ed-consult p:not(.rv-kicker){font-size:13px}
 .rv-layout.page-inner:has(.ed-consult) .rv-footer{padding-top:25px}
}
@media(max-width:370px){
 .rv-layout .ed-service-row,.rv-layout .ed-service-list--long .ed-service-row{grid-template-columns:68px minmax(0,1fr);gap:0 14px}
 .rv-layout .ed-service-image,.rv-layout .ed-service-list--long .ed-service-image{height:115px}
 .rv-layout .ed-service-row h3,.rv-layout .ed-service-list--long h3{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
 .ed-home-frame{transition:none}
 .rv-layout .ed-photo img{transition:none;scale:none!important}
 .rv-layout .ed-service-row>.rv-arrow{transition:none;translate:none!important}
}


/* MEDLA: editorial-details.css */
/* Interior photography and reading layouts. All original copy remains in the DOM. */
.rv-layout #pb.md-content > .ed-detail-heading:first-child {
  padding-block: 30px 54px !important;
  margin-bottom: 0;
  border-bottom: 0;
}
.rv-layout #pb.md-content .ed-detail-heading .md-page-title {
  max-width: 1050px;
  font-size: clamp(42px, 6.2vw, 88px) !important;
  line-height: 1.02 !important;
  text-wrap: balance;
}
.rv-layout #pb.md-content > .ed-detail-body {
  padding-top: 12px;
  padding-bottom: 75px;
}
.rv-layout #pb.md-content .ed-detail-layout {
  display: grid !important;
  grid-template-columns: minmax(240px, .78fr) minmax(0, 1.48fr);
  gap: clamp(40px, 6vw, 94px);
  align-items: start;
}
.rv-layout #pb.md-content .ed-detail-visual {
  position: sticky;
  top: 128px;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  background: #e4ded2;
  aspect-ratio: 3 / 4;
}
.rv-layout #pb.md-content .ed-detail-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% center;
  filter: none;
}
.rv-layout #pb.md-content .ed-detail-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 65%, #18251e24);
  box-shadow: inset 0 0 0 1px #1e30290a;
}
.rv-layout #pb.md-content .ed-detail-sequence {
  min-width: 0;
}
.rv-layout #pb.md-content .ed-detail-chapter {
  position: relative;
  padding: 45px 0 42px;
  border-top: 1px solid #cdc9bd;
  margin: 0;
  width: 100%;
  min-width: 0;
}
.rv-layout #pb.md-content .ed-detail-chapter:first-child {
  padding-top: 0;
  border-top: 0;
}
.rv-layout #pb.md-content .ed-detail-chapter:last-child {
  padding-bottom: 0;
}
.rv-layout #pb.md-content .ed-chapter-index {
  display: block;
  margin-bottom: 22px;
  color: #95815c;
  font: 500 11px/1 var(--font-body);
  letter-spacing: .16em;
}
.rv-layout #pb.md-content .ed-chapter-index::before {
  content: attr(data-number);
}
.rv-layout #pb.md-content .ed-detail-chapter h2 {
  font-size: clamp(29px, 3.1vw, 43px) !important;
  line-height: 1.14 !important;
  margin-top: 0;
  text-wrap: balance;
}
.rv-layout #pb.md-content .ed-detail-chapter h3 {
  font-size: clamp(25px, 2.6vw, 35px) !important;
  text-wrap: balance;
}
.rv-layout #pb.md-content .ed-detail-chapter .x-text > :last-child {
  margin-bottom: 0;
}
.rv-layout #pb.md-content .ed-detail-opening > .x-text > p:first-of-type {
  font-size: 17px;
  line-height: 1.8;
  color: #3b483f;
}
.rv-layout #pb.md-content .ed-detail-chapter .md-tiles {
  gap: 18px 30px;
  margin-block: 28px 0;
}
.rv-layout #pb.md-content .ed-detail-chapter .md-tile {
  padding-top: 23px;
  border-color: #d3cec2;
}
.rv-layout #pb.md-content .ed-detail-chapter .md-tile .x-text > p:first-child {
  font-size: 16px;
  line-height: 1.45;
  margin-bottom: 13px;
}
.rv-layout #pb.md-content .ed-detail-chapter table {
  background: #eeece5;
  font-size: 13px;
  border-top: 2px solid #aa9367;
}
.rv-layout #pb.md-content .ed-detail-chapter thead {
  background: #e5e4da;
}
.rv-layout #pb.md-content .ed-detail-chapter :is(td, th) {
  padding: 18px;
}
.rv-layout #pb.md-content .ed-detail-faq > .md-tile {
  border: 0;
  padding: 0;
}
.rv-layout #pb.md-content .ed-detail-faq .acc {
  border: 0;
  border-bottom: 1px solid #cdc9bd;
  background: transparent;
  border-radius: 0;
}
.rv-layout #pb.md-content .ed-detail-faq .acc__head {
  margin: 0;
}
.rv-layout #pb.md-content .ed-detail-faq .acc__btn {
  padding: 21px 0;
  gap: 20px;
  background: transparent;
  font: 500 15px/1.55 var(--font-body);
  color: #263f33;
  text-align: left;
}
.rv-layout #pb.md-content .ed-detail-faq .acc__body {
  padding: 0 0 24px;
}
.rv-layout #pb.md-content > .ed-form-section,
.rv-layout #pb.md-content > .ed-reserve-section {
  background: #eae7df;
  padding-block: 64px;
}
.rv-layout #pb.md-content .ed-form-section .md-columns {
  align-items: center;
  grid-template-columns: .85fr 1.15fr;
}
.rv-layout #pb.md-content .ed-form-section .mform {
  margin-block: 0;
  box-shadow: none;
  background: #f9f8f4;
  border: 0;
  padding: 35px;
}
.rv-layout #pb.md-content .ed-form-section .mform--dark,
.rv-layout #pb.md-content .ed-form-section .mform--dark :is(.mfield__label, .mcheck, .mform__legal, .mform__legal a, input, select, textarea) {
  color: #304637;
}
.rv-layout #pb.md-content .ed-form-section .mform--dark :is(.mfield__error, .mform__status.is-error, abbr) {
  color: #a32f25;
}
.rv-layout #pb.md-content > .ed-reviews-section {
  padding-top: 55px;
  padding-bottom: 65px;
  border-top: 1px solid #d9d4c8;
}
.rv-layout #pb.md-content .ed-reserve-section .x-inner {
  max-width: 950px;
}
.rv-layout #pb.md-content .ed-reserve-section h2 {
  font-size: clamp(38px, 5vw, 66px) !important;
}

/* Contact: the photograph and the existing form share one balanced composition. */
.rv-layout #pb.md-content > .ed-contact-form-section {
  padding-top: 0;
  padding-bottom: 55px;
}
.rv-layout #pb.md-content .ed-contact-layout {
  display: grid !important;
  grid-template-columns: .82fr 1.18fr;
  gap: 0;
  align-items: stretch;
  background: #ece9e0;
}
.rv-layout #pb.md-content .ed-contact-layout > .x-con {
  padding: clamp(28px, 4vw, 58px);
}
.rv-layout #pb.md-content .ed-contact-layout h2 {
  font-size: clamp(31px, 3.6vw, 48px) !important;
  margin: 0;
}
.rv-layout #pb.md-content .ed-contact-layout .mform {
  max-width: none;
  margin: 26px 0 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.rv-layout #pb.md-content .ed-detail-visual--contact {
  position: sticky;
  top: 128px;
  align-self: start;
  aspect-ratio: 3 / 4;
  min-height: 0;
}
.rv-layout #pb.md-content .ed-detail-visual--contact img {
  position: absolute;
  inset: 0;
}
.rv-layout #pb.md-content > .ed-contact-directory {
  padding-top: 20px;
  padding-bottom: 70px;
}
.rv-layout #pb.md-content .ed-contact-directory .x-grid {
  display: grid;
  grid-template-columns: .9fr .9fr 1.2fr;
  gap: 30px;
}
.rv-layout #pb.md-content .ed-contact-directory .x-iconbox {
  display: block;
  border-top: 1px solid #c8c2b3;
  padding: 24px 0 0;
}
.rv-layout #pb.md-content .ed-contact-directory .x-icon {
  display: block;
  color: #9a8256;
  font-size: 25px;
  margin-bottom: 18px;
}
.rv-layout #pb.md-content .ed-contact-directory h5 {
  font: 400 14px/1.8 var(--font-body);
  color: #304637;
  overflow-wrap: anywhere;
}
.rv-layout #pb.md-content .ed-contact-business .md-columns {
  grid-template-columns: 1.35fr .65fr;
  align-items: center;
}
.rv-layout #pb.md-content .ed-contact-business h1 {
  font-size: clamp(35px, 4vw, 54px) !important;
}
.rv-layout #pb.md-content .ed-contact-business .x-img img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* About: real source copy in a consistent photographic, editorial rhythm. */
.rv-layout #pb.md-content > .ed-about-story {
  padding-block: 25px 80px;
}
.rv-layout #pb.md-content .ed-about-story .md-columns {
  align-items: center;
  gap: clamp(35px, 6vw, 85px);
  grid-template-columns: 1.05fr .95fr;
}
.rv-layout #pb.md-content .ed-about-story .x-img img {
  aspect-ratio: 4 / 5;
  height: auto;
  max-height: none;
  object-fit: cover;
  filter: none;
}
.rv-layout #pb.md-content .ed-about-story .x-text {
  max-width: 65ch;
}
.rv-layout #pb.md-content > .ed-about-stats {
  background: #e8e5dc;
  padding-block: 55px;
}
.rv-layout #pb.md-content .ed-about-stats .md-columns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.rv-layout #pb.md-content .ed-about-stats .md-columns > .x-con {
  padding: 0 40px;
  border-left: 1px solid #c4bdac;
}
.rv-layout #pb.md-content .ed-about-stats .md-columns > .x-con:first-child {
  border-left: 0;
  padding-left: 0;
}
.rv-layout #pb.md-content .ed-about-stats h2 {
  font-size: clamp(48px, 6.5vw, 85px) !important;
  color: #3f503e !important;
  margin-bottom: 12px;
}
.rv-layout #pb.md-content .ed-about-stats .x-text {
  font-size: 13px;
}

@media (max-width: 1100px) {
  .rv-layout #pb.md-content .ed-detail-layout { gap: 35px; grid-template-columns: .65fr 1.35fr; }
  .rv-layout #pb.md-content .ed-detail-visual { top: 105px; }
  .rv-layout #pb.md-content .ed-detail-chapter .md-tiles { grid-template-columns: 1fr; }
  .rv-layout #pb.md-content .ed-contact-layout { grid-template-columns: .7fr 1.3fr; }
  .rv-layout #pb.md-content .ed-about-story .md-columns { gap: 35px; }
}
@media (max-width: 760px) {
  .rv-layout #pb.md-content > .ed-detail-heading:first-child { padding-block: 25px 32px !important; }
  .rv-layout #pb.md-content .ed-detail-heading .md-page-title { font-size: clamp(36px, 9vw, 56px) !important; }
  .rv-layout #pb.md-content .ed-detail-layout { grid-template-columns: 1fr; gap: 34px; }
  .rv-layout #pb.md-content .ed-detail-visual { position: relative; top: auto; aspect-ratio: 16 / 10; }
  .rv-layout #pb.md-content .ed-detail-chapter { padding-block: 34px; }
  .rv-layout #pb.md-content .ed-detail-chapter h2 { font-size: 31px !important; }
  .rv-layout #pb.md-content .ed-detail-opening > .x-text > p:first-of-type { font-size: 16px; }
  .rv-layout #pb.md-content .ed-chapter-index { margin-bottom: 17px; }
  .rv-layout #pb.md-content .ed-detail-faq .acc__btn { font-size: 14px; }
  .rv-layout #pb.md-content .ed-form-section .md-columns,
  .rv-layout #pb.md-content .ed-contact-layout,
  .rv-layout #pb.md-content .ed-contact-directory .x-grid,
  .rv-layout #pb.md-content .ed-contact-business .md-columns,
  .rv-layout #pb.md-content .ed-about-story .md-columns { grid-template-columns: 1fr; }
  .rv-layout #pb.md-content .ed-form-section .mform { padding: 25px 18px; }
  .rv-layout #pb.md-content .ed-contact-layout > .x-con { padding: 30px 22px; }
  .rv-layout #pb.md-content .ed-detail-visual--contact { position: relative; top: auto; min-height: 0; aspect-ratio: 16 / 10; }
  .rv-layout #pb.md-content .ed-contact-directory .x-grid { gap: 28px; }
  .rv-layout #pb.md-content > .ed-about-story { padding-block: 15px 50px; }
  .rv-layout #pb.md-content .ed-about-story .x-img img { aspect-ratio: 4 / 3; }
  .rv-layout #pb.md-content .ed-about-stats .md-columns { gap: 0; }
  .rv-layout #pb.md-content .ed-about-stats .md-columns > .x-con { padding-inline: 14px; }
  .rv-layout #pb.md-content .ed-about-stats h2 { font-size: clamp(34px, 8vw, 58px) !important; }
  .rv-layout #pb.md-content .ed-about-stats .x-text { font-size: 11px; line-height: 1.6; }
}


/* 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 .rv-mega__intro{padding:14px 35px 25px 0}
.rv-layout .rv-mega__intro h2{font-size:29px;line-height:1.2;margin:14px 0}
.rv-layout .wf-mega-help{font-size:12px;line-height:1.7;color:#657064;margin:0 0 22px;max-width:190px}
.rv-layout .rv-mega__intro>a{display:inline-flex;gap:12px;font-size:12px;line-height:1.7}
.rv-layout .rv-mega__links{gap:0 26px}
.rv-layout .rv-mega__links>a{padding:17px 12px 17px 0;min-height:86px}
.rv-layout .rv-mega__links span{font-size:24px;line-height:1.2}
.rv-layout .rv-mega__links small{font-size:12px;line-height:1.55;margin-top:6px;color:#626b61}
.rv-layout .rv-mega__bottom{gap:18px 30px;align-items:center;margin-top:10px;padding:15px 0;font-size:12px;line-height:1.6}
.rv-layout .rv-mega__bottom a{padding-block:7px;text-underline-offset:4px}
.rv-layout .rv-mega__bottom a:hover{text-decoration:underline}
.rv-layout .rv-mega__bottom .wf-mega-all{display:none}
.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}
.rv-layout .rv-footer__top{grid-template-columns:100px minmax(0,1fr) auto;gap:40px}
.rv-layout .rv-footer__top h2{font-size:clamp(30px,3.7vw,54px)}
.rv-layout .rv-footer__top .wf-footer-cta{display:inline-flex;align-items:center;justify-content:center;gap:25px;flex:0 0 auto;min-height:52px;padding:16px 25px;background:#d1bd91;border:1px solid #d1bd91;color:#19271e;font:600 13px/1.45 var(--font-body);letter-spacing:0;white-space:nowrap;transition:background .2s,color .2s}
.rv-layout .rv-footer__top .wf-footer-cta:hover{background:#e9d9b6;color:#19271e}
.rv-layout .wf-footer-cta span{font-size:18px;line-height:1}
.rv-layout .wf-footer-directory{padding-top:8px}
.rv-layout .wf-footer-directory a{color:#d9c398;text-decoration:underline;text-underline-offset:5px}
.rv-layout.page-home .rv-footer__top h2{font-size:24px}
@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}
 .rv-layout .rv-mega__intro{padding-right:22px}
 .rv-layout .rv-mega__links small{font-size:11px}
}
@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-mega__links{padding:5px 18px;gap:0 25px}
 .rv-layout .rv-mega__links>a{min-height:76px;padding:14px 0}
 .rv-layout .rv-mega__links span{font-size:23px}
 .rv-layout .rv-mega__links small{font-size:12px;margin-top:5px}
 .rv-layout .rv-mega__bottom{align-items:start;flex-direction:column;gap:4px;padding:12px 18px 18px;margin:0}
 .rv-layout .rv-mega__bottom .wf-mega-all{display:block}
 .rv-layout .rv-mega__bottom a{min-height:38px;display:flex;align-items:center;gap:9px}
 .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}
 .rv-layout .rv-footer__top{grid-template-columns:80px minmax(0,1fr) auto;gap:25px}
 .rv-layout .rv-footer__top h2{font-size:34px}
 .rv-layout .rv-footer__top .wf-footer-cta{font-size:12px;padding-inline:20px;gap:18px}
}
@media(max-width:650px){
 .rv-layout .rv-mega__links{grid-template-columns:1fr}
 .rv-layout .rv-mega__links>a{min-height:73px}
 .rv-layout .rv-mega__links span{font-size:22px}
 .rv-layout .rv-mega__links small{font-size:11px}
 .rv-layout .rv-footer__top,.rv-layout.page-home .rv-footer__top{display:grid;grid-template-columns:55px minmax(0,1fr);gap:20px 24px;align-items:center}
 .rv-layout .rv-footer__top>a:first-child,.rv-layout.page-home .rv-footer__top>a:first-child{grid-column:1;width:auto}
 .rv-layout .rv-footer__top img{width:55px}
 .rv-layout .rv-footer__top h2,.rv-layout.page-home .rv-footer__top h2{font-size:23px;line-height:1.3;grid-column:2}
 .rv-layout .rv-footer__top .wf-footer-cta{grid-column:1/-1;width:100%;font-size:13px;min-height:52px;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){
 .rv-layout .rv-footer__top .wf-footer-cta{transition:none}
}


/* MEDLA: wayfinding-details.css */
/* Reading and next steps share one understated, accessible navigation language. */
.wf-shell { width: calc(100% - 2 * var(--rv-gutter, 24px)); max-width: var(--rv-max, 1280px); margin-inline: auto; }
.wf-service-nav { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 32px; padding-block: 4px 22px; border-bottom: 1px solid #d5cfbf; }
.wf-back { display: inline-flex; align-items: center; justify-self: start; gap: 12px; min-height: 46px; color: #485b50; font: 500 12px/1.6 var(--font-body); text-decoration: none; }
.wf-back span { color: #8c774f; font-size: 19px; }
.wf-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; }
.wf-primary { display: inline-flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 48px; padding: 13px 22px; border: 1px solid #23382d; border-radius: 2px; color: #f8f5ea; background: #23382d; font: 600 12px/1.5 var(--font-body); text-decoration: none; transition: background .2s, border-color .2s; }
.wf-primary:hover { color: #fff; background: #344e3f; border-color: #344e3f; }
.wf-primary span { font-size: 20px; line-height: 1; }
.wf-secondary { display: inline-flex; align-items: center; min-height: 44px; padding-block: 9px; color: #3f5045; font: 500 12px/1.5 var(--font-body); text-decoration: underline; text-decoration-color: #a99a77; text-underline-offset: 5px; }
.wf-back:hover, .wf-secondary:hover { color: #806838; }
.wf-index { grid-column: 1/-1; font: 400 12px/1.7 var(--font-body); color: #485b50; }
.wf-index__summary { display: flex; align-items: center; gap: 18px; width: max-content; max-width: 100%; min-height: 44px; cursor: pointer; list-style: none; font-weight: 500; }
.wf-index__summary::-webkit-details-marker { display: none; }
.wf-index__icon { font: 300 21px/1 var(--font-body); color: #88734a; transition: rotate .2s; }
.wf-index[open] .wf-index__icon { rotate: 45deg; }
.wf-index__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 35px; padding-block: 10px 5px; }
.wf-index__link { display: block; min-width: 0; min-height: 44px; padding: 12px 0; border-top: 1px solid #ded8cb; color: #485b50; font-size: 12px; line-height: 1.65; text-decoration: none; overflow-wrap: anywhere; }
.wf-index__link:hover { color: #806838; text-decoration: underline; text-underline-offset: 4px; }
.wf-anchor { scroll-margin-top: 135px !important; }
.wf-article-bridge { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 36px; margin-block: 20px 55px; padding: 36px 0; border-top: 1px solid #cfc6b4; border-bottom: 1px solid #cfc6b4; }
.wf-article-bridge__copy { min-width: 0; max-width: 650px; }
.wf-eyebrow { margin: 0 0 13px; color: #85724d; font: 600 10px/1.6 var(--font-body); letter-spacing: .13em; text-transform: uppercase; }
.wf-title { margin: 0 0 15px; color: #24382c; font: 400 clamp(29px, 3vw, 41px)/1.15 var(--font-display); }
.wf-description { margin: 0; max-width: 540px; color: #626c62; font: 400 14px/1.8 var(--font-body); }
.wf-actions--article { flex-direction: column; align-items: flex-start; gap: 9px; }
.wf-back:focus-visible, .wf-primary:focus-visible, .wf-secondary:focus-visible, .wf-index__summary:focus-visible, .wf-index__link:focus-visible { outline: 2px solid #9d8150; outline-offset: 5px; }
@media (max-width: 850px) {
  .wf-service-nav { gap: 6px 25px; }
  .wf-actions { gap: 6px 15px; }
  .wf-primary { padding-inline: 17px; gap: 18px; }
  .wf-article-bridge { grid-template-columns: 1fr; gap: 22px; }
  .wf-actions--article { flex-direction: row; align-items: center; gap: 12px 22px; }
}
@media (max-width: 640px) {
  .wf-service-nav { grid-template-columns: 1fr; padding-bottom: 15px; }
  .wf-actions { width: 100%; justify-content: space-between; }
  .wf-primary { min-width: 0; font-size: 11px; padding-inline: 16px; gap: 15px; }
  .wf-secondary { font-size: 11px; }
  .wf-index__links { grid-template-columns: 1fr; }
  .wf-anchor { scroll-margin-top: 105px !important; }
  .wf-article-bridge { padding-block: 28px; margin-block: 10px 35px; }
  .wf-description { font-size: 13px; }
  .wf-actions--article { justify-content: flex-start; }
}
@media (max-width: 370px) {
  .wf-service-nav .wf-primary { width: 100%; }
  .wf-service-nav .wf-secondary { min-height: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .wf-primary, .wf-index__icon { transition: none; }
}


/* MEDLA: wayfinding.css */
/* Shared navigation rhythm: search, service context and one clear next step. */
.rv-layout [hidden]{display:none!important}
.wf-catalog-tools{padding-bottom:22px;border-bottom:1px solid #d9d7ce;margin-bottom:32px}
.wf-results-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:40px}
.wf-results-row .rv-results{margin:0}
.wf-clear{background:none;border:0;padding:10px 0;color:#66542d;font:500 12px/1.5 var(--font-body);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.wf-direct-results{display:grid}
.wf-service-result{display:grid;grid-template-columns:140px minmax(0,1fr) 36px;gap:32px;align-items:center;padding:30px 0;border-bottom:1px solid #d8d7cd;text-decoration:none;color:#132d37;transition:padding .25s,background .25s}
.wf-service-result>span:first-child{font:500 11px/1.6 var(--font-body);color:#756441;text-transform:uppercase;letter-spacing:.06em}
.wf-service-result h3{font:500 clamp(21px,2.5vw,29px)/1.2 var(--font-display);margin:0 0 8px}
.wf-service-result p{font:400 14px/1.7 var(--font-body);color:#526366;max-width:680px;margin:0}
.wf-service-result:hover{padding-inline:16px;background:#efeee7}
.wf-catalog-help{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:35px;margin-top:45px;border-block:1px solid #d7d5ca}
.wf-catalog-help p{margin:0;font:400 14px/1.7 var(--font-body);color:#526366;max-width:530px}
.wf-catalog-help strong{display:block;color:#132d37;font-size:19px;font-weight:500;margin-bottom:4px}
.wf-catalog-help .btn{flex-shrink:0}
.wf-area-link{padding-top:22px}
.wf-intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
.wf-booking-note{font:400 12px/1.6 var(--font-body)!important;margin:14px 0 0!important;color:#526366!important}
.rv-layout .rv-section-nav .wf-nav-action{margin-left:auto;color:#65552e;font-weight:600}
.rv-layout #consulta{scroll-margin-top:120px}
.wf-service-result:focus-visible,.wf-clear:focus-visible{outline:2px solid #9d8150;outline-offset:5px}
@media(max-width:700px){
 .wf-service-result{grid-template-columns:minmax(0,1fr) 26px;gap:10px;padding-block:25px}
 .wf-service-result>span:first-child{grid-column:1/-1}
 .wf-service-result p{font-size:13px}
 .wf-catalog-help{align-items:flex-start;flex-direction:column;gap:20px;padding-block:28px}
 .wf-catalog-help .btn{width:100%}
 .wf-intro-actions{gap:18px}
 .wf-intro-actions .btn{min-height:48px}
 .wf-results-row{align-items:flex-start;gap:12px}
 .rv-layout .rv-section-nav{gap:14px 22px;flex-wrap:wrap}
 .rv-layout .rv-section-nav .wf-nav-action{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.wf-service-result{transition:none}}


/* MEDLA: bilingual.css */
/* MEDLA bilingual editorial system: same palette, clear continuous rhythm. */
.bi-page :is(h1,h2,h3){font-family:var(--font-display);font-style:normal}
/* Positive hero layers avoid video painting behind the section background. */
.bi-language{display:inline-flex;align-items:center;gap:0;padding:0;border:0;white-space:nowrap;flex-shrink:0;margin-left:4px;color:inherit}
.bi-language>a,.bi-language>span{display:grid;place-items:center;width:40px;min-height:44px;padding:6px;color:inherit;text-decoration:none;text-align:center}
.bi-language .bi-flag{display:block;font:24px/1 "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.bi-language>a{opacity:.65}
.bi-language>[aria-current],.bi-language>a:hover,.bi-language>a:focus-visible{background:transparent;opacity:1}
.bi-language>a:focus-visible{outline:2px solid var(--gold,#a6956b);outline-offset:2px;border-radius:3px}
.bi-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}
.bi-actions .btn{font-size:14px}.bi-actions .rv-text-link{font-size:13px}
.bi-intro h1{font-style:normal!important;max-width:900px}.bi-intro .rv-intro__lead{max-width:630px}
.bi-home-hero{min-height:min(850px,95svh);position:relative;isolation:isolate;background:var(--elite-night,#101615);overflow:hidden;display:grid;align-items:center;color:#fff}
.bi-home-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#101615eb 0%,#101615b8 38%,#10161520 78%),linear-gradient(180deg,#10161560,transparent 30%,#10161545)}
.bi-home-hero .hero__film{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;z-index:0}
.bi-home-copy{position:relative;z-index:2;padding-block:185px 70px}.bi-home-copy h1{font-family:var(--font-hero);font-size:clamp(44px,5.8vw,86px);font-weight:400;line-height:1.04;letter-spacing:-.04em;max-width:1000px;margin:25px 0;font-style:normal}
.bi-home-copy>p:not(.rv-kicker){font-size:clamp(16px,1.4vw,20px);line-height:1.75;max-width:640px;color:#f2f0e9}.bi-home-copy .rv-kicker{color:#d8caa7}.bi-home-copy .rv-text-link{color:#fff}.bi-hero-down{display:inline-flex;gap:35px;margin-top:55px;color:#fff;font-size:12px;text-decoration:none}
.bi-bridge,.bi-scope,.bi-contact,.bi-closing{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(35px,7vw,110px);padding-block:90px;border-bottom:1px solid #142d371d}
.bi-bridge h2,.bi-scope h2,.bi-contact h2,.bi-closing h2,.bi-guides h2,.bi-process h2,.bi-services h2,.bi-faq>h2{font-size:clamp(32px,3.5vw,52px);line-height:1.12;font-weight:400;letter-spacing:-.025em;margin:12px 0 25px;font-style:normal}
.bi-bridge p,.bi-scope p,.bi-contact p,.bi-closing p,.bi-plan p,.bi-provider-note p{font-size:15px;line-height:1.85;max-width:640px;color:#536267}
.bi-bridge__action{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:25px}.bi-language-mark{font-size:clamp(52px,8vw,120px);line-height:1;letter-spacing:-.055em;font-weight:300;color:#a6956b}
.bi-services,.bi-process,.bi-guides,.bi-faq{padding-block:85px}.bi-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.bi-area>a,.bi-guide-grid a{display:block;color:inherit;text-decoration:none}.bi-area figure,.bi-guide-grid figure{margin:0 0 20px;aspect-ratio:1.5;overflow:hidden}.bi-area img,.bi-guide-grid img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.3,1)}.bi-area a:hover img,.bi-guide-grid a:hover img{transform:scale(1.035)}.bi-area h2{font-size:25px;margin:12px 0}.bi-area h2 span{float:right;font-size:22px;color:#a6956b}.bi-area p,.bi-guide-grid p{font-size:14px;line-height:1.75;color:#536267}.bi-area .rv-number{font-size:12px;letter-spacing:2px}
.bi-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}.bi-steps article{border-top:1px solid #a6956b;padding-top:25px}.bi-steps h3{font-size:23px;font-weight:400;margin:20px 0 12px}.bi-steps p{font-size:14px;line-height:1.8;color:#536267}.bi-service-list article{padding:24px 0;border-top:1px solid #142d3726}.bi-service-list article:first-child{padding-top:0;border:0}.bi-service-list h3{font-size:24px;font-weight:400;margin:0 0 10px}.bi-price-note{font-size:12px!important;letter-spacing:.03em;margin-top:20px;color:#536267}.bi-closing .bi-actions{align-content:center;margin:0}.bi-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.bi-guide-grid h3{font-size:24px;font-weight:400;line-height:1.25;margin:0 0 15px}
.bi-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-block:45px}.bi-plan{display:flex;flex-direction:column;padding:32px;border:1px solid #b7b1a5;background:linear-gradient(160deg,#fcfbf8,#eeeae0)}.bi-plan h2{font-size:27px;font-weight:400;line-height:1.2;min-height:95px;margin:0 0 10px}.bi-plan>p:not(.bi-plan-price){flex:1}.bi-plan-price{color:#142d37!important;font-size:38px!important;font-weight:400;margin:22px 0}.bi-plan-price small{display:block;font:400 12px/1.6 Arial,sans-serif}.bi-plan .btn{align-self:flex-start}.bi-provider-note{padding-block:30px 60px}.bi-provider-note h2{font-size:25px;font-weight:400}
.bi-contact-link{display:block;margin:20px 0;color:#142d37;text-decoration:none;overflow-wrap:anywhere;font-size:20px}.bi-contact .mform{max-width:none}.bi-request{max-width:780px;padding-block:75px}.bi-prose{max-width:750px;font-size:16px;line-height:1.85;color:#46565b}.bi-prose h2{font-size:30px;font-weight:400;line-height:1.2;letter-spacing:-.015em;margin:0 0 20px;color:#142d37}.bi-prose h3{font-size:23px;font-weight:400;margin:30px 0 12px;color:#142d37}.bi-prose p{margin:0 0 22px}.bi-prose section{padding:0 0 35px;margin:0 0 35px;border-bottom:1px solid #142d371a;scroll-margin-top:130px}.bi-guide-layout{display:grid;grid-template-columns:270px 1fr;gap:85px;padding-block:55px}.bi-guide-index{position:sticky;top:125px;display:flex;flex-direction:column;border-top:1px solid #a6956b}.bi-guide-index a{color:#536267;text-decoration:none;font-size:13px;line-height:1.6;padding:15px 0;border-bottom:1px solid #142d371a}.bi-guide-index a:hover{color:#142d37}.bi-guide-meta{display:flex;gap:30px;flex-wrap:wrap;padding-block:22px;border-block:1px solid #142d371a;color:#647074;font-size:12px}.bi-guide-sources{font-size:13px;background:#eceee9;padding:28px;margin:30px 0}.bi-guide-sources h2{font-size:22px}.bi-guide-sources ul{margin:0;padding-left:18px}.bi-guide-notice{font-size:13px;color:#647074}.bi-archive-note{font-size:14px;line-height:1.8;padding-bottom:65px}.bi-page a:focus-visible{outline:2px solid #9d7e3f;outline-offset:5px}.bi-usa-nav{white-space:nowrap}
@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){.bi-guide-layout{gap:45px;grid-template-columns:220px 1fr}.bi-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bi-language{align-self:flex-start;margin:20px 0}.bi-plan-grid{gap:15px}.bi-plan{padding:24px}.bi-plan h2{font-size:23px}.bi-bridge,.bi-scope,.bi-contact,.bi-closing{gap:35px}.bi-home-copy{padding-top:150px}}
@media(max-width:760px){.bi-home-hero{min-height:780px;min-height:95svh}.bi-home-copy{position:relative;z-index:2;padding-block:145px 55px}.bi-home-copy h1{font-family:var(--font-hero);font-size:clamp(38px,10vw,58px)}.bi-home-copy>p:not(.rv-kicker){font-size:16px}.bi-hero-down{margin-top:35px}.bi-bridge,.bi-scope,.bi-contact,.bi-closing{grid-template-columns:1fr;gap:30px;padding-block:55px}.bi-language-mark{font-size:64px}.bi-area-grid,.bi-guide-grid,.bi-plan-grid,.bi-steps{grid-template-columns:1fr}.bi-area-grid{gap:35px}.bi-services,.bi-process,.bi-guides,.bi-faq{padding-block:50px}.bi-steps{gap:28px}.bi-guide-layout{grid-template-columns:1fr;gap:35px;padding-block:35px}.bi-guide-index{position:static}.bi-guide-layout>aside{max-width:none}.bi-guide-meta{gap:12px 22px}.bi-prose h2{font-size:26px}.bi-plan h2{min-height:0}.bi-intro .rv-intro__image{margin-top:25px}.bi-plan-grid{padding-block:25px}.bi-actions{gap:20px}.bi-actions .btn{font-size:13px}.bi-guide-grid{gap:35px}.bi-closing .bi-actions{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.bi-area img,.bi-guide-grid img{transition:none}.bi-area a:hover img,.bi-guide-grid a:hover img{transform:none}}


/* MEDLA: service-visuals.css */
/* MEDLA · Local decorative objects. No external images or network resources. */
.sv-scene{--sv-metal:#a89163;--sv-paper:#fcf8ee;--sv-dark:#1b363c;--sv-pointer-x:0deg;--sv-pointer-y:0deg;position:relative;isolation:isolate;width:100%;height:100%;min-height:220px;overflow:hidden;container-type:inline-size;background:radial-gradient(ellipse at 26% 13%,#fbf8f0 0,transparent 61%),linear-gradient(145deg,#efebe1,#dfdacd);color:#4d534d;perspective:1100px;pointer-events:none;user-select:none;-webkit-user-select:none}.sv-scene--hero{min-height:320px}.sv-scene *{box-sizing:border-box}.sv-scene i,.sv-scene b{display:block;font-style:normal}.sv-scene svg{display:block;overflow:visible;max-width:none}.sv-scene-light{position:absolute;inset:0;background:linear-gradient(118deg,transparent 35%,#fff6 48%,transparent 69%);opacity:.45;transform:translateX(-10%);transition:transform 1.3s cubic-bezier(.19,1,.22,1),opacity 1s}.sv-scene.is-engaged .sv-scene-light{transform:translateX(9%);opacity:.85}
.sv-stage{position:absolute;inset:5% 8% 10%;perspective:1000px;transform-style:preserve-3d}.sv-stage:after{content:"";position:absolute;z-index:-1;width:62%;height:9%;left:24%;top:83%;border-radius:50%;background:#4d403527;filter:blur(10px);transform:rotate(-8deg);transition:opacity .8s,transform .8s}.sv-object{position:absolute;left:50%;top:50%;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(var(--sv-pointer-x)) rotateY(var(--sv-pointer-y));transition:transform 1s cubic-bezier(.19,1,.22,1)}
.sv-scene-caption{position:absolute;inset:auto 6% 5%;display:flex;align-items:center;gap:13px;font:500 clamp(8px,2.1cqw,11px)/1 var(--font-body,Arial,sans-serif);letter-spacing:.16em;color:#766f5e;white-space:nowrap}.sv-scene-caption>span:first-child{opacity:.55;letter-spacing:.04em}.sv-scene-caption>i{height:1px;flex:1;background:#8b7f602b;max-width:60px;margin-left:auto}.sv-scene--hero .sv-scene-caption{inset:auto 7% 6%;font-size:clamp(10px,2.1cqw,12px)}
/* A leather-bound code: independent covers, spine, paper block and leaves. */
.sv-book{width:39%;aspect-ratio:.745;left:54%;top:49%;transform:translate(-50%,-50%) rotateX(calc(14deg + var(--sv-pointer-x))) rotateY(calc(-24deg + var(--sv-pointer-y))) rotateZ(-8deg);transition:transform 1.2s cubic-bezier(.22,.68,.2,1),left 1.2s cubic-bezier(.22,.68,.2,1)}.sv-book-back,.sv-book-block,.sv-book-page,.sv-book-cover,.sv-book-spine{position:absolute;inset:0;border-radius:1px 5px 5px 1px;transform-style:preserve-3d}.sv-book-back{background:#183238;transform:translateZ(-13px);box-shadow:14px 17px 24px #18292038;inset:-1.8% -1.7% -1.8% -2%}.sv-book-block{inset:1% 1% 1% 0;background:repeating-linear-gradient(0deg,#d6cbae 0 1px,#f4eedc 1px 3px);transform:translateZ(-7px);box-shadow:6px 2px 0 #d9c9a7,8px 3px 0 #e9dec7,10px 4px 0 #ccb889;border:1px solid #d2c09b}.sv-book-spine{inset:-2% auto -2% -9%;width:10%;border-radius:5px 0 0 5px;background:linear-gradient(90deg,#10292f,#2b4344 46%,#183036);transform:rotateY(-40deg);transform-origin:right;box-shadow:inset 2px 0 3px #0003;border-block:1px solid #79806b}.sv-book-spine:before,.sv-book-spine:after{content:"";position:absolute;inset:12% 15% auto;height:5%;border-block:1px solid #ac956350}.sv-book-spine:after{top:auto;bottom:12%}.sv-book-spine>span{position:absolute;left:0;right:0;top:41%;writing-mode:vertical-rl;margin:auto;color:#bca679;font:500 clamp(5px,1.5cqw,9px)/1 var(--font-body,Arial,sans-serif);letter-spacing:.19em}
.sv-book-page{inset:1% 1% 1% 0;background:linear-gradient(90deg,#d4c9af,#faf6e9 10%,#fcf8ee 88%,#e7dfca);transform-origin:left center;border:1px solid #dfd5bc;box-shadow:1px 1px 1px #7b69452b;padding:18% 13%;transition:transform 1.15s cubic-bezier(.22,.68,.2,1)}.sv-book-page--base{transform:translateZ(1px)}.sv-book-page--one{transform:translateZ(3px) rotateY(-2deg)}.sv-book-page--two{transform:translateZ(5px) rotateY(-5deg)}.sv-book-page .sv-rules{opacity:.45}.sv-page-number{display:block;margin-bottom:22%;text-align:center;color:#7b786a;font:400 clamp(8px,2.8cqw,16px)/1 Georgia,serif}.sv-book-cover{transform-origin:left;transform:translateZ(7px) rotateY(-9deg);transition:transform 1.25s cubic-bezier(.22,.68,.2,1);inset:-1.8% -1.7% -1.8% -2%}.sv-book-face,.sv-book-inside{position:absolute;inset:0;backface-visibility:hidden;border-radius:1px 5px 5px 1px}.sv-book-face{display:flex;flex-direction:column;align-items:center;background:radial-gradient(circle at 15% 10%,#78907b12 .55px,transparent 1px) 0 0/3px 3px,linear-gradient(110deg,#152f36,#264348 55%,#18353c);border:1px solid #1b3136;box-shadow:inset 3px 0 3px #010d0f70,inset 0 0 0 5px #183236,inset 0 0 0 6px #b49b6550,3px 3px 4px #0002;color:#c8b385;padding:14% 10% 10%;text-align:center}.sv-book-face:after{content:"";position:absolute;inset:8%;border:1px solid #a894633b;pointer-events:none}.sv-book-topline{font:500 clamp(5px,1.65cqw,9px)/1.5 var(--font-body,Arial,sans-serif);letter-spacing:.15em;margin-bottom:23%;white-space:nowrap}.sv-book-title{font:400 clamp(15px,5.7cqw,35px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:.035em;text-shadow:0 1px #0009}.sv-book-rule{width:20%;height:1px;margin:14% auto 10%;background:#c0a571}.sv-book-edition{font:500 clamp(5px,1.8cqw,10px)/1.5 var(--font-body,Arial,sans-serif);letter-spacing:.22em}.sv-book-bottom{font:500 clamp(5px,1.7cqw,9px)/1 var(--font-body,Arial,sans-serif);letter-spacing:.24em;margin-top:auto}.sv-book-inside{transform:rotateY(180deg);background:linear-gradient(90deg,#eeeadc,#f8f4e7 80%,#d4c9af);box-shadow:inset 0 0 0 5px #1c3639,inset 0 0 0 6px #c7bc9d;padding:18% 15%;border:1px solid #253f3f}.sv-book-inside .sv-rules{opacity:.35;transform:scaleY(.85)}.sv-book-ribbon{position:absolute;width:4.5%;height:31%;right:20%;top:79%;background:linear-gradient(90deg,#927840,#b69a60,#a38444);clip-path:polygon(0 0,100% 0,100% 100%,50% 93%,0 100%);transform:translateZ(-4px) rotateX(-6deg);box-shadow:2px 2px 3px #0002;z-index:-1}
.sv-scene--civil.is-engaged .sv-book-cover,.sv-scene--civil.sv-scene--hero.is-visible .sv-book-cover{transform:translateZ(7px) rotateY(-116deg)}.sv-scene--civil.is-engaged .sv-book-page--one,.sv-scene--civil.sv-scene--hero.is-visible .sv-book-page--one{transform:translateZ(3px) rotateY(-24deg)}.sv-scene--civil.is-engaged .sv-book-page--two,.sv-scene--civil.sv-scene--hero.is-visible .sv-book-page--two{transform:translateZ(5px) rotateY(-52deg)}.sv-scene--civil.is-engaged .sv-book,.sv-scene--civil.sv-scene--hero.is-visible .sv-book{left:60%;transform:translate(-50%,-50%) rotateX(calc(15deg + var(--sv-pointer-x))) rotateY(calc(-12deg + var(--sv-pointer-y))) rotateZ(-5deg)}.sv-scene--civil.sv-scene--hero.is-visible .sv-book-cover{animation:sv-code-open 1.4s cubic-bezier(.22,.68,.2,1) both}.sv-scene--civil.sv-scene--hero.is-visible .sv-book-page--one{animation:sv-leaf-one 1.4s cubic-bezier(.22,.68,.2,1) both}.sv-scene--civil.sv-scene--hero.is-visible .sv-book-page--two{animation:sv-leaf-two 1.4s cubic-bezier(.22,.68,.2,1) both}
.sv-rules{display:flex;flex-direction:column;gap:2.2cqw;width:100%;margin-top:8%}.sv-rules i{height:1px;background:#87908266;width:100%}.sv-rules i:nth-child(3n){width:79%}.sv-rules i:last-child{width:62%}.sv-doc-eyebrow{font:500 clamp(5px,1.6cqw,9px)/1 var(--font-body,Arial,sans-serif);letter-spacing:.18em;color:#8c886f}.sv-doc-title{display:block;font:400 clamp(13px,4.5cqw,26px)/1.2 Georgia,serif;color:#33423a;margin-top:16%}.sv-doc-rule{display:block;height:1px;width:20%;background:#a9905b;margin-top:9%}.sv-doc-sign{display:block;width:29%;height:2%;border-block:1px solid #978b684f;margin-top:13%;margin-left:auto}
/* Fiscal working papers: ink, linen, paper and brass. */
.sv-scene--fiscal{background:radial-gradient(ellipse at 22% 18%,#f4f6f0,transparent 65%),linear-gradient(130deg,#e3e6da,#d1d8cb)}.sv-folio{width:52%;aspect-ratio:.77;top:48%;transform:translate(-50%,-50%) rotateX(calc(16deg + var(--sv-pointer-x))) rotateY(calc(-16deg + var(--sv-pointer-y))) rotateZ(-11deg)}.sv-folio-folder{position:absolute;inset:4% -5% -4% -7%;background:linear-gradient(135deg,#334a42,#263f38);border-radius:2px 5px 5px 2px;box-shadow:13px 22px 24px #33433428,inset 0 0 0 1px #c6b18244;transform:translateZ(-9px)}.sv-folio-folder:before{content:"";position:absolute;left:0;top:-5%;width:43%;height:8%;border-radius:3px 4px 0 0;background:#344b42}.sv-folio-folder>span{position:absolute;bottom:5%;left:8%;font:500 clamp(4px,1.3cqw,7px)/1 var(--font-body);letter-spacing:.22em;color:#bbaa7c}.sv-folio-sheet{position:absolute;inset:0;background:linear-gradient(100deg,#eeeadd,#fffdf5 25%,#f8f5e9);border:1px solid #ddd9c8;box-shadow:2px 3px 5px #48503914}.sv-folio-sheet--rear{transform:translateZ(-3px) rotate(5deg);transition:transform 1s cubic-bezier(.19,1,.22,1)}.sv-folio-sheet--front{padding:11% 10%;transform:translateZ(2px);transition:transform 1s cubic-bezier(.19,1,.22,1)}.sv-folio .sv-doc-title{margin-top:12%}.sv-ledger{display:block;margin-top:16%;border-top:1px solid #b2b59e}.sv-ledger-row{display:grid;grid-template-columns:1.45fr repeat(3,1fr);height:3.7cqw;border-bottom:1px solid #b7bba144}.sv-ledger-row i{border-right:1px solid #b7bba144;position:relative}.sv-ledger-row i:last-child{border:0}.sv-ledger-row i:after{content:"";position:absolute;left:20%;right:20%;height:1px;background:#8a978545;top:48%}.sv-ledger-row:nth-child(3) i:after{left:38%}.sv-ledger-row:last-child{border-bottom:2px solid #9c9d7e}.sv-brass-clip{position:absolute;right:15%;top:-4%;height:18%;width:9%;border:2px solid #b09b6d;border-radius:7px;box-shadow:1px 1px 1px #6663,inset 1px 0 #f4e7c6;transform:translateZ(8px)}.sv-brass-clip:after{content:"";position:absolute;inset:12% 17% -5%;border:1px solid #ad9569;border-bottom:0;border-radius:5px 5px 0 0}.sv-folio-slip{position:absolute;right:-15%;bottom:0;width:32%;height:43%;padding:15% 6% 5%;background:#e0d2b0;box-shadow:1px 4px 6px #33432d24;transform:translateZ(10px) rotate(11deg);transition:transform 1s cubic-bezier(.19,1,.22,1)}.sv-folio-slip i{height:1px;background:#907e5a50;margin-bottom:21%}.sv-folio-slip b{width:45%;height:2px;margin-left:auto;background:#8b795550}.sv-scene--fiscal.is-engaged .sv-folio-sheet--front,.sv-scene--fiscal.sv-scene--hero.is-visible .sv-folio-sheet--front{transform:translateZ(12px) translate(-2%,-3%) rotate(-2deg)}.sv-scene--fiscal.is-engaged .sv-folio-sheet--rear,.sv-scene--fiscal.sv-scene--hero.is-visible .sv-folio-sheet--rear{transform:translateZ(2px) rotate(11deg)}.sv-scene--fiscal.is-engaged .sv-folio-slip{transform:translateZ(19px) translate(5%,3%) rotate(16deg)}
/* The route to Spain: architectural arch and symbolic travel documents. */
/* A folded agreement and a brass fountain pen. */
.sv-scene--laboral{background:radial-gradient(ellipse at 15% 10%,#f5f1e7,transparent 60%),linear-gradient(140deg,#e7dfcc,#d6c9b0)}.sv-contract{width:51%;aspect-ratio:.74;top:47%;transform:translate(-50%,-50%) rotateX(calc(19deg + var(--sv-pointer-x))) rotateY(calc(-15deg + var(--sv-pointer-y))) rotateZ(-8deg)}.sv-contract-under{position:absolute;inset:5% -6% -5%;background:#b3a487;transform:translateZ(-10px) rotate(6deg);box-shadow:13px 18px 21px #61543728;border:1px solid #c5b99e}.sv-contract-paper{position:absolute;inset:0;padding:11% 10%;background:linear-gradient(112deg,#f8f3e6,#fffaf0 53%,#e7ddc9);box-shadow:2px 3px 4px #62573722;transform:translateZ(1px);transition:transform 1s cubic-bezier(.19,1,.22,1)}.sv-contract .sv-doc-title{font-size:clamp(10px,3.4cqw,22px);margin-top:18%}.sv-contract .sv-rules{gap:1.75cqw;margin-top:12%}.sv-contract-fold{display:block;margin:13% -12% 0;height:1px;background:#9b896e1a;box-shadow:0 2px 3px #fff9}.sv-contract-corner{position:absolute;right:0;bottom:0;width:17%;aspect-ratio:1;background:linear-gradient(135deg,#e5dcc8,#fffaf0 49%,#cabea350 50%,#d1c2a2);clip-path:polygon(100% 0,100% 100%,0 100%);transform:rotate(180deg)}.sv-signatures{display:flex;gap:22%;margin-top:19%}.sv-signatures i{height:1px;flex:1;background:#9e967d}.sv-pen{position:absolute;right:-15%;top:26%;width:6%;height:77%;background:linear-gradient(90deg,#9c8250,#e5d1a2 35%,#c3a26c 55%,#877245);transform:translateZ(20px) rotate(14deg);box-shadow:3px 5px 5px #46392330;border-radius:40% 40% 10% 10%;transition:transform 1s cubic-bezier(.19,1,.22,1)}.sv-pen>span{position:absolute;inset:5% -8% 62%;background:linear-gradient(90deg,#172e31,#344f4b 50%,#152d30);border-radius:5px 5px 2px 2px;border-block:2px solid #bca16b}.sv-pen>span:after{content:"";position:absolute;right:10%;width:12%;top:5%;height:80%;background:#a8905d;border-radius:0 0 2px 2px}.sv-pen>i{position:absolute;bottom:-10%;left:3%;right:3%;height:14%;background:#a78f5b;clip-path:polygon(0 0,100% 0,55% 100%,45% 100%)}.sv-scene--laboral.is-engaged .sv-contract-paper,.sv-scene--laboral.sv-scene--hero.is-visible .sv-contract-paper{transform:translateZ(12px) rotateX(-5deg)}.sv-scene--laboral.is-engaged .sv-pen{transform:translateZ(23px) rotate(19deg) translateX(20%)}
/* Brass scales. They settle once, rather than running a perpetual loop. */
.sv-scene--penal{background:radial-gradient(ellipse at 30% 12%,#eff0e7,transparent 60%),linear-gradient(140deg,#e4e4d8,#cccec1)}.sv-justice{width:86%;height:91%;top:47%;transform:translate(-50%,-50%) rotateX(var(--sv-pointer-x)) rotateY(var(--sv-pointer-y))}.sv-balance{position:absolute;left:0;top:0;width:100%;height:100%;filter:drop-shadow(10px 12px 7px #3948342b)}.sv-scale-plinth{position:absolute;left:25%;right:25%;bottom:2%;height:12%;background:linear-gradient(175deg,#b5b7a6 0 15%,#898f7c 16% 20%,#9ca08e 21% 100%);box-shadow:13px 12px 16px #47523827;transform:perspective(300px) rotateX(15deg);border-radius:2px}.sv-scale-beam{transform-origin:200px 79px;transition:transform 1.1s cubic-bezier(.22,.68,.2,1)}.sv-scale-pan{transform-box:fill-box;transform-origin:50% 0;transition:transform 1.1s cubic-bezier(.22,.68,.2,1)}.sv-scene--penal.is-engaged .sv-scale-beam{transform:rotate(-5deg)}.sv-scene--penal.is-engaged .sv-scale-pan{transform:rotate(5deg)}.sv-scene--penal.sv-scene--hero.is-visible .sv-scale-beam{animation:sv-balance-settle 1.4s cubic-bezier(.22,.68,.2,1) backwards}
/* Plans, a linen folder, a rolled edge and a brass set square. */
.sv-scene--otros{background:radial-gradient(ellipse at 15% 15%,#f5eee4,transparent 58%),linear-gradient(140deg,#e6dccc,#d6c7b2)}.sv-project{width:55%;aspect-ratio:.78;top:46%;transform:translate(-50%,-50%) rotateX(calc(18deg + var(--sv-pointer-x))) rotateY(calc(-12deg + var(--sv-pointer-y))) rotateZ(-12deg)}.sv-project-folder{position:absolute;inset:3% -8% -4%;background:repeating-linear-gradient(0deg,#65706122 0 1px,transparent 1px 3px),linear-gradient(110deg,#394e45,#536253);border-radius:2px;box-shadow:12px 16px 23px #4e503633;transform:translateZ(-6px)}.sv-project-folder>span{position:absolute;bottom:3%;right:6%;color:#bdac7d;font:500 clamp(5px,1.2cqw,8px)/1 var(--font-body);letter-spacing:.25em}.sv-project-plan{position:absolute;inset:0;padding:9%;background:linear-gradient(100deg,#ece6d6,#fffaf0 14%,#f4edde);box-shadow:2px 3px 3px #4b44321f;transform:translateZ(2px);transition:transform 1s cubic-bezier(.19,1,.22,1)}.sv-plan-drawing{width:100%;height:84%;margin-top:10%;color:#8b9582}.sv-plan-legend{position:absolute;left:9%;bottom:7%;height:1px;width:40%;background:#9ba18b;box-shadow:0 4px 0 #9ba18b55}.sv-project-scroll{position:absolute;right:-10%;top:3%;width:17%;height:105%;border-radius:50% 45% 40% 48%/2%;background:linear-gradient(90deg,#bbae91,#f9f1da 23%,#f5ebd0 53%,#d2c5a4 85%,#938a73);box-shadow:5px 3px 7px #625b3c29;transform:translateZ(14px) rotate(3deg);transition:transform 1s cubic-bezier(.19,1,.22,1)}.sv-project-scroll:before,.sv-project-scroll:after{content:"";position:absolute;top:-1.5%;left:0;right:0;height:3%;border:2px solid #ddd0b0;background:#948769;border-radius:50%;box-shadow:inset 0 0 0 2px #ebdebd,inset 0 0 0 3px #bfb190}.sv-project-scroll:after{top:auto;bottom:-1.5%;background:#c1b28e}.sv-project-scroll i{position:absolute;top:40%;bottom:40%;left:-4%;right:-4%;background:linear-gradient(90deg,#9b824e,#c8b586,#a99461);box-shadow:0 1px 2px #6b5b3122}.sv-project-square{position:absolute;left:-13%;bottom:-8%;width:43%;aspect-ratio:1;clip-path:polygon(0 0,0 100%,100% 100%,0 0,12% 30%,72% 88%,12% 88%,12% 30%);background:linear-gradient(135deg,#d0b77b,#9f844a 60%,#bc9e62);transform:translateZ(19px) rotate(16deg);transition:transform 1s cubic-bezier(.19,1,.22,1)}.sv-scene--otros.is-engaged .sv-project-plan,.sv-scene--otros.sv-scene--hero.is-visible .sv-project-plan{transform:translateZ(11px) rotate(-3deg)}.sv-scene--otros.is-engaged .sv-project-scroll{transform:translateZ(16px) rotate(7deg) translateX(12%)}.sv-scene--otros.is-engaged .sv-project-square{transform:translateZ(21px) rotate(9deg)}
.sv-scene.is-visible .sv-stage:after{opacity:.8}.sv-scene--hero.is-visible .sv-scene-light{transform:translateX(7%)}
@keyframes sv-code-open{0%,16%{transform:translateZ(7px) rotateY(-9deg)}100%{transform:translateZ(7px) rotateY(-116deg)}}@keyframes sv-leaf-one{0%,24%{transform:translateZ(3px) rotateY(-2deg)}100%{transform:translateZ(3px) rotateY(-24deg)}}@keyframes sv-leaf-two{0%,20%{transform:translateZ(5px) rotateY(-5deg)}100%{transform:translateZ(5px) rotateY(-52deg)}}@keyframes sv-balance-settle{0%{transform:rotate(-7deg)}55%{transform:rotate(2deg)}100%{transform:rotate(0)}}
@media(max-width:600px){.sv-scene--hero{min-height:275px}.sv-book{width:37%}.sv-scene-caption{font-size:9px}.sv-scene--hero .sv-book{width:39%}.sv-scene--hero .sv-folio,.sv-scene--hero .sv-contract{width:45%}.sv-scene--hero .sv-project{width:48%}.sv-scene--hero .sv-travel{width:59%}.sv-scene--hero .sv-justice{width:77%}.sv-rules{gap:1.8cqw}}
@media(prefers-reduced-motion:reduce){.sv-scene *, .sv-scene *:before,.sv-scene *:after{animation:none!important;transition:none!important}.sv-scene{--sv-pointer-x:0deg!important;--sv-pointer-y:0deg!important}.sv-scene .sv-scene-light{transform:none!important}.sv-scene--civil .sv-book-cover{transform:translateZ(7px) rotateY(-18deg)!important}.sv-scene--civil .sv-book-page--one{transform:translateZ(3px) rotateY(-2deg)!important}.sv-scene--civil .sv-book-page--two{transform:translateZ(5px) rotateY(-5deg)!important}.sv-scene--civil .sv-book{left:54%!important;transform:translate(-50%,-50%) rotateX(14deg) rotateY(-24deg) rotateZ(-8deg)!important}.sv-scene--penal .sv-scale-beam,.sv-scene--penal .sv-scale-pan{transform:none!important}}

/* A self-contained passport sculpture: no language-dependent labels or CSS text boxes. */
.rv-layout .sv-scene.ts-scene.ts-scene--extranjeria{min-height:0;background:linear-gradient(145deg,#e8ecdf,#d9e2d4);}
.rv-layout .sg-card .sv-scene.ts-scene--extranjeria{background:transparent;}
.rv-layout .sv-scene.ts-scene .ts-object{display:block;width:100%;height:100%;overflow:hidden;transform-origin:center;}
.rv-layout .sv-scene.ts-scene .ts-sculpture{transform-box:view-box;transform-origin:center;}


/* MEDLA: service-layout.css */
/* Service objects are part of the page, with the same rhythm in ES and EN. */
.rv-layout .sv-media,.rv-layout .sv-area-media{position:relative;isolation:isolate;overflow:hidden;background:transparent;box-shadow:none;border-radius:0}
.rv-layout .ed-area-image.sv-media{aspect-ratio:1.4;margin-bottom:28px;border-bottom:1px solid #c9c3b466}
.rv-layout .sv-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 45px}
.rv-layout .bi-area .sv-area-media{aspect-ratio:1.4;margin:0 0 25px;border-bottom:1px solid #c9c3b466}
.rv-layout .bi-area h2{font-size:clamp(30px,3vw,43px);font-weight:400;letter-spacing:-.025em;margin:13px 0}
.rv-layout .bi-area p{font-size:14px;line-height:1.75}
/* Leave room for the rotated paper edges, pen and rolled plan in card views. */
.sv-scene--card .sv-folio{width:48%}
.sv-scene--card .sv-contract{width:47%}
.sv-scene--card .sv-project{width:49%}
.rv-layout .sv-area-intro{padding:25px 0 55px}
.rv-layout .sv-area-intro>.rv-shell{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;min-height:530px}
.rv-layout .sv-area-intro .rv-intro__copy{padding:25px 0}
.rv-layout .sv-area-intro .rv-intro__image{min-height:0;height:100%;aspect-ratio:auto;max-height:none;align-self:stretch;min-width:0}
.rv-layout .sv-area-intro h1{font-size:clamp(42px,4.5vw,68px);max-width:650px}
.rv-layout .sv-service-list{border-top:1px solid #ccc6b8}
.rv-layout .sv-service-row{display:grid;grid-template-columns:45px minmax(0,1fr) 48px;gap:28px;padding:34px 0;border-bottom:1px solid #ccc6b8;align-items:start;background:transparent}
.rv-layout .sv-service-row>.rv-number{padding-top:10px;font-size:11px;color:#8a744b}
.rv-layout .sv-service-row h3{font-size:clamp(26px,3vw,39px);line-height:1.15;margin:0 0 15px;max-width:780px;transition:color .25s}
.rv-layout .sv-service-row p{font-size:14px;line-height:1.8;max-width:730px}
.rv-layout .sv-service-row>.rv-arrow{display:grid;place-items:center;width:45px;height:45px;margin-top:2px;border:1px solid #b5ab92;border-radius:50%;font-size:24px;transition:transform .3s,background .3s,color .3s}
.rv-layout .sv-service-row:hover{padding-inline:0;background:transparent}
.rv-layout .sv-service-row:is(:hover,:focus-visible) h3{color:#806633}
.rv-layout .sv-service-row:is(:hover,:focus-visible)>.rv-arrow{transform:rotate(45deg);background:#233b32;color:#fff}
.rv-layout .sv-service-row:focus-visible{outline:2px solid #9d8150;outline-offset:5px}
.rv-layout .sv-service-list--long{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;border:0}
.rv-layout .sv-service-list--long .sv-service-row{grid-template-columns:25px minmax(0,1fr) 30px;gap:18px;border-top:1px solid #ccc6b8;border-bottom:0}
.rv-layout .sv-service-list--long h3{font-size:29px}
.rv-layout .sv-service-list--long .rv-arrow{width:30px;height:30px;font-size:18px}
.rv-layout .sv-consult{background:#23332b}
.rv-layout .sv-consult:before{background:linear-gradient(112deg,#141e18,transparent 70%)}
.rv-layout .sv-consult:after{content:"";position:absolute;right:-10%;top:-70%;width:65%;aspect-ratio:1;border:1px solid #d4c39a29;border-radius:50%;box-shadow:0 0 0 55px #d4c39a09,0 0 0 110px #d4c39a06;z-index:-1;pointer-events:none}
.rv-layout.page-home .sv-home-gallery{background:transparent;border-radius:0;border-bottom:1px solid #c8c1b1;height:600px}
.sv-home-gallery .ed-home-frame{overflow:hidden}
.sv-home-gallery .sv-scene{height:100%}
@media(max-width:1100px){
 .rv-layout .sv-area-intro>.rv-shell{min-height:450px;gap:4%}
 .rv-layout .sv-area-intro h1{font-size:46px}
 .rv-layout .sv-service-list--long{gap:0 28px}
 .rv-layout .sv-service-list--long h3{font-size:25px}
}
@media(max-width:760px){
 .rv-layout .sv-area-grid,.rv-layout .rv-areas-grid{grid-template-columns:1fr;gap:48px}
 .rv-layout .ed-area-image.sv-media,.rv-layout .bi-area .sv-area-media{aspect-ratio:1.32;margin-bottom:23px}
 .rv-layout .sv-area-intro{padding-block:10px 30px}
 .rv-layout .sv-area-intro>.rv-shell{display:flex;flex-direction:column;min-height:0;gap:8px}
 .rv-layout .sv-area-intro .rv-intro__copy{padding-top:8px;padding-bottom:0;width:100%}
 .rv-layout .sv-area-intro h1{font-size:clamp(36px,10vw,53px)}
 .rv-layout .sv-area-intro .rv-intro__image{width:100%;height:auto;aspect-ratio:1.15;margin:10px 0 0}
 .rv-layout .sv-service-list--long{display:block;border-top:1px solid #ccc6b8}
 .rv-layout .sv-service-row,.rv-layout .sv-service-list--long .sv-service-row{grid-template-columns:22px minmax(0,1fr) 30px;gap:12px;padding-block:26px;border-top:0;border-bottom:1px solid #ccc6b8}
 .rv-layout .sv-service-row h3,.rv-layout .sv-service-list--long h3{font-size:27px}
 .rv-layout .sv-service-row p{font-size:13px}
 .rv-layout .sv-service-row>.rv-arrow{width:29px;height:29px;font-size:18px}
}
@media(max-width:700px){
 .rv-layout.page-home .svc{grid-template-columns:minmax(0,1fr) 35px;gap:10px 14px;padding-block:28px}
 .rv-layout.page-home .svc__editorial.sv-home-inline{grid-column:1/-1;grid-row:1;display:block;width:100%;height:240px;margin-bottom:12px}
 .rv-layout.page-home .svc__title{grid-column:1;grid-row:2}
 .rv-layout.page-home .svc__text{grid-column:1;grid-row:3}
 .rv-layout.page-home .svc__more{grid-column:2;grid-row:2}
 .rv-layout .sv-consult{padding-block:65px}
}
@media(prefers-reduced-motion:reduce){
 .rv-layout .sv-service-row h3,.rv-layout .sv-service-row>.rv-arrow{transition:none}
}


/* 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(.rv-intro, .rv-section, .bi-services, .bi-process, .bi-guides, .bi-faq) {
  background: transparent;
}
.rv-layout :is(.rv-section, .bi-services, .bi-process, .bi-guides, .bi-faq) {
  padding-block: var(--ux-space);
}
.rv-layout :is(.rv-text-link, .wf-clear, .rv-filters button, .bi-language a, .bi-language > span) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.rv-layout :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid #846c40;
  outline-offset: 5px;
}
.rv-layout .rv-breadcrumb { padding-block: 21px; font-size: 11px; }
.rv-layout .rv-kicker { letter-spacing: .14em; line-height: 1.65; }
.rv-layout .rv-section-head { margin-bottom: 32px; }
.rv-layout .rv-section-head h2 { max-width: 700px; margin-bottom: 0; }
.rv-layout .rv-intro:not(.sv-area-intro) { padding-block: 32px 53px; }
.rv-layout .rv-intro h1 {
  font-size: clamp(42px, 5.1vw, 72px);
  line-height: 1.08;
  letter-spacing: -.035em;
  margin-block: 18px 26px;
  color: var(--ux-ink);
}
.rv-layout .rv-intro__lead {
  font-size: 16px;
  line-height: 1.85;
  max-width: 640px;
  color: var(--ux-muted);
}

/* The objects occupy the page, rather than sitting in a rectangular image. */
.rv-layout .sv-scene {
  background: radial-gradient(ellipse at 52% 53%, #ddd7c757 0%, #eae6db32 40%, transparent 71%);
}
.rv-layout .sv-scene-light { background: none; }
.rv-layout .sv-scene-caption { inset-inline: 9%; color: #766c55; }
.rv-layout .sv-stage::after { background: #5045301b; filter: blur(14px); }
.rv-layout .sv-media::after,
.rv-layout .sv-area-media::after { display: none; }
.rv-layout .sv-media,
.rv-layout .sv-area-media { border: 0; box-shadow: none; margin-right: 0; }

/* 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 > .ed-area-image.sv-media,
.rv-layout .sv-area-grid .bi-area .sv-area-media {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 1.22;
  max-height: 395px;
  margin: 0;
  border: 0;
  align-self: center;
}
.rv-layout .rv-area-card > .ed-area-copy,
.rv-layout .sv-area-grid .ux-area-copy { grid-column: 2; grid-row: 1; min-width: 0; }
.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:nth-child(even) > .ed-area-image.sv-media,
.rv-layout .sv-area-grid > .bi-area:nth-child(even) .sv-area-media { grid-column: 2; }
.rv-layout .rv-area-card:nth-child(even) > .ed-area-copy,
.rv-layout .sv-area-grid > .bi-area:nth-child(even) .ux-area-copy { grid-column: 1; }
.rv-layout .rv-area-card .ed-area-copy {
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 13px 20px;
}
.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;
}
.rv-layout .sv-area-grid .bi-area h2 { margin-block: 12px 17px; }
.rv-layout .sv-area-grid .bi-area h2 span { font-size: 25px; margin-top: 10px; }
.rv-layout .rv-area-card .ed-area-copy > p,
.rv-layout .sv-area-grid .bi-area p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--ux-muted);
  margin: 0;
  max-width: 500px;
}
.rv-layout .rv-area-card__top { margin-top: 8px; }
.rv-layout .rv-area-card__top .rv-number,
.rv-layout .sv-area-grid .bi-area .rv-number { color: var(--ux-gold); font-size: 11px; }
.rv-layout .rv-area-card__links { margin-block: 5px 0; }
.rv-layout .rv-area-card__links > a { min-height: 46px; padding-block: 10px; font-size: 13px; }
.rv-layout .rv-area-card .ed-area-copy > .rv-text-link {
  margin-top: 1px;
  font-size: 12px;
  color: var(--ux-ink);
}
.rv-layout .ux-area-points { list-style: none; padding: 0; margin: 25px 0 14px; }
.rv-layout .ux-area-points li {
  padding-block: 11px;
  border-top: 1px solid var(--ux-line);
  font-size: 13px;
  line-height: 1.6;
  color: var(--ux-muted);
}
.rv-layout .ux-area-link { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; color: var(--ux-ink); font-size: 12px; }
.rv-layout .wf-catalog-tools { padding-bottom: 16px; margin-bottom: 22px; }
.rv-layout .wf-catalog-help { margin-top: 32px; padding-block: 30px; border-top: 0; }
.rv-layout .rv-filters { gap: 8px 25px; margin-bottom: 8px; }
.rv-layout .rv-filters button { font-size: 13px; padding-block: 10px; }
.rv-layout .rv-search { min-width: 260px; max-width: 400px; }
.rv-layout .rv-search input { min-height: 48px; font-size: 14px; }
.rv-layout .wf-service-result:hover { padding-inline: 8px; background: #ece9df55; }

/* Area introductions share the scale of the directory and lead into the work. */
.rv-layout .sv-area-intro { padding-block: 12px 35px; }
.rv-layout .sv-area-intro > .rv-shell {
  width: calc(100% - 2 * var(--rv-gutter));
  max-width: var(--rv-max);
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(35px, 5vw, 75px);
  min-height: 440px;
}
.rv-layout .sv-area-intro .rv-intro__copy { padding: 20px 0; min-width: 0; }
.rv-layout .sv-area-intro h1 { font-size: clamp(42px, 4.4vw, 65px); max-width: 680px; }
.rv-layout .sv-area-intro .rv-intro__lead { max-width: 590px; font-size: 15px; line-height: 1.85; }
.rv-layout .sv-area-intro .rv-intro__image {
  width: 100%;
  height: auto;
  aspect-ratio: 1.04;
  max-height: 485px;
  align-self: center;
  margin: 0;
  border: 0;
  box-shadow: none;
}
.rv-layout .rv-section-nav {
  background: #f7f6f2f5;
  box-shadow: none;
  border-color: var(--ux-line);
  gap: 12px 32px;
  padding-block: 5px;
  font-size: 12px;
}
.rv-layout .rv-section-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.rv-layout .sv-service-row { padding-block: 29px; gap: 22px; }
.rv-layout .sv-service-row h3 { font-size: clamp(26px, 2.55vw, 37px); }
.rv-layout .sv-service-row p { font-size: 15px; color: var(--ux-muted); }
.rv-layout .sv-service-list--long h3 { font-size: 28px; }
.rv-layout .sv-service-list--long .sv-service-row { padding-block: 29px; }

/* A short process fills the gap between selecting a service and contacting us. */
.rv-layout .ux-process { padding-block: var(--ux-space); border-top: 1px solid var(--ux-line); }
.rv-layout .ux-process__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  padding: 0;
  margin: 38px 0 0;
  gap: clamp(28px, 4vw, 64px);
}
.rv-layout .ux-process__steps > li { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 18px; min-width: 0; }
.rv-layout .ux-process__steps .rv-number { color: var(--ux-gold); font-size: 11px; padding-top: 5px; }
.rv-layout .ux-process__steps h3 {
  font: 400 26px/1.2 var(--font-display);
  color: var(--ux-ink);
  margin: 0 0 13px;
  letter-spacing: -.018em;
}
.rv-layout .ux-process__steps p { font-size: 14px; line-height: 1.8; color: var(--ux-muted); margin: 0; }
.rv-layout .ux-next-areas { padding-block: 35px var(--ux-space); }
.rv-layout .ux-next-areas__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 35px; }
.rv-layout .ux-next-areas__links > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 25px;
  gap: 10px 16px;
  border-top: 1px solid var(--ux-line);
  padding-block: 24px;
  min-width: 0;
  text-decoration: none;
  color: var(--ux-ink);
}
.rv-layout .ux-next-areas__links > a > span:first-child { font: 400 27px/1.2 var(--font-display); letter-spacing: -.02em; }
.rv-layout .ux-next-areas__links p { grid-column: 1; color: var(--ux-muted); font-size: 13px; line-height: 1.7; margin: 0; }
.rv-layout .ux-next-areas__links .rv-arrow { grid-column: 2; grid-row: 1; font-size: 22px; color: var(--ux-gold); transition: translate .25s; }
.rv-layout .ux-next-areas__links > a:hover .rv-arrow { translate: 2px -2px; }

/* Questions and articles retain generous line length without a change of style. */
.rv-layout .rv-faq-section,
.rv-layout .rv-faq-section:has(.ed-faq-image) {
  padding-block: var(--ux-space);
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(35px, 7vw, 95px);
}
.rv-layout .rv-faq summary { font-size: 16px; padding-block: 23px; gap: 22px; }
.rv-layout .rv-faq__answer { font-size: 15px; line-height: 1.85; color: var(--ux-muted); }
.rv-layout .rv-faq summary i { flex-basis: 28px; width: 28px; height: 28px; }
.rv-layout .rv-post-grid { gap: 46px 30px; }
.rv-layout .rv-post-grid .rv-post .rv-post__image { aspect-ratio: 1.5; }
.rv-layout .rv-post__copy > p { font-size: 14px; line-height: 1.8; }
.rv-layout .bi-guide-grid p { font-size: 14px; }
.rv-layout .rv-related .rv-post:last-child { display: flex; }
.rv-layout .rv-related .rv-post-grid:has(> .rv-post:only-child) { grid-template-columns: minmax(0, 1fr); }
.rv-layout .rv-related .rv-post-grid > .rv-post:only-child {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(30px, 5vw, 70px);
}
.rv-layout .rv-related .rv-post-grid > .rv-post:only-child .rv-post__image { max-height: 310px; }
.rv-layout .rv-related .rv-post-grid > .rv-post:only-child .rv-post__copy { padding-top: 0; }
.rv-layout .bi-guide-layout > aside { align-self: start; }
.rv-layout .bi-guide-index { align-self: start; }
.rv-layout .bi-closing { padding-block: 60px 42px; }
.rv-layout .bi-closing h2 { font-size: clamp(34px, 4vw, 56px); }

/* 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. */
.rv-layout :is(.ed-consult, .sv-consult) {
  padding-block: 60px 42px;
  background: transparent;
  color: var(--ux-ink);
  border: 0;
}
.rv-layout :is(.ed-consult, .sv-consult)::before,
.rv-layout :is(.ed-consult, .sv-consult)::after,
.rv-layout .ed-consult-image { display: none; }
.rv-layout :is(.ed-consult, .sv-consult) > .rv-shell {
  padding-top: 38px;
  border-top: 1px solid var(--ux-line);
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr);
  gap: 8%;
}
.rv-layout :is(.ed-consult, .sv-consult) h2 {
  color: var(--ux-ink);
  font-size: clamp(34px, 4vw, 56px);
  max-width: 700px;
}
.rv-layout :is(.ed-consult, .sv-consult) .rv-kicker { color: var(--ux-gold); }
.rv-layout :is(.ed-consult, .sv-consult) p:not(.rv-kicker) { color: var(--ux-muted); font-size: 15px; }
.rv-layout :is(.ed-consult, .sv-consult) .btn { background: var(--ux-ink); color: #fbf9f2; border-color: var(--ux-ink); }
.rv-layout :is(.ed-consult, .sv-consult) .btn:hover { background: #3b4f42; border-color: #3b4f42; }
.rv-layout :is(.ed-consult, .sv-consult) .rv-text-link { color: var(--ux-ink); }
.rv-layout.page-inner .rv-footer {
  background: var(--ux-paper);
  color: var(--ux-ink);
  border: 0;
  padding-block: 20px 24px;
}
.rv-layout.page-inner .rv-footer::after { display: none; }
.rv-layout.page-inner .rv-footer__top {
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 30px;
  border-block: 1px solid var(--ux-line);
  padding-block: 30px;
}
.rv-layout.page-inner .rv-footer__top > a:first-child,
.rv-layout.page-inner .rv-footer__top img { width: 66px; }
.rv-layout.page-inner .rv-footer__top img { filter: brightness(0) saturate(100%); opacity: .82; }
.rv-layout.page-inner .rv-footer__top h2 { font-size: 28px; color: var(--ux-ink); line-height: 1.25; }
.rv-layout.page-inner .rv-footer__top h2 em { color: var(--ux-ink) !important; font-style: normal; }
.rv-layout.page-inner .rv-footer__top h2 br { display: none; }
.rv-layout.page-inner .rv-footer__top .wf-footer-cta {
  background: transparent;
  color: var(--ux-ink);
  border-color: #a8a18f;
  min-height: 48px;
  padding: 12px 20px;
  font-size: 12px;
}
.rv-layout.page-inner .rv-footer__top .wf-footer-cta:hover { background: #eae6da; }
.rv-layout.page-inner .rv-footer h3 { color: var(--ux-gold); }
.rv-layout.page-inner .rv-footer :is(address p, .rv-footer__seals > p, .rv-footer__legal) { color: var(--ux-muted); }
.rv-layout.page-inner .rv-footer :is(.rv-footer__map, .wf-footer-directory a) { color: #685735; }
.rv-layout.page-inner .rv-footer a:hover { color: #81673a; }
.rv-layout.page-inner .rv-footer__grid { padding-block: 35px; }
.rv-layout .rv-footer__grid ul { gap: 0; }
.rv-layout .rv-footer__grid ul a { display: inline-flex; align-items: center; min-height: 36px; }
.rv-layout.page-inner .rv-footer__contact { padding-block: 24px; border-color: var(--ux-line); }
.rv-layout.page-inner .rv-footer__contact > a { color: var(--ux-ink); font-size: clamp(18px, 2vw, 25px); overflow-wrap: anywhere; }
.rv-layout .rv-footer__contact nav a { display: inline-flex; align-items: center; min-height: 44px; }
.rv-layout.page-inner .rv-footer__seals { padding-block: 25px; }
.rv-layout.page-inner .rv-footer__seals img { background: transparent; }
.rv-layout.page-inner .rv-footer__legal { border-color: var(--ux-line); padding-block: 20px 8px; font-size: 10px; }
.rv-layout .rv-footer__legal nav :is(a, button) { min-height: 44px; display: inline-flex; align-items: center; }
.rv-layout.page-inner .rv-footer :is(a, button):focus-visible { outline-color: #846c40; }

@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; }
  .rv-layout .sv-area-intro > .rv-shell { min-height: 390px; gap: 30px; }
  .rv-layout .sv-area-intro h1 { font-size: 49px; }
  .rv-layout .sv-area-intro .rv-intro__image { aspect-ratio: .94; }
  .rv-layout .ux-process__steps { gap: 26px; }
  .rv-layout .ux-process__steps > li { grid-template-columns: 1fr; gap: 15px; }
  .rv-layout .ux-process__steps h3 { font-size: 24px; }
  .rv-layout .ux-next-areas__links { gap: 0 25px; }
  .rv-layout .rv-footer__grid { column-gap: 32px; }
}

@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; }
  html:not(.js) .rv-layout .bi-language { margin: 5px 0; align-self: center; color: var(--ux-ink); }
}

@media (max-width: 760px) {
  .rv-layout { --ux-space: 52px; }
  .rv-layout .rv-breadcrumb { padding-block: 17px; font-size: 10px; }
  .rv-layout .rv-intro:not(.sv-area-intro) { padding-block: 20px 35px; }
  .rv-layout .rv-intro h1 { font-size: clamp(37px, 8.8vw, 53px); }
  .rv-layout .rv-intro__lead { font-size: 15px; line-height: 1.8; }
  .rv-layout .rv-section-head { gap: 20px; margin-bottom: 25px; }
  .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 > .ed-area-image.sv-media,
  .rv-layout .rv-area-card:nth-child(even) > .ed-area-image.sv-media,
  .rv-layout .sv-area-grid .bi-area .sv-area-media,
  .rv-layout .sv-area-grid > .bi-area:nth-child(even) .sv-area-media {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 1.45;
    height: auto;
    max-height: 320px;
    margin: 0 auto 9px;
    max-width: 520px;
  }
  .rv-layout .rv-area-card > .ed-area-copy,
  .rv-layout .rv-area-card:nth-child(even) > .ed-area-copy,
  .rv-layout .sv-area-grid .ux-area-copy,
  .rv-layout .sv-area-grid > .bi-area:nth-child(even) .ux-area-copy { grid-column: 1; grid-row: 2; }
  .rv-layout .rv-area-card .ed-area-copy { grid-template-columns: 22px minmax(0, 1fr); gap: 12px 12px; }
  .rv-layout .rv-area-card h2,
  .rv-layout .sv-area-grid .bi-area h2 { font-size: clamp(34px, 8.7vw, 43px); }
  .rv-layout .rv-area-card .ed-area-copy > p,
  .rv-layout .sv-area-grid .bi-area p { font-size: 14px; }
  .rv-layout .rv-area-card__links > a { font-size: 13px; }
  .rv-layout .sv-area-grid .ux-area-copy { padding-inline: 4px; }
  .rv-layout .sv-area-grid .bi-area h2 { margin-top: 9px; }
  .rv-layout .rv-search { width: 100%; min-width: 0; max-width: none; }
  .rv-layout .rv-search input { font-size: 16px; }
  .rv-layout .rv-filters { gap: 5px 19px; }
  .rv-layout .rv-filters button { font-size: 12px; }
  .rv-layout .wf-catalog-tools { margin-bottom: 12px; }
  .rv-layout .wf-catalog-help { margin-top: 20px; }
  .rv-layout .sv-area-intro { padding-bottom: 24px; }
  .rv-layout .sv-area-intro > .rv-shell { display: flex; flex-direction: column; min-height: 0; gap: 8px; }
  .rv-layout .sv-area-intro .rv-intro__copy { width: 100%; padding-top: 8px; padding-bottom: 0; }
  .rv-layout .sv-area-intro h1 { font-size: clamp(38px, 9.2vw, 53px); }
  .rv-layout .sv-area-intro .rv-intro__image { aspect-ratio: 1.35; max-width: 530px; max-height: 360px; min-height: 0; }
  .rv-layout .sv-scene--hero { min-height: 240px; }
  .rv-layout .sv-media .sv-scene,
  .rv-layout .sv-area-media .sv-scene { min-height: 0; }
  .rv-layout .rv-section-nav { position: relative; top: auto; gap: 4px 19px; padding-block: 5px; font-size: 11px; }
  .rv-layout .rv-section-nav a:last-child { width: auto; margin-left: 0; }
  .rv-layout .sv-service-row,
  .rv-layout .sv-service-list--long .sv-service-row { gap: 12px; padding-block: 25px; }
  .rv-layout .sv-service-row h3,
  .rv-layout .sv-service-list--long h3 { font-size: 27px; }
  .rv-layout .sv-service-row p { font-size: 14px; }
  .rv-layout .ux-process__steps { grid-template-columns: 1fr; margin-top: 28px; gap: 0; }
  .rv-layout .ux-process__steps > li { grid-template-columns: 24px minmax(0, 1fr); padding-block: 24px; gap: 17px; border-bottom: 1px solid var(--ux-line); }
  .rv-layout .ux-process__steps > li:first-child { padding-top: 0; }
  .rv-layout .ux-process__steps h3 { font-size: 26px; }
  .rv-layout .ux-next-areas { padding-top: 24px; }
  .rv-layout .ux-next-areas__links { grid-template-columns: 1fr; }
  .rv-layout .ux-next-areas__links > a { padding-block: 21px; }
  .rv-layout .rv-faq-section,
  .rv-layout .rv-faq-section:has(.ed-faq-image) { grid-template-columns: 1fr; gap: 22px; }
  .rv-layout .rv-faq summary { font-size: 15px; padding-block: 22px; gap: 17px; }
  .rv-layout .rv-faq__answer { font-size: 14px; padding-right: 0; }
  .rv-layout .rv-related .rv-post-grid > .rv-post:only-child { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .rv-layout .rv-related .rv-post-grid > .rv-post:only-child .rv-post__image { max-height: none; }
  .rv-layout .bi-closing { padding-block: 35px 24px; }
  .rv-layout :is(.ed-consult, .sv-consult) { padding-block: 35px 24px; }
  .rv-layout :is(.ed-consult, .sv-consult) > .rv-shell { grid-template-columns: 1fr; gap: 20px; padding-top: 32px; }
  .rv-layout :is(.ed-consult, .sv-consult) h2 { font-size: 37px; }
  .rv-layout :is(.ed-consult, .sv-consult) p:not(.rv-kicker) { font-size: 14px; }
  .rv-layout .rv-consult__actions { gap: 7px; }
  .rv-layout.page-inner .rv-footer { padding-top: 16px; }
  .rv-layout.page-inner .rv-footer__top { grid-template-columns: 55px minmax(0, 1fr); gap: 18px 22px; padding-block: 25px; }
  .rv-layout.page-inner .rv-footer__top > a:first-child { grid-column: 1; }
  .rv-layout.page-inner .rv-footer__top h2 { grid-column: 2; font-size: 24px; }
  .rv-layout.page-inner .rv-footer__top img { width: 53px; }
  .rv-layout.page-inner .rv-footer__top .wf-footer-cta { grid-column: 1 / -1; width: 100%; }
  .rv-layout.page-inner .rv-footer__grid { gap: 28px 22px; padding-block: 30px; }
  .rv-layout .rv-footer__grid ul a { min-height: 40px; }
  .rv-layout.page-inner .rv-footer__contact nav { gap: 4px 20px; }
  .rv-layout.page-inner .rv-footer__legal nav { gap: 2px 18px; padding-bottom: 45px; }
}

@media (max-width: 370px) {
  .rv-layout { --rv-gutter: 20px; }
  .rv-layout .rv-area-card .ed-area-copy { grid-template-columns: 18px minmax(0, 1fr); gap: 10px; }
  .rv-layout .rv-area-card h2,
  .rv-layout .sv-area-grid .bi-area h2 { font-size: 33px; }
  .rv-layout .sv-area-intro .rv-intro__image { aspect-ratio: 1.22; }
  .rv-layout .rv-footer__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .rv-layout .ux-next-areas__links .rv-arrow { transition: none; translate: none; }
}


/* MEDLA: legal-services.css */
/* MEDLA legal service pages: one reading canvas, with a quiet chapter index. */
.ls-detail-page {
  --ls-anchor-offset: 190px;
  --ls-section-space: clamp(42px, 5.5vw, 72px);
  color: var(--ux-ink, #23352e);
}

.rv-layout .ls-detail-page .rv-intro:not(.sv-area-intro) {
  padding-block: clamp(32px, 4.6vw, 62px) clamp(38px, 5.4vw, 72px);
}
.rv-layout .ls-detail-page .rv-intro h1 {
  max-width: 23ch;
  font-size: clamp(38px, 4.8vw, 66px);
  line-height: 1.1;
  font-style: normal;
  letter-spacing: -.03em;
  overflow-wrap: break-word;
  text-wrap: balance;
}
.rv-layout .ls-detail-page .rv-intro h1 em {
  font-style: normal;
  color: inherit;
}
.rv-layout .ls-detail-page .rv-intro__lead {
  max-width: 70ch;
  font-size: 16px;
  line-height: 1.85;
}
.rv-layout .ls-detail-page .rv-breadcrumb {
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.rv-layout .ls-detail-page .rv-section-nav {
  top: 100px;
  gap: 8px clamp(20px, 3vw, 40px);
}
.rv-layout .ls-detail-page :is(section[id], aside[id]) {
  scroll-margin-top: var(--ls-anchor-offset) !important;
}

.ls-detail-layout {
  display: grid;
  grid-template-columns: minmax(170px, .3fr) minmax(0, 1fr);
  align-items: start;
  column-gap: clamp(42px, 7vw, 105px);
  padding-block: var(--ls-section-space) 0;
}
.ls-outline {
  position: sticky;
  top: var(--ls-anchor-offset);
  align-self: start;
  max-height: calc(100vh - var(--ls-anchor-offset) - 28px);
  max-height: calc(100dvh - var(--ls-anchor-offset) - 28px);
  overflow-y: auto;
  padding: 2px 12px 10px 0;
  scrollbar-width: thin;
  scrollbar-color: #b6ad98 transparent;
}
.ls-outline > :is(.rv-kicker, .wf-eyebrow) { margin: 0 0 20px; }
.ls-outline nav,
.ls-outline nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ls-outline nav { display: grid; }
.ls-outline nav a {
  display: block;
  min-height: 44px;
  padding-block: 12px;
  border-bottom: 1px solid var(--ux-line, #d5d1c6);
  color: var(--ux-muted, #59635d);
  font: 400 13px/1.6 var(--font-body);
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color .18s ease;
}
.ls-outline nav a:hover,
.ls-outline nav a[aria-current="location"] {
  color: var(--ux-ink, #23352e);
  text-decoration: underline;
  text-decoration-color: var(--ux-gold, #8a7247);
  text-underline-offset: 5px;
}
.ls-detail-content,
.ls-detail-content > *,
.ls-topics > section { min-width: 0; }
.ls-detail-content {
  width: 100%;
  max-width: 830px;
  justify-self: end;
}
.ls-detail-content > :is(section, aside) {
  margin-block: 0;
  padding-block: var(--ls-section-space);
  border-top: 1px solid var(--ux-line, #d5d1c6);
}
.ls-detail-content > :first-child {
  padding-top: 0;
  border-top: 0;
}
.rv-layout .ls-detail-content h2,
.rv-layout .ls-related h2 {
  margin: 0 0 27px;
  color: var(--ux-ink, #23352e);
  font: 400 clamp(30px, 3.25vw, 43px)/1.18 var(--font-display);
  letter-spacing: -.025em;
  text-wrap: balance;
}
.rv-layout .ls-detail-content .rv-section-head { margin-bottom: 30px; }
.rv-layout .ls-detail-content .rv-section-head h2 { margin-bottom: 0; }
.ls-detail-content p,
.ls-detail-content li {
  color: var(--ux-muted, #59635d);
  font-size: 15px;
  line-height: 1.85;
}
.ls-detail-content p { max-width: 69ch; }
.ls-detail-content a:not(.btn):not(.rv-text-link) {
  color: var(--ux-ink, #23352e);
  text-decoration: underline;
  text-decoration-color: #9e8a61;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  overflow-wrap: anywhere;
}
.ls-topics { display: grid; }
.ls-topics > section {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  column-gap: 23px;
  row-gap: 13px;
  padding-block: 30px;
  border-top: 1px solid var(--ux-line, #d5d1c6);
}
.ls-topics > section:last-child { padding-bottom: 0; }
.ls-topics .rv-number {
  grid-column: 1;
  grid-row: 1;
  padding-top: 8px;
  color: var(--ux-gold, #8a7247);
}
.ls-topics h3 {
  grid-column: 2;
  margin: 0;
  color: var(--ux-ink, #23352e);
  font: 400 clamp(24px, 2.45vw, 32px)/1.25 var(--font-display);
  letter-spacing: -.015em;
}
.ls-topics p { grid-column: 2; margin: 0; }
.ls-preparation > ul {
  padding-left: 20px;
  margin: 0;
  max-width: 69ch;
}
.ls-preparation > ul li { padding-left: 8px; margin-bottom: 12px; }
.ls-preparation > ul li:last-child { margin-bottom: 0; }
.ls-preparation > ul li::marker { color: var(--ux-gold, #8a7247); }
.ls-detail-content .ls-fees {
  position: relative;
  padding-left: clamp(22px, 3vw, 36px);
}
.ls-fees::before {
  content: "";
  position: absolute;
  top: var(--ls-section-space);
  bottom: var(--ls-section-space);
  left: 0;
  width: 2px;
  background: #a9956d;
}
.ls-fees > .rv-kicker { margin: 0 0 17px; }
.rv-layout .ls-fees h2 { margin-bottom: 21px; }
.ls-fees > p:not(.rv-kicker) { margin: 0 0 23px; }
.ls-fees > a { min-height: 44px; display: inline-flex; align-items: center; }
.ls-questions .rv-faq { border-color: var(--ux-line, #d5d1c6); }
.ls-questions .rv-faq summary {
  color: var(--ux-ink, #23352e);
  font-size: 15px;
  line-height: 1.65;
  text-wrap: pretty;
}
.ls-questions .rv-faq summary > :first-child { min-width: 0; }
.ls-questions .rv-faq__answer { padding-right: 35px; }
.ls-questions .rv-faq__answer > p { margin: 0 0 15px; }
.ls-questions .rv-faq__answer > p:last-child { margin-bottom: 0; }
.rv-layout .ls-sources h2 {
  font: 500 13px/1.6 var(--font-body);
  letter-spacing: 0;
  margin-bottom: 16px;
}
.ls-sources ul { padding-left: 18px; margin: 0; }
.ls-sources li { font-size: 12px; line-height: 1.8; padding-left: 5px; margin-bottom: 10px; }
.ls-sources li:last-child { margin-bottom: 0; }
.ls-sources li::marker { color: var(--ux-gold, #8a7247); }

.ls-related { padding-block: 30px var(--ls-section-space); }
.ls-related-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(30px, 5vw, 70px);
}
.ls-related-links > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 25px;
  align-items: start;
  gap: 16px;
  min-width: 0;
  min-height: 60px;
  padding-block: 25px;
  border-top: 1px solid var(--ux-line, #d5d1c6);
  color: var(--ux-ink, #23352e);
  font: 400 clamp(23px, 2.3vw, 31px)/1.25 var(--font-display);
  letter-spacing: -.02em;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.ls-related-links .rv-arrow {
  color: var(--ux-gold, #8a7247);
  font-size: 23px;
  padding-top: 4px;
}
.ls-related-links > a:hover .rv-arrow { transform: translate(2px, -2px); }
.ls-detail-page :is(a, summary):focus-visible {
  outline: 2px solid #846c40;
  outline-offset: 5px;
}

/* Fee references retain native table semantics at every screen size. */
.ls-fee-table {
  width: 100%;
  min-width: 0;
  margin-block: 26px 30px;
}
.ls-fee-table table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
  color: var(--ux-ink, #23352e);
  font: 400 14px/1.7 var(--font-body);
}
.ls-fee-table caption:not(.sr-only) {
  padding-bottom: 16px;
  color: var(--ux-muted, #59635d);
  font-size: 12px;
  text-align: left;
}
.ls-fee-table :is(th, td) {
  box-sizing: border-box;
  padding: 19px 16px;
  vertical-align: top;
  border: 0;
  border-bottom: 1px solid var(--ux-line, #d5d1c6);
  background: transparent;
  overflow-wrap: anywhere;
}
.ls-fee-table tr > :first-child { width: 58%; padding-left: 0; text-align: left; }
.ls-fee-table tr > :nth-child(2),
.ls-fee-table tr > :nth-child(3) {
  width: 21%;
  text-align: right;
  font-variant-numeric: tabular-nums lining-nums;
}
.ls-fee-table tr > :last-child { padding-right: 0; }
.ls-fee-table thead th {
  padding-block: 13px 17px;
  border-bottom: 1px solid #9e8a61;
  color: var(--ux-muted, #59635d);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
}
.ls-fee-table th[scope="row"] { font-weight: 400; }
.ls-fee-table th[scope="row"] a {
  color: var(--ux-ink, #23352e);
  text-decoration: underline;
  text-decoration-color: #c1b59b;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: text-decoration-color .18s ease;
}
.ls-fee-table th[scope="row"] a:hover { text-decoration-color: #8a7247; }
.ls-fee-table th[scope="row"] small {
  display: block;
  max-width: 55ch;
  margin-top: 11px;
  color: var(--ux-muted, #59635d);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
}
.ls-fee-area { padding-block: clamp(35px, 5vw, 65px) 0; }
.ls-fee-area .rv-section-head { margin-bottom: 0; }
.rv-layout .ls-fee-area h2,
.rv-layout .ls-fee-conditions h2 {
  margin: 0;
  color: var(--ux-ink, #23352e);
  font: 400 clamp(30px, 3.2vw, 43px)/1.2 var(--font-display);
  letter-spacing: -.025em;
  text-wrap: balance;
}
.ls-fee-area .ls-fee-table { margin-bottom: 0; }
.ls-fee-area + :is(.rv-consult, .bi-closing) { margin-top: var(--ls-section-space, 64px); }
.ls-fee-conditions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px clamp(35px, 6vw, 85px);
  padding-block: clamp(38px, 5.5vw, 72px) 30px;
}
.ls-fee-conditions h2 { grid-column: 1 / -1; padding-bottom: 4px; }
.ls-fee-conditions > p {
  margin: 0;
  max-width: 68ch;
  min-width: 0;
  color: var(--ux-muted, #59635d);
  font-size: 14px;
  line-height: 1.85;
}
.ls-consultation-note {
  padding-block: 5px 26px;
  border-bottom: 1px solid var(--ux-line, #d5d1c6);
}
.ls-consultation-note p {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 18px;
  margin: 0;
  color: var(--ux-muted, #59635d);
  font-size: 14px;
  line-height: 1.8;
}
.ls-consultation-note a { font-size: 12px; }
.ls-fee-bridge {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 30px clamp(35px, 7vw, 90px);
  padding-block: clamp(30px, 4vw, 48px);
  margin-block: 8px 30px;
  border-block: 1px solid var(--ux-line, #d5d1c6);
}
.ls-fee-bridge > div { min-width: 0; }
.ls-fee-bridge .rv-kicker { margin: 0 0 15px; }
.rv-layout .ls-fee-bridge h2 {
  margin: 0 0 16px;
  color: var(--ux-ink, #23352e);
  font: 400 clamp(27px, 3vw, 38px)/1.22 var(--font-display);
  letter-spacing: -.02em;
}
.ls-fee-bridge p:not(.rv-kicker) {
  margin: 0;
  max-width: 67ch;
  color: var(--ux-muted, #59635d);
  font-size: 14px;
  line-height: 1.85;
}
.ls-fee-bridge > a { justify-self: start; color: var(--ux-ink, #23352e); }

@media (max-width: 1100px) {
  .ls-detail-layout { column-gap: 42px; grid-template-columns: 175px minmax(0, 1fr); }
}
@media (max-width: 960px) {
  .ls-detail-page { --ls-anchor-offset: 150px; }
  .rv-layout .ls-detail-page .rv-section-nav { top: 85px; }
  .ls-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 37px; padding-top: 30px; }
  .ls-outline { position: static; max-height: none; overflow: visible; padding: 0; }
  .ls-outline > :is(.rv-kicker, .wf-eyebrow) { margin-bottom: 12px; }
  .ls-outline nav,
  .ls-outline nav ul { display: flex; flex-wrap: wrap; gap: 0 26px; }
  .ls-outline nav ul { width: 100%; }
  .ls-outline nav li { min-width: 0; max-width: 100%; }
  .ls-outline nav a { max-width: 100%; padding-block: 10px; font-size: 12px; }
  .ls-detail-content { max-width: none; }
}
@media (max-width: 700px) {
  .ls-detail-page { --ls-anchor-offset: 110px; --ls-section-space: 42px; }
  .rv-layout .ls-detail-page .rv-section-nav { position: relative; top: auto; gap: 3px 22px; }
  .rv-layout .ls-detail-page .rv-section-nav a:last-child { margin-left: 0; width: auto; }
  .rv-layout .ls-detail-page .rv-intro h1 { max-width: none; font-size: clamp(33px, 8.3vw, 48px); line-height: 1.14; }
  .rv-layout .ls-detail-page .rv-intro__lead { font-size: 15px; line-height: 1.8; }
  .ls-detail-layout { gap: 32px; }
  .ls-topics > section { grid-template-columns: 22px minmax(0, 1fr); column-gap: 15px; row-gap: 12px; padding-block: 25px; }
  .ls-topics .rv-number { padding-top: 6px; font-size: 10px; }
  .ls-topics h3 { font-size: 25px; }
  .ls-detail-content p,
  .ls-detail-content li { font-size: 14px; line-height: 1.85; }
  .ls-questions .rv-faq summary { font-size: 14px; gap: 17px; }
  .ls-questions .rv-faq__answer { padding-right: 0; }
  .ls-sources li { font-size: 12px; }
  .ls-related-links { grid-template-columns: minmax(0, 1fr); }
  .ls-related-links > a { font-size: 26px; padding-block: 22px; }
  .ls-fee-table table { font-size: 12px; line-height: 1.75; }
  .ls-fee-table :is(th, td) { padding: 17px 7px; }
  .ls-fee-table tr > :first-child { width: 50%; }
  .ls-fee-table tr > :nth-child(2),
  .ls-fee-table tr > :nth-child(3) { width: 25%; }
  .ls-fee-table thead th { font-size: 12px; padding-block: 12px 15px; }
  .ls-fee-table th[scope="row"] small { font-size: 12px; line-height: 1.65; }
  .ls-detail-content .ls-fees { padding-left: 0; }
  .ls-detail-content .ls-fees::before { display: none; }
  .ls-fee-conditions { grid-template-columns: minmax(0, 1fr); gap: 21px; }
  .ls-consultation-note p { display: block; }
  .ls-consultation-note a { margin-top: 7px; }
  .ls-fee-bridge { grid-template-columns: minmax(0, 1fr); gap: 22px; }
}
@media (max-width: 370px) {
  .ls-topics > section { grid-template-columns: minmax(0, 1fr); row-gap: 12px; }
  .ls-topics :is(.rv-number, h3, p) { grid-column: 1; grid-row: auto; }
  .ls-topics .rv-number { padding-top: 0; }
  .ls-outline nav,
  .ls-outline nav ul { gap: 0 18px; }
}
@media (max-height: 650px) and (min-width: 961px) {
  .ls-outline { position: static; max-height: none; overflow: visible; }
}
@media (prefers-reduced-motion: reduce) {
  .ls-detail-page *, .ls-detail-page *::before, .ls-detail-page *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}


/* MEDLA: service-discovery.css */
/* Service discovery: a clear introduction beside seven practical entry points. */
.rv-layout .ux-directory-intro {
  --ux-discovery-accent: #985d47;
  --ux-discovery-line: #d6cfc4;
  background: transparent;
}
.rv-layout .rv-intro.ux-directory-intro:not(.sv-area-intro) {
  padding-block: clamp(24px, 3.5vw, 46px) clamp(38px, 4.5vw, 62px);
}
.ux-directory-intro > .rv-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(35px, 5.5vw, 78px);
}
.ux-directory-intro .rv-intro__copy { min-width: 0; padding-block: 12px 24px; }
.rv-layout .ux-directory-intro .rv-kicker {
  margin: 0 0 22px;
  color: var(--ux-discovery-accent);
  font-size: 10px;
  letter-spacing: .15em;
}
.rv-layout .ux-directory-intro h1 {
  max-width: 14ch;
  margin: 0 0 27px;
  color: var(--ux-ink, #23352e);
  font: 500 clamp(40px, 4.45vw, 64px)/1.09 var(--font-body);
  letter-spacing: -.045em;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.rv-layout .ux-directory-intro h1 em { font-style: normal; color: inherit; }
.rv-layout .ux-directory-intro .rv-intro__lead {
  margin: 0;
  max-width: 49ch;
  color: var(--ux-muted, #59635d);
  font-size: 15px;
  line-height: 1.85;
}
.ux-directory-intro .wf-intro-actions {
  gap: 14px 24px;
  margin-top: 31px;
}
.ux-directory-intro .wf-intro-actions .btn {
  min-height: 50px;
  padding: 15px 24px;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.ux-directory-intro .wf-intro-actions .rv-text-link {
  gap: 16px;
  min-height: 44px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--ux-ink, #23352e);
}
.ux-service-finder {
  min-width: 0;
  padding: 26px clamp(20px, 2.5vw, 34px) 14px;
  border-top: 1px solid var(--ux-discovery-accent);
  background: #ede9df66;
}
.rv-layout .ux-service-finder h2 {
  margin: 0 0 20px;
  color: var(--ux-ink, #23352e);
  font: 600 18px/1.45 var(--font-body);
  letter-spacing: -.025em;
  text-wrap: balance;
}
.ux-service-finder nav {
  display: grid;
  counter-reset: service-need;
}
.ux-service-finder nav > a {
  position: relative;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 17px;
  align-items: start;
  gap: 4px 14px;
  min-height: 62px;
  min-width: 0;
  padding-block: 13px;
  border-top: 1px solid var(--ux-discovery-line);
  color: var(--ux-ink, #23352e);
  text-decoration: none;
  counter-increment: service-need;
}
.ux-service-finder nav > a::before {
  content: counter(service-need, decimal-leading-zero);
  grid-column: 1;
  grid-row: 1 / 3;
  padding-top: 3px;
  color: #866e53;
  font: 500 10px/1.8 var(--font-body);
  font-variant-numeric: tabular-nums;
  letter-spacing: .015em;
  transition: color .2s ease;
}
.ux-finder-label {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  font: 500 14px/1.55 var(--font-body);
  letter-spacing: -.015em;
  overflow-wrap: break-word;
}
.ux-finder-area {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  color: var(--ux-muted, #59635d);
  font: 400 11px/1.6 var(--font-body);
  overflow-wrap: break-word;
}
.ux-service-finder nav > a > i {
  grid-column: 3;
  grid-row: 1 / 3;
  padding-top: 1px;
  color: var(--ux-discovery-accent);
  font: normal 400 20px/1.15 var(--font-body);
  transition: transform .2s ease;
}
.ux-service-finder nav > a:hover .ux-finder-label {
  text-decoration: underline;
  text-decoration-color: #b98670;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.ux-service-finder nav > a:hover::before { color: var(--ux-discovery-accent); }
.ux-service-finder nav > a:hover > i { transform: translate(2px, -2px); }
.ux-directory-intro :is(a, button):focus-visible {
  outline: 2px solid var(--ux-discovery-accent);
  outline-offset: 5px;
}
.wf-services-page #explorar-servicios,
.rv-layout #explorar-servicios { scroll-margin-top: 125px; }
.rv-layout:is(.ux-area-page, .ls-page) .rv-intro .wf-intro-actions,
.rv-layout :is(.ux-area-page, .ls-page) .rv-intro .wf-intro-actions {
  flex-wrap: wrap;
  gap: 14px 24px;
}
.rv-layout:is(.ux-area-page, .ls-page) .rv-intro .wf-intro-actions .btn,
.rv-layout :is(.ux-area-page, .ls-page) .rv-intro .wf-intro-actions .btn {
  min-height: 50px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 1050px) {
  .ux-directory-intro > .rv-shell { gap: 32px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rv-layout .ux-directory-intro h1 { font-size: clamp(38px, 4.8vw, 51px); }
  .ux-service-finder { padding-inline: 20px; }
  .ux-service-finder nav > a { column-gap: 10px; grid-template-columns: 19px minmax(0, 1fr) 16px; }
  .ux-finder-label { font-size: 13px; }
}
@media (max-width: 850px) {
  .ux-directory-intro > .rv-shell { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ux-directory-intro .rv-intro__copy { padding-block: 0; }
  .rv-layout .ux-directory-intro h1 { max-width: 18ch; font-size: clamp(38px, 6.2vw, 52px); }
  .rv-layout .ux-directory-intro .rv-intro__lead { max-width: 64ch; }
  .ux-service-finder { padding: 23px 25px 12px; }
  .ux-service-finder nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
  .ux-service-finder nav > a { min-height: 76px; }
  .ux-service-finder nav > a:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 550px) {
  .rv-layout .rv-intro.ux-directory-intro:not(.sv-area-intro) { padding-block: 27px 37px; }
  .rv-layout .ux-directory-intro .rv-kicker { margin-bottom: 18px; }
  .rv-layout .ux-directory-intro h1 { max-width: none; font-size: clamp(34px, 8.7vw, 43px); line-height: 1.12; margin-bottom: 23px; }
  .rv-layout .ux-directory-intro .rv-intro__lead { font-size: 14px; line-height: 1.8; }
  .ux-directory-intro .wf-intro-actions { margin-top: 25px; gap: 12px 20px; }
  .ux-directory-intro .wf-intro-actions .btn { padding-inline: 20px; }
  .ux-service-finder { padding: 21px 0 4px; background: transparent; }
  .rv-layout .ux-service-finder h2 { font-size: 17px; margin-bottom: 18px; }
  .ux-service-finder nav { column-gap: 22px; }
  .ux-service-finder nav > a { grid-template-columns: minmax(0, 1fr) 14px; column-gap: 8px; row-gap: 7px; min-height: 92px; padding-block: 15px; }
  .ux-service-finder nav > a::before { display: none; }
  .ux-finder-label,
  .ux-finder-area { grid-column: 1; }
  .ux-finder-label { font-size: 13px; line-height: 1.55; }
  .ux-finder-area { font-size: 11px; line-height: 1.65; }
  .ux-service-finder nav > a > i { grid-column: 2; font-size: 17px; }
  .ux-service-finder nav > a:last-child:nth-child(odd) { min-height: 75px; }
  .wf-services-page #explorar-servicios,
  .rv-layout #explorar-servicios { scroll-margin-top: 105px; }
}
@media (prefers-reduced-motion: reduce) {
  .ux-service-finder nav > a::before,
  .ux-service-finder nav > a > i { transition: none; }
}

/* Optional human advice sits beside the first service enquiry action. */
.rv-layout .sj-specialist { max-width:520px; margin-top:25px; padding-inline-start:17px; border-inline-start:2px solid #c6b58a; }
.rv-layout .sj-specialist p { margin:0 0 7px; color:#596962; font:400 13px/1.65 var(--font-body); }
.rv-layout .sj-specialist a { display:inline-flex; align-items:center; min-height:36px; color:#163b42; font:500 14px/1.4 var(--font-body); text-decoration:underline; text-decoration-color:#ad9867; text-underline-offset:5px; }
.rv-layout .sj-specialist a:hover { color:#7b683f; }
.rv-layout .sj-specialist a:focus-visible { outline:2px solid #ad9867; outline-offset:5px; }
@media(max-width:600px) { .rv-layout .sj-specialist { margin-top:21px; } .rv-layout .sj-specialist a { min-height:44px; } }


/* MEDLA: service-architecture.css */
/* MEDLA service architecture: visible specialties, grouped around client needs. */
.sa-page {
  --sa-ink: #23352e;
  --sa-muted: #59635d;
  --sa-accent: #965940;
  --sa-line: #d4cfc3;
  --sa-paper: #f6f4ed;
  --sa-wash: #ebe8dd;
  --sa-anchor: 150px;
  color: var(--sa-ink);
}
.sa-page :is(.sa-area, .sa-specialty-group, .sa-specialties)[id] {
  scroll-margin-top: var(--sa-anchor);
}
.sa-page :is(.sa-directory, .sa-area, .sa-area-heading, .sa-area-heading > div, .sa-groups, .sa-group,
  .sa-specialties, .sa-specialty-group, .sa-specialty-group > header, .sa-specialty-links, .sa-specialty-links > a) {
  min-width: 0;
}
.sa-page :is(.sa-area h2, .sa-group h3, .sa-specialty-group h2, .sa-specialty-links h3) {
  color: var(--sa-ink);
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 500;
  text-wrap: pretty;
}
.sa-page :is(a, button, input):focus-visible {
  outline: 2px solid var(--sa-accent);
  outline-offset: 5px;
}
.sa-page :is(.sa-area-heading h2 a, .sa-area-open, .sa-group a, .sa-specialty-links > a, .sa-routes a) {
  color: inherit;
  text-decoration: none;
}

/* Search and areas share one canvas rather than a stack of independent cards. */
.sa-page .wf-service-catalog { padding-top: 35px; }
.sa-page .wf-catalog-tools {
  padding-bottom: 20px;
  margin-bottom: 0;
  border-bottom: 0;
}
.sa-page .wf-catalog-tools .rv-section-head {
  align-items: center;
  gap: 24px 45px;
  margin-bottom: 26px;
}
.rv-layout .sa-page .wf-catalog-tools .rv-section-head h2 {
  margin: 0;
  font: 500 clamp(25px, 2.7vw, 36px)/1.25 var(--font-body);
  letter-spacing: -.035em;
}
.sa-page .rv-search {
  flex-basis: 400px;
  min-width: 0;
  max-width: 460px;
  padding: 5px 0 10px;
  border: 0;
  border-bottom: 1px solid #9b9c8e;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sa-page .rv-search input {
  min-width: 0;
  background: transparent;
  font-size: 14px;
  line-height: 1.65;
}
.sa-page .rv-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 8px;
  margin: 0 0 15px;
}
.sa-page .rv-filters button {
  position: relative;
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: var(--sa-muted);
  font: 400 12px/1.6 var(--font-body);
  letter-spacing: 0;
  text-transform: none;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.sa-page .rv-filters button::after { display: none; }
.sa-page .rv-filters button:hover { background: var(--sa-wash); color: var(--sa-ink); }
.sa-page .rv-filters button[aria-pressed="true"] {
  border-color: var(--sa-ink);
  background: var(--sa-ink);
  color: #fffdf8;
}
.sa-page .wf-results-row { min-height: 38px; gap: 18px; }
.sa-page .rv-results { color: var(--sa-muted); font-size: 12px; }
.sa-page .wf-clear { color: var(--sa-accent); }

.sa-directory { display: grid; }
.sa-area {
  position: relative;
  padding-block: clamp(31px, 4vw, 52px) clamp(38px, 4.5vw, 60px);
  border-top: 1px solid var(--sa-line);
}
.sa-area:first-child { border-top-color: #9b9c8e; }
.sa-area-heading {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: start;
  gap: 18px clamp(20px, 3vw, 42px);
  margin-bottom: 31px;
}
.sa-index {
  display: block;
  padding-top: 6px;
  color: var(--sa-accent);
  font: 500 12px/1.7 var(--font-body);
  letter-spacing: .05em;
  font-variant-numeric: tabular-nums;
}
.rv-layout .sa-page .sa-area-heading .rv-kicker {
  margin: 0 0 12px;
  color: var(--sa-muted);
  font: 500 10px/1.7 var(--font-body);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.rv-layout .sa-page .sa-area-heading h2 {
  margin: 0 0 17px;
  font-size: clamp(29px, 3.25vw, 45px);
  line-height: 1.17;
  letter-spacing: -.042em;
}
.sa-area-heading h2 a {
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
  transition: text-decoration-color .2s ease;
}
.sa-area-heading h2 a:hover { text-decoration: underline; text-decoration-color: #a8977c; }
.sa-area-heading p:not(.rv-kicker) {
  margin: 0;
  max-width: 61ch;
  color: var(--sa-muted);
  font: 400 14px/1.8 var(--font-body);
  text-wrap: pretty;
}
.sa-area-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  justify-self: end;
  min-height: 43px;
  margin-top: 24px;
  padding: 10px 0;
  border-bottom: 1px solid #aea78f;
  color: var(--sa-ink);
  font: 500 12px/1.65 var(--font-body);
  transition: color .2s ease, border-color .2s ease;
}
.sa-area-open:hover { color: var(--sa-accent); border-color: var(--sa-accent); }
.sa-area-open i { font-style: normal; }
.sa-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px clamp(28px, 4.2vw, 60px);
  padding-left: calc(42px + clamp(20px, 3vw, 42px));
}
.rv-layout .sa-page .sa-group h3 {
  margin: 0 0 13px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sa-line);
  color: var(--sa-accent);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .015em;
}
.sa-group ul { display: grid; margin: 0; padding: 0; list-style: none; }
.sa-group li { min-width: 0; margin: 0; padding: 0; }
.sa-group li::before { display: none; }
.sa-group li a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  align-items: start;
  gap: 12px;
  min-height: 45px;
  padding-block: 11px;
  color: var(--sa-ink);
  font: 400 14px/1.6 var(--font-body);
  overflow-wrap: anywhere;
}
.sa-group li a > span { min-width: 0; }
.sa-group li a > i {
  padding-top: 1px;
  color: #887d66;
  font: normal 400 16px/1.4 var(--font-body);
  transition: transform .2s ease, color .2s ease;
}
.sa-group li a:hover > span {
  text-decoration: underline;
  text-decoration-color: #a18b6b;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.sa-group li a:hover > i { color: var(--sa-accent); transform: translate(2px, -2px); }

/* Area detail groups make the relationship between individual services explicit. */
.sa-specialties { padding-block: clamp(38px, 5vw, 66px) 20px; }
.sa-specialty-group {
  display: grid;
  grid-template-columns: minmax(190px, .72fr) minmax(0, 1.6fr);
  gap: 26px clamp(40px, 7vw, 98px);
  padding-block: clamp(32px, 4.6vw, 62px);
  border-top: 1px solid var(--sa-line, #d4cfc3);
}
.sa-specialty-group > header {
  position: sticky;
  align-self: start;
  top: 155px;
  padding-block: 5px 20px;
}
.sa-specialty-group > header > p:first-child {
  margin: 0 0 17px;
  color: var(--sa-accent, #965940);
  font: 500 10px/1.7 var(--font-body);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.rv-layout .sa-specialty-group h2 {
  margin: 0 0 20px;
  color: var(--sa-ink, #23352e);
  font: 500 clamp(26px, 2.7vw, 37px)/1.22 var(--font-body);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.sa-specialty-group > header > p:not(:first-child) {
  margin: 0;
  max-width: 37ch;
  color: var(--sa-muted, #59635d);
  font: 400 14px/1.8 var(--font-body);
}
.sa-specialty-links { display: grid; align-self: start; }
.sa-specialty-links > a {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 25px;
  gap: 12px 27px;
  min-height: 104px;
  padding-block: 26px;
  border-bottom: 1px solid var(--sa-line, #d4cfc3);
  color: var(--sa-ink, #23352e);
  text-decoration: none;
}
.sa-specialty-links > a:first-child { padding-top: 5px; }
.sa-specialty-links > a:last-child { padding-bottom: 8px; border-bottom: 0; }
.sa-specialty-links > a > :is(div, h3, p) { grid-column: 1; min-width: 0; }
.rv-layout .sa-specialty-links h3 {
  margin: 0;
  max-width: 38ch;
  color: var(--sa-ink, #23352e);
  font: 500 clamp(19px, 1.9vw, 25px)/1.35 var(--font-body);
  letter-spacing: -.022em;
  text-wrap: pretty;
}
.sa-specialty-links p {
  margin: 0;
  max-width: 69ch;
  color: var(--sa-muted, #59635d);
  font: 400 14px/1.8 var(--font-body);
  overflow-wrap: break-word;
}
.sa-specialty-links > a > div > p { margin-top: 12px; }
.sa-specialty-links > a > :is(i, .rv-arrow, .sa-arrow) {
  grid-column: 2;
  grid-row: 1 / span 2;
  justify-self: end;
  padding-top: 2px;
  color: var(--sa-accent, #965940);
  font: normal 400 23px/1.4 var(--font-body);
  transition: transform .2s ease;
}
.sa-specialty-links > a:hover h3 {
  text-decoration: underline;
  text-decoration-color: #a18b6b;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.sa-specialty-links > a:hover > :is(i, .rv-arrow, .sa-arrow) { transform: translate(2px, -2px); }
.sa-specialty-links > a:focus-visible { outline: 2px solid #965940; outline-offset: 5px; }

.sa-routes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 clamp(20px, 3vw, 44px);
  padding-block: 20px;
  border-block: 1px solid var(--sa-line, #d4cfc3);
}
.sa-routes a {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 44px;
  padding-block: 8px;
  color: var(--sa-ink, #23352e);
  font: 500 12px/1.7 var(--font-body);
}
.sa-routes a:hover { text-decoration: underline; text-underline-offset: 5px; }
.sa-context {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 26px 55px;
  padding: clamp(25px, 3.8vw, 48px);
  margin-block: 25px 48px;
  border-left: 2px solid #a18b6b;
  background: #ebe8dd66;
}
.sa-context > * { min-width: 0; }
.sa-context :is(h2, h3, p) { margin: 0; }
.rv-layout .sa-context :is(h2, h3) {
  margin-bottom: 13px;
  color: var(--sa-ink, #23352e);
  font: 500 clamp(21px, 2.3vw, 29px)/1.35 var(--font-body);
  letter-spacing: -.025em;
}
.sa-context p { max-width: 74ch; color: var(--sa-muted, #59635d); font: 400 14px/1.8 var(--font-body); }
.sa-context a { justify-self: start; }

@media (max-width: 1000px) {
  .sa-area-heading { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 18px 24px; }
  .sa-groups { padding-left: 52px; column-gap: 28px; }
  .sa-area-open { gap: 10px; font-size: 11px; }
  .sa-specialty-group { grid-template-columns: minmax(170px, .7fr) minmax(0, 1.4fr); column-gap: 42px; }
}
@media (max-width: 760px) {
  .sa-page { --sa-anchor: 115px; }
  .sa-page .wf-service-catalog { padding-top: 20px; }
  .sa-page .wf-catalog-tools .rv-section-head { align-items: stretch; flex-direction: column; gap: 25px; }
  .sa-page .rv-search { flex-basis: auto; width: 100%; max-width: none; }
  .sa-page .rv-filters { column-gap: 5px; }
  .sa-page .rv-filters button { padding-inline: 12px; }
  .sa-area { padding-block: 31px 39px; }
  .sa-area-heading { grid-template-columns: 22px minmax(0, 1fr); gap: 0 17px; margin-bottom: 30px; }
  .sa-index { padding-top: 2px; font-size: 10px; }
  .sa-area-open { grid-column: 2; justify-self: start; margin-top: 13px; font-size: 12px; }
  .sa-area-heading p:not(.rv-kicker) { max-width: 60ch; }
  .sa-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 39px; gap: 24px 27px; }
  .sa-group:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .sa-group:last-child:nth-child(odd) ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 27px; }
  .sa-specialty-group { grid-template-columns: minmax(0, 1fr); gap: 27px; padding-block: 37px; }
  .sa-specialty-group > header { position: static; padding: 0; }
  .sa-specialty-group > header > p:not(:first-child) { max-width: 65ch; }
  .sa-specialty-group > header > p:first-child { margin-bottom: 13px; }
  .rv-layout .sa-specialty-group h2 { margin-bottom: 15px; }
  .sa-specialty-links > a { min-height: 100px; padding-block: 22px; }
  .sa-specialty-links > a:first-child { padding-top: 0; }
  .sa-context { grid-template-columns: minmax(0, 1fr); gap: 23px; padding: 27px; }
}
@media (max-width: 500px) {
  .sa-page .wf-catalog-tools { padding-bottom: 16px; }
  .sa-page .wf-results-row { flex-wrap: wrap; gap: 0 15px; }
  .sa-page .rv-filters { gap: 5px 4px; }
  .sa-page .rv-filters button { min-height: 42px; padding: 9px 10px; font-size: 11px; }
  .sa-area-heading { column-gap: 12px; }
  .rv-layout .sa-page .sa-area-heading h2 { font-size: clamp(27px, 7.2vw, 34px); margin-bottom: 14px; }
  .sa-area-heading p:not(.rv-kicker) { font-size: 13px; line-height: 1.8; }
  .sa-groups { grid-template-columns: minmax(0, 1fr); padding-left: 34px; gap: 26px; }
  .sa-group:last-child:nth-child(odd) { grid-column: auto; }
  .sa-group:last-child:nth-child(odd) ul { grid-template-columns: minmax(0, 1fr); }
  .rv-layout .sa-page .sa-group h3 { margin-bottom: 5px; padding-bottom: 11px; font-size: 12px; }
  .sa-group li a { min-height: 44px; padding-block: 10px; font-size: 13px; gap: 15px; }
  .sa-specialties { padding-top: 33px; }
  .sa-specialty-links > a { gap: 12px 18px; grid-template-columns: minmax(0, 1fr) 20px; }
  .sa-specialty-links p { font-size: 13px; line-height: 1.85; }
  .sa-routes { display: grid; gap: 0; padding-block: 12px; }
  .sa-routes a { justify-content: space-between; }
  .sa-context { padding: 24px 21px; margin-bottom: 34px; }
  .sa-context p { font-size: 13px; }
}
@media (max-height: 700px) {
  .sa-specialty-group > header { position: static; }
}
@media (prefers-reduced-motion: reduce) {
  .sa-page *, .sa-page *::before, .sa-page *::after,
  .sa-specialties *, .sa-specialties *::before, .sa-specialties *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Four families use a balanced layout without an isolated fourth column. */
@media (min-width: 761px) {
  .sa-groups--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; }
  .sa-groups--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.sv-scene--mercantil { background: radial-gradient(ellipse at 22% 12%, #f3efdf, transparent 58%), linear-gradient(140deg, #e5dfce, #d3c9b3); }


/* 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; }
}

.rv-layout :is(.rv-area-card, .bi-area, .rv-service-row, .ux-process__steps,
  .ls-topics) .rv-number,
.rv-layout #pb.md-content .ed-chapter-index,
.rv-layout .sa-index,
.rv-layout .sv-scene[aria-hidden="true"] .sv-scene-caption {
  display: none;
}
.rv-layout.page-home .svc::before,
.rv-layout.page-home .svc__more::after {
  content: 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; }
.rv-layout .ls-detail-layout {
  display: block;
  max-width: 900px;
}
.rv-layout .ls-detail-content { margin-inline: auto; }
.rv-layout .quiet-faq { max-width: 900px; }

/* The service menu has the same eight clear choices as the directory. */
.rv-layout .rv-mega { grid-template-columns: minmax(0, 1fr); }
.rv-layout .rv-mega__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rv-layout .rv-mega__links > a {
  grid-template-columns: minmax(0, 1fr);
  min-height: 56px;
  padding-block: 16px;
}
.rv-layout .rv-mega__links span { font: 500 18px/1.4 var(--font-body); }
.rv-layout .rv-mega__bottom .wf-mega-all { display: inline-flex; }

/* 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 .rv-area-card .ed-area-copy > :is(h2, p, .rv-area-card__links, .rv-text-link),
.rv-layout .ls-topics > section > :is(h3, p) {
  grid-column: 1;
  grid-row: auto;
}
.rv-layout .rv-area-card .ed-area-copy > .rv-area-card__top { display: none; }
.rv-layout .sv-service-row,
.rv-layout .sv-service-list--long .sv-service-row {
  grid-template-columns: minmax(0, 1fr);
}
.rv-layout .ed-service-row,
.rv-layout .ed-service-list--long .ed-service-row {
  grid-template-columns: minmax(120px, .6fr) minmax(0, 1.4fr);
}
.rv-layout .ed-service-row > div { grid-column: 2; grid-row: 1; }
.rv-layout .wf-service-result { grid-template-columns: 140px minmax(0, 1fr); }
.rv-layout .sa-area-heading { grid-template-columns: minmax(0, 1fr) auto; }
.rv-layout .sa-groups { padding-left: 0; }

/* 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;
}
.rv-layout :is(.rv-service-row h3, .ls-topics h3, .ls-related-links > a,
  .ux-next-areas__links > a > span:first-child, .bi-guide-grid h3) {
  font-size: clamp(22px, 2.2vw, 29px);
  line-height: 1.3;
}
.rv-layout :is(.rv-kicker, .wf-eyebrow) {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .035em;
  text-transform: none;
}
.rv-layout :is(.rv-text-link, .wf-primary, .wf-footer-cta) { gap: 12px; }
.rv-layout .rv-text-link {
  font-size: 13px;
  border-bottom-color: #b4a98f;
  text-underline-offset: 5px;
}
.rv-layout .rv-text-link:hover { border-bottom-color: currentColor; }
.rv-layout .sv-service-row p,
.rv-layout .sa-specialty-links p,
.rv-layout .bi-area p {
  max-width: 58ch;
  line-height: 1.75;
}

/* A full row is already clickable. Hover should underline the label, not move
   content around while somebody tries to read or select it. */
.rv-layout :is(.wf-service-result, .sv-service-row, .ed-service-row),
.rv-layout :is(.wf-service-result, .sv-service-row, .ed-service-row):hover {
  padding-inline: 0;
  background: transparent;
}
.rv-layout :is(.wf-service-result, .sv-service-row, .ed-service-row):hover h3 {
  text-decoration: underline;
  text-decoration-color: #a18b6b;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.rv-layout .rv-faq summary i {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #766749;
}
.rv-layout .rv-faq[open] summary i { background: transparent; color: inherit; }

/* The directory now has one optional search below the area choices. */
.rv-layout .sa-search-only {
  max-width: 900px;
  padding-block: 12px 50px;
}
.rv-layout .sa-search-only .wf-catalog-tools {
  padding: 0;
  margin-bottom: 0;
  border: 0;
}
.rv-layout .sa-search-only .rv-search {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #b4b6aa;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.rv-layout .sa-search-only .rv-search > span {
  color: #586760;
  font-size: 13px;
  line-height: 1.6;
}
.rv-layout .sa-search-only .rv-search input {
  width: 100%;
  min-height: 54px;
  padding-block: 12px;
  background: transparent;
  font-size: 15px;
}
.rv-layout .sa-directory-help {
  margin: 24px 0 0;
  color: #586760;
  font-size: 14px;
  line-height: 1.8;
}
.rv-layout .sa-directory-help a {
  color: #203c3b;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.rv-layout .sa-search-only .wf-results-row { min-height: 0; }
.rv-layout .sa-search-only .rv-results:empty { margin: 0; }
.rv-layout .sa-search-only .wf-catalog-help {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 26px 0 0;
  padding: 0;
  border: 0;
}
.rv-layout .sa-search-only .wf-catalog-help p { font-size: 13px; }
.rv-layout .sa-search-only .wf-catalog-help a { font-size: 13px; }

/* 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;
}
.rv-layout .sa-specialty-links > a {
  min-height: 54px;
  padding-block: 14px;
  align-items: center;
}
.rv-layout .sa-specialty-links > a:first-child { padding-top: 14px; }
.rv-layout .sa-specialty-links > a:last-child { padding-bottom: 14px; }
.rv-layout .sa-specialty-links h3 {
  max-width: 48ch;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: -.01em;
}

/* Home uses the same concise service rows in either language. */
.rv-layout.page-home .services__wrap { display: block; }
.rv-layout.page-home .services__grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.rv-layout.page-home .svc {
  display: grid;
  grid-template-columns: minmax(230px, .8fr) minmax(0, 1.2fr) auto;
  gap: 24px 40px;
  align-items: center;
  min-height: 0;
  padding: 27px 0;
  background: transparent;
}
.rv-layout.page-home .svc:hover { padding-inline: 0; background: transparent; }
.rv-layout.page-home .svc__title {
  grid-column: 1;
  grid-row: 1;
  font: 500 clamp(23px, 2.4vw, 33px)/1.25 var(--font-body);
  letter-spacing: -.025em;
}
.rv-layout.page-home .svc__text {
  grid-column: 2;
  grid-row: 1;
  max-width: 55ch;
  font-size: 14px;
  line-height: 1.75;
}
.rv-layout.page-home .svc__more {
  grid-column: 3;
  grid-row: 1;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-block: 10px;
  font: 500 13px/1.6 var(--font-body);
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-color: #b4a98f;
}

.rv-layout .bi-contact {
  grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr);
  gap: clamp(30px, 5vw, 70px);
}
.rv-layout .bi-contact > * { min-width: 0; }
.rv-layout .bi-contact-office {
  margin-block: 28px;
  font-style: normal;
}
.rv-layout .bi-contact-office h3 {
  font: 500 22px/1.4 var(--font-body);
  letter-spacing: -.02em;
}
.rv-layout .bi-contact-details p { font-size: 14px; line-height: 1.8; }

@media (max-width: 760px) {
  .rv-layout .bi-contact { grid-template-columns: minmax(0, 1fr); }
  .rv-layout .rv-mega__links { grid-template-columns: minmax(0, 1fr); }
  .rv-layout .sa-search-only .rv-search input { font-size: 16px; }
  .rv-layout .sa-area-heading { grid-template-columns: minmax(0, 1fr); }
  .rv-layout .sa-area-open { justify-self: start; margin-top: 0; }
  .rv-layout .wf-service-result { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .rv-layout .wf-service-result > span:first-child { grid-column: 1; }
  .rv-layout .ed-service-row,
  .rv-layout .ed-service-list--long .ed-service-row {
    grid-template-columns: minmax(80px, .45fr) minmax(0, 1fr);
    column-gap: 18px;
  }
  .rv-layout.page-home .svc {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 20px;
    padding-block: 22px;
  }
  .rv-layout.page-home .svc__title { grid-column: 1; grid-row: 1; font-size: 25px; }
  .rv-layout.page-home .svc__text { grid-column: 1 / -1; grid-row: 2; font-size: 14px; }
  .rv-layout.page-home .svc__more { grid-column: 2; grid-row: 1; font-size: 12px; }
}


/* MEDLA: service-gallery.css */
/* A single visual system for the service directory. No drifting click targets. */
.rv-layout .sg-directory {
  --sg-ink: #17373b;
  --sg-gold: #ab8658;
  --sg-paper: #f5f3eb;
  background: var(--sg-paper);
  padding-bottom: 34px;
}
.rv-layout .sg-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: start;
  gap: 32px 7%;
  padding-block: clamp(46px, 6vw, 84px) clamp(38px, 5vw, 66px);
}
.rv-layout .sg-eyebrow {
  margin: 0 0 24px;
  color: #6d7368;
  font: 500 12px/1.5 var(--font-body);
  letter-spacing: .055em;
}
.rv-layout .sg-intro h1 {
  margin: 0;
  max-width: 15ch;
  font: 500 clamp(44px, 5vw, 74px)/1.055 var(--font-body);
  letter-spacing: -.055em;
  color: var(--sg-ink);
  text-wrap: balance;
}
.rv-layout .sg-intro h1 span { color: #8d7150; }
.rv-layout .sg-intro h1 { max-width: 21ch; font-size: clamp(37px,4.4vw,64px); line-height: 1.12; }
.rv-layout .sg-intro-title,
.rv-layout .sg-intro-aside { min-width: 0; }
.rv-layout .sg-intro-aside { max-width: 46ch; }
.rv-layout .sg-intro-aside > p {
  margin: 0 0 26px;
  color: #536660;
  font: 400 16px/1.8 var(--font-body);
  text-wrap: pretty;
}
.sg-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 23px; }
.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; }
.rv-layout .sg-secondary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #284541;
  font: 500 13px/1.5 var(--font-body);
  text-decoration: underline;
  text-decoration-color: #b1a78a;
  text-underline-offset: 5px;
}
.sg-directory :is(a, button):focus-visible { outline: 2px solid #987645; outline-offset: 5px; }
.rv-layout .sg-gallery {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}
.rv-layout .sg-card {
  --sg-card-bg: #ece8dc;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  grid-column: span 2;
  min-width: 0;
  min-height: 335px;
  border: 1px solid #c8c7b55c;
  border-radius: 10px;
  background: var(--sg-card-bg);
  color: var(--sg-ink);
  text-decoration: none;
  overflow: hidden;
  box-shadow: 0 5px 18px -14px #163d3230;
  transition: box-shadow .35s ease, border-color .35s ease;
}
.rv-layout .sg-card:hover {
  border-color: #a39e87;
  box-shadow: 0 16px 34px -25px #24402e70;
}
.sg-card-copy { position: relative; z-index: 2; padding: 8px 26px 28px; }
.rv-layout .sg-card h2 {
  margin: 0 0 9px;
  color: inherit;
  font: 500 clamp(22px, 2.1vw, 30px)/1.2 var(--font-body);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.rv-layout .sg-card p {
  margin: 0;
  max-width: 32ch;
  color: #526157;
  font: 400 13px/1.65 var(--font-body);
  text-wrap: pretty;
}
.sg-art { position: relative; flex: 1; height: 215px; min-height: 215px; margin: 0; overflow: hidden; }
.sg-card .sv-scene {
  position: absolute;
  inset: 0;
  min-height: 0;
  background: transparent;
}
.sg-card .sv-scene-caption { display: none; }
.sg-card .sv-stage { inset: 2% 10% 2%; }
.sg-card .sv-scene-light { display: none; }
.sg-card .sv-stage::after { opacity: .35; filter: blur(12px); }
.rv-layout .sg-card--featured {
  grid-column: span 3;
  min-height: 425px;
}
.sg-card--featured .sg-art { height: 295px; min-height: 295px; }
.sg-card--featured .sg-card-copy { padding: 0 36px 33px; }
.rv-layout .sg-card--featured h2 { font-size: clamp(29px, 3.1vw, 42px); }
.rv-layout .sg-card--featured p { font-size: 15px; }
.rv-layout .sg-card--extranjeria { --sg-card-bg: #dce5da; }
.rv-layout .sg-card--fiscal { --sg-card-bg: #eadfcf; }
.rv-layout .sg-card--civil { --sg-card-bg: #e4e5d9; }
.rv-layout .sg-card--laboral { --sg-card-bg: #ede4d7; }
.rv-layout .sg-card--penal { --sg-card-bg: #dfe6e0; }
.rv-layout .sg-card--administrativo { --sg-card-bg: #e8e7de; }
.rv-layout .sg-card--mercantil { --sg-card-bg: #dbe3d5; }
.rv-layout .sg-card--otros { --sg-card-bg: #eadfce; }
.sg-card--featured .sv-travel { width: 50%; max-width: 255px; }
.sg-card--featured .sv-folio { width: 42%; max-width: 230px; }
.sg-card .sv-book { width: 38%; max-width: 135px; }
.sg-card .sv-contract { width: 43%; max-width: 150px; }
.sg-card .sv-folio { max-width: 160px; }
.sg-card--featured .sv-folio { max-width: 230px; }
.sg-card .sv-justice { width: 65%; max-width: 240px; }
.rv-layout .wf-services-page:has(.sg-directory) { background: #f5f3eb; }
.rv-layout .wf-services-page:has(.sg-directory) .sa-search-only {
  padding-block: 28px 68px;
  max-width: min(900px, var(--rv-max));
}
@media (max-width: 1000px) {
  .rv-layout .sg-intro { grid-template-columns: minmax(0, 1fr); gap: 27px; padding-block: 42px 40px; }
  .rv-layout .sg-intro h1 { max-width: 18ch; font-size: clamp(42px, 6.6vw, 66px); }
  .rv-layout .sg-intro-aside { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 22px 30px; max-width: none; }
  .rv-layout .sg-intro-aside > p { margin: 0; max-width: 43ch; font-size: 14px; }
  .rv-layout .sg-intro-aside .sj-specialist { grid-column: 1 / -1; margin-top: 0; }
  .sg-actions { flex-direction: column; align-items: flex-start; gap: 4px; }
  .rv-layout .sg-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .rv-layout .sg-card, .rv-layout .sg-card--featured { grid-column: span 1; }
  .rv-layout .sg-card--featured { min-height: 365px; }
  .sg-card--featured .sg-art { height: 240px; min-height: 240px; }
  .sg-card--featured .sg-card-copy { padding: 8px 26px 29px; }
}
@media (max-width: 600px) {
  .rv-layout .sg-intro { gap: 23px; padding-block: 32px 30px; }
  .rv-layout .sg-eyebrow { margin-bottom: 19px; font-size: 11px; }
  .rv-layout .sg-intro h1 { font-size: clamp(36px, 9.2vw, 48px); max-width: 18ch; }
  .rv-layout .sg-intro-aside { display: block; }
  .rv-layout .sg-intro-aside > p { max-width: 35ch; margin-bottom: 21px; }
  .rv-layout .sg-intro-aside .sj-specialist { margin-top: 21px; }
  .sg-actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
  .rv-layout .sg-primary { padding-inline: 20px; }
  .rv-layout .sg-gallery { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .rv-layout .sg-card { display: grid; grid-template-columns: 38% minmax(0, 1fr); min-height: 166px; align-items: center; }
  .sg-art { height: 165px; min-height: 165px; overflow: visible; }
  .sg-card-copy { padding: 24px 19px 24px 7px; }
  .rv-layout .sg-card h2 { font-size: 23px; }
  .rv-layout .sg-card p { font-size: 12px; line-height: 1.65; }
  .rv-layout .sg-card--featured { display: grid; min-height: 166px; }
  .sg-card--featured .sg-art { height: 165px; min-height: 165px; }
  .sg-card--featured .sg-card-copy { padding: 24px 19px 24px 7px; }
  .rv-layout .sg-card--featured h2 { font-size: 23px; }
  .rv-layout .sg-card--featured p { font-size: 12px; }
  .sg-card .sv-stage { inset: 0; }
  .sg-card .sv-book { width: 59%; }
  .sg-card .sv-contract,
  .sg-card .sv-folio { width: 62%; }
  .sg-card .sv-travel { width: 90%; }
  .sg-card .sv-justice { width: 100%; height: 80%; }
}
@media (prefers-reduced-motion: reduce) {
  .sg-card, .sg-primary { transition: none; }
}
@media (max-width:700px) {
 .sg-card .ts-scene { overflow:hidden; }
 .rv-layout .sg-card .ts-scene .ts-object { transform:scale(1.6); }
}


/* 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;
}
.rv-layout.page-home .pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column: 1 / -1;
  gap: 0;
  margin: 12px 0 0;
  padding: 12px clamp(30px, 5vw, 68px);
  border: 0;
  border-radius: 2px;
  background: #132f35;
  color: #f7f5ed;
  list-style: none;
}
.rv-layout.page-home .pillar,
.rv-layout.page-home .pillar:not(:first-child),
.rv-layout.page-home .pillar:hover {
  display: block;
  min-width: 0;
  padding: 35px 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  translate: none;
  box-shadow: none;
}
.rv-layout.page-home .pillar:nth-child(odd) { padding-right: 45px; }
.rv-layout.page-home .pillar:nth-child(even) { padding-left: 45px; border-left: 1px solid #d9c9a638; }
.rv-layout.page-home .pillar:nth-child(-n+2) { border-bottom: 1px solid #d9c9a638; }
.rv-layout.page-home .pillar__icon { display: none; }
.rv-layout.page-home .pillar__title {
  margin: 0 0 11px;
  color: #f7f5ed;
  font: 500 clamp(23px, 2.3vw, 33px)/1.25 var(--font-body);
  letter-spacing: -.025em;
}
.rv-layout.page-home .pillar__text {
  max-width: 32ch;
  margin: 0;
  color: #c7d0c8;
  font: 400 15px/1.7 var(--font-body);
}
.rv-layout.page-home .commit__note {
  grid-column: 1 / -1;
  max-width: 960px;
  padding: 0 0 0 30px;
  margin: 0;
  border-left: 2px solid #b78364;
  border-radius: 0;
  background: none;
  color: #52615e;
  font: 400 17px/1.85 var(--font-body);
  text-align: left;
}

/* 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; }
.rv-layout.page-home .quote__figure {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
.rv-layout.page-home .quote__text {
  margin: 0;
  color: #f6f3e9;
  font: 400 clamp(20px, 2.1vw, 29px)/1.75 var(--font-body);
  letter-spacing: -.01em;
  text-align: center;
  text-wrap: pretty;
}
.rv-layout.page-home .quote__meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  justify-items: center;
  justify-content: center;
  align-items: center;
  margin-top: 32px;
  text-align: center;
}
.rv-layout.page-home .quote__meta .slot,
.rv-layout.page-home .quote__meta .slot--circle {
  grid-column: 1;
  grid-row: 1;
  width: 78px;
  height: 78px;
  flex-basis: auto;
  margin: 0 0 8px;
  filter: none;
  opacity: 1;
}
.rv-layout.page-home .quote__name {
  grid-column: 1;
  grid-row: 2;
  justify-self: center;
  color: #e0c7a4;
  font: 500 18px/1.4 var(--font-body);
  text-align: center;
}
.rv-layout.page-home .quote__role {
  grid-column: 1;
  grid-row: 3;
  justify-self: center;
  width: auto;
  margin: 0;
  color: #c6d0ca;
  font: 400 13px/1.6 var(--font-body);
  text-align: center;
}

/* 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;
}
.rv-layout.page-home .services__wrap {
  display: block;
  max-width: var(--rv-max);
  padding: 0;
}
.rv-layout.page-home .services__title {
  max-width: 780px;
  margin: 0 0 46px;
  color: #132f35;
  font: 500 clamp(35px, 4.2vw, 60px)/1.14 var(--font-body);
  letter-spacing: -.045em;
  text-wrap: balance;
}
.rv-layout.page-home .services__title em { color: #a47956; font-style: normal; }
.rv-layout.page-home .services__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  width: 100%;
  max-width: none;
  margin: 0;
  align-items: stretch;
}
.rv-layout.page-home .hs-service,
.rv-layout.page-home .hs-service:is(:hover, :focus-within),
.rv-layout.page-home .hs-service:last-child {
  display: grid;
  grid-column: auto;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto 1fr;
  gap: 8px 20px;
  align-items: start;
  min-width: 0;
  min-height: 0;
  padding: 0 30px 29px;
  margin: 0;
  border: 1px solid #d8dace;
  border-radius: 4px;
  background: #fbfaf5;
  box-shadow: none;
  overflow: hidden;
  transform: none;
  translate: none;
}
.rv-layout.page-home .hs-service::before,
.rv-layout.page-home .hs-service .svc__icon,
.rv-layout.page-home .hs-service .svc__more::after { display: none; content: none; }
.rv-layout.page-home .hs-service-art {
  display: block;
  grid-column: 1 / -1;
  grid-row: 1;
  width: calc(100% + 60px);
  height: clamp(255px, 24vw, 335px);
  margin: 0 -30px 18px;
  padding: 0;
  overflow: hidden;
}
.rv-layout.page-home .hs-scene {
  min-height: 0;
  width: 100%;
  height: 100%;
  isolation: isolate;
  perspective: 1100px;
  background: #dce4d8;
  user-select: none;
}
.rv-layout.page-home .hs-scene--legal { background: #173b40; }
.rv-layout.page-home .hs-scene--property { background: #ede5d6; }
.rv-layout.page-home .hs-scene--privacy { background: #24413c; }
.rv-layout.page-home .hs-sculpture {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  overflow: visible;
  transform: rotateX(var(--sv-pointer-x)) rotateY(var(--sv-pointer-y));
  transform-origin: center;
  transition: transform .8s cubic-bezier(.2, .7, .25, 1);
}
.rv-layout.page-home .hs-art-body {
  transform-box: fill-box;
  transform-origin: 50% 80%;
  transition: translate .8s cubic-bezier(.2, .7, .25, 1);
}
.rv-layout.page-home .hs-service:is(:hover, :focus-within) .hs-art-body { translate: 0 -7px; }
.rv-layout.page-home .hs-service .svc__title {
  grid-column: 1;
  grid-row: 2;
  width: auto;
  max-width: none;
  margin: 0;
  color: #132f35;
  font: 500 clamp(25px, 2.5vw, 36px)/1.2 var(--font-body);
  letter-spacing: -.035em;
  text-align: left;
  text-wrap: balance;
}
.rv-layout.page-home .hs-service:is(:hover, :focus-within) .svc__title { color: #132f35; }
.rv-layout.page-home .hs-service .svc__title a { color: inherit; text-decoration: none; }
.rv-layout.page-home .hs-service .svc__title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.rv-layout.page-home .hs-service .svc__text {
  grid-column: 1;
  grid-row: 3;
  max-width: 42ch;
  margin: 0;
  color: #57645e;
  font: 400 14px/1.75 var(--font-body);
  text-align: left;
}
.rv-layout.page-home .hs-service .svc__more {
  display: inline-flex;
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: center;
  justify-self: end;
  align-items: center;
  min-height: 44px;
  padding: 8px 0;
  margin: 0;
  color: #24473f;
  font: 500 13px/1.5 var(--font-body);
  text-align: left;
  text-decoration: underline;
  text-decoration-color: #ac936e;
  text-underline-offset: 6px;
  white-space: nowrap;
}
.rv-layout.page-home .hs-service a:focus-visible { outline: 2px solid #986c46; outline-offset: 5px; }

/* 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; }
  .rv-layout.page-home .pillars { padding-inline: 34px; }
  .rv-layout.page-home .pillar:nth-child(odd) { padding-right: 28px; }
  .rv-layout.page-home .pillar:nth-child(even) { padding-left: 28px; }
  .rv-layout.page-home .services__grid { gap: 22px; }
  .rv-layout.page-home .hs-service,
  .rv-layout.page-home .hs-service:is(:hover, :focus-within),
  .rv-layout.page-home .hs-service:last-child { padding-inline: 24px; }
  .rv-layout.page-home .hs-service-art { width: calc(100% + 48px); margin-inline: -24px; height: 260px; }
  .rv-layout.page-home .hs-service .svc__title { font-size: 27px; }
  .rv-layout.page-home .hs-service .svc__text { grid-column: 1 / -1; }
  .rv-layout.page-home .hs-service .svc__more { grid-row: 2; }
}
@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 .pillars { grid-template-columns: minmax(0, 1fr); padding: 7px 27px; margin-top: 3px; }
  .rv-layout.page-home .pillar,
  .rv-layout.page-home .pillar:not(:first-child),
  .rv-layout.page-home .pillar:nth-child(odd),
  .rv-layout.page-home .pillar:nth-child(even),
  .rv-layout.page-home .pillar:hover { padding: 24px 0; border: 0; border-bottom: 1px solid #d9c9a638; }
  .rv-layout.page-home .pillar:last-child { border-bottom: 0; }
  .rv-layout.page-home .pillar__title { font-size: 26px; margin-bottom: 7px; }
  .rv-layout.page-home .pillar__text { font-size: 14px; max-width: none; }
  .rv-layout.page-home .commit__note { padding-left: 21px; font-size: 15px; line-height: 1.8; }
  .rv-layout.page-home .quote { min-height: 0; padding-block: 64px; }
  .rv-layout.page-home .quote__text { font-size: 20px; line-height: 1.75; }
  .rv-layout.page-home .quote__meta { margin-top: 27px; }
  .rv-layout.page-home .services__title { font-size: clamp(34px, 8.6vw, 48px); margin-bottom: 30px; }
  .rv-layout.page-home .services__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .rv-layout.page-home .hs-service-art { height: clamp(240px, 66vw, 355px); }
  .rv-layout.page-home .hs-service .svc__title { font-size: clamp(25px, 6.8vw, 32px); }
  .rv-layout.page-home .hs-service .svc__text { font-size: 14px; }
  .rv-layout.page-home .hs-service .svc__more { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .rv-layout.page-home .hs-sculpture { transform: none; transition: none; }
  .rv-layout.page-home .hs-art-body { translate: none !important; transition: none; }
}


/* 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 .ss-footer__services .wf-footer-directory { grid-column: 1 / -1; margin-top: 5px; }
.rv-layout .ss-footer__services .wf-footer-directory a { color: var(--ss-muted); font-size: 11px; }
.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 .rv-footer.ss-footer address > .rv-footer__map {
  min-height: 40px;
  margin-top: 5px;
  color: var(--ss-ink);
  font-size: 11px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.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__more { min-width: 0; align-self: center; }
.rv-layout .ss-footer__more summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  font-size: 11px;
  line-height: 1.5;
  cursor: pointer;
  list-style: none;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.rv-layout .ss-footer__more summary::-webkit-details-marker { display: none; }
.rv-layout .ss-footer__more ul { display: grid; gap: 0; padding-block: 4px 8px; }
.rv-layout .ss-footer__more li > a { display: flex; align-items: center; min-height: 36px; font-size: 11px; line-height: 1.5; }
.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-mega__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px; padding: 8px 18px; }
  .rv-layout .ss-header .rv-mega__links > a { min-height: 52px; padding-block: 13px; }
  .rv-layout .ss-header .rv-mega__links span { font: 500 14px/1.5 var(--font-body); }
  .rv-layout .ss-header .rv-mega__bottom { margin: 0; padding: 14px 18px; flex-wrap: wrap; gap: 15px; }
  .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__more { justify-self: start; }
  .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; }
  .rv-layout .ss-header .rv-mega__links { grid-template-columns: 1fr; }
}
/* 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 .ss-footer__chat-notice { display: flex; gap: 8px 16px; align-items: baseline; flex-wrap: wrap; margin-top: 10px; padding-bottom: 16px; font: 400 11px/1.6 var(--font-body); color: #4b5c5b; }
.rv-layout .ss-footer__chat-notice p { margin: 0; font: inherit; }
.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; } }
.sg-art::after,
.rv-layout.page-home .hs-service-art::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(ellipse at var(--studio-x, 50%) var(--studio-y, 35%), #fff9, transparent 66%);
  transition: opacity .4s ease;
}
.rv-layout.page-home .hs-service-art { position: relative; }
.studio-lit .sg-art::after,
.rv-layout.page-home .studio-lit .hs-service-art::after { opacity: .27; }
.sg-card:focus-visible .sg-art::after,
.rv-layout.page-home .hs-service:focus-within .hs-service-art::after { opacity: .18; }
@media (prefers-reduced-motion: reduce) {
  .sg-art::after,
  .rv-layout.page-home .hs-service-art::after { transition: none; }
}


/* MEDLA: contact-studio.css */
/* Contact, about and the future client portal share the same quiet canvas. */
.rv-layout :is(.cs-contact-page, .cs-about-page, .cs-portal-page) {
  --cs-ink: #18383a;
  --cs-muted: #5b665f;
  --cs-line: #d7dacd;
  color: var(--cs-ink);
  padding-block: clamp(38px, 5vw, 74px) clamp(52px, 7vw, 100px);
}
.rv-layout .cs-page-head { max-width: 820px; margin-bottom: clamp(30px, 4vw, 58px); }
.rv-layout .cs-page-head h1 {
  margin: 0 0 18px;
  font: 500 clamp(40px, 5.3vw, 70px)/1.08 var(--font-body);
  letter-spacing: -.055em;
  color: var(--cs-ink);
}
.rv-layout .cs-page-head > p { max-width: 680px; margin: 0; color: var(--cs-muted); font-size: clamp(16px, 1.65vw, 20px); line-height: 1.7; }
.rv-layout .cs-contact-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(250px, 1fr); gap: clamp(36px, 6vw, 92px); align-items: start; }
.rv-layout .cs-contact-grid > * { min-width: 0; }
.rv-layout .cs-contact-form { border-top: 2px solid #8c9974; padding-top: 27px; scroll-margin-top: 120px; }
.rv-layout :is(.cs-contact-form, .cs-contact-aside) h2 { margin: 0 0 12px; font: 500 clamp(23px, 2.3vw, 30px)/1.25 var(--font-body); letter-spacing: -.035em; color: var(--cs-ink); }
.rv-layout .cs-form-intro > p { margin: 0; max-width: 590px; font-size: 14px; line-height: 1.8; color: var(--cs-muted); }
.rv-layout .cs-contact-form .mform { margin: 28px 0 0; padding: 0; max-width: none; background: transparent; border: 0; box-shadow: none; }
.rv-layout .cs-contact-form .mform__grid { gap: 23px 20px; }
.rv-layout .cs-contact-form .mfield__label { color: var(--cs-ink); font-size: 13px; font-weight: 500; }
.rv-layout .cs-contact-form .mfield__hint { font-size: 12px; line-height: 1.6; color: var(--cs-muted); }
.rv-layout .cs-contact-form .mfield :is(input, select, textarea) { border-color: #c7cdbf; background: #ffffffb3; border-radius: 4px; color: var(--cs-ink); font-size: 15px; }
.rv-layout .cs-contact-form .mfield :is(input, select) { min-height: 49px; }
.rv-layout .cs-contact-form .mfield :is(input, select, textarea):focus { outline: 2px solid #667b62; outline-offset: 2px; box-shadow: none; }
.rv-layout .cs-contact-form .mform__legal { font-size: 12px; line-height: 1.75; color: var(--cs-muted); }
.rv-layout .cs-contact-form .mcheck { align-items: flex-start; font-size: 12px; line-height: 1.75; }
.rv-layout .cs-contact-form .mcheck input { flex-shrink: 0; margin-top: 4px; accent-color: var(--cs-ink); }
.rv-layout .cs-contact-form .mform__actions { margin-top: 25px; justify-content: flex-start; }
.rv-layout .cs-contact-form .mform__actions .btn { min-height: 50px; min-width: 176px; border-radius: 4px; background: var(--cs-ink); color: #faf8ef; font-size: 13px; text-transform: none; letter-spacing: 0; }
.rv-layout .cs-contact-aside { padding-top: 28px; }
.rv-layout .cs-contact-aside h2 { font-size: 22px; }
.rv-layout .cs-contact-email { margin: 0 0 28px; }
.rv-layout .cs-contact-email a { display: inline-flex; align-items: center; min-height: 40px; font-size: 14px; color: var(--cs-ink); overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; }
.rv-layout .cs-office-grid { display: grid; gap: 24px; }
.rv-layout .cs-contact-aside .bi-contact-office { margin: 0; padding: 22px 0 0; border: 0; border-top: 1px solid var(--cs-line); background: transparent; font-style: normal; }
.rv-layout .cs-contact-aside .bi-contact-office h3 { margin: 0 0 12px; font: 500 17px/1.5 var(--font-body); color: var(--cs-ink); }
.rv-layout .cs-contact-aside .bi-contact-office .ss-office-country { gap: 10px; }
.rv-layout .cs-contact-aside .bi-contact-office p { margin: 13px 0 0; font-size: 13px; line-height: 1.8; color: var(--cs-muted); }
.rv-layout .cs-contact-aside .bi-contact-office .ss-office-note { max-width: 34ch; margin-top: 9px; font-size: 12px; line-height: 1.65; }
.rv-layout .cs-contact-aside .ss-office-channels a { min-height: 40px; color: var(--cs-ink); font-size: 13px; text-decoration: none; }
.rv-layout .cs-contact-aside .rv-footer__map { display: inline-flex; align-items: center; min-height: 44px; margin-top: 5px; color: var(--cs-ink); font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.rv-layout .cs-about-section { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 100px); padding-block: 40px; border-top: 1px solid var(--cs-line); }
.rv-layout .cs-about-page .cs-page-head { max-width: 900px; margin-bottom: clamp(36px, 5vw, 74px); }
.rv-layout .cs-about-page .cs-page-head > p { max-width: 700px; }
.rv-layout .cs-about-page [data-about-reveal] { transform-origin: center top; }
.rv-layout :is(.cs-about-section, .cs-about-quality) h2 { margin: 0; font: 500 clamp(26px, 3vw, 37px)/1.2 var(--font-body); letter-spacing: -.04em; color: var(--cs-ink); }
.rv-layout .cs-about-section .bi-prose { max-width: none; color: var(--cs-muted); font-size: 16px; line-height: 1.85; }
.rv-layout .cs-about-section .bi-prose p:last-child { margin-bottom: 0; }
.rv-layout .cs-about-quality { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 100px); align-items: center; border-top: 1px solid var(--cs-line); padding-top: 40px; }
.rv-layout .cs-about-quality > div > p { margin: 17px 0 0; color: var(--cs-muted); font-size: 14px; line-height: 1.8; }
.rv-layout .cs-quality-marks { display: grid; grid-template-columns: 1fr 1fr 1.55fr; gap: 24px; align-items: center; }
.rv-layout .cs-quality-marks figure { min-width: 0; margin: 0; text-align: center; }
.rv-layout .cs-quality-marks img { display: block; height: 116px; width: auto; max-width: 100%; margin: 0 auto 16px; object-fit: contain; mix-blend-mode: multiply; }
.rv-layout .cs-quality-marks__aec img { height: auto; max-height: 58px; width: 210px; }
.rv-layout .cs-quality-marks figcaption { color: var(--cs-muted); font-size: 11px; line-height: 1.6; }
.rv-layout .cs-portal-page { min-height: 65vh; display: flex; align-items: center; }
.rv-layout .cs-portal-content { max-width: 930px; border-inline-start: 2px solid #ae9862; padding-inline-start: clamp(24px, 5vw, 65px); }
.rv-layout .cs-portal-status { display: inline-flex; margin: 0 0 24px; color: #77633a; font-size: 13px; line-height: 1.6; }
.rv-layout .cs-portal-content h1 { max-width: 700px; margin: 0 0 23px; color: var(--cs-ink); font: 500 clamp(38px, 5.2vw, 66px)/1.12 var(--font-body); letter-spacing: -.05em; }
.rv-layout .cs-portal-content > p:not(.cs-portal-status) { max-width: 590px; margin: 0; color: var(--cs-muted); font-size: 17px; line-height: 1.8; }
.rv-layout .cs-portal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 30px; }
.rv-layout .cs-portal-actions > a { min-height: 48px; display: inline-flex; align-items: center; font-size: 13px; }
.rv-layout .cs-portal-actions > a:not(.btn) { color: var(--cs-ink); text-underline-offset: 5px; overflow-wrap: anywhere; }
.rv-layout :is(.cs-contact-page, .cs-about-page, .cs-portal-page) a:focus-visible { outline: 2px solid #667b62; outline-offset: 4px; }
@media (max-width: 900px) {
  .rv-layout .cs-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .rv-layout .cs-contact-aside { padding-top: 10px; }
  .rv-layout .cs-office-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  .rv-layout .cs-about-quality { grid-template-columns: 1fr; gap: 35px; }
  .rv-layout .cs-quality-marks { max-width: 650px; }
}
@media (max-width: 600px) {
  .rv-layout .cs-page-head { margin-bottom: 28px; }
  .rv-layout .cs-page-head h1 { font-size: 41px; }
  .rv-layout .cs-contact-form { padding-top: 22px; }
  .rv-layout .cs-contact-form .mform__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rv-layout .cs-contact-form .mphone { grid-template-columns: minmax(0, 1fr); }
  .rv-layout .cs-office-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .rv-layout .cs-about-section { grid-template-columns: 1fr; gap: 20px; padding-block: 29px; }
  .rv-layout .cs-about-section .bi-prose { font-size: 15px; }
  .rv-layout .cs-quality-marks { gap: 16px; }
  .rv-layout .cs-quality-marks img { height: 82px; }
  .rv-layout .cs-quality-marks__aec img { height: auto; }
  .rv-layout .cs-quality-marks figcaption { font-size: 10px; }
  .rv-layout .cs-portal-content { padding-inline-start: 22px; }
  .rv-layout .cs-portal-content > p:not(.cs-portal-status) { font-size: 16px; }
}

/* A quiet brand composition gives the introduction an identifiable focal point. */
.rv-layout .cs-about-page .cs-page-head { position:relative; max-width:none; padding-inline-end:29%; min-height:240px; display:flex; flex-direction:column; justify-content:center; }
.cs-about-emblem { position:absolute; inset-inline-end:3%; top:0; width:clamp(180px,19vw,270px); aspect-ratio:1; display:grid; place-items:center; border:1px solid #a6946a45; border-radius:50%; background:radial-gradient(circle,#e8e7da88,transparent 70%); }
.cs-about-emblem:before { content:""; position:absolute; inset:12px -14px; border:1px solid #a6946a45; border-radius:50%; transform:rotate(-32deg); }
.cs-about-emblem:after { content:""; position:absolute; width:8px; height:8px; border-radius:50%; background:#a6946a; top:12%; right:14%; }
.cs-about-emblem img { width:45%; height:auto; }
@media(max-width:700px) { .rv-layout .cs-about-page .cs-page-head { padding-inline-end:0; min-height:0; } .cs-about-emblem { position:relative; inset:auto; margin-top:30px; width:150px; align-self:flex-end; } }
.iq-contact-summary { scroll-margin-top: 120px; }


/* MEDLA: editorial-studio.css */
/* Topic-led service pages and a lighter editorial index. Shared ES/EN markup. */
.rv-layout .ts-scene {
  min-height: 0;
  background: #e8e5d9;
  perspective: 1000px;
}
.rv-layout .ts-scene--family,
.rv-layout .ts-scene--inheritance { background: #e2e9dc; }
.rv-layout .ts-scene--property,
.rv-layout .ts-scene--agreement { background: #ede2d2; }
.rv-layout .ts-scene--international,
.rv-layout .ts-scene--mercantil { background: #dce5dd; }
.rv-layout .ts-scene--privacy { background: #e2e7dc; }
.rv-layout .ts-object {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  transform: rotateX(var(--sv-pointer-x)) rotateY(var(--sv-pointer-y));
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.rv-layout .ts-sculpture { transition: translate .7s cubic-bezier(.2,.7,.2,1); }
.rv-layout .ts-scene.is-engaged .ts-sculpture { translate: 0 -5px; }
.rv-layout .sg-card .ts-scene { background: transparent; }
.rv-layout .sg-card .ts-object { padding: 4px 12px; }

/* Each real subgroup reads as a compact dashboard, with all links visible. */
.rv-layout .es-area-intro .rv-shell,
.rv-layout .es-detail-intro .rv-shell {
  grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr);
  align-items: center;
  gap: clamp(32px,6vw,86px);
}
.rv-layout .es-area-intro .rv-intro__image,
.rv-layout .es-detail-intro .rv-intro__image {
  width: 100%;
  height: 330px;
  min-height: 0;
  aspect-ratio: auto;
  margin: 0;
  border-radius: 10px;
  overflow: hidden;
}
.rv-layout .es-area-intro .rv-intro__image .sv-scene,
.rv-layout .es-detail-intro .rv-intro__image .sv-scene { min-height: 0; height: 100%; }
.rv-layout .es-detail-intro h1,
.rv-layout .es-area-intro h1 {
  max-width: 18ch;
  font: 500 clamp(36px,4.4vw,64px)/1.12 var(--font-body);
  letter-spacing: -.045em;
}
.rv-layout .es-detail-intro .rv-intro__lead { max-width: 58ch; font-size: 16px; line-height: 1.8; }
.rv-layout .es-group-dashboard {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
  padding-block: 24px 76px;
  align-items: start;
}
.rv-layout .es-group-card {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 0;
  min-width: 0;
  padding: 0 26px 14px;
  margin: 0;
  border: 1px solid #d9dbcd;
  border-radius: 9px;
  background: #fbfaf4;
  overflow: hidden;
}
.rv-layout .es-group-art {
  width: calc(100% + 52px);
  height: 180px;
  margin: 0 -26px 24px;
  overflow: hidden;
}
.rv-layout .es-group-art .sv-scene { height: 100%; min-height: 0; }
.rv-layout .es-group-art .sv-scene-caption,
.rv-layout .es-area-intro .sv-scene-caption,
.rv-layout .es-detail-intro .sv-scene-caption { display: none; }
.rv-layout .es-group-card > header { padding: 0; }
.rv-layout .es-group-card h2 { margin: 0 0 12px; color: #17373b; font: 500 25px/1.25 var(--font-body); letter-spacing: -.025em; }
.rv-layout .es-group-card header p { margin: 0 0 21px; color: #58655e; font: 400 14px/1.75 var(--font-body); }
.rv-layout .es-group-card .sa-specialty-links { display: block; padding: 0; border: 0; }
.rv-layout .es-group-card .sa-specialty-links a { display: block; min-height: 48px; padding: 15px 0; border-top: 1px solid #dadbcc; color: #22463f; }
.rv-layout .es-group-card .sa-specialty-links h3 { margin: 0; color: inherit; font: 500 15px/1.5 var(--font-body); }
.rv-layout .es-group-card .sa-specialty-links a:hover h3 { text-decoration: underline; text-underline-offset: 4px; }

/* Reading stays on one side; preparation and reference material have a home. */
.rv-layout .es-detail-layout {
  display: grid;
  max-width: var(--rv-max);
  grid-template-columns: minmax(0,1.3fr) minmax(260px,.7fr);
  gap: clamp(36px,7vw,95px);
  align-items: start;
  padding-block: 58px 46px;
}
.rv-layout .es-detail-layout .ls-detail-content { max-width: none; min-width: 0; }
.rv-layout .es-detail-layout .ls-topics { display: block; }
.rv-layout .es-detail-layout .ls-topic-part { display: block; padding: 0 0 29px; margin: 0 0 27px; border-top: 0; border-bottom: 1px solid #daddcf; }
.rv-layout .es-detail-layout .ls-topic-part h3 { font: 500 clamp(23px,2.3vw,30px)/1.3 var(--font-body); margin: 0 0 15px; letter-spacing: -.025em; }
.rv-layout .es-detail-layout .ls-topic-part p { max-width: 70ch; margin: 0; font: 400 16px/1.85 var(--font-body); color: #52635c; }
.rv-layout .es-detail-layout .rv-section-head { margin-bottom: 31px; }
.rv-layout .es-detail-layout .rv-section-head h2,
.rv-layout .es-detail-layout .ls-questions > h2 { font: 500 clamp(27px,2.7vw,36px)/1.25 var(--font-body); letter-spacing: -.03em; }
.rv-layout .es-detail-aside { min-width: 0; padding: 29px; border: 1px solid #d4dbce; border-radius: 10px; background: #eaf0e4; }
.rv-layout .es-detail-aside .ls-preparation { margin: 0; padding: 0 0 25px; background: transparent; border: 0; }
.rv-layout .es-detail-aside .ls-preparation h2 { margin: 0 0 23px; font: 500 25px/1.3 var(--font-body); letter-spacing: -.025em; }
.rv-layout .es-detail-aside .ls-preparation ul { margin: 0; padding-left: 18px; display: block; }
.rv-layout .es-detail-aside .ls-preparation li { margin: 0 0 16px; padding-left: 2px; color: #52645a; font: 400 14px/1.8 var(--font-body); }
.rv-layout .es-detail-aside :is(.ls-fees,.ls-sources) { margin: 0; padding: 19px 0; border: 0; border-top: 1px solid #c5cfbc; border-radius: 0; background: transparent; }
.rv-layout .es-detail-aside .ls-fees::before { display: none; content: none; }
.rv-layout .es-detail-aside summary { color: #23493f; font: 500 15px/1.6 var(--font-body); cursor: pointer; }
.rv-layout .es-detail-aside :is(.ls-fees,.ls-sources) p,
.rv-layout .es-detail-aside .ls-sources li { font: 400 13px/1.8 var(--font-body); color: #52635a; }
.rv-layout .es-detail-aside .ls-fees p { margin: 17px 0; }
.rv-layout .es-detail-aside .ls-sources ul { margin: 18px 0 0; padding-left: 18px; }
.rv-layout .es-detail-aside .ls-sources li { margin-bottom: 13px; }
.rv-layout .es-detail-aside .ls-sources a { overflow-wrap: anywhere; }
.rv-layout .es-detail-layout .ls-questions { margin-top: 43px; padding-top: 0; }

/* A browsable editorial shelf, not another oversized landing hero. */
.rv-layout .es-journal { background: #f7f5ee; padding-bottom: 50px; }
.rv-layout .es-journal-intro { padding-block: 52px 34px; max-width: var(--rv-max); }
.rv-layout .es-journal-intro h1 { max-width: 19ch; margin: 0 0 20px; color: #17373b; font: 500 clamp(37px,4.5vw,64px)/1.12 var(--font-body); letter-spacing: -.05em; }
.rv-layout .es-journal-intro p { margin: 0; max-width: 58ch; color: #55675e; font: 400 16px/1.8 var(--font-body); }
.rv-layout .es-journal-catalog { padding-block: 0; }
.rv-layout .es-blog-topics { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(145px,1fr); gap: 14px; align-items: stretch; overflow-x: auto; scroll-snap-type: x proximity; padding: 4px 4px 15px; scrollbar-width: thin; }
.rv-layout .es-blog-topic,
.rv-layout .es-topic-all { display: flex; flex-direction: column; min-width: 145px; width: 100%; padding: 0 12px 15px; border: 1px solid #d4d8c9; border-radius: 9px; background: #ebece0; color: #1e4039; font: 500 14px/1.4 var(--font-body); cursor: pointer; text-align: center; scroll-snap-align: start; overflow: hidden; }
.rv-layout .es-topic-all { align-items: center; justify-content: center; padding: 20px; font-size: 20px; letter-spacing: -.025em; background: #e4ddd0; }
.rv-layout .es-blog-topic[aria-pressed="true"],
.rv-layout .es-topic-all[aria-pressed="true"] { border-color: #486957; box-shadow: inset 0 0 0 1px #486957; }
.rv-layout .es-blog-topic-art { display: block; height: 112px; width: calc(100% + 24px); margin: 0 -12px 10px; overflow: hidden; }
.rv-layout .es-blog-topic-art > svg { display: block; width: 100%; height: 100%; transform: none; transition: translate .3s ease; }
.rv-layout .es-blog-topic:hover .es-blog-topic-art > svg { translate: 0 -4px; }
.rv-layout .es-blog-topic-art .sv-scene { min-height: 0; height: 100%; background: transparent; }
.rv-layout .es-blog-topic-art .sv-scene-caption,
.rv-layout .es-post-art .sv-scene-caption { display: none; }
.rv-layout .es-blog-topic-art .sv-stage { inset: 0 14%; }
.rv-layout .es-journal-search { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 21px 30px; }
.rv-layout .es-journal-search .rv-search { width: 340px; min-width: 0; max-width: 100%; }
.rv-layout .es-journal-search .rv-results { margin: 0; font-size: 12px; }
.rv-layout .es-journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 26px; }
.rv-layout .es-post { display: block; min-width: 0; margin: 0; border: 0; background: transparent; }
.rv-layout .es-post[hidden] { display: none; }
.rv-layout .es-post-art { display: block; height: 200px; min-height: 0; margin: 0; border-radius: 9px; overflow: hidden; }
.rv-layout .rv-post-grid .rv-post .es-post-photo { aspect-ratio:3/2; height:auto; background:#e7e5db; }
.rv-layout .es-post-photo .blog-photo { display:block; width:100%; height:100%; object-fit:cover; filter:none; }
.rv-layout .es-post-art .sv-scene { min-height: 0; height: 100%; }
.rv-layout .es-post-art .sv-stage { inset: 1% 16%; }
.rv-layout .es-post .rv-post__copy { padding: 19px 0 0; }
.rv-layout .es-post .rv-post-meta { justify-content: space-between; gap: 18px; margin: 0 0 13px; color: #697469; font: 400 11px/1.6 var(--font-body); }
.rv-layout .es-post h3 { margin: 0 0 12px; font: 500 clamp(23px,2.1vw,29px)/1.28 var(--font-body); letter-spacing: -.03em; color: #183e38; }
.rv-layout .es-post h3 a { color: inherit; text-decoration: none; }
.rv-layout .es-post h3 a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.rv-layout .es-post .rv-post__copy > p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; color: #59675d; font: 400 14px/1.75 var(--font-body); }
.rv-layout .es-archive-note { margin-block: 0; padding-block: 0 50px; color: #58655d; font: 400 14px/1.8 var(--font-body); }
.rv-layout .es-pae { padding-block: 0 42px; }
.rv-layout .es-pae-panel { padding: clamp(26px,4vw,48px); background: #e4e8dc; border-radius: 9px; }
.rv-layout .es-pae h2 { max-width: 26ch; margin: 8px 0 18px; color: #193d36; font: 500 clamp(28px,3vw,39px)/1.2 var(--font-body); letter-spacing: -.03em; }
.rv-layout .es-pae-panel > p:not(.rv-kicker) { max-width: 82ch; margin: 0 0 20px; color: #4a6055; font: 400 15px/1.85 var(--font-body); }
.rv-layout .es-pae a { color: #214b3d; text-underline-offset: 4px; font: 500 14px/1.6 var(--font-body); }
.rv-layout :is(.es-journal,.es-group-dashboard,.es-detail-layout) :is(a,button,summary):focus-visible { outline: 2px solid #9a7852; outline-offset: 5px; }
@media(max-width:1050px) {
  .rv-layout .es-group-dashboard { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rv-layout .es-detail-layout { grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); gap: 35px; }
  .rv-layout .es-area-intro .rv-shell,.rv-layout .es-detail-intro .rv-shell { gap: 35px; }
  .rv-layout .es-area-intro .rv-intro__image,.rv-layout .es-detail-intro .rv-intro__image { height: 290px; }
  .rv-layout .es-journal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .rv-layout .es-area-intro .rv-shell,.rv-layout .es-detail-intro .rv-shell { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .rv-layout .es-area-intro .rv-intro__image,.rv-layout .es-detail-intro .rv-intro__image { height: 250px; margin: 0; }
  .rv-layout .es-detail-intro h1,.rv-layout .es-area-intro h1 { font-size: clamp(33px,8vw,46px); }
  .rv-layout .es-detail-intro .rv-intro__lead { font-size: 15px; }
  .rv-layout .es-detail-layout { grid-template-columns: minmax(0,1fr); gap: 35px; padding-block: 36px; }
  .rv-layout .es-detail-aside { padding: 24px; }
  .rv-layout .es-group-dashboard { gap: 18px; padding-bottom: 45px; }
  .rv-layout .es-group-card { padding-inline: 22px; }
  .rv-layout .es-group-art { width: calc(100% + 44px); margin-inline: -22px; height: 150px; }
  .rv-layout .es-group-card h2 { font-size: 24px; }
  .rv-layout .es-journal-intro { padding-block: 36px 28px; }
  .rv-layout .es-journal-search { align-items: start; flex-direction: column; gap: 12px; padding-block: 17px 25px; }
  .rv-layout .es-journal-search .rv-search { width: 100%; }
}
@media(max-width:580px) {
  .rv-layout .es-group-dashboard,.rv-layout .es-journal-grid { grid-template-columns: minmax(0,1fr); }
  .rv-layout .es-group-art { height: 190px; }
  .rv-layout .es-post-art { height: 220px; }
  .rv-layout .es-blog-topics { grid-auto-columns: 145px; }
}
@media(prefers-reduced-motion:reduce) {
  .rv-layout .es-post-photo .blog-photo { transition:none; transform:none !important; }
  .rv-layout .ts-object { transition: none; transform: none; }
  .rv-layout .ts-sculpture { transition: none; translate: none !important; }
  .rv-layout .es-blog-topics { scroll-behavior: auto; }
  .rv-layout .es-blog-topic-art > svg { transition: none; translate: none !important; }
}
/* Institutional affiliations are identifiers, separate from the fee cards. */
.rv-layout .es-pae-badges { display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; padding-block:22px; border-block:1px solid #cbd2c3; color:#36554a; font:500 13px/1.6 var(--font-body); }
.rv-layout .es-pae-badges>span+span { border-inline-start:1px solid #adb9a5; padding-inline-start:28px; }
@media(max-width:520px) { .rv-layout .es-pae-badges { gap:12px 20px; } .rv-layout .es-pae-badges>span+span { padding-inline-start:20px; } }


/* MEDLA: launch-home.css */
/* Madrid in daylight, with a quiet, readable left-hand composition. */
.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 .hero__explore { color: #193f43; min-height: 44px; border-color: #9e9474; }
.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 .lh-facts { background: #f0f0e5; padding: 32px var(--rv-gutter); }
.lh-facts > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 45px; }
.lh-facts h2 { font: 500 23px/1.3 var(--font-body); letter-spacing: -.025em; margin: 0 0 9px; color: #193f43; }
.lh-facts p { font: 400 14px/1.7 var(--font-body); color: #53645a; margin: 0; }
.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; }
.brand-entry__logo { position: relative; width: 200px; aspect-ratio: 130/116; }
.brand-entry__logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.brand-entry__mark { clip-path: inset(0 0 42% 0); animation: brand-entry-mark .65s cubic-bezier(.22,.68,.2,1) both; }
.brand-entry__name { clip-path: inset(58% 0 0 0); animation: brand-entry-name .4s .48s 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; } .lh-facts>div { gap: 28px; } }
@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; }
 .lh-facts>div { grid-template-columns: 1fr; gap: 25px; }
 .lh-facts h2 { font-size: 22px; }
}
@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 { 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; transition:scale .18s ease,box-shadow .18s ease; }
.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):hover { scale:1.04; box-shadow:0 7px 20px #173b3f30; }
.rv-layout :is(.consent-chat-launcher,.wa-fab):active { scale:.97; }
.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__permission { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px; flex:1; display:flex; flex-direction:column; align-items:flex-start; gap:20px; justify-content:safe center; font:400 14px/1.8 var(--font-body); }
.medla-ai__permission>* { flex:none; }
.medla-ai__permission[hidden] { display:none; }
.medla-ai__permission p { margin:0; }
.medla-ai__permission a { font-size:11px; text-decoration:underline; }
.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 .hs-service,
.rv-layout.page-home .hs-service:is(:hover,:focus-within),
.rv-layout.page-home .hs-service:last-child { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto 1fr auto; }
.rv-layout.page-home .hs-service .svc__title { grid-column: 1; grid-row: 2; }
.rv-layout.page-home .hs-service .svc__text { grid-column: 1; grid-row: 3; }
.rv-layout.page-home .hs-service .svc__more { grid-column: 1; grid-row: 4; justify-self: start; align-self: end; white-space: normal; margin-top: 5px; text-wrap: pretty; }
.rv-layout.page-home .services__title { max-width: 20ch; font-size: clamp(33px,4vw,54px); line-height: 1.16; text-wrap: balance; }
.rv-layout.page-home .pillar__icon { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin: 0 0 17px; border: 1px solid #d8cba636; border-radius: 12px; background: transparent; color: #d8cba6; }
.rv-layout.page-home .pillar__icon .medla-line-icon { width: 23px; height: 23px; }
.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 .services__title { max-width: 19ch; }
 .rv-layout.page-home .atlas h2 { max-width: 15ch; }
 .rv-layout.page-home .pillar__icon { width: 37px; height: 37px; margin-bottom: 13px; }
}

/* 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:#85734e;
 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:#8d7751;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;}}

.community-page{padding-block:70px 100px;color:#173c40;}.community-page header{max-width:780px;}.community-page h1{font:500 clamp(40px,5vw,65px)/1.12 var(--font-body);letter-spacing:-.045em;margin:18px 0 28px;}.community-lead{font:400 clamp(23px,2.6vw,33px)/1.4 var(--font-body);color:#6c795f;max-width:28ch;}.community-body{max-width:660px;margin-top:42px;font:400 17px/1.85 var(--font-body);}.community-body .btn{margin-top:20px;}

/* 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.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-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-page { --ps-ink: #18383a; --ps-muted: #5b665f; --ps-line: #d7dacd; color: var(--ps-ink); padding-block: 36px clamp(55px, 7vw, 100px); }
.rv-layout .ps-back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 26px; color: var(--ps-muted); font-size: 13px; text-underline-offset: 4px; }
.rv-layout .ps-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .45fr); align-items: center; gap: clamp(30px, 7vw, 100px); padding-bottom: 48px; }
.rv-layout .ps-hero > div { min-width: 0; }
.rv-layout .ps-category { margin: 0 0 16px; color: var(--ps-muted); font-size: 13px; line-height: 1.6; }
.rv-layout .ps-hero h1 { margin: 0 0 24px; color: var(--ps-ink); font: 500 clamp(35px, 4.5vw, 62px)/1.13 var(--font-body); letter-spacing: -.04em; }
.rv-layout .ps-lead { max-width: 650px; margin: 0 0 25px; color: var(--ps-muted); font-size: 18px; line-height: 1.8; }
.rv-layout .ps-hero .btn { min-height: 49px; font-size: 13px; text-transform: none; letter-spacing: 0; border-radius: 4px; }
.rv-layout .ps-logo { display: grid; place-items: center; min-width: 0; padding: 28px; min-height: 160px; }
.rv-layout .ps-logo img { display: block; max-width: 100%; width: auto; max-height: 155px; height: auto; object-fit: contain; mix-blend-mode: multiply; filter: none; opacity: 1; }
.rv-layout .ps-logo--vibe { border-radius: 12px; background: #18383a; }
.rv-layout .ps-logo--vibe img { mix-blend-mode: normal; max-height: 130px; }
.rv-layout .ps-points { border-top: 1px solid var(--ps-line); }
.rv-layout .ps-points > div { display: grid; grid-template-columns: minmax(170px, .42fr) minmax(0, 1fr); gap: 40px; padding-block: 24px; border-bottom: 1px solid var(--ps-line); }
.rv-layout .ps-points h2 { margin: 0; color: var(--ps-ink); font: 500 21px/1.5 var(--font-body); letter-spacing: -.02em; }
.rv-layout .ps-points p { max-width: 730px; margin: 0; color: var(--ps-muted); font-size: 15px; line-height: 1.8; }
.rv-layout .ps-scope { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; margin-top: 30px; }
.rv-layout .ps-scope p { max-width: 710px; margin: 0; color: var(--ps-muted); font-size: 13px; line-height: 1.8; }
.rv-layout .ps-scope > a { flex-shrink: 0; display: inline-flex; align-items: center; min-height: 44px; max-width: 230px; color: var(--ps-ink); font-size: 12px; line-height: 1.6; text-underline-offset: 4px; }
.rv-layout .ps-related { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 28px; margin-top: 42px; padding-top: 18px; border-top: 1px solid var(--ps-line); }
.rv-layout .ps-related span { color: var(--ps-muted); font-size: 12px; }
.rv-layout .ps-related a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ps-ink); font-size: 13px; font-weight: 500; text-underline-offset: 4px; }
.rv-layout .ps-directory { padding-top: clamp(40px, 5vw, 75px); }
.rv-layout .ps-directory-head { max-width: 820px; margin-bottom: 48px; }
.rv-layout .ps-directory-head h1 { margin: 0 0 22px; font: 500 clamp(38px, 4.6vw, 64px)/1.12 var(--font-body); letter-spacing: -.045em; color: var(--ps-ink); }
.rv-layout .ps-directory-head p { max-width: 700px; margin: 0; font-size: 17px; line-height: 1.85; color: var(--ps-muted); }
.rv-layout .ps-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.rv-layout .ps-partner { display: grid; grid-template-columns: minmax(120px, .5fr) minmax(0, 1fr); align-items: center; gap: 25px; padding-block: 28px; border-top: 1px solid var(--ps-line); color: var(--ps-ink); text-decoration: none; }
.rv-layout .ps-partner .ps-logo { min-height: 104px; padding: 16px; }
.rv-layout .ps-partner .ps-logo img { max-height: 72px; }
.rv-layout .ps-partner p { margin: 0 0 10px; font-size: 12px; line-height: 1.7; color: var(--ps-muted); }
.rv-layout .ps-partner h2 { margin: 0; color: var(--ps-ink); font: 500 21px/1.4 var(--font-body); letter-spacing: -.02em; }
.rv-layout .ps-partner:hover h2 { text-decoration: underline; text-underline-offset: 5px; }
.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) {
  .rv-layout .ps-hero { grid-template-columns: minmax(0, 1fr) 190px; gap: 28px; }
  .rv-layout .ps-logo { padding: 18px; min-height: 120px; }
  .rv-layout .ps-logo img { max-height: 100px; }
  .rv-layout .ps-directory-grid { column-gap: 28px; }
  .rv-layout .ps-partner { grid-template-columns: 1fr; gap: 18px; align-items: start; }
  .rv-layout .ps-partner .ps-logo { max-width: 190px; }
  .rv-layout .ps-scope { display: block; }
  .rv-layout .ps-scope > a { margin-top: 13px; }
}
@media (max-width: 550px) {
  .rv-layout .ps-page { padding-top: 23px; }
  .rv-layout .ps-directory { padding-top: 40px; }
  .rv-layout .ps-back { margin-bottom: 18px; }
  .rv-layout .ps-hero { grid-template-columns: 1fr; gap: 26px; padding-bottom: 30px; }
  .rv-layout .ps-hero .ps-logo { max-width: 220px; min-height: 110px; order: -1; }
  .rv-layout .ps-hero .ps-logo img { max-height: 86px; }
  .rv-layout .ps-hero h1 { font-size: clamp(33px, 8.7vw, 44px); }
  .rv-layout .ps-lead { font-size: 16px; }
  .rv-layout .ps-points > div { grid-template-columns: 1fr; gap: 8px; padding-block: 22px; }
  .rv-layout .ps-points h2 { font-size: 20px; }
  .rv-layout .ps-points p { font-size: 14px; }
  .rv-layout .ps-directory-grid { grid-template-columns: 1fr; }
  .rv-layout .ps-partner { grid-template-columns: minmax(98px, .5fr) minmax(0, 1fr); gap: 20px; align-items: center; }
  .rv-layout .ps-partner h2 { font-size: 19px; }
  .rv-layout .ps-partner .ps-logo { padding: 12px; }
}

/* OVB mortgage collaboration: an identified provider and a clear MEDLA enquiry. */
.rv-layout .ovb-page { --ovb-gold:#9c875b; }
.rv-layout .ovb-page h2 { font:500 clamp(27px,3vw,38px)/1.2 var(--font-body); letter-spacing:-.035em; color:var(--ps-ink); margin:0 0 22px; }
.rv-layout .ovb-page h3 { font:500 22px/1.35 var(--font-body); letter-spacing:-.025em; color:var(--ps-ink); margin:0 0 14px; }
.rv-layout .ovb-page p { color:var(--ps-muted); line-height:1.8; }
.rv-layout .ovb-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:clamp(30px,6vw,88px); align-items:center; padding:22px 0 72px; }
.rv-layout .ovb-hero h1 { font:500 clamp(39px,4.6vw,64px)/1.08 var(--font-body); letter-spacing:-.045em; color:var(--ps-ink); margin:0 0 26px; }
.rv-layout .ovb-page .ovb-eyebrow { display:block; font-size:12px; letter-spacing:.13em; color:var(--ovb-gold); margin:0 0 20px; }
.rv-layout .ovb-lead { font-size:18px; margin:0 0 29px; max-width:650px; }
.rv-layout .ovb-page .ovb-cta { min-height:52px; border-radius:30px; padding:16px 28px; font-size:14px; line-height:1.4; white-space:normal; text-align:center; text-decoration:none; }
.rv-layout .ovb-page .ovb-contact-note { font-size:12px; line-height:1.7; max-width:570px; margin:18px 0 0; }
.rv-layout .ovb-brand { min-height:350px; border-block:1px solid var(--ps-line); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; padding:40px 20px; }
.rv-layout .ovb-brand img { max-width:100%; width:255px; height:auto; mix-blend-mode:multiply; }
.rv-layout .ovb-brand span { font-size:13px; line-height:1.6; text-align:center; color:var(--ps-muted); }
.rv-layout .ovb-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:46px; }
.rv-layout .ovb-service { padding:28px 0; border-top:1px solid var(--ps-line); }

.rv-layout .ovb-service p { margin:0; }
.rv-layout .ovb-complements { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(28px,6vw,90px); padding-block:60px; }
.rv-layout .ovb-complements > div > p { margin:0; }
.rv-layout .ovb-complement-rows > div { border-top:1px solid var(--ps-line); padding-block:22px; }
.rv-layout .ovb-complement-rows p { margin:0; }
.rv-layout .ovb-process { background:#183b40; padding:clamp(26px,4vw,50px); border-radius:4px; }
.rv-layout .ovb-process h2, .rv-layout .ovb-process h3 { color:#faf8f0; }
.rv-layout .ovb-process ol { list-style:none; margin:32px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; }
.rv-layout .ovb-process li { margin:0; padding:0; min-width:0; }
.rv-layout .ovb-process h3 { font-size:19px; }
.rv-layout .ovb-process p { color:#d3dcd6; font-size:14px; margin:0; }

.rv-layout .ovb-process .ovb-process-note { border-top:1px solid #527074; padding-top:24px; margin-top:35px; }
.rv-layout .ovb-model { padding-top:64px; }
.rv-layout .ovb-model-grid { display:grid; grid-template-columns:1fr 1fr; gap:46px; }
.rv-layout .ovb-model-grid > div { padding:24px 0; border-top:1px solid var(--ps-line); }
.rv-layout .ovb-model-grid p { margin:0; }
.rv-layout .ovb-legal { display:flex; align-items:center; gap:38px; justify-content:space-between; margin-top:28px; padding:30px; background:#e8ebe1; border-radius:4px; }
.rv-layout .ovb-legal > div { max-width:660px; }
.rv-layout .ovb-legal h2 { font-size:26px; }
.rv-layout .ovb-legal p { font-size:14px; margin:0; }
.rv-layout .ovb-legal > a { flex:0 1 230px; color:var(--ps-ink); font-size:14px; line-height:1.6; text-underline-offset:5px; }
.rv-layout .ovb-faq { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(28px,6vw,90px); padding:70px 0 36px; }
.rv-layout .ovb-faq .rv-faq { border-top:1px solid var(--ps-line); border-radius:0; background:transparent; margin:0; }
.rv-layout .ovb-faq summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0; cursor:pointer; font-size:17px; line-height:1.5; list-style:none; color:var(--ps-ink); }
.rv-layout .ovb-faq summary::-webkit-details-marker { display:none; }
.rv-layout .ovb-faq .rv-faq__answer { padding:0 0 20px; }
.rv-layout .ovb-faq .rv-faq__answer p { margin:0; font-size:14px; }
.rv-layout .ovb-close { padding:18px 0 46px; }
.rv-layout .ovb-sources { border-top:1px solid var(--ps-line); padding-top:24px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 28px; }
.rv-layout .ovb-sources p { font-size:12px; margin:0; }
.rv-layout .ovb-sources > div { display:flex; flex-wrap:wrap; gap:24px; }
.rv-layout .ovb-sources a { color:var(--ps-muted); font-size:12px; text-underline-offset:4px; }
.rv-layout .ovb-investment { margin-top:30px; padding:26px; border:1px solid #d4d8ca; border-radius:4px; }
.rv-layout .ovb-investment h3 { font:500 23px/1.3 var(--font-body); color:#183b40; margin:0 0 12px; }
.rv-layout .ovb-investment p { font-size:14px; line-height:1.8; color:#596960; margin:0 0 16px; }
.rv-layout .ovb-investment a { font-size:14px; color:#183b40; text-underline-offset:5px; }
.rv-layout .ovb-page :is(a,summary):focus-visible { outline:2px solid #9c875b; outline-offset:5px; }
@media(max-width:900px) {
 .rv-layout .ovb-hero { grid-template-columns:minmax(0,1fr) minmax(0,.5fr); gap:30px; }
 .rv-layout .ovb-brand { min-height:260px; padding:30px 8px; }
 .rv-layout .ovb-process ol { grid-template-columns:1fr 1fr; gap:32px; }
}
@media(max-width:650px) {
 .rv-layout .ovb-hero { grid-template-columns:1fr; padding-top:12px; padding-bottom:44px; }
 .rv-layout .ovb-brand { min-height:0; padding:20px 0; flex-direction:row; gap:25px; justify-content:flex-start; }
 .rv-layout .ovb-brand img { width:115px; }
 .rv-layout .ovb-brand span { text-align:start; max-width:160px; font-size:12px; }
 .rv-layout .ovb-lead { font-size:16px; }
 .rv-layout .ovb-service-grid,.rv-layout .ovb-complements,.rv-layout .ovb-model-grid,.rv-layout .ovb-faq { grid-template-columns:1fr; gap:20px; }
 .rv-layout .ovb-complements { padding-block:35px; }

 .rv-layout .ovb-model { padding-top:42px; }
 .rv-layout .ovb-legal { display:block; padding:24px; }
 .rv-layout .ovb-legal > a { display:inline-block; margin-top:20px; }
 .rv-layout .ovb-faq { padding-top:46px; }
}
@media(max-width:380px) { .rv-layout .ovb-process ol { grid-template-columns:1fr; } }


/* MEDLA: fiscal-planner.css */
/* The price remains legible before enhancement; the calculator is entirely local. */
.rv-layout .fiscal-planner { padding-block: 48px 65px; color: #193d36; }
.rv-layout .fp-heading { max-width: 770px; margin-bottom: 36px; }
.rv-layout .fp-heading h2 { margin: 0 0 18px; font: 500 clamp(30px,3.4vw,46px)/1.17 var(--font-body); letter-spacing: -.035em; }
.rv-layout .fp-heading p { margin: 0; color: #56675c; font: 400 16px/1.85 var(--font-body); }
.rv-layout .fp-profile > h3 { margin: 0 0 18px; font: 500 25px/1.3 var(--font-body); }
.rv-layout .fp-profile + .fp-profile { margin-top: 32px; }
.rv-layout .fp-plan-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.rv-layout .fp-plan { padding: 25px; border: 1px solid #d4d9c9; border-radius: 10px; background: #f9f8f1; min-width: 0; }
.rv-layout .fp-plan.is-selected { border-color: #4b725c; box-shadow: inset 0 0 0 1px #4b725c; background: #e7ebdf; }
.rv-layout .fp-plan h4 { margin: 0 0 18px; font: 500 21px/1.3 var(--font-body); }
.rv-layout .fp-plan > p { margin: 10px 0; font: 400 14px/1.7 var(--font-body); }
.rv-layout .fp-plan .fp-price { color: #183f35; font: 500 clamp(25px,2.5vw,34px)/1.3 var(--font-body); letter-spacing: -.035em; }
.rv-layout .fp-price span { display: block; margin-top: 3px; font: 400 13px/1.5 var(--font-body); letter-spacing: 0; }
.rv-layout .fp-plan .fp-gross { color: #4c6053; font-size: 13px; }
.rv-layout .fp-plan-link, .rv-layout .fp-choose { display: inline-block; margin-top: 17px; border: 0; background: transparent; padding: 0 0 3px; color: #264f3e; font: 500 14px/1.5 var(--font-body); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.rv-layout .fp-workspace { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(290px,.75fr); gap: 36px; margin-top: 45px; padding-top: 38px; border-top: 1px solid #d2d6c9; align-items: start; }
.rv-layout .fp-workspace h3 { margin: 0 0 24px; font: 500 25px/1.3 var(--font-body); letter-spacing: -.025em; }
.rv-layout .fp-control-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.rv-layout .fp-inputs label:not(.fp-check) { display: grid; gap: 8px; margin-bottom: 12px; font: 500 14px/1.6 var(--font-body); }
.rv-layout .fp-inputs :is(input[type=number],select) { width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid #bfcaba; border-radius: 6px; color: #234939; background: #fffef8; font: 400 16px/1.5 var(--font-body); }
.rv-layout .fp-help { margin: 10px 0 20px; color: #5a6c5e; font: 400 12px/1.8 var(--font-body); }
.rv-layout .fp-check { display: flex; align-items: start; gap: 11px; margin: 15px 0; color: #284e3d; font: 400 14px/1.6 var(--font-body); cursor: pointer; }
.rv-layout .fp-check input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; accent-color: #406a50; }
.rv-layout .fp-check small { display: block; margin-top: 3px; color: #627164; font-size: 12px; }
.rv-layout .fp-extras { min-width: 0; border: 0; padding: 0; margin: 25px 0 18px; }
.rv-layout .fp-extras legend { font: 500 17px/1.5 var(--font-body); }
.rv-layout .fp-rules { padding-top: 15px; border-top: 1px solid #d2d8ca; }
.rv-layout .fp-rules summary { cursor: pointer; font: 500 14px/1.6 var(--font-body); }
.rv-layout .fp-rules p { color: #607160; font: 400 12px/1.8 var(--font-body); }
.rv-layout .fp-summary { padding: 28px; border-radius: 10px; background: #e3e9da; }
.rv-layout .fp-selected-name { margin: 0 0 21px; font: 500 16px/1.5 var(--font-body); }
.rv-layout .fp-breakdown { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 18px; margin: 0; }
.rv-layout .fp-breakdown dt { color: #49624f; font: 400 13px/1.6 var(--font-body); }
.rv-layout .fp-breakdown dd { margin: 0; text-align: end; font: 500 13px/1.6 var(--font-body); }
.rv-layout .fp-total { display: grid; gap: 9px; margin: 24px 0; padding-top: 22px; border-top: 1px solid #c2cdb9; }
.rv-layout .fp-total span { font: 400 13px/1.6 var(--font-body); }
.rv-layout .fp-total strong { font: 500 clamp(27px,2.6vw,36px)/1.25 var(--font-body); letter-spacing: -.03em; }
.rv-layout .fp-summary .btn { display: flex; justify-content: center; white-space: normal; text-align: center; padding: 14px 18px; }
.rv-layout .fp-summary .btn[aria-disabled=true] { opacity: .5; pointer-events: none; }
.rv-layout .fp-error { color: #7d352b; font: 500 14px/1.8 var(--font-body); }
.rv-layout .fp-scope { padding-top: 26px; max-width: 930px; }
.rv-layout .fp-scope p { margin: 0 0 12px; color: #62715f; font: 400 12px/1.85 var(--font-body); }
.rv-layout .fp-contact-summary { margin: 0 0 28px; padding: 24px; background: #e5eadc; border-radius: 8px; }
.rv-layout .fp-contact-summary h3 { margin: 0 0 14px; font: 500 22px/1.3 var(--font-body); }
.rv-layout .fp-contact-details summary { cursor: pointer; font: 500 14px/1.6 var(--font-body); }
.rv-layout .fp-contact-details pre { white-space: pre-wrap; overflow-wrap: anywhere; margin: 18px 0; font: 400 13px/1.85 var(--font-body); }
.rv-layout .fp-append { margin-top: 15px; border: 1px solid #557457; border-radius: 5px; padding: 9px 14px; background: transparent; color: #284e3d; font: 500 13px/1.6 var(--font-body); cursor: pointer; }
.rv-layout :is(.fiscal-planner,.fp-contact-summary) :is(a,button,input,select,summary):focus-visible { outline: 2px solid #997848; outline-offset: 4px; }
.rv-layout .fiscal-planner [hidden], .rv-layout .fp-contact-summary [hidden] { display: none !important; }
@media(max-width:900px) {
 .rv-layout .fp-plan { padding: 20px; }
 .rv-layout .fp-workspace { gap: 25px; grid-template-columns: minmax(0,1fr) minmax(265px,.85fr); }
 .rv-layout .fp-control-row { grid-template-columns: 1fr; gap: 0; }
 .rv-layout .fp-summary { padding: 22px; }
}
@media(max-width:800px) {
 .rv-layout .fp-workspace { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:650px) {
 .rv-layout .fp-plan-grid,.rv-layout .fp-workspace { grid-template-columns: minmax(0,1fr); }
 .rv-layout .fp-plan { padding: 23px; }
 .rv-layout .fp-profile + .fp-profile { margin-top: 35px; }
 .rv-layout .fp-workspace { margin-top: 30px; }
 .rv-layout .fp-control-row { grid-template-columns: 1fr; }
 .rv-layout .fp-breakdown { gap: 12px; }
}
.rv-layout .fp-inclusions { margin-top: 15px; padding: 14px 0 0; }
.rv-layout .fp-inclusions summary { cursor: pointer; color: #2e543f; font: 500 14px/1.6 var(--font-body); }
.rv-layout .fp-inclusions ul { margin: 15px 0 0; padding-inline-start: 22px; columns: 2; column-gap: 35px; }
.rv-layout .fp-inclusions li { break-inside: avoid; padding: 0 0 10px; color: #596c5a; font: 400 13px/1.8 var(--font-body); }
@media(max-width:650px) { .rv-layout .fp-inclusions ul { columns: 1; } }


/* 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-page .sg-intro h1 { line-height: 1.28; }
.intl-page :is(.sg-card-copy h2,.cs-page-head h1) { line-height: 1.35; }
.intl-page :is(.sg-card-copy p,.intl-detail-copy p,.bi-prose p) { line-height: 1.9; }
.intl-page :is(.sg-intro-title,.sg-intro-aside,.sg-card-copy,.intl-detail-copy,.intl-detail-art) { min-width: 0; }
.intl-page .sg-card { text-align: start; }
.intl-page .sa-specialty-links h3 { line-height: 1.65; }
.intl-page .es-pae-badges span { letter-spacing: normal; line-height: 1.6; }
.intl-page .fiscal-planner :is(h2,h3,h4,label,p,summary,small) { line-height: 1.7; letter-spacing: normal; }
.intl-page .fp-price { unicode-bidi: plaintext; }
html[dir="rtl"] .intl-page .fp-scope { text-align: right; }
html[lang="ar"] .rv-layout.intl-page :is(.cs-page-head h1,.cs-about-section h2,.cs-contact-form h2,.cs-portal-content h1,.es-group-card h2) { line-height: 1.45; }
.intl-section-head { padding-block: 70px 32px; }
.intl-section-head h2 { font-size: clamp(28px,3.4vw,44px); margin: 0; }
.intl-home-services { padding-top: 0; }
.intl-language-note { font-size: 14px; line-height: 1.9; color: #536965; max-width: 75ch; margin-block: 22px; }
.intl-page .cs-page-head .intl-language-note { font-size: 14px; }
.intl-back { padding-top: 28px; }
.intl-back a { color: #536965; text-underline-offset: .3em; }
.intl-detail-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(240px,.7fr); gap: clamp(30px,6vw,90px); align-items: start; padding-bottom: 55px; }
.intl-detail-copy > section + section { margin-top: 44px; }
.intl-detail-copy h2 { font-size: clamp(23px,2.4vw,32px); line-height: 1.5; margin: 0 0 18px; }
.intl-detail-copy p { margin: 0 0 20px; }
.intl-detail-copy ul { padding-inline-start: 1.3em; line-height: 1.9; }
.intl-detail-copy li + li { margin-top: 10px; }
.intl-detail-copy .intl-scope-note { font-size: 14px; color: #586b67; }
.intl-detail-art { aspect-ratio: 1; position: sticky; top: 130px; margin: 0; overflow: hidden; border-radius: 12px; background: #eceee5; }
.intl-detail-art .sv-scene { position: absolute; inset: 0; width: 100%; height: 100%; }
.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-faq-page { max-width: 940px; padding-bottom: 70px; }
.intl-faq { padding-block: 22px; border-bottom: 1px solid rgba(23,55,59,.16); }
.intl-faq:first-child { border-top: 1px solid rgba(23,55,59,.16); }
.intl-faq summary { font-size: 18px; font-weight: 600; cursor: pointer; line-height: 1.6; padding-inline-end: 12px; }
.intl-faq p { line-height: 1.9; padding-inline-start: 1em; margin: 18px 0 0; }
.intl-faq summary:focus-visible { outline: 2px solid #80704f; outline-offset: 5px; }
.intl-reading { padding-bottom: 80px; }
.intl-reading > p { max-width: 72ch; line-height: 1.9; margin-bottom: 32px; }
.intl-guide-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; margin-bottom: 36px; }
.intl-guide-links a { padding: 28px; border: 1px solid rgba(23,55,59,.18); border-radius: 10px; text-decoration: none; transition: background .2s; }
.intl-guide-links a:hover { background: #e9ece3; }
.intl-guide-links h2 { font-size: 22px; line-height: 1.5; margin: 0 0 18px; }
.intl-guide-links span { font-size: 14px; color: #536965; }
.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) {
  .intl-detail-grid { grid-template-columns: minmax(0,1fr); }
  .intl-detail-art { display: none; }
  .intl-guide-links { grid-template-columns: minmax(0,1fr); }
  .intl-page .sg-intro h1 { font-size: clamp(34px,6vw,54px); }
}
@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-card-copy h2 { font-size: 22px; }
  .intl-page .sg-card-copy p { font-size: 14px; }
  .intl-page .sg-actions { gap: 14px; }
  .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; }
  .intl-faq summary { font-size: 17px; }
  html[dir="rtl"] .intl-page .rv-mega { inset-inline: auto; }
}
@media (prefers-reduced-motion: reduce) { .intl-guide-links a { transition: none; } }


/* MEDLA: guides-resources.css */
/* The guides have a download purpose; articles retain their own reading archive. */
.gr-hub,.gr-detail{padding-block:clamp(2rem,5vw,5rem) clamp(4rem,7vw,7rem)}
.gr-head{max-width:880px;margin-block-end:clamp(2.5rem,5vw,4.5rem)}
.gr-head h1{font-size:clamp(2.5rem,5.5vw,5.25rem);line-height:1.08;letter-spacing:-.045em;font-weight:500;margin:0 0 1.4rem;color:#173740}
.gr-head p{font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.75;max-width:650px;color:#536166;margin:0}
.gr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem)}
.gr-card{min-width:0}.gr-card>a{display:block;color:inherit;text-decoration:none;height:100%}
.gr-card-art{margin:0;aspect-ratio:1.3;background:#edece5;border-radius:10px;overflow:hidden;display:grid;place-items:center}
.gr-card-art .tv-scene{width:100%;height:100%;transition:transform .5s ease}.gr-card>a:hover .tv-scene{transform:scale(1.03)}
.gr-card-copy{padding-block:1.5rem}.gr-card h2{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.22;font-weight:500;letter-spacing:-.02em;margin:0 0 .8rem}
.gr-card p{font-size:.98rem;line-height:1.7;color:#536166;margin:0 0 1.2rem}.gr-card-action{display:inline-block;font-size:.9rem;border-bottom:1px solid #9b8c69;padding-block-end:.3rem}
.gr-reading{border-top:1px solid #d9dcd7;margin-block-start:3rem;padding-block-start:1.7rem;display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;align-items:center;font-size:.95rem}
.gr-reading p{margin:0}.gr-reading a,.gr-back{color:inherit;text-underline-offset:5px}.gr-back{display:inline-block;font-size:.88rem;margin-block-end:2rem}
.gr-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.gr-preview figure{max-width:480px;aspect-ratio:1.65;margin:0 0 2rem;border-radius:10px;background:#eeede6;overflow:hidden;display:grid;place-items:center}
.gr-preview figure .tv-scene{width:100%;height:100%}.gr-preview h2,.guide-form h2{font-size:1.5rem;font-weight:500;margin:0 0 1rem;letter-spacing:-.02em}
.gr-preview-list{list-style:none;margin:0;padding:0;max-width:480px}.gr-preview-list li{border-bottom:1px solid #dfe2dc;padding:.9rem 0;line-height:1.5}
.gr-format,.gr-form-note{font-size:.92rem;line-height:1.65;color:#536166}.gr-format{max-width:450px;margin-block-start:1.5rem}
.guide-form{background:#fff;border:1px solid #e0e3dd;border-radius:12px;padding:clamp(1.4rem,3vw,2.4rem);min-width:0}
.gr-form-note{margin:0 0 1.5rem}.gr-field{display:grid;gap:.45rem;margin-block-end:1.1rem}.gr-field label{font-size:.92rem;font-weight:500}
.gr-field input{min-height:48px;width:100%;border:1px solid #bdc6c3;border-radius:5px;background:#fff;color:#173740;padding:.8rem;font:inherit}
.gr-field input:focus{outline:2px solid #857649;outline-offset:2px}.gr-field input[aria-invalid=true]{border-color:#aa302d}
.gr-checkbox{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.4rem .65rem;align-items:start;margin-block:1.1rem;font-size:.82rem;line-height:1.6}
.gr-checkbox input{width:18px;height:18px;margin:.15rem 0 0;accent-color:#173740}.gr-checkbox a{color:inherit;text-decoration:underline;text-underline-offset:3px}.gr-checkbox .gr-error{grid-column:2}
.gr-error{color:#a32d29;font-size:.8rem}.gr-error:empty{display:none}.gr-status{font-size:.9rem;line-height:1.6;margin:1rem 0 0}.gr-status:empty{display:none}
.guide-form .btn{min-height:48px;white-space:normal;width:100%;justify-content:center;text-align:center}.guide-form .btn[disabled]{opacity:.55;cursor:wait}.guide-form [hidden]{display:none!important}
.gr-download{margin-block-start:1rem}.es-archive-language{max-width:760px;font-size:.9rem;line-height:1.6;color:#66716f;margin-block:1.5rem 0}.es-post-language{font-size:.78rem;color:#66716f;margin-top:.8rem}
html[dir=rtl] .gr-head h1{letter-spacing:0;line-height:1.35}html[lang=zh-Hans] .gr-head h1{letter-spacing:0;line-height:1.25}
@media(max-width:900px){.gr-grid{grid-template-columns:1fr}.gr-card>a{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:1.5rem;align-items:center}.gr-card-copy{padding:0}.gr-detail-grid{gap:2.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:650px){.gr-detail-grid{grid-template-columns:1fr}.gr-card>a{display:block}.gr-card-copy{padding-block:1.3rem}.gr-card-art{aspect-ratio:1.8}.gr-preview figure{aspect-ratio:2;max-width:none}.gr-head h1{font-size:2.7rem}.gr-reading{display:block}.gr-reading a{display:block;margin-top:.7rem}}
@media(prefers-reduced-motion:reduce){.gr-card-art .tv-scene{transition:none;transform:none!important}}


/* MEDLA: immigration.css */
/* Immigration: one readable route from context to a considered next step. */
.rv-layout .iq-handoff-fallback { min-width: 0; width: 100%; margin-block: 22px 8px; padding: 20px; border: 1px solid #c7cfc0; border-radius: 15px; background: #f5f5eb; color: #173b3f; }
.rv-layout .iq-handoff-fallback label { display: block; font: 400 14px/1.7 var(--font-body); }
.rv-layout .iq-handoff-fallback textarea { display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 180px; margin: 13px 0; padding: 14px; border: 1px solid #bac4b3; border-radius: 9px; background: #fffef9; color: #173b3f; font: 400 16px/1.75 var(--font-body); resize: vertical; white-space: pre-wrap; overflow-wrap: anywhere; }
.rv-layout .iq-handoff-fallback :is(a,textarea):focus-visible { outline: 2px solid #173b3f; outline-offset: 4px; }
.rv-layout .iq-contact-summary { min-width: 0; margin-block: 0 24px; padding: 22px; border: 1px solid #cbd2c2; border-radius: 15px; background: #edf0e5; color: #173b3f; }
.rv-layout .iq-contact-summary h3 { margin: 0 0 9px; font: 500 19px/1.4 var(--font-body); letter-spacing: -.02em; }
.rv-layout .iq-contact-summary p { max-width: 70ch; margin: 0; font: 400 13px/1.75 var(--font-body); }
.rv-layout .iq-contact-summary .fp-append { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; padding: 10px 15px; border: 1px solid #a5b398; border-radius: 999px; background: #fffef9; color: #173b3f; font: 500 13px/1.5 var(--font-body); text-align: start; cursor: pointer; }
.rv-layout .iq-contact-summary .fp-append:hover { background: #e0e8d6; }
.rv-layout .iq-contact-summary .fp-append:focus-visible { outline: 2px solid #173b3f; outline-offset: 4px; }
.rv-layout .iq-contact-summary [hidden] { display: none; }
@media(max-width:520px) { .rv-layout :is(.iq-contact-summary,.iq-handoff-fallback) { padding: 17px; } }

.rv-layout :is(.im-page, .im-hub, .iq-section) {
  --im-paper: #faf9f3;
  --im-ink: #173b3f;
  --im-muted: #52665f;
  --im-gold: #a6946a;
  --im-line: #d6d9cb;
  --im-soft: #eeeede;
  color: var(--im-ink);
  font-family: var(--font-body);
  font-style: normal;
}
.rv-layout :is(.im-page, .im-hub) { background: var(--im-paper); padding-bottom: 52px; }
.rv-layout :is(.im-page, .im-hub, .iq-section) [hidden] { display: none !important; }
.rv-layout :is(.im-page, .im-hub, .iq-section) :is(h1, h2, h3, h4, h5, p) { overflow-wrap: break-word; }
.rv-layout :is(.im-page, .im-hub, .iq-section) :is(a, button, summary, input):focus-visible {
  outline: 2px solid #173b3f;
  outline-offset: 5px;
}
.rv-layout :is(.im-page, .im-hub, .iq-section) :is(h1, h2, h3, em) { font-style: normal; }
.rv-layout :is(.im-page, .im-hub) :is(.im-section, .im-services, .im-process, .im-faq, .im-related, .im-final, .im-sources),
.rv-layout :is(.iq-section, .iq-shell, .im-service-group, .im-scope) { scroll-margin-top: 112px; }
.rv-layout :is(.im-page, .im-hub) .rv-breadcrumb { margin-bottom: 0; }
.rv-layout .im-breadcrumb.rv-shell { display: flex; flex-wrap: wrap; align-items: center; gap: 0 18px; padding: 14px 0 0; border: 0; background: transparent; color: #617167; font: 400 11px/1.8 var(--font-body); }
.rv-layout .im-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: #36554a; text-underline-offset: 4px; }
.rv-layout .im-breadcrumb a:hover { text-decoration: underline; }
.rv-layout .im-breadcrumb > span { min-width: 0; padding-block: 12px; }

/* The copy and the complete visual each retain their own space. */
.rv-layout .im-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  align-items: center;
  gap: clamp(30px, 5.5vw, 78px);
  padding-block: clamp(36px, 5vw, 72px) clamp(36px, 4.7vw, 64px);
}
.rv-layout .im-hero > * { min-width: 0; }
.rv-layout .im-hero-copy { padding-block: 4px; }
.rv-layout :is(.im-eyebrow, .im-hero-copy > .rv-kicker) {
  display: block;
  margin: 0 0 20px;
  color: #74613c;
  font: 500 12px/1.6 var(--font-body);
  letter-spacing: .015em;
  text-transform: none;
}
.rv-layout .im-hero h1 {
  max-width: 20ch;
  margin: 0 0 24px;
  color: var(--im-ink);
  font: 500 clamp(37px, 3.85vw, 56px)/1.13 var(--font-body);
  letter-spacing: -.045em;
  text-wrap: balance;
}
.rv-layout :is(.im-lead, .im-hero-copy > p:not(.im-eyebrow):not(.rv-kicker):not(.im-language-note)) {
  max-width: 57ch;
  margin: 0 0 27px;
  color: var(--im-muted);
  font: 400 clamp(15px, 1.25vw, 17px)/1.85 var(--font-body);
  text-wrap: pretty;
}
.rv-layout .im-hero-copy > .im-language-note { margin: 19px 0 0; color: #5b6c61; font: 400 12px/1.8 var(--font-body); }
.rv-layout .im-hero-art {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  width: 100%;
  min-width: 0;
  aspect-ratio: 1.16;
  margin: 0;
  border: 1px solid #e0e1d3;
  border-radius: 13px;
  background: #e8ecdf;
  overflow: hidden;
}
.rv-layout .im-hero-art > :is(img, video, svg) { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }
.rv-layout .im-hero-art .sv-scene { min-height: 0; width: 100%; height: 100%; aspect-ratio: inherit; background: transparent; }
.rv-layout .im-hero-art .sv-scene-caption { display: none; }
.rv-layout .im-hero-art .sv-stage { inset: 8% 11%; }
.rv-layout .im-hero-art .ts-object { padding: 15px; transform-origin: center; }
.rv-layout .im-hero-art figcaption { position: absolute; inset: auto 24px 22px; margin: 0; color: var(--im-muted); font: 400 12px/1.6 var(--font-body); }
.rv-layout .im-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 27px; }
.rv-layout :is(.im-actions > .btn, .im-primary, .iq-shell > [data-iq-start]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  max-width: 100%;
  padding: 14px 23px;
  border: 1px solid #173b3f;
  border-radius: 4px;
  background: #173b3f;
  color: #faf9f3;
  font: 500 14px/1.5 var(--font-body);
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease;
}
.rv-layout :is(.im-actions > .btn, .im-primary, .iq-shell > [data-iq-start]):hover { background: #2b5051; border-color: #2b5051; color: #faf9f3; }
.rv-layout .im-actions > :is(.btn--outline, .im-secondary),
.rv-layout .im-secondary { background: transparent; border-color: #b0b9a8; color: #173b3f; }
.rv-layout .im-actions > :is(.btn--outline, .im-secondary):hover { background: #eeeee3; border-color: #74887d; color: #173b3f; }
.rv-layout .im-actions > a:not(.btn):not(.im-primary) { display: inline-flex; align-items: center; min-height: 44px; color: #234841; font: 500 14px/1.6 var(--font-body); text-decoration: underline; text-decoration-color: #a6946a; text-underline-offset: 5px; }
.rv-layout :is(.im-trust-strip, .im-benefits) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 56px);
  padding-block: 25px 31px;
  border-block: 1px solid var(--im-line);
}
.rv-layout :is(.im-trust-strip, .im-benefits) > * { min-width: 0; }
.rv-layout .im-trust-strip > span { color: #3c574c; font: 500 14px/1.7 var(--font-body); }
.rv-layout :is(.im-trust-strip, .im-benefits) :is(h2, h3, strong) { display: block; margin: 0 0 7px; color: var(--im-ink); font: 500 17px/1.45 var(--font-body); letter-spacing: -.015em; }
.rv-layout :is(.im-trust-strip, .im-benefits) p { margin: 0; color: var(--im-muted); font: 400 13px/1.75 var(--font-body); }

/* Native disclosure groups keep the service directory easy to scan. */
.rv-layout :is(.im-section, .im-services, .im-process, .im-faq, .im-related) { padding-block: clamp(42px, 5vw, 72px); }
.rv-layout .im-section-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: end; gap: 8px 50px; margin: 0 0 36px; }
.rv-layout .im-section-head > .rv-kicker { grid-column: 1 / -1; color: #74613c; font: 500 12px/1.6 var(--font-body); letter-spacing: .015em; text-transform: none; }
.rv-layout :is(.im-section-head, .im-fit, .im-scope, .im-process, .im-faq, .im-related) > h2,
.rv-layout .im-section-head > div > h2 {
  max-width: 26ch;
  margin: 0 0 14px;
  color: var(--im-ink);
  font: 500 clamp(27px, 2.65vw, 38px)/1.22 var(--font-body);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.rv-layout .im-section-head p { max-width: 60ch; margin: 0; color: var(--im-muted); font: 400 15px/1.8 var(--font-body); }
.rv-layout :is(.im-filters, .im-service-filters) { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 29px; }
.rv-layout :is(.im-filters, .im-service-filters) button {
  min-height: 44px;
  padding: 10px 17px;
  border: 1px solid #cbd2c3;
  border-radius: 24px;
  background: transparent;
  color: #36524c;
  font: 500 13px/1.5 var(--font-body);
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease;
}
.rv-layout :is(.im-filters, .im-service-filters) button:hover { background: #eeeee2; border-color: #7e9386; }
.rv-layout :is(.im-filters, .im-service-filters) button[aria-pressed="true"] { border-color: #173b3f; background: #173b3f; color: #faf9f3; }
.rv-layout .im-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.rv-layout details.im-service-group { margin: 0; border-bottom: 1px solid var(--im-line); }
.rv-layout details.im-service-group:first-of-type { border-top: 1px solid var(--im-line); }
.rv-layout .im-service-group + .im-service-group { margin-top: 0; }
.rv-layout .im-service-group > .im-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 88px; margin: 0; padding: 23px 4px; list-style: none; cursor: pointer; border-radius: 4px; }
.rv-layout .im-group-heading::-webkit-details-marker { display: none; }
.rv-layout .im-group-heading::marker { content: ""; }
.rv-layout .im-group-heading :is(h2, h3) { min-width: 0; margin: 0; color: #3b554c; font: 500 clamp(21px, 2vw, 27px)/1.4 var(--font-body); letter-spacing: -.025em; transition: color .18s ease; }
.rv-layout .im-group-heading:hover :is(h2, h3), .rv-layout .im-service-group[open] > .im-group-heading :is(h2, h3) { color: #173b3f; }
.rv-layout .im-group-toggle { position: relative; display: block; flex: 0 0 24px; width: 24px; height: 24px; color: #74613c; }
.rv-layout .im-group-toggle::before, .rv-layout .im-group-toggle::after { content: ""; position: absolute; inset: 0; margin: auto; background: currentColor; }
.rv-layout .im-group-toggle::before { width: 14px; height: 1.5px; }
.rv-layout .im-group-toggle::after { width: 1.5px; height: 14px; transform: scaleY(1); transition: transform .18s ease; }
.rv-layout .im-service-group[open] > .im-group-heading .im-group-toggle::after { transform: scaleY(0); }
.rv-layout .im-service-group > .im-service-grid { padding-block: 0 26px; }
.rv-layout .im-service-group:not([open]) > .im-service-grid { display: none; }
.rv-layout .im-service-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 26px;
  border: 1px solid #d4dacd;
  border-radius: 9px;
  background: #fffef9;
  color: var(--im-ink);
  text-decoration: none;
  transition: border-color .23s ease, box-shadow .23s ease;
}
.rv-layout .im-service-card:hover { border-color: #7d9483; box-shadow: 0 8px 20px -18px #173b3f80; }
.rv-layout .im-service-card :is(h2, h3) { margin: 0 0 13px; color: inherit; font: 500 clamp(21px, 1.9vw, 26px)/1.3 var(--font-body); letter-spacing: -.025em; text-wrap: balance; }
.rv-layout .im-service-card :is(h2, h3) a { color: inherit; text-decoration: none; }
.rv-layout .im-service-card :is(h2, h3) a:hover { text-decoration: underline; text-underline-offset: 5px; }
.rv-layout .im-service-card p { margin: 0 0 21px; color: var(--im-muted); font: 400 14px/1.75 var(--font-body); }
.rv-layout .im-service-card > :is(a, .im-service-link, .im-card-link):last-child { align-self: flex-start; margin-top: auto; min-height: 44px; display: inline-flex; align-items: center; color: #234841; font: 500 13px/1.5 var(--font-body); text-decoration: underline; text-decoration-color: #a6946a; text-underline-offset: 5px; }
.rv-layout .im-service-card > :is(small, .im-service-category) { margin: 0 0 13px; color: #74613c; font: 500 12px/1.5 var(--font-body); }
.rv-layout .im-text-link { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; color: #234841; font: 500 14px/1.7 var(--font-body); text-decoration: underline; text-decoration-color: #a6946a; text-underline-offset: 5px; }
.rv-layout .im-nie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 17px 40px; padding-block: 27px; border-block: 1px solid var(--im-line); }
.rv-layout .im-nie > div { flex: 1 1 360px; min-width: 0; }
.rv-layout .im-nie h2 { margin: 0 0 9px; color: var(--im-ink); font: 500 22px/1.4 var(--font-body); letter-spacing: -.02em; }
.rv-layout .im-nie p { max-width: 68ch; margin: 0; color: var(--im-muted); font: 400 14px/1.8 var(--font-body); }

/* The landing keeps the scope open; practical detail stays beside it. */
.rv-layout .im-content-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(240px, .75fr); gap: clamp(32px, 5.5vw, 80px); align-items: start; padding-block: clamp(42px, 5vw, 72px) 18px; }
.rv-layout :is(.im-main, .im-aside) { min-width: 0; }
.rv-layout .im-main > section + section { margin-top: 42px; }
.rv-layout .im-fit > p { max-width: 69ch; margin: 0 0 17px; color: var(--im-muted); font: 400 16px/1.85 var(--font-body); }
.rv-layout .im-fit ul { margin: 23px 0 0; padding-inline-start: 20px; color: var(--im-muted); font: 400 15px/1.85 var(--font-body); }
.rv-layout .im-fit li { padding-inline-start: 4px; margin-bottom: 12px; }
.rv-layout .im-fit li::marker { color: #8b7951; }
.rv-layout .im-scope-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 28px; }
.rv-layout .im-scope-grid > article { min-width: 0; padding-block: 23px; border-top: 1px solid var(--im-line); }
.rv-layout .im-scope-grid h3 { margin: 0 0 11px; color: var(--im-ink); font: 500 21px/1.35 var(--font-body); letter-spacing: -.025em; }
.rv-layout .im-scope-grid p { margin: 0; color: var(--im-muted); font: 400 14px/1.85 var(--font-body); }
.rv-layout .im-aside { padding: 25px 26px; border: 1px solid #d5daca; border-radius: 9px; background: #efefe4; }
.rv-layout .im-aside > * + * { margin-top: 23px; padding-top: 22px; border-top: 1px solid #cdd3c3; }
.rv-layout :is(.im-documents, .im-fees) { scroll-margin-top: 112px; }
.rv-layout :is(.im-documents, .im-fees) summary { color: var(--im-ink); font: 500 18px/1.55 var(--font-body); cursor: pointer; }
.rv-layout :is(.im-documents, .im-fees, .im-sources, .im-faq-list) summary::marker { color: #8a7547; font-size: .7em; }
.rv-layout :is(.im-documents, .im-fees) :is(p, li) { color: #52645b; font: 400 13px/1.85 var(--font-body); }
.rv-layout :is(.im-documents, .im-fees) p { margin: 16px 0 0; }
.rv-layout :is(.im-documents, .im-fees) ul { margin: 18px 0 0; padding-inline-start: 19px; }
.rv-layout :is(.im-documents, .im-fees) li + li { margin-top: 12px; }
.rv-layout :is(.im-documents, .im-fees) a { color: #234841; text-underline-offset: 4px; }
.rv-layout .im-process ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin: 27px 0 0; padding: 0; list-style: none; }
.rv-layout .im-process li { min-width: 0; padding: 22px 0 0; border-top: 2px solid #c8c9b6; }
.rv-layout .im-process li:first-child { border-top-color: #a6946a; }
.rv-layout .im-process li > span[aria-hidden] { display: none; }
.rv-layout .im-process h3 { margin: 0 0 12px; color: var(--im-ink); font: 500 22px/1.35 var(--font-body); letter-spacing: -.025em; }
.rv-layout .im-process p { margin: 0; max-width: 43ch; color: var(--im-muted); font: 400 14px/1.8 var(--font-body); }
.rv-layout .im-faq { padding-top: 20px; }
.rv-layout .im-faq-list { max-width: 920px; margin-top: 28px; }
.rv-layout .im-faq-list details { border-bottom: 1px solid var(--im-line); }
.rv-layout .im-faq-list details:first-child { border-top: 1px solid var(--im-line); }
.rv-layout .im-faq-list summary { display: list-item; list-style: disclosure-closed; padding-block: 23px; padding-inline-end: 14px; color: var(--im-ink); font: 500 17px/1.65 var(--font-body); cursor: pointer; }
.rv-layout .im-faq-list details[open] > summary { list-style: disclosure-open; color: #173b3f; }
.rv-layout .im-faq-list summary::-webkit-details-marker { display: revert; }
.rv-layout .im-faq-list summary i { display: none; }
.rv-layout .im-faq-list summary:hover { color: #526650; }
.rv-layout .im-faq-list .rv-faq__answer { max-width: 77ch; padding: 0 0 24px; color: var(--im-muted); font: 400 15px/1.85 var(--font-body); }
.rv-layout .im-faq-list :is(p, li) { max-width: 77ch; color: var(--im-muted); font: 400 15px/1.85 var(--font-body); }
.rv-layout .im-faq-list p { margin: 0 0 24px; }
.rv-layout .im-faq-list a { color: #234841; text-underline-offset: 4px; }
.rv-layout .im-related { padding-top: 14px; }
.rv-layout .im-related :is(ul, nav, .im-related-grid) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 29px; padding: 0; margin: 23px 0 0; list-style: none; }
.rv-layout .im-related > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 29px; margin-top: 23px; }
.rv-layout .im-related li { min-width: 0; }
.rv-layout .im-related a { display: flex; align-items: center; min-height: 56px; padding-block: 13px; border-bottom: 1px solid var(--im-line); color: #234841; font: 500 15px/1.65 var(--font-body); text-decoration: none; }
.rv-layout .im-related a:hover { text-decoration: underline; text-underline-offset: 5px; }
.rv-layout :is(.im-final, .im-closing) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 54px; margin-block: 12px 35px; padding: clamp(28px, 4vw, 52px); border: 0; border-radius: 12px; background: #e2e8dc; }
.rv-layout :is(.im-final, .im-closing) > div:first-child { flex: 1 1 380px; }
.rv-layout :is(.im-final, .im-closing) h2 { max-width: 24ch; margin: 0 0 17px; color: var(--im-ink); font: 500 clamp(28px, 3vw, 42px)/1.2 var(--font-body); letter-spacing: -.035em; text-wrap: balance; }
.rv-layout :is(.im-final, .im-closing) p:not(.rv-kicker) { max-width: 58ch; margin: 0; color: #486055; font: 400 15px/1.85 var(--font-body); }
.rv-layout :is(.im-final, .im-closing) .im-actions { flex: 0 1 auto; margin: 0; }
.rv-layout .im-sources { padding-block: 0 15px; }
.rv-layout .im-sources summary { display: list-item; width: fit-content; max-width: 100%; min-height: 44px; padding-block: 10px; color: #596b61; font: 400 13px/1.8 var(--font-body); cursor: pointer; }
.rv-layout .im-sources :is(p, li) { color: #596b61; font: 400 12px/1.85 var(--font-body); }
.rv-layout .im-sources ul { margin: 12px 0 0; padding-inline-start: 20px; }
.rv-layout .im-sources a { display: inline-block; padding-block: 6px; overflow-wrap: anywhere; color: #34564a; text-underline-offset: 4px; }

/* Compact native answer bubbles, with the supporting detail one step away. */
.rv-layout .iq-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; max-width: 900px; align-items: start; padding-block: clamp(42px, 5vw, 64px); }
.rv-layout .iq-section > * { min-width: 0; }
.rv-layout .iq-intro { max-width: 780px; padding-top: 0; }
.rv-layout .iq-intro h2 { max-width: 30ch; margin: 0 0 12px; color: var(--im-ink); font: 500 clamp(29px, 2.6vw, 37px)/1.25 var(--font-body); letter-spacing: -.035em; text-wrap: balance; }
.rv-layout .iq-intro > p { max-width: 66ch; margin: 0 0 8px; color: var(--im-muted); font: 400 15px/1.8 var(--font-body); }
.rv-layout .iq-intro > .rv-kicker { color: #74613c; font-size: 12px; font-weight: 500; letter-spacing: .015em; text-transform: none; }
.rv-layout .iq-intro > :is(.iq-privacy, .iq-scope) { color: #5a6b61; font-size: 12px; line-height: 1.85; }
.rv-layout .iq-about { margin-top: 2px; }
.rv-layout :is(.iq-about, .iq-checks) > summary { display: flex; align-items: center; gap: 13px; min-height: 44px; max-width: 100%; padding-block: 10px; list-style: none; color: #486151; font: 500 12px/1.8 var(--font-body); cursor: pointer; }
.rv-layout .iq-about > summary { width: fit-content; }
.rv-layout :is(.iq-about, .iq-checks) > summary::marker { content: ""; }
.rv-layout :is(.iq-about, .iq-checks) > summary::-webkit-details-marker { display: none; }
.rv-layout :is(.iq-about, .iq-checks) > summary::after { content: ""; flex: 0 0 14px; width: 14px; height: 14px; background: linear-gradient(currentColor, currentColor) center / 12px 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 12px no-repeat; transition: background-size .18s ease; }
.rv-layout :is(.iq-about, .iq-checks)[open] > summary::after { background-size: 12px 1px, 1px 0; }
.rv-layout .iq-about p { max-width: 70ch; margin: 0 0 9px; color: #5a6b61; font: 400 12px/1.8 var(--font-body); }
.rv-layout .iq-shell { min-width: 0; padding: clamp(24px, 3vw, 36px); border: 1px solid #d6dccf; border-radius: 22px; background: #fffef9; box-shadow: none; }
.rv-layout .iq-shell > p { margin: 0 0 23px; color: var(--im-muted); font: 400 15px/1.85 var(--font-body); }
.rv-layout .iq-shell > .iq-question { max-width: 35ch; margin: 0 0 11px; color: var(--im-ink); font: 500 clamp(23px, 2vw, 28px)/1.35 var(--font-body); letter-spacing: -.025em; }
.rv-layout .iq-shell > .iq-hint { max-width: 74ch; margin: 0 0 17px; font-size: 13px; line-height: 1.8; }
.rv-layout .iq-progress { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 24px; color: #52665f; font: 500 12px/1.6 var(--font-body); }
.rv-layout .iq-progress :is(p, span, label) { margin: 0; }
.rv-layout :is(.iq-progress-track, .iq-progress-bar) { position: relative; flex: 1 1 130px; height: 3px; border-radius: 3px; background: #e0e5d8; overflow: hidden; }
.rv-layout :is(.iq-progress-track, .iq-progress-bar) > span { display: block; width: var(--iq-progress, 20%); height: 100%; background: #a6946a; border-radius: inherit; transition: width .25s ease; }
.rv-layout .iq-progress progress { flex: 1 1 130px; width: 100%; height: 4px; border: 0; accent-color: #a6946a; background: #e0e5d8; }
.rv-layout .iq-progress progress::-webkit-progress-bar { background: #e0e5d8; border-radius: 3px; }
.rv-layout .iq-progress progress::-webkit-progress-value { background: #a6946a; border-radius: 3px; }
.rv-layout .iq-progress progress::-moz-progress-bar { background: #a6946a; }
.rv-layout .iq-step { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.rv-layout .iq-step :is(h2, h3, legend) { float: none; width: 100%; margin: 0 0 13px; padding: 0; color: var(--im-ink); font: 500 clamp(24px, 2.15vw, 30px)/1.3 var(--font-body); letter-spacing: -.025em; }
.rv-layout .iq-step > p { margin: 0 0 22px; max-width: 65ch; color: var(--im-muted); font: 400 14px/1.8 var(--font-body); }
.rv-layout .iq-options { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; margin: 18px 0 0; padding: 0; border: 0; min-inline-size: 0; }
.rv-layout .iq-option { display: flex; flex: 0 1 auto; align-items: center; gap: 10px; min-width: 0; max-inline-size: 100%; min-height: 48px; padding: 12px 18px; border: 1px solid #cbd3c4; border-radius: 999px; background: #fafbf5; color: #173b3f; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.rv-layout .iq-option:hover { border-color: #8c9d8c; background: #f0f2e6; }
.rv-layout .iq-option:focus-within { outline: 2px solid #173b3f; outline-offset: 3px; }
.rv-layout .iq-option input[type="radio"] { flex: 0 0 16px; position: static; appearance: auto; -webkit-appearance: radio; width: 16px; height: 16px; margin: 0; padding: 0; border: 0; border-radius: 50%; accent-color: #a6946a; opacity: 1; cursor: pointer; clip: auto; }
.rv-layout .iq-option input[type="radio"]:focus { outline: none; }
.rv-layout .iq-option > span { min-width: 0; color: inherit; font: 500 14px/1.6 var(--font-body); overflow-wrap: anywhere; }
.rv-layout .iq-option :is(small, .iq-option-hint) { display: block; color: inherit; font: 400 12px/1.75 var(--font-body); }
.rv-layout .iq-option input:checked + span { color: inherit; }
.rv-layout .iq-option:has(input:checked) { border-color: #a6946a; background: #173b3f; color: #faf9f3; box-shadow: 0 0 0 1px #a6946a; }
.rv-layout .iq-option:has(input:disabled) { cursor: not-allowed; background: #f0f1e9; color: #62715e; box-shadow: none; }
.rv-layout .iq-nav { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 20px; margin-top: 24px; padding-top: 0; border-top: 0; }
.rv-layout .iq-nav > :only-child { margin-inline-start: auto; }
.rv-layout .iq-nav :is(button, a) { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; max-inline-size: 100%; padding: 11px 22px; border: 1px solid #173b3f; border-radius: 999px; background: #173b3f; color: #faf9f3; font: 500 14px/1.5 var(--font-body); text-align: center; white-space: normal; text-decoration: none; cursor: pointer; transition: background-color .18s ease, border-color .18s ease; }
.rv-layout .iq-nav :is(.iq-back, [data-iq-back]) { border-color: #d6dccf; background: transparent; color: #36554a; padding-inline: 18px; text-decoration: none; }
.rv-layout .iq-nav :is(button, a):hover { background: #2b5051; color: #faf9f3; }
.rv-layout .iq-nav :is(.iq-back, [data-iq-back]):hover { background: #f0f2e6; color: #173b3f; }
.rv-layout .iq-nav button:disabled { background: #e5e9de; border-color: #d1d9c8; color: #62715e; cursor: not-allowed; }
.rv-layout .iq-results { display: grid; gap: 16px; }
.rv-layout .iq-results > :is(h2, h3) { margin: 0 0 2px; color: var(--im-ink); font: 500 clamp(25px, 2.3vw, 32px)/1.3 var(--font-body); letter-spacing: -.025em; }
.rv-layout .iq-results > p { margin: 0 0 7px; color: var(--im-muted); font: 400 14px/1.8 var(--font-body); }
.rv-layout .iq-result { min-width: 0; padding: 24px; border: 1px solid #c7d1c0; border-radius: 8px; background: #f3f5eb; }
.rv-layout .iq-result :is(h3, h4) { margin: 0 0 13px; color: var(--im-ink); font: 500 23px/1.35 var(--font-body); letter-spacing: -.025em; }
.rv-layout .iq-result h5 { margin: 21px 0 10px; color: #385549; font: 500 14px/1.65 var(--font-body); }
.rv-layout .iq-result :is(p, li) { margin-block: 0 13px; color: #52665b; font: 400 14px/1.8 var(--font-body); }
.rv-layout .iq-result :is(.iq-result-label, small) { display: block; margin: 0 0 10px; color: #74613c; font: 500 12px/1.7 var(--font-body); }
.rv-layout .iq-result ul { padding-inline-start: 19px; margin: 15px 0; }
.rv-layout .iq-result :is(a, button) { display: inline-flex; align-items: center; min-height: 44px; color: #234841; font: 500 14px/1.65 var(--font-body); text-underline-offset: 5px; }
.rv-layout .iq-result .im-primary { color: #faf9f3; }
.rv-layout .iq-result .im-actions { margin-top: 17px; gap: 9px 20px; }
.rv-layout .iq-checks { margin-block: 16px 4px; border-top: 1px solid #d5ddce; }
.rv-layout .iq-checks > summary { justify-content: space-between; font-size: 13px; }
.rv-layout .iq-checks ul { margin-block: 6px 17px; }
.rv-layout .iq-checks :is(p, li) { font-size: 13px; }
.rv-layout .iq-notice { margin: 22px 0 0; padding-inline-start: 15px; border-inline-start: 2px solid #a6946a; color: #5c695e; font: 400 12px/1.85 var(--font-body); }
.rv-layout .iq-summary { margin-top: 8px; padding-top: 17px; border-top: 1px solid #d6dece; }
.rv-layout .iq-summary summary { width: fit-content; max-width: 100%; min-height: 44px; padding-block: 10px; color: #365649; font: 500 13px/1.8 var(--font-body); cursor: pointer; }
.rv-layout .iq-summary :is(ul, ol, dl) { margin: 13px 0 0; padding-inline-start: 18px; color: #5a6a60; font: 400 13px/1.85 var(--font-body); }
.rv-layout .iq-summary dl { padding-inline-start: 0; }
.rv-layout .iq-summary dt { margin-top: 10px; color: #28483e; font-weight: 500; }
.rv-layout .iq-summary dd { margin: 3px 0 0; }
.rv-layout .iq-summary :is(a, button) { min-height: 44px; color: #234841; font: 500 13px/1.6 var(--font-body); text-underline-offset: 4px; }
.rv-layout .iq-results > .rv-kicker { margin: 0; color: #74613c; font: 500 12px/1.7 var(--font-body); letter-spacing: .015em; text-transform: none; }
.rv-layout .iq-results .iq-alternative { margin: 6px 0 0; font-size: 13px; }
.rv-layout .iq-results .iq-alternative a { display: inline; font-size: inherit; }
.rv-layout .iq-restart { justify-self: start; min-height: 44px; max-width: 100%; padding: 8px 0; border: 0; background: transparent; color: #52685c; font: 400 12px/1.7 var(--font-body); text-align: start; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.rv-layout .iq-sources { max-width: 900px; margin-top: -21px; padding-bottom: 15px; }
.rv-layout .iq-sources summary { display: list-item; width: fit-content; max-width: 100%; min-height: 44px; padding-block: 10px; color: #596b61; font: 400 12px/1.8 var(--font-body); cursor: pointer; }
.rv-layout .iq-sources :is(p, li) { color: #596b61; font: 400 12px/1.85 var(--font-body); }
.rv-layout .iq-sources ul { margin: 12px 0 0; padding-inline-start: 20px; }
.rv-layout .iq-sources a { display: inline-block; padding-block: 6px; overflow-wrap: anywhere; color: #34564a; text-underline-offset: 4px; }
.rv-layout .iq-error { margin: 18px 0 0; color: #884627; font: 500 13px/1.7 var(--font-body); }

@media (min-width: 1001px) and (min-height: 800px) {
  .rv-layout .im-aside { position: sticky; top: 120px; }
}
@media (min-width: 1101px) {
  .rv-layout .im-service-grid:has(> .im-service-card:nth-child(2):last-child),
  .rv-layout .im-service-grid:has(> .im-service-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .rv-layout .im-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rv-layout .im-content-layout { gap: 34px; }
  .rv-layout .im-aside { padding: 23px; }
  .rv-layout .im-hero { gap: 34px; }
}
@media (max-width: 1000px) {
  .rv-layout .iq-section { gap: 20px; }
  .rv-layout .iq-intro > p { max-width: 66ch; }
}
@media (max-width: 800px) {
  .rv-layout .im-hero { grid-template-columns: minmax(0, 1fr); gap: 29px; padding-block: 34px 37px; }
  .rv-layout .im-hero h1 { max-width: 23ch; font-size: clamp(35px, 6.2vw, 46px); }
  .rv-layout .im-hero-art { aspect-ratio: 1.7; max-height: 340px; }
  .rv-layout .im-hero-art .sv-scene { aspect-ratio: auto; min-height: 260px; }
  .rv-layout .im-hero-art .sv-stage { inset: 6% 20%; }
  .rv-layout .im-content-layout { grid-template-columns: minmax(0, 1fr); gap: 29px; }
  .rv-layout .im-aside { max-width: none; }
  .rv-layout .im-process ol { gap: 23px; }
  .rv-layout .im-process h3 { font-size: 20px; }
  .rv-layout .im-trust-strip { gap: 24px; }
  .rv-layout .im-final { gap: 24px; }
}
@media (max-width: 700px) {
  body:has(.iq-shell:focus-within) :is(.wa-fab, .consent-chat-launcher) { visibility: hidden; pointer-events: none; }
}
@media (max-width: 600px) {
  .rv-layout :is(.im-page, .im-hub) { padding-bottom: 30px; }
  .rv-layout .im-hero h1 { max-width: 20ch; font-size: clamp(33px, 9vw, 42px); line-height: 1.16; letter-spacing: -.035em; margin-bottom: 20px; }
  .rv-layout .im-eyebrow { margin-bottom: 16px; }
  .rv-layout :is(.im-lead, .im-hero-copy > p:not(.im-eyebrow):not(.rv-kicker):not(.im-language-note)) { font-size: 15px; line-height: 1.8; }
  .rv-layout .im-hero-art { aspect-ratio: 1.35; max-height: 280px; border-radius: 9px; }
  .rv-layout .im-hero-art .sv-scene { min-height: 0; }
  .rv-layout .im-hero-art .sv-stage { inset: 7% 12%; }
  .rv-layout .im-hero-art .ts-object { padding: 9px; }
  .rv-layout .im-actions { align-items: flex-start; gap: 8px 19px; margin-top: 23px; }
  .rv-layout :is(.im-actions > .btn, .im-primary) { min-height: 50px; padding-inline: 20px; font-size: 13px; }
  .rv-layout :is(.im-trust-strip, .im-benefits) { grid-template-columns: minmax(0, 1fr); gap: 19px; padding-block: 24px; }
  .rv-layout :is(.im-trust-strip, .im-benefits) :is(h2, h3, strong) { font-size: 16px; margin-bottom: 4px; }
  .rv-layout :is(.im-trust-strip, .im-benefits) p { font-size: 13px; }
  .rv-layout :is(.im-section, .im-services, .im-process, .im-faq, .im-related) { padding-block: 35px; }
  .rv-layout .im-section-head { grid-template-columns: minmax(0, 1fr); margin-bottom: 26px; gap: 13px; }
  .rv-layout .im-section-head > h2 { margin-bottom: 0; }
  .rv-layout .im-service-group > .im-group-heading { min-height: 76px; gap: 17px; padding-block: 20px; }
  .rv-layout .im-group-heading :is(h2, h3) { font-size: 21px; }
  .rv-layout .im-service-group > .im-service-grid { padding-bottom: 21px; }
  .rv-layout :is(.im-section-head, .im-fit, .im-scope, .im-process, .im-faq, .im-related) > h2,
  .rv-layout .im-section-head > div > h2 { font-size: 28px; line-height: 1.25; }
  .rv-layout :is(.im-filters, .im-service-filters) { gap: 7px; margin-bottom: 23px; }
  .rv-layout :is(.im-filters, .im-service-filters) button { padding-inline: 14px; font-size: 12px; }
  .rv-layout .im-service-grid { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .rv-layout .im-service-card { padding: 24px; }
  .rv-layout .im-service-card :is(h2, h3) { font-size: 24px; }
  .rv-layout .im-content-layout { padding-block: 36px 0; }
  .rv-layout .im-main > section + section { margin-top: 30px; }
  .rv-layout .im-fit > p { font-size: 15px; }
  .rv-layout .im-scope-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .rv-layout .im-scope-grid > article { padding-block: 22px; }
  .rv-layout .im-aside { padding: 23px; }
  .rv-layout .im-process ol { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .rv-layout .im-process li { padding-top: 18px; }
  .rv-layout .im-process h3 { font-size: 22px; margin-bottom: 9px; }
  .rv-layout .im-process p { max-width: none; }
  .rv-layout .im-faq { padding-top: 18px; }
  .rv-layout .im-faq-list { margin-top: 22px; }
  .rv-layout .im-faq-list summary { font-size: 16px; padding-block: 20px; }
  .rv-layout .im-faq-list :is(p, li) { font-size: 14px; }
  .rv-layout .im-related { padding-top: 4px; }
  .rv-layout .im-related :is(ul, nav, .im-related-grid), .rv-layout .im-related > div { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 15px; }
  .rv-layout :is(.im-final, .im-closing) { margin-block: 8px 25px; padding: 27px 24px; border-radius: 9px; }
  .rv-layout :is(.im-final, .im-closing) h2 { font-size: 29px; }
  .rv-layout :is(.im-final, .im-closing) p:not(.rv-kicker) { font-size: 14px; }
  .rv-layout .iq-section { gap: 17px; padding-block: 36px; }
  .rv-layout .iq-intro h2 { font-size: 30px; }
  .rv-layout .iq-intro > p { font-size: 14px; }
  .rv-layout .iq-shell { padding: 23px 18px; border-radius: 19px; }
  .rv-layout .iq-progress { margin-bottom: 21px; gap: 12px 19px; }
  .rv-layout .iq-step :is(h2, h3, legend) { font-size: 24px; }
  .rv-layout .iq-shell > .iq-question { font-size: 23px; }
  .rv-layout .iq-options { gap: 9px; margin-top: 16px; }
  .rv-layout .iq-option { min-height: 46px; padding: 11px 15px; gap: 9px; }
  .rv-layout .iq-option > span { font-size: 13px; }
  .rv-layout .iq-nav { margin-top: 22px; }
  .rv-layout .iq-nav :is(button, a) { font-size: 13px; padding-inline: 17px; }
  .rv-layout .iq-nav :is(.iq-back, [data-iq-back]) { padding-inline: 15px; }
  .rv-layout .iq-result { padding: 22px 19px; }
  .rv-layout .iq-result :is(h3, h4) { font-size: 22px; }
  .rv-layout .iq-notice { margin-top: 20px; padding-inline-start: 12px; }
}
/* Arabic and CJK keep natural spacing while sharing the same component grid. */
html[lang="ar"] .rv-layout :is(.im-page, .im-hub, .iq-section) :is(h1, h2, h3, h4, h5, legend) { letter-spacing: 0; line-height: 1.45; }
html[lang="zh-Hans"] .rv-layout :is(.im-page, .im-hub, .iq-section) :is(h1, h2, h3, h4, h5, legend) { letter-spacing: 0; line-height: 1.4; text-wrap: pretty; }
html[dir="rtl"] .rv-layout :is(.im-page, .im-hub, .iq-section) { text-align: start; }
html[dir="rtl"] .rv-layout .im-hero-art { direction: ltr; }
@media (prefers-reduced-motion: no-preference) {
  .rv-layout .iq-step:not([hidden]), .rv-layout .iq-results:not([hidden]) { animation: iq-step-in .22s ease-out both; }
  @keyframes iq-step-in { from { opacity: .65; transform: translateY(5px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
  .rv-layout :is(.im-page, .im-hub, .iq-section) *,
  .rv-layout :is(.im-page, .im-hub, .iq-section) *::before,
  .rv-layout :is(.im-page, .im-hub, .iq-section) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .rv-layout .iq-option:has(input:checked) { border: 2px solid Highlight; box-shadow: none; }
  .rv-layout :is(.iq-progress-track, .iq-progress-bar) > span { background: Highlight; }
}


/* 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; }
.rv-layout .pr-page {
  --pr-paper: #faf9f3;
  --pr-ink: #173b3f;
  --pr-muted: #52655e;
  --pr-accent: #74613c;
  --pr-wash: #efeee2;
  --pr-line: #d4d8ca;
  --pr-space: clamp(42px, 5vw, 70px);
  color: var(--pr-ink);
  background: var(--pr-paper);
  font-family: var(--font-body);
  padding-bottom: 32px;
}
.rv-layout .pr-page[data-practice="fiscal"] { --pr-accent: #56694d; --pr-wash: #edf0e4; --pr-line: #c7d0b9; }
.rv-layout .pr-page[data-practice="civil"] { --pr-accent: #826653; --pr-wash: #f2eae1; --pr-line: #d9cabb; }
.rv-layout .pr-page[data-practice="laboral"] { --pr-accent: #466e5c; --pr-wash: #e7eee4; --pr-line: #c0cfc0; }
.rv-layout .pr-page[data-practice="penal"] { --pr-accent: #695a60; --pr-wash: #eee8e7; --pr-line: #cec2c3; }
.rv-layout .pr-page[data-practice="administrativo"] { --pr-accent: #536d7a; --pr-wash: #e8edf0; --pr-line: #c2d0d7; }
.rv-layout .pr-page[data-practice="mercantil"] { --pr-accent: #716746; --pr-wash: #efeddf; --pr-line: #d2ccb5; }
.rv-layout .pr-page[data-practice="otros"] { --pr-accent: #7b624e; --pr-wash: #f1e9de; --pr-line: #d8cab7; }
.rv-layout .pr-page [hidden] { display: none !important; }
.rv-layout .pr-page :is(h1, h2, h3, h4, p, li, a, summary) { overflow-wrap: break-word; }
.rv-layout .pr-page :is(h1, h2, h3, h4, em) { font-family: var(--font-body); font-style: normal; }
.rv-layout .pr-page :is(a, button, summary):focus-visible { outline: 2px solid #173b3f; outline-offset: 5px; }
.rv-layout .pr-page :is(section[id], details[id], .pr-explorer, .pr-faq, .pr-close) { scroll-margin-top: 116px; }
.rv-layout .pr-page .rv-kicker { color: var(--pr-accent); font: 500 12px/1.7 var(--font-body); letter-spacing: .015em; text-transform: none; }
.rv-layout .pr-breadcrumb.rv-shell { padding: 14px 0 0; border: 0; background: transparent; color: var(--pr-muted); font: 400 11px/1.8 var(--font-body); }
.rv-layout .pr-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: #36554a; }

/* Original institutional artwork, displayed on the page without a enclosing panel. */
.rv-layout .es-pae { scroll-margin-top:116px; }
.rv-layout .es-pae-identity {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);
  align-items:center; gap:24px 48px; padding:28px 36px;
  border:0; border-radius:0; background:transparent;
}
.rv-layout .es-pae-identity .es-credential { display:flex; align-items:center; justify-content:center; min-width:0; margin:0; }
.rv-layout .es-credential img { display:block; max-width:100%; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.rv-layout .es-credential--pae img { width:108px; }
.rv-layout .es-credential--aeat img { width:310px; }
@media(max-width:520px) {
  .rv-layout .es-pae-identity { grid-template-columns:minmax(0,1fr); gap:24px; padding:24px; }
  .rv-layout .es-credential--pae img { width:88px; }
  .rv-layout .es-credential--aeat img { width:270px; }
}

/* Compact hero; the existing vector is given a complete, quiet frame. */
.rv-layout .pr-hero { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); align-items: center; gap: clamp(30px, 5.5vw, 78px); padding-block: clamp(36px, 5vw, 68px); }
.rv-layout .pr-hero > * { min-width: 0; }
.rv-layout .pr-hero-copy > .rv-kicker { margin: 0 0 19px; }
.rv-layout .pr-hero h1 { max-width: 21ch; margin: 0 0 24px; color: var(--pr-ink); font: 500 clamp(37px, 3.9vw, 57px)/1.14 var(--font-body); letter-spacing: -.04em; text-wrap: balance; }
.rv-layout .pr-lead { max-width: 60ch; margin: 0; color: var(--pr-muted); font: 400 clamp(15px, 1.25vw, 17px)/1.85 var(--font-body); }
.rv-layout .pr-hero-copy .pr-enquiry-note { max-width: 55ch; margin: 16px 0 0; color: var(--pr-muted); font: 400 12px/1.75 var(--font-body); }
.rv-layout .pr-hero-art { position: relative; isolation: isolate; aspect-ratio: 1.18; min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--pr-line); border-radius: 22px; background: var(--pr-wash); }
.rv-layout .pr-hero-art > :is(img, svg, video) { display: block; width: 100%; height: 100%; object-fit: contain; }
.rv-layout .pr-hero-art .sv-scene { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; background: transparent; }
.rv-layout .pr-hero-art .sv-stage { inset: 8% 10%; }
.rv-layout .pr-hero-art .ts-object { padding: 16px; }
.rv-layout .pr-hero-art :is(.sv-scene-caption, figcaption) { display: none; }
.rv-layout .pr-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 11px 20px; margin-top: 27px; }
.rv-layout .pr-actions > a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 12px 21px; border: 1px solid var(--pr-line); border-radius: 999px; color: var(--pr-ink); background: transparent; font: 500 14px/1.55 var(--font-body); text-align: center; text-decoration: none; transition: background-color .18s ease, border-color .18s ease; }
.rv-layout .pr-actions > :is(a:first-child, .btn--gold, .btn--teal, .pr-primary) { border-color: #173b3f; background: #173b3f; color: #faf9f3; }
.rv-layout .pr-actions > a:hover { border-color: var(--pr-accent); background: var(--pr-wash); color: var(--pr-ink); }
.rv-layout .pr-actions > :is(a:first-child, .btn--gold, .btn--teal, .pr-primary):hover { border-color: #2b5051; background: #2b5051; color: #faf9f3; }

.rv-layout .pr-explorer { padding-block: 20px var(--pr-space); }
.rv-layout .pr-heading { max-width: 820px; margin: 0 0 30px; }
.rv-layout .pr-heading > .rv-kicker { margin: 0 0 12px; }
.rv-layout :is(.pr-heading, .pr-faq, .pr-close) > h2 { max-width: 30ch; margin: 0 0 17px; color: var(--pr-ink); font: 500 clamp(28px, 2.8vw, 39px)/1.25 var(--font-body); letter-spacing: -.03em; text-wrap: balance; }
.rv-layout .pr-heading > p:not(.rv-kicker) { max-width: 70ch; margin: 0; color: var(--pr-muted); font: 400 15px/1.85 var(--font-body); }
.rv-layout .pr-groups { min-width: 0; }
.rv-layout .pr-page .pr-group { position: relative; display: block; min-width: 0; margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--pr-line); background: transparent; }
.rv-layout .pr-group:first-child { border-top: 1px solid var(--pr-line); }
.rv-layout .pr-group > :is(summary, header) { position: relative; display: flex; align-items: center; gap: 20px; min-height: 86px; margin: 0; padding: 24px 3px; list-style: none; top: auto; }
.rv-layout .pr-group > summary { cursor: pointer; border-radius: 5px; }
.rv-layout .pr-group > summary::marker { content: ""; }
.rv-layout .pr-group > summary::-webkit-details-marker { display: none; }
.rv-layout .pr-page .pr-group > :is(summary, header) > h2 { flex: 1; min-width: 0; margin: 0; color: var(--pr-ink); font: 500 clamp(23px, 2.15vw, 30px)/1.35 var(--font-body); letter-spacing: -.025em; text-wrap: balance; }
.rv-layout :is(.pr-toggle, .pr-detail-toggle) { position: relative; display: block; flex: 0 0 24px; width: 24px; height: 24px; color: var(--pr-accent); }
.rv-layout :is(.pr-toggle, .pr-detail-toggle)::before,
.rv-layout :is(.pr-toggle, .pr-detail-toggle)::after { content: ""; position: absolute; inset: 0; margin: auto; background: currentColor; }
.rv-layout :is(.pr-toggle, .pr-detail-toggle)::before { width: 14px; height: 1.5px; }
.rv-layout :is(.pr-toggle, .pr-detail-toggle)::after { width: 1.5px; height: 14px; transform: scaleY(1); transition: transform .18s ease; }
.rv-layout :is(.pr-group, .pr-planner, .pr-detail-section, .pr-detail-documents)[open] > summary :is(.pr-toggle, .pr-detail-toggle)::after { transform: scaleY(0); }
.rv-layout .pr-group-body { min-width: 0; padding: 0 3px 29px; }
.rv-layout details.pr-group:not([open]) > .pr-group-body { display: none; }
.rv-layout .pr-group-lead { max-width: 75ch; margin: 0 0 21px; color: var(--pr-muted); font: 400 14px/1.8 var(--font-body); }
.rv-layout .pr-page .pr-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.rv-layout .pr-page .pr-links > a { display: flex; align-items: center; min-width: 0; min-height: 56px; padding: 15px 18px; border: 1px solid var(--pr-line); border-radius: 13px; background: #fffef9; color: var(--pr-ink); text-decoration: none; transition: border-color .18s ease, background-color .18s ease; }
.rv-layout .pr-page .pr-links > a:first-child, .rv-layout .pr-page .pr-links > a:last-child { padding-block: 15px; border: 1px solid var(--pr-line); }
.rv-layout .pr-page .pr-links h3 { max-width: none; margin: 0; color: inherit; font: 500 15px/1.65 var(--font-body); letter-spacing: -.01em; text-wrap: pretty; }
.rv-layout .pr-page .pr-links > a:hover { border-color: var(--pr-accent); background: var(--pr-wash); }
.rv-layout .pr-page .pr-links > a:hover h3 { text-decoration: underline; text-decoration-color: var(--pr-accent); text-underline-offset: 4px; }

/* Fiscal: distinct profiles, each with its own compact disclosure. */
.rv-layout .pr-page[data-practice-mode="profiles"] .pr-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 14px; }
.rv-layout .pr-page[data-practice-mode="profiles"] .pr-group { border: 1px solid var(--pr-line); border-radius: 18px; background: #fffef9; }
.rv-layout .pr-page[data-practice-mode="profiles"] .pr-group > summary { min-height: 114px; padding: 24px; }
.rv-layout .pr-page[data-practice-mode="profiles"] .pr-group > summary > h2 { font-size: clamp(21px, 1.9vw, 25px); }
.rv-layout .pr-page[data-practice-mode="profiles"] .pr-group[open] { background: var(--pr-wash); }
.rv-layout .pr-page[data-practice-mode="profiles"] .pr-group-body { padding: 0 22px 22px; }
.rv-layout .pr-page[data-practice-mode="profiles"] .pr-links { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.rv-layout .pr-page[data-practice-mode="profiles"] .pr-group-lead { font-size: 13px; }

/* Civil: generous, calm reading rows. */
.rv-layout .pr-page[data-practice-mode="calm"] .pr-explorer { max-width: 1020px; }
.rv-layout .pr-page[data-practice-mode="calm"] .pr-group > summary { min-height: 100px; padding-block: 31px; }
.rv-layout .pr-page[data-practice-mode="calm"] .pr-group-body { padding-bottom: 34px; }
.rv-layout .pr-page[data-practice-mode="calm"] .pr-links > a { background: transparent; border-radius: 999px; padding-inline: 22px; }
.rv-layout .pr-page[data-practice-mode="calm"] .pr-links > a:hover { background: var(--pr-wash); }

/* Employment and administrative work: simple service groups. */
.rv-layout .pr-page:is([data-practice-mode="stages"], [data-practice-mode="timeline"]) .pr-group { border: 0; border-bottom: 1px solid var(--pr-line); }
.rv-layout .pr-page:is([data-practice-mode="stages"], [data-practice-mode="timeline"]) .pr-group > summary { gap: 23px; padding-inline: 0; }
.rv-layout .pr-page:is([data-practice-mode="stages"], [data-practice-mode="timeline"]) .pr-group-body { margin-inline-start: 0; padding-bottom: 29px; }
.rv-layout .pr-page[data-practice-mode="timeline"] .pr-group-body { padding-inline-start: 0; }

/* Criminal: the useful service links are immediately available. */
.rv-layout .pr-page[data-practice-mode="direct"] .pr-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.rv-layout .pr-page[data-practice-mode="direct"] .pr-group { padding: 27px; border: 1px solid var(--pr-line); border-radius: 17px; background: var(--pr-wash); }
.rv-layout .pr-page[data-practice-mode="direct"] .pr-group > header { min-height: 0; padding: 0 0 20px; }
.rv-layout .pr-page[data-practice-mode="direct"] .pr-group > header > h2 { font-size: clamp(23px, 2.1vw, 29px); }
.rv-layout .pr-page[data-practice-mode="direct"] .pr-group-body { padding: 0; }
.rv-layout .pr-page[data-practice-mode="direct"] .pr-links { grid-template-columns: minmax(0, 1fr); }

/* Business: a two-column set of working areas. Other services: two clear choices. */
.rv-layout .pr-page:is([data-practice-mode="business"], [data-practice-mode="choices"]) .pr-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 17px; }
.rv-layout .pr-page:is([data-practice-mode="business"], [data-practice-mode="choices"]) .pr-group { border: 1px solid var(--pr-line); border-radius: 19px; background: #fffef9; }
.rv-layout .pr-page:is([data-practice-mode="business"], [data-practice-mode="choices"]) .pr-group > summary { min-height: 132px; padding: 28px; }
.rv-layout .pr-page:is([data-practice-mode="business"], [data-practice-mode="choices"]) .pr-group-body { padding: 0 27px 27px; }
.rv-layout .pr-page:is([data-practice-mode="business"], [data-practice-mode="choices"]) .pr-links { grid-template-columns: minmax(0, 1fr); }
.rv-layout .pr-page[data-practice-mode="business"] .pr-group > summary { border-block-start: 3px solid var(--pr-line); border-radius: 18px; }
.rv-layout .pr-page[data-practice-mode="business"] .pr-group[open] > summary { border-block-start-color: var(--pr-accent); }
.rv-layout .pr-page[data-practice-mode="choices"] .pr-group { background: var(--pr-wash); border-color: transparent; border-radius: 26px; }
.rv-layout .pr-page[data-practice-mode="choices"] .pr-group > summary { min-height: 155px; }
.rv-layout .pr-page[data-practice-mode="choices"] .pr-group > summary > h2 { font-size: clamp(26px, 2.5vw, 34px); }

/* The fiscal tool is available on demand with its existing controls intact. */
.rv-layout .pr-planner { margin-block: 0 var(--pr-space, 58px); padding: 0; border: 1px solid var(--pr-line, #c7d0b9); border-radius: 20px; background: #fffef9; scroll-margin-top: 120px; }
.rv-layout .pr-planner > summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 82px; padding: 23px 28px; list-style: none; cursor: pointer; }
.rv-layout .pr-planner > summary::marker { content: ""; }
.rv-layout .pr-planner > summary::-webkit-details-marker { display: none; }
.rv-layout .pr-planner-title { min-width: 0; color: var(--pr-ink, #173b3f); font: 500 clamp(20px, 2vw, 27px)/1.4 var(--font-body); letter-spacing: -.02em; }
.rv-layout .pr-planner-body { min-width: 0; padding: 0 27px 27px; }
.rv-layout .pr-planner-note { max-width: 75ch; margin: 0 0 22px; color: var(--pr-muted, #52655e); font: 400 14px/1.85 var(--font-body); }
.rv-layout .pr-planner:not([open]) > .pr-planner-body { display: none; }
.rv-layout .pr-planner .fiscal-planner.rv-shell { width: 100%; max-width: none; margin: 0; padding-inline: 0; border: 0; }
.rv-layout .pr-planner .fp-grid { min-width: 0; }
.rv-layout .pr-planner .fiscal-planner > :first-child { margin-top: 0; }

.rv-layout .pr-faq { max-width: 1000px; padding-block: 8px var(--pr-space); }
.rv-layout .pr-faq > h2 { margin-bottom: 28px; }
.rv-layout .pr-faq details { border-bottom: 1px solid var(--pr-line); }
.rv-layout .pr-faq details:first-of-type { border-top: 1px solid var(--pr-line); }
.rv-layout .pr-faq summary { min-height: 60px; padding-block: 21px; color: var(--pr-ink); font: 500 16px/1.7 var(--font-body); cursor: pointer; }
.rv-layout .pr-faq summary::marker { color: var(--pr-accent); font-size: .7em; }
.rv-layout .pr-faq p { max-width: 78ch; margin: 0 0 24px; color: var(--pr-muted); font: 400 15px/1.85 var(--font-body); }
.rv-layout .pr-close { padding: clamp(28px, 4vw, 49px); margin-block: 0 22px; border: 1px solid var(--pr-line); border-radius: 23px; background: var(--pr-wash); }
.rv-layout .pr-close > p { max-width: 68ch; margin: 0; color: var(--pr-muted); font: 400 15px/1.85 var(--font-body); }
.rv-layout .pr-close > div > h2 { max-width: 30ch; margin: 0 0 17px; color: var(--pr-ink); font: 500 clamp(28px, 2.8vw, 39px)/1.25 var(--font-body); letter-spacing: -.03em; text-wrap: balance; }
.rv-layout .pr-close > div > p:not(.rv-kicker) { max-width: 68ch; margin: 0; color: var(--pr-muted); font: 400 15px/1.85 var(--font-body); }
.rv-layout .pr-close .pr-actions { margin-top: 23px; }

/* Detail pages inherit the practice tone without replacing their anchored navigation. */
.rv-layout .pr-detail .rv-intro:not(.sv-area-intro) { padding-block: clamp(32px, 4.6vw, 60px); background: transparent; }
.rv-layout .pr-detail .rv-intro h1, .rv-layout .pr-detail .intl-intro h1 { max-width: 24ch; margin: 18px 0 23px; color: var(--pr-ink); font: 500 clamp(37px, 4vw, 57px)/1.16 var(--font-body); letter-spacing: -.035em; }
.rv-layout .pr-detail .rv-intro__lead, .rv-layout .pr-detail .intl-intro p { max-width: 71ch; color: var(--pr-muted); font: 400 16px/1.85 var(--font-body); }
.rv-layout .pr-detail .rv-intro em { font-style: normal; color: inherit; }
.rv-layout .pr-detail .es-detail-intro { padding: 0; background: transparent; }
.rv-layout .pr-detail .es-detail-intro > .rv-shell { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); min-height: 0; align-items: center; gap: clamp(30px, 5.5vw, 78px); padding-block: clamp(36px, 5vw, 68px); }
.rv-layout .pr-detail .es-detail-intro .rv-intro__copy { padding: 0; }
.rv-layout .pr-detail .es-detail-intro .rv-intro__image { position: relative; min-height: 0; height: auto; aspect-ratio: 1.18; margin: 0; overflow: hidden; border: 1px solid var(--pr-line); border-radius: 22px; background: var(--pr-wash); }
.rv-layout .pr-detail .es-detail-intro .rv-intro__image .sv-scene { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; background: transparent; }
.rv-layout .pr-detail .es-detail-intro .sv-scene-caption { display: none; }
.rv-layout .pr-detail .rv-breadcrumb { background: transparent; border: 0; }
.rv-layout .pr-detail .rv-section-nav { background: #faf9f3f5; border-color: var(--pr-line); gap: 8px 14px; }
.rv-layout .pr-detail .rv-section-nav a { min-height: 44px; padding: 9px 17px; border-radius: 999px; color: #35514b; font: 500 12px/1.65 var(--font-body); text-decoration: none; }
.rv-layout .pr-detail .rv-section-nav a:last-child { margin-inline-start: 0; }
.rv-layout .pr-detail .rv-section-nav a:hover, .rv-layout .pr-detail .rv-section-nav a[aria-current] { background: var(--pr-wash); color: var(--pr-ink); }
.rv-layout .pr-detail .es-detail-layout { padding-block: var(--pr-space) 40px; }
.rv-layout .pr-detail .es-detail-aside { padding: 26px; border-color: var(--pr-line); border-radius: 18px; background: var(--pr-wash); }
.rv-layout .pr-detail :is(.ls-detail-content, .ls-related, .intl-detail-copy) h2 { color: var(--pr-ink); font: 500 clamp(27px, 2.6vw, 36px)/1.3 var(--font-body); letter-spacing: -.025em; }
.rv-layout .pr-detail .ls-topics { display: block; }
.rv-layout .pr-detail .pr-detail-section { display: block; margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--pr-line); }
.rv-layout .pr-detail .pr-detail-section:first-child { border-top: 1px solid var(--pr-line); }
.rv-layout .pr-detail :is(.pr-detail-section, .pr-detail-documents) > summary { display: flex; align-items: center; justify-content: space-between; gap: 19px; min-height: 68px; padding-block: 20px; list-style: none; color: var(--pr-ink); cursor: pointer; }
.rv-layout .pr-detail :is(.pr-detail-section, .pr-detail-documents) > summary::marker { content: ""; }
.rv-layout .pr-detail :is(.pr-detail-section, .pr-detail-documents) > summary::-webkit-details-marker { display: none; }
.rv-layout .pr-detail .pr-detail-section > summary h3 { margin: 0; color: var(--pr-ink); font: 500 clamp(21px, 2vw, 27px)/1.4 var(--font-body); letter-spacing: -.02em; }
.rv-layout .pr-detail .pr-detail-section > p { max-width: 71ch; margin: 0; padding-bottom: 25px; color: var(--pr-muted); font: 400 15px/1.85 var(--font-body); }
.rv-layout .pr-detail .pr-detail-documents { min-width: 0; margin: 0; padding: 0 0 17px; border: 0; background: transparent; }
.rv-layout .pr-detail .pr-detail-documents > summary { min-height: 48px; padding-block: 0 13px; }
.rv-layout .pr-detail .pr-detail-documents > summary > h2 { margin: 0; color: var(--pr-ink); font: 500 21px/1.45 var(--font-body); letter-spacing: -.015em; }
.rv-layout .pr-detail .pr-detail-documents > ul { margin: 12px 0 0; padding-inline: 19px 0; }
.rv-layout .pr-detail .pr-detail-documents li { padding-inline: 2px 0; color: var(--pr-muted); font: 400 14px/1.8 var(--font-body); }
.rv-layout .pr-detail .pr-detail-documents li::marker { color: var(--pr-accent); }
.rv-layout .pr-detail .es-detail-aside :is(.ls-fees, .ls-sources) { border-color: var(--pr-line); }
.rv-layout .pr-detail .es-detail-aside :is(.ls-fees, .ls-sources) summary { min-height: 44px; padding-block: 8px; }
.rv-layout .pr-detail .ls-related-links { gap: 10px; }
.rv-layout .pr-detail .ls-related-links > a { min-height: 55px; padding: 14px 18px; border: 1px solid var(--pr-line); border-radius: 13px; background: #fffef9; color: var(--pr-ink); }
.rv-layout .pr-detail .ls-related-links > a:hover { background: var(--pr-wash); }
.rv-layout .pr-detail .ls-related-links :is(span, h3) { font: 500 15px/1.65 var(--font-body); }
.rv-layout .pr-detail .intl-detail-art { border: 1px solid var(--pr-line); border-radius: 22px; background: var(--pr-wash); }
.rv-layout .pr-detail .intl-detail-art .sv-scene { background: transparent; }
.rv-layout .pr-detail .intl-detail-copy { min-width: 0; }
.rv-layout .pr-detail .intl-detail-copy > .pr-detail-documents { margin-block: 29px; padding: 24px; border: 1px solid var(--pr-line); border-radius: 17px; background: var(--pr-wash); }
.rv-layout .pr-detail .intl-detail-copy > .pr-detail-documents > summary { padding-bottom: 0; }
.rv-layout .pr-detail .intl-detail-copy > section + section { margin-top: 37px; }
.rv-layout .pr-detail .intl-closing { padding-block: 40px 55px; border-color: var(--pr-line); }
.rv-layout .pr-detail :is(.intl-faq, .rv-faq) { border-color: var(--pr-line); }
.rv-layout .pr-detail :is(.intl-faq, .rv-faq) summary { color: var(--pr-ink); font: 500 16px/1.7 var(--font-body); }

/* Existing directory and home cards pick up the same restrained area accents. */
.rv-layout .sg-card--fiscal { --pr-card-line: #c7d0b9; --pr-card-ink: #56694d; }
.rv-layout .sg-card--civil { --pr-card-line: #d9cabb; --pr-card-ink: #826653; }
.rv-layout .sg-card--laboral { --pr-card-line: #c0cfc0; --pr-card-ink: #466e5c; }
.rv-layout .sg-card--penal { --pr-card-line: #cec2c3; --pr-card-ink: #695a60; }
.rv-layout .sg-card--administrativo { --pr-card-line: #c2d0d7; --pr-card-ink: #536d7a; }
.rv-layout .sg-card--mercantil { --pr-card-line: #d2ccb5; --pr-card-ink: #716746; }
.rv-layout .sg-card--otros { --pr-card-line: #d8cab7; --pr-card-ink: #7b624e; }
.rv-layout .sg-card:is(.sg-card--fiscal, .sg-card--civil, .sg-card--laboral, .sg-card--penal, .sg-card--administrativo, .sg-card--mercantil, .sg-card--otros) { border-color: var(--pr-card-line); }
.rv-layout .sg-card:is(.sg-card--fiscal, .sg-card--civil, .sg-card--laboral, .sg-card--penal, .sg-card--administrativo, .sg-card--mercantil, .sg-card--otros) .sg-card-copy :is(h2, h3) { color: var(--pr-card-ink); }

@media (max-width: 1100px) {
  .rv-layout .pr-hero { gap: 34px; }
  .rv-layout .pr-page[data-practice-mode="profiles"] .pr-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rv-layout .pr-page:is([data-practice-mode="business"], [data-practice-mode="choices"]) .pr-group > summary { padding: 24px; }
  .rv-layout .pr-page:is([data-practice-mode="business"], [data-practice-mode="choices"]) .pr-group-body { padding: 0 23px 23px; }
}
@media (max-width: 800px) {
  .rv-layout .pr-hero { grid-template-columns: minmax(0, 1fr); gap: 27px; padding-block: 34px 39px; }
  .rv-layout .pr-hero h1 { max-width: 24ch; font-size: clamp(35px, 6vw, 46px); }
  .rv-layout .pr-hero-art { aspect-ratio: 1.65; max-height: 340px; }
  .rv-layout .pr-hero-art .sv-stage { inset: 6% 20%; }
  .rv-layout .pr-page[data-practice-mode="direct"] .pr-groups { grid-template-columns: minmax(0, 1fr); }
  .rv-layout .pr-detail .es-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .rv-layout .pr-detail .es-detail-intro > .rv-shell { grid-template-columns: minmax(0, 1fr); gap: 27px; padding-block: 34px 39px; }
  .rv-layout .pr-detail .es-detail-intro .rv-intro__image { aspect-ratio: 1.65; max-height: 340px; }
  .rv-layout .pr-detail .es-detail-aside { padding: 24px; }
  .rv-layout .pr-detail .intl-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .rv-layout .pr-planner-body { padding: 0 22px 23px; }
}
@media (max-width: 600px) {
  .rv-layout .pr-page { --pr-space: 38px; padding-bottom: 23px; }
  .rv-layout .pr-hero h1 { font-size: clamp(33px, 8.7vw, 42px); line-height: 1.18; margin-bottom: 20px; }
  .rv-layout .pr-lead { font-size: 15px; line-height: 1.8; }
  .rv-layout .pr-hero-art { aspect-ratio: 1.35; max-height: 280px; border-radius: 18px; }
  .rv-layout .pr-hero-art .sv-stage { inset: 7% 12%; }
  .rv-layout .pr-hero-art .ts-object { padding: 10px; }
  .rv-layout .pr-actions { gap: 9px 13px; margin-top: 23px; }
  .rv-layout .pr-actions > a { font-size: 13px; padding: 12px 18px; }
  .rv-layout .pr-explorer { padding-top: 10px; }
  .rv-layout .pr-heading { margin-bottom: 23px; }
  .rv-layout :is(.pr-heading, .pr-faq, .pr-close) > h2 { font-size: 29px; }
  .rv-layout .pr-heading > p:not(.rv-kicker) { font-size: 14px; }
  .rv-layout .pr-group > :is(summary, header) { min-height: 76px; gap: 15px; padding-block: 21px; }
  .rv-layout .pr-page .pr-group > :is(summary, header) > h2 { font-size: 22px; }
  .rv-layout .pr-group-body { padding-bottom: 23px; }
  .rv-layout .pr-group-lead { font-size: 13px; }
  .rv-layout .pr-page .pr-links { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .rv-layout .pr-page .pr-links > a { min-height: 53px; padding-inline: 16px; }
  .rv-layout .pr-page .pr-links h3 { font-size: 14px; }
  .rv-layout .pr-page:is([data-practice-mode="profiles"], [data-practice-mode="business"], [data-practice-mode="choices"]) .pr-groups { grid-template-columns: minmax(0, 1fr); gap: 11px; }
  .rv-layout .pr-page:is([data-practice-mode="profiles"], [data-practice-mode="business"], [data-practice-mode="choices"]) .pr-group > summary { min-height: 92px; padding: 23px; }
  .rv-layout .pr-page[data-practice-mode="calm"] .pr-group > summary { min-height: 87px; padding-block: 26px; }
  .rv-layout .pr-page:is([data-practice-mode="stages"], [data-practice-mode="timeline"]) .pr-group > summary { gap: 14px; }
  .rv-layout .pr-page:is([data-practice-mode="stages"], [data-practice-mode="timeline"]) .pr-group-body { margin-inline-start: 0; }
  .rv-layout .pr-page[data-practice-mode="timeline"] .pr-group-body { padding-inline-start: 0; border: 0; }
  .rv-layout .pr-page[data-practice-mode="direct"] .pr-group { padding: 23px; }
  .rv-layout .pr-page[data-practice-mode="choices"] .pr-group { border-radius: 21px; }
  .rv-layout .pr-planner { border-radius: 17px; }
  .rv-layout .pr-planner > summary { padding: 21px; gap: 15px; }
  .rv-layout .pr-planner-title { font-size: 20px; }
  .rv-layout .pr-planner-body { padding: 0 17px 21px; }
  .rv-layout .pr-faq summary { font-size: 15px; }
  .rv-layout .pr-faq p { font-size: 14px; }
  .rv-layout .pr-close { padding: 27px 24px; border-radius: 19px; }
  .rv-layout .pr-close > p { font-size: 14px; }
  .rv-layout .pr-close > div > h2 { font-size: 29px; }
  .rv-layout .pr-close > div > p:not(.rv-kicker) { font-size: 14px; }
  .rv-layout .pr-detail .rv-intro h1, .rv-layout .pr-detail .intl-intro h1 { font-size: 35px; line-height: 1.2; }
  .rv-layout .pr-detail .rv-intro__lead, .rv-layout .pr-detail .intl-intro p { font-size: 15px; }
  .rv-layout .pr-detail .es-detail-intro .rv-intro__image { aspect-ratio: 1.35; max-height: 280px; border-radius: 18px; }
  .rv-layout .pr-detail .rv-section-nav { gap: 4px 8px; }
  .rv-layout .pr-detail .rv-section-nav a { padding-inline: 12px; font-size: 11px; }
  .rv-layout .pr-detail :is(.ls-detail-content, .ls-related, .intl-detail-copy) h2 { font-size: 28px; }
  .rv-layout .pr-detail .pr-detail-section > summary h3 { font-size: 22px; }
  .rv-layout .pr-detail .pr-detail-section > p { font-size: 14px; }
  .rv-layout .pr-detail .pr-detail-documents > summary > h2 { font-size: 20px; }
  .rv-layout .pr-detail .ls-related-links { grid-template-columns: minmax(0, 1fr); }
}
html[lang="ar"] .rv-layout .pr-page :is(h1, h2, h3, h4) { letter-spacing: 0; line-height: 1.5; }
html[lang="zh-Hans"] .rv-layout .pr-page :is(h1, h2, h3, h4) { letter-spacing: 0; line-height: 1.4; text-wrap: pretty; }
html[dir="rtl"] .rv-layout .pr-page { text-align: start; }
html[dir="rtl"] .rv-layout .pr-hero-art { direction: ltr; }
@media (prefers-reduced-motion: no-preference) {
  .rv-layout .pr-group[open] > .pr-group-body { animation: pr-open .2s ease-out both; }
  @keyframes pr-open { from { opacity: .7; transform: translateY(4px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
  .rv-layout .pr-page *, .rv-layout .pr-page *::before, .rv-layout .pr-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .rv-layout .pr-page :is(.pr-group, .pr-links > a, .pr-planner, .pr-detail-documents, .pr-close) { border-color: CanvasText; }
  .rv-layout :is(.pr-toggle, .pr-detail-toggle)::before, .rv-layout :is(.pr-toggle, .pr-detail-toggle)::after { background: ButtonText; }
}

/* Keep small screens clear while a visitor is reading an expanded service. */
@media (max-width: 700px) {
  body:has(.pr-page details:focus-within) :is(.wa-fab, .consent-chat-launcher) { visibility: hidden; pointer-events: none; }
}

/* Fiscal credentials sit beside the stated scope and fees in the opening block. */
.rv-layout .pr-hero-copy .es-pae--hero { width: 100%; max-width: 460px; margin: 22px 0 0; padding: 0; }
.rv-layout .es-pae--hero .es-pae-identity { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 22px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.rv-layout .es-pae--hero .es-credential--pae img { width: 64px; height: auto; }
.rv-layout .es-pae--hero .es-credential--aeat img { width: 100%; max-width: 230px; height: auto; }
@media (max-width: 600px) {
  .rv-layout .es-pae--hero .es-pae-identity { grid-template-columns: 64px minmax(0, 1fr); gap: 18px; padding: 0; }
}

.rv-layout .es-pae--hero .es-pae-caption { margin:0 0 16px; color:var(--pr-muted,#61716b); font:500 14px/1.6 var(--font-body); }


/* 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 .sg-directory .sj-search {
  margin-top: 0;
  margin-bottom: clamp(28px, 4vw, 48px);
  padding-block: 0;
  border: 0;
}
.rv-layout .sj-search .wf-catalog-tools { display:block; padding:0; border:0; }
.rv-layout .sj-search .rv-search { display:block; width:100%; max-width:720px; border:0; padding-bottom:0; }
.rv-layout .sj-search .rv-search > span { display:block; margin-bottom:12px; font-size:15px; color:var(--ink,#18383a); }
.rv-layout .sj-search .rv-search input {
  width:100%; min-height:58px; padding:17px 22px; border:1px solid #a6946a66;
  border-radius:30px; background:#ffffffb3; font:inherit; font-size:16px; color:#18383a;
  transition:border-color .2s, box-shadow .2s;
}
.rv-layout .sj-search .rv-search input:focus { outline:2px solid #a6946a; outline-offset:3px; }
.rv-layout .sj-search .wf-results-row { margin-top:10px; min-height:0; }
.rv-layout .sj-search .wf-results-row:has(.rv-results:empty):has([data-catalog-clear][hidden]) { display:none; }
.rv-layout .sj-search .sa-directory-help { margin:12px 0 0; font-size:13px; }
.rv-layout .sj-search .wf-service-result { border-radius:14px; padding:20px; }
.rv-layout .sj-search .wf-direct-results { margin-top:22px; }
.rv-layout .sj-service select { max-width:100%; }
.rv-layout .cs-contact-form .mfield :is(input, select, textarea) { border-radius:12px; font-size:16px; }
.rv-layout .cs-contact-form .mform__actions .btn { border-radius:999px; }
.rv-layout .cs-contact-form .mfield.is-invalid :is(input, select, textarea),
.rv-layout .cs-contact-form [aria-invalid="true"] { border-color:#9c3d35; }
.rv-layout .mform:focus-within { scroll-margin-top:110px; }
@media(max-width:700px) {
  .rv-layout .sj-search .rv-search input { padding-inline:17px; font-size:16px; }
  .rv-layout .sj-search .wf-service-result { padding:16px; }
  .rv-layout .sj-search .wf-direct-results { grid-template-columns:minmax(0,1fr); }
  body:has(.mform:focus-within) :is(.wa-fab,.consent-chat-launcher) { visibility:hidden; pointer-events:none; }
}
@media(prefers-reduced-motion:reduce) { .rv-layout .sj-search .rv-search input { transition:none; } }

.rv-layout .booking-support { max-width:1050px; margin:0 auto 24px; padding:18px 22px; border:1px solid #a6946a55; border-radius:16px; background:#f8f6f0; }
.rv-layout .booking-support p { margin:0 0 12px; font-size:14px; line-height:1.6; color:#536362; }
.rv-layout .booking-support > div { display:flex; flex-wrap:wrap; gap:12px 24px; }
.rv-layout .booking-support a { display:inline-flex; min-height:44px; align-items:center; color:#18383a; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.rv-layout .booking-support a:focus-visible { outline:2px solid #a6946a; outline-offset:4px; }
.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; }
.rv-layout .mform-optional > .mform__grid { margin:14px 0 22px; }
.rv-layout .cs-contact-form .sj-service { grid-column:1/-1; }
@media(max-width:700px) { .rv-layout .booking-support { padding:16px; } }

.rv-layout .cs-contact-form .mfield:has(> select[name="tramite"]) { grid-column:1/-1; }
/* Keep the anti-spam field off the visual surface without creating RTL overflow. */
.rv-layout .mform__hp {
  position:absolute!important; left:0!important; right:auto; top:0;
  width:1px; height:1px; padding:0; margin:0; overflow:hidden;
  clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0;
}

/* Relevant services share the existing page rhythm, without another sales banner. */
.rv-layout .sj-connections { padding-block:clamp(36px,5vw,66px); color:#173b3f; }
.rv-layout .sj-connections > header { display:flex; align-items:baseline; justify-content:space-between; gap:24px 48px; margin-bottom:26px; }
.rv-layout .sj-connections > header h2 { max-width:25ch; margin:0; font:500 clamp(25px,2.7vw,34px)/1.22 var(--font-body); letter-spacing:-.025em; }
.rv-layout .sj-connections > header p { max-width:40ch; margin:0; color:#52665f; font:400 15px/1.7 var(--font-body); }
.rv-layout .sj-connection-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.rv-layout .sj-connection { display:flex; flex-direction:column; min-width:0; padding:22px 0 8px; border-top:1px solid #cfd3c5; color:inherit; text-decoration:none; }
.rv-layout .sj-connection h3 { margin:0 0 12px; font:500 21px/1.3 var(--font-body); letter-spacing:-.02em; }
.rv-layout .sj-connection p { margin:0 0 18px; max-width:43ch; color:#52665f; font:400 15px/1.75 var(--font-body); }
.rv-layout .sj-connection > span { display:flex; align-items:center; min-height:44px; margin-top:auto; font:500 14px/1.5 var(--font-body); text-decoration:underline; text-decoration-color:#a6946a; text-underline-offset:6px; }
.rv-layout .sj-connection:hover { border-color:#a6946a; }
.rv-layout .sj-connection:hover > span { color:#786442; }
.rv-layout .sj-connection:focus-visible { outline:2px solid #a6946a; outline-offset:7px; }
@media(max-width:760px) {
  .rv-layout .sj-connections > header { display:block; }
  .rv-layout .sj-connections > header p { margin-top:14px; }
  .rv-layout .sj-connection-list { grid-template-columns:minmax(0,1fr); gap:12px; }
  .rv-layout .sj-connection { padding-top:20px; }
  .rv-layout .sj-connection p { max-width:none; margin-bottom:6px; }
}


/* MEDLA: editorial-articles.css */
/* Native, authored articles with licensed editorial photography. */
.ea-languages { display:flex; gap:4px; width:max-content; padding:4px; border:1px solid #d8ddcf; border-radius:999px; margin-top:25px; }
.ea-languages a { padding:9px 22px; border-radius:999px; color:var(--ink,#173b41); font-size:14px; text-decoration:none; }
.ea-languages a[aria-current] { background:#e9dfc5; }
.rv-layout .es-blog-topics.ea-topics { display:flex; flex-wrap:wrap; gap:8px; overflow:visible; padding:0; margin-bottom:25px; }
.rv-layout .ea-topics button { display:block; width:auto; min-width:0; min-height:0; height:auto; padding:10px 17px; border:1px solid #d8ded5; border-radius:999px; background:transparent; font:400 13px/1.4 var(--font-body); color:#294d50; }
.rv-layout .ea-topics button[aria-pressed=true] { background:#183e43; color:#fff; border-color:#183e43; }
.rv-layout .ea-topics button:hover { border-color:#738681; }
.rv-layout .es-post-art:has(.ea-visual) { background:transparent; height:auto; aspect-ratio:5/3; padding:0; overflow:hidden; border-radius:10px; }
.ea-visual { display:block; width:100%; height:auto; }
.ea-draft-tag { color:#687969; font-size:11px; padding:3px 7px; border:1px solid #d5ddcf; border-radius:4px; }
.ea-draft-note { width:fit-content; max-width:100%; margin:22px 0; padding:10px 15px; border-radius:6px; background:#eee8d8; color:#665c45; font-size:12px; line-height:1.6; }
/* An editorial paper surface adds depth in the margins, keeping prose clean. */
.rv-layout .ea-article {
 position:relative;
 background:
  linear-gradient(90deg,transparent calc(50% - 428px),#fcfbf5 calc(50% - 380px),#fcfbf5 calc(50% + 380px),transparent calc(50% + 428px)),
  radial-gradient(ellipse at 0 12%,#d7c8a72b,transparent 38%),
  radial-gradient(ellipse at 100% 65%,#cbd9d229,transparent 40%),#f2f0e7;
}
/* One reading axis keeps the title, contents and prose aligned at every width. */
.rv-layout .ea-article > .rv-shell { width:calc(100% - 2 * var(--rv-gutter,24px)); max-width:760px; margin-inline:auto; }
.rv-layout .ea-header .rv-breadcrumb { padding:0; min-height:32px; background:transparent; border:0; font-size:12px; }
.ea-header { padding-top:36px; padding-bottom:30px; }
.ea-head-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; padding-top:22px; }
.ea-heading { min-width:0; }
.ea-head-grid h1 { max-width:none; font:500 clamp(32px,4.3vw,49px)/1.16 var(--font-body); letter-spacing:-.04em; color:#163b40; margin:0 0 22px; text-wrap:pretty; overflow-wrap:break-word; }
.ea-lead { max-width:none; font-size:18px; line-height:1.65; color:#566968; margin:0; }
.ea-hero-art { max-width:none; }
.ea-hero-photo { width:100%; margin:0; aspect-ratio:16/7; border-radius:8px; overflow:hidden; background:#e5e6dc; }
.ea-hero-photo .blog-photo { display:block; width:100%; height:100%; object-fit:cover; }
.rv-layout .rv-article #pb .blog-legacy-cover { margin:30px 0; aspect-ratio:16/9; border-radius:8px; overflow:hidden; }
.rv-layout .rv-article #pb .blog-legacy-cover .blog-photo { display:block; width:100%; height:100%; object-fit:cover; }
.ea-meta { display:flex; gap:7px 20px; flex-wrap:wrap; font-size:12px; line-height:1.7; color:#64736d; margin-top:22px; }
.ea-translation { display:inline-block; margin-top:15px; font-size:13px; color:#335b5c; text-underline-offset:4px; }
.ea-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:34px; padding-bottom:90px; }
.ea-sidebar { min-width:0; }
.ea-toc { position:static; border-block:1px solid #d8ddd3; font-size:14px; line-height:1.6; }
.ea-toc summary { font-size:14px; font-weight:500; color:#234a4d; cursor:pointer; padding:17px 0; }
.ea-toc summary:focus-visible,.ea-toc a:focus-visible { outline:2px solid #9d875d; outline-offset:5px; }
.ea-toc nav { display:grid; gap:4px; padding:0 0 18px; }
.ea-toc a { display:block; color:#63736e; text-decoration:none; padding:8px 13px; border-left:1px solid #d5ddce; }
.ea-toc a:hover { color:#173e43; border-color:#a38c5d; }
.ea-prose { min-width:0; color:#3d5558; font-size:18px; line-height:1.85; overflow-wrap:break-word; }
.ea-prose p { margin:0 0 23px; }
.ea-prose h2 { margin:44px 0 18px; font:500 clamp(25px,3vw,31px)/1.3 var(--font-body); color:#173e43; letter-spacing:-.025em; scroll-margin-top:120px; text-wrap:pretty; }
.ea-prose > :first-child { margin-top:0; }
.ea-prose > p:first-child { font-size:21px; line-height:1.8; color:#284d50; padding-bottom:22px; margin-bottom:32px; border-bottom:1px solid #b9a57655; }
.ea-prose > h2 { margin-top:52px; padding-top:22px; position:relative; }
.ea-prose > h2::before { content:""; position:absolute; inset-block-start:0; inset-inline-start:0; width:38px; height:2px; background:#ad9565; }
.ea-prose > h2 + p { margin-top:0; }
.ea-prose ul,.ea-prose ol { margin:0 0 28px; padding-left:24px; }
.ea-prose li { margin:8px 0; padding-left:4px; }
.ea-prose a { color:#316b6b; text-decoration-thickness:1px; text-underline-offset:4px; overflow-wrap:anywhere; }
.ea-prose strong { font-weight:600; color:#284b4e; }
.ea-sources { margin-top:44px; padding-top:10px; border-top:1px solid #d5ded3; }
.ea-sources h2 { font-size:21px; margin-top:22px; }
.ea-sources ul { padding-left:20px; }
.ea-sources li,.ea-sources p { font-size:13px; line-height:1.7; }
.ea-consult { position:relative;isolation:isolate;overflow:hidden;padding:clamp(50px,7vw,86px) 0;background:#13353a;color:#fffdf5; }
.ea-consult__image { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;z-index:-2; }
.ea-consult::before { content:"";position:absolute;inset:0;background:linear-gradient(95deg,#0e2b30f5,#102d32ce 60%,#102d32a8);z-index:-1; }
.ea-consult__inner { display:flex;align-items:center;justify-content:space-between;gap:32px; }
.ea-consult h2 { margin:0 0 18px;max-width:20ch;font:500 clamp(30px,4vw,45px)/1.18 var(--font-body);letter-spacing:-.035em;color:inherit; }
.ea-consult p { margin:0;max-width:53ch;font:400 16px/1.75 var(--font-body);color:#e1e7df; }
.rv-layout .ea-consult .btn { flex-shrink:0;background:#d1bd91;border-color:#d1bd91;color:#1d2a22; }
.rv-layout .ea-consult .btn:hover { background:#dfcca3;border-color:#dfcca3; }
.ea-prose .btn { color:white; text-decoration:none; }
.ea-related { margin-top:38px; }
.ea-related h2 { font-size:23px; }
.ea-related > a { display:block; padding:18px 0; border-bottom:1px solid #d6dfd5; text-decoration:none; font-size:17px; line-height:1.5; }
.ea-archive-empty { padding:35px 0; line-height:1.8; }
@media(max-width:650px) {
 .ea-header { padding-top:26px; padding-bottom:24px; }
 .ea-head-grid { padding-top:18px; gap:26px; }
 .ea-head-grid h1 { font-size:clamp(30px,7.7vw,42px); line-height:1.17; }
 .ea-hero-photo { aspect-ratio:16/9; }
 .ea-lead,.ea-prose { font-size:16px; }
 .ea-layout { gap:27px; padding-bottom:60px; }
 .ea-prose h2 { margin-top:35px; }
}
@media(max-width:480px) {
 .ea-meta { gap:5px 16px; }
 .ea-consult__inner { align-items:flex-start;flex-direction:column; }
 .ea-consult .btn { max-width:100%;text-align:center; }
 .rv-layout .ea-topics button { font-size:12px; padding:9px 13px; }
}
.ea-reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:9500;pointer-events:none;}.ea-reading-progress span{display:block;width:100%;height:100%;background:#b7a36e;transform:scaleX(0);transform-origin:left;}
.ea-toc a[aria-current="location"]{color:#193f43;font-weight:600;border-inline-start:2px solid #aa9464;padding-inline-start:12px;}
.ea-prose>ul,.ea-prose>ol{padding:24px 28px 24px 46px;border:0;border-inline-start:2px solid #ad9565;border-radius:0;background:linear-gradient(115deg,#ece6d7,#f3f0e7);}
.ea-prose>ul li::marker,.ea-prose>ol li::marker{color:#79633f;}
.ea-prose>blockquote{margin:30px 0;padding:24px 28px;background:#e5ebe4;border-inline-start:3px solid #b9a576;border-radius:0 12px 12px 0;}
.ea-prose h3{margin:28px 0 14px;font:500 clamp(20px,2.6vw,24px)/1.4 var(--font-body);color:#173e43;letter-spacing:-.02em;}
.ea-table-scroll{max-width:100%;overflow:auto;margin:28px 0 34px;scrollbar-width:thin;scrollbar-color:#a99a77 #eeeade;}
.ea-table-scroll:focus-visible{outline:2px solid #79633f;outline-offset:4px;}
.ea-prose table{border-collapse:collapse;width:100%;min-width:620px;font-size:15px;line-height:1.65;}
.ea-prose caption{padding:0 0 16px;text-align:start;font-weight:500;color:#284b4e;}
.ea-prose th,.ea-prose td{padding:16px;border-bottom:1px solid #d7dccc;text-align:start;vertical-align:top;}
.ea-prose thead{background:#e8e5d6;}
.ea-prose th{font-weight:500;color:#22484a;}
.ea-prose tbody tr:nth-child(even){background:#f1efe5;}
@media(prefers-reduced-motion:reduce){.ea-prose *{animation:none!important;transition:none!important;}}

@media(max-width:650px) {
 .rv-layout .ea-article { background:linear-gradient(120deg,#f5f2e8,#faf9f3 35%,#f7f7f0); }
 .ea-prose > p:first-child { font-size:18px; line-height:1.8; padding-bottom:22px; }
 .ea-prose > h2 { margin-top:40px; padding-top:20px; }
 .ea-prose>ul,.ea-prose>ol { padding:20px 20px 20px 34px; }
}


/* 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 */
.rv-layout .purchase-choice { display:inline-flex; flex-wrap:wrap; align-items:center; gap:16px 24px; max-width:100%; }
.rv-layout .purchase-link { display:inline-flex; align-items:center; min-height:44px; color:inherit; font-size:14px; line-height:1.5; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#a6946a; }
.rv-layout .purchase-link:hover { text-decoration-thickness:2px; }
.rv-layout .purchase-link:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.rv-layout .hero__content > .purchase-choice { display:flex; width:fit-content; }
.rv-layout .atlas__copy > .purchase-choice { margin-top:24px; color:#d5c398; }
.rv-layout .atlas__copy > .purchase-choice .atlas__contact { margin-top:0; }
.rv-layout .ss-footer__lead > .purchase-choice { justify-content:flex-end; }
.rv-layout .purchase-contact { margin:0 0 28px; padding:22px; border:1px solid #a6946a45; border-radius:16px; background:#f4f1e8; }
.rv-layout .purchase-contact h2 { font-size:20px; margin:0 0 8px; }
.rv-layout .purchase-contact p { margin:0 0 10px; font-size:14px; line-height:1.7; }
.rv-layout .purchase-options { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-block:40px 64px; }
.rv-layout .purchase-options article { padding:30px; border:1px solid #a6946a50; border-radius:18px; background:#f5f3eb; }
.rv-layout .purchase-options h2 { font:500 clamp(22px,2.4vw,30px)/1.2 var(--font-body); margin:0 0 16px; letter-spacing:-.035em; }
.rv-layout .purchase-options p { margin:0 0 22px; font-size:15px; line-height:1.75; max-width:52ch; }
@media(max-width:620px) {
 .rv-layout .purchase-options { grid-template-columns:1fr; gap:14px; }
 .rv-layout .purchase-options article { padding:24px; }
 .rv-layout .purchase-choice { gap:10px 18px; }
 .rv-layout .ss-footer__lead > .purchase-choice { justify-content:flex-start; }
}


/* MEDLA: europe-guides.css */
/* Europe planning articles: quiet editorial hierarchy and a compact route family. */
.eg-page{--eg-ink:#173740;--eg-gold:#a58c57;--eg-line:rgba(23,55,64,.17);padding-block:clamp(28px,5vw,76px) clamp(64px,8vw,116px);color:var(--eg-ink)}
.eg-nav{display:flex;flex-wrap:wrap;gap:8px}
.eg-nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 19px;border:1px solid var(--eg-line,rgba(23,55,64,.17));border-radius:999px;text-decoration:none;font-size:.91rem;line-height:1.3;transition:background .2s,border-color .2s;color:inherit}
.eg-nav a:hover,.eg-nav a[aria-current=page]{background:#e9e1cf;border-color:#d0bd90}
.eg-nav a:focus-visible,.eg-button:focus-visible,.eg-text-link:focus-visible,.eg-source-link:focus-visible{outline:3px solid #a58c57;outline-offset:4px}
.eg-header{padding-block:clamp(36px,6vw,76px) 36px;max-width:920px}
.eg-eyebrow{font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:#806b43;font-weight:600;margin:0 0 18px}
.eg-header h1{font-family:var(--font-display,Georgia,serif);font-size:clamp(2.25rem,4.4vw,4.1rem);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin:0 0 27px;text-wrap:balance}
.eg-lead{max-width:760px;font-size:clamp(1.03rem,1.5vw,1.19rem);line-height:1.8;color:#526569;margin:0}
.eg-date{font-size:.77rem;color:#697a7a;margin:25px 0 0;line-height:1.5}
.eg-brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:25px 0;margin:0 0 clamp(44px,6vw,76px);border-block:1px solid var(--eg-line);gap:24px}
.eg-brief div{padding-inline:0 24px;min-width:0}
.eg-brief div+div{border-inline-start:1px solid var(--eg-line);padding-inline-start:24px}
.eg-brief dt{font-size:.76rem;color:#806b43;margin:0 0 8px}
.eg-brief dd{font-size:clamp(.94rem,1.3vw,1.09rem);line-height:1.5;margin:0}
.eg-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.43fr);gap:clamp(32px,6vw,88px);align-items:start}
.eg-section{margin:0 0 42px}
.eg-section:last-child{margin-bottom:0}
.eg-section h2,.eg-checklist h2,.eg-consult h2{font-size:clamp(1.4rem,2.25vw,1.95rem);line-height:1.25;font-weight:500;letter-spacing:-.025em;margin:0 0 20px;text-wrap:balance}
.eg-section p{font-size:1rem;line-height:1.9;color:#526569;margin:0 0 17px}
.eg-section a,.eg-text-link,.eg-source-link{color:var(--eg-ink,#173740);text-decoration-thickness:1px;text-underline-offset:.22em}
.eg-source-link{font-size:.91em}
.eg-checklist{padding:28px clamp(20px,2.5vw,35px);background:linear-gradient(135deg,#ebe9df,#f6f3e9);border:1px solid rgba(165,140,87,.2);border-radius:3px}
.eg-checklist h2{font-size:1.22rem}
.eg-checklist ul{list-style:none;padding:0;margin:0 0 25px}
.eg-checklist li{position:relative;padding:16px 0 16px 22px;border-bottom:1px solid var(--eg-line);font-size:.92rem;line-height:1.7;color:#526569}
.eg-checklist li:first-child{padding-top:2px}
.eg-checklist li::before{content:"";position:absolute;inset-inline-start:0;top:23px;width:6px;height:6px;border:1px solid #a58c57;border-radius:50%}
.eg-checklist li:first-child::before{top:9px}
.eg-text-link{font-size:.88rem;line-height:1.6}
.eg-consult{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:clamp(25px,4vw,50px);margin-top:clamp(44px,6vw,76px);background:#173740;color:#f7f4ec;border-radius:3px}
.eg-consult>div{max-width:670px}
.eg-consult h2{margin-bottom:14px}
.eg-consult p{color:#c6d1cf;line-height:1.8;font-size:.94rem;margin:0}
.eg-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 25px;background:#d9c699;color:#173740;font-size:.94rem;line-height:1.4;text-align:center;text-decoration:none;flex-shrink:0;border-radius:2px;transition:background .2s}
.eg-button:hover{background:#e8d9b4}
.eg-sources{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:35px;margin-top:35px;border-top:1px solid var(--eg-line)}
.eg-sources h2{font-size:.91rem;font-weight:600;margin:0 0 12px}
.eg-sources p{font-size:.81rem;line-height:1.75;color:#697a7a;margin:0;max-width:450px}
.eg-sources ul{list-style:none;margin:0;padding:0}
.eg-sources li{margin-bottom:12px;font-size:.92rem;line-height:1.6}
.eg-teaser{display:flex;gap:28px;align-items:center;justify-content:space-between;padding:clamp(24px,4vw,42px);background:#f1eee4;color:#173740;border:1px solid rgba(165,140,87,.25);border-radius:3px}
.eg-teaser>div{max-width:560px}
.eg-teaser .eg-eyebrow{margin-bottom:9px}
.eg-teaser h2{font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:500;letter-spacing:-.03em;line-height:1.2;margin:0 0 12px}
.eg-teaser p:last-child{font-size:.96rem;line-height:1.7;margin:0;color:#526569}
.eg-teaser .eg-nav{flex-shrink:0}
@media(max-width:900px){.eg-layout{grid-template-columns:minmax(0,1fr) minmax(210px,.46fr);gap:30px}.eg-consult,.eg-teaser{align-items:flex-start;flex-direction:column}.eg-teaser .eg-nav{flex-shrink:1}}
@media(max-width:640px){.eg-header{padding-top:32px}.eg-brief{grid-template-columns:1fr;gap:13px;padding-block:20px}.eg-brief div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:0}.eg-brief div+div{border:0;padding:0}.eg-brief dt{margin:0;align-self:center}.eg-brief dd{font-size:.91rem}.eg-layout{grid-template-columns:minmax(0,1fr)}.eg-section{margin-bottom:34px}.eg-section p{font-size:.96rem;line-height:1.8}.eg-checklist{margin-top:4px}.eg-consult{gap:24px}.eg-consult .eg-button{width:100%}.eg-sources{grid-template-columns:1fr;gap:23px}.eg-nav a{padding-inline:17px}}
@media(prefers-reduced-motion:reduce){.eg-nav a,.eg-button{transition:none}}


/* MEDLA: europe-study-guides.css */
/* Destination-led study acquisition pages. */
.sl-page{--sl-ink:#153c42;--sl-muted:#61716e;--sl-gold:#ad9567;--sl-line:#d8d9cd;color:var(--sl-ink);padding-bottom:64px}
.sl-page :is(h1,h2,h3){margin:0;color:var(--sl-ink);font-family:var(--font-body);font-weight:500;letter-spacing:-.035em;text-wrap:balance}
.sl-page p{margin:0;color:var(--sl-muted);font-size:16px;line-height:1.8}
.sl-page a:focus-visible,.sl-page summary:focus-visible{outline:2px solid var(--sl-gold);outline-offset:5px}
.sl-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding-top:23px;font-size:11px;color:var(--sl-muted)}
.sl-breadcrumb a{color:inherit;min-height:34px;display:inline-flex;align-items:center}
.sl-page .sl-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sl-gold);margin-bottom:22px}
.sl-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(36px,6vw,85px);align-items:center;padding:60px 0 86px}
.sl-hero h1{font-size:clamp(39px,4.8vw,68px);line-height:1.07;max-width:16ch}
.sl-hero .sl-lead{font-size:18px;line-height:1.75;margin-top:27px;max-width:49ch}
.sl-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 26px;margin-top:32px}
.sl-primary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 25px;border-radius:50px;background:#153c42;color:#fffdf6;font-size:14px;text-decoration:none;line-height:1.4;text-align:center}
.sl-primary:hover{background:#29565b}
.sl-text-link{color:var(--sl-ink);font-size:13px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ad9567;min-height:44px;display:inline-flex;align-items:center}
.sl-hero .sl-language{font-size:11px;letter-spacing:.02em;margin-top:26px}
.sl-destination-art{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;overflow:hidden;aspect-ratio:4/4.6;border-radius:170px 170px 12px 12px;padding:46px 33px 27px;background:#143c42;color:#eee7d5;box-shadow:15px 17px 0 #e6e5d8}
.sl-art-brand{text-align:center;font-size:11px;letter-spacing:.32em;color:#c9b88d}
.sl-art-code{text-align:center;font:400 clamp(75px,10vw,142px)/1.25 var(--font-body);letter-spacing:-.08em;margin-inline-end:.08em;margin-top:25px;color:#e6d5ab}
.sl-art-name{text-align:center;font-size:25px;letter-spacing:-.025em;line-height:1.2;margin-bottom:35px}
.sl-art-bottom{display:flex;justify-content:space-between;gap:9px;font-size:9px;color:#c4d2cd;border-top:1px solid #b9a17160;padding-top:22px;margin-top:auto}
.sl-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding:52px 0;border-top:1px solid var(--sl-line)}
.sl-intro h2{font-size:36px;line-height:1.2;max-width:22ch}.sl-intro p+p{margin-top:17px}
.sl-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:37px;padding:12px 0 67px}
.sl-highlights article{padding-top:25px;border-top:1px solid var(--sl-gold);min-width:0}
.sl-highlights h3{font-size:24px;line-height:1.3;margin:0 0 13px}.sl-highlights p{font-size:15px}
.sl-plan{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding:48px 0 62px;border-top:1px solid var(--sl-line);scroll-margin-top:120px}
.sl-plan h2{font-size:36px;line-height:1.2;max-width:18ch}.sl-plan ol{list-style:none;margin:0;padding:0}
.sl-plan li{padding:23px 0;border-bottom:1px solid var(--sl-line)}.sl-plan li:first-child{padding-top:0}.sl-plan li:last-child{border:0}
.sl-plan h3{font-size:22px;line-height:1.3;margin-bottom:10px}.sl-plan p{font-size:15px}
.sl-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding:36px 0 64px}.sl-faq h2{font-size:34px;line-height:1.2;max-width:20ch}
.sl-faq .rv-faq{border-bottom:1px solid var(--sl-line)}.sl-faq .rv-faq summary{font-family:var(--font-body);font-size:16px;line-height:1.5;padding:22px 0;color:var(--sl-ink)}
.sl-faq .rv-faq__answer{padding:0 0 23px}.sl-faq .rv-faq__answer p{font-size:15px}
.sl-conversion{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;padding:46px 48px;background:#e8ecdf;border-radius:8px;align-items:center;margin:0 0 70px}
.sl-conversion h2{font-size:36px;line-height:1.2;margin-bottom:22px}.sl-conversion .sl-eyebrow{margin-bottom:17px}.sl-conversion>div:last-child{text-align:center}
.sl-conversion .sl-scope{font-size:11px;line-height:1.7;margin:20px auto 0;max-width:36ch}
.sl-section-head h2{font-size:38px;line-height:1.2;margin-bottom:16px}.sl-destinations{scroll-margin-top:120px;padding-bottom:70px}
.sl-destination-index{display:flex;flex-wrap:wrap;gap:10px 20px;margin:26px 0 40px;padding-block:23px;border-block:1px solid var(--sl-line)}
.sl-destination-index a{font-size:13px;color:var(--sl-ink);text-underline-offset:4px;min-height:32px;display:flex;align-items:center}
.sl-country-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sl-country{display:flex;flex-direction:column;align-items:flex-start;padding:26px;border:1px solid var(--sl-line);border-radius:5px;text-decoration:none;color:var(--sl-ink);transition:border-color .2s,background .2s}
.sl-country:hover{background:#eff0e7;border-color:#ad9567}.sl-country-code{display:block;font-size:12px;color:var(--sl-gold);margin-bottom:27px;letter-spacing:.1em}
.sl-country h3{font-size:29px;line-height:1.15;margin-bottom:15px}.sl-country p{font-size:14px;line-height:1.7;margin-bottom:24px}.sl-country-open{margin-top:auto;font-size:12px;border-bottom:1px solid var(--sl-gold);padding-bottom:5px}
.sl-related .sl-section-head{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:25px}.sl-related h2{font-size:31px;margin:0}
.sl-sources{margin-top:60px;border-top:1px solid var(--sl-line);padding-top:28px}.sl-sources h2{font-size:20px;margin-bottom:10px}.sl-sources p,.sl-sources a{font-size:12px;line-height:1.7;color:var(--sl-muted)}.sl-sources ul{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:0;margin:16px 0 0}.sl-sources a{text-underline-offset:3px}
@media(max-width:900px){.sl-hero{gap:40px}.sl-intro,.sl-plan,.sl-faq{gap:40px}.sl-conversion{gap:35px;padding:35px}.sl-highlights{gap:22px}.sl-country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sl-related .sl-country:last-child{display:none}.sl-art-bottom{flex-direction:column;align-items:center;padding-top:13px;gap:6px}}
@media(max-width:650px){.sl-page{padding-bottom:38px}.sl-breadcrumb{font-size:10px;padding-top:18px;gap:7px}.sl-hero{grid-template-columns:1fr;gap:35px;padding:28px 0 45px}.sl-hero h1{font-size:clamp(37px,10vw,49px);max-width:17ch;overflow-wrap:break-word}.sl-hero .sl-lead{font-size:17px;margin-top:22px}.sl-page .sl-eyebrow{font-size:10px;margin-bottom:19px}.sl-actions{gap:12px 21px;margin-top:26px}.sl-primary{font-size:14px}.sl-hero .sl-language{margin-top:17px}.sl-destination-art{aspect-ratio:1.55;max-width:390px;width:100%;justify-self:center;border-radius:100px 100px 8px 8px;box-shadow:8px 9px 0 #e6e5d8;padding:25px 30px 18px}.sl-art-code{font-size:70px;line-height:1.1;margin-top:12px}.sl-art-name{font-size:20px;margin-bottom:16px}.sl-art-bottom{flex-direction:row;font-size:8px;padding-top:12px}.sl-art-brand{font-size:9px}.sl-intro,.sl-plan,.sl-faq{grid-template-columns:1fr;gap:24px;padding:34px 0}.sl-intro h2,.sl-plan h2,.sl-faq h2,.sl-section-head h2{font-size:30px;max-width:none}.sl-intro p,.sl-plan p{font-size:15px}.sl-highlights{grid-template-columns:1fr;gap:24px;padding:0 0 38px}.sl-highlights article{padding-top:22px}.sl-highlights h3{font-size:22px;margin:0 0 6px}.sl-faq{padding-bottom:40px}.sl-conversion{grid-template-columns:1fr;gap:25px;padding:27px 23px;margin-bottom:42px}.sl-conversion h2{font-size:30px}.sl-conversion p{font-size:15px}.sl-conversion>div:last-child{text-align:start}.sl-conversion .sl-scope{margin:15px 0 0}.sl-country-grid{grid-template-columns:1fr;gap:14px}.sl-country{padding:24px}.sl-country-code{margin-bottom:18px}.sl-country h3{font-size:27px}.sl-destinations{padding-bottom:44px}.sl-destination-index{gap:6px 19px;margin:20px 0 28px}.sl-related .sl-section-head{display:block;margin-bottom:18px}.sl-related h2{font-size:28px}.sl-related .sl-country:last-child{display:flex}.sl-sources{margin-top:37px}.sl-sources ul{display:block}.sl-sources li+li{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.sl-country{transition:none}}


/* MEDLA: service-finder.css */
/* Service finder: native buttons and links with generous touch targets. */
.sf-page { max-width: 1120px; padding-block: clamp(46px, 7vw, 96px); }
.sf-intro { max-width: 760px; margin-block-end: 36px; }
.sf-intro h1 { margin: 0 0 16px; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.06; letter-spacing: -.035em; }
.sf-intro p { margin: 0; color: var(--muted, #566766); font-size: 1.1rem; line-height: 1.65; }
.sf-shell { scroll-margin-top: 110px; padding: clamp(22px, 4vw, 42px); border: 1px solid #d6d9cf; border-radius: 24px; background: #f6f6ef; }
.sf-progress { margin: 0 0 12px; color: #7d714f; font-size: .8rem; letter-spacing: .07em; }
.sf-question { margin: 0 0 25px; font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.25; font-weight: 500; }
.sf-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sf-option { display: flex; align-items: center; width: 100%; min-height: 86px; padding: 22px 24px; border: 1px solid #cbd2c9; border-radius: 15px; background: #fffef9; color: #163e43; text-align: start; text-decoration: none; font: inherit; font-size: 1.05rem; line-height: 1.4; cursor: pointer; transition: background-color .18s, border-color .18s; overflow-wrap: anywhere; }
.sf-option:hover { background: #e8eee6; border-color: #718a75; color: #163e43; }
.sf-option:focus-visible, .sf-back:focus-visible { outline: 3px solid #977d42; outline-offset: 4px; }
.sf-back { display: inline-block; min-height: 44px; margin-block-start: 20px; padding: 8px 0; border: 0; background: transparent; color: #35554e; font: inherit; text-decoration: underline; text-underline-offset: 5px; cursor: pointer; }
.sf-note { max-width: 760px; margin: 22px 0 0; color: #566766; font-size: .88rem; line-height: 1.6; }
@media (max-width: 620px) {
  .sf-options { grid-template-columns: 1fr; }
  .sf-shell { padding: 20px; border-radius: 18px; }
  .sf-option { min-height: 72px; padding: 18px 20px; }
}
@media (prefers-reduced-motion: reduce) { .sf-option { transition: none; } }


/* MEDLA: investment-landing.css */
/* Property and business acquisitions: one visual and commercial family. */
.iv-page{--iv-ink:#163a40;--iv-muted:#526764;--iv-paper:#f8f6ef;--iv-line:#d6dbd0;--iv-gold:#d3be8a;color:var(--iv-ink);background:var(--iv-paper)}
.iv-page h1,.iv-page h2,.iv-page h3{font-family:var(--font-body,Manrope,sans-serif);font-weight:500;letter-spacing:-.045em;text-wrap:balance}
.iv-page h2{font-size:clamp(1.8rem,3.1vw,2.9rem);line-height:1.16;margin:0 0 25px}
.iv-page p{line-height:1.8}
.iv-page a:focus-visible,.iv-page summary:focus-visible{outline:3px solid #a28c55;outline-offset:6px}
.iv-page [id]{scroll-margin-top:130px}
.iv-page .iv-eyebrow{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 22px;color:#79673c;font-weight:600}
.iv-hero{overflow:hidden;background:radial-gradient(ellipse at 82% 45%,#2c5054 0,transparent 55%),#102f37;color:#f6f3e9}
.iv-hero-inner{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(25px,4vw,70px);align-items:center;padding-block:clamp(55px,7vw,106px)}
.iv-hero-copy{position:relative;z-index:1;max-width:690px}
.iv-hero .iv-eyebrow{color:#d3be8a}
.iv-hero h1{font-size:clamp(2.7rem,4.65vw,4.8rem);line-height:1.06;margin:0 0 29px;letter-spacing:-.055em}
.iv-hero h1 em{font-style:normal;color:#d3be8a}
.iv-hero .iv-lead{font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.8;color:#d0dcda;max-width:590px;margin:0 0 30px}
.iv-hero-note{font-size:.77rem;color:#b5c7c4;margin:18px 0 0;max-width:450px}
.iv-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:50px;padding:16px 25px;border-radius:999px;background:var(--iv-ink);color:#fff;text-decoration:none;font-size:.88rem;line-height:1.4;border:1px solid transparent;transition:background .2s,transform .2s;max-width:100%}
.iv-button:hover{background:#28545a;color:#fff;transform:translateY(-2px)}
.iv-button>span{font-size:1.2rem;line-height:1;flex-shrink:0}
.iv-button--gold{background:#d3be8a;color:#112f37}
.iv-button--gold:hover{background:#e4d4ad;color:#112f37}
.iv-button--outline{background:transparent;color:var(--iv-ink);border-color:#a8b5aa}
.iv-button--outline:hover{background:#e8eade;color:var(--iv-ink)}
.iv-visual{position:relative;margin:0;min-width:0;align-self:center}
.iv-visual svg{display:block;width:100%;height:auto;overflow:visible}
.iv-visual figcaption{text-align:center;font-size:.85rem;color:#d8d9c6;letter-spacing:.015em;margin:6px 0 22px}
.iv-visual-tags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.iv-visual-tags span{border:1px solid #54706b;border-radius:30px;color:#c7d4c9;font-size:.7rem;padding:6px 14px;line-height:1.3}
.iv-routes{padding-block:clamp(55px,7vw,94px)}
.iv-section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:33px}
.iv-section-head h2{margin:0}
.iv-section-head>p{max-width:330px;color:var(--iv-muted);font-size:.96rem;margin:0}
.iv-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.iv-route{display:flex;flex-direction:column;align-items:start;padding:clamp(23px,3vw,38px);border:1px solid var(--iv-line);border-radius:6px;color:var(--iv-ink);text-decoration:none;background:linear-gradient(135deg,#f9f8f2,#eceee3);transition:transform .2s,border-color .2s,box-shadow .2s}
.iv-route:hover{transform:translateY(-4px);border-color:#acb499;box-shadow:0 12px 32px #163a4009}

.iv-route h3{font-size:clamp(1.25rem,1.7vw,1.7rem);line-height:1.3;margin:0 0 15px}
.iv-route p{font-size:.91rem;line-height:1.8;color:var(--iv-muted);margin:0 0 28px}
.iv-route-link{margin-top:auto;font-size:.8rem;display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid var(--iv-line);padding-top:18px;gap:10px}
.iv-route-link>span{font-size:1.2rem}
.iv-related-services{display:flex;align-items:baseline;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid var(--iv-line)}
.iv-related-services>p{margin:0;color:var(--iv-muted);font-size:.88rem}
.iv-related-services>div{display:flex;flex-wrap:wrap;gap:12px 28px}
.iv-related-services a{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--iv-ink);font-size:.88rem;text-underline-offset:.3em;text-decoration-thickness:1px}
.iv-property-actions{display:flex;align-items:start;flex-wrap:wrap;gap:12px}
.iv-deep{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,7vw,110px);padding-block:clamp(45px,7vw,100px)}
.iv-routes+.iv-deep{border-top:1px solid var(--iv-line);padding-top:clamp(50px,6vw,80px)}
.iv-deep-intro>p:not(.iv-eyebrow){color:var(--iv-muted);font-size:1rem;margin:0 0 28px}
.iv-checks{list-style:none;padding:0;margin:0}
.iv-checks li{position:relative;padding:24px 0;border-bottom:1px solid var(--iv-line)}
.iv-checks li:first-child{padding-top:0}

.iv-checks h3{font-size:1.15rem;line-height:1.4;margin:0 0 10px;letter-spacing:-.025em}
.iv-checks p{font-size:.91rem;line-height:1.85;color:var(--iv-muted);margin:0}
.iv-page .iv-source-note{font-size:.77rem;line-height:1.9;color:#64736b;margin:22px 0 0}
.iv-page .iv-source-note a,.iv-faq a,.iv-sources a{color:var(--iv-ink);text-decoration-thickness:1px;text-underline-offset:.22em}
.iv-company-band{background:#edf0e7}
.iv-mixed{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,7vw,110px);padding-block:clamp(55px,7vw,100px)}
.iv-mixed p:not(.iv-eyebrow):not(.iv-source-note){margin:0;font-size:1rem;color:var(--iv-muted)}
.iv-mixed .iv-button{margin-top:24px}
.iv-process{background:#173c41;color:#f5f3e9;padding-block:clamp(50px,7vw,90px)}
.iv-process .iv-eyebrow{color:#d3be8a}
.iv-process h2{max-width:650px}
.iv-steps{list-style:none;padding:0;margin:45px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.iv-steps li{border-top:1px solid #506966;padding-top:22px}

.iv-steps h3{font-size:1.15rem;line-height:1.4;margin:0 0 15px;letter-spacing:-.025em}
.iv-steps p{font-size:.88rem;line-height:1.9;margin:0;color:#c5d1cb}
.iv-brief{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,100px);padding-block:clamp(55px,7vw,100px);align-items:center}
.iv-brief>div>p:last-child{color:var(--iv-muted);font-size:.96rem;margin:0}
.iv-brief ul{list-style:none;margin:0;padding:10px 30px;background:#eceee4;border:1px solid #d5dccd;border-radius:6px}
.iv-brief li{position:relative;padding:20px 0 20px 24px;font-size:.92rem;line-height:1.7;border-bottom:1px solid #d5dccd}
.iv-brief li:last-child{border-bottom:0}
.iv-brief li::before{content:"";position:absolute;left:0;top:29px;border:1px solid #a78f5b;width:7px;height:7px;border-radius:50%}
.iv-faq{display:grid;grid-template-columns:.66fr 1.34fr;gap:clamp(35px,7vw,100px);padding-bottom:clamp(55px,7vw,90px)}
.iv-faq .rv-faq{border:0;border-top:1px solid var(--iv-line);border-radius:0;background:transparent;box-shadow:none;margin:0}
.iv-faq .rv-faq:last-child{border-bottom:1px solid var(--iv-line)}
.iv-faq summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0;cursor:pointer;list-style:none;font-size:1rem;line-height:1.6}
.iv-faq summary::-webkit-details-marker{display:none}
.iv-faq summary::after{display:none}
.iv-faq-mark{font-size:1.4rem;color:#8b784d;flex-shrink:0;transition:transform .2s}
.iv-faq details[open] .iv-faq-mark{transform:rotate(45deg)}
.iv-faq .rv-faq__answer{padding:0 30px 25px 0;margin:0;background:transparent}
.iv-faq .rv-faq__answer p{font-size:.9rem;line-height:1.9;color:var(--iv-muted);margin:0}
.iv-close{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:clamp(32px,5vw,65px);border-radius:6px;background:radial-gradient(ellipse at 90% 10%,#3d5954,transparent 65%),#173c41;color:#f8f6ef}
.iv-close>div{max-width:620px}
.iv-close .iv-eyebrow{color:#d3be8a}
.iv-close h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:18px}
.iv-close p:last-child{font-size:.94rem;color:#c7d6ce;margin:0}
.iv-close .iv-button{flex-shrink:0}
.iv-sources{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-block:42px 65px}
.iv-sources h2{font-size:.84rem;letter-spacing:0;margin:0 0 12px;font-weight:600}
.iv-sources p{font-size:.73rem;color:#64736b;max-width:430px;margin:0}
.iv-sources ul{list-style:none;padding:0;margin:0;display:flex;gap:12px 22px;flex-wrap:wrap;align-content:start}
.iv-sources li{font-size:.73rem;line-height:1.7}
@media(max-width:1050px){.iv-hero-inner{grid-template-columns:1.1fr .9fr;gap:10px}.iv-hero h1{font-size:clamp(2.5rem,4.7vw,3.8rem)}.iv-close{align-items:start;flex-direction:column;gap:25px}.iv-steps{gap:23px}.iv-route{padding:24px}}
@media(max-width:760px){.iv-hero-inner{grid-template-columns:1fr;padding-block:45px 34px}.iv-hero-copy{max-width:650px}.iv-hero h1{font-size:clamp(2.7rem,7.3vw,3.8rem)}.iv-visual{width:min(420px,85%);margin:4px auto 0}.iv-visual figcaption{margin-top:-5px}.iv-visual-tags{display:none}.iv-section-head{align-items:start;flex-direction:column;gap:15px}.iv-section-head>p{max-width:none}.iv-route-grid{grid-template-columns:1fr}.iv-route{position:relative;padding:26px 25px 23px}.iv-route p{margin-bottom:20px}.iv-route h3{font-size:1.45rem}.iv-deep,.iv-mixed,.iv-brief,.iv-faq{grid-template-columns:1fr;gap:33px}.iv-deep-intro>p:not(.iv-eyebrow){font-size:.96rem}.iv-deep .iv-button{margin-top:0}.iv-steps{grid-template-columns:1fr 1fr;gap:35px 25px}.iv-brief ul{padding-inline:23px}.iv-faq h2{margin-bottom:0}.iv-sources{grid-template-columns:1fr;gap:25px}.iv-sources ul{gap:12px 22px}.iv-close .iv-button{width:100%;justify-content:space-between}.iv-close{padding:32px 25px}.iv-page [id]{scroll-margin-top:110px}}
@media(max-width:420px){.iv-hero h1{font-size:2.55rem}.iv-hero .iv-lead{font-size:.94rem}.iv-hero .iv-button{width:100%;justify-content:space-between}.iv-visual{width:96%}.iv-steps{grid-template-columns:1fr;gap:27px}.iv-steps h3{margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){.iv-button,.iv-route,.iv-faq-mark{transition:none}.iv-button:hover,.iv-route:hover{transform:none}}


/* MEDLA: booking-experience.css */
/* Consultation selection and a distinct, scoped Mobility offer. */
.rv-layout :is(.bx-booking,.bx-mobility) { --bx-ink:#163b42; --bx-muted:#596962; --bx-gold:#c6b58a; --bx-line:#d8dbcf; color:var(--bx-ink); }
.rv-layout .bx-eyebrow { margin:0 0 22px; font:500 12px/1.6 var(--font-body); letter-spacing:.1em; text-transform:uppercase; color:#7c6a42; }
.rv-layout .bx-lead { max-width:610px; margin:24px 0 0; font-size:clamp(17px,1.6vw,20px); line-height:1.7; color:var(--bx-muted); }
.rv-layout .bx-button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:52px; padding:15px 24px; border:1px solid var(--bx-ink); border-radius:50px; background:var(--bx-ink); color:#fbf9f1; font:500 14px/1.4 var(--font-body); text-decoration:none; transition:background .2s,transform .2s; }
.rv-layout .bx-button span { font-size:19px; line-height:1; }
.rv-layout .bx-button:hover { background:#24515a; transform:translateY(-2px); }
.rv-layout .bx-button:focus-visible { outline:3px solid #ad965d; outline-offset:5px; }
.rv-layout .bx-button--gold { background:var(--bx-gold); border-color:var(--bx-gold); color:#142f34; }
.rv-layout .bx-button--gold:hover { background:#dbcca7; }
.rv-layout .bx-booking { padding-block:clamp(42px,5vw,80px) clamp(65px,8vw,112px); }
.rv-layout .bx-booking-head { max-width:790px; padding-bottom:clamp(36px,5vw,65px); }
.rv-layout :is(.bx-booking-head,.bx-mobility-hero) h1 { margin:0; font:500 clamp(42px,5vw,70px)/1.06 var(--font-body); letter-spacing:-.055em; color:var(--bx-ink); }
.rv-layout :is(.bx-booking-head,.bx-mobility-hero) h1 span { color:#8b7953; }
.rv-layout .bx-consultations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.rv-layout .bx-consultation { min-width:0; display:flex; flex-direction:column; padding:clamp(25px,2.5vw,38px); background:#fffef8; border:1px solid var(--bx-line); border-radius:22px; }
.rv-layout .bx-card-top { display:flex; align-items:center; gap:15px; margin-bottom:23px; }
.rv-layout .bx-card-top .bx-eyebrow { margin:0; }
.rv-layout .bx-icon { width:40px; height:40px; color:#9a8658; flex-shrink:0; }
.rv-layout .bx-consultation h2 { margin:0 0 18px; min-height:2.4em; font:500 clamp(26px,2.45vw,34px)/1.2 var(--font-body); letter-spacing:-.04em; color:var(--bx-ink); }
.rv-layout .bx-card-body { margin:0 0 25px; color:var(--bx-muted); font-size:14px; line-height:1.8; }
.rv-layout .bx-format { margin:0 0 24px; padding:10px 0; border-top:1px solid var(--bx-line); border-bottom:1px solid var(--bx-line); color:var(--bx-ink); font-size:12px; line-height:1.6; }
.rv-layout .bx-purchase { margin-bottom:26px; }
.rv-layout .bx-price { margin:0 0 20px; color:var(--bx-ink); font:500 clamp(34px,3vw,42px)/1.1 var(--font-body); letter-spacing:-.045em; }
.rv-layout .bx-price small { display:block; margin-top:10px; font:400 12px/1.5 var(--font-body); color:var(--bx-muted); letter-spacing:0; }
.rv-layout .bx-purchase .bx-button { width:100%; }
.rv-layout .bx-includes { margin:0; padding:0; list-style:none; }
.rv-layout .bx-includes li { position:relative; padding-left:20px; margin:0 0 13px; color:var(--bx-muted); font-size:13px; line-height:1.7; }
.rv-layout .bx-includes li::before { content:'✓'; position:absolute; left:0; color:#8c7950; }
.rv-layout .bx-card-terms { margin:8px 0 0; padding-top:17px; border-top:1px solid var(--bx-line); color:var(--bx-muted); font-size:11px; line-height:1.8; }
.rv-layout .bx-booking-note { max-width:850px; margin:22px 0 0; color:var(--bx-muted); font-size:12px; line-height:1.8; }
.rv-layout .bx-mobility-feature { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.8fr); align-items:center; gap:36px; margin-top:clamp(45px,6vw,80px); padding:clamp(30px,5vw,68px); background:radial-gradient(ellipse at 80% 20%,#2e575a 0,transparent 60%),#153a41; border-radius:26px; color:#fcf9ef; overflow:hidden; }
.rv-layout .bx-mobility-feature .bx-eyebrow { color:#d1bd87; }
.rv-layout .bx-mobility-feature h2 { margin:0 0 23px; color:inherit; font:500 clamp(31px,3.5vw,47px)/1.12 var(--font-body); letter-spacing:-.045em; }
.rv-layout .bx-mobility-feature p:not(.bx-eyebrow) { max-width:550px; margin:0 0 24px; color:#d6dfd7; font-size:16px; line-height:1.8; }
.rv-layout .bx-mobility-feature .bx-feature-scope { font-size:12px!important; color:#c5d2cb!important; }
.rv-layout .bx-plan-visual { position:relative; width:100%; max-width:340px; padding:20px 22px; justify-self:center; }
.rv-layout .bx-plan-sheet { position:relative; padding:26px 27px 22px; color:#1a3f43; background:#fbf7ec; box-shadow:0 16px 28px #061e2526; transform:rotate(5deg); border:1px solid #d8cfb6; }
.rv-layout .bx-plan-shadow { position:absolute; inset:22px 27px 15px 10px; background:#bdab7d; transform:rotate(-5deg); border:1px solid #bca977; }
.rv-layout .bx-sheet-brand { display:flex; justify-content:space-between; gap:16px; color:#8a7546; font:500 12px/1.4 var(--font-body); letter-spacing:.12em; }
.rv-layout .bx-sheet-brand span { letter-spacing:0; }
.rv-layout .bx-sheet-rule { display:block; margin-top:21px; width:36px; height:1px; background:#ab9869; }
.rv-layout .bx-plan-sheet > p { margin:18px 0 23px!important; color:#193f43!important; font:500 34px/1.08 var(--font-body)!important; letter-spacing:-.055em; }
.rv-layout .bx-plan-sheet ol { margin:0; padding:0; list-style:none; }
.rv-layout .bx-plan-sheet li { padding:13px 0; border-top:1px solid #dfdbcb; font:400 11px/1.5 var(--font-body); }

.rv-layout .bx-sheet-foot { display:flex; justify-content:space-between; gap:10px; padding-top:23px; color:#8b826d; font:400 8px/1.5 var(--font-body); letter-spacing:.05em; }
.rv-layout .bx-mobility-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(290px,.75fr); gap:clamp(35px,5vw,80px); align-items:center; padding-block:clamp(46px,6vw,86px) clamp(70px,8vw,120px); }
.rv-layout .bx-mobility-hero h1 { font-size:clamp(40px,4.8vw,66px); }
.rv-layout .bx-mobility-hero .bx-button { margin-top:30px; }
.rv-layout .bx-hero-note { max-width:390px; margin:16px 0 0; font-size:12px; line-height:1.7; color:var(--bx-muted); }
.rv-layout .bx-mobility-intro { border-top:1px solid var(--bx-line); padding-top:35px; }
.rv-layout .bx-mobility-intro > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; align-items:start; }
.rv-layout :is(.bx-mobility-intro,.bx-guide-heading,.bx-mobility-close) h2 { margin:0; color:var(--bx-ink); font:500 clamp(30px,3.4vw,46px)/1.14 var(--font-body); letter-spacing:-.045em; }
.rv-layout .bx-mobility-intro > div > p { margin:0; color:var(--bx-muted); font-size:17px; line-height:1.8; }
.rv-layout .bx-deliverables { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-block:43px clamp(60px,7vw,95px); }
.rv-layout .bx-deliverables > article { padding:28px; background:#e9ece2; border-radius:18px; }

.rv-layout .bx-deliverables h3 { margin:0 0 15px; color:var(--bx-ink); font:500 24px/1.2 var(--font-body); letter-spacing:-.035em; }
.rv-layout .bx-deliverables p { margin:0; font-size:14px; line-height:1.8; color:var(--bx-muted); }
.rv-layout .bx-guide-wrap { padding-block:clamp(45px,6vw,80px); background:#eeeede; border-block:1px solid #dddfcf; }
.rv-layout .bx-guide-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:60px; margin-bottom:48px; }
.rv-layout .bx-guide-heading > p { margin:0; color:var(--bx-muted); font-size:16px; line-height:1.8; }
.rv-layout .bx-guide-steps { display:grid; grid-template-columns:1fr 1fr; gap:24px 45px; }
.rv-layout .bx-guide-step { padding:30px 0 8px; border-top:1px solid #cbd0bd; }

.rv-layout .bx-guide-step h3 { margin:0 0 16px; color:var(--bx-ink); font:500 24px/1.25 var(--font-body); letter-spacing:-.035em; }
.rv-layout .bx-guide-step p { margin:0; font-size:14px; line-height:1.8; color:var(--bx-muted); }
.rv-layout .bx-guide-step .bx-step-result { margin-top:21px; padding-left:16px; border-left:1px solid #a89664; font-size:13px; }
.rv-layout .bx-step-result span { display:block; margin-bottom:7px; font-size:10px; color:#7b6a43; letter-spacing:.08em; text-transform:uppercase; }
.rv-layout .bx-mobility-close { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(40px,8vw,120px); align-items:center; padding-block:clamp(55px,7vw,100px); }
.rv-layout .bx-mobility-close > div > p:not(.bx-eyebrow) { margin:22px 0 25px; max-width:580px; font-size:16px; line-height:1.8; color:var(--bx-muted); }
.rv-layout .bx-mobility-close aside { padding:30px 0 30px 30px; border-left:1px solid var(--bx-line); }
.rv-layout .bx-mobility-close h3 { margin:0 0 16px; color:var(--bx-ink); font:500 23px/1.25 var(--font-body); letter-spacing:-.035em; }
.rv-layout .bx-mobility-close aside p { margin:0; color:var(--bx-muted); font-size:13px; line-height:1.9; }
@media(max-width:1000px) {
  .rv-layout .bx-consultations { gap:14px; }
  .rv-layout .bx-consultation { padding:24px; }
  .rv-layout .bx-consultation h2 { font-size:27px; }
  .rv-layout .bx-purchase .bx-button { padding-inline:18px; }
  .rv-layout .bx-mobility-hero { grid-template-columns:minmax(0,1.15fr) minmax(245px,.8fr); gap:25px; }
  .rv-layout .bx-plan-visual { padding-inline:18px; }
  .rv-layout .bx-deliverables { gap:16px; }
  .rv-layout .bx-deliverables > article { padding:23px; }
}
@media(max-width:760px) {
  .rv-layout .bx-consultations { grid-template-columns:1fr; gap:20px; }
  .rv-layout .bx-consultation { padding:28px; }
  .rv-layout .bx-consultation h2 { min-height:0; font-size:31px; }
  .rv-layout .bx-card-body { max-width:550px; }
  .rv-layout .bx-card-top { margin-bottom:18px; }
  .rv-layout .bx-mobility-feature { grid-template-columns:1fr; padding:32px 25px; gap:27px; }
  .rv-layout .bx-mobility-feature .bx-plan-visual { max-width:310px; }
  .rv-layout .bx-mobility-hero { grid-template-columns:1fr; gap:35px; padding-bottom:55px; }
  .rv-layout .bx-mobility-hero .bx-plan-visual { max-width:300px; }
  .rv-layout .bx-mobility-intro > div,.rv-layout .bx-guide-heading,.rv-layout .bx-guide-steps,.rv-layout .bx-mobility-close { grid-template-columns:1fr; gap:25px; }
  .rv-layout .bx-deliverables { grid-template-columns:1fr; gap:14px; }

  .rv-layout .bx-guide-heading { margin-bottom:25px; }

  .rv-layout .bx-mobility-close aside { border-left:0; border-top:1px solid var(--bx-line); padding:26px 0 0; }
}
@media(prefers-reduced-motion:reduce) {
  .rv-layout .bx-button { transition:none; }
  .rv-layout .bx-button:hover { transform:none; }
}

@supports(grid-template-rows:subgrid){@media(min-width:761px){.rv-layout .bx-consultations{row-gap:0}.rv-layout .bx-consultation{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0}.rv-layout .bx-card-body{align-self:start}.rv-layout .bx-format{align-self:start}}}

/* The user-approved starting price applies to the bespoke Mobility roadmap. */
.rv-layout .bx-mobility-price { margin:27px 0 0; font:500 clamp(27px,3vw,36px)/1.25 var(--font-body); letter-spacing:-.035em; color:var(--bx-ink); }
.rv-layout .bx-mobility-feature p.bx-mobility-price { margin:0 0 12px; color:#dfcc9b; font:500 clamp(27px,3vw,36px)/1.25 var(--font-body); letter-spacing:-.035em; }
.rv-layout .bx-mobility-hero .bx-mobility-price + .bx-button { margin-top:22px; }


/* MEDLA: about-experience.css */
/* The original logo-led composition, with room for MEDLA's shared work. */
.ae-about{--ae-ink:#18383a;--ae-gold:#9b8962;--ae-muted:#5b6964;--ae-rule:#d9d9cb;padding-top:clamp(38px,5vw,68px);padding-bottom:36px;color:var(--ae-ink)}
.ae-about h1,.ae-about h2,.ae-about h3{font-family:var(--font-body);font-weight:500;letter-spacing:-.035em;text-wrap:balance;margin:0;color:var(--ae-ink)}
.ae-about p{font-size:16px;line-height:1.8;margin:0;color:var(--ae-muted)}
.ae-about .ae-kicker{font-size:12px;letter-spacing:.09em;color:var(--ae-gold);margin-bottom:24px}
.ae-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.36fr);align-items:center;gap:clamp(40px,6vw,90px);min-height:280px;padding:8px 0 64px}
.ae-hero h1{font-size:clamp(42px,5.3vw,70px);line-height:1.08;letter-spacing:-.055em;max-width:18ch;margin-bottom:22px}
.ae-hero-context{min-width:0}.ae-hero .ae-lead{font-size:clamp(17px,1.65vw,20px);line-height:1.75;max-width:61ch}.ae-hero .ae-kicker{font-size:11px;letter-spacing:.16em;margin-bottom:18px}
.ae-about .ae-language-note{font-size:12px;line-height:1.6;margin-top:22px;color:var(--ae-gold)}
.ae-emblem{position:relative;isolation:isolate;justify-self:center;width:clamp(180px,19vw,270px);max-width:100%;aspect-ratio:1;display:grid;place-items:center;border:1px solid #a6946a45;border-radius:50%;background:radial-gradient(circle,#e8e7da88,transparent 70%)}
.ae-emblem:before{content:"";position:absolute;z-index:-1;inset:12px -14px;border:1px solid #a6946a45;border-radius:50%;transform:rotate(-32deg)}
.ae-emblem:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#a6946a;top:12%;right:14%}
.ae-emblem img{display:block;width:45%;height:auto}
.ae-intro,.ae-history,.ae-presence,.ae-quality>div:first-child{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,6vw,90px)}
.ae-intro,.ae-history{border-top:1px solid var(--ae-rule);padding:46px 0}
.ae-intro h2,.ae-history h2,.ae-presence h2,.ae-quality h2{font-size:clamp(28px,2.9vw,37px);line-height:1.2;max-width:21ch}
.ae-presence{border-top:1px solid var(--ae-rule);padding:42px 0 54px}
.ae-presence ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:0}
.ae-presence li{min-width:0}.ae-presence a{display:block;color:inherit;text-decoration:none}
.ae-presence strong{display:block;font-size:18px;font-weight:500;line-height:1.4;text-decoration:underline;text-decoration-color:#a6946a80;text-decoration-thickness:1px;text-underline-offset:5px;margin-bottom:12px}
.ae-presence span{display:block;font-size:15px;line-height:1.75;color:var(--ae-muted)}
.ae-presence a:hover strong{text-decoration-color:var(--ae-ink)}.ae-presence a:focus-visible{outline:2px solid var(--ae-gold);outline-offset:7px}
.ae-process{padding:16px 0 62px}.ae-process h2{font-size:31px;line-height:1.25}
.ae-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;list-style:none;padding:0;margin:32px 0 0}
.ae-process li{min-width:0}
.ae-process h3{font-size:21px;line-height:1.35;margin-bottom:12px}.ae-process p{font-size:15px;line-height:1.75}
.ae-quality{border-top:1px solid var(--ae-rule);padding:52px 0 34px}
.ae-marks{display:flex;align-items:center;justify-content:space-between;gap:38px;margin-top:45px;max-width:990px}
.ae-marks img{display:block;object-fit:contain;max-width:100%;width:auto;height:auto}
.ae-marks .ae-mark-seal{width:65px;height:80px}.ae-marks .ae-mark-aec{width:230px}.ae-marks .ae-mark-pae{width:71px;height:79px}.ae-marks .ae-mark-aeat{width:244px}
.ae-marks .ae-mark-pae,.ae-marks .ae-mark-aeat{mix-blend-mode:multiply}
@media(max-width:900px){.ae-hero{grid-template-columns:minmax(0,1fr) 190px;gap:36px}.ae-emblem{width:180px}.ae-intro,.ae-history,.ae-presence,.ae-quality>div:first-child{gap:45px}.ae-process ol{gap:24px}.ae-marks{gap:24px}.ae-marks .ae-mark-aec{width:180px}.ae-marks .ae-mark-aeat{width:195px}.ae-marks .ae-mark-seal{width:52px;height:65px}.ae-marks .ae-mark-pae{width:57px;height:65px}}
@media(max-width:650px){.ae-about{padding-top:24px;padding-bottom:24px}.ae-hero{grid-template-columns:1fr;gap:30px;padding:14px 0 38px}.ae-hero h1{font-size:clamp(38px,11vw,48px);max-width:18ch;overflow-wrap:break-word}.ae-emblem{width:145px;justify-self:end;margin-inline-end:14px}.ae-emblem:before{inset:9px -10px}.ae-emblem:after{width:6px;height:6px}.ae-hero .ae-lead{font-size:17px;max-width:none}.ae-about .ae-language-note{margin-top:18px}.ae-intro,.ae-history,.ae-presence,.ae-quality>div:first-child{grid-template-columns:1fr;gap:20px}.ae-intro,.ae-history{padding:34px 0}.ae-intro h2,.ae-history h2,.ae-presence h2,.ae-quality h2,.ae-process h2{font-size:28px;max-width:22ch}.ae-presence{padding:30px 0 38px}.ae-presence ul{grid-template-columns:1fr;gap:24px}.ae-process{padding:0 0 38px}.ae-process ol{grid-template-columns:1fr;gap:26px;margin-top:27px}.ae-process h3{font-size:20px;margin-bottom:8px}.ae-quality{padding:34px 0 12px}.ae-marks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);gap:30px 20px;margin-top:30px;max-width:440px;justify-items:start}.ae-marks .ae-mark-seal{width:49px;height:61px}.ae-marks .ae-mark-aec{width:180px}.ae-marks .ae-mark-pae{width:55px;height:61px}.ae-marks .ae-mark-aeat{grid-column:span 2;width:220px}}
@media(prefers-reduced-motion:reduce){.ae-about *{scroll-behavior:auto!important;transition:none!important}}


/* MEDLA: mortgage-service.css */
/* MEDLA mortgage service. Quiet editorial layout, with a single local enquiry route. */
.mt-page{--mt-ink:#173d40;--mt-gold:#a08b60;--mt-line:#d8d8ca;--mt-paper:#fbfaf4;color:var(--mt-ink);padding-bottom:3rem}
.mt-page .rv-shell{max-width:1200px}
.mt-page h1,.mt-page h2,.mt-page h3{font-weight:500;letter-spacing:-.045em;line-height:1.14;margin:0}
.mt-page h2{font-size:clamp(1.85rem,3.3vw,2.9rem)}
.mt-page h3{font-size:clamp(1.25rem,2vw,1.6rem)}
.mt-page p{font-size:1rem;line-height:1.85;color:#566866;margin:1rem 0 0}
.mt-page .mt-eyebrow{font-size:.75rem;letter-spacing:.12em;line-height:1.5;color:var(--mt-gold);margin:0 0 1.3rem}
.mt-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:6%;padding-top:4rem;padding-bottom:6rem}
.mt-back{display:inline-block;color:#657470;font-size:.85rem;margin-bottom:2.3rem;text-decoration:none;border-bottom:1px solid #c7c8b8}
.mt-hero h1{font-size:clamp(2.7rem,4.6vw,4.25rem);max-width:13ch}
.mt-hero h1 em{display:block;font-family:var(--font-display);font-weight:400;color:var(--mt-gold);margin-top:.13em;letter-spacing:-.035em}
.mt-page .mt-lead{max-width:36rem;font-size:1.1rem;line-height:1.8;margin:1.8rem 0}
.mt-page .mt-cta{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:1rem 1.5rem;text-decoration:none;border-radius:999px;background:#173d40;color:#fff;line-height:1.4;text-align:center;max-width:100%;white-space:normal}
.mt-page .mt-hero-note{font-size:.8rem;line-height:1.7;max-width:31rem;margin-top:1.2rem}
.mt-document{padding:2rem 2.2rem 2.4rem;background:#f3f0e5;border:1px solid #d5c9aa;box-shadow:10px 14px 0 #eaeadd;position:relative;min-width:0}
.mt-document::before{content:'';position:absolute;inset:8px;pointer-events:none;border:1px solid #e0d8c5}
.mt-document-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:2rem;position:relative}
.mt-document-top img{width:64px;height:auto;object-fit:contain}
.mt-document-top span{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;color:#9a8860;text-align:end}
.mt-document h2{font-family:var(--font-display);font-size:clamp(1.8rem,2.6vw,2.5rem);font-weight:400;line-height:1.25;max-width:13ch}
.mt-document ol{margin:2.2rem 0 0;padding:0;list-style:none;position:relative}
.mt-document li{display:flex;gap:1rem;align-items:center;font-size:.88rem;padding:1rem 0;border-top:1px solid #d7cfbc;line-height:1.5}

.mt-page .mt-document-note{font-size:.7rem;letter-spacing:.01em;color:#8b7d60;padding-top:.4rem}
.mt-services{padding-bottom:5rem}
.mt-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:2.3rem}
.mt-service-grid article{padding-top:1.3rem;border-top:1px solid var(--mt-line)}

.mt-negotiation{background:#183d40;color:#fff}
.mt-negotiation-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:8%;padding-top:3.8rem;padding-bottom:3.8rem}
.mt-negotiation h2{color:#fff;max-width:19ch}
.mt-page .mt-negotiation p{color:#cbd6d1}
.mt-page .mt-negotiation .mt-eyebrow{color:#c9b987}
.mt-negotiation ul{list-style:none;margin:0;padding:0}
.mt-negotiation li{display:flex;gap:1rem;padding:1.1rem 0;align-items:center;border-bottom:1px solid #507070;font-size:1rem;line-height:1.5}
.mt-negotiation li span{color:#d9c99d;font-size:.9rem}
.mt-process{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;padding-top:5.5rem;padding-bottom:5.5rem}
.mt-process>div h2{max-width:16ch}
.mt-process>ol{list-style:none;margin:0;padding:0}
.mt-process li{border-top:1px solid var(--mt-line);padding:1.4rem 0}

.mt-process li p{margin:.7rem 0 0}
.mt-complements{border-top:1px solid var(--mt-line);padding-top:3rem;padding-bottom:4rem}
.mt-complements header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;align-items:start}
.mt-complements header p{margin:0}
.mt-complements>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8%;margin-top:3rem}
.mt-complements article{border-top:1px solid var(--mt-line);padding-top:1.4rem}
.mt-provider{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;border-top:1px solid var(--mt-line);padding-top:3rem;padding-bottom:3rem}
.mt-provider h2{max-width:18ch}
.mt-provider h3:not(:first-child){margin-top:1.8rem}
.mt-faq{border-top:1px solid var(--mt-line);padding-top:3rem;padding-bottom:4rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%}
.mt-faq details{border-bottom:1px solid var(--mt-line);padding:1rem 0}
.mt-faq details:first-child{padding-top:0}
.mt-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;font-size:1.1rem;line-height:1.5}
.mt-faq summary::-webkit-details-marker{display:none}
.mt-faq summary span{font-weight:300;color:var(--mt-gold)}
.mt-faq details[open] summary span{transform:rotate(45deg)}
.mt-faq p{margin-top:.75rem}
.mt-closing{display:flex;gap:3rem;align-items:center;justify-content:space-between;padding-top:3rem;padding-bottom:3rem;border-top:1px solid var(--mt-line)}
.mt-closing>div{max-width:42rem}
.mt-closing .mt-cta{flex-shrink:0}
.mt-sources{border-top:1px solid var(--mt-line);padding-top:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.mt-page .mt-sources p,.mt-sources a{font-size:.73rem;margin:0;color:#6d7770}
.mt-sources>div{display:flex;flex-wrap:wrap;gap:1.2rem}
.mt-page a:focus-visible,.mt-page summary:focus-visible{outline:2px solid #aa915f;outline-offset:5px}
.ovb-service-link{display:inline-block;margin-top:1.4rem;color:#173d40;text-decoration:none;border-bottom:1px solid #a08b60;padding-bottom:.25rem}
.ovb-services .ovb-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.mt-hero{gap:2rem}.mt-document{padding:1.5rem}.mt-service-grid{gap:1.5rem}.mt-closing{align-items:flex-start;flex-direction:column;gap:1.5rem}}
@media(max-width:680px){.mt-hero{grid-template-columns:1fr;padding-top:2rem;padding-bottom:3.5rem;gap:2.5rem}.mt-back{margin-bottom:1.6rem}.mt-hero h1{font-size:clamp(2.5rem,9.8vw,3.5rem);max-width:16ch}.mt-page .mt-lead{font-size:1rem;margin:1.3rem 0}.mt-document{box-shadow:5px 7px 0 #eaeadd;margin-inline-end:7px;padding:1.5rem 1.8rem 1.8rem}.mt-document-top{padding-bottom:1.4rem}.mt-document h2{max-width:20ch}.mt-document ol{margin-top:1.5rem}.mt-service-grid,.mt-negotiation-inner,.mt-process,.mt-complements header,.mt-complements>div,.mt-provider,.mt-faq{grid-template-columns:1fr;gap:1.8rem}.mt-service-grid{margin-top:1.6rem}.mt-services{padding-bottom:3rem}.mt-negotiation-inner{padding-top:2.5rem;padding-bottom:2.5rem}.mt-process{padding-top:3rem;padding-bottom:3rem}.mt-process>div h2,.mt-negotiation h2,.mt-provider h2{max-width:none}.mt-complements{padding-top:2.5rem;padding-bottom:3rem}.mt-complements>div{margin-top:2rem}.mt-provider{padding-top:2.5rem;padding-bottom:2.5rem}.mt-faq{padding-top:2.5rem;padding-bottom:2.5rem}.mt-closing{padding-top:2.5rem;padding-bottom:2.5rem}.mt-sources{align-items:flex-start;flex-direction:column;gap:.6rem}.ovb-services .ovb-service-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mt-page *{scroll-behavior:auto}}

body.page-inner.mt-layout-page .mt-page .mt-hero h1 em{color:var(--mt-gold)!important}


/* MEDLA: real-estate.css */
.re-page{--re-ink:#153f45;--re-muted:#627570;--re-gold:#ac9567;--re-line:#d5d8ca;--re-paper:#faf8f1;color:var(--re-ink);background:var(--re-paper)}
.re-page *{box-sizing:border-box}.re-page a{color:inherit}.re-page .rv-shell{max-width:1280px}.re-page h1,.re-page h2,.re-page h3{margin:0;color:inherit;font-weight:400}.re-page h1{font-size:clamp(2.55rem,4.6vw,4.4rem);line-height:1.06;letter-spacing:-.055em}.re-page h2{font-size:clamp(2rem,3.1vw,3.2rem);line-height:1.13;letter-spacing:-.04em}.re-page em{font-family:var(--font-display);font-weight:400;letter-spacing:-.04em;color:var(--re-gold)}.re-page p{margin:0}.re-eyebrow{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--re-gold);margin-bottom:28px!important}.re-lead{font-size:1.04rem;line-height:1.85;color:var(--re-muted)}
.re-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,5.6vw,86px);align-items:center;padding-block:72px 52px}.re-hero-copy{padding-block:16px}.re-hero .re-lead{margin-top:28px;max-width:34rem}.re-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:32px}.re-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:16px 24px;border:1px solid var(--re-ink);border-radius:2px;background:var(--re-ink);color:#fff!important;text-decoration:none;min-height:52px;font-size:.88rem;line-height:1.4;transition:background .18s ease,border-color .18s ease}.re-button:hover{background:#28565a}.re-button span{font-size:1.05rem}.re-button--quiet{padding-inline:0;border-color:transparent;background:none;color:var(--re-ink)!important;gap:16px}.re-button--quiet:hover{background:none;border-bottom-color:var(--re-gold)}.re-button--gold{background:#d7c395;color:#163b40!important;border-color:#d7c395}.re-button--gold:hover{background:#e6d5b1}.re-hero-photo{position:relative;margin:0;min-width:0;aspect-ratio:1/1.12;overflow:hidden;background:#dce1d8}.re-hero-photo>img{width:100%;height:100%;object-fit:cover;display:block}.re-hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(10,30,30,.68));pointer-events:none}.re-hero-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:18px;position:absolute;z-index:1;bottom:24px;inset-inline:28px;color:#fff;font-size:.78rem;letter-spacing:.035em}.re-hero-photo figcaption>a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff70;border-radius:50%;text-decoration:none}.re-hero-copy .sj-specialist{max-width:32rem;font-size:.75rem;margin-top:24px}.re-hero-copy .sj-specialist p{font-size:.75rem;line-height:1.6}.re-hero-copy .sj-specialist a{font-size:.75rem}
.re-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--re-line);border-bottom:1px solid var(--re-line);margin:0}.re-service{display:flex;gap:12px;align-items:flex-start;padding:28px 19px 28px 0;text-decoration:none;border-inline-end:1px solid var(--re-line);min-width:0}.re-service+ .re-service{padding-inline-start:22px}.re-service:last-child{border-inline-end:0;padding-inline-end:0}.re-service strong{display:block;font-weight:500;font-size:1.02rem;line-height:1.4;margin-bottom:8px}.re-service strong+span{display:block;font-size:.77rem;line-height:1.65;color:var(--re-muted)}.re-service-arrow{margin-inline-start:auto;color:var(--re-gold);font-size:1.05rem}.re-service:hover strong{color:#a88e58}.re-catalog{padding-block:88px 96px;scroll-margin-top:130px}.re-section-head{display:flex;gap:32px;align-items:flex-end;justify-content:space-between}.re-section-head .re-eyebrow{margin-bottom:18px!important}.re-section-head>div:first-child>p:last-child{max-width:40rem;font-size:.95rem;line-height:1.85;color:var(--re-muted);margin-top:22px}.re-partner{display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding-bottom:3px;flex-shrink:0}.re-partner>span{font-size:.64rem;text-transform:uppercase;letter-spacing:.16em;color:var(--re-muted)}.re-partner>img{width:118px;height:43px;object-fit:contain;object-position:right center}.re-catalog-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--re-line);margin-block:32px 25px;padding-top:18px;font-size:.73rem;color:var(--re-muted)}.re-catalog-meta>span{color:var(--re-ink)}
.re-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:54px}.re-property{min-width:0;scroll-margin-top:130px}.re-property-photo{position:relative;aspect-ratio:3/2;overflow:hidden;background:#e7e9de}.re-property-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.re-property:hover .re-property-photo>img{transform:scale(1.025)}.re-property-type{position:absolute;inset-inline-start:20px;top:20px;background:rgba(250,248,241,.94);padding:8px 11px;font-size:.64rem;letter-spacing:.055em;color:var(--re-ink)}.re-property-body{padding-top:25px}.re-property-location{font-size:.62rem;color:var(--re-gold);letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px!important}.re-property h3{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.2;letter-spacing:-.025em;min-height:2.4em}.re-property-price{font-family:var(--font-display);font-size:1.5rem;letter-spacing:-.025em;color:var(--re-ink);margin-block:13px 18px!important;text-align:start}.re-property-facts{display:flex;flex-wrap:wrap;gap:0;list-style:none;padding:0;margin:0 0 20px;font-size:.78rem;line-height:1.6;color:var(--re-muted)}.re-property-facts li+li:before{content:'·';padding-inline:14px;color:var(--re-gold)}.re-property-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--re-line);padding-top:18px}.re-property-footer>p{font-size:.57rem;line-height:1.75;letter-spacing:.055em;color:var(--re-muted)}.re-property-footer bdi{font-size:.62rem}.re-interest{display:inline-flex;align-items:center;gap:30px;min-height:44px;font-size:.87rem;text-decoration:none;border-bottom:1px solid var(--re-gold)}.re-interest:hover{color:#a48651}.re-interest>span{font-size:1.12rem}
.re-process{background:#123d43;color:#f4f1e6;padding-block:74px 66px}.re-process-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,8vw,110px);align-items:center}.re-process-intro p{color:#c2d0ca;line-height:1.85;font-size:.97rem}.re-process-intro .re-button{margin-top:26px}.re-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:50px 0 0;padding:35px 0 0;list-style:none;border-top:1px solid #ffffff25}.re-process li>h3{font-size:1.18rem;line-height:1.4;letter-spacing:-.02em;margin-bottom:14px}.re-process li>p{font-size:.86rem;line-height:1.8;color:#c2d0ca}.re-vibe{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,8vw,110px);padding-block:90px}.re-vibe .re-button{margin-top:28px}.re-note{font-size:.74rem;line-height:1.75;color:var(--re-muted);margin-top:19px!important}.re-rentals .re-hero-photo{aspect-ratio:1/1.12}.re-rentals .re-hero-photo>img{object-position:center 61%}.re-return{padding-block:35px}.re-return>a{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:.85rem;text-decoration:none}.re-return>a:hover{text-decoration:underline}.re-page a:focus-visible{outline:2px solid #af955e;outline-offset:5px}.re-page[dir=rtl] .re-property-price{direction:ltr;text-align:right}
@media(min-width:1440px){.re-hero{padding-top:92px}.re-hero-photo{max-height:610px}}
@media(max-width:1020px){.re-hero{gap:30px}.re-actions{gap:5px 14px}.re-button{padding:14px 18px;gap:15px}.re-services{grid-template-columns:repeat(2,minmax(0,1fr))}.re-service:nth-child(2){border-inline-end:0}.re-service:nth-child(3),.re-service:nth-child(4){border-top:1px solid var(--re-line)}.re-service:nth-child(3){padding-inline-start:0}.re-property-grid{gap:42px 24px}.re-property h3{font-size:1.35rem}.re-process ol{gap:25px}.re-property-facts li+li:before{padding-inline:9px}}
@media(max-width:700px){.re-hero{grid-template-columns:1fr;padding-block:42px 32px;gap:28px}.re-page h1{font-size:clamp(2.65rem,9.6vw,3.55rem)}.re-hero-copy{padding:0}.re-hero .re-lead{margin-top:23px}.re-eyebrow{font-size:.62rem;margin-bottom:22px!important}.re-lead{font-size:.97rem;line-height:1.8}.re-hero-photo{aspect-ratio:1.22/1;max-height:410px}.re-hero-photo figcaption{bottom:18px;inset-inline:20px;font-size:.69rem}.re-services{grid-template-columns:repeat(2,minmax(0,1fr))}.re-service,.re-service+.re-service{padding:22px 12px 22px 0;gap:8px}.re-service:nth-child(even){padding-inline-start:16px;padding-inline-end:0}.re-service strong{font-size:.89rem}.re-service strong+span{font-size:.69rem}.re-service-arrow{display:none}.re-catalog{padding-block:54px 58px}.re-section-head{align-items:flex-start;gap:18px;flex-wrap:wrap}.re-section-head>div:first-child{flex:1 1 250px}.re-section-head>div:first-child>p:last-child{font-size:.9rem;margin-top:16px}.re-partner{flex-direction:row;align-items:center;gap:12px}.re-partner>img{width:90px;height:32px;object-position:left center}.re-partner>span{font-size:.59rem}.re-catalog-meta{font-size:.66rem;gap:9px;margin-block:24px}.re-property-grid{grid-template-columns:1fr;gap:38px}.re-property-photo{aspect-ratio:1.42/1}.re-property-type{inset-inline-start:14px;top:14px;font-size:.6rem}.re-property-body{padding-top:20px}.re-property h3{font-size:1.55rem;min-height:0}.re-property-price{font-size:1.45rem;margin-block:14px 16px!important}.re-property-footer{padding-top:12px}.re-property-facts{font-size:.76rem;margin-bottom:16px}.re-property-facts li+li:before{padding-inline:11px}.re-process{padding-block:48px}.re-process-intro,.re-vibe{grid-template-columns:1fr;gap:24px}.re-process ol{grid-template-columns:1fr;gap:28px;margin-top:32px;padding-top:28px}.re-process li>h3{margin-bottom:8px}.re-vibe{padding-block:54px}.re-rentals .re-hero-photo{aspect-ratio:1.22/1}.re-return{padding-block:25px}.re-return>a{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){.re-property-photo>img,.re-button{transition:none}.re-property:hover .re-property-photo>img{transform:none}}


/* MEDLA: site-map.css */
.sm-page{padding-top:clamp(48px,7vw,92px);padding-bottom:90px;color:var(--ink,#14393f)}
.sm-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:64px;margin-bottom:44px}
.sm-eyebrow{font-size:12px;letter-spacing:.12em;color:#948566;margin:0 0 22px}
.sm-hero h1{font-size:clamp(44px,5.7vw,78px);line-height:1.04;letter-spacing:-.055em;font-weight:450;margin:0}
.sm-hero>div>p:not(.sm-eyebrow){font-size:18px;line-height:1.8;color:#617376;margin:0 0 26px}
.sm-total{font-size:12px;color:#948566}
.sm-shortcuts{display:flex;flex-wrap:wrap;gap:13px 25px;padding:26px 0 30px;border-top:1px solid #d9ded4;border-bottom:1px solid #d9ded4;margin-bottom:50px}
.sm-shortcuts a{font-size:13px;text-decoration:none;color:inherit;display:flex;gap:14px;align-items:center}
.sm-shortcuts a span{color:#aa9362}
.sm-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:54px}
.sm-nav{align-self:start;position:sticky;top:120px}
.sm-nav>p{color:#948566;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 17px}
.sm-nav nav{display:flex;flex-direction:column}
.sm-nav a{font-size:13px;line-height:1.5;text-decoration:none;color:#52696a;padding:12px 0;border-bottom:1px solid #e0e3db}
.sm-filters{display:grid;grid-template-columns:minmax(180px,1fr) 130px 170px;gap:14px}
.sm-filters--base{grid-template-columns:minmax(180px,1fr) 170px}
.sm-filters label{display:flex;flex-direction:column;gap:9px;color:#617376;font-size:11px}
.sm-filters input,.sm-filters select{box-sizing:border-box;width:100%;min-width:0;height:47px;border:1px solid #cbd3c8;background:#fffef9;color:#163e44;border-radius:5px;padding:0 13px;font:inherit;font-size:13px}
.sm-toolbar{display:flex;align-items:center;gap:17px;margin:14px 0 28px}
.sm-toolbar p{font-size:11px;color:#617376;margin:0;flex:1}
.sm-toolbar button{background:none;border:0;padding:10px 0;color:#52696a;font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.sm-section{border-top:1px solid #d9ded4;scroll-margin-top:120px}
.sm-section>summary{list-style:none;display:flex;gap:18px;align-items:flex-start;padding:26px 0;cursor:pointer}
.sm-section>summary::-webkit-details-marker{display:none}
.sm-section h2{font-size:26px;line-height:1.15;letter-spacing:-.035em;font-weight:450;margin:0}
.sm-section summary p{font-size:12px;color:#617376;line-height:1.65;margin:8px 0 0}
.sm-plus{margin-left:auto;font-size:24px;font-weight:300;color:#aa9362;line-height:25px}
.sm-section[open] .sm-plus{transform:rotate(45deg)}
.sm-branches{padding:0 0 24px}
.sm-group{border-left:1px solid #d9ded4;padding-left:21px;margin-bottom:23px}
.sm-group h3{font-size:12px;font-weight:500;color:#948566;margin:0 0 10px;padding-top:4px}
.sm-group ul{list-style:none;margin:0;padding:0}
.sm-entry{border-top:1px solid #e1e6dc}
.sm-entry a{display:flex;justify-content:space-between;gap:15px;padding:15px 0;color:inherit;text-decoration:none}
.sm-entry a:hover .sm-title,.sm-nav a:hover,.sm-shortcuts a:hover{color:#9a8054}
.sm-entry-copy{min-width:0}
.sm-title{display:block;font-size:14px;line-height:1.5}
.sm-path{display:block;font-size:10px;line-height:1.6;color:#75847c;overflow-wrap:anywhere;margin-top:4px}
.sm-entry-meta{display:flex;gap:8px;align-items:flex-start;flex-shrink:0;padding-top:2px;color:#94a191;font-size:15px}
.sm-badge{font-size:9px;padding:3px 6px;line-height:1.6;color:#617376;background:#edf0e8;border-radius:3px;white-space:nowrap}
.sm-empty{font-size:14px;color:#617376;padding:28px 0}
.sm-page [hidden]{display:none!important}
.sm-page :is(a,button,input,select,summary):focus-visible{outline:2px solid #aa9362;outline-offset:5px}
@media(max-width:1050px){.sm-workspace{grid-template-columns:165px minmax(0,1fr);gap:30px}.sm-hero{gap:35px}.sm-filters{grid-template-columns:1fr 130px}.sm-filters label:last-child{grid-column:1/-1}}
@media(max-width:740px){.sm-hero{display:block;margin-bottom:32px}.sm-hero h1{font-size:49px}.sm-hero>div>p:not(.sm-eyebrow){margin-top:24px;font-size:16px}.sm-shortcuts{gap:18px 25px;margin-bottom:33px}.sm-workspace{display:block}.sm-nav{position:static;margin-bottom:30px}.sm-nav>p{display:none}.sm-nav nav{flex-direction:row;gap:8px 20px;flex-wrap:wrap}.sm-nav a{font-size:11px;padding:4px 0}.sm-filters{grid-template-columns:1fr 1fr}.sm-filters label:first-child{grid-column:1/-1}.sm-filters label:last-child{grid-column:auto}.sm-section h2{font-size:23px}.sm-section summary p{font-size:11px}.sm-section>summary{gap:12px}.sm-group{padding-left:16px}.sm-title{font-size:13px}.sm-entry-meta{gap:5px}.sm-page{padding-bottom:55px}}
@media(max-width:360px){.sm-hero h1{font-size:43px}.sm-filters{grid-template-columns:1fr}.sm-filters label:last-child{grid-column:1/-1}.sm-toolbar{gap:12px}}


/* MEDLA: real-estate-navigation.css */
/* Property discovery shares the legal directory while retaining its own intake. */
.rv-layout .re-page h1 em, .rv-layout .re-page h2 em { color: var(--re-gold) !important; }
.rv-layout .sg-card--inmobiliaria { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; background: #e6e8dd; min-height: 300px; }
.rv-layout .sg-card--inmobiliaria .sg-card-visual { height: 320px; margin: 0; overflow: hidden; }
.sg-card--inmobiliaria .sg-card-visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rv-layout .sg-card--inmobiliaria .sg-card-copy { align-self: center; padding: 36px; }
.rv-layout .sg-card--inmobiliaria h2 { font-size: clamp(28px, 3.5vw, 44px); }
@media (max-width: 600px) {
 .rv-layout .sg-card--inmobiliaria { grid-template-columns: 1fr; }
 .rv-layout .sg-card--inmobiliaria .sg-card-visual { height: 220px; }
 .rv-layout .sg-card--inmobiliaria .sg-card-copy { padding: 26px; }
}


/* MEDLA: insurance-services.css */
/* Insurance: a quiet editorial page with the supplied, unaltered brand artwork. */
.ins-page{--ins-ink:#173e41;--ins-gold:#a18d62;--ins-line:#d9dacd;color:var(--ins-ink);padding-bottom:5rem}
.ins-page .rv-shell{max-width:1240px}
.ins-page h1,.ins-page h2,.ins-page h3,.ins-gallery h2,.ins-immigration h2{font-weight:450;letter-spacing:-.045em;line-height:1.12;margin:0;color:#173e41}
.ins-page h2{font-size:clamp(1.9rem,3.25vw,2.85rem)}
.ins-page p,.ins-gallery p,.ins-immigration p{color:#5c6d69;font-size:1rem;line-height:1.8}
.ins-page .ins-kicker,.ins-kicker{font-size:.7rem;letter-spacing:.12em;line-height:1.5;color:#8c7952;margin:0 0 1.2rem}
.ins-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:7%;padding-top:3.4rem;padding-bottom:5.8rem}
.ins-back{display:inline-block;font-size:.8rem;color:#647470;text-decoration:none;border-bottom:1px solid #c3c6b6;margin-bottom:2.6rem;padding-bottom:.2rem}
.ins-hero h1{font-size:clamp(3rem,5.2vw,4.8rem);max-width:13ch;line-height:1.04}
body.page-inner.ins-layout .ins-hero h1 em{display:block;font-family:var(--font-display);color:#a18d62!important;font-weight:400;letter-spacing:-.045em;line-height:1.08;margin-top:.1em}
.ins-page .ins-lead{font-size:1.12rem;line-height:1.85;max-width:34rem;margin:1.8rem 0 2rem}
.ins-actions{display:flex;gap:1.65rem;align-items:center;flex-wrap:wrap}
.ins-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.9rem 1.45rem;background:#173e41;color:#fff!important;border:1px solid #173e41;border-radius:999px;text-decoration:none;line-height:1.4;text-align:center;font-size:.9rem;transition:background .2s;max-width:100%;box-sizing:border-box}
.ins-button:hover{background:#28595b}
.ins-link{display:inline-block;color:#234b4b;text-decoration:none;border-bottom:1px solid #b6a880;padding:.35rem 0;font-size:.88rem;line-height:1.6}
.ins-link:hover{color:#897448;border-color:currentColor}
.ins-visual{position:relative;aspect-ratio:1.12;min-width:0;margin:0;display:grid;place-items:center;overflow:hidden;border:1px solid #d1d7c6;border-radius:22px;background:radial-gradient(ellipse at 25% 15%,#f4f5ed,transparent 65%),linear-gradient(145deg,#e7ebdf,#d9e1d3);box-sizing:border-box}
.ins-visual img{display:block;width:100%;height:100%;object-fit:contain;padding:1rem;box-sizing:border-box}
.ins-section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:8%;align-items:end;margin-bottom:2.5rem}
.ins-section-head>p{margin:0;max-width:24rem}
.ins-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.ins-type{border-top:1px solid var(--ins-line);padding-top:1.3rem;display:flex;flex-direction:column;align-items:flex-start;scroll-margin-top:130px}

.ins-type h3{font-size:1.6rem}
.ins-page .ins-type-tag{font-family:var(--font-display);font-size:1.2rem;line-height:1.4;color:#4f6260;margin:1rem 0 .2rem;min-height:3.4em}
.ins-type>p:not(.ins-type-tag){font-size:.91rem;line-height:1.85;margin:.8rem 0 1.6rem}
.ins-type .ins-link{margin-top:auto}
.ins-other{display:flex;align-items:baseline;gap:1.2rem;flex-wrap:wrap;padding-top:2.3rem;padding-bottom:4rem}
.ins-page .ins-other p{font-size:.9rem;margin:0}
.ins-brands{background:#eeeee4;padding:4.5rem 0 3.5rem}
.ins-brands header{max-width:780px;margin:0 auto 2.8rem;text-align:center}
.ins-brands h2{line-height:1.2}
.ins-brands header>p:last-child{max-width:38rem;margin:1.4rem auto 0}
.ins-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem 2rem;list-style:none;padding:0;margin:0;background:transparent;border:0}
.ins-logo{background:transparent;display:flex;align-items:center;justify-content:center;min-height:112px;padding:1.1rem;box-sizing:border-box;min-width:0;mix-blend-mode:multiply}
.ins-logo svg{display:block;max-width:100%;width:100%;height:67px;overflow:hidden;transition:transform .25s ease}
@media(hover:hover){.ins-logo:hover svg{transform:translateY(-3px)}}
.ins-page .ins-brands-note{font-size:.74rem;line-height:1.7;max-width:55rem;text-align:center;margin:1.5rem auto 0;color:#718078}
.ins-process{padding-top:5rem;padding-bottom:3.5rem}
.ins-process>header{margin-bottom:2.8rem}
.ins-process ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}
.ins-process li{border-top:1px solid var(--ins-line);padding-top:1.3rem}
.ins-process h3{font-size:1.45rem;max-width:19ch;line-height:1.25}
.ins-process li p{font-size:.92rem;line-height:1.85;margin:1rem 0 0}
.ins-page .ins-provider{font-size:.77rem;line-height:1.8;color:#748079;max-width:62rem;margin:2.4rem 0 0}
.ins-final{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;border-top:1px solid var(--ins-line);padding-top:3rem}
.ins-faq h2{margin-bottom:1.5rem}
.ins-faq details{border-bottom:1px solid var(--ins-line);padding:1.15rem 0}
.ins-faq summary{display:flex;gap:1.5rem;justify-content:space-between;list-style:none;cursor:pointer;font-size:1rem;line-height:1.6}
.ins-faq summary::-webkit-details-marker{display:none}
.ins-faq summary span{color:#a18d62;font-size:1.2rem}
.ins-faq details[open] summary span{transform:rotate(45deg)}
.ins-faq p{font-size:.91rem;margin:.9rem 0 .5rem}
.ins-appointment{align-self:start;padding:2rem;background:#ebeee4}
.ins-appointment h2{font-size:clamp(1.7rem,2.5vw,2.2rem);line-height:1.2}
.ins-appointment p{font-size:.94rem;margin:1rem 0 1.7rem}
.ins-page :is(a,summary):focus-visible,.ins-gallery:focus-visible,.ins-immigration a:focus-visible{outline:2px solid #a18d62;outline-offset:5px}
.ins-page [id]{scroll-margin-top:130px}
/* Entry points share the landing's visual language without creating another form area. */
.ins-gallery{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:3rem;background:#eef0e6;border:1px solid #d1d7c6;text-decoration:none;color:#173e41;padding:2.5rem;border-radius:14px}
.ins-gallery-art{display:flex;align-items:center;justify-content:center;gap:2rem;min-height:140px;color:#a18d62}
.ins-gallery-art span{max-width:13ch;font-family:var(--font-display);font-size:1.6rem;line-height:1.4;color:#49685d}
.ins-gallery .ins-shield{flex-shrink:0;width:74px;height:auto}
.ins-gallery h2{font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.2}
.ins-gallery p{font-size:.95rem;margin:.8rem 0}
.ins-gallery .ins-kicker{display:block;margin-bottom:.7rem}
.ins-gallery .ins-link{margin-top:.25rem}
.ins-immigration{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2rem;margin-bottom:4rem;padding-top:2rem;padding-bottom:2rem;border-top:1px solid #d5dacb;border-bottom:1px solid #d5dacb}
.ins-immigration>div{max-width:45rem}
.ins-immigration h2{font-size:clamp(1.7rem,2.7vw,2.5rem)}
.ins-immigration p{font-size:.98rem;margin:.9rem 0 0}
.ins-immigration .ins-kicker{margin:0 0 .8rem}
.ins-immigration .ins-button{flex-shrink:0}
[dir=rtl] .ins-hero h1 em{font-family:inherit;letter-spacing:0;line-height:1.4}
[dir=rtl] .ins-page :is(h1,h2,h3){letter-spacing:0;line-height:1.4}
@media(max-width:1000px){.ins-hero{gap:4%}.ins-visual{aspect-ratio:1.04}.ins-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 2.5rem}.ins-page .ins-type-tag{min-height:0}.ins-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ins-logo{padding:1.25rem;min-height:110px}.ins-process ol{gap:2rem}.ins-gallery{gap:2rem;padding:2rem}}
@media(max-width:680px){.ins-page{padding-bottom:3rem}.ins-hero{grid-template-columns:1fr;padding-top:2rem;padding-bottom:3.5rem;gap:2.5rem}.ins-back{margin-bottom:1.8rem}.ins-hero h1{font-size:clamp(2.8rem,12vw,4rem);max-width:14ch}.ins-page .ins-lead{font-size:1rem;margin:1.4rem 0 1.7rem}.ins-actions{gap:1rem 1.4rem}.ins-visual{aspect-ratio:1.35;max-height:340px;border-radius:18px}.ins-visual img{padding:.5rem}.ins-section-head{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.ins-types{gap:2rem 1.4rem}.ins-type h3{font-size:1.35rem}.ins-page .ins-type-tag{font-size:1.1rem}.ins-type>p:not(.ins-type-tag){font-size:.85rem}.ins-type .ins-link{font-size:.82rem}.ins-other{padding-top:1.8rem;padding-bottom:2.7rem;gap:.4rem}.ins-brands{padding:3rem 0 2.5rem}.ins-brands h2{font-size:1.85rem}.ins-brands h2 br{display:none}.ins-brands header{margin-bottom:2rem}.ins-brands header>p:last-child{font-size:.94rem}.ins-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-logo{min-height:100px;padding:1.1rem}.ins-logo svg{height:58px}.ins-process{padding-top:3rem;padding-bottom:2.5rem}.ins-process>header{margin-bottom:2rem}.ins-process ol{grid-template-columns:1fr;gap:1.8rem}.ins-process h3{max-width:none}.ins-final{grid-template-columns:1fr;gap:2.3rem;padding-top:2.5rem}.ins-gallery{grid-template-columns:1fr;gap:1rem;padding:1.8rem}.ins-gallery-art{min-height:120px;justify-content:flex-start}.ins-gallery-art span{max-width:18ch;font-size:1.5rem}.ins-immigration{flex-direction:column;align-items:flex-start;margin-bottom:2.7rem;gap:1.4rem}}
@media(max-width:360px){.ins-types{grid-template-columns:1fr}.ins-logo{padding:.85rem;min-height:90px}.ins-actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.ins-page *{scroll-behavior:auto;transition:none}}


/* MEDLA: mexico-services.css */
/* Mexico's document services: typography, open space and MEDLA's existing palette. */
.mx-page{--mx-ink:#173e41;--mx-muted:#596b66;--mx-gold:#9b8962;--mx-rule:#d8d9ca;color:var(--mx-ink)}
.mx-page .rv-shell{max-width:1240px}
.mx-page h1,.mx-page h2,.mx-page h3{font-family:var(--font-body);font-weight:500;letter-spacing:-.04em;line-height:1.16;color:var(--mx-ink);margin:0;text-wrap:balance}
.mx-page h2{font-size:clamp(1.9rem,3vw,2.6rem)}
.mx-page p{font-size:1rem;line-height:1.8;color:var(--mx-muted);margin:0}
.mx-page .mx-kicker{font-size:.74rem;letter-spacing:.09em;line-height:1.5;color:var(--mx-gold);margin-bottom:1.15rem}
.mx-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.38fr);gap:clamp(40px,7vw,100px);align-items:center;padding-top:clamp(44px,6vw,76px);padding-bottom:clamp(48px,7vw,90px)}
.mx-hero-copy{min-width:0}
.mx-hero h1{font-size:clamp(2.75rem,4.7vw,4.15rem);line-height:1.08;letter-spacing:-.055em;max-width:19ch}
.mx-hero h1 span{display:block;color:var(--mx-gold)}
.mx-page .mx-lead{font-size:clamp(1.05rem,1.55vw,1.2rem);max-width:39rem;margin-top:1.75rem}
.mx-actions{display:flex;align-items:center;gap:1.15rem 1.65rem;flex-wrap:wrap;margin-top:2rem}
.mx-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;min-height:50px;padding:.9rem 1.5rem;border:1px solid var(--mx-ink);border-radius:999px;background:var(--mx-ink);color:#fff!important;font-size:.9rem;line-height:1.5;text-decoration:none;text-align:center;transition:background .2s}
.mx-button:hover{background:#28595b}
.mx-link{display:inline-block;align-self:flex-start;color:var(--mx-ink);font-size:.9rem;line-height:1.6;text-decoration:none;border-bottom:1px solid #b5a67e;padding:.35rem 0}
.mx-link:hover{color:#897448;border-color:currentColor}
.mx-page .mx-location-note{font-size:.79rem;line-height:1.65;color:var(--mx-gold);margin-top:1.35rem}
.mx-signature{justify-self:center;text-align:center;min-width:0;padding-block:2rem;width:100%;max-width:260px}
.mx-signature img{display:block;width:124px;max-width:60%;height:auto;margin:0 auto 1.6rem;mix-blend-mode:multiply}
.mx-signature>span{display:block;font-family:var(--font-body);font-size:1.8rem;letter-spacing:-.035em;color:var(--mx-ink)}
.mx-page .mx-signature p{font-size:.8rem;line-height:1.8;margin:1.1rem 0 0;color:var(--mx-gold)}
.mx-services{padding-bottom:4.8rem}
.mx-section-head{border-top:1px solid var(--mx-rule);padding-top:2.6rem;margin-bottom:2.4rem}
.mx-service{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,6vw,84px);padding:2.35rem 0;border-top:1px solid var(--mx-rule)}
.mx-service:last-child{padding-bottom:0}
.mx-service h3{font-size:clamp(1.5rem,2.1vw,1.9rem);max-width:23ch}
.mx-page .mx-service-note{max-width:26rem;color:var(--mx-gold);font-size:.88rem;line-height:1.7;margin-top:1rem}
.mx-service-copy{min-width:0}
.mx-service-copy p+p{margin-top:1rem}
.mx-service-copy .mx-link{margin-top:1.2rem}
.mx-start{padding:3.8rem 0;background:#ecede3}
.mx-start-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,6vw,84px)}
.mx-start h2{max-width:19ch}
.mx-start-layout>div:first-child>p:last-child{margin-top:1.4rem;font-size:.94rem;max-width:28rem}
.mx-information{list-style:none;margin:0;padding:0;display:grid;gap:1.35rem}
.mx-information li{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:1.4rem;min-width:0}
.mx-information strong{font-size:1rem;font-weight:500;line-height:1.7}
.mx-information span{font-size:.95rem;line-height:1.8;color:var(--mx-muted)}
.mx-page .mx-scope{font-size:.83rem;line-height:1.8;margin-top:1.9rem;padding-top:1.45rem;border-top:1px solid #cdd0bf}
.mx-questions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,6vw,84px);padding-top:4.5rem;padding-bottom:4.5rem}
.mx-faq details{border-bottom:1px solid var(--mx-rule);padding:1.25rem 0}
.mx-faq details:first-child{padding-top:0}
.mx-faq summary{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;list-style:none;cursor:pointer;font-size:1.02rem;line-height:1.65}
.mx-faq summary::-webkit-details-marker{display:none}
.mx-faq summary>span{flex-shrink:0;font-size:1.35rem;color:var(--mx-gold);line-height:1.3}
.mx-faq details[open] summary>span{transform:rotate(45deg)}
.mx-page .mx-faq p{font-size:.94rem;margin-top:1rem}
.mx-contact{background:var(--mx-ink);padding:3.8rem 0}
.mx-contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(35px,7vw,100px);align-items:center}
.mx-contact h2{color:#f8f5e9}
.mx-page .mx-contact p{color:#d0d9d2}
.mx-page .mx-contact .mx-kicker{color:#cbbb8c}
.mx-contact-layout>div>p:not(.mx-kicker){max-width:30rem;margin-top:1.25rem}
.mx-contact .mx-button{margin-top:1.75rem;background:#d1c194;border-color:#d1c194;color:#173e41!important}
.mx-contact .mx-button:hover{background:#e1d3ad}
.mx-contact address{font-style:normal;min-width:0}
.mx-page .mx-contact-label{font-size:.77rem;letter-spacing:.04em;color:#cbbb8c;margin-bottom:1.2rem}
.mx-page .mx-phone{font-size:1rem;line-height:1.7;margin-bottom:1rem}
.mx-phone a{color:inherit;text-decoration:none;white-space:nowrap}
.mx-phone a:hover{text-decoration:underline;text-underline-offset:4px}
.mx-page .mx-office-note{font-size:.82rem;line-height:1.8;margin-bottom:1rem}
.mx-office-note strong{font-weight:600}
.mx-contact address>p:last-child{font-size:.9rem;line-height:1.8}
.mx-spain{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;padding-top:3rem;padding-bottom:3.5rem}
.mx-spain>div{max-width:46rem}
.mx-spain h2{font-size:1.6rem}
.mx-spain p{font-size:.94rem;margin-top:.7rem}
.mx-spain .mx-link{flex-shrink:0;align-self:center}
.mx-page :is(a,summary):focus-visible{outline:2px solid #a18d62;outline-offset:5px}
.mx-page [id]{scroll-margin-top:145px}
[dir=rtl] .mx-page :is(h1,h2,h3){letter-spacing:normal;line-height:1.4}
@media(max-width:900px){.mx-hero{gap:38px;grid-template-columns:minmax(0,1fr) 190px}.mx-signature img{width:100px}.mx-service,.mx-start-layout,.mx-questions{gap:38px}.mx-contact-layout{gap:45px}.mx-information li{grid-template-columns:1fr;gap:.15rem}.mx-spain{gap:2rem}}
@media(max-width:650px){.mx-hero{grid-template-columns:1fr;gap:2rem;padding-top:2.4rem;padding-bottom:3rem}.mx-hero h1{font-size:clamp(2.45rem,10vw,3.45rem)}.mx-page .mx-lead{margin-top:1.4rem}.mx-signature{display:none}.mx-actions{gap:1rem 1.4rem;margin-top:1.6rem}.mx-service,.mx-start-layout,.mx-questions,.mx-contact-layout{grid-template-columns:1fr;gap:1.5rem}.mx-services{padding-bottom:3rem}.mx-section-head{padding-top:2rem;margin-bottom:1.8rem}.mx-service{padding:1.8rem 0}.mx-service h3{max-width:25ch}.mx-page .mx-service-note{margin-top:.65rem}.mx-start{padding:2.7rem 0}.mx-start h2{max-width:22ch}.mx-start-layout>div:first-child>p:last-child{margin-top:1rem}.mx-information{gap:1.1rem}.mx-information li{gap:.2rem}.mx-page .mx-scope{margin-top:1.5rem;padding-top:1.2rem}.mx-questions{padding-top:3rem;padding-bottom:3rem;gap:2rem}.mx-faq summary{gap:1rem;font-size:.97rem}.mx-contact{padding:2.7rem 0}.mx-contact-layout{gap:2.8rem}.mx-contact address{border-top:1px solid #728d805c;padding-top:1.8rem}.mx-spain{flex-direction:column;align-items:flex-start;gap:1.25rem;padding-top:2.5rem;padding-bottom:2.8rem}.mx-spain .mx-link{align-self:flex-start}.mx-page [id]{scroll-margin-top:125px}}
@media(max-width:360px){.mx-hero h1{font-size:2.35rem}.mx-button{padding:.85rem 1.15rem;font-size:.86rem}.mx-actions{align-items:flex-start;flex-direction:column}.mx-page h2{font-size:1.8rem}.mx-phone a{white-space:normal}}
@media(prefers-reduced-motion:reduce){.mx-page *{transition:none!important;scroll-behavior:auto!important}}


/* MEDLA: business-landing.css */
/* Business services: restrained typography and direct, contextual next steps. */
.biz-page{--biz-ink:#173d40;--biz-muted:#526965;--biz-paper:#f8f6ef;--biz-line:#d6d7ca;--biz-gold:#a08b60;background:var(--biz-paper);color:var(--biz-ink)}
.biz-page h1,.biz-page h2,.biz-page h3{font-family:var(--font-body,Manrope,sans-serif);font-weight:500;letter-spacing:-.045em;text-wrap:balance}
.biz-page p{line-height:1.8}
.biz-page a:focus-visible{outline:3px solid var(--biz-gold);outline-offset:6px}
.biz-page [id]{scroll-margin-top:calc(var(--market-header-height,153px) + 28px)}
.biz-hero{padding-block:clamp(36px,5vw,68px) 0}
.biz-back{display:inline-block;margin-bottom:clamp(38px,5vw,66px);color:var(--biz-muted);font-size:.88rem;text-underline-offset:.3em;text-decoration-thickness:1px}
.biz-eyebrow{margin:0 0 24px;color:#826e46;font-size:.76rem;letter-spacing:.1em}
.biz-hero h1{max-width:1000px;margin:0 0 28px;font-size:clamp(2.5rem,5.3vw,4.6rem);line-height:1.12}
.biz-hero h1 em{font-style:normal;color:var(--biz-gold)}
.biz-hero .biz-lead{max-width:770px;margin:0 0 30px;font-size:clamp(1rem,1.4vw,1.18rem);color:var(--biz-muted)}
.biz-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;max-width:100%;min-height:50px;padding:15px 25px;border:1px solid var(--biz-ink);border-radius:999px;background:var(--biz-ink);color:#fff;text-decoration:none;font-size:.9rem;line-height:1.45;transition:background .2s,color .2s}
.biz-button:hover{background:#285457;color:#fff}
.biz-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:10px 38px;margin-top:clamp(42px,6vw,72px);padding-block:24px;border-block:1px solid var(--biz-line)}
.biz-navigation a{display:inline-flex;align-items:center;min-height:44px;color:var(--biz-ink);font-size:.9rem;text-decoration:none}
.biz-navigation a:hover{text-decoration:underline;text-underline-offset:.35em}
.biz-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:clamp(35px,8vw,120px);padding-block:clamp(48px,7vw,96px)}
.biz-section-intro h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.2;margin:0 0 24px}
.biz-section-intro>p{max-width:360px;font-size:.96rem;color:var(--biz-muted);margin:0}
.biz-services{min-width:0}
.biz-service{padding-block:28px;border-bottom:1px solid var(--biz-line)}
.biz-service:first-child{padding-top:0}
.biz-service:last-child{border-bottom:0;padding-bottom:0}
.biz-service h3{font-size:clamp(1.2rem,1.9vw,1.6rem);line-height:1.4;margin:0 0 12px}
.biz-service>p{margin:0;color:var(--biz-muted);font-size:.96rem}
.biz-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;max-width:100%;margin-top:14px;color:var(--biz-ink);font-size:.9rem;line-height:1.5;text-underline-offset:.3em;text-decoration-thickness:1px}
.biz-services>.biz-link{margin-top:24px}
.biz-band{--biz-ink:#f8f6ef;--biz-muted:#d1dcd7;--biz-line:#49625f;background:#173d40;color:var(--biz-ink)}
.biz-band .biz-section-intro h2{color:#e0d0a6}
@media(max-width:900px){.biz-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px}}
@media(max-width:680px){.biz-section{grid-template-columns:1fr;gap:34px}.biz-section-intro>p{max-width:none}.biz-navigation{gap:4px 24px}.biz-navigation a{font-size:.86rem}.biz-hero h1{font-size:clamp(2.25rem,8vw,3.2rem)}.biz-back{margin-bottom:32px}.biz-link{padding-block:3px}}
@media(prefers-reduced-motion:reduce){.biz-button{transition:none}}

/* One quiet route to business consulting from the relevant service hubs. */
.rv-layout .biz-discovery{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;padding-block:38px;border-top:1px solid #d6d7ca;color:#173d40}
.rv-layout .biz-discovery h2{margin:0 0 10px;font:500 clamp(22px,2.3vw,29px)/1.3 var(--font-body);letter-spacing:-.025em}
.rv-layout .biz-discovery p{max-width:60ch;margin:0;color:#526965;font:400 15px/1.7 var(--font-body)}
.rv-layout .biz-discovery>a{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;color:inherit;font:500 15px/1.5 var(--font-body);text-underline-offset:5px;text-decoration-color:#a08b60}
.rv-layout .biz-discovery>a:focus-visible{outline:2px solid #a08b60;outline-offset:6px}
@media(max-width:760px){.rv-layout .biz-discovery{display:block;padding-block:30px}.rv-layout .biz-discovery>a{margin-top:14px}}


/* 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}
html:is([lang="es"],[lang="en"]) .rv-layout #content .mt-document h2{font-family:var(--font-display)}
html:is([lang="es"],[lang="en"]) .rv-layout .gr-head h1{font-weight:500;letter-spacing:-.045em;line-height:1.12}
/* Letter spacing belongs to Latin display text, not Arabic or Chinese scripts. */
html:is([lang="ar"],[lang="zh-Hans"]) .rv-layout :is(.ins-page,.mt-page,.re-page) :is(h1,h2,h3,p,em,span){font-family:var(--font-body);letter-spacing:normal}


/* 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 .rv-nav-backdrop { inset-block-start: 100px; }
.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(.im-page, .im-hub) :is(.im-section, .im-services, .im-process, .im-faq, .im-related, .im-final, .im-sources),
.rv-layout #content :is(.iq-section, .iq-shell, .im-service-group, .im-scope, .im-documents, .im-fees) {
  scroll-margin-top: 112px;
}
.rv-layout #content .pr-page :is(section[id], details[id], .pr-explorer, .pr-faq, .pr-close),
.rv-layout #content .es-pae { scroll-margin-top: 116px; }
.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 #explorar-servicios { scroll-margin-top: 125px; }
.rv-layout #content :is(.re-catalog, .re-property, .ins-type, .ins-page [id], .iv-page [id], .bi-prose section) {
  scroll-margin-top: 130px;
}
.rv-layout #content .mx-page [id] { scroll-margin-top: 145px; }
.rv-layout #content .home-services { scroll-margin-top: 100px; }
.rv-layout #content :is(#especialidades, #preguntas) { scroll-margin-top: 180px; }
.rv-layout #content .wf-anchor { scroll-margin-top: 135px !important; }
.rv-layout #content .atlas { scroll-margin-top: 98px !important; }
.rv-layout.page-home #content .home-closing .ask { scroll-margin-top: 100px !important; }
.rv-layout .ls-detail-page { --ls-anchor-offset: 190px; }
.rv-layout .sa-page { --sa-anchor: 150px; }
.rv-layout #content .sa-page :is(.sa-area, .sa-specialty-group, .sa-specialties)[id] { scroll-margin-top: var(--sa-anchor); }

@media (min-width: 701px) {
  .rv-layout .rv-section-nav,
  .rv-layout .ls-detail-page .rv-section-nav { top: var(--market-header-height); }
  .rv-layout.page-home .ed-home-gallery { top: 120px; }
}
@media (min-width: 741px) {
  .rv-layout .sm-nav { top: 120px; }
}
@media (min-width: 761px) {
  .rv-layout #pb.md-content .ed-detail-visual,
  .rv-layout #pb.md-content .ed-detail-visual--contact { top: 128px; }
  .rv-layout .bi-guide-index { top: 125px; }
  .rv-layout .sa-specialty-group > header { top: 155px; }
}
@media (min-width: 851px) {
  .rv-layout .ea-toc { top: 110px; }
}
@media (min-width: 901px) {
  .rv-layout .intl-detail-art { top: 130px; }
}
@media (min-width: 961px) {
  .rv-layout .rv-faq-section > div:first-child { top: 135px; }
  .rv-layout .rv-services-photo { top: 128px; }
}
@media (min-width: 1001px) and (min-height: 800px) {
  .rv-layout .im-aside { top: 120px; }
}
@media (max-width: 1100px) {
  .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));
  }
  .rv-layout .rv-nav-backdrop { inset-block-start: calc(82px + env(safe-area-inset-top, 0px)); }
  /* Keep the final footer links above the two floating contact controls. */
  .rv-layout .rv-footer.ss-footer { padding-bottom: calc(126px + env(safe-area-inset-bottom, 0px)); }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .rv-layout #pb.md-content .ed-detail-visual,
  .rv-layout #pb.md-content .ed-detail-visual--contact { top: 105px; }
}
@media (max-width: 960px) {
  .rv-layout .ls-detail-page { --ls-anchor-offset: 150px; }
  .rv-layout.page-home #content .home-closing .ask { scroll-margin-top: 85px !important; }
}
@media (max-width: 760px) {
  .rv-layout .sa-page { --sa-anchor: 115px; }
}
@media (max-width: 700px) {
  .rv-layout .ls-detail-page { --ls-anchor-offset: 110px; }
  .rv-layout #content :is(#especialidades, #preguntas) { scroll-margin-top: 100px; }
}
@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; }
  .rv-layout #content .mx-page [id] { scroll-margin-top: 125px; }
  .rv-layout #content .iv-page [id] { scroll-margin-top: 110px; }
}
@media (max-width: 640px) {
  .rv-layout #content .wf-anchor { scroll-margin-top: 105px !important; }
}
@media (max-width: 550px) {
  .rv-layout #content #explorar-servicios { scroll-margin-top: 105px; }
}


/* 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; }
}

