/* Home v2.0.39 — continuous Dimensions film across Hero + Skills. */
.scroll-film{
  position:fixed!important;inset:0!important;height:100svh!important;
  z-index:0!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  background:#07060a!important;transition:opacity .18s ease,visibility .18s linear!important;
}
.scroll-film.is-finished{opacity:0!important;visibility:hidden!important}
body.is-home-film-active .scroll-film{opacity:1!important;visibility:visible!important}
.scroll-film video{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 42%!important;transform:scale(1.018) translateY(3.5%)!important}
.scroll-film-tint{background:transparent!important}
.scroll-film-progress{display:none!important}

/* Keep the moving visual available only while these first two sections are in view. */
#inicio.hero,#servicios.skills-v42{position:relative!important;z-index:1;background:transparent!important}
#inicio.hero:before{display:none!important}
#servicios.skills-v42:before{background:transparent!important}

/* The primary navigator gets out of the way once the reading starts. */
.header{transition:transform .38s cubic-bezier(.22,.61,.36,1),opacity .25s ease!important}
body.home-navigation-hidden .header{transform:translateY(calc(-100% - 20px))!important;opacity:0!important;pointer-events:none!important}

/* Cover */
#inicio.hero{
  display:block!important;min-height:clamp(720px,95svh,1040px)!important;height:clamp(720px,95svh,1040px)!important;
  padding:0!important;overflow:hidden!important;
}
#inicio .hero-media,#inicio .top-meta,#inicio .hero-right{display:none!important}
#inicio .hero-left{
  position:absolute!important;inset:auto!important;left:auto!important;right:clamp(44px,6.9vw,132px)!important;top:29%!important;
  display:flex!important;align-items:flex-start!important;flex-direction:column!important;max-width:none!important;
  width:min(52rem,47vw)!important;margin:0!important;padding:0!important;z-index:3!important;
}
#inicio .hero-left:before{content:none!important;display:none!important;background:none!important}
.home-dimensions-eyebrow{
  margin:0 0 18px!important;color:#ef008c!important;font-size:10px!important;line-height:1!important;
  font-family:Inter,sans-serif!important;font-weight:600!important;letter-spacing:2px!important;text-transform:none!important;
}
#inicio.hero .hero-left>p.home-dimensions-eyebrow{
  width:auto!important;max-width:none!important;white-space:normal!important;margin:0 0 18px!important;
  color:#ef008c!important;font-family:Inter,sans-serif!important;font-size:10px!important;line-height:normal!important;
  font-weight:600!important;letter-spacing:2px!important;text-transform:none!important;text-shadow:none!important;
}
#inicio .hero-left h1{
  position:static!important;width:auto!important;max-width:100%!important;margin:0!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(4rem,8.5vw,11rem)!important;line-height:.82!important;
  letter-spacing:-.085em!important;font-weight:800!important;text-shadow:none!important;
  background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;animation:none!important;
}
#inicio .hero-left>p{
  position:static!important;width:max-content!important;max-width:none!important;white-space:nowrap!important;margin:24px 0 0!important;color:#fff!important;
  font-size:clamp(.82rem,.9vw,1rem)!important;line-height:1.45!important;font-weight:500!important;
  text-shadow:none!important;
}
.home-dimensions-actions{
  position:static!important;display:flex!important;align-items:center!important;gap:12px!important;width:auto!important;margin-top:24px!important;z-index:4!important;
}
.home-dimensions-actions .outline-btn{
  display:inline-flex!important;align-items:center;justify-content:space-between;gap:32px;min-width:166px;
  padding:15px 17px!important;border:1px solid rgba(255,255,255,.68)!important;color:#fff!important;
  background:rgba(7,6,10,.3)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.09em!important;
  text-transform:uppercase!important;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)!important;
  transition:background .24s ease,color .24s ease,border-color .24s ease,transform .24s ease!important;
}
.home-dimensions-actions .outline-btn:hover,.home-dimensions-actions .outline-btn:focus-visible{background:#ef008c!important;border-color:#ef008c!important;color:#fff!important;transform:translateY(-3px)}
.home-dimensions-actions .outline-btn:first-child{background:#ef008c!important;border-color:#ef008c!important}
.home-dimensions-actions .outline-btn b{font-size:16px;font-weight:400;line-height:0}
#inicio .featured-article{position:absolute!important;right:clamp(44px,6.9vw,132px)!important;bottom:clamp(30px,3.5vh,34px)!important;z-index:4!important;margin:0!important}

/* The editorial marker mirrors the reference Home without competing with the main narrative. */
#inicio.hero .home-hero-index{
  position:absolute!important;top:clamp(108px,13.4vh,136px)!important;right:clamp(44px,6.9vw,132px)!important;left:auto!important;bottom:auto!important;z-index:4!important;
  display:flex;align-items:flex-start;gap:7px;color:#ef008c;pointer-events:none;
}
.home-hero-index span{
  margin:1px 5px 0 0;color:rgba(255,255,255,.58);font:500 7px/1.45 Inter,sans-serif;
  letter-spacing:.15em;text-align:right;white-space:nowrap;
}
.home-hero-index strong{font:600 19px/.9 "Space Grotesk",sans-serif;letter-spacing:-.04em}
.home-hero-index small{margin-top:3px;color:rgba(255,255,255,.45);font:500 7px/1 Inter,sans-serif;letter-spacing:.02em}

/* One entrance treats title, copy and buttons as a single editorial unit. */
#inicio.hero .hero-left{
  opacity:0!important;transform:translateY(20px)!important;
  animation:none!important;transition:opacity .82s cubic-bezier(.22,.61,.36,1),transform .82s cubic-bezier(.22,.61,.36,1)!important;
}
#inicio.hero.is-home-dimensions-ready .hero-left{opacity:1!important;transform:translateY(0)!important}

/* Cursor light persists from the cover into the opening Skills section. */
#inicio.hero::after,#servicios.skills-v42::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;
  background:radial-gradient(500px circle at var(--home-light-x,50%) var(--home-light-y,50%),rgba(239,0,140,.19),rgba(239,0,140,.055) 34%,transparent 70%)!important;
  transition:opacity .28s ease;
}
@media(pointer:fine){#inicio.hero:hover::after,#servicios.skills-v42:hover::after{opacity:1}}

@keyframes dimensions-reflection{
  0%,38%{background-position:0% 50%}
  66%,100%{background-position:100% 50%}
}

/* Section 02 begins on the same film and reveals in scroll direction, then resets on rewind. */
#servicios.skills-v42{min-height:100svh!important;padding-top:clamp(100px,13vh,160px)!important;padding-bottom:clamp(110px,15vh,190px)!important;overflow:hidden!important}
#servicios .skills-v42__overlay{background:transparent!important}
#servicios .skills-v42__shell{position:relative;z-index:2}
#servicios .skills-v42__intro-row h2{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
#servicios .skills-v42__item{opacity:0;transform:translateY(-42px);transition:opacity .56s cubic-bezier(.22,.61,.36,1),transform .56s cubic-bezier(.22,.61,.36,1)}
#servicios.is-dimensions-revealed .skills-v42__intro-row h2,#servicios.is-dimensions-revealed .skills-v42__item{opacity:1;transform:translateY(0)}
#servicios.is-dimensions-revealed .skills-v42__item:nth-child(1){transition-delay:.16s}
#servicios.is-dimensions-revealed .skills-v42__item:nth-child(2){transition-delay:.25s}
#servicios.is-dimensions-revealed .skills-v42__item:nth-child(3){transition-delay:.34s}
#servicios.is-dimensions-revealed .skills-v42__item:nth-child(4){transition-delay:.43s}
#servicios.is-dimensions-revealed .skills-v42__item:nth-child(5){transition-delay:.52s}

@media(max-width:1050px){
  #inicio .hero-left{right:clamp(32px,5vw,62px)!important;width:min(45rem,51vw)!important}
  #inicio .hero-left h1{font-size:clamp(3.6rem,8vw,8.5rem)!important}
  #inicio .hero-left>p{width:100%!important;max-width:100%!important;white-space:normal!important}
  #inicio .featured-article{right:clamp(28px,5vw,62px)!important;width:min(460px,47vw)!important}
}
@media(max-width:700px){
  #inicio.hero{min-height:calc(100svh - 14px)!important;height:calc(100svh - 14px)!important}
  .scroll-film video{object-position:20% 42%!important;transform:scale(1.3) translateX(8%) translateY(8%)!important}
  #inicio .hero-left{left:24px!important;right:auto!important;top:auto!important;bottom:210px!important;width:calc(100% - 48px)!important}
  #inicio .hero-left h1{max-width:100%!important;font-size:clamp(3.25rem,14.3vw,4.3rem)!important;white-space:normal!important;color:#fff!important;-webkit-text-fill-color:#fff!important;letter-spacing:-.085em!important}
  #inicio .hero-left>p{width:min(25rem,100%)!important;max-width:100%!important;white-space:normal!important;margin-top:17px!important;font-size:1rem!important;line-height:1.4!important}
  .home-dimensions-actions{gap:8px!important;width:100%!important;margin-top:18px!important}
  .home-dimensions-actions .outline-btn{min-width:0;flex:1;padding:13px 12px!important;font-size:8px!important;gap:8px}
  #inicio .featured-article{display:grid!important;left:20px!important;right:20px!important;bottom:24px!important;width:auto!important;min-height:104px!important}
  #inicio.hero .home-hero-index{display:none!important}
  #servicios.skills-v42{padding-top:88px!important;padding-bottom:100px!important}
}
@media(prefers-reduced-motion:reduce){
  #inicio.hero .hero-left,#servicios .skills-v42__intro-row h2,#servicios .skills-v42__item{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .home-dimensions-actions .outline-btn{transition:none!important}
}
