/* Porto Capital · capa sobre site.css de portopartners.mx (mismo sistema; acento turquesa de Capital).
   site.css se copia sin cambios; aquí sólo van el acento, el logo y los componentes propios de Capital. */

:root{
  --faro:#54D2CB;          /* turquesa de Capital (teaser v10) */
  --faro-700:#17736E;      /* turquesa oscuro para texto sobre blanco: 5.6:1 */
  --capital-ink:#1E9C94;   /* "CAPITAL" del logo sobre blanco */
  --operator:#7AA3C7;
  --rule-on-navy-strong:rgba(255,255,255,.28);
  --blue-100:#E1F3F1;      /* hover y selección con tinte turquesa */
}

/* Logo apilado: porto + CAPITAL (proporción 3312 x 1392) */
.site-header__logo .logo{height:37px}
.site-footer__logo .logo{height:52px}
@media (min-width:1024px){.site-header__logo .logo{height:42px}}

/* Hero */
.hero-cover__kicker{color:var(--faro)}
.hero-cover--capital .hero-cover__shade{background:linear-gradient(90deg,rgba(12,33,54,.62) 0%,rgba(12,33,54,.34) 48%,rgba(12,33,54,0) 78%),linear-gradient(0deg,rgba(12,33,54,.55) 0%,rgba(12,33,54,0) 45%)}
@media (max-width:599px){.hero-cover--capital .hero-cover__shade{background:linear-gradient(0deg,rgba(12,33,54,.82) 0%,rgba(12,33,54,.45) 50%,rgba(12,33,54,.15) 80%)}}

/* Mercado: tarjetas sin remate (sin lenguaje de comprador) */
.svc-card__body .svc-card__num{margin-bottom:10px}

/* Para el inversionista: antes → Porto Capital → lo que recibe (versión web de la lámina 3 del teaser) */
.handoff2{display:grid;gap:16px;margin-top:clamp(32px,4vw,48px)}
.handoff2__panel{padding:24px 24px 12px}
.handoff2__panel--before{background:var(--mist);border:1px solid var(--rule)}
.handoff2__panel--after{background:var(--navy-900);color:var(--on-navy);-webkit-font-smoothing:antialiased}
.handoff2__chip{display:inline-block;padding:4px 10px;border-radius:999px;background:#E1E7ED;font:500 .6875rem/1.4 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.handoff2__chip--teal{background:var(--faro);color:var(--navy-900)}
.handoff2__label{margin-top:10px;font:500 1.0625rem/1.35 var(--font-sans);color:var(--ink)}
.handoff2__panel--after .handoff2__label{color:#fff}
.handoff2__list{margin-top:14px}
.handoff2__list li{display:flex;align-items:center;gap:14px;min-height:60px;padding:10px 0;border-top:1px solid var(--rule)}
.handoff2__panel--after .handoff2__list li{border-top-color:var(--rule-on-navy)}
.handoff2__icon{flex:none;width:22px;height:22px;fill:none;stroke:var(--rule-strong);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.handoff2__panel--before li span{font-size:1rem;line-height:1.4;color:var(--text-muted)}
.handoff2__check{flex:none;align-self:flex-start;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--faro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.2l3 3 6-6.4' fill='none' stroke='%230F2942' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px no-repeat}
.handoff2__title{font:500 1.125rem/1.3 var(--font-serif);font-variation-settings:"opsz" 24;color:#fff}
.handoff2__text{margin-top:2px;font-size:.875rem;line-height:1.45;color:var(--on-navy-muted)}
.handoff2__hub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:8px 0}
.handoff2__badge-wrap{position:relative;display:flex;justify-content:center;width:100%}
.handoff2__badge{position:relative;z-index:1;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:#fff;border:1.5px solid var(--faro);box-shadow:0 0 0 8px rgba(84,210,203,.14)}
.handoff2__badge .logo{display:block;width:68px;height:auto}
.handoff2__hub-text{max-width:15ch;font:500 .6875rem/1.45 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--faro-700);text-align:center}
.handoff2__closing{margin-top:20px;padding:18px 24px;border-left:3px solid var(--faro-700);background:#E8F5F4;font:italic 400 clamp(1.125rem,1rem + .5vw,1.375rem)/1.4 var(--font-serif);color:var(--ink);text-align:center}
@media (min-width:1024px){
  .handoff2{grid-template-columns:minmax(0,5fr) 176px minmax(0,6fr);gap:0;align-items:stretch}
  .handoff2__panel{padding:28px 28px 14px}
  .handoff2__list li{min-height:68px}
  .handoff2__hub{padding:0}
  .handoff2__badge{width:120px;height:120px}
  .handoff2__badge .logo{width:78px}
  .handoff2__badge-wrap::before{content:"";position:absolute;top:50%;left:0;right:50%;border-top:1px dashed var(--rule-strong)}
  .handoff2__badge-wrap::after{content:"";position:absolute;top:calc(50% - 5px);left:50%;right:0;height:10px;background:linear-gradient(var(--faro-700),var(--faro-700)) left center / calc(100% - 7px) 1px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10'%3E%3Cpath d='M0 0l8 5-8 5z' fill='%2317736E'/%3E%3C/svg%3E") right center / 8px 10px no-repeat}
}

/* Cómo trabajamos: seis pasos como chevrones (versión web de la lámina 4 del teaser) */
.chevrons{display:grid;gap:8px;margin-top:clamp(32px,4vw,48px)}
.chevrons__step{--c:var(--navy-900);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:84px;padding:14px 20px 26px;background:var(--c);color:#fff;text-align:center;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),50% 100%,0 calc(100% - 14px));-webkit-font-smoothing:antialiased}
.chevrons__step + .chevrons__step{padding-top:26px;clip-path:polygon(0 0,50% 14px,100% 0,100% calc(100% - 14px),50% 100%,0 calc(100% - 14px))}
.chevrons__step:nth-child(2){--c:#15314F}
.chevrons__step:nth-child(3){--c:#1C3B5D}
.chevrons__step:nth-child(4){--c:#23466C}
.chevrons__step:nth-child(5){--c:#2A527C}
.chevrons__step:nth-child(6){--c:var(--faro);color:var(--navy-900)}
.chevrons__num{font:500 .75rem/1 var(--font-sans);letter-spacing:.1em;color:var(--faro);font-variant-numeric:tabular-nums}
.chevrons__step:nth-child(6) .chevrons__num{color:var(--navy-800)}
.chevrons__title{font:500 1.125rem/1.25 var(--font-serif);font-variation-settings:"opsz" 24;text-wrap:balance}
@media (min-width:768px){
  .chevrons{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px}
  .chevrons__step,.chevrons__step + .chevrons__step{align-items:flex-start;min-height:104px;padding:18px 34px 18px 36px;text-align:left;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,20px 50%)}
  .chevrons__step:first-child,.chevrons__step:nth-child(4){padding-left:22px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%)}
}
@media (min-width:1200px){
  .chevrons{grid-template-columns:repeat(6,minmax(0,1fr))}
  .chevrons__step:nth-child(4){padding-left:36px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,20px 50%)}
  .chevrons__title{font-size:1.0625rem}
}
.method-notes{display:grid;gap:20px;margin-top:clamp(40px,5vw,56px)}
.method-notes__key{padding:24px 28px;background:var(--mist);border-left:2px solid var(--faro-700);font:400 clamp(1.25rem,1.1rem + .6vw,1.5rem)/1.35 var(--font-serif);font-variation-settings:"opsz" 24;color:var(--ink);text-wrap:balance}
.method-notes__small{font-size:.9375rem;line-height:1.5;color:var(--text-muted)}
@media (min-width:1024px){.method-notes{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;align-items:center}}

/* Intereses alineados (banda navy) */
.align{display:grid;gap:40px;margin-top:clamp(32px,4vw,48px)}
.align__diagram svg{display:block;width:100%;max-width:440px;height:auto}
.align__diagram text{font-family:var(--font-sans)}
.align__table{border-bottom:1px solid var(--rule-on-navy)}
.align__head{display:none}
.align__row{display:grid;gap:8px;padding:20px 0;border-top:1px solid var(--rule-on-navy)}
.align__who{font:500 1.25rem/1.3 var(--font-serif);font-variation-settings:"opsz" 24;color:#fff}
.align__row--porto .align__who{color:var(--faro)}
.align__cell{font-size:1rem;line-height:1.5;color:var(--on-navy)}
.align__cell::before{display:block;font:500 .6875rem/1.4 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--on-navy-muted)}
.align__cell--gives::before{content:"Aporta"}
.align__cell--gets::before{content:"Recibe"}
html[lang="en"] .align__cell--gives::before{content:"Contributes"}
html[lang="en"] .align__cell--gets::before{content:"Receives"}
.align__key{margin-top:32px;padding:22px 26px;border-left:2px solid var(--faro);background:rgba(255,255,255,.05);font:400 clamp(1.1875rem,1.05rem + .55vw,1.4375rem)/1.4 var(--font-serif);font-variation-settings:"opsz" 24;color:#fff;text-wrap:balance}
.align__note{margin-top:16px;font-size:.875rem;line-height:1.55;color:var(--on-navy-muted)}
@media (min-width:768px){
  .align__head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,4fr);column-gap:24px;padding-bottom:12px}
  .align__head span{font:500 var(--fs-eyebrow)/1.4 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--on-navy-muted)}
  .align__row{grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,4fr);column-gap:24px;align-items:baseline}
  .align__cell::before{display:none}
}
@media (min-width:1024px){
  .align{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start}
  .align__diagram{grid-column:1 / span 5}
  .align__body{grid-column:7 / span 6}
}

/* Creación de valor */
.exhibit--value{margin-top:clamp(32px,4vw,48px)}
.chart .ch-op{fill:var(--operator)}
.chart .ch-lever{fill:var(--faro)}
.chart .ch-ghost{fill:none;stroke:var(--rule-strong);stroke-width:1.25;stroke-dasharray:4 4}
.chart .ch-legend{font-size:13px;fill:var(--text)}
.levers{display:grid;gap:28px var(--gutter);margin-top:clamp(32px,4vw,48px)}
.lever{display:flex;flex-direction:column;padding-top:20px;border-top:2px solid var(--faro)}
.lever--op{border-top-color:var(--operator)}
.lever__tag{font:500 var(--fs-eyebrow)/1.4 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--faro-700)}
.lever--op .lever__tag{color:var(--blue-600)}
.lever__title{margin-top:10px;font:500 1.375rem/1.2 var(--font-serif);font-variation-settings:"opsz" 24;color:var(--ink)}
.lever__text{margin-top:8px;margin-bottom:14px;font-size:1rem;line-height:1.55;color:var(--text)}
.lever__metric{margin-top:auto;padding-top:10px;border-top:1px solid var(--rule);font-size:.875rem;line-height:1.45;color:var(--text-muted)}
.lever__metric strong{font-weight:500;color:var(--ink)}
@media (min-width:600px){.levers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.levers{grid-template-columns:repeat(4,minmax(0,1fr))}.levers--two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}}
.governance{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:40px;padding:20px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.governance strong{font:500 1.25rem/1.3 var(--font-serif);font-variation-settings:"opsz" 24;color:var(--ink)}
.governance span{font-size:1rem;line-height:1.5;color:var(--text)}
.value-note{margin-top:20px;max-width:62rem;font-size:.8125rem;line-height:1.55;color:var(--text-muted)}

/* Enfoque de inversión (alto nivel, sin verticales ni cifras) */
.focus-grid{margin-top:clamp(32px,4vw,48px)}
.focus-grid .feature{border-top-color:var(--rule-strong)}

/* Equipo */
.partners-grid{display:grid;gap:56px;margin-top:clamp(32px,4vw,48px)}
.partner{display:grid;gap:20px;align-content:start}
.partner .portrait{max-width:220px}
.partner__name{font-family:var(--font-serif);font-weight:500;font-variation-settings:"opsz" 24;font-size:1.625rem;line-height:1.2;color:var(--ink)}
.partner__role{margin-top:6px;font:500 var(--fs-eyebrow)/1.4 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--faro-700)}
.partner .credentials{margin-top:4px;max-width:none}
.partner .credentials__row{padding:12px 0}
.partner .credentials dd{color:var(--text)}
.partner .credentials__row--edu dt,.partner .credentials__row--edu dd{color:var(--text-muted);font-weight:400}
.partner .credentials__row--edu dt{font-weight:500}
@media (min-width:600px){.partner .credentials__row{grid-template-columns:11rem minmax(0,1fr)}}
@media (min-width:1024px){
  .partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}
  .partner{grid-template-columns:160px minmax(0,1fr);column-gap:28px}
  .partner .portrait{max-width:160px}
  .partner__body{padding-top:4px}
  .partner .credentials{grid-column:1 / -1}
}

/* Contacto */
.contact-list dd a{text-decoration-color:var(--faro)}
.contact-list dd small{display:block;margin-top:2px;font-size:.9375rem;color:var(--text-muted)}

/* La cascada se lee a escala completa: en pantallas angostas se desliza */
.chart.chart--value{min-width:640px}
@media (min-width:700px){.chart.chart--value{min-width:0}}
@media (min-width:640px) and (max-width:699.98px){.exhibit--value .exhibit__hint{display:block}}
