

*{ margin:0; padding:0; box-sizing:border-box }

html{ scroll-behavior:smooth }

body{
  background:#000;
  color:#fff;
  font-family:'Helvetica Neue ME','Helvetica Neue',Helvetica,Arial,sans-serif;
  overflow-x:clip;
}

.cargador{
  position:fixed; inset:0; z-index:300;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:22px; background:#000; color:#fff;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .7s cubic-bezier(0.23,1,0.32,1), visibility 0s linear .7s;
}
html.cargando .cargador{ opacity:1; visibility:visible; pointer-events:auto; transition:none }
.cargador__marca{ font-size:1.5rem; font-weight:500; letter-spacing:-0.01em; text-align:center; line-height:1 }
.cargador__marca span{
  display:block; margin-top:8px;
  font-size:.66rem; font-weight:300; letter-spacing:.32em; text-transform:uppercase;
  padding-left:.32em; opacity:.7;
}
.cargador__riel{ width:min(220px,56vw); height:1px; background:rgba(255,255,255,.18); overflow:hidden }
.cargador__barra{
  display:block; height:100%; background:#fff;
  transform:scaleX(0); transform-origin:left center;
  transition:transform .35s linear;
}
.cargador__dato{
  width:min(220px,56vw);
  display:flex; justify-content:space-between;
  font-size:.72rem; font-weight:300; letter-spacing:.04em; opacity:.6;
  font-variant-numeric:tabular-nums;
}

html.cargando .navbar__logo,
html.cargando .navbar__links li,
html.cargando .navbar__cta{ animation-play-state:paused }
html.cargando .section-content.active .content h1,
html.cargando .section-content.active .content p,
html.cargando .section-content.active .content .btn{ opacity:0; transform:translateY(20px); transition:none }

.navbar{
  position:fixed; top:0; left:0; width:100%;
  z-index:100; padding:0 48px;
}
.navbar__inner{
  max-width:1400px; margin:0 auto; height:72px;
  display:flex; align-items:center; justify-content:space-between;
}

.navbar__logo{
  font-size:1.25rem; font-weight:500; color:#fff;
  text-decoration:none; letter-spacing:-0.01em;
  opacity:0;
  animation:fadeInDown 0.6s cubic-bezier(0.23,1,0.32,1) 0.2s both;
}

.navbar__links ul{ display:flex; gap:40px; list-style:none }
.navbar__links a{
  font-size:0.9375rem; font-weight:300; color:#fff;
  text-decoration:none; opacity:0.9;
  transition:opacity 0.3s;
}
.navbar__links a:hover{ opacity:1 }

.navbar__links li{ opacity:0; animation:fadeInDown 0.5s cubic-bezier(0.23,1,0.32,1) both }
.navbar__links li:nth-child(1){ animation-delay:0.3s }
.navbar__links li:nth-child(2){ animation-delay:0.4s }
.navbar__links li:nth-child(3){ animation-delay:0.5s }
.navbar__links li:nth-child(4){ animation-delay:0.6s }

.navbar__cta{
  font-size:0.8125rem; padding:4px 10px;
  animation:fadeInDown 0.5s cubic-bezier(0.23,1,0.32,1) 0.7s both;
}

@keyframes fadeInDown{
  from{ opacity:0; transform:translateY(-12px) }
  to  { opacity:1; transform:translateY(0) }
}

.hamburger{
  display:none;
  position:relative; width:32px; height:24px;
  background:none; border:0; cursor:pointer; padding:0;
  z-index:110;
}
.hamburger-line{
  position:absolute; left:0; width:100%; height:2px;
  background:#fff; border-radius:2px;
  transition:top 0.4s cubic-bezier(0.23,1,0.32,1),
             transform 0.4s cubic-bezier(0.23,1,0.32,1),
             opacity 0.4s cubic-bezier(0.23,1,0.32,1);
}
.hamburger-line:nth-child(1){ top:2px }
.hamburger-line:nth-child(2){ top:11px }
.hamburger-line:nth-child(3){ top:20px }

.hamburger.active .hamburger-line:nth-child(1){ top:11px; transform:rotate(45deg) }
.hamburger.active .hamburger-line:nth-child(2){ opacity:0; transform:scaleX(0) }
.hamburger.active .hamburger-line:nth-child(3){ top:11px; transform:rotate(-45deg) }

.mobile-menu{
  position:fixed; inset:0; z-index:105;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:48px;
  background:rgba(0,0,0,0.97);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity 0.5s cubic-bezier(0.23,1,0.32,1),
             visibility 0.5s cubic-bezier(0.23,1,0.32,1),
             transform 0.5s cubic-bezier(0.23,1,0.32,1);
}
.mobile-menu.open{ opacity:1; visibility:visible; transform:translateY(0) }

.mobile-menu__links{
  display:flex; flex-direction:column; align-items:center; gap:32px;
}
.mobile-menu__links a{
  font-size:1.75rem; font-weight:300; color:#fff; text-decoration:none;
}

.mobile-menu__links a,
.mobile-menu__cta{
  opacity:0; transform:translateY(20px);
  transition:opacity 0.5s cubic-bezier(0.23,1,0.32,1),
             transform 0.5s cubic-bezier(0.23,1,0.32,1);
}
.mobile-menu.open .mobile-menu__links a,
.mobile-menu.open .mobile-menu__cta{ opacity:1; transform:translateY(0) }
.mobile-menu.open .mobile-menu__links a:nth-child(1){ transition-delay:0.1s }
.mobile-menu.open .mobile-menu__links a:nth-child(2){ transition-delay:0.15s }
.mobile-menu.open .mobile-menu__links a:nth-child(3){ transition-delay:0.2s }
.mobile-menu.open .mobile-menu__links a:nth-child(4){ transition-delay:0.25s }
.mobile-menu.open .mobile-menu__cta{ transition-delay:0.3s }

.scroll-video{ position:relative; width:100%; height:500vh }

#scrollVideo{
  position:sticky; top:0;
  width:100%; height:100vh;
  object-fit:cover;
  z-index:1;

  background-color:#000;
  background-position:center; background-size:cover; background-repeat:no-repeat;
}

.scroll-canvas{
  position:sticky; top:0;
  display:block; width:100vw; height:100vh;
  object-fit:cover;
  margin-top:-100vh;
  z-index:2;
  opacity:0;
  transition:opacity 200ms linear;
}
.scroll-canvas.is-live{ opacity:1 }

.content-overlay{
  position:fixed; top:0; left:0; right:0; bottom:0;
  height:100vh; z-index:3;
  pointer-events:none;
}

.section-content{
  position:absolute; inset:0;
  display:flex; align-items:flex-end; justify-content:flex-start;
  opacity:0;
  transition:opacity 0.4s ease;
}
.section-content.active{ opacity:1; pointer-events:auto }

.section-content--2{ align-items:flex-start; justify-content:flex-end }
.section-content--3{ align-items:flex-end;   justify-content:flex-end }

.section-content::before{
  content:''; position:absolute; inset:0; pointer-events:none;
}
.section-content--1::before{ background:linear-gradient(to top right,   rgba(0,0,0,.7), rgba(0,0,0,0) 75%) }
.section-content--2::before{ background:linear-gradient(to bottom left, rgba(0,0,0,.7), rgba(0,0,0,0) 75%) }
.section-content--3::before{ background:linear-gradient(to top left,    rgba(0,0,0,.7), rgba(0,0,0,0) 75%) }

.content{ max-width:480px; padding:64px }

.content h1{
  font-size:clamp(2rem,3vw,2.25rem);
  font-weight:400; line-height:1.2;
  letter-spacing:-0.02em;
  margin-bottom:16px;
}
.content p{
  font-size:clamp(0.875rem,1.2vw,1.125rem);
  font-weight:300; line-height:1.5;
  margin-bottom:32px;
  opacity:0.85;
}

.content h1,
.content p,
.content .btn{
  opacity:0; transform:translateY(20px);
  transition:opacity 0.6s cubic-bezier(0.23,1,0.32,1),
             transform 0.6s cubic-bezier(0.23,1,0.32,1);
}
.section-content.active .content h1{ opacity:1; transform:translateY(0); transition-delay:0.1s }
.section-content.active .content p{ opacity:0.85; transform:translateY(0); transition-delay:0.25s }
.section-content.active .content .btn{ opacity:1; transform:translateY(0); transition-delay:0.4s }

.btn{
  display:inline-block;
  font-family:'Helvetica Neue ME','Helvetica Neue',Helvetica,Arial,sans-serif;
  font-size:0.8125rem; font-weight:400;
  padding:5px 12px;
  border-radius:0;
  letter-spacing:0.02em;
  text-decoration:none;
  cursor:pointer;
  transition:all 0.3s;
}
.btn--primary{
  background:#fff; color:#000; border:1px solid #fff;
}
.btn--primary:hover{ background:transparent; color:#fff }

.btn--outline{
  background:transparent; color:#fff; border:0;
  padding:8px 0;
  text-decoration:underline;
  text-underline-offset:4px;
}
.btn--outline:hover{ opacity:0.7 }

.bloque{
  position:relative; z-index:4;
  background:#000;
  padding:clamp(80px,12vh,140px) 48px;
  border-top:1px solid rgba(255,255,255,0.12);
}
.bloque__inner{ max-width:1400px; margin:0 auto }

.eyebrow{
  font-size:0.75rem; font-weight:400; text-transform:uppercase;
  letter-spacing:0.18em; color:#FDA20A; margin-bottom:24px;
}
.bloque__titulo{
  font-size:clamp(1.75rem,4vw,3rem); font-weight:400; line-height:1.1;
  letter-spacing:-0.02em; max-width:16ch;
}
.bloque__bajada{
  font-size:clamp(0.9375rem,1.2vw,1.125rem); font-weight:300; line-height:1.5;
  max-width:52ch; margin-top:20px;

  color:rgba(255,255,255,0.7);
}

.estudios,.pasos{ list-style:none; margin-top:64px; display:grid; gap:1px; background:rgba(255,255,255,0.12) }
.estudios{ grid-template-columns:repeat(3,1fr) }
.pasos{ grid-template-columns:repeat(4,1fr) }

.estudio,.paso{ background:#000; padding:32px 28px 40px }

.estudio__n,.paso__n{
  display:block; font-size:0.75rem; letter-spacing:0.14em;
  color:#FDA20A; margin-bottom:20px;
}
.estudio h3,.paso h3{
  font-size:1.0625rem; font-weight:400; letter-spacing:-0.01em; margin-bottom:10px;
}
.estudio p,.paso p{
  font-size:0.875rem; font-weight:300; line-height:1.6; opacity:0.62;
}

.entrada{ position:relative; z-index:4; background:#000 }

.entrada::before{
  content:''; position:absolute; z-index:-1; pointer-events:none;

  inset:-44px 0;
  background:radial-gradient(70% 120% at 50% 50%, rgba(253,162,10,0.30), rgba(253,162,10,0.10) 45%, transparent 72%);
}

.entrada::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.55), transparent 22%, transparent 78%, rgba(0,0,0,.65));
}
.entrada img{
  display:block; width:100%; height:auto;
  aspect-ratio:21/9; max-height:min(62vh,560px);
  object-fit:cover; object-position:center 42%;
}
@media (max-width:768px){

  .entrada img{ aspect-ratio:1.4/1; max-height:none }
}

.nosotros{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,72px); align-items:start }
.nosotros__texto .bloque__bajada + .bloque__bajada{ margin-top:14px }
.nosotros__foto{ position:relative }
.nosotros__foto img{
  display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover;
}
.nosotros__foto figcaption{
  margin-top:14px; font-size:0.8125rem; font-weight:300; line-height:1.6;
  color:rgba(255,255,255,0.55);
}

.cifras{ margin-top:clamp(28px,4vw,44px); display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,0.12) }
.cifra{ background:#000; padding:22px 20px 24px }
.cifra dt{ font-size:0.6875rem; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.55) }
.cifra dd{
  margin-top:10px; font-size:clamp(1.6rem,3.4vw,2.4rem); font-weight:400; letter-spacing:-0.02em; line-height:1;
  background:linear-gradient(120deg,#FDA20A 0%,#FFD79A 45%,#fff 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.bloque--acento{
  isolation:isolate;

  overflow-x:clip; overflow-y:visible;
}
.bloque--acento::before{
  content:''; position:absolute; z-index:-1; pointer-events:none;
  left:clamp(-120px,-6vw,-40px); top:-80px; width:min(720px,80vw); height:min(720px,80vw);
  background:radial-gradient(closest-side, rgba(253,162,10,0.14), rgba(253,162,10,0.05) 55%, transparent 72%);
}
.bloque--nosotros::before{ left:auto; right:clamp(-160px,-8vw,-60px); top:-40px }

.estudios, .pasos, .cifras{ perspective:1100px; perspective-origin:50% 30% }

@media (hover:hover) and (pointer:fine){
  .estudio, .paso, .cifra{
    --rx:0deg; --ry:0deg;
    transition:transform .5s cubic-bezier(0.23,1,0.32,1), background-color .5s ease;
    will-change:transform;
  }

  .estudios .estudio.is-tilt, .pasos .paso.is-tilt, .cifras .cifra.is-tilt{
    transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));
    transition:transform .08s linear, background-color .5s ease;
    background-color:#070502;
  }

  .estudios .estudio.is-tilt::after, .pasos .paso.is-tilt::after, .cifras .cifra.is-tilt::after{
    content:''; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(180deg, rgba(253,162,10,0.10), transparent 60%);
  }
  .estudio, .paso, .cifra{ position:relative }
}

.labo{
  margin-top:64px;

  max-width:1180px;
  display:grid; grid-template-columns:5fr 7fr; gap:40px;
  align-items:end;
}
.labo__foto img{ display:block; width:100%; height:auto }

.labo__foto img, .nosotros__foto img{
  box-shadow:0 0 0 1px rgba(253,162,10,0.22), 0 26px 70px -34px rgba(253,162,10,0.55);
}
.labo figcaption{
  margin-top:18px; max-width:44ch;
  font-size:0.8125rem; font-weight:300; line-height:1.65;

  color:rgba(255,255,255,0.6);
}
.labo__n{
  display:block; margin-bottom:8px;
  font-size:0.75rem; letter-spacing:0.14em; color:#FDA20A;
}

.labo__foto:nth-child(2).visible{ transition-delay:0.08s }

.labo-tira{
  margin-top:40px; max-width:1180px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:40px;
}
.labo-tira figcaption{ font-size:0.75rem; margin-top:14px; max-width:34ch }
.labo-tira .labo__foto:nth-child(2).visible{ transition-delay:0.08s }
.labo-tira .labo__foto:nth-child(3).visible{ transition-delay:0.16s }

.cierre{ position:relative; isolation:isolate }
.cierre::before{
  content:''; position:absolute; z-index:-1; pointer-events:none;
  left:-10%; top:-46%; width:min(620px,92%); aspect-ratio:1;
  background:conic-gradient(from 0deg, rgba(253,162,10,.22), transparent 30%, rgba(253,162,10,.12) 58%, transparent 88%);

  -webkit-mask-image:radial-gradient(closest-side, #000 20%, rgba(0,0,0,.45) 55%, transparent 78%);
          mask-image:radial-gradient(closest-side, #000 20%, rgba(0,0,0,.45) 55%, transparent 78%);
  animation:giroAmbar 26s linear infinite;
}
@keyframes giroAmbar{ from{ transform:rotate(0) } to{ transform:rotate(1turn) } }

.cierre{
  margin-top:96px; padding-top:56px;
  border-top:1px solid rgba(255,255,255,0.12);
}
.cierre h2{
  font-size:clamp(1.5rem,3.4vw,2.5rem); font-weight:400; line-height:1.15;
  letter-spacing:-0.02em; max-width:18ch; margin-bottom:32px;
}
.cierre__dato{
  margin-top:28px; font-size:0.8125rem; font-weight:300;
  letter-spacing:0.02em; opacity:0.5;
}

.reveal{
  opacity:0; transform:translateY(24px);
  transition:opacity 0.7s cubic-bezier(0.23,1,0.32,1),
             transform 0.7s cubic-bezier(0.23,1,0.32,1);
}
.reveal.visible{ opacity:1; transform:translateY(0) }

.reveal--3d{ transform:translateY(24px) rotateX(9deg) scale(0.985); transform-origin:50% 0% }
.reveal--3d.visible{ transform:none }
.estudio:nth-child(3n+2).visible,.paso:nth-child(4n+2).visible{ transition-delay:0.08s }
.estudio:nth-child(3n+3).visible,.paso:nth-child(4n+3).visible{ transition-delay:0.16s }
.paso:nth-child(4n+4).visible{ transition-delay:0.24s }

.bloque--equipo{ padding-top:clamp(40px,6vw,80px) }
.equipo-fotos{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(12px,2vw,24px); margin-top:clamp(24px,4vw,44px); align-items:end; max-width:780px }
.equipo-f{ margin:0 }
.equipo-f img{ display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover }
.equipo-f--ancha img{ aspect-ratio:4/3 }
.equipo-f figcaption, .equipo-sede figcaption{ margin-top:12px; font-size:0.8125rem; font-weight:300; line-height:1.6; color:rgba(255,255,255,0.55) }
.equipo-sede{ position:relative; margin:clamp(28px,5vw,64px) 0 0 }
.equipo-sede img{ display:block; width:100%; height:auto; aspect-ratio:21/9; object-fit:cover }
.equipo-sede figcaption b{ display:block; color:#fff; font-weight:400; font-size:1.1rem; margin-bottom:2px }
@media (max-width:760px){ .equipo-fotos{ grid-template-columns:1fr; max-width:none } .equipo-f{ width:86%; } .equipo-f + .equipo-f{ margin-left:auto } .equipo-sede img{ aspect-ratio:4/3 } }
.foto-io{ transition:opacity 0.7s cubic-bezier(0.23,1,0.32,1), transform 0.9s cubic-bezier(0.23,1,0.32,1) }
.foto-io.visible.is-arriba{ opacity:0; transform:translateY(-56px) scale(0.95) }

.footer{
  position:relative; z-index:4;

  padding:48px 48px 104px;
  display:flex; align-items:center; justify-content:center;
  border-top:1px solid rgba(255,255,255,0.12);
}
.footer p{
  font-size:0.8125rem; font-weight:300;
  letter-spacing:0.02em; opacity:0.6;
  text-align:center;
}

.wa{
  position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem);
  z-index:120;
  width:52px; height:52px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:#ffffff; color:#000;
  box-shadow:0 10px 30px -8px rgba(0,0,0,0.8);
  transition:transform 0.3s cubic-bezier(0.23,1,0.32,1), opacity 0.3s;
}
.wa:hover{ transform:scale(1.08) }

.sello-demo{
  position:fixed; left:50%; bottom:1rem; transform:translateX(-50%);
  z-index:115; display:flex; align-items:center; gap:.6rem;
  padding:.5rem .95rem; border-radius:999px;
  background:rgba(10,10,10,.82); border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  font-size:.72rem; font-weight:300; color:#EEF1F7; letter-spacing:.02em;
}
.sello-demo b{ font-weight:500 }
.sello-demo a{ color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4); transition:border-color .3s }
.sello-demo a:hover{ border-color:#fff }

@media (max-width:640px){
  .sello-demo{ left:1rem; transform:none; font-size:.66rem; padding:.42rem .7rem; gap:.4rem }
  .sello-demo__larga{ display:none }
}

@media (max-width:768px){
  .navbar{ padding:0 24px }
  .navbar__inner{ height:64px }

  .navbar__links,
  .navbar__cta{ display:none }
  .hamburger{ display:block }

  .content{ max-width:100%; padding:32px 24px }
  .content h1{ font-size:1.75rem }

  .section-content--1 .content,
  .section-content--3 .content{ padding-bottom:96px }

  .section-content--2{ justify-content:flex-start; align-items:flex-start; padding-top:72px }

  .section-content--3{ justify-content:flex-start; align-items:flex-end }

  .section-content--2::before{ background:linear-gradient(to bottom right, rgba(0,0,0,.7), rgba(0,0,0,0) 75%) }
  .section-content--3::before{ background:linear-gradient(to top right,    rgba(0,0,0,.7), rgba(0,0,0,0) 75%) }

  .footer{ padding:40px 24px 96px }

  .bloque{ padding:72px 24px }
  .estudios,.pasos{ grid-template-columns:1fr; margin-top:48px }
  .estudio,.paso{ padding:28px 0 32px }

  .estudios,.pasos{ background:none; gap:0 }
  .estudio,.paso{ border-top:1px solid rgba(255,255,255,0.12) }
  .estudio:first-child,.paso:first-child{ border-top:0 }
  .bloque__titulo{ max-width:none }

  .labo{ grid-template-columns:1fr; gap:36px; margin-top:44px }
  .labo__foto:nth-child(2).visible{ transition-delay:0s }

  .labo-tira{ grid-template-columns:1fr; gap:28px; margin-top:28px }

  .nosotros{ grid-template-columns:1fr; gap:32px }
  .nosotros__foto{ order:2 }
  .cifra{ padding:18px 0 20px }
  .cifras{ background:none; gap:0 24px }
  .cifra{ border-top:1px solid rgba(255,255,255,0.12) }
  .labo-tira .labo__foto:nth-child(2).visible,
  .labo-tira .labo__foto:nth-child(3).visible{ transition-delay:0s }
  .cierre{ margin-top:64px; padding-top:40px }

  .estudio.visible,.paso.visible{ transition-delay:0s }
}

@media (max-width:768px) and (orientation:portrait){

  .scroll-video{ overflow-x:clip }
  #scrollVideo{
    object-fit:contain;
    background-size:contain;
    transform:scale(1.7);
    -webkit-mask-image:linear-gradient(to bottom, transparent calc(50% - 28.125vw), #000 calc(50% - 20vw), #000 calc(50% + 20vw), transparent calc(50% + 28.125vw));
            mask-image:linear-gradient(to bottom, transparent calc(50% - 28.125vw), #000 calc(50% - 20vw), #000 calc(50% + 20vw), transparent calc(50% + 28.125vw));
  }
}

@media (max-width:1100px) and (min-width:769px){
  .estudios{ grid-template-columns:repeat(2,1fr) }
  .pasos{ grid-template-columns:repeat(2,1fr) }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.001ms !important;
    animation-delay:0ms !important;
    transition-duration:0.001ms !important;
    transition-delay:0ms !important;
  }
}

.estudios{ background:none; gap:clamp(14px,1.6vw,22px) }
.estudios .estudio{
  padding:0; display:flex; flex-direction:column; overflow:hidden;
  background:linear-gradient(180deg, #0B0906, #030303 70%);
  border:1px solid rgba(253,162,10,0.16); border-radius:18px;
  box-shadow:0 0 0 1px rgba(253,162,10,0.05), 0 26px 60px -30px rgba(253,162,10,0.35);
}
.estudio__foto{
  position:relative; margin:0; aspect-ratio:4/3; overflow:hidden; background:#0A0703;
  clip-path:inset(0 0 0 0);
  transition:clip-path 1.15s cubic-bezier(0.7,0,0.2,1) 0.1s;
}
.estudio__foto::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(3,3,3,0.9)),
             radial-gradient(80% 60% at 50% 110%, rgba(253,162,10,0.22), transparent 70%);
}
.estudio__foto img{
  display:block; width:100%; height:100%; object-fit:cover;
  transform:scale(var(--z, 1.12)); transform-origin:50% 55%;
}
.estudios .estudio__txt{ position:relative; padding:0 26px 28px; margin-top:-34px; z-index:1 }
.estudios .estudio__n{
  display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-bottom:16px;
  border-radius:50%; background:#0B0906; border:1px solid rgba(253,162,10,0.55);
  box-shadow:0 0 18px rgba(253,162,10,0.35); font-size:0.8rem;
}
.estudios .estudio h3{ font-size:1.2rem }
.estudio__meta{
  display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; opacity:1 !important;
}
.estudio__meta span{
  font-size:0.72rem; letter-spacing:0.04em; padding:5px 10px; border-radius:999px;
  color:rgba(255,236,200,0.9); border:1px solid rgba(253,162,10,0.3); background:rgba(253,162,10,0.07);
}

.estudios .estudio.reveal{ transition:opacity .9s cubic-bezier(0.23,1,0.32,1), transform 1s cubic-bezier(0.23,1,0.32,1) }
.estudios .estudio.reveal[data-lado="izq"]{ transform:translate3d(-80px,0,0) rotate(-2deg) }
.estudios .estudio.reveal[data-lado="der"]{ transform:translate3d(80px,0,0) rotate(2deg) }
.estudios .estudio.reveal[data-lado="abajo"]{ transform:translate3d(0,90px,0) scale(0.94) }
.estudios .estudio.reveal[data-lado="arriba"]{ transform:translate3d(0,-70px,0) scale(0.94) }
.estudios .estudio[data-lado="izq"]:not(.visible) .estudio__foto{ clip-path:inset(0 100% 0 0) }
.estudios .estudio[data-lado="der"]:not(.visible) .estudio__foto{ clip-path:inset(0 0 0 100%) }
.estudios .estudio[data-lado="abajo"]:not(.visible) .estudio__foto{ clip-path:inset(100% 0 0 0) }
.estudios .estudio[data-lado="arriba"]:not(.visible) .estudio__foto{ clip-path:inset(0 0 100% 0) }
.estudios .estudio.reveal.visible{ transform:none }
.estudios .estudio.foto-io.visible.is-arriba{ opacity:0; transform:translate3d(0,-60px,0) scale(0.94) }
@media (hover:hover) and (pointer:fine){
  .estudios .estudio.reveal.visible.is-tilt{
    transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));
    border-color:rgba(253,162,10,0.45);
  }
}
@media (max-width:768px){
  .estudios{ gap:18px }
  .estudios .estudio, .estudios .estudio:first-child{ padding:0; border:1px solid rgba(253,162,10,0.16) }
  .estudios .estudio__txt{ padding:0 20px 24px }
  .estudios .estudio.reveal[data-lado="izq"]{ transform:translate3d(-56px,30px,0) rotate(-2deg) }
  .estudios .estudio.reveal[data-lado="der"]{ transform:translate3d(56px,30px,0) rotate(2deg) }
}
#estudios{ overflow-x:clip }
@media (prefers-reduced-motion:reduce){
  .estudio__foto{ clip-path:none !important; transition:none }
}

.labo__foto img, .equipo-f img, .nosotros__foto img, .equipo-sede img{
  box-shadow:0 0 0 1px rgba(253,162,10,.35), 0 0 26px rgba(253,162,10,.22), 0 34px 70px -24px rgba(253,162,10,.55);
}
.estudios .estudio.visible{ box-shadow:0 0 0 1px rgba(253,162,10,.22), 0 0 30px rgba(253,162,10,.16), 0 30px 70px -26px rgba(253,162,10,.5) }
.bloque__titulo em, .cifra b{ text-shadow:0 0 22px rgba(253,162,10,.35) }

.equipo-fotos .equipo-f img{ box-shadow:0 0 44px -8px rgba(255,120,20,.38), 0 34px 70px -26px rgba(255,130,20,.6) }
