.fh-page{font-family:var(--fh-body);color:var(--fh-text);background:var(--fh-white);overflow-x:clip}.fh-page *,.fh-page *::before,.fh-page *::after{box-sizing:border-box}.fh-page p{margin:0}.fh-page h1,.fh-page h2,.fh-page h3,.fh-page h4{margin:0;color:var(--fh-black);text-wrap:balance}.fh-page ul{margin:0;padding:0;list-style:none}.fh-page a{text-decoration:none}.fh-page img{max-width:100%;height:auto;display:block}.fh-wrap{width:100%;max-width:var(--fh-container);margin-inline:auto;padding-inline:24px}.fh-section{padding-block:128px}.fh--white{background:var(--fh-white)}.fh--mint{background:var(--fh-mint)}.fh--black{background:var(--fh-black)}.fh--green{background:var(--fh-verde)}.fh-display{font-family:var(--fh-display);font-weight:400;line-height:.9;letter-spacing:-.02em;text-transform:uppercase}.fh-h2{font-size:clamp(2.25rem,4.4vw,4.5rem)}.fh--black .fh-h2,.fh--black h2{color:var(--fh-white)}.fh-lead{font-size:1.0625rem;line-height:1.7}.fh--black .fh-lead{color:var(--fh-line-light)}.fh-eyebrow{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fh-black)}.fh-eyebrow::before{content:"//";color:var(--fh-verde);font-size:1rem}.fh--black .fh-eyebrow{color:var(--fh-mint)}.fh-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:16px 32px;border-radius:150px;font-family:var(--fh-body);font-size:.9375rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.fh-btn:focus-visible{outline:3px solid var(--fh-verde);outline-offset:3px}.fh-btn::after{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--fh-arrow) center/contain no-repeat;mask:var(--fh-arrow) center/contain no-repeat}.fh-btn{--fh-arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='7' y1='17' x2='17' y2='7'/><polyline points='7 7 17 7 17 17'/></svg>")}
.fh-btn--primary{background:var(--fh-black);color:var(--fh-white)}
.fh-btn--primary::after{color:var(--fh-verde)}
.fh-btn--primary:hover{background:var(--fh-pomelo);color:var(--fh-black);transform:translateY(-2px);box-shadow:0 8px 24px rgba(4,3,24,.18)}
.fh-btn--green{background:var(--fh-verde);color:var(--fh-black)}
.fh-btn--green:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(4,3,24,.28)}
.fh-btn--ghost{border:1px solid var(--fh-black);color:var(--fh-black)}
.fh--black .fh-btn--ghost{border-color:var(--fh-line-dark);color:var(--fh-white)}
.fh-btn--ghost:hover{background:var(--fh-black);color:var(--fh-white)}
.fh--black .fh-btn--ghost:hover{background:var(--fh-white);color:var(--fh-black)}
.fh-btns{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.fh-micro{font-size:.8125rem;line-height:1.5;color:var(--fh-text)}
.fh-link{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--fh-line-light);border-radius:150px;font-size:.8125rem;font-weight:600;color:var(--fh-black)}
.fh-link:hover{border-color:var(--fh-black)}

/* ============ Hero ============ */
.fh-hero{background:var(--fh-white)}
.fh-hero__rail{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-block:18px;border-bottom:1px solid var(--fh-line-light)}
.fh-hero__index{display:flex;align-items:center;gap:14px;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fh-black)}
.fh-hero__index b{font-family:var(--fh-display);font-size:1.25rem;font-weight:400;color:var(--fh-verde);letter-spacing:.03em}
.fh-hero__index i{width:22px;height:1px;background:var(--fh-line-light);display:inline-block}
.fh-hero__badge{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:150px;background:var(--fh-verde);color:var(--fh-black);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-2deg)}
.fh-hero__badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--fh-black)}

.fh-hero__title{font-family:var(--fh-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.75rem,7.2vw,8.25rem);line-height:.86;letter-spacing:-.02em;padding-block:56px 0;color:var(--fh-black)}
.fh-mark{background:var(--fh-verde);display:inline-block;padding:.02em .14em .06em;transform:rotate(-1deg)}
.fh-dot{display:inline-block;width:.17em;height:.17em;border-radius:50%;background:var(--fh-verde);vertical-align:.12em;margin-left:.12em}

.fh-hero__base{display:grid;grid-template-columns:1fr 600px;gap:64px;align-items:end;padding-block:40px 64px}
.fh-hero__copy{display:flex;flex-direction:column;gap:26px}
.fh-hero__copy .fh-lead{font-size:1.1875rem}
.fh-hero__visual{position:relative;padding:0 0 40px 40px}
.fh-hero__visual::before{content:"";position:absolute;left:0;bottom:0;width:210px;height:210px;background:var(--fh-verde)}
.fh-hero__visual img{position:relative;border-radius:var(--fh-r)}

/* ============ Banda verde de compromisos ============ */
.fh-band{background:var(--fh-verde);padding-block:44px 48px}
.fh-band__head{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:28px}
.fh-band__label{display:flex;align-items:center;gap:10px;font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--fh-black)}
.fh-band__note{font-size:.8125rem;color:var(--fh-verde-oscuro)}
.fh-band__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.fh-band__item{padding-inline:32px}
.fh-band__item:first-child{padding-left:0}
.fh-band__item+.fh-band__item{border-left:1px solid var(--fh-verde-oscuro)}
.fh-band__num{font-family:var(--fh-display);font-size:4.75rem;line-height:.85;letter-spacing:-.01em;color:var(--fh-black);display:block;margin:14px 0}
.fh-band__num small{font-size:.58em;color:var(--fh-verde-oscuro)}
.fh-band__item p{font-size:.9375rem;line-height:1.6;color:var(--fh-verde-oscuro)}
.fh-ico{width:26px;height:26px;display:block;color:var(--fh-black)}

/* ============ Logos ============ */
.fh-logos{padding-block:48px 56px;border-top:1px solid var(--fh-line-light);border-bottom:1px solid var(--fh-line-light)}
.fh-logos__head{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:32px}
.fh-logos__head p{font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--fh-text)}
.fh-logos__grid{display:grid;grid-template-columns:repeat(6,1fr)}
.fh-logos__item{display:flex;align-items:center;justify-content:center;min-height:88px;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;color:var(--fh-text)}
.fh-logos__item+.fh-logos__item{border-left:1px solid var(--fh-line-light)}

/* ============ Problema / solución ============ */
.fh-compare__head{display:flex;flex-direction:column;gap:20px;margin-bottom:56px;max-width:900px}
.fh-compare__cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fh-compare__col{padding:36px 40px 40px;border-radius:var(--fh-r)}
.fh-compare__col--bad{background:var(--fh-white)}
.fh-compare__col--good{background:var(--fh-black)}
.fh-compare__col>p:first-child{font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:20px}
.fh-compare__col--bad>p:first-child{color:var(--fh-text)}
.fh-compare__col--good>p:first-child{color:var(--fh-verde)}
.fh-compare__col li{display:flex;gap:16px;align-items:flex-start;padding-block:18px;font-size:1rem;line-height:1.65}
.fh-compare__col--bad li{color:var(--fh-text)}
.fh-compare__col--good li{color:var(--fh-line-light)}
.fh-compare__col li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.fh-compare__col--bad li::before{color:var(--fh-pomelo);-webkit-mask-image:var(--fh-x);mask-image:var(--fh-x)}
.fh-compare__col--good li::before{color:var(--fh-verde);-webkit-mask-image:var(--fh-check);mask-image:var(--fh-check)}
.fh-page{--fh-x:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");--fh-check:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>")}

/* ============ Qué incluye ============ */
.fh-steps__head{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-end;justify-content:space-between;margin-bottom:48px}
.fh-steps__head>div:first-child{flex:1 1 640px;display:flex;flex-direction:column;gap:20px}
.fh-steps__head p.fh-lead{flex:0 1 340px;font-size:1rem}
.fh-step{display:grid;grid-template-columns:60px 60px 380px 1fr;gap:36px;align-items:center;padding-block:40px;border-top:1px solid var(--fh-line-light)}
.fh-step__icon{width:60px;height:60px;border-radius:var(--fh-r);background:var(--fh-mint);display:flex;align-items:center;justify-content:center}
.fh--mint .fh-step__icon{background:var(--fh-white)}
.fh-step__num{font-family:var(--fh-display);font-size:2.75rem;line-height:1;color:var(--fh-verde)}
.fh-step__title{font-family:var(--fh-display);font-size:2.875rem;line-height:1;letter-spacing:-.02em;text-transform:uppercase}
.fh-step__desc{font-size:1rem;line-height:1.75}

/* ============ Banner CTA ============ */
.fh-banner{padding-block:96px}
.fh-banner__card{display:flex;flex-wrap:wrap;gap:48px;align-items:center;justify-content:space-between;padding:52px 56px;border-radius:6px;background:var(--fh-navy)}
.fh-banner__card .fh-eyebrow{color:var(--fh-white)}
.fh-banner__card h2{color:var(--fh-white);flex:1 1 620px;font-size:clamp(1.75rem,3vw,3.25rem)}
.fh-banner__text{display:flex;flex-direction:column;gap:10px;flex:1 1 620px}
.fh-banner__action{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.fh-banner__action .fh-micro{color:var(--fh-navy-soft)}

/* ============ Fases ============ */
.fh-phases__head{display:flex;flex-direction:column;gap:20px;margin-bottom:48px;max-width:900px}
.fh-phases__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.fh-phase{display:flex;flex-direction:column;gap:14px;padding-top:32px;border-top:2px solid var(--fh-black)}
.fh-phase b{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fh-verde-oscuro)}
.fh-phase h3{font-family:var(--fh-alt);font-size:1.375rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.fh-phase p{font-size:.9375rem;line-height:1.7}

/* Fila de CTA al cierre de sección */
.fh-section__cta{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;margin-top:48px;padding-top:32px;border-top:1px solid var(--fh-line-light)}
.fh--mint .fh-section__cta{border-top-color:var(--fh-line-mint)}
.fh--black .fh-section__cta{border-top-color:var(--fh-line-dark)}
.fh-section__cta p{font-family:var(--fh-alt);font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--fh-black)}
.fh--black .fh-section__cta p{color:var(--fh-white)}

/* ============ Banda visual ============ */
.fh-visual{display:grid;grid-template-columns:1fr 560px}
.fh-visual__img{background:var(--fh-mint-deep);min-height:440px;overflow:hidden}
.fh-visual__img img{width:100%;height:100%;object-fit:cover}
.fh-visual__panel{background:var(--fh-verde);padding:56px 64px;display:flex;flex-direction:column;justify-content:center;gap:20px}
.fh-visual__panel h2{font-size:clamp(1.875rem,2.9vw,3.5rem)}
.fh-visual__panel p{font-size:1rem;line-height:1.7;color:var(--fh-verde-oscuro)}

/* ============ Métricas ============ */
.fh-metrics__head{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-end;justify-content:space-between;margin-bottom:40px}
.fh-metrics__head h2{flex:1 1 700px}
.fh-metrics__head p{flex:0 1 380px;font-size:1rem;line-height:1.7;color:var(--fh-line-light)}
.fh-metrics__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.fh-metric{padding:40px 48px 48px;border:1px solid var(--fh-line-dark);border-left:0}
.fh-metric:first-child{border-left:1px solid var(--fh-line-dark)}
.fh-metric p{font-size:.875rem;line-height:1.7;color:var(--fh-mint)}
.fh-metric b{display:block;margin-top:14px;font-family:var(--fh-body);font-size:3.125rem;font-weight:700;letter-spacing:-.04em;line-height:.9;color:var(--fh-mint)}
.fh-metric b span{color:var(--fh-verde)}

/* ============ Stack ============ */
.fh-stack{display:grid;grid-template-columns:480px 1fr;gap:80px;align-items:start}
.fh-stack__intro{display:flex;flex-direction:column;gap:20px}
.fh-stack__row{display:flex;flex-wrap:wrap;gap:24px;align-items:center;padding-block:20px;border-bottom:1px solid var(--fh-line-light)}
.fh-stack__row>b{display:flex;align-items:center;gap:12px;flex:0 0 190px;font-size:.6875rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--fh-text)}
.fh-stack__ico{width:40px;height:40px;flex:none;border-radius:var(--fh-r);background:var(--fh-mint);display:flex;align-items:center;justify-content:center}
.fh-stack__chips{display:flex;flex-wrap:wrap;gap:8px}
.fh-chip{display:inline-flex;padding:8px 16px;border:1px solid var(--fh-black);border-radius:150px;font-size:.8125rem;font-weight:600;color:var(--fh-black)}

/* ============ FAQ ============ */
.fh-faq{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:start}
.fh-faq__aside{display:flex;flex-direction:column;gap:20px}
.fh-faq__card{margin-top:12px;padding:28px;border-radius:var(--fh-r);background:var(--fh-black);display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.fh-faq__card p{font-family:var(--fh-alt);font-size:1.1875rem;font-weight:600;line-height:1.35;color:var(--fh-white)}
.fh-details{border-bottom:1px solid var(--fh-line-light)}
.fh--mint .fh-details{border-bottom-color:var(--fh-line-mint)}
.fh-details summary{display:flex;gap:32px;align-items:center;justify-content:space-between;padding-block:28px;cursor:pointer;list-style:none;font-family:var(--fh-alt);font-size:1.375rem;font-weight:600;letter-spacing:-.02em;color:var(--fh-black)}
.fh-details summary::-webkit-details-marker{display:none}
.fh-details summary::after{content:"";flex:none;width:40px;height:40px;border:1px solid var(--fh-line-light);border-radius:50%;background:var(--fh-black);-webkit-mask:var(--fh-plus) center/18px no-repeat;mask:var(--fh-plus) center/18px no-repeat;transition:transform .2s ease}
.fh--mint .fh-details summary::after{border-color:var(--fh-line-mint)}
.fh-details[open] summary::after{transform:rotate(45deg)}
.fh-page{--fh-plus:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><line x1='12' y1='5' x2='12' y2='19'/><line x1='5' y1='12' x2='19' y2='12'/></svg>")}
.fh-details__body{padding-bottom:28px;font-size:1rem;line-height:1.75;max-width:70ch}
.fh-details__body p+p{margin-top:1em}

/* ============ CTA final ============ */
.fh-cta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.fh-cta h2{max-width:14ch;font-size:clamp(2.5rem,5.4vw,6rem);color:var(--fh-white)}
.fh-cta .fh-lead{max-width:60ch}
.fh-cta .fh-micro{color:var(--fh-text)}

/* ============ Responsive ============ */
@media (max-width:1200px){
  .fh-hero__base{grid-template-columns:1fr;gap:40px}
  .fh-hero__visual{padding-left:32px;max-width:600px}
  .fh-stack,.fh-faq{grid-template-columns:1fr;gap:48px}
  .fh-visual{grid-template-columns:1fr}
  .fh-metrics__grid{grid-template-columns:repeat(2,1fr)}
  .fh-metric{border-left:1px solid var(--fh-line-dark)}
  .fh-phases__grid{grid-template-columns:repeat(2,1fr)}
  .fh-step{grid-template-columns:60px 60px 1fr;gap:24px}
  .fh-step__desc{grid-column:1/-1}
  .fh-logos__grid{grid-template-columns:repeat(3,1fr)}
  .fh-logos__item:nth-child(3n+1){border-left:0}
}
@media (max-width:781px){
  .fh-section{padding-block:56px}
  .fh-banner{padding-block:56px}
  .fh-banner__card{padding:36px 24px 40px}
  .fh-banner__action{align-items:stretch;width:100%}
  .fh-hero__title{padding-top:26px}
  .fh-hero__base{padding-block:24px 32px}
  .fh-compare__cols{grid-template-columns:1fr}
  .fh-compare__col{padding:26px 22px 28px}
  .fh-band__grid{grid-template-columns:1fr}
  .fh-band__item{padding:18px 0;border-left:0!important;border-top:1px solid var(--fh-verde-oscuro)}
  .fh-band__item:first-child{border-top:0}
  .fh-metrics__grid,.fh-phases__grid{grid-template-columns:1fr}
  .fh-metric{padding:26px 0;border:0;border-top:1px solid var(--fh-line-dark)!important}
  .fh-logos__grid{grid-template-columns:repeat(2,1fr)}
  .fh-logos__item:nth-child(odd){border-left:0}
  .fh-logos__item{border-top:1px solid var(--fh-line-light)}
  .fh-step{grid-template-columns:1fr;gap:10px;padding-block:26px}
  .fh-step__title{font-size:1.875rem}
  .fh-visual__panel{padding:36px 24px 40px}
  .fh-btn{width:100%;justify-content:center}
  .fh-btns{flex-direction:column;align-items:stretch}
  .fh-section__cta{flex-direction:column;align-items:stretch}
  .fh-details summary{font-size:1.0625rem;gap:16px;padding-block:20px}
  .fh-details summary::after{width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){.fh-page *{transition:none!important;animation:none!important}}
/* ============ Placeholders de imagen ============ */
.fh-ph{position:relative;background:var(--fh-mint-deep);border-radius:var(--fh-r);display:flex;align-items:center;justify-content:center;min-height:240px}
.fh-ph::after{content:attr(data-ph);font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fh-verde-oscuro);text-align:center;padding:16px}
.fh-hero__visual .fh-ph{aspect-ratio:3/2;min-height:0}
.fh-visual__img.fh-ph{border-radius:0;min-height:440px}

/* ============ Correcciones de convivencia con Crafto ============ */
/* El header del sitio es una plantilla de Elementor con posición fija:
   el hero necesita despejarlo para que el rail no quede debajo. */
.fh-page .fh-hero{padding-top:104px}
@media (max-width:781px){.fh-page .fh-hero{padding-top:80px}}

/* Crafto declara display:flex en enlaces con clase; recuperamos inline-flex */
.fh-page .fh-btn{display:inline-flex;padding:16px 26px}
.fh-page .fh-link{display:inline-flex}
.fh-page .fh-micro{display:inline-flex;align-items:center;gap:8px}
.fh-page .fh-micro .fh-ico{width:15px;height:15px;flex:none;color:var(--fh-verde)}
.fh-page .fh-band__label .fh-ico,.fh-page .fh-stack__ico .fh-ico{width:18px;height:18px}
.fh-page .fh-hero__base{grid-template-columns:1fr 560px}
@media (max-width:1200px){.fh-page .fh-hero__base{grid-template-columns:1fr}}

/* Crafto pinta los enlaces de contenido: los nuestros mandan */
.fh-page a.fh-btn--primary{color:var(--fh-white)}
.fh-page a.fh-btn--primary:hover{color:var(--fh-black)}
.fh-page a.fh-btn--green,.fh-page a.fh-btn--ghost,.fh-page a.fh-link{color:var(--fh-black)}
.fh-page .fh--black a.fh-btn--ghost{color:var(--fh-white)}
.fh-page .fh--black a.fh-btn--ghost:hover{color:var(--fh-black)}

/* Sin márgenes heredados entre bloques de sección */
.fh-page>.wp-block-group{margin:0}
.fh-page .wp-block-group{margin-block:0}
/* ============ Tema clásico: contenedor interno de los grupos ============
   Crafto no declara theme.json, así que WordPress envuelve el contenido de
   cada core/group en .wp-block-group__inner-container. Ese div rompe las
   rejillas porque se convierte en el único hijo. display:contents lo saca
   del flujo de maquetación y devuelve los hijos reales a su cuadrícula. */
.fh-page .wp-block-group__inner-container{display:contents}
/* Crafto declara overflow:clip en html y body y confia el scroll a su JS.
   En las paginas nativas no cargamos esa capa, asi que devolvemos el scroll
   del documento al navegador. */
html:has(.fh-page),html:has(.fh-page) body{overflow:visible}
/* Correccion: el h2 del banner esta dentro de un contenedor flex en columna,
   asi que flex-basis actuaba sobre la altura y lo estiraba a 620px. */
.fh-page .fh-banner__card h2{flex:0 1 auto}

/* La cabecera de Elementor arranca en opacity:0 y la revela el JS de Crafto.
   En estas paginas no cargamos esa capa de animacion, asi que la mostramos
   por CSS. De paso deja de depender de JavaScript para pintarse. */
html:has(.fh-page) .elementor-location-header .e-con,
html:has(.fh-page) .elementor-location-header .elementor-element{opacity:1;visibility:visible}
/* ============ Sobre nosotros ============ */
.fh-about__hero{display:grid;grid-template-columns:1fr 520px;gap:56px;align-items:start;padding-block:60px 64px}
.fh-about__title{display:flex;flex-direction:column;gap:22px}
.fh-about__title h1{font-family:var(--fh-display);font-weight:400;text-transform:uppercase;font-size:clamp(3rem,8vw,9.5rem);line-height:.84;letter-spacing:-.025em;color:var(--fh-black)}
.fh-about__sub{font-family:var(--fh-display);font-size:clamp(1.75rem,3.6vw,4.625rem);line-height:.92;letter-spacing:-.02em;text-transform:uppercase;color:var(--fh-black)}
.fh-about__portraits{position:relative;height:540px}
.fh-about__portraits i{position:absolute;left:0;top:70px;width:200px;height:200px;background:var(--fh-verde)}
.fh-about__portraits .fh-ph{position:absolute;width:290px;height:340px;min-height:0}
.fh-about__portraits .fh-ph:first-of-type{left:60px;top:0;background:var(--fh-mint)}
.fh-about__portraits .fh-ph:last-of-type{left:230px;top:200px;background:var(--fh-mint-deep)}

.fh-tabs{display:inline-flex;gap:8px;padding:6px;border-radius:150px;background:var(--fh-white);border:1px solid var(--fh-line-mint)}
.fh-tab{padding:14px 28px;border:0;border-radius:150px;background:none;font-family:var(--fh-body);font-size:.9375rem;font-weight:600;color:var(--fh-text);cursor:pointer;transition:background-color .15s ease,color .15s ease}
.fh-tab[aria-selected="true"]{background:var(--fh-black);color:var(--fh-white)}
.fh-tab:focus-visible{outline:3px solid var(--fh-verde);outline-offset:2px}

.fh-profile{display:grid;grid-template-columns:400px 1fr;gap:80px;align-items:start;padding-top:64px}
.fh-profile+.fh-profile{border-top:1px solid var(--fh-line-mint);margin-top:64px}
.fh-profile[hidden]{display:none}
.fh-profile__card{display:flex;flex-direction:column;gap:24px}
.fh-profile__card .fh-ph{height:420px;background:var(--fh-mint-deep)}
.fh-profile__card h2{font-family:var(--fh-display);font-size:3.5rem;line-height:.95;letter-spacing:-.02em;text-transform:uppercase}
.fh-profile__role{font-family:var(--fh-alt);font-size:1.125rem;font-weight:600;line-height:1.4;color:var(--fh-text)}
.fh-profile__card .fh-btns{flex-direction:column;align-items:flex-start}
.fh-profile__body{display:flex;flex-direction:column;gap:56px}
.fh-cols2{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.fh-cols2 p{font-size:1rem;line-height:1.8}
.fh-profile__block{display:flex;flex-direction:column;gap:20px;padding-top:36px;border-top:1px solid var(--fh-line-mint)}
.fh-profile__block h3{font-family:var(--fh-alt);font-size:1.625rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}
.fh-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:36px;border-top:1px solid var(--fh-line-mint)}
.fh-highlights b{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fh-verde-oscuro);margin-bottom:10px}
.fh-highlights p{font-size:.9375rem;line-height:1.7}
.fh-rules .fh-step{grid-template-columns:60px 60px 420px 1fr}

@media (max-width:1200px){
  .fh-about__hero{grid-template-columns:1fr}
  .fh-about__portraits{height:auto;display:flex;gap:16px}
  .fh-about__portraits i{display:none}
  .fh-about__portraits .fh-ph{position:static;width:auto;flex:1 1 0;height:300px}
  .fh-profile{grid-template-columns:1fr;gap:40px}
  .fh-rules .fh-step{grid-template-columns:60px 60px 1fr}
}
@media (max-width:781px){
  .fh-cols2,.fh-highlights{grid-template-columns:1fr}
  .fh-tabs{display:flex;width:100%}
  .fh-tab{flex:1 1 0}
  .fh-profile__card h2{font-size:2.5rem}
}
/* ============ Sobre nosotros: perfiles con pestanas ============
   Las pestanas son radios nativos, sin JavaScript. Los dos paneles viven
   siempre en el HTML: solo cambia cual se muestra. Asi el contenido de
   autoria de los dos perfiles sigue estando en el documento servido. */
.fh-tabs input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.fh-tabs__bar{display:inline-flex;gap:8px;padding:6px;border:1px solid var(--fh-line-mint);border-radius:150px;background:var(--fh-white);margin-bottom:56px}
.fh-tabs__bar label{padding:14px 28px;border-radius:150px;font-size:.9375rem;font-weight:600;color:var(--fh-text);cursor:pointer;transition:background-color .15s ease,color .15s ease}
.fh-tabs:has(#perfil-carlos:checked) label[for=perfil-carlos],
.fh-tabs:has(#perfil-alvaro:checked) label[for=perfil-alvaro]{background:var(--fh-black);color:var(--fh-white)}
.fh-tabs input:focus-visible+label,.fh-tabs__bar label:focus-visible{outline:3px solid var(--fh-verde);outline-offset:2px}
.fh-tabs:has(#perfil-carlos:checked) #panel-alvaro,
.fh-tabs:has(#perfil-alvaro:checked) #panel-carlos{display:none}

.fh-profile{display:grid;grid-template-columns:400px 1fr;gap:80px;align-items:start}
.fh-profile__card{display:flex;flex-direction:column;gap:24px}
.fh-profile__card .fh-ph{aspect-ratio:5/6;min-height:0}
.fh-profile__name{font-family:var(--fh-display);font-size:3.5rem;line-height:.95;letter-spacing:-.02em;text-transform:uppercase}
.fh-profile__role{font-family:var(--fh-alt);font-size:1.125rem;font-weight:600;line-height:1.4;letter-spacing:-.01em;color:var(--fh-text)}
.fh-profile__card .fh-btns{flex-direction:column;align-items:flex-start}
.fh-profile__body{display:flex;flex-direction:column;gap:56px}
.fh-cols2{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.fh-cols2 p{font-size:1rem;line-height:1.8}
.fh-profile__block{display:flex;flex-direction:column;gap:20px;padding-top:36px;border-top:1px solid var(--fh-line-mint)}
.fh-profile__block h3{font-family:var(--fh-alt);font-size:1.625rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}
.fh-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:36px;border-top:1px solid var(--fh-line-mint)}
.fh-highlights b{display:block;margin-bottom:10px;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fh-verde-oscuro)}
.fh-highlights p{font-size:.9375rem;line-height:1.7}

/* Retratos solapados del hero */
.fh-portraits{position:relative;width:520px;height:540px}
.fh-portraits i{position:absolute;left:0;top:70px;width:200px;height:200px;background:var(--fh-verde)}
.fh-portraits .fh-ph{position:absolute;min-height:0;width:290px;height:340px}
.fh-portraits .fh-ph:nth-of-type(1){left:60px;top:0;background:var(--fh-mint)}
.fh-portraits .fh-ph:nth-of-type(2){left:230px;top:200px}
.fh-hero--about .fh-hero__base{grid-template-columns:1fr 520px;align-items:start}

@media (max-width:1200px){
  .fh-profile{grid-template-columns:1fr;gap:40px}
  .fh-portraits{width:100%;max-width:520px}
}
@media (max-width:781px){
  .fh-cols2,.fh-highlights{grid-template-columns:1fr;gap:24px}
  .fh-tabs__bar{display:flex;width:100%;margin-bottom:32px}
  .fh-tabs__bar label{flex:1;text-align:center;padding:14px 12px;font-size:.875rem}
  .fh-profile__name{font-size:2.5rem}
  .fh-portraits{height:420px}
  .fh-portraits .fh-ph{width:190px;height:230px}
  .fh-portraits .fh-ph:nth-of-type(2){left:150px;top:150px}
  .fh-portraits i{width:130px;height:130px}
}
/* Correccion: la barra de pestanas se colapsaba a una letra por linea. */
.fh-page .fh-tabs{position:relative}
.fh-page .fh-tabs__bar{width:max-content;max-width:100%;flex-wrap:wrap}
.fh-page .fh-tabs__bar label{white-space:nowrap;flex:0 0 auto}
@media (max-width:781px){.fh-page .fh-tabs__bar{width:100%}.fh-page .fh-tabs__bar label{flex:1 1 auto}}
/* Crafto aplica flex a contenedores con 'tabs' en la clase. Lo anulamos. */
.fh-page .fh-tabs{display:block}
.fh-page .fh-tabs__bar{align-self:flex-start;height:auto}

/* ========== Correcciones de maquetacion desktop ========== */
/* 1. La banda visual se escapaba a sangre (1952px). Se limita a 1380. */
.fh-page .fh-visualband{padding-inline:max(24px,calc((100% - 1380px) / 2))}
/* 2. El hero dejaba ~260px muertos entre el H1 y el subtitular. */
.fh-page .fh-hero__base{align-items:start;padding-block:32px 64px}
.fh-page .fh-hero__visual{padding-top:8px}
/* 3. Los botones se estiraban al ancho de su columna en flex-column. */
.fh-page .fh-btn,.fh-page .fh-link{align-self:flex-start}
/* 4. El icono de la FAQ perdia el circulo: la mascara se comia el borde. */
.fh-page .fh-details summary::after{border:0;border-radius:0;background:var(--fh-toggle) center/40px no-repeat;-webkit-mask:none;mask:none}
/* 5. Anclas internas: el header fijo tapaba el destino. */
.fh-page [id]{scroll-margin-top:120px}
/* 6. Aire entre el titular de metricas y su texto de apoyo. */
.fh-page .fh-metrics__head{align-items:end;gap:64px}
.fh-page .fh-metrics__head p{padding-bottom:6px}
@media (max-width:781px){.fh-page .fh-btn{align-self:stretch}.fh-page .fh-visualband{padding-inline:0}}
.fh-page{--fh-toggle:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19.5' fill='none' stroke='%23D8D8D4'/><path d='M20 12v16M12 20h16' stroke='%23040318' stroke-width='2' stroke-linecap='round'/></svg>")}
.fh-page .fh--mint{--fh-toggle:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><circle cx='20' cy='20' r='19.5' fill='none' stroke='%23C9D6A4'/><path d='M20 12v16M12 20h16' stroke='%23040318' stroke-width='2' stroke-linecap='round'/></svg>")}

/* ========== Correcciones /sobre-nosotros/ ========== */
/* 1. La cabecera de Elementor arranca oculta y la revela el JS de Crafto.
      El selector anterior usaba .e-con y los contenedores reales llevan
      e-con-full, asi que no llegaba a aplicarse. */
html:has(.fh-page) .elementor-location-header [class*="e-con"],
html:has(.fh-page) .elementor-location-header .elementor-element,
html:has(.fh-page) .elementor-location-footer [class*="e-con"],html:has(.fh-page) .elementor-location-footer .elementor-element{opacity:1!important;visibility:visible!important}.fh-page .fh-band__grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width:1200px){.fh-page .fh-band__grid--4{grid-template-columns:repeat(2,1fr)}.fh-page .fh-band__grid--4 .fh-band__item:nth-child(3){border-left:0;padding-left:0}}@media (max-width:781px){.fh-page .fh-band__grid--4{grid-template-columns:1fr}}.fh-page .fh-hero--about .fh-hero__base{align-items:start;grid-template-columns:1fr 560px}@media (max-width:1200px){.fh-page .fh-hero--about .fh-hero__base{grid-template-columns:1fr}}