/* ================ MILTON MORWIN · shared styles ================ */
:root{
  --ink: #00263A; --ink-80: #00263Acc; --ink-60: #00263A99; --ink-40: #00263A66;
  --ink-20: #00263A33; --ink-10: #00263A1a; --ink-06: #00263A0f;
  --ember: #FF6C10; --ember-soft: #FF6C101a;
  --paper: #F7F5F1; --paper-2: #EFEBE4; --white: #FFFFFF;
  --line: #00263A1f;
  --serif: 'Montserrat', sans-serif;
  --ease: cubic-bezier(.2,.7,.2,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}
*{ box-sizing: border-box; margin: 0; padding: 0; }
html{ scroll-behavior: smooth; }
body{ font-family: var(--serif); font-weight: 400; color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img{ display:block; max-width:100%; }
a{ color: inherit; text-decoration: none; }
button{ font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }

/* NAV */
.nav{ position: fixed; top:0; left:0; right:0; z-index: 100; padding: 22px max(32px, calc((100% - 1400px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; transition: background .5s var(--ease), backdrop-filter .5s var(--ease), color .5s var(--ease), padding .5s var(--ease), border-color .5s var(--ease); color: #fff; border-bottom: 1px solid transparent; }
.nav.scrolled{ background: rgba(247,245,241,.9); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); color: var(--ink); padding: 14px max(32px, calc((100% - 1400px) / 2)); border-bottom: 1px solid var(--line); }
.nav.solid{ background: rgba(247,245,241,.9); backdrop-filter: blur(18px); color: var(--ink); border-bottom: 1px solid var(--line); }
.nav__brand{ display:flex; align-items: center; gap: 12px; }
.nav__brand img{ height: 28px; width: auto; display: block; transition: opacity .4s var(--ease); }
.nav__brand img.light{ display: block; }
.nav__brand img.dark{ display: none; }
.nav.scrolled .nav__brand img.light, .nav.solid .nav__brand img.light{ display: none; }
.nav.scrolled .nav__brand img.dark, .nav.solid .nav__brand img.dark{ display: block; }
.nav__links{ display: flex; gap: 22px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; }
.nav__item{ white-space: nowrap; }
.nav__links a{ position: relative; padding: 6px 0; }
.nav__links a.active{ color: var(--ember); }
.nav__links a::after{ content:''; position:absolute; bottom: 0; left: 0; right: 100%; height: 1px; background: currentColor; transition: right .45s var(--ease); }
.nav__links a:hover::after{ right: 0; }
.nav__cta{ font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 500; padding: 10px 20px; border: 1px solid currentColor; border-radius: 999px; transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.nav__cta:hover{ background: var(--ember); border-color: var(--ember); color: #fff; }

/* NAV — dropdown */
.nav__item{ position: relative; }
.nav__item--has-menu > a::before{ content: ''; display: inline-block; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-right: 8px; opacity: .55; transition: transform .3s var(--ease), opacity .3s var(--ease); vertical-align: middle; }
.nav__item--has-menu:hover > a::before{ transform: rotate(225deg) translateY(2px); opacity: 1; }
.nav__item--has-menu::after{ content: ''; position: absolute; left: -20px; right: -20px; top: 100%; height: 18px; pointer-events: none; }
.nav__item--has-menu:hover::after{ pointer-events: auto; }
.nav__menu{ position: absolute; top: calc(100% + 14px); left: -20px; min-width: 240px; background: rgba(247,245,241,.96); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--line); padding: 8px 0; opacity: 0; pointer-events: none; transform: translateY(-6px); transition: opacity .3s var(--ease), transform .3s var(--ease); display: flex; flex-direction: column; gap: 0; box-shadow: 0 24px 60px rgba(0,38,58,.12); }
.nav__item--has-menu:hover .nav__menu,
.nav__item--has-menu:focus-within .nav__menu{ opacity: 1; pointer-events: auto; transform: translateY(0); }
.nav__menu a{ display: block; padding: 14px 24px; color: var(--ink); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 500; transition: background .25s var(--ease), color .25s var(--ease); }
.nav__menu a::after{ display: none; }
.nav__menu a:hover{ background: var(--ink); color: #fff; }
.nav__menu a:hover .nav__menu-sub{ color: rgba(255,255,255,.7); }
.nav__menu-sub{ display: block; margin-top: 4px; font-size: 10px; letter-spacing: .12em; text-transform: none; opacity: .55; font-weight: 400; }
.nav__menu-row{ position: relative; }
.nav__menu-row > a{ padding-right: 34px; }
.nav__menu-row > a::after{ content: ''; position: absolute; right: 24px; top: 50%; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-60%) rotate(-45deg); opacity: .6; }
.nav__flyout{ position: absolute; left: 100%; top: -1px; min-width: 260px; background: rgba(247,245,241,.96); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--line); padding: 8px 0; opacity: 0; pointer-events: none; transform: translateX(-6px); transition: opacity .3s var(--ease), transform .3s var(--ease); display: flex; flex-direction: column; box-shadow: 0 24px 60px rgba(0,38,58,.12); }
.nav__menu-row:hover .nav__flyout, .nav__menu-row:focus-within .nav__flyout{ opacity: 1; pointer-events: auto; transform: none; }
.nav__flyout a{ display: block; padding: 14px 24px; color: var(--ink); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 500; transition: background .25s var(--ease), color .25s var(--ease); }
.nav__flyout a::after{ display: none; }
.nav__flyout a:hover{ background: var(--ink); color: #fff; }
.nav__toggle{ display: none; }
@media (max-width: 900px){
  .nav__item{ position: static; }
  .nav__toggle{ display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; width: 34px; height: 34px; z-index: 130; color: inherit; }
  .nav__toggle span{ display: block; width: 24px; height: 2px; background: currentColor; transition: transform .35s var(--ease), opacity .25s var(--ease); }
  .nav--open .nav__toggle span:nth-child(1){ transform: translateY(8px) rotate(45deg); }
  .nav--open .nav__toggle span:nth-child(2){ opacity: 0; }
  .nav--open .nav__toggle span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

  .nav__links{ position: fixed; top: 0; left: 0; right: 0; flex-direction: column; gap: 0;
    padding: 90px 28px 40px; background: rgba(247,245,241,.98);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--line); color: var(--ink);
    transform: translateY(-100%); transition: transform .45s var(--ease); z-index: 120;
    max-height: 100vh; overflow-y: auto; }
  .nav--open .nav__links{ transform: translateY(0); }
  .nav__links > .nav__item{ width: 100%; }
  .nav__links > .nav__item > a{ display: block; color: var(--ink); font-size: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
  .nav__item--has-menu > a::before{ display: none; }
  .nav__menu{ display: flex !important; position: static; opacity: 1; pointer-events: auto; transform: none;
    box-shadow: none; background: none; border: none; backdrop-filter: none; -webkit-backdrop-filter: none;
    padding: 4px 0 12px 16px; min-width: 0; }
  .nav__menu a{ padding: 9px 0; font-size: 12px; opacity: .75; }
  .nav__menu-row > a::after{ display: none; }
  .nav__flyout{ display: flex !important; position: static; opacity: 1; pointer-events: auto; transform: none; box-shadow: none; background: none; border: none; backdrop-filter: none; -webkit-backdrop-filter: none; padding: 0 0 8px 16px; min-width: 0; }
  .nav__flyout a{ padding: 7px 0; font-size: 11px; opacity: .7; }
  .nav__cta{ display: none; }
  .nav--open .nav__toggle{ color: var(--ink); }
}

/* Section primitives */
.section{ padding: 140px 40px; position: relative; }
.section-head{ display: grid; grid-template-columns: 220px 1fr; gap: 60px; margin-bottom: 100px; align-items: start; }
.section-head__label{ font-size: 11px; letter-spacing: .3em; text-transform: uppercase; font-weight: 500; color: var(--ink-60); padding-top: 14px; display: flex; align-items: center; gap: 14px; }
.section-head__label::before{ content:''; display:block; width: 28px; height: 1px; background: var(--ember); }
.section-head__title{ font-weight: 300; font-size: clamp(36px, 5vw, 76px); line-height: 1.02; letter-spacing: -0.025em; max-width: 18ch; }
.section-head__title em{ font-style: normal; color: var(--ember); font-weight: 200; }

/* Reveal */
.reveal{ opacity: 0; transform: translateY(40px); transition: opacity 1.1s var(--ease-out), transform 1.1s var(--ease-out); }
.reveal.in{ opacity: 1; transform: none; }
.reveal.delay-1{ transition-delay: .15s; }
.reveal.delay-2{ transition-delay: .3s; }
.reveal.delay-3{ transition-delay: .45s; }

/* Subhero (for inner pages) */
.subhero{ position: relative; min-height: 70vh; display: flex; flex-direction: column; justify-content: flex-end; padding: 160px 40px 80px; color: #fff; overflow: hidden; background: var(--ink); }
.subhero__bg{ position: absolute; inset: 0; z-index: 0; background: radial-gradient(ellipse 80% 60% at 20% 40%, rgba(11,58,85,.8) 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 80% 80%, rgba(255,108,16,.08) 0%, transparent 65%), linear-gradient(180deg, #001824 0%, #00263A 55%, #00131f 100%); }
.subhero__greca{ position: absolute; right: 5vw; top: 50%; transform: translateY(-40%); width: 28vh; opacity: .18; filter: brightness(0) invert(1); z-index: 0; }
.subhero__inner{ position: relative; z-index: 2; max-width: 1120px; margin: 0 auto; width: 100%; }
.subhero__crumbs{ font-size: 11px; letter-spacing: .24em; text-transform: uppercase; opacity: .65; margin-bottom: 36px; display: flex; gap: 12px; align-items: center; }
.subhero__crumbs a:hover{ color: var(--ember); }
.subhero__crumbs .sep{ opacity: .5; }
.subhero__eyebrow{ font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--ember); font-weight: 500; margin-bottom: 28px; display: flex; align-items: center; gap: 14px; }
.subhero__eyebrow::before{ content:''; width: 40px; height: 1px; background: var(--ember); }
.subhero__title{ font-weight: 200; font-size: clamp(56px, 8vw, 140px); line-height: .95; letter-spacing: -0.03em; max-width: 18ch; }
.subhero__title em{ font-style: normal; color: var(--ember); font-weight: 200; }
.subhero__sub{ margin-top: 36px; max-width: 54ch; font-size: 16px; line-height: 1.6; opacity: .82; }

/* ==================  SUBHERO VARIANTS  ================== */

/* A · BANCA PRIVADA — Editorial light · papel claro, tipografía oscura, greca naranja gigante a la izquierda */
.subhero--editorial{ background: var(--paper); color: var(--ink); min-height: 78vh; padding: 180px 40px 50px; justify-content: center; }
.subhero--editorial .subhero__bg{ display: none; }
.subhero--editorial .subhero__greca{ left: -8vw; right: auto; top: 50%; transform: translateY(-50%); width: 70vh; opacity: .07; filter: none; }
.subhero--editorial .subhero__crumbs{ opacity: .55; }
.subhero--editorial .subhero__title{ font-size: clamp(56px, 8vw, 140px); line-height: .92; max-width: none; font-weight: 200; }
.subhero--editorial .subhero__title em{ display: inline-block; font-style: italic; }
.subhero--editorial .subhero__sub{ font-size: 18px; opacity: 1; color: var(--ink-80); border-left: 1px solid var(--ember); padding-left: 24px; max-width: 56ch; }
.subhero--editorial .subhero__rule{ width: 80px; height: 1px; background: var(--ember); margin-bottom: 40px; }
.subhero--editorial .subhero__meta{ display: flex; gap: 60px; margin-top: 60px; padding-top: 30px; border-top: 1px solid var(--ink-20); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-60); font-weight: 500; }
.subhero--editorial .subhero__meta strong{ display: block; color: var(--ink); margin-top: 6px; font-weight: 500; font-size: 13px; }

/* B · ACOMPAÑAMIENTO — Split a dos columnas · azul oscuro a la izquierda con título, columna naranja a la derecha con manifiesto */
.subhero--split{ display: grid; grid-template-columns: 1.4fr 1fr; padding: 0; min-height: 90vh; align-items: stretch; }
.subhero--split .subhero__bg{ position: absolute; left: 0; top: 0; bottom: 0; width: 58.33%; background: linear-gradient(180deg, #001824 0%, #00263A 60%, #00131f 100%); z-index: 0; }
.subhero--split .subhero__greca{ left: 4vw; top: 22%; right: auto; transform: none; width: 22vh; opacity: .12; }
.subhero--split .subhero__inner{ padding: 180px 60px 80px; max-width: none; align-self: end; }
.subhero--split .subhero__title{ font-size: clamp(48px, 6.5vw, 110px); }
.subhero--split__manifesto{ position: relative; z-index: 2; background: var(--ember); color: #fff; padding: 180px 50px 80px; display: flex; flex-direction: column; justify-content: space-between; }
.subhero--split__manifesto .label{ font-size: 11px; letter-spacing: .3em; text-transform: uppercase; font-weight: 600; opacity: .85; }
.subhero--split__manifesto .lines{ font-size: clamp(22px, 2vw, 32px); line-height: 1.25; font-weight: 300; letter-spacing: -0.01em; max-width: 22ch; margin-top: auto; padding-top: 40px; }
.subhero--split__manifesto .lines span{ display: block; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.3); }
.subhero--split__manifesto .lines span:first-child{ border-top: none; }
.subhero--split__manifesto .index{ position: absolute; top: 180px; right: 50px; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; opacity: .6; }

/* C · OPERACIONES — Dossier oscuro con grid técnico · ticker ribbon arriba + título grande + tabla de metadata abajo */
.subhero--dossier{ min-height: 86vh; padding: 0; justify-content: stretch; }
.subhero--dossier .subhero__bg{ background: linear-gradient(180deg, #00131f 0%, #00263A 100%); }
.subhero--dossier::after{ content:''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 80px 80px; z-index: 1; pointer-events: none; }
.subhero--dossier .subhero__greca{ display: none; }
.subhero--dossier .subhero__inner{ position: relative; z-index: 3; padding: 130px 40px 0; display: flex; flex-direction: column; min-height: 86vh; }
/* Franja Enfoque / Alcance / Geografia: mismo diseño en Operaciones, Asesoria y Acompañamiento (Startups) */
.subhero--dossier__ticker{ display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; gap: 0; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); padding: 14px 0; margin-bottom: 80px; opacity: .8; overflow: hidden; }
.subhero--dossier__ticker span{ padding: 0 20px; border-right: 1px solid rgba(255,255,255,.15); white-space: nowrap; }
.subhero--dossier__ticker span:first-child{ padding-left: 0; }
.subhero--dossier__ticker span:last-child{ border-right: none; padding-right: 0; }
.subhero--dossier__ticker em{ color: var(--ember); font-style: normal; }
@media(max-width:1139px){
  .subhero--dossier__ticker{ flex-direction: column; align-items: flex-start; gap: 8px; }
  .subhero--dossier__ticker span{ border-right: none; padding: 0; white-space: normal; }
}
.subhero--dossier .subhero__title{ font-size: clamp(56px, 8vw, 140px); margin-top: auto; }
.subhero--dossier__grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 60px; padding: 30px 0; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.subhero--dossier__cell{ padding: 0 24px; border-right: 1px solid rgba(255,255,255,.15); }
.subhero--dossier__cell:first-child{ padding-left: 0; }
.subhero--dossier__cell:last-child{ border-right: none; }
.subhero--dossier__cell .k{ font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; opacity: .5; margin-bottom: 8px; }
.subhero--dossier__cell .v{ font-size: 17px; font-weight: 400; }
.subhero--dossier__cell .v em{ font-style: normal; color: var(--ember); }

/* D · EQUIPO — Mosaic · grid de 4 retratos placeholder a la derecha + título grande a la izquierda */
.subhero--mosaic{ min-height: 92vh; padding: 0; justify-content: stretch; align-items: stretch; display: grid; grid-template-columns: 1.05fr 1fr; gap: 0; }
.subhero--mosaic .subhero__bg{ position: absolute; left: 0; top: 0; bottom: 0; width: 100%; }
.subhero--mosaic .subhero__greca{ display: none; }
.subhero--mosaic .subhero__inner{ position: relative; z-index: 2; padding: 160px 60px 80px; align-self: end; }
.subhero--mosaic .subhero__title{ font-size: clamp(56px, 8vw, 140px); }
.subhero--mosaic__mosaic{ position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.1); }
.subhero--mosaic__cell{ position: relative; background: linear-gradient(135deg, #002b41 0%, #0b3a55 100%); overflow: hidden; }
.subhero--mosaic__cell::before{ content:''; position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, transparent 0 24px, rgba(255,255,255,.05) 24px 25px); }
.subhero--mosaic__cell::after{ content: attr(data-name); position: absolute; left: 24px; bottom: 24px; right: 24px; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; font-weight: 500; opacity: .9; }
.subhero--mosaic__cell .role{ position: absolute; left: 24px; top: 24px; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ember); }
.subhero--mosaic__cell:nth-child(1){ background: linear-gradient(135deg, #00263A 0%, #001824 100%); }
.subhero--mosaic__cell:nth-child(2){ background: linear-gradient(135deg, #0b3a55 0%, #00263A 100%); }
.subhero--mosaic__cell:nth-child(3){ background: linear-gradient(135deg, #1a4a66 0%, #00263A 100%); }
.subhero--mosaic__cell:nth-child(4){ background: var(--ember); }
.subhero--mosaic__cell:nth-child(4)::before{ background-image: repeating-linear-gradient(135deg, transparent 0 24px, rgba(0,0,0,.06) 24px 25px); }
.subhero--mosaic__cell:nth-child(4) .role,
.subhero--mosaic__cell:nth-child(4)::after{ color: #fff; }

@media (max-width: 900px){
  .subhero--editorial{ padding: 120px 20px 60px; min-height: 60vh; }
  .subhero--editorial .subhero__meta{ flex-direction: column; gap: 16px; }
  .subhero--split{ grid-template-columns: 1fr; min-height: auto; }
  .subhero--split .subhero__bg{ width: 100%; height: 100%; }
  .subhero--split .subhero__inner{ padding: 120px 20px 60px; }
  .subhero--split__manifesto{ padding: 60px 20px; }
  .subhero--split__manifesto .index{ position: static; margin-bottom: 24px; }
  .subhero--dossier .subhero__inner{ padding: 100px 20px 0; }
  .subhero--dossier__ticker{ margin-bottom: 40px; }
  .subhero--dossier__grid{ grid-template-columns: 1fr 1fr; gap: 24px 0; padding: 24px 0; }
  .subhero--dossier__cell{ padding: 0 16px; }
  .subhero--mosaic{ grid-template-columns: 1fr; }
  .subhero--mosaic__mosaic{ height: 50vh; }
  .subhero--mosaic .subhero__inner{ padding: 120px 20px 60px; }
}

/* Greca variations */
.greca-flip-h{ transform: scaleX(-1); }
.greca-flip-v{ transform: scaleY(-1); }
.greca-flip-hv{ transform: scale(-1,-1); }
.greca-rot-90{ transform: rotate(90deg); }
.greca-rot-180{ transform: rotate(180deg); }
.greca-rot-270{ transform: rotate(270deg); }
.greca-rot-90.greca-flip-h{ transform: rotate(90deg) scaleX(-1); }
.btn{ display: inline-flex; align-items: center; gap: 12px; padding: 16px 28px; border-radius: 999px; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; transition: all .4s var(--ease); }
.btn-primary{ background: var(--ember); color: #fff; }
.btn-primary:hover{ background: #ff7e2e; transform: translateX(4px); }
.btn-ghost{ border: 1px solid currentColor; }
.btn-ghost:hover{ background: var(--ember); border-color: var(--ember); color: #fff; }

/* Footer */
.footer{ background: var(--ink); color: #fff; padding: 72px 40px 40px; position: relative; }
.footer::before{ content:''; position: absolute; top:0; left:40px; right:0; height: 1px; background: linear-gradient(90deg, rgba(255,108,16,.15) 0%, var(--ember) 100%); }
.footer__top{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding-bottom: 64px; border-bottom: 1px solid rgba(255,255,255,.08); align-items: stretch; }
.footer__sec{ padding: 0 14px; border-left: 1px solid rgba(255,255,255,.14); display: flex; flex-direction: column; justify-content: flex-start; align-items: center; text-align: center; }
.footer__sec:first-child{ border-left: none; padding-left: 0; }
.footer__sec:last-child{ padding-right: 0; }
.footer__eyebrow{ font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--ember); font-weight: 600; margin-bottom: 30px; }
.footer__sec--center{ text-align: center; align-items: center; }
.footer__sec--right{ align-items: flex-end; justify-content: center; padding-right: 0; margin-right: -40px; }
.footer__nav{ display: flex; flex-wrap: nowrap; white-space: nowrap; justify-content: center; align-items: center; gap: 0; }
.footer__nav a{ font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; opacity: .7; line-height: 1; transition: opacity .3s var(--ease), color .3s var(--ease); }
.footer__nav a:hover{ color: var(--ember); opacity: 1; }
.footer__nav a + a::before{ content: '·'; color: var(--ember); margin: 0 6px; opacity: 1; }
.footer__sec address{ font-style: normal; font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; line-height: 2.2; opacity: .7; font-weight: 500; }
.footer__sec ul{ list-style: none; display: flex; flex-direction: column; gap: 0; }
.footer__sec ul a{ font-size: 9.5px; letter-spacing: .15em; text-transform: uppercase; font-weight: 500; opacity: .7; transition: opacity .3s var(--ease), color .3s var(--ease); line-height: 2.2; }
.footer__sec ul a:hover{ color: var(--ember); opacity: 1; }
.footer__logo{ height: 56px; width: auto; object-fit: contain; display: block; }
.footer__tagline{ margin-top: 22px; font-size: 10px; letter-spacing: .12em; line-height: 1.9; color: rgba(255,255,255,.5); text-transform: uppercase; }
.footer__brand{ display: flex; flex-direction: column; gap: 20px; align-items: center; justify-content: center; }
.footer__brand img{ margin-left: 0; max-width: 300px; }
.footer__office{ padding-left: 48px; }
.footer__top > .footer__col{ border-left: 1px solid rgba(255,255,255,.12); padding-left: 48px; }
.footer__cta-col{ display: flex; justify-content: flex-end; align-items: flex-start; align-self: stretch; }
.footer__sec .btn{ align-self: flex-start; }
.footer__sec--right .btn{ align-self: center; }
.footer__sub{ opacity: .45; }
.footer__col ul{ list-style: none; display: flex; flex-direction: column; gap: 0; }
.footer__col a{ font-size: 9.5px; letter-spacing: .15em; text-transform: uppercase; font-weight: 500; opacity: .7; transition: opacity .3s var(--ease), color .3s var(--ease); line-height: 2.2; }
.footer__col a:hover{ color: var(--ember); opacity: 1; }
.footer__col .footer__sub{ font-size: 9px; opacity: .4; letter-spacing: .12em; }
.footer__col .footer__sub:hover{ opacity: .8; color: var(--ember); }
.footer__office address{ font-style: normal; font-size: 9.5px; letter-spacing: .13em; text-transform: uppercase; line-height: 2.2; opacity: .7; font-weight: 400; }
.footer__bottom{ margin-top: 36px; display: flex; justify-content: space-between; align-items: center; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.3); font-weight: 500; }
.footer__bottom a{ transition: color .3s var(--ease); }
.footer__bottom a:hover{ color: var(--ember); }
.footer__legal{ display: flex; gap: 28px; align-items: center; }

/* CTA panel */
.cta-panel{ background: var(--ink); color: #fff; padding: 140px 40px; text-align: center; position: relative; overflow: hidden; }
.cta-panel__greca{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 520px; opacity: .06; filter: brightness(0) invert(1); }
.cta-panel__inner{ position: relative; max-width: 900px; margin: 0 auto; }
.cta-panel__label{ font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--ember); font-weight: 500; margin-bottom: 40px; }
.cta-panel__title{ font-weight: 200; font-size: clamp(36px, 5vw, 80px); line-height: 1.02; letter-spacing: -0.025em; margin-bottom: 50px; }
.cta-panel__title em{ color: var(--ember); font-style: normal; font-weight: 200; }

/* Page-specific blocks used across service pages */
.pillars{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.pillar{ background: var(--paper); padding: 48px 36px; min-height: 320px; display: flex; flex-direction: column; justify-content: space-between; transition: background .4s var(--ease); }
.pillar:hover{ background: var(--white); }
.pillar__n{ font-size: 11px; letter-spacing: .3em; color: var(--ember); font-weight: 500; text-transform: uppercase; }
.pillar__title{ font-size: 26px; font-weight: 400; letter-spacing: -0.01em; line-height: 1.2; margin: 24px 0 20px; }
.pillar__desc{ font-size: 14px; line-height: 1.65; color: var(--ink-80); }

.process{ display: flex; flex-direction: column; }
.step{ display: grid; grid-template-columns: 120px 1fr 1fr; gap: 60px; padding: 50px 0; border-top: 1px solid var(--line); align-items: start; transition: padding .5s var(--ease); }
.step:last-child{ border-bottom: 1px solid var(--line); }
.step:hover{ padding-left: 20px; }
.step__n{ font-size: 11px; letter-spacing: .3em; font-weight: 500; color: var(--ember); padding-top: 6px; }
.step__title{ font-size: clamp(26px, 2.4vw, 36px); font-weight: 300; letter-spacing: -0.015em; line-height: 1.05; }
.step__desc{ font-size: 14px; line-height: 1.7; color: var(--ink-80); max-width: 48ch; }

.feature-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; padding: 100px 0; border-top: 1px solid var(--line); }
.feature-row:last-child{ border-bottom: 1px solid var(--line); }
.feature-row.reverse{ direction: rtl; }
.feature-row.reverse > *{ direction: ltr; }
.feature-row__media{ aspect-ratio: 4/3; background: var(--ink); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.feature-row__media::before{ content:''; position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, transparent 0 20px, rgba(255,255,255,.04) 20px 21px); }
.feature-row__media img{ width: 50%; opacity: .3; filter: brightness(0) invert(1); }
.feature-row__media.ember{ background: var(--ember); }
.feature-row__label{ font-size: 11px; letter-spacing: .3em; color: var(--ember); font-weight: 500; text-transform: uppercase; margin-bottom: 24px; }
.feature-row__title{ font-size: clamp(30px, 3vw, 48px); font-weight: 300; letter-spacing: -0.02em; line-height: 1.05; margin-bottom: 28px; }
.feature-row__title em{ color: var(--ember); font-style: normal; }
.feature-row__desc{ font-size: 15px; line-height: 1.75; color: var(--ink-80); }
.feature-row__desc p + p{ margin-top: 16px; }

@media (max-width: 900px){
  .nav{ padding: 18px 20px; }
  .nav.scrolled, .nav.solid{ padding: 12px 20px; }
  .section{ padding: 80px 20px; }
  .subhero{ padding: 120px 20px 60px; min-height: 60vh; }
  .section-head{ grid-template-columns: 1fr; gap: 16px; margin-bottom: 60px; }
  .pillars{ grid-template-columns: 1fr; }
  .step{ grid-template-columns: 1fr; gap: 20px; }
  .feature-row, .feature-row.reverse{ grid-template-columns: 1fr; gap: 40px; padding: 60px 0; direction: ltr; }
  .footer__top{ grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer__cta-col{ justify-content: flex-start; grid-column: 1 / -1; }
  .cta-panel{ padding: 80px 20px; }
}

@media (max-width: 1024px){
  .footer__top{ grid-template-columns: 1fr 1fr; gap: 48px 40px; }
  .footer__cta-col{ grid-column: 1 / -1; justify-content: flex-start; align-self: start; }
  .footer__office{ padding-left: 0; }
  .footer__top > .footer__col{ border-left: none; padding-left: 0; }
  .footer__sec{ border-left: none; padding: 0; }
}

@media (max-width: 600px){
  .footer{ padding: 0 0 28px; }
  .footer__statement{ padding: 36px 24px 32px; flex-direction: column; align-items: flex-start; gap: 10px; }
  .footer__statement-tag{ padding-bottom: 0; }
  .footer__top{ grid-template-columns: 1fr; gap: 34px; padding: 32px 24px 40px; }
  .footer__sec{ border-left: none; padding: 0; }
  .footer__brand{ margin-top: 0; }
  .footer__brand img{ height: 72px !important; }
  .footer__office{ padding-left: 0 !important; }
  .footer__cta-col{ justify-content: flex-start; align-self: start; }
  .footer__cta-col .btn{ width: 100%; justify-content: center; }
  .footer__bottom{ flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px 24px 0; }
  .footer__legal{ flex-wrap: wrap; gap: 18px; }
}

:where(img[width][height]){width:auto;height:auto}

/* ===== Ajustes responsive (movil y tablet) ===== */
@media (max-width: 1024px){
  .footer__sec--right{ margin-right: 0; align-items: center; }
}
@media (max-width: 600px){
  .footer__nav{ flex-wrap: wrap; white-space: normal; row-gap: 12px; }
  .footer__nav a{ line-height: 1.4; }
  .footer__sec address{ line-height: 2; }
}
/* En iPad horizontal el submenu lateral se salia por la derecha de la pantalla: se abre hacia la izquierda */
@media (min-width: 901px) and (max-width: 1180px){
  .nav__flyout{ left: auto; right: 100%; }
}
@media (max-width: 600px){
  /* Titulos de cabecera: una palabra larga ("Acompañamiento", "Operaciones") no debe salirse de la pantalla */
  .subhero__title, .subhero--dossier .subhero__title, .subhero--editorial .subhero__title{ font-size: clamp(36px, 11vw, 56px) !important; }
  .fh__title, .hero-text__title{ font-size: clamp(28px, 10.4vw, 48px) !important; }
  .subhero__crumbs{ flex-wrap: wrap; row-gap: 6px; }
}

/* ===== Margenes laterales unificados en movil (20px en todas las secciones) ===== */
@media (max-width: 600px){
  .fh, .subhero--editorial, .legal-hero, .legal-body, .hero-text, .hero-overlap{ padding-left: 20px !important; padding-right: 20px !important; }
  .subhero--dossier .subhero__inner{ padding-left: 0 !important; padding-right: 0 !important; }
  .scards{ padding: 56px 20px 72px !important; }
  .scard{ padding: 36px 0 36px !important; }
  .footer__top, .footer__bottom, .footer__statement{ padding-left: 20px !important; padding-right: 20px !important; }
}
@media (max-width: 700px){
  /* El texto justificado deja huecos enormes entre palabras en pantallas estrechas */
  p[style*="justify"]{ text-align: left !important; }
}

/* =====================================================================
   REFINAMIENTO RESPONSIVE (solo tablet y movil; el escritorio no cambia)
   ===================================================================== */

/* --- Migas de pan (Inicio / Grupos / ...) mas pequeñas --- */
@media (max-width: 900px){
  [class*="__crumbs"]{ font-size: 9px !important; letter-spacing: .14em !important; gap: 4px 8px !important; }
  .fh__crumbs, .hero-overlap__crumbs{ margin-bottom: 22px !important; }
}

/* --- Cabeceras: menos aire arriba y entre titulo y subtitulo --- */
@media (max-width: 900px){
  .subhero--dossier{ min-height: 0 !important; padding: 96px 20px 36px !important; }
  .subhero--dossier .subhero__inner{ padding: 16px 0 0 !important; }
  .subhero--dossier .subhero__title{ margin-top: 14px !important; }
  .subhero--dossier .subhero__sub{ margin-top: 18px !important; }
  .subhero--dossier__ticker{ margin-top: 26px !important; margin-bottom: 0 !important; }
  .hero-text{ min-height: 0 !important; padding: 96px 20px 36px !important; }
  .hero-text__title{ margin-top: 14px !important; margin-bottom: 26px !important; }
  .hero-text__eyebrow{ margin-bottom: 18px !important; }
  .subhero--editorial{ min-height: 0 !important; padding-top: 100px !important; padding-bottom: 36px !important; }
  .fh{ padding-top: 100px !important; padding-bottom: 36px !important; }
  .fh__title{ margin-top: 0 !important; }
  .fh__lede{ margin-top: 22px !important; }
  .fh__eyebrow{ margin-bottom: 18px !important; }
  .hero-overlap{ padding-top: 100px !important; }
}

/* --- Enfoque / Alcance / Geografia centrados (Banca Privada y Grupos Familiares) --- */
@media (max-width: 900px){
  .subhero--editorial .subhero__meta{ flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; gap: 16px !important; margin-top: 32px !important; padding-top: 22px !important; width: 100%; }
  .subhero--editorial .subhero__meta > div{ padding: 0 !important; border-left: none !important; text-align: center !important; width: 100%; }
  .subhero--editorial .subhero__meta strong{ white-space: normal !important; margin-top: 4px !important; }
}

/* --- Titulos de las tarjetas de servicio mas grandes --- */
@media (max-width: 900px){
  .scard__title{ font-size: 28px !important; line-height: 1.1 !important; }
  .scard__cat{ margin-bottom: 22px !important; }
}

/* --- El contenido que solo aparecia al pasar el raton se ve siempre en movil y tablet --- */
@media (max-width: 900px), (hover: none){
  .tl-panel__list li span.tl-reveal{ max-height: none !important; opacity: 1 !important; margin-top: 4px !important; }
  .optable__bullet-desc{ max-height: none !important; opacity: 1 !important; margin-top: 4px !important; }
}

/* --- Pie de pagina inferior ordenado en movil --- */
@media (max-width: 600px){
  .footer__bottom{ flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 18px !important; margin-top: 8px !important; padding: 26px 20px 0 !important; border-top: 1px solid rgba(255,255,255,.08); }
  .footer__legal{ order: 1; width: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 22px !important; font-size: 10px; letter-spacing: .12em; }
  .footer__bottom > div:first-child{ order: 2; font-size: 9px; letter-spacing: .12em; line-height: 1.7; max-width: 30ch; }
}

/* --- Acordeon de servicios (Asesoria y Acompañamiento, Startups) --- */
@media (max-width: 900px){
  .tl-accordion .tl-panel{ display: none !important; }
  .tl-list .tl-panel__item{ padding: 6px 0 30px 34px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .tl-list .tl-panel__tag{ display: none; }
  .tl-list .tl-panel__title{ font-size: 24px !important; margin-bottom: 14px !important; }
  .tl-list .tl-panel__desc{ font-size: 14.5px !important; line-height: 1.7 !important; max-width: none !important; }
  .tl-list .tl-panel__list{ margin-bottom: 0 !important; }
}

/* --- Ritmo vertical: menos aire entre secciones, titulos y contenido (solo movil) --- */
@media (max-width: 700px){
  .subhero:not(.subhero--dossier):not(.subhero--editorial){ min-height: 0 !important; padding-top: 100px !important; padding-bottom: 36px !important; }
  .subhero.subhero--dossier{ min-height: 0 !important; }
  .legal-hero{ padding-top: 96px !important; padding-bottom: 36px !important; }
  .legal-body{ padding-top: 40px !important; padding-bottom: 64px !important; }
  .legal-footer-meta{ margin-top: 40px !important; }
  .section{ padding-top: 56px !important; padding-bottom: 56px !important; }
  .section-head{ margin-bottom: 32px !important; }
  .team-group{ margin-top: 52px !important; }
  .team-group__head{ margin-bottom: 24px !important; }
  .intro-block{ padding-top: 56px !important; padding-bottom: 56px !important; gap: 28px !important; }
  .members{ padding-top: 56px !important; padding-bottom: 64px !important; }
  .manifesto{ padding-top: 64px !important; padding-bottom: 64px !important; }
  .manifesto__tag{ margin-bottom: 36px !important; }
  .manifesto__sep{ height: 32px !important; margin: 28px auto !important; }
  .m-line{ margin-bottom: 18px !important; }
  .timeline-sec, .table-sec{ padding-top: 56px !important; padding-bottom: 56px !important; }
  .timeline-sec__headrow{ margin-bottom: 36px !important; }
  .vstack{ padding-top: 56px !important; padding-bottom: 64px !important; }
  .vstack__title{ margin-bottom: 40px !important; }
  .gf-paths{ padding-top: 56px !important; padding-bottom: 56px !important; }
  .gf-paths__head{ margin-bottom: 36px !important; }
  .inv-points{ padding-top: 56px !important; padding-bottom: 56px !important; }
  .inv-point{ padding: 32px 24px !important; }
  .fh-list, .fh-body{ padding-top: 56px !important; padding-bottom: 56px !important; }
  .fh-list__head{ margin-bottom: 32px !important; }
  .fh-row{ padding: 24px 0 !important; }
  .af-grid-sec{ padding-top: 48px !important; padding-bottom: 56px !important; }
  .af-card{ padding: 24px 0 !important; }
  .scards__head{ margin-bottom: 28px !important; }
  .when{ padding-top: 56px !important; padding-bottom: 56px !important; }
  .footer__top{ padding-bottom: 28px !important; }
}
@media (max-width: 700px){
  .editorial{ padding-top: 56px !important; padding-bottom: 64px !important; }
  .vrow{ padding-top: 24px !important; padding-bottom: 24px !important; }
  .gf-card{ padding-top: 30px !important; padding-bottom: 30px !important; }
}
@media (max-width: 900px){
  .stats{ padding-top: 28px !important; }
}
@media (max-width: 600px){
  .footer__bottom{ color: rgba(255,255,255,.55) !important; }
  .footer__bottom > div:first-child{ max-width: none !important; }
}

/* --- Ajustes de la revision en iPhone --- */
@media (max-width: 900px){
  /* Banca Privada: greca de fondo con sus proporciones normales (antes se estrechaba) */
  .subhero--editorial .subhero__greca[src*="greca-naranja"]{ width: 455px !important; height: auto !important; max-width: none !important; }
  /* Asesoria Fiscal y Tributaria: mas espacio entre la franja Enfoque/Alcance/Geografia y Servicios */
  .af-grid-sec__head{ margin-top: 0 !important; }
  .af-grid-sec{ padding-top: 64px !important; }
  /* En movil no hay cursor: se ocultan las instrucciones de "pasa el cursor" (la informacion ya se ve) */
  .af-grid-sec__head p{ display: none !important; }
}
@media (max-width: 700px){
  .subhero--editorial p{ text-align: left !important; }
}

/* =====================================================================
   RONDA 5 — ajustes pedidos (solo movil/tablet salvo que se indique)
   ===================================================================== */
.nav__expand, .scard-tabs, .tl-hint{ display: none; }

@media (max-width: 900px){
  /* --- Menu movil: submenus plegados con flecha --- */
  .nav__links .nav__item--has-menu, .nav__links .nav__menu-row{ position: relative; }
  .nav__links .nav__item--has-menu > a{ padding-right: 52px !important; }
  .nav__expand{ display: flex; align-items: center; justify-content: center; position: absolute; right: -8px; width: 48px; height: 48px; background: none; border: 0; color: var(--ink); cursor: pointer; }
  .nav__item--has-menu > .nav__expand{ top: 6px; }
  .nav__menu-row > .nav__expand{ top: -6px; width: 44px; height: 44px; }
  .nav__expand::before{ content: ''; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .3s var(--ease); }
  .is-open > .nav__expand::before{ transform: translateY(2px) rotate(-135deg); }
  .nav__links .nav__item--has-menu:not(.is-open) > .nav__menu{ display: none !important; }
  .nav__links .nav__item--has-menu.is-open > .nav__menu{ display: flex !important; flex-direction: column; }
  .nav__links .nav__menu-row:not(.is-open) > .nav__flyout{ display: none !important; }
  .nav__links .nav__menu-row.is-open > .nav__flyout{ display: flex !important; flex-direction: column; }
  .nav__menu-row > a{ display: block; padding-right: 48px !important; }

  /* --- Servicios en pestañas (Startups y Consulting) --- */
  .scard-tabs{ display: flex; gap: 26px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--line); margin: 0 0 22px; }
  .scard-tabs::-webkit-scrollbar{ display: none; }
  .scard-tabs__btn{ flex: 0 0 auto; background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; padding: 10px 0 14px; font: inherit; font-size: 16px; font-weight: 400; color: var(--ink-60); cursor: pointer; }
  .scard-tabs__btn.is-active{ color: var(--ink); border-bottom-color: var(--ink); }
  .scards__grid{ border-top: none !important; }
  .scards__grid > .scard{ display: none !important; opacity: 1 !important; transform: none !important; }
  .scards__grid > .scard.is-active{ display: flex !important; }
  .scard{ padding: 28px 22px 30px !important; border: 1px solid var(--line) !important; }
  .scard__list li{ grid-template-columns: 34px 1fr !important; gap: 10px !important; }
  .scard__desc{ margin-bottom: 26px !important; min-height: 0 !important; }

  /* --- Carruseles horizontales --- */
  .su-deals__grid, .af-grid{ display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px !important; margin: 0 -20px !important; padding: 0 20px 10px !important; scrollbar-width: none; }
  .su-deals__grid::-webkit-scrollbar, .af-grid::-webkit-scrollbar, .tl-track::-webkit-scrollbar{ display: none; }
  .su-deals__grid > *{ flex: 0 0 78%; scroll-snap-align: start; opacity: 1 !important; transform: none !important; }
  .af-grid > .af-card{ flex: 0 0 80%; scroll-snap-align: start; display: block !important; padding: 26px 22px !important; border: 1px solid var(--line) !important; background: rgba(255,255,255,.55); }
  .af-grid > .af-card::after{ display: none !important; }
  .af-card__n{ margin-bottom: 14px; }
  .af-card p{ margin-top: 10px !important; }
  .tl-carousel .tl-list, .tl-carousel .tl-panel{ display: none !important; }
  .tl-hint{ display: block; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.55); margin: 4px 0 16px; }
  .tl-track{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin: 0 -20px; padding: 0 20px 10px; scrollbar-width: none; }
  .tl-track .tl-panel__item{ display: block !important; flex: 0 0 86%; scroll-snap-align: start; padding: 24px 20px !important; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); animation: none !important; }
  .tl-track .tl-panel__tag{ display: block !important; margin-bottom: 14px !important; }

  /* --- Franja Enfoque/Alcance/Geografia de las paginas de Consulting: compacta y a la izquierda --- */
  body.is-familiar .fh-strip{ padding: 0 20px !important; }
  body.is-familiar .fh-strip__inner{ display: flex !important; flex-direction: column; align-items: flex-start !important; gap: 10px !important; padding: 22px 0 !important; text-align: left !important; }
  body.is-familiar .fh-strip__inner > div{ padding: 0 !important; border: none !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; text-align: left !important; }
  body.is-familiar .fh-strip dt{ margin: 0 !important; }
  body.is-familiar .fh-strip dd{ font-size: 14px !important; }

  /* --- Direct Deals: linea separadora mas abajo y cifras una al lado de otra --- */
  .vi-intro::before{ margin: 0 auto 44px !important; }
  .vi-stats{ grid-template-columns: 1fr 1fr !important; gap: 0 !important; margin-top: 44px !important; padding-top: 32px !important; }
  .vi-stat + .vi-stat{ border-top: none !important; padding-top: 0 !important; border-left: 1px solid var(--line) !important; }
  .vi-stat__n{ font-size: 48px !important; }
  .vi-stat__l{ font-size: 9.5px !important; letter-spacing: .16em !important; margin-top: 12px !important; padding: 0 8px; }

  /* --- Banca Privada: titulo claramente separado del texto --- */
  .bp-hero-row{ gap: 0 !important; }
  .bp-hero-row .subhero__title{ padding-bottom: 26px; border-bottom: 1px solid var(--line); margin-bottom: 30px; }
}

/* --- Tipografia y espacios iguales en todas las paginas (movil) --- */
@media (max-width: 700px){
  .hero__title{ font-size: clamp(56px, 17vw, 76px) !important; }
  .subhero__title, .subhero--dossier .subhero__title, .subhero--editorial .subhero__title, .fh__title, .hero-overlap__title, .hero-text__title, .legal-hero__title{ font-size: clamp(32px, 10vw, 46px) !important; line-height: 1 !important; }
  section h2{ font-size: clamp(26px, 7.6vw, 31px) !important; line-height: 1.12 !important; letter-spacing: -0.015em !important; }
  section h3:not(.scard__title):not(.circle-card__title){ font-size: 21px !important; line-height: 1.22 !important; }
  .scard__title{ font-size: 26px !important; }
  section:not([class*="quote"]) p:not(.circle-card__lead):not([class*="quote"]):not(.tl-hint){ font-size: 15.5px !important; line-height: 1.65 !important; }
  body > section:not(:first-of-type):not(.fh-strip):not(.hero){ padding-top: 56px !important; padding-bottom: 56px !important; }
  body > section.gf-wa{ padding-bottom: 0 !important; }
  .dd-cmp__inner{ padding-top: 40px !important; }
  .section-head, .scards__head, .su-deals__head, .gf-paths__head, .timeline-sec__headrow, .fh-list__head, .af-grid-sec__wrap{ margin-bottom: 28px !important; }
  .af-grid-sec__wrap{ gap: 28px !important; }
  .vstack__title{ margin-bottom: 28px !important; }
}
@media (max-width: 900px){
  .scard-tabs{ gap: 20px; }
  .scard-tabs__btn{ font-size: 14.5px; }
  body .subhero--editorial .subhero__meta{ gap: 16px !important; }
}

/* =====================================================================
   RONDA 6
   ===================================================================== */
@media (max-width: 900px){
  /* Acordeon de servicios (Consultoria Startups y Acompañamiento): al pulsar solo aparecen los puntos */
  .tl-list .tl-panel__title, .tl-list .tl-panel__desc{ display: none !important; }
  .tl-list .tl-panel__item{ padding: 4px 0 22px 34px !important; }
  .tl-panel__list li.has-reveal{ cursor: pointer; padding-right: 30px !important; }
  .tl-panel__list li.has-reveal::after{ content: '+'; position: absolute; right: 2px; top: 6px; color: var(--ember); font-size: 18px; line-height: 1; transition: transform .3s var(--ease); }
  .tl-panel__list li.has-reveal.is-open::after{ transform: rotate(45deg); }
  .tl-panel__list li span.tl-reveal{ max-height: 0 !important; opacity: 0 !important; margin-top: 0 !important; }
  .tl-panel__list li.is-open span.tl-reveal{ max-height: 260px !important; opacity: 1 !important; margin-top: 6px !important; }

  /* Enfoque / Alcance / Relacion de Grupos Familiares y Banca Privada: mismo diseño, alineado a la izquierda */
  body .subhero--editorial .subhero__meta{ align-items: flex-start !important; text-align: left !important; }
  body .subhero--editorial .subhero__meta > div{ text-align: left !important; }

  /* "Conocer Wealthabout" encima de la imagen */
  .gf-wa__cta{ position: absolute; right: 20px; bottom: 26px; z-index: 3; margin: 0 !important; color: #fff !important; }
}
@media (max-width: 700px){
  body > section.gf-wa:not(:first-of-type):not(.fh-strip):not(.hero){ padding-bottom: 0 !important; }
}

/* =====================================================================
   RONDA 8
   ===================================================================== */
@media (max-width: 900px){
  /* Carruseles: sin animacion vertical al entrar cada tarjeta (evita el sube-baja al deslizar) */
  .ledger .reveal, .ledger__row, .af-grid .reveal, .af-card, .su-deals__grid .reveal, .su-deals__grid > *{ transform: none !important; opacity: 1 !important; transition: none !important; animation: none !important; }
  /* Pestañas de servicios: las tres caben enteras */
  .scard-tabs{ gap: 14px !important; justify-content: space-between; }
  .scard-tabs__btn{ font-size: 13px !important; letter-spacing: 0 !important; }
}
@media (max-width: 360px){
  .scard-tabs{ gap: 10px !important; }
  .scard-tabs__btn{ font-size: 12px !important; }
}
@media (max-width: 700px){
  /* Grupos Familiares: titulo de Planificacion patrimonial mas grande */
  section.gf-wa h3:not(.scard__title):not(.circle-card__title){ font-size: clamp(30px, 8.8vw, 36px) !important; line-height: 1.12 !important; }
}

/* =====================================================================
   RONDA 9 (movil/tablet)
   ===================================================================== */
@media (max-width: 900px){
  /* "+" en los servicios del acordeon para indicar que hay mas informacion */
  .tl-accordion .tl-item{ position: relative; padding-right: 48px !important; }
  .tl-accordion .tl-item::after{ content: '+'; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-size: 24px; font-weight: 300; line-height: 1; color: var(--ember); transition: transform .3s var(--ease); }
  .tl-accordion .tl-item.active::after{ transform: translateY(-50%) rotate(45deg); }

  /* Grupos Familiares: pestañas Banca Privada / Consulting (fondo oscuro) */
  .scard-tabs--dark{ border-bottom-color: rgba(255,255,255,.18) !important; }
  .scard-tabs--dark .scard-tabs__btn{ color: rgba(255,255,255,.55); font-size: 15px !important; }
  .scard-tabs--dark .scard-tabs__btn.is-active{ color: #fff; border-bottom-color: #fff; }
  .scard-tabs--dark{ justify-content: flex-start !important; gap: 28px !important; }
  .gf-cards > .gf-card{ display: none !important; opacity: 1 !important; transform: none !important; }
  .gf-cards > .gf-card.is-active{ display: block !important; }

  /* Banca Privada: propuestas desplegables con "+" */
  .vrow.has-toggle{ cursor: pointer; position: relative; padding-right: 36px !important; }
  .vrow.has-toggle::after{ content: '+'; position: absolute; right: 4px; top: 22px; font-size: 24px; font-weight: 300; line-height: 1; color: var(--ember); transition: transform .3s var(--ease); }
  .vrow.has-toggle.is-open::after{ transform: rotate(45deg); }
  .vrow.has-toggle .vrow__desc{ display: none; }
  .vrow.has-toggle.is-open .vrow__desc{ display: block; margin-top: 12px; }

  /* Banca Privada: Enfoque/Alcance/Geografia al mismo tamaño que en Grupos Familiares */
  body .subhero--editorial .subhero__meta{ font-size: 11px !important; letter-spacing: .12em !important; }
  body .subhero--editorial .subhero__meta strong{ font-size: 13px !important; }

  /* Equipo: Principios en carrusel horizontal (mucho mas corto) */
  .values__grid{ display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px !important; margin: 28px -20px 0 !important; padding: 0 20px 10px; scrollbar-width: none; }
  .values__grid::-webkit-scrollbar{ display: none; }
  .values .value{ flex: 0 0 76%; scroll-snap-align: start; border: 1px solid rgba(255,255,255,.16) !important; padding: 24px 22px !important; opacity: 1 !important; transform: none !important; }
  .values .value__n{ font-size: 34px !important; margin-bottom: 12px !important; }
  .values .value__title{ margin-bottom: 10px !important; }
}
@media (max-width: 700px){
  /* Grupos Familiares: cabecera con la greca a la derecha */
  .subhero--editorial .subhero__greca[src*="greca-grupos"]{ left: auto !important; right: -150px !important; top: 110px !important; bottom: auto !important; width: 420px !important; }
  /* Grupos Familiares: "empresa y el patrimonio" sigue en la misma linea que "para la" */
  .gf-editorial h2 > br:first-of-type{ display: none; }
  /* Grupos Familiares: "Asesoramiento Coast-to-Coast" al tamaño de los titulos de seccion */
  section.gf-paths .gf-paths__head h3:not(.scard__title):not(.circle-card__title){ font-size: clamp(26px, 7.6vw, 31px) !important; line-height: 1.12 !important; }
  /* Wealthabout: titulo en 3 lineas */
  section.gf-wa h3:not(.scard__title):not(.circle-card__title){ font-size: clamp(26px, 7.8vw, 30px) !important; }
  /* Equipo: menos espacio entre textos y secciones */
  .intro-block, .founders, .members{ padding-top: 44px !important; padding-bottom: 44px !important; }
  .values{ padding-top: 48px !important; padding-bottom: 52px !important; }
  .founders__grid{ gap: 36px !important; }
  .founder__photo{ margin-bottom: 18px !important; }
  .team-group{ margin-top: 40px !important; }
  .intro-block{ gap: 20px !important; }
}
@media (max-width: 700px){ .values__greca{ width: 240px !important; opacity: .05 !important; } }

/* =====================================================================
   RONDA 11
   ===================================================================== */
/* Parrafo bajo el titulo de las paginas de Consulting (Grupos Familiares): linea vertical naranja */
.fh__lede{ border-left: 1px solid var(--ember); padding-left: 24px; }

/* Enfoque / Alcance / Geografia (Grupos Familiares y Banca Privada) en escritorio: ocupa todo el ancho, texto a la izquierda */
@media (min-width: 901px){
  body .subhero--editorial .subhero__meta{ width: 100%; justify-content: flex-start !important; }
  body .subhero--editorial .subhero__meta > div{ flex: 1 1 0; padding-right: 24px !important; text-align: left !important; }
  body .subhero--editorial .subhero__meta > div + div{ padding-left: 40px !important; }
}
@media (min-width: 901px) and (max-width: 1100px){
  body .subhero--editorial .subhero__meta strong{ white-space: normal !important; }
}

@media (max-width: 900px){
  /* En movil se elimina la franja Enfoque / Alcance / Geografia de Banca Privada y Grupos Familiares */
  body .subhero--editorial .subhero__meta{ display: none !important; }
  body .subhero--editorial{ padding-bottom: 44px !important; }

  /* Asesoria Fiscal y Tributaria: servicios como lista desplegable (igual que Acompañamiento) */
  .af-grid{ display: block !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; border-top: 1px solid var(--line); }
  .af-grid > .af-card{ flex: none !important; display: block !important; position: relative; cursor: pointer; background: transparent !important; border: none !important; border-bottom: 1px solid var(--line) !important; padding: 22px 52px 22px 36px !important; margin: 0 !important; transition: background .3s var(--ease); }
  .af-grid > .af-card::before{ content: ''; position: absolute; left: 6px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; border-radius: 50%; background: rgba(0,38,58,.25); transition: background .3s var(--ease); }
  .af-grid > .af-card.is-open::before{ background: var(--ember); }
  .af-grid > .af-card.is-open{ background: rgba(0,38,58,.04) !important; }
  .af-grid > .af-card::after{ display: block !important; content: '+' !important; position: absolute !important; left: auto !important; right: 16px !important; top: 50% !important; bottom: auto !important; width: auto !important; height: auto !important; background: none !important; transform: translateY(-50%); font-size: 24px; font-weight: 300; line-height: 1; color: var(--ember); transition: transform .3s var(--ease); }
  .af-grid > .af-card.is-open::after{ transform: translateY(-50%) rotate(45deg); }
  .af-card__n{ font-size: 11px !important; letter-spacing: .18em; color: var(--ink-60); margin: 0 0 4px !important; padding: 0 !important; }
  .af-card__n::after{ content: '.'; }
  .af-card h3{ font-size: 15px !important; letter-spacing: .08em !important; text-transform: uppercase; font-weight: 500 !important; line-height: 1.3 !important; color: var(--ink) !important; }
  .af-card:hover h3{ color: var(--ink) !important; }
  .af-card:hover{ padding-left: 36px !important; }
  .af-grid > .af-card p{ display: none !important; max-height: none !important; opacity: 1 !important; margin: 12px 0 0 !important; }
  .af-grid > .af-card.is-open p{ display: block !important; }
}

@media (max-width: 700px){
  /* Acompañamiento (Startups): "Como trabajamos" en tres lineas, sin palabras colgadas */
  .manifesto.manifesto p.m-line.m-line.m-line{ font-size: clamp(14px, 4vw, 17px) !important; line-height: 1.45 !important; text-wrap: balance; }
  .manifesto p.m-line br{ display: none; }
  /* Direct Deals: menos espacio bajo "Algunas de nuestras inversiones" */
  body > section.inv-deals:not(:first-of-type):not(.fh-strip):not(.hero){ padding-bottom: 8px !important; }
  /* Equipo: menos espacio entre Rafa y "Banca Privada" */
  body > section.founders:not(:first-of-type):not(.fh-strip):not(.hero){ padding-bottom: 8px !important; }
  body > section.members:not(:first-of-type):not(.fh-strip):not(.hero){ padding-top: 12px !important; }
}
@media (max-width: 900px){
  .af-grid.af-grid > .af-card.af-card h3{ font-size: 15px !important; letter-spacing: .08em !important; line-height: 1.3 !important; }
}

/* =====================================================================
   RONDA 12
   ===================================================================== */
/* Enfoque / Alcance / Geografia de las paginas de Consulting (Grupos Familiares) en escritorio:
   tres columnas que ocupan todo el ancho, texto a la izquierda */
@media (min-width: 901px){
  body.is-familiar .fh-strip__inner{ display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 0 !important; max-width: 1120px; margin: 0 auto; text-align: left !important; }
  body.is-familiar .fh-strip__inner > div{ flex: 1 1 0; text-align: left !important; padding-right: 24px; }
  body.is-familiar .fh-strip__inner > div + div{ padding-left: 40px; border-left: 1px solid rgba(255,108,16,.7); }
}

/* =====================================================================
   RONDA 13
   ===================================================================== */
/* Parrafo con linea naranja de las paginas de Consulting: separado de la linea (antes pegado) */
body.is-familiar .fh__lede{ padding: 0 0 0 32px !important; margin-top: 72px !important; }
@media (max-width: 900px){ body.is-familiar .fh__lede{ margin-top: 30px !important; } }

/* Enfoque / Alcance / Geografia en escritorio: de borde a borde (la ultima columna acaba en el margen derecho) */
@media (min-width: 901px){
  body .subhero--editorial .subhero__meta, body.is-familiar .fh-strip__inner{ justify-content: space-between !important; }
  body .subhero--editorial .subhero__meta > div, body.is-familiar .fh-strip__inner > div{ flex: 0 1 auto !important; padding-right: 0 !important; }
  body .subhero--editorial .subhero__meta > div + div, body.is-familiar .fh-strip__inner > div + div{ padding-left: 32px !important; }
}

/* =====================================================================
   RONDA 14
   ===================================================================== */
/* Startups: "Algunas startups que han confiado en nosotros" en carrusel tambien en escritorio */
.su-nav{ display: none; }
@media (min-width: 901px){
  .su-deals__grid{ display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 18px !important; scrollbar-width: none; }
  .su-deals__grid::-webkit-scrollbar{ display: none; }
  .su-deals__grid > .su-tile{ flex: 0 0 calc((100% - 54px) / 4); scroll-snap-align: start; }
  .su-nav{ display: flex; justify-content: flex-end; gap: 10px; margin-top: 28px; }
  .su-nav__btn{ width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: none; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .3s var(--ease), border-color .3s var(--ease), opacity .3s; }
  .su-nav__btn:hover:not([disabled]){ background: var(--ember); border-color: var(--ember); }
  .su-nav__btn[disabled]{ opacity: .3; cursor: default; }
}

/* Pantallas grandes: las cabeceras y bloques que usaban % de la altura de pantalla (vh) ya no crecen sin limite */
@media (min-width: 901px){
  body .hero-text{ min-height: min(80vh, 760px) !important; }
  body .subhero{ min-height: min(70vh, 680px) !important; }
  body .subhero.subhero--editorial{ min-height: min(78vh, 760px) !important; }
  body .subhero.subhero--dossier{ min-height: min(80vh, 780px) !important; }
  body .subhero--dossier .subhero__inner{ min-height: min(80vh, 780px) !important; }
  body .subhero.subhero--split{ min-height: min(90vh, 860px) !important; }
  body .subhero.subhero--mosaic{ min-height: min(92vh, 880px) !important; }
  body .practice, body .split{ min-height: min(70vh, 680px) !important; }
  body .subhero--editorial .subhero__greca{ width: min(70vh, 720px) !important; }
}
@media (max-width: 900px){
  /* Carruseles: la primera tarjeta respeta el margen izquierdo */
  .su-deals__grid, .ledger, .values__grid, .dd-cards, .tl-track{ scroll-padding-inline: 20px; }
}
