.landing{--home-ease:cubic-bezier(.16,1,.3,1);--home-origin-size:clamp(128px,16vw,224px);--home-hero-gap:clamp(24px,4svh,40px);text-align:left}
.landing::before{display:none;animation:none;will-change:auto}
.landing::after{display:none}
.landing ::selection{background:var(--ui-action,var(--olive));color:var(--cream)}
.landing-page{display:block;min-height:100svh;padding-bottom:0}
.landing-page>main{
  /* Contiene el margen negativo de .home-content. Su caja y el corte vertical
     terminan juntos, sin reservar el recorrido anterior al paralaje.
     clip mantiene visible el desborde horizontal y no crea otro scroller. */
  display:flow-root;min-width:0;overflow-x:visible;overflow-y:clip;
}
.landing .nav{position:fixed;left:var(--pad);right:var(--pad);width:106px;margin:0 auto;overflow:visible;background:transparent;box-shadow:none}
.landing .nav.nav--popup{left:50%;right:auto;width:106px;max-width:106px;margin:0;translate:-50% 0}
.landing .nav.nav--popup.nav--available{background:var(--ui-surface,var(--cream));box-shadow:0 14px 30px -14px color-mix(in srgb,var(--ui-text,var(--deep)) 30%,transparent)}
.landing .nav.nav--popup:not(.nav--available){background:transparent;box-shadow:none;pointer-events:none}
.landing .nav.nav--popup:not(.nav--available) .nav__brand-toggle{visibility:hidden;pointer-events:none}
.landing .nav__mark{left:50%;right:auto;width:84px;aspect-ratio:96/64;justify-content:center;pointer-events:auto;transform:translate(-50%,-50%)}
.landing .home-nav__logo{display:block;width:100%;height:auto;aspect-ratio:96/64}
.landing.home-logo-tracking .nav__mark{width:var(--home-logo-size);transform:translate(-50%,-50%) translate3d(var(--home-logo-x,0px),var(--home-logo-y,0px),0) scale(var(--home-logo-scale,1));transform-origin:center}
.landing.home-logo-tracking.home-gradient-ready .home-nav__logo{opacity:0}
.landing .nav-panel{z-index:62}
.landing #intro{bottom:auto;height:100svh;background:transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.landing #intro svg{width:var(--home-origin-size);transform-origin:50% 50%;transform-box:view-box}
.landing #intro::before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--ui-surface-soft,var(--sand)) 72%,transparent)}
.home-intro__cut{fill:none;stroke-dasharray:190;stroke-dashoffset:190;animation:draw .4s cubic-bezier(.65,0,.35,1) .66s both}
.sin-intro .home-intro__cut{animation-duration:.01ms;animation-delay:0s}
.home-hero{--home-origin-y:50svh;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--home-hero-gap);min-height:100svh;margin:0 calc(-1 * var(--pad));padding:calc(var(--home-origin-y) - var(--home-origin-size) / 3 - var(--home-hero-top,0px)) var(--pad) clamp(48px,8svh,96px);outline-offset:-6px}
/* El titular queda sobre la reserva del símbolo, sin mover el origen de la intro. */
.home-hero__copy{position:absolute;z-index:4;top:calc(var(--home-origin-y) - var(--home-origin-size) / 3 - var(--home-hero-top,0px));left:var(--pad);right:var(--pad);max-width:1020px;margin:0 auto;text-align:center;translate:0 calc(-100% - var(--home-hero-gap));transform:translate3d(0,var(--home-copy-y,0px),0);opacity:var(--home-copy-opacity,1)}
.home-hero__title{max-width:20ch;margin:0 auto;color:var(--ui-text,var(--deep));font-size:clamp(42px,5.05vw,72px);font-weight:800;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.home-hero__logo-slot{position:relative;z-index:4;width:var(--home-origin-size);max-width:100%;aspect-ratio:96/64;flex:none}
/* La máscara y el canvas comparten caja y transformación durante todo el scroll. */
.home-logo-gradient{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse at 26% 65%,var(--brand-gradient-color1),transparent 48%),radial-gradient(ellipse at 74% 36%,var(--brand-gradient-color2),transparent 60%),var(--brand-gradient-color3);-webkit-mask:url('marca/hipatia-mark.svg') center/100% 100% no-repeat;mask:url('marca/hipatia-mark.svg') center/100% 100% no-repeat;mask-mode:alpha}
.home-logo-gradient canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0}
.home-logo-gradient--ready canvas{opacity:1}
.home-gradient-scene{position:fixed;top:0;left:0;z-index:61;overflow:visible;transform-origin:center;pointer-events:none}
.home-work{position:relative;z-index:1;padding:clamp(30px,4vw,56px) 0 clamp(60px,7vw,100px);scroll-margin-top:100px;text-align:center}
.home-work__title{max-width:20ch;margin:0 auto 8px;color:var(--ui-text,var(--deep));font-size:clamp(32px,3.7vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1.14;text-wrap:balance}
.home-work__intro,.home-work__hook,.home-work__question{max-width:65ch;margin:0 auto;color:var(--ui-text,var(--deep));font-size:clamp(15px,1.3vw,18px);line-height:1.5;text-align:center;text-wrap:balance}
.home-work .hero-gallery{margin-block:10px 18px}
.home-work__question{margin:clamp(10px,2vw,30px) auto 8px}
.landing-page .home-work .hero-gallery__services{margin-top:0}
@media(min-width:1101px) and (min-height:561px){
  .landing-page .home-work .hero-gallery{--gallery-card-width:min(clamp(240px,36vw,500px),max(180px,calc((100svh - 348px - var(--gallery-track-padding) - var(--gallery-track-padding) - var(--gallery-cta-distance)) / .625)))}
}
.home-footer{margin-top:0}
/* Las nubes pasan por delante de Trabajos mientras éste llega a su ritmo. */
.home-hero{z-index:2;pointer-events:none}
.home-hero__copy{pointer-events:auto}
.home-reveal-started .home-hero__copy{pointer-events:none}
.home-content{position:relative;z-index:1;transform:translate3d(0,var(--home-reveal-y,0px),0);margin-bottom:calc(-1 * var(--home-reveal-travel,0px));overflow-anchor:none}
.home-reveal-moving .home-content{will-change:transform}
.home-reveal-enabled .home-work{padding-top:calc(clamp(280px,35vw,560px) / 2 + 84px)}
.home-footer .panel{border-radius:34px 34px 0 0}
.home-footer .panel__in{padding-top:40px}
.home-footer .panel__in>*{opacity:1;transform:none}
@media (max-width:1100px){
  .home-hero__title{font-size:clamp(42px,6.4vw,68px)}
}
@media (max-width:650px){
  .landing .nav__mark{width:72px}
  .landing.home-logo-tracking .nav__mark{width:var(--home-logo-size)}
  .home-hero__title{max-width:17ch;font-size:clamp(36px,9.7vw,56px);line-height:1.12;letter-spacing:-.03em}
  .home-work{padding-top:34px;padding-bottom:55px}
  .home-reveal-enabled .home-work{padding-top:234px}
  .home-work__title{font-size:34px;max-width:16ch}
  .home-footer .panel{border-radius:24px 24px 0 0}
}
@media (max-height:650px) and (min-width:651px){
  .home-hero__title{font-size:clamp(36px,4.8vw,56px)}
}
@media (max-height:480px){
  .landing{--home-origin-size:128px;--home-hero-gap:18px}
  .home-hero{--home-origin-y:max(50svh,calc(108px + var(--home-copy-height,40px) + var(--home-hero-gap) + var(--home-origin-size) / 3));gap:18px;padding-bottom:32px}
  .home-hero__title{max-width:100%;font-size:clamp(24px,4vw,36px)}
}
@media (prefers-reduced-motion:reduce){
  .landing #intro{display:none}
  .home-intro__cut{animation:none;stroke-dashoffset:0}
  .home-hero__copy{transform:none!important;opacity:1!important}
}
.portfolio-preview .home-hero__copy{transform:none!important;opacity:1!important}
@media print,(prefers-reduced-motion:reduce),(forced-colors:active){
  .home-content{transform:none;margin-bottom:0;will-change:auto}
}
:is(.portfolio-preview,.preview-estatica) .home-content{transform:none;margin-bottom:0;will-change:auto}
