/* About page only: slightly larger portraits and a contained mascot interaction. */
.nosotros-intro-section{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#f7fbfc 0%,#fff 48%,#eef6f8 100%)}
.nosotros-intro-section::before{content:"";position:absolute;z-index:-1;top:-18rem;right:-10rem;width:clamp(360px,48vw,720px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(31,157,190,.12),rgba(63,137,170,.04) 52%,transparent 72%);pointer-events:none}
.nosotros-intro-section .nosotros-intro-media{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:clamp(42px,7vw,92px);align-items:center}
.nosotros-intro-section .fidelity-history{max-width:620px}
.nosotros-intro-section .fidelity-history h1{max-width:16ch;margin:13px 0 22px;font-size:clamp(2.35rem,4.3vw,3.55rem);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.nosotros-intro-section .fidelity-history .site-prose{max-width:62ch;color:#5d6f83;font-size:1rem;line-height:1.75}
.nosotros-intro-section .fidelity-history .site-prose p{margin:0 0 15px}
.nosotros-intro-section .fidelity-checks{gap:10px;padding-top:20px}
.nosotros-intro-section .nosotros-cancion{position:relative;justify-self:center;width:min(100%,370px);padding:10px;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:linear-gradient(145deg,#fff 0%,#eaf4f7 100%);box-shadow:0 30px 75px rgba(14,44,70,.17),0 4px 14px rgba(14,44,70,.06)}
.nosotros-intro-section .nosotros-cancion video{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;background:#07152f;border-radius:19px}
.nosotros-intro-section .nosotros-cancion figcaption{gap:4px;padding:18px 16px 12px}
.nosotros-intro-section .nosotros-cancion figcaption .site-kicker{font-size:.68rem;letter-spacing:.13em}
.nosotros-intro-section .nosotros-cancion figcaption strong{font-size:1.08rem;line-height:1.3}
.nosotros-intro-section .nosotros-cancion figcaption>span:last-child{font-size:.84rem;line-height:1.5}
.nosotros-org .team-circle-leaders{display:flex;flex-wrap:wrap;--team-min-width:260px;--team-item-max:310px;gap:30px 80px}
.nosotros-org .team-circle-leaders .team-circle-person{flex:0 1 310px;max-width:310px}
.nosotros-org .team-circle-leaders .team-circle-photo{width:286px}
.nosotros-org .team-circle-staff{max-width:1240px;gap:36px 22px;--team-min-width:180px;--team-item-max:260px}
.nosotros-org .team-circle-staff .team-circle-person{flex-basis:228px;max-width:260px}
.nosotros-org .team-circle-row[data-team-columns] .team-circle-person{flex-basis:calc((100% - (var(--team-columns) - 1)*var(--team-column-gap))/var(--team-columns));max-width:var(--team-item-max)}
.nosotros-org .team-circle-staff .team-circle-photo{width:min(100%,228px)}
.mascot-copy{position:relative;isolation:isolate;min-width:0;padding:62px 40px 68px;border-radius:32px;outline-offset:5px;transition:background-color .4s,box-shadow .4s}
.mascot-copy:focus-visible{outline:2px solid #087b9f}
.mascot-copy-content{position:relative;z-index:1}
.mascot-copy-content p:last-child{margin-bottom:0}
.mascot-play-decoration{position:absolute;inset:0;pointer-events:none;user-select:none;z-index:0}
.mascot-play-paw,.mascot-play-dog{position:absolute;display:block;opacity:0;transform:translateY(12px) scale(.65) rotate(var(--paw-angle,0deg));transition:opacity .3s,transform .4s}
.mascot-play-paw{width:28px;height:28px;color:#3aa6c7;--paw-angle:0deg}
.mascot-play-paw svg{display:block;width:100%;height:100%;fill:currentColor}
.mascot-play-paw-1{left:12%;top:12px;--paw-angle:-25deg;--paw-delay:0s}
.mascot-play-paw-2{left:43%;top:0;--paw-angle:16deg;--paw-delay:.2s;width:23px;height:23px}
.mascot-play-paw-3{right:12%;top:16px;--paw-angle:28deg;--paw-delay:.4s}
.mascot-play-paw-4{left:3px;top:45%;--paw-angle:-32deg;--paw-delay:.6s;width:24px;height:24px}
.mascot-play-paw-5{right:3px;top:49%;--paw-angle:32deg;--paw-delay:.8s;width:24px;height:24px}
.mascot-play-paw-6{left:calc(50% - 12px);bottom:16px;--paw-angle:-10deg;--paw-delay:1s;width:24px;height:24px}
.mascot-play-dog{width:64px;height:57px;color:#2d667e;bottom:4px;--dog-facing:1}
.mascot-play-dog-left{left:10%;--dog-delay:0s}
.mascot-play-dog-right{right:10%;--dog-facing:-1;--dog-delay:.2s}
.mascot-play-dog svg{display:block;width:100%;height:100%;fill:#fff;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:scaleX(var(--dog-facing))}
.mascot-dog-ear,.mascot-dog-spot{fill:#365466;stroke:#365466}
.mascot-dog-eye,.mascot-dog-nose{fill:#24485a;stroke:none}
.mascot-dog-tail{fill:none;transform-origin:53px 35px}
.mascot-dog-mouth{fill:none}
.mascot-spotlight.is-playful .mascot-copy{background:rgb(255 255 255 / .65);box-shadow:0 12px 32px #173c5506}
.mascot-spotlight.is-playful .mascot-play-paw{opacity:.65;animation:etpPawPlay 2.8s ease-in-out var(--paw-delay) infinite both}
.mascot-spotlight.is-playful .mascot-play-dog{opacity:1;animation:etpLittleDogHop 1.6s ease-in-out var(--dog-delay) infinite both}
.mascot-spotlight.is-playful .mascot-dog-tail{animation:etpLittleDogTail .45s ease-in-out infinite alternate}
.fidelity-page .mascot-spotlight.is-playful .mascot-portrait img{animation:etpMascotHello 1.6s ease-in-out infinite}
.mascot-spotlight.is-playful .mascot-portrait::before{transform:scale(1.09)}
.mascot-spotlight.is-playful .mascot-portrait::after{transform:rotate(8deg) scale(1.025)}
@keyframes etpPawPlay{0%,100%{transform:translateY(2px) scale(.95) rotate(var(--paw-angle))}50%{transform:translateY(-5px) scale(1.05) rotate(calc(var(--paw-angle) + 8deg))}}
@keyframes etpLittleDogHop{0%,100%{transform:translateY(0) rotate(-3deg) scale(1)}35%{transform:translateY(-8px) rotate(3deg) scale(1.03)}70%{transform:translateY(-2px) rotate(-1deg) scale(1)}}
@keyframes etpLittleDogTail{from{transform:rotate(-12deg)}to{transform:rotate(15deg)}}
@media(max-width:900px){
  .nosotros-intro-section .nosotros-intro-media{grid-template-columns:minmax(0,1fr) minmax(270px,340px);gap:34px}
  .nosotros-intro-section .fidelity-history h1{font-size:clamp(2.2rem,4.5vw,3rem)}
  .nosotros-intro-section .nosotros-cancion{width:min(100%,340px)}
  .nosotros-org .team-circle-staff{max-width:790px;--team-min-width:160px}
  .mascot-copy{padding:58px 30px 68px}
}
@media(max-width:760px){
  .nosotros-intro-section{padding-top:42px;padding-bottom:50px}
  .nosotros-intro-section .nosotros-intro-media{grid-template-columns:minmax(0,1fr);gap:30px}
  .nosotros-intro-section .fidelity-history{max-width:620px;margin-inline:auto}
  .nosotros-intro-section .fidelity-history h1{max-width:17ch;font-size:clamp(2.2rem,8vw,2.8rem)}
  .nosotros-intro-section .nosotros-cancion{width:min(100%,360px)}
  .nosotros-org .team-circle-leaders{column-gap:22px;--team-min-width:180px}
  .nosotros-org .team-circle-leaders .team-circle-photo{width:240px}
  .nosotros-org .team-circle-staff{gap:30px 18px;--team-min-width:140px}
  .nosotros-org .team-circle-staff .team-circle-photo{width:min(100%,204px)}
  .mascot-copy{width:100%;max-width:516px;margin:auto;padding:54px 30px 70px}
  .fidelity-page .mascot-spotlight{gap:22px}
  .mascot-portrait::before{inset:5% 0 -2%}
  .mascot-portrait::after{inset:14px 24px}
}
@media(max-width:540px){
  .nosotros-org .team-circle-leaders{--team-min-width:140px}
  .nosotros-org .team-circle-staff{--team-min-width:128px}
  .nosotros-org .team-circle-leaders .team-circle-photo{width:196px}
  .nosotros-org .team-circle-staff .team-circle-photo{width:min(100%,175px)}
  .mascot-copy{padding:54px 25px 70px;border-radius:24px}
  .mascot-play-dog{width:56px;height:50px}
  .mascot-play-paw-4,.mascot-play-paw-5{width:18px;height:18px}
}
@media(prefers-reduced-motion:reduce){
  .mascot-copy,.mascot-play-paw,.mascot-play-dog{transition:none}
  .mascot-spotlight.is-playful .mascot-play-paw,.mascot-spotlight.is-playful .mascot-play-dog,.mascot-spotlight.is-playful .mascot-dog-tail,.fidelity-page .mascot-spotlight.is-playful .mascot-portrait img{animation:none;transform:rotate(var(--paw-angle,0deg))}
  .mascot-spotlight.is-playful .mascot-portrait::before,.mascot-spotlight.is-playful .mascot-portrait::after{transform:none}
}
