/* Ajustes visuales solicitados para la segunda revisión local. */
.cta-band {
  position: relative;
  isolation: isolate;
  background: linear-gradient(90deg, rgba(7, 10, 61, .96) 0%, rgba(10, 19, 88, .82) 52%, rgba(16, 29, 105, .55) 100%), url('/assets/fondo-cta.webp') center 51% / cover no-repeat;
  min-height: 300px;
  display: flex;
  align-items: center;
}
.cta-band::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(25, 40, 159, .1), transparent 70%);
}
.cta-inner { position: relative; z-index: 1; padding-inline: clamp(14px, 2.2vw, 32px); }
.hero-bottom { justify-content: flex-end; }
.about-hero {
  min-height: 540px;
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, rgba(5, 8, 55, .98) 0%, rgba(8, 14, 77, .92) 45%, rgba(10, 20, 81, .57) 100%), url('/assets/fondo-nosotros.webp') center 45% / cover no-repeat;
}
.about-hero .shell { position: relative; z-index: 1; }
.about-hero::before { opacity: .35; }
.contact-hero {
  min-height: 540px;
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, rgba(5, 8, 55, .98) 0%, rgba(8, 14, 77, .91) 43%, rgba(10, 20, 81, .52) 100%), url('/assets/legal.webp') center 44% / cover no-repeat;
}
.contact-hero .shell { position: relative; z-index: 1; }
.contact-hero::before { opacity: .35; }
.legal-brand-row {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: -18px 0 65px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--line);
}
.legal-brand-row img { display: block; width: min(300px, 72vw); height: auto; }
.case-scope {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 44px;
  align-items: center;
  margin-top: 64px;
  padding-top: 40px;
  border-top: 1px solid #dce4f1;
}
.case-kicker { color: #4260bc; font: 800 10px Manrope, sans-serif; letter-spacing: .15em; }
.case-scope h3 { max-width: 440px; margin: 11px 0 12px; font: 800 clamp(24px, 2.8vw, 34px)/1.14 Manrope, sans-serif; letter-spacing: -.05em; }
.case-scope p { max-width: 450px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.case-tags { display: flex; flex-wrap: wrap; align-content: center; gap: 10px; }
.case-tags span { display: inline-flex; align-items: center; min-height: 43px; padding: 10px 17px; border: 1px solid #d5def0; border-radius: 999px; background: white; color: #182957; font: 700 12px Manrope, sans-serif; }
.recovery-terms { padding: 76px 0; color: white; background: linear-gradient(115deg, #090c52, #173593); }
.recovery-terms-inner { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 72px; }
.recovery-terms h2 { margin: 16px 0 0; font: 800 clamp(31px, 3.8vw, 49px)/1.13 Manrope, sans-serif; letter-spacing: -.06em; }
.recovery-terms p { margin: 0 0 15px; max-width: 660px; color: #d4e1fb; font-size: 15px; line-height: 1.72; }
.recovery-terms strong { color: white; }
.recovery-terms .btn { margin-top: 8px; }
.form-message a { display: inline-flex; align-items: center; font-weight: 800; color: #2148b8; text-decoration: underline; text-underline-offset: 3px; }
.team-group + .team-group { margin-top: 60px; }
.team-group .team-col-title { border-bottom: 0; padding: 0 0 22px; }
.team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.team-group:nth-child(2) .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.team-member { min-width: 0; }
.team-member-visual {
  height: 310px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 17px;
  background: radial-gradient(circle at 80% 20%, rgba(46, 227, 242, .42), transparent 35%), linear-gradient(145deg, #13248b, #0a0e5b 65%, #192275);
}
.team-group:nth-child(2) .team-member-visual { height: 350px; }
.team-member-visual::after { content: ""; position: absolute; width: 120%; height: 80%; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; left: -10%; bottom: -50%; transform: rotate(-28deg); }
.team-member-visual > span { font: 800 68px Manrope, sans-serif; letter-spacing: -.08em; color: rgba(255,255,255,.72); }
.team-member-visual.has-photo::after { display: none; }
.team-member-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: transform .5s ease; }
.team-member:hover .team-member-visual img { transform: scale(1.04); }
.team-member-info { padding: 16px 2px 0; }
.team-member-info small { display: block; font: 800 10px Manrope, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #5870b1; }
.team-member-info h3 { margin: 7px 0 0; font: 800 19px/1.25 Manrope, sans-serif; letter-spacing: -.04em; }
.team-member.no-portrait { display: flex; align-items: center; gap: 15px; padding: 18px; border-radius: 16px; border: 1px solid #e1e5ee; background: #f7f9fd; align-self: start; }
.team-member.no-portrait .team-member-visual,
.team-group:nth-child(2) .team-member.no-portrait .team-member-visual { width: 61px; height: 61px; flex: 0 0 61px; border-radius: 12px; }
.team-member.no-portrait .team-member-visual > span { font-size: 20px; letter-spacing: -.05em; }
.team-member.no-portrait .team-member-visual::after { display: none; }
.team-member.no-portrait .team-member-info { padding: 0; }
.team-member.no-portrait .team-member-info h3 { font-size: 15px; }
.team-member.no-portrait .team-member-info small { font-size: 9px; }
@media (min-width: 801px) and (max-width: 850px) {
  .site-nav { gap: 10px; font-size: 12px; }
  .nav-contact { padding: 10px 13px; gap: 10px; }
}
@media (max-width: 800px) {
  .about-hero { min-height: 500px; background-position: 62% center; }
  .contact-hero { min-height: 500px; background-position: 58% center; }
  .cta-band { min-height: 320px; background-position: 62% center; }
  .team-grid, .team-group:nth-child(2) .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-member-visual, .team-group:nth-child(2) .team-member-visual { height: 320px; }
  .case-scope, .recovery-terms-inner { grid-template-columns: 1fr; gap: 28px; }
  .recovery-terms { padding: 65px 0; }
}
@media (max-width: 520px) {
  .team-grid, .team-group:nth-child(2) .team-grid { grid-template-columns: 1fr; }
  .team-member-visual, .team-group:nth-child(2) .team-member-visual { height: 370px; }
  .case-scope { margin-top: 48px; padding-top: 30px; }
  .case-tags span { min-height: 39px; padding: 9px 13px; font-size: 11px; }
  .legal-brand-row { margin: -8px 0 48px; padding-bottom: 36px; }
}
.contact-option small { overflow-wrap: anywhere; }
.contact-option + .contact-option { margin-top: -17px; }
.contact-option + .contact-option .option-icon { background: #e7ecff; color: #285dff; }
.field-trap { position: absolute !important; left: -10000px; width: 1px !important; height: 1px; opacity: 0; }
