/* Paleta y fuentes originales; retratos integrados como fondo. */
/* Retrato del fundador: encuadre natural y proporciones estables. */
.founder-portrait{position:relative;margin:0 0 26px;border-radius:18px;overflow:hidden;background:var(--asc-navy);box-shadow:var(--asc-soft-shadow)}
.founder-portrait img{display:block;width:100%;height:auto;aspect-ratio:682/848;object-fit:cover;object-position:center}
.experience-grid .founder-portrait~.person-name{margin-top:0;font-size:clamp(1.6rem,2.4vw,2rem)}
.experience-grid>div:first-child:has(.founder-portrait){padding:24px}
@media(min-width:681px) and (max-width:960px){.experience-grid>div:first-child:has(.founder-portrait){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-content:center}.founder-portrait{grid-row:1/5;margin-bottom:0}.experience-grid .founder-portrait~.person-name{align-self:end}}
@media(max-width:680px){.experience-grid>div:first-child:has(.founder-portrait){padding:18px}.founder-portrait{border-radius:14px;margin-bottom:22px}}
.hero{min-height:0;padding:0;background:radial-gradient(ellipse at 12% 10%,rgba(24,168,230,.2),transparent 46%),linear-gradient(115deg,var(--asc-navy),var(--asc-blue));color:#fff}
.hero:before{background:rgba(24,168,230,.08)}
.hero-grid{position:relative;width:min(1380px,calc(100% - 64px));min-height:clamp(520px,calc(100svh - 88px),680px);display:grid;grid-template-columns:1.1fr .9fr;gap:0;isolation:isolate}
.hero-copy{position:relative;z-index:3;padding:40px 34px 40px 0}
.hero h1{color:#fff;background:none;-webkit-text-fill-color:#fff;font-size:clamp(2.85rem,4.25vw,4.6rem);line-height:1.06;letter-spacing:-.035em;animation:none;text-wrap:balance}
.hero .eyebrow{color:#86deff}
.hero-lead{color:#dfedff;max-width:590px;font-size:1.1rem;line-height:1.65}
.hero .button.primary{background:linear-gradient(115deg,var(--asc-royal),var(--asc-sky));border:1px solid rgba(255,255,255,.24)}
.hero .button.secondary{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.07)}
.hero .button.secondary:hover{background:rgba(255,255,255,.14)}
.hero-copy .hero-points{position:relative;left:auto;right:auto;bottom:auto;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 22px;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}
.hero-copy .hero-points li{padding:0;color:#dfedff;font-size:.83rem;font-weight:500;border:0}
.hero-copy .hero-points li:before{content:'✓';position:static;display:inline;transform:none;margin-right:7px;background:none;color:var(--asc-aqua);font-family:Outfit,sans-serif;font-size:1rem}
.hero-photo.team-carousel{position:absolute;z-index:1;right:0;top:0;width:51%;height:100%;min-height:0;margin:0;border-radius:0;clip-path:none;background:transparent;isolation:isolate;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%);mask-image:linear-gradient(90deg,transparent,#000 24%)}
.team-carousel .team-slides{position:absolute;inset:20px 0 0;opacity:.54;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 80%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 80%,transparent 100%)}
.team-carousel .team-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.6s ease,visibility 1.6s;overflow:hidden}
.team-carousel .team-slide.is-active{opacity:1;visibility:visible}
.team-carousel .team-slide img{width:auto;height:100%;max-width:100%;min-height:0;margin-inline:auto;object-fit:contain;object-position:50% 100%;filter:saturate(.72);transform:scale(1);transition:transform 6s ease-out;-webkit-mask-image:radial-gradient(ellipse 65% 65% at 50% 50%,#000 45%,transparent 80%);mask-image:radial-gradient(ellipse 65% 65% at 50% 50%,#000 45%,transparent 80%)}
.team-carousel.is-playing .team-slide.is-active img{transform:scale(1.025)}
.hero-photo.team-carousel:after{z-index:1;background:linear-gradient(0deg,var(--asc-blue) 0%,rgba(0,63,159,.25) 28%,transparent 62%),linear-gradient(90deg,var(--asc-blue),transparent 28%)}
.team-caption{position:absolute;z-index:2;left:26%;right:24px;bottom:28px;color:#fff;pointer-events:none}
.team-label{display:inline-flex;align-items:center;gap:9px;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:#88e8dc;font-weight:650}
.team-label:before{content:'';width:24px;height:2px;background:var(--asc-aqua)}
.team-caption p{font-family:TwentyThirty,Outfit,sans-serif;font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.25;margin:8px 0 0}
.floating-contact{background:#25d366;display:grid;place-items:center;padding:13px;border:1px solid rgba(255,255,255,.5);animation:none}
.floating-contact:before,.floating-contact:after{content:none}
.floating-contact svg{width:100%;height:100%;fill:#fff;display:block}
.floating-contact:focus-visible{outline:3px solid var(--asc-royal);outline-offset:4px}
@media(max-width:1200px) and (min-width:961px){.hero-copy{padding-right:14px}.hero h1{font-size:clamp(2.6rem,4.25vw,3.2rem)}.hero-lead{font-size:1rem}.hero-actions{gap:10px}.hero-actions .button{padding-inline:18px;font-size:.88rem}}
@media(max-width:960px){.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:48px 30px 20px;max-width:760px}.hero h1{font-size:clamp(3rem,7.4vw,4.5rem);max-width:700px}.hero-photo.team-carousel{position:relative;right:auto;top:auto;align-self:center;width:100%;height:480px;min-height:0;margin:-12px 0 0}.team-carousel .team-slides{opacity:.6;-webkit-mask-image:linear-gradient(0deg,transparent,#000 18%,#000 72%,transparent);mask-image:linear-gradient(0deg,transparent,#000 18%,#000 72%,transparent)}.team-carousel .team-slide img{object-position:50% 32%}.hero-photo.team-carousel:after{background:linear-gradient(0deg,var(--asc-blue),transparent 38%),linear-gradient(90deg,rgba(0,37,95,.5),transparent 40%,rgba(0,63,159,.4))}.team-caption{left:30px;bottom:28px;right:30px}.team-caption p{font-size:1.55rem}.hero-copy .hero-points{margin-top:24px}.floating-contact{width:54px;height:54px}}
@media(max-width:680px){.hero-copy{padding:40px 22px 22px}.hero h1{font-size:clamp(2.45rem,10.2vw,3.7rem);letter-spacing:-.035em;line-height:1.06}.hero .eyebrow{font-size:.62rem;letter-spacing:.055em;margin-bottom:20px}.hero-lead{font-size:1rem;margin-top:20px}.hero-actions{gap:0}.hero-copy .hero-points{gap:10px 16px;margin-top:22px}.hero-copy .hero-points li{font-size:.79rem}.hero-photo.team-carousel{height:420px;margin-top:-8px}.team-caption{left:22px;bottom:26px}.team-caption p{font-size:1.45rem}.floating-contact{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:52px;height:52px;padding:11px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.team-carousel .team-slide,.team-carousel .team-slide img{transition:none}.team-carousel.is-playing .team-slide.is-active img{transform:none}}
@media(max-width:960px){.hero-photo.team-carousel{-webkit-mask-image:linear-gradient(0deg,#000 80%,transparent);mask-image:linear-gradient(0deg,#000 80%,transparent)}}
/* Una sola alineación lateral, también al cambiar el zoom del navegador. */
@media(max-width:960px){.hero-grid{width:100%}.hero-copy{padding:40px 28px 20px}.hero-photo.team-carousel{height:380px}.team-carousel .team-slides{inset:0;opacity:.54}.team-carousel .team-slide img{object-position:50% 100%}.team-caption{bottom:24px}.team-caption p{font-size:1.35rem}}
@media(max-width:680px){.hero-copy{padding:32px 22px 20px}.hero h1{font-size:clamp(2.3rem,9.6vw,3.5rem)}.hero-photo.team-carousel{height:340px}.team-caption p{font-size:1.25rem}}
@media(min-width:961px) and (max-height:720px){.hero-copy{padding-top:28px;padding-bottom:28px}.hero .eyebrow{margin-bottom:16px}.hero-lead{margin-top:20px}.hero-actions .button{margin-top:22px}.hero-copy .hero-points{margin-top:22px;gap:10px 16px}}
