/* ==========================================================================
   Business Sale Compass, site layer (loaded after ivem.css)

   Direction: the quiet confidence of a corporate finance house. Warm paper
   and white surfaces, deep navy ink, one brass accent used sparingly.
   Headlines in Newsreader (an editorial serif), text and interface in
   Schibsted Grotesk. Hairline rules instead of heavy cards, small radii,
   photography kept calm and slightly desaturated.
   ========================================================================== */

@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 900;font-display:swap;src:url('../fonts/schibsted-grotesk.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Schibsted Grotesk';font-style:italic;font-weight:400 900;font-display:swap;src:url('../fonts/schibsted-grotesk-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/newsreader.woff2') format('woff2-variations'),url('../fonts/newsreader.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;src:url('../fonts/newsreader-italic.woff2') format('woff2-variations'),url('../fonts/newsreader-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root {
  /* Brand */
  --ink:     #0F1D36;
  --ink-1:   #182A4A;
  --ink-2:   #3E4A5F;
  --ink-3:   #586173;
  --line:    #E3E3DE;
  --line-2:  #CFCFC8;
  --paper:   #F3F3F0;
  --paper-2: #E9E9E4;
  --brass:   #9A7430;   /* text on light surfaces, 4.6:1 on white */
  --gold:    #C9A24C;   /* marks, rules, accents on dark */
  --gold-2:  #B68F3C;
  --up:      #2F6B4F;
  --down:    #9B3B2A;
  --sans:    "Schibsted Grotesk", "Helvetica Neue", Arial, system-ui, sans-serif;
  --serif:   "Newsreader", "Iowan Old Style", Georgia, "Times New Roman", serif;

  /* Re-point the inherited tokens so every inner page follows */
  --fondo: #FFFFFF; --fondo-suave: var(--paper); --fondo-verde: var(--paper); --tarjeta: #FFFFFF;
  --oscuro: var(--ink); --oscuro-2: var(--ink-1);
  --tinta: var(--ink); --tinta-2: var(--ink-2); --tinta-3: var(--ink-3);
  --sobre-oscuro: #E9ECF2; --sobre-oscuro-2: #A9B3C6; --marfil: #FFFFFF;
  --verde: var(--ink); --verde-2: var(--ink-1); --verde-velo: #EDEFF3;
  --ambar: var(--brass); --ambar-2: var(--gold); --ambar-texto: var(--ink); --ambar-velo: #F6EFDF;
  --aguja: var(--gold); --aguja-2: var(--gold-2); --aguja-velo: #F6EFDF;
  --linea: var(--line); --linea-2: var(--line-2);
  --ui: var(--sans); --titulos: var(--serif); --lectura: var(--sans);
  --r-s: 4px; --r-m: 6px; --r-l: 8px; --r-p: 999px;
  --sombra-1: 0 1px 2px rgba(15,29,54,.05);
  --sombra-2: 0 1px 2px rgba(15,29,54,.04), 0 10px 30px rgba(15,29,54,.06);
  --sombra-3: 0 1px 2px rgba(15,29,54,.05), 0 30px 60px -20px rgba(15,29,54,.22);
}

/* ---------- Type ---------- */
body { font-family: var(--sans); color: var(--ink); background: #FFFFFF; font-size: 1.0625rem; line-height: 1.65; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3 { font-family: var(--serif); color: var(--ink); text-wrap: balance; font-optical-sizing: auto; }
h1 { font-weight: 440; letter-spacing: -0.008em; line-height: 1.08; font-size: clamp(2.3rem, 4.2vw, 3.6rem); }
h2 { font-weight: 450; letter-spacing: -0.005em; line-height: 1.15; font-size: clamp(1.8rem, 2.9vw, 2.45rem); }
h3 { font-weight: 500; letter-spacing: 0; line-height: 1.28; font-size: 1.4rem; }
h4 { font-family: var(--sans); font-weight: 600; letter-spacing: 0; }
h1 em, h2 em { font-style: italic; font-weight: 380; }
.plomo { color: var(--ink-2); }
.articulo__cuerpo, .articulo-cuerpo, .prosa { font-family: var(--sans); }
a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 2px; }
::selection { background: #EEDFBC; color: var(--ink); }

/* Eyebrow label, used above headlines */
.ojo, .h-eyebrow {
  display: inline-flex; align-items: center; gap: .75rem; margin: 0 0 1.25rem;
  font-family: var(--sans); font-size: .75rem; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--brass);
}
.h-eyebrow::before { content: ""; width: 2rem; height: 1px; background: var(--gold); }
.h-eyebrow--light { color: var(--gold); }

/* ---------- Header ---------- */
.cabecera { background: rgba(255,255,255,.97); border-bottom: 1px solid transparent; backdrop-filter: saturate(1.2) blur(8px); }
.cabecera.desplazada { border-bottom-color: var(--line); box-shadow: none; }
.cabecera__fila { min-height: 4.75rem; }
.marca { gap: .65rem; }
.marca__logo { width: 30px; height: 30px; }
.marca__sigla { font-family: var(--serif); font-weight: 500; font-size: 1.32rem; letter-spacing: -0.012em; color: var(--ink); white-space: nowrap; }
.marca__sigla span { font-weight: 500; font-style: italic; color: var(--ink); }
.nav__enlace { font-size: .9375rem; font-weight: 500; color: var(--ink-2); padding: .6rem .85rem; }
.nav__enlace:hover, .nav__enlace:focus-visible { color: var(--ink); }
.nav__enlace[aria-current="page"] { color: var(--ink); font-weight: 600; }
.nav__enlace::after { display: none; }
.menu-boton { border-radius: var(--r-s); background: var(--ink); }

/* ---------- Buttons ---------- */
.boton {
  font-family: var(--sans); font-weight: 600; font-size: .9375rem; letter-spacing: .005em;
  border-radius: var(--r-s); min-height: 2.875rem; padding: .7rem 1.25rem; box-shadow: none;
  background: var(--ink); border: 1px solid var(--ink); color: #FFFFFF;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.boton:hover, .boton:focus-visible { background: var(--ink-1); border-color: var(--ink-1); transform: none; box-shadow: none; color: #FFFFFF; }
.boton--sol, .boton--aguja, .boton--ambar,
.asistente .navegacion-pasos .boton:not(.boton--linea) {
  background: var(--ink); border-color: var(--ink); color: #FFFFFF;
}
.boton--sol:hover, .boton--sol:focus-visible, .boton--aguja:hover, .boton--ambar:hover,
.asistente .navegacion-pasos .boton:not(.boton--linea):hover {
  background: var(--ink-1); border-color: var(--ink-1); color: #FFFFFF;
}
.boton--sol::after, .boton--grande::after { content: none; }
.cabecera .boton--sol::after, .nav .boton--sol::after { content: none; }
.boton--linea { background: transparent; border-color: var(--line-2); color: var(--ink); }
.boton--linea:hover, .boton--linea:focus-visible { background: var(--paper); border-color: var(--ink); color: var(--ink); }
.boton--grande { min-height: 3.25rem; padding: .9rem 1.6rem; font-size: 1rem; border-radius: var(--r-s); }
.seccion--oscura .boton--sol, .seccion--oscura .boton--ambar, .h-cta .boton--sol,
.marca-capitulo--cierre .boton--ambar {
  background: var(--gold); border-color: var(--gold); color: var(--ink);
}
.seccion--oscura .boton--sol:hover, .seccion--oscura .boton--ambar:hover, .h-cta .boton--sol:hover,
.marca-capitulo--cierre .boton--ambar:hover { background: #D8B566; border-color: #D8B566; color: var(--ink); }

/* Photography: one calm treatment everywhere */
.blog-tarjeta__imagen img, .marca-hero__foto img, .marca-capitulo__foto img,
.articulo-cabecera img, .articulo__imagen img, .h-photo img, .h-guide__img img, figure img[src*="/blog/"] {
  filter: saturate(.82) contrast(1.03);
}

/* ---------- Homepage ---------- */
.h-wrap { width: min(100% - 3rem, 1200px); margin-inline: auto; }
.h-section { padding-block: clamp(4rem, 8vw, 7rem); }
.h-section--mist, .h-section--paper { background: var(--paper); }
.h-title { max-width: 20ch; margin: 0 0 1.25rem; }
.h-body { font-size: 1.125rem; color: var(--ink-2); max-width: 34rem; margin: 0 0 1.75rem; }
.h-body a { color: var(--ink); font-weight: 600; text-decoration-color: var(--gold); }
.h-source { font-size: .8125rem; color: var(--ink-3); max-width: 34rem; border-top: 1px solid var(--line); padding-top: .9rem; margin-top: 1.5rem; }
.h-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem 4rem; align-items: end; margin-bottom: 3rem; }
.h-head .h-title { margin: 0; }
.h-head .h-body { margin: 0; }

/* Hero */
.h-hero { background: var(--paper); padding-block: clamp(3rem, 7vw, 6.5rem) clamp(3.5rem, 7vw, 6.5rem); position: relative; overflow: hidden; }
.h-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 1px; background: var(--line); }
.h-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.h-hero h1 { max-width: 11.5ch; margin: 0 0 1.5rem; }
.h-hero h1 em { color: var(--ink); }
.h-hero__lead { font-size: clamp(1.125rem, 1.5vw, 1.25rem); line-height: 1.6; color: var(--ink-2); max-width: 31rem; margin: 0 0 2rem; }
.h-proof { list-style: none; margin: 0; padding: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: .75rem 1.75rem; border-top: 1px solid var(--line); max-width: 34rem; }
.h-proof li { display: flex; align-items: center; gap: .55rem; font-weight: 500; font-size: .9375rem; color: var(--ink); }
.h-proof svg { width: 18px; height: 18px; color: var(--brass); flex: none; }
.h-hero__alt { margin: 1.75rem 0 0; color: var(--ink-2); font-size: .9375rem; }
.h-hero__alt a { color: var(--ink); font-weight: 600; text-decoration-color: var(--gold); text-decoration-thickness: 1px; }

.h-start {
  position: relative; background: #FFFFFF; border: 1px solid var(--line); border-radius: var(--r-l);
  box-shadow: 0 1px 3px rgba(15,29,54,.06); padding: clamp(1.5rem, 2.8vw, 2.25rem);
}
.h-start__head { display: flex; justify-content: space-between; font-size: .875rem; color: var(--ink-3); font-weight: 500; }
.h-start__bar { height: 2px; background: var(--line); margin: .85rem 0 1.6rem; overflow: hidden; }
.h-start__bar span { display: block; width: 10%; height: 100%; background: var(--gold); }
.h-start__q { font-size: clamp(1.5rem, 2.3vw, 1.85rem); font-weight: 450; letter-spacing: -0.012em; margin: 0 0 1.25rem; }
.h-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.h-chip {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 3.15rem; padding: .7rem .95rem;
  border: 1px solid var(--line); border-radius: var(--r-s); text-decoration: none;
  font-weight: 500; font-size: .9375rem; line-height: 1.25; color: var(--ink); background: #FFFFFF;
  transition: border-color .15s ease, background-color .15s ease;
}
.h-chip:hover, .h-chip:focus-visible { border-color: var(--ink); background: var(--paper); }
.h-start__note { margin: 1.1rem 0 0; font-size: .8125rem; color: var(--ink-3); display: flex; align-items: center; gap: .5rem; }
.h-start__note svg { width: 15px; height: 15px; flex: none; color: var(--ink-3); }

/* Principles strip */
.h-strip { border-bottom: 1px solid var(--line); background: #FFFFFF; }
.h-strip__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.h-strip__grid > div { padding: 2rem 2rem; display: grid; gap: .3rem; }
.h-strip__grid > div + div { border-left: 1px solid var(--line); }
.h-strip__grid > div:first-child { padding-left: 0; }
.h-strip strong { font-family: var(--serif); font-weight: 500; font-size: 1.3rem; letter-spacing: -0.01em; }
.h-strip span { color: var(--ink-2); font-size: .9375rem; }

/* Credentials band */
.h-cred { background: #FFFFFF; border-bottom: 1px solid var(--line); padding-block: 2.25rem; }
.h-cred__row { display: grid; grid-template-columns: minmax(0, 1.1fr) auto; gap: 1.5rem 3rem; align-items: center; }
.h-cred__text span { display: block; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--ink-3); margin-bottom: .4rem; }
.h-cred__text strong { font-family: var(--serif); font-weight: 450; font-size: 1.3rem; letter-spacing: -0.008em; line-height: 1.35; color: var(--ink); }
.h-cred__marks { display: flex; align-items: center; gap: 2.75rem; }
.h-cred__marks img { filter: grayscale(1) contrast(.9) brightness(.55); opacity: .8; }
.h-cred__barclays { display: inline-flex; align-items: center; gap: .55rem; }
.h-cred__note { grid-column: 1 / -1; margin: 0; font-size: .75rem; color: var(--ink-3); }

/* Steps (a real sequence, so numbered) */
.h-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); }
.h-steps li { position: relative; padding-top: 1.5rem; border-top: 1px solid var(--ink); }
.h-steps__n {
  display: block; font-family: var(--serif); font-weight: 400; font-size: 3.25rem; line-height: 1;
  color: var(--gold-2); margin-bottom: 1.25rem; font-variant-numeric: lining-nums;
}
.h-steps h3 { margin: 0 0 .6rem; }
.h-steps p { margin: 0; color: var(--ink-2); }

/* Split layout */
.h-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 7vw, 6.5rem); align-items: center; }
.h-split--faq { align-items: start; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }

/* Example report, styled like a page from a valuation memo */
.h-report { margin: 0; background: #FFFFFF; border: 1px solid var(--line); border-radius: var(--r-s); padding: clamp(1.5rem, 3vw, 2.5rem); }
.h-report__top { display: flex; justify-content: space-between; align-items: center; padding-bottom: .9rem; border-bottom: 1px solid var(--ink); font-size: .9375rem; font-weight: 600; }
.h-report__tag { font-size: .8125rem; font-weight: 500; font-style: italic; color: var(--ink-3); }
.h-report__meta { margin: 1rem 0 1.4rem; font-size: .9375rem; color: var(--ink-3); }
.h-report__value { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 3.4vw, 2.6rem); font-weight: 450; letter-spacing: -0.02em; line-height: 1; font-variant-numeric: lining-nums tabular-nums; }
.h-report__sub { margin: .6rem 0 1.6rem; color: var(--ink-2); font-size: .9375rem; }
.h-range__track { position: relative; height: 4px; background: var(--paper-2); }
.h-range__fill { position: absolute; top: -3px; bottom: -3px; background: var(--ink); }
.h-range__scale { display: flex; justify-content: space-between; margin-top: .6rem; font-size: .75rem; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.h-report__list { list-style: none; margin: 1.75rem 0 0; padding: 0; border-top: 1px solid var(--line); }
.h-report__list li { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--line); font-size: .9375rem; }
.h-report__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.h-report__list em { font-style: normal; font-weight: 600; font-size: .8125rem; color: var(--down); white-space: nowrap; }
.h-report__list li:last-child em { color: var(--up); }
.h-report__foot { margin: 1.4rem 0 0; font-size: .75rem; color: var(--ink-3); }

/* Data bars */
.h-bars { margin: 0; display: grid; gap: 1.25rem; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--paper); border-radius: var(--r-m); }
.h-bars__cap { font-size: .875rem; font-weight: 500; color: var(--ink-2); padding-bottom: .9rem; border-bottom: 1px solid var(--line-2); }
.h-bars__row { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) 3.75rem; align-items: center; gap: 1rem; position: relative; }
.h-bars__row::after { content: ""; grid-column: 2; grid-row: 1; height: 2.25rem; background: rgba(15,29,54,.04); z-index: 0; }
.h-bars__label { font-size: .9375rem; color: var(--ink-2); font-weight: 500; }
.h-bars__bar { grid-column: 2; grid-row: 1; height: 2.25rem; background: #C8CEDA; z-index: 1; }
.h-bars__bar--avg { background: #8C97AD; }
.h-bars__bar--top { background: var(--ink); }
.h-bars__val { font-family: var(--serif); font-weight: 450; font-size: 1.5rem; text-align: right; font-variant-numeric: lining-nums tabular-nums; }

/* Editorial photo block */
.h-feature { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2.5rem, 7vw, 6.5rem); align-items: center; }
.h-photo { margin: 0; position: relative; }
.h-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r-s); }
.h-photo figcaption { margin-top: .75rem; font-size: .8125rem; color: var(--ink-3); }
.h-quote { margin: 0 0 2rem; padding: 0; font-family: var(--serif); font-style: italic; font-weight: 380; font-size: clamp(1.4rem, 2.3vw, 1.85rem); line-height: 1.35; color: var(--ink); max-width: 30ch; }
.h-list { list-style: none; margin: 0 0 2.25rem; padding: 0; border-top: 1px solid var(--line); max-width: 36rem; }
.h-list li { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .75rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.h-list b { font-family: var(--serif); font-weight: 450; color: var(--gold-2); font-size: 1.05rem; }
.h-list strong { display: block; font-weight: 600; margin-bottom: .15rem; }
.h-list span { color: var(--ink-2); font-size: .975rem; }
.h-link { display: inline-flex; align-items: center; gap: .5rem; color: var(--ink); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: .2rem; }
.h-link::after { content: "\2192"; transition: transform .2s ease; }
.h-link:hover::after { transform: translateX(3px); }

/* Paths */
.h-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 0; border-top: 1px solid var(--ink); }
.h-path {
  display: flex; flex-direction: column; gap: .6rem; padding: 2rem 2rem 2rem 0; text-decoration: none; color: var(--ink);
  transition: background-color .2s ease;
}
.h-path + .h-path { padding-left: 2rem; border-left: 1px solid var(--line-2); }
.h-path h3 { margin: 0; font-size: 1.5rem; }
.h-path p { margin: 0 0 1rem; color: var(--ink-2); }
.h-path__go { margin-top: auto; font-weight: 600; font-size: .9375rem; display: inline-flex; gap: .5rem; align-items: center; }
.h-path__go::after { content: "\2192"; transition: transform .2s ease; }
.h-path:hover .h-path__go::after, .h-path:focus-visible .h-path__go::after { transform: translateX(4px); }
.h-path:hover h3 { text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 1px; text-underline-offset: .2em; }

/* Guides */
.h-guides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); }
.h-guide { display: flex; flex-direction: column; text-decoration: none; color: var(--ink); }
.h-guide__img { display: block; overflow: hidden; border-radius: var(--r-s); margin-bottom: 1.25rem; background: var(--paper-2); }
.h-guide__img img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.h-guide__meta { font-size: .875rem; font-weight: 500; color: var(--ink-3); margin-bottom: .4rem; }
.h-guide h3 { margin: 0 0 .5rem; font-size: 1.45rem; }
.h-guide p { margin: 0; color: var(--ink-2); font-size: .975rem; }
.h-guide:hover h3 { text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.h-more { margin-top: 2.5rem; }

/* FAQ */
.h-faq { border-top: 1px solid var(--ink); }
.h-faq__item { border-bottom: 1px solid var(--line); }
.h-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; font-family: var(--serif); font-weight: 450; font-size: 1.3rem; letter-spacing: -0.006em; }
.h-faq__item summary::-webkit-details-marker { display: none; }
.h-faq__item summary::after { content: "+"; font-family: var(--sans); font-weight: 300; font-size: 1.5rem; line-height: 1; color: var(--ink-3); transition: transform .2s ease; }
.h-faq__item[open] summary::after { transform: rotate(45deg); }
.h-faq__item p { margin: 0 0 1.5rem; color: var(--ink-2); max-width: 42rem; }

/* Closing band */
.h-cta { background: var(--ink); color: #FFFFFF; padding-block: clamp(4rem, 8vw, 6.5rem); position: relative; overflow: hidden; }
.h-cta__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem 4rem; }
.h-cta h2 { color: #FFFFFF; margin: 0; max-width: 18ch; font-size: clamp(2.1rem, 4vw, 3.4rem); }
.h-cta h2 em { color: var(--gold); }
.h-cta p { color: #B9C2D3; margin: 1rem 0 0; max-width: 34rem; }
.h-cta__mark { position: absolute; right: -6rem; top: 50%; width: 26rem; height: 26rem; transform: translateY(-50%); opacity: .05; pointer-events: none; }

/* Regions */
.h-regions { padding-block: 3rem; border-bottom: 1px solid var(--line); background: var(--paper); }
.h-regions h2 { font-family: var(--sans); font-size: .9375rem; font-weight: 600; color: var(--ink); margin: 0 0 1rem; }
.h-regions ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem 1.3rem; }
.h-regions a { color: var(--ink-2); font-size: .9rem; text-decoration: none; }
.h-regions a:hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); }

/* ---------- Footer ---------- */
.pie { background: var(--ink); color: #A9B3C6; padding: clamp(3.5rem, 6vw, 5rem) 0 2.25rem; border: 0; }
.pie::before { display: none; }
.pie__rejilla { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
.pie__marca { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.1rem; }
.pie__marca .marca__logo { width: 30px; height: 30px; }
.pie__marca .logo__disco { fill: #FFFFFF; }
.pie__marca .logo__sur { fill: var(--ink); }
.pie .marca__sigla, .pie .marca__sigla span { color: #FFFFFF; font-size: 1.3rem; }
.pie__desc { max-width: 27rem; font-size: .9375rem; line-height: 1.65; }
.pie__correo { font-size: .9375rem; }
.pie h4 { color: #FFFFFF; font-size: .9375rem; font-weight: 600; margin: 0 0 1rem; }
.pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.pie a { color: #DDE3EE; text-decoration: none; font-size: .9375rem; }
.pie a:hover { color: #FFFFFF; text-decoration: underline; text-decoration-color: var(--gold); }
.pie__legal { margin-top: 3.25rem; padding-top: 1.6rem; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 2rem; font-size: .8125rem; color: #8E9AB1; line-height: 1.6; }
.pie__legal > span:first-child { max-width: 44rem; }
.pie__legal a { font-size: .8125rem; }

/* ---------- Inner pages: quieter cards, hairlines, serif accents ---------- */
.seccion--suave, .seccion--corta.seccion--suave { background: var(--paper); }
.migas, .migas a { font-size: .8125rem; color: var(--ink-3); }
.blog-tarjeta { border-radius: var(--r-m); border-color: var(--line); box-shadow: none; }
.blog-tarjeta:hover { box-shadow: var(--sombra-2); border-color: var(--line-2); transform: none; }
.blog-tarjeta h3 { font-family: var(--serif); font-weight: 500; font-size: 1.35rem; }
.blog-tarjeta__meta { font-size: .8125rem; font-weight: 500; color: var(--ink-3); }
.blog-tarjeta__leer { color: var(--ink); font-weight: 600; }
.blog-filtro { border-radius: 2px; }
.cierre-global h2 em, .seccion--oscura h2 em { color: var(--gold); }

/* ---------- Wizard page in the new system ---------- */
.conversion { background: var(--paper); }
.asistente { background: #FFFFFF; border: 1px solid var(--line); border-radius: var(--r-l); box-shadow: var(--sombra-2); }
.opcion-sector { border-radius: var(--r-s); border-color: var(--line); }
.opcion-sector:hover { border-color: var(--ink); background: var(--paper); }
.opcion-sector__icono { background: var(--paper); color: var(--ink); border-radius: var(--r-s); }
.progreso__barra { background: var(--gold); }

/* ---------- Legal notice: company details as a register extract ---------- */
.registro { margin: 1.5rem 0 2rem; border-top: 1px solid var(--ink); }
.registro div { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.registro dt { font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; color: var(--ink-3); padding-top: .15rem; }
.registro dd { margin: 0; color: var(--ink); }
.registro a { color: var(--ink); }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .h-hero__grid, .h-split, .h-split--faq, .h-feature, .h-head, .h-cta__inner, .h-cred__row { grid-template-columns: minmax(0, 1fr); }
  .h-hero h1 { max-width: 13ch; }
  .h-steps, .h-guides { grid-template-columns: minmax(0, 1fr); }
  .h-paths { grid-template-columns: minmax(0, 1fr); }
  .h-path, .h-path + .h-path { padding: 1.6rem 0; border-left: 0; }
  .h-path + .h-path { border-top: 1px solid var(--line-2); }
  .h-strip__grid { grid-template-columns: minmax(0, 1fr); }
  .h-strip__grid > div { padding: 1.25rem 0; }
  .h-strip__grid > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .h-photo img { aspect-ratio: 4 / 3; }
  .h-cred__marks { gap: 2rem; }
  .pie__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pie__intro { grid-column: 1 / -1; }
  .registro div { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
}
@media (max-width: 520px) {
  .h-wrap { padding-inline: 1rem; }
  .h-chips { grid-template-columns: minmax(0, 1fr); }
  .h-bars__row { grid-template-columns: 6.25rem minmax(0, 1fr) 3rem; gap: .6rem; }
  .h-cta .boton { width: 100%; }
  .h-proof { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .h-guide__img img, .boton::after, .h-link::after, .h-path__go::after { transition: none; }
}

/* ---------- Width and label overrides ---------- */
:root { --ancho: 1264px; }
.h-wrap { width: 100%; max-width: var(--ancho); padding-inline: var(--e-4); }

/* ---------- About page ---------- */
.marca-por-que .marca-capitulo--1, .marca-por-que .marca-capitulo--0 { background: #FFFFFF; }
.marca-por-que .marca-capitulo--2 { background: var(--paper); }
.instituciones-banda { background: var(--paper); border-block: 1px solid var(--line); }
.instituciones-banda .institucion-marca { background: transparent; border: 0; box-shadow: none; }
.instituciones-banda .institucion-marca img { filter: grayscale(1) brightness(.55); opacity: .85; }
.marca-razon { box-shadow: none !important; border: 1px solid var(--line); border-radius: var(--r-m); }
.marca-razon h2 { font-weight: 450; }
.marca-capitulo__foto-marco { border-radius: var(--r-s); box-shadow: none; }
.marca-hero__bajar { color: var(--gold); }
.boton--fantasma { background: transparent; border-color: rgba(255,255,255,.35); color: #FFFFFF; }
.boton--fantasma:hover, .boton--fantasma:focus-visible { background: rgba(255,255,255,.08); border-color: #FFFFFF; color: #FFFFFF; }

/* ---------- Article body ---------- */
.cuerpo h2 { font-family: var(--serif); font-weight: 450; font-size: clamp(1.6rem, 2.4vw, 2rem); letter-spacing: -0.012em; }
.cuerpo h3 { font-family: var(--serif); font-weight: 500; font-size: 1.3rem; }
.cuerpo { font-size: 1.0625rem; }
.indice__caja { border-radius: var(--r-m); box-shadow: none; border: 1px solid var(--line); }
.indice__titulo { font-size: .875rem; color: var(--ink-3); }
.cuerpo table th { font-size: .8125rem; letter-spacing: .04em; }

/* ---------- Less template, more document ---------- */
.h-section--tight { padding-block: clamp(3rem, 5vw, 4.5rem); }
.h-hero { padding-block: clamp(2.75rem, 6vw, 5rem); }
.h-hero__small { color: var(--ink-2); font-size: .975rem; max-width: 30rem; margin: 0; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.h-start__note { display: block; }
.h-cred { padding-block: 1.75rem; }
.h-cred__row { grid-template-columns: auto auto; justify-content: start; gap: .75rem 2.25rem; }
.h-cred__text { margin: 0; font-size: 1rem; color: var(--ink-2); max-width: 38rem; }
/* process: heading on the left, a plain numbered list on the right */
.h-process { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 6vw, 5.5rem); align-items: start; }
.h-process .h-title { margin-bottom: 1rem; }
.h-steps { display: block; counter-reset: step; border-top: 1px solid var(--line-2); }
.h-steps li { counter-increment: step; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: .75rem; padding: 1.4rem 0; border-top: 0; border-bottom: 1px solid var(--line-2); }
.h-steps li::before { content: counter(step) "."; position: static; display: block; width: auto; height: auto; background: none; grid-row: 1 / span 2; font-family: var(--serif); font-size: 1.3rem; line-height: 1.3; color: var(--ink-3); }
.h-steps h3 { margin: 0 0 .35rem; }
/* market data source sits under the chart */
.h-bars .h-source { margin: .25rem 0 0; padding-top: .75rem; border-top: 1px solid var(--line-2); max-width: none; }
/* feature: plain prose, no quote bar */
.h-feature__text .h-body { max-width: 33rem; margin-bottom: 1.1rem; }
.h-feature__text .h-link { margin-top: .75rem; }
/* paths as rows, not a card grid */
.h-paths { display: block; border-top: 1px solid var(--ink); margin-top: 1.75rem; }
.h-path, .h-path + .h-path { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto; align-items: baseline; gap: 1rem 2.5rem; padding: 1.5rem 0; border-left: 0; border-bottom: 1px solid var(--line-2); }
.h-path h3 { font-size: 1.3rem; }
.h-path p { margin: 0; }
.h-path__go { margin: 0; white-space: nowrap; text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: .25em; }
.h-path__go::after, .h-link::after { content: none; }
/* guides: one lead story, three text entries */
.h-guides__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 2rem; }
.h-guides__head .h-title { margin: 0; }
.h-guides { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.h-guide--lead h3 { font-size: 1.75rem; }
.h-guides__side { display: grid; border-top: 1px solid var(--line-2); }
.h-guides__side .h-guide { padding: 1.35rem 0; border-bottom: 1px solid var(--line-2); }
.h-guides__side .h-guide h3 { font-size: 1.25rem; }
/* closing band without ornaments */
.h-cta { padding-block: clamp(3.25rem, 6vw, 5rem); }
.h-cta h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); max-width: 22ch; }
.h-cta p { margin-top: .75rem; }
@media (max-width: 960px) {
  .h-process, .h-guides { grid-template-columns: minmax(0, 1fr); }
  .h-cred__row { grid-template-columns: minmax(0, 1fr); }
  .h-path, .h-path + .h-path { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
}

/* ---------- Strip decorative glows, gradients and motion inherited from the base theme ---------- */
.portada::before, .portada__foto-marco::after, .panel-asesores::before, .proceso-resumen::before,
.decision-hero::before, .decision-hero__foto::after, .foto-editorial__marco::after,
.privacidad-hero::after, .mapa-espana::before { display: none !important; }
.process-hero, .process-principle, .premios-mya, .privacidad-garantia { background: transparent !important; }
.process-hero { background: var(--paper) !important; }
.marca-por-que .marca-hero, .marca-por-que .marca-capitulo--cierre { background: var(--ink) !important; border-top: 0 !important; }
.privacidad-hero__fondo { background: var(--ink) !important; }
.portada__foto img, .foto-editorial img { transform: none !important; }
.blog-tarjeta:hover img, .tarjeta-articulo-foto:hover .tarjeta-articulo-foto__imagen img { transform: none !important; }
.js .revelar, .revelar { opacity: 1 !important; transform: none !important; transition: none !important; }
[data-movimiento] { transform: none !important; }
.marca-hero__foto-marco { border-radius: var(--r-s) !important; }
.marca-hero__pagina, .marca-capitulo__numero { display: none !important; }

/* About page: plain text blocks instead of floating cards, flat photos */
.marca-por-que .marca-hero__foto::before { display: none; }
.marca-por-que .marca-hero__foto-marco, .marca-por-que .marca-capitulo__foto-marco { border: 0; box-shadow: none; }
.marca-por-que .instituciones-banda { background: var(--paper); border-bottom: 1px solid var(--line); }
.marca-por-que .instituciones-banda .institucion-marca { background: transparent; border: 0; box-shadow: none; }
.marca-por-que .instituciones-banda .trayectoria-institucional__texto strong { color: var(--ink); font-weight: 450; }
.marca-por-que .instituciones-banda .trayectoria-institucional__texto span { color: var(--ink-2); }
.marca-por-que .marca-razon, .marca-razon {
  min-height: 0; padding: 0; border: 0 !important; border-radius: 0; background: transparent; box-shadow: none !important;
}
.marca-por-que .marca-razon + .marca-razon { padding-top: 1.75rem; margin-top: 1.75rem; border-top: 1px solid var(--line-2) !important; }
.marca-por-que .marca-capitulo--sin-foto .marca-razon + .marca-razon { margin-top: 0; padding-top: 0; border-top: 0 !important; }
.marca-por-que .marca-capitulo--cierre, .marca-capitulo--cierre { min-height: 0; padding-block: clamp(3.5rem, 7vw, 5.5rem); }

/* How it works: a plain numbered sequence, no badges or boxes */
.vertical-timeline::before, .vertical-timeline::after { display: none !important; }
.timeline-step { border-bottom: 1px solid var(--line-2); padding-block: 1.4rem; }
.timeline-step:first-child { border-top: 1px solid var(--line-2); }
.timeline-step__numero {
  background: none !important; color: var(--ink-3) !important; box-shadow: none !important; border: 0 !important;
  width: auto !important; height: auto !important; border-radius: 0 !important;
  font-family: var(--serif); font-size: 1.3rem !important; font-weight: 400 !important; place-items: start !important;
}
.timeline-step__numero::before, .timeline-step__numero::after, .timeline-step::before, .timeline-step::after { display: none !important; }
.timeline-step__contenido { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.process-principle { background: transparent !important; border: 0 !important; border-top: 1px solid var(--line-2) !important; border-radius: 0 !important; box-shadow: none !important; padding: 1.25rem 0 0 !important; }
.process-principle__number { display: none !important; }
.timeline-step:last-child { padding-bottom: 1.6rem; }
.guides-carousel__button { background: transparent; border: 1px solid var(--line-2); color: var(--ink); box-shadow: none; }
.guides-carousel__button:disabled { opacity: .35; }


/* ==========================================================================
   Polish pass: browser surfaces, contrast, quiet inherited effects,
   inner-page cards, one authored motion moment
   ========================================================================== */
html { scrollbar-color: #B9BCC4 transparent; accent-color: var(--ink); }
body { caret-color: var(--ink); }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #C3C6CD; border-radius: 6px; border: 3px solid #FFFFFF; }
::-webkit-scrollbar-thumb:hover { background: #9EA3AD; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.h-cta :focus-visible, .pie :focus-visible, .seccion--oscura :focus-visible { outline-color: var(--gold); }
input, select, textarea { caret-color: var(--ink); }
.cuerpo td.num, .cuerpo th.num, .h-bars__val, .h-range__scale { font-variant-numeric: tabular-nums lining-nums; }
.cuerpo a { text-decoration-color: var(--gold); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.cuerpo a:hover { text-decoration-thickness: 2px; }

/* Effects the base theme shipped that read as decoration */
.estado-vivo i { animation: none !important; box-shadow: none !important; }
.cinta-decision > div { animation: none !important; }
.cinta-decision { display: none !important; }

/* Accent text on dark surfaces uses the light gold, never brass */
.seccion--oscura .rotulo, .seccion--oscura [class*="__meta"], .cierre-global span { color: var(--gold); }
.boton--ambar { color: var(--ink) !important; }

/* Inline call-to-action inside articles: hairline box, no side stripe */
.cta-linea { border: 1px solid var(--line-2); border-left: 1px solid var(--line-2); border-radius: var(--r-s); box-shadow: none; background: #FFFFFF; }

/* Small legal notes stay readable */
.trayectoria-institucional__nota, .h-cred__note { font-size: .75rem !important; line-height: 1.5; }

/* Adviser criteria: an editorial two-column list, not a grid of boxes */
.readiness-card { background: transparent !important; border: 0 !important; border-top: 1px solid var(--line-2) !important; border-radius: 0 !important; box-shadow: none !important; padding: 1.25rem 0 0 !important; }
.readiness-card > span { display: none; }
.readiness-card h3 { font-size: 1.25rem; margin-top: 0; }

/* Guides library: image and text, no card chrome */
.blog-tarjeta { background: transparent; border: 0; border-radius: 0; box-shadow: none !important; overflow: visible; }
.blog-tarjeta:hover { box-shadow: none; }
.blog-tarjeta__imagen { border-radius: var(--r-s); overflow: hidden; }
.blog-tarjeta__cuerpo { padding: 1rem 0 0 !important; }
.blog-tarjeta:hover h3 { text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.blog-tarjeta__leer { display: none; }
.blog-destacado, [class*="destacado"] { box-shadow: none !important; }

/* Side panel heading on the wizard pages (was an h3) */
.aside-titulo { font-size: 1.2rem; margin: 0 0 1rem; }

/* Regions list heading carries real weight */
.h-regions h2 { font-family: var(--serif); font-weight: 500; font-size: 1.4rem; margin-bottom: 1.1rem; }

/* One authored moment: the example range draws in once when it comes into view */
.h-range__fill { transform-origin: left center; }
.js .h-report.is-pending .h-range__fill { transform: scaleX(0); }
.js .h-report.is-shown .h-range__fill { transform: scaleX(1); transition: transform 1.1s cubic-bezier(.16, 1, .3, 1) .15s; }
@media (prefers-reduced-motion: reduce) {
  .js .h-report.is-pending .h-range__fill { transform: none; }
}
.formula b { color: var(--gold); }
.formula { border-radius: var(--r-s); }
.readiness-grid { gap: 2.25rem 2.5rem; }
.readiness-card { min-height: 0 !important; }
.readiness-card h3 { margin: 0 0 .5rem; }

/* Credentials band: logos on their own line, at a size that reads */
.h-cred { padding-block: clamp(2.5rem, 5vw, 3.5rem); background: #FFFFFF; }
.h-cred__inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.5rem; }
.h-cred .h-cred__text { margin: 0; max-width: 40rem; font-family: var(--serif); font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.45; color: var(--ink); }
.h-cred .h-cred__marks { display: flex; align-items: center; justify-content: center; gap: clamp(2.5rem, 7vw, 5rem); padding: .5rem 0; }
.h-cred .h-cred__marks img { filter: grayscale(1) brightness(.4); opacity: .85; }
.h-cred .h-cred__ey { width: 48px; height: auto; }
.h-cred .h-cred__barclays { display: inline-flex; align-items: center; gap: .75rem; }
.h-cred .h-cred__barclays img:first-child { width: 37px; height: auto; }
.h-cred .h-cred__barclays img:last-child { width: 190px; height: auto; }
.h-cred .h-cred__note { margin: 0; max-width: 40rem; color: var(--ink-3); }

/* About page: same logo treatment */
.trayectoria-institucional { display: flex !important; flex-direction: column; align-items: center; text-align: center; gap: 1.5rem; }
.trayectoria-institucional__texto { max-width: 40rem; }
.trayectoria-institucional__marcas { display: flex !important; justify-content: center; gap: clamp(2.5rem, 7vw, 5rem) !important; }
.institucion-marca { min-height: 0 !important; padding: 0 !important; width: auto !important; }
.institucion-marca--ey img { width: 48px !important; max-height: none !important; }
.institucion-barclays { display: inline-flex; align-items: center; gap: .75rem; }
.institucion-barclays__aguila { width: 37px !important; height: auto !important; }
.institucion-barclays__nombre { width: 190px !important; height: auto !important; }

/* Two actions side by side */
.h-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: 1.5rem; }
.h-feature__text .h-actions .h-link { margin-top: 0; }

/* Mobile: a quiet action bar once the hero has scrolled away */
.h-sticky { display: none; }
@media (max-width: 760px) {
  .h-sticky {
    display: flex; align-items: center; gap: 1rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom, 0px)); background: rgba(255,255,255,.97);
    border-top: 1px solid var(--line); transform: translateY(110%); transition: transform .35s cubic-bezier(.16, 1, .3, 1);
  }
  .h-sticky.is-on { transform: none; }
  .h-sticky .boton { flex: 1; min-height: 2.9rem; }
  .h-sticky__alt { font-weight: 600; font-size: .9375rem; color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: .25em; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) { .h-sticky { transition: none; } }
.h-cred .h-cred__ey, .institucion-marca--ey img { width: 66px !important; }
.trayectoria-institucional__texto > span { display: none !important; }

/* Adviser fee ranges */
.h-split--fees { align-items: start; }
.h-fees { margin: 0; border-top: 1px solid var(--ink); }
.h-fees > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 2rem; align-items: baseline; padding: 1.15rem 0; border-bottom: 1px solid var(--line-2); }
.h-fees dt { color: var(--ink-2); font-size: 1rem; }
.h-fees dd { margin: 0; font-family: var(--serif); font-size: 1.45rem; font-weight: 450; color: var(--ink); text-align: right; font-variant-numeric: lining-nums tabular-nums; }
.h-fees__us dt { color: var(--ink); font-weight: 600; }
.h-fees__us dd { color: var(--up); }
.h-fees__note { margin: 1rem 0 0; font-size: .875rem; color: var(--ink-3); }
@media (max-width: 520px) {
  .h-fees > div { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  .h-fees dd { text-align: left; font-size: 1.3rem; }
}
.h-faq__item summary { background: none; }
.h-fees__text dd { font-family: var(--sans); font-size: 1rem; font-weight: 500; }
