/* AEntrenar - portada. Archivo (OFL) alojada en local. Sin dependencias externas. */
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-grotesk-latin-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-grotesk-latin-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-grotesk-latin-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

:root{
  --bg:#0A0A0A; --bg2:#141414;
  --oro:#D4A44A; --oro-osc:#A67731;
  --naranja:#FF6B1A; --naranja-claro:#FF8440;
  --texto:#F2F2F2; --sec:#A6A6A6;
  --filete:rgba(242,242,242,.12);
  --f-titulo:"Archivo","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --f-texto:"Hanken Grotesk","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --gut:clamp(1.25rem,4.2vw,3.5rem);
  --cab:4.5rem;
  --suave:cubic-bezier(.16,1,.3,1);
  --escena-vh:560;
}
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:var(--cab);scrollbar-color:#3a3a3a var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--texto);font:400 1.0625rem/1.6 var(--f-texto);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;caret-color:var(--naranja)}
::selection{background:var(--naranja);color:var(--bg)}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px;border-radius:3px}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,address{margin:0}
ul{padding:0;list-style:none}
address{font-style:normal}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:10px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:var(--oro-osc)}

.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.saltar{position:fixed;left:var(--gut);top:-4rem;z-index:100;background:var(--oro);color:var(--bg);padding:.75rem 1.25rem;border-radius:999px;font-weight:800;text-decoration:none;transition:top .2s}
.saltar:focus{top:.75rem}

/* ---------- tipografia ---------- */
.titulo,.hero__titulo,.serv__nombre,.prueba__frase,.compromiso__verbos,.precio__num{font-family:var(--f-titulo);word-spacing:.12em}
.titulo{font-weight:800;font-size:clamp(2.25rem,6.2vw,5rem);line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.texto-sec{color:var(--sec)}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:0 2rem;background:var(--naranja);color:var(--bg);font:800 1.0625rem/1 var(--f-texto);letter-spacing:-.01em;border-radius:999px;text-decoration:none;transition:transform .4s var(--suave),background-color .25s,box-shadow .4s var(--suave)}
.btn:hover{background:var(--naranja-claro);transform:translateY(-2px);box-shadow:0 10px 28px -10px rgba(255,107,26,.55)}
.btn:active{transform:translateY(0);box-shadow:none}
.btn--sm{min-height:2.5rem;padding:0 1.25rem;font-size:.9375rem}

/* ---------- cabecera ---------- */
.cab{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--cab);display:flex;align-items:center;gap:1.5rem;padding:0 var(--gut);border-bottom:1px solid transparent;transition:background-color .4s var(--suave),border-color .4s var(--suave)}
.cab.is-solida{background:rgba(10,10,10,.94);border-bottom-color:rgba(212,164,74,.2)}
.cab__logo{display:block;flex:none;line-height:0}
.cab__logo img{height:2.75rem;width:auto}
.cab__menu{display:none}
.cab__nav{display:flex;gap:2rem;margin-left:auto}
.cab__nav a{font-size:.9375rem;font-weight:600;color:var(--sec);text-decoration:none;padding:.5rem 0;background:linear-gradient(var(--oro),var(--oro)) 0 100%/0 1px no-repeat;transition:color .25s,background-size .4s var(--suave)}
.cab__nav a:hover{color:var(--texto);background-size:100% 1px}
@media (max-width:1000px){.cab__nav{gap:1.25rem}}
@media (max-width:719px){
  .cab{gap:.75rem}
  .cab__nav{display:none}
  .cab__logo img{height:2.25rem}
  .cab__menu{display:block;margin-left:auto}
  .cab__menu summary{list-style:none;cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--texto);padding:.6rem .5rem;min-height:2.75rem;display:flex;align-items:center}
  .cab__menu summary::-webkit-details-marker{display:none}
  .cab__menu[open] nav{position:absolute;left:0;right:0;top:var(--cab);display:grid;background:rgba(10,10,10,.97);border-bottom:1px solid rgba(212,164,74,.25);padding:.5rem var(--gut) 1rem}
  .cab__menu nav a{padding:1rem 0;font-weight:800;font-size:1.5rem;letter-spacing:-.03em;text-decoration:none;border-top:1px solid var(--filete)}
  .cab .btn--sm{padding:0 .9rem;font-size:.8125rem;white-space:nowrap}
  .cab__logo img{height:2.1rem}
}

/* ---------- escena del cuerpo ---------- */
.escena{position:relative;height:calc(var(--escena-vh) * 1vh + 100vh);height:calc(var(--escena-vh) * 1svh + 100svh)}
.escena__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--bg)}
.escena__canvas{position:absolute;inset:0;width:100%;height:100%;transition:filter .6s var(--suave)}
.escena.es-hero .escena__canvas{filter:blur(3px)}
.escena__velo{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(10,10,10,.92) 0,rgba(10,10,10,.35) 34%,rgba(10,10,10,0) 58%),linear-gradient(to bottom,rgba(10,10,10,.72) 0,rgba(10,10,10,0) 20%)}

.hero{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(3.5rem,13svh,8rem);max-width:78rem;will-change:opacity,transform}
.hero.is-off{visibility:hidden}
.hero__titulo{font-weight:800;font-size:clamp(3.1rem,10.8vw,9.5rem);line-height:.96;letter-spacing:-.04em}
.hero__titulo span{display:block}
.hero__sub{margin-top:clamp(1rem,2.4vw,1.75rem);font-size:clamp(1.125rem,1.9vw,1.5rem);font-weight:600;color:var(--oro);letter-spacing:-.01em}
.hero .btn{margin-top:clamp(1.5rem,3vw,2.25rem)}
.hero__guia{position:absolute;right:0;bottom:.25rem;width:1px;height:4.5rem;background:linear-gradient(var(--oro),rgba(212,164,74,0));transform-origin:top;animation:guia 2.4s var(--suave) infinite}
@keyframes guia{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@media (max-width:719px){.hero__guia{display:none}.hero__titulo{font-size:clamp(3rem,15.5vw,5.25rem)}}

/* notas: texto + filete dorado con punto hacia la zona destacada (centro del encuadre) */
.notas{position:absolute;inset:0;pointer-events:none}
.nota{position:absolute;top:47%;display:flex;align-items:center;isolation:isolate;opacity:0;transform:translateY(calc(-50% + var(--dy,0px)));will-change:opacity,transform}
.nota--izq{left:var(--gut);width:calc(50% - var(--gut) - 1.25rem)}
.nota--der{right:var(--gut);width:calc(50% - var(--gut) - 1.25rem);flex-direction:row-reverse;text-align:right}
.nota__txt{flex:none;max-width:min(19rem,46%);font-family:var(--f-titulo);font-weight:800;font-size:clamp(1.5rem,2.7vw,2.5rem);line-height:1.04;letter-spacing:-.03em;word-spacing:.12em;text-wrap:balance;text-shadow:0 2px 22px rgba(10,10,10,.95)}
.nota__linea{position:relative;flex:1;height:1px;margin-inline:1.5rem;background:var(--oro);transform:scaleX(var(--l,0));transform-origin:left}
.nota--der .nota__linea{transform-origin:right}
.nota__linea::after{content:"";position:absolute;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--naranja)}
.nota--izq .nota__linea::after{right:-4.5px}
.nota--der .nota__linea::after{left:-4.5px}
.nota::before{content:"";position:absolute;z-index:-1;top:50%;height:82vh;width:calc(100% + var(--gut));transform:translateY(-50%);background:radial-gradient(ellipse 100% 50% at 0% 50%,rgba(10,10,10,.86) 0,rgba(10,10,10,.6) 45%,rgba(10,10,10,0) 100%);left:calc(var(--gut) * -1)}
.nota--der::before{left:auto;right:calc(var(--gut) * -1);background:radial-gradient(ellipse 100% 50% at 100% 50%,rgba(10,10,10,.86) 0,rgba(10,10,10,.6) 45%,rgba(10,10,10,0) 100%)}

@media (max-aspect-ratio:1/1){
  /* la nota ocupa del 47 % de la altura (zona destacada) hasta el pie: el filete rellena el hueco y su punto cae en la zona */
  .nota,.nota--izq,.nota--der{top:47%;bottom:calc(6.5svh + env(safe-area-inset-bottom));left:var(--gut);right:var(--gut);width:auto;height:auto;display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;text-align:center;transform:translateY(var(--dy,0px))}
  .nota__txt{max-width:18rem;font-size:clamp(1.625rem,7vw,2.25rem)}
  .nota__linea{position:relative;flex:1;width:1px;height:auto;margin:0 0 .9rem;transform:scaleY(var(--l,0));transform-origin:bottom}
  .nota--der .nota__linea{transform-origin:bottom}
  .nota__linea::after,.nota--izq .nota__linea::after,.nota--der .nota__linea::after{top:-4.5px;left:-4px;right:auto;margin:0}
  .nota::before,.nota--der::before{top:auto;bottom:calc(-6.5svh - 1rem);left:calc(var(--gut) * -1);right:calc(var(--gut) * -1);width:auto;height:58svh;transform:none;background:linear-gradient(to top,rgba(10,10,10,.9),rgba(10,10,10,0))}
}

/* ---------- secciones ---------- */
.sec{padding:clamp(5rem,12vw,10rem) var(--gut)}
.sec--alt{background:var(--bg2)}
.contenedor{max-width:76rem;margin-inline:auto}

/* diferencia */
.dif__tabla{width:100%;border-collapse:collapse;margin-top:clamp(2.5rem,6vw,4.5rem);text-align:left}
.dif__tabla th{padding:0 1.5rem 1.1rem 0;font-size:.875rem;font-weight:600;color:var(--sec);letter-spacing:.01em}
.dif__tabla th:last-child{color:var(--oro)}
.dif__tabla td{width:50%;padding:1.6rem 1.5rem 1.6rem 0;border-top:1px solid var(--filete);vertical-align:top;color:var(--sec)}
.dif__tabla td:last-child{color:var(--texto);font-weight:600;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.45}
@media (max-width:719px){
  .dif__tabla,.dif__tabla tbody,.dif__tabla tr,.dif__tabla td{display:block;width:auto}
  .dif__tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .dif__tabla tr{padding:1.4rem 0;border-top:1px solid var(--filete)}
  .dif__tabla td{border:0;padding:.35rem 0}
  .dif__tabla td::before{content:attr(data-label);display:block;margin-bottom:.2rem;font-size:.8125rem;font-weight:600;color:var(--oro)}
  .dif__tabla td:first-child::before{color:var(--sec)}
}

/* precio */
.precio__cuerpo{display:grid;gap:clamp(2rem,5vw,3.5rem)}
.precio__cifra{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1.5rem}
.precio__num{font-weight:800;font-size:clamp(5rem,17vw,11rem);line-height:.85;letter-spacing:-.05em;color:var(--oro);font-variant-numeric:tabular-nums}
.precio__de,.precio__desde{font-size:clamp(1.125rem,2vw,1.5rem);font-weight:600;color:var(--texto)}
.precio__lista{display:grid;gap:0;max-width:46rem}
.precio__lista li{padding:1.15rem 0;border-top:1px solid var(--filete);font-size:clamp(1.125rem,1.7vw,1.375rem);font-weight:600;line-height:1.35;display:flex;gap:1rem;align-items:baseline}
.precio__lista svg{flex:none;width:1.1rem;height:1.1rem;color:var(--naranja);transform:translateY(.15rem)}
.precio__nota{max-width:46rem;color:var(--sec);font-size:1rem}

/* compromiso */
.compromiso{text-align:left}
.compromiso__verbos{margin-top:clamp(2rem,5vw,3.5rem);display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;font-weight:800;font-size:clamp(1.75rem,4.6vw,3.75rem);line-height:1.05;letter-spacing:-.03em;color:var(--oro)}
.compromiso__verbos span:last-child{color:var(--texto)}

/* prueba */
.prueba__frase{font-weight:800;font-size:clamp(2rem,6vw,5rem);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.prueba__frase + .prueba__frase{margin-top:.2em}
.prueba__frase b{font-weight:800;color:var(--oro);font-variant-numeric:tabular-nums}
.prueba__enlace{margin-top:1.5rem;color:var(--sec);font-size:1rem}
.prueba__enlace a{color:var(--texto);text-underline-offset:.25em;text-decoration-color:rgba(212,164,74,.6)}
.prueba__enlace a:hover{text-decoration-color:var(--naranja)}

/* inversion en autonomia: dos lineas, una baja y otra sube (ilustracion, sin datos) */
.inv__sub{margin-top:1.25rem;max-width:40rem;color:var(--sec);font-size:clamp(1.0625rem,1.8vw,1.3125rem);line-height:1.45}
.inv__fig{margin:clamp(2rem,5vw,3.5rem) 0 clamp(2rem,5vw,3rem);max-width:56rem}
.inv__svg{display:block;width:100%;height:auto;overflow:visible}
.inv__eje{fill:none;stroke:rgba(242,242,242,.35);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.inv__baja,.inv__sube{fill:none;stroke-width:6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.inv__baja{stroke:var(--texto)}
.inv__sube{stroke:var(--oro)}
.inv__aro{fill:none;stroke:rgba(255,107,26,.45);stroke-width:2}
.inv__punto{fill:var(--naranja)}
.js .inv__baja,.js .inv__sube{stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--suave) .3s}
.js .inv__fig.is-in .inv__baja,.js .inv__fig.is-in .inv__sube{stroke-dashoffset:0}
.js .inv__aro,.js .inv__punto{opacity:0;transition:opacity .6s 1.8s}
.js .inv__fig.is-in .inv__aro,.js .inv__fig.is-in .inv__punto{opacity:1}
.inv__leyenda{display:flex;flex-wrap:wrap;gap:.6rem 2rem;align-items:center;margin-top:1.25rem;font-weight:600;font-size:clamp(.9375rem,1.4vw,1.0625rem)}
.inv__leyenda li{display:flex;align-items:center;gap:.7rem}
.inv__sw{display:inline-block;width:2rem;height:6px;border-radius:3px}
.inv__sw--baja{background:var(--texto)}
.inv__sw--sube{background:var(--oro)}
.inv__tiempo{margin-left:auto;color:var(--sec);font-weight:400}
.inv__fig figcaption{margin-top:1rem;color:var(--sec);font-size:.875rem;max-width:40rem}

/* servicios */
.serv{margin-top:clamp(2.5rem,6vw,4.5rem)}
.serv__it{border-top:1px solid var(--filete)}
.serv__it:last-child{border-bottom:1px solid var(--filete)}
.serv__enlace{display:grid;grid-template-columns:1fr auto;gap:.75rem 2rem;align-items:center;padding:clamp(1.75rem,3.6vw,2.75rem) 0;text-decoration:none}
.serv__nombre{font-weight:800;font-size:clamp(1.75rem,4vw,3.25rem);line-height:1;letter-spacing:-.03em;text-wrap:balance;transition:color .3s}
.serv__linea{grid-column:1;color:var(--sec);max-width:40rem;font-size:1.0625rem}
.serv__ver{grid-column:2;grid-row:1 / span 2;display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.9375rem;color:var(--texto);white-space:nowrap}
.serv__ver svg{width:1.25rem;height:1.25rem;color:var(--naranja);transition:transform .45s var(--suave)}
.serv__enlace:hover .serv__nombre{color:var(--oro)}
.serv__enlace:hover .serv__ver svg{transform:translateX(.4rem)}
@media (max-width:719px){
  .serv__it{min-height:min(52svh,24rem);display:flex}
  .serv__enlace{grid-template-columns:1fr;align-content:center;width:100%;gap:1rem}
  .serv__ver{grid-column:1;grid-row:auto;margin-top:.75rem}
}

/* tienda */
.tienda__prox{margin-top:1rem;font-weight:800;font-size:clamp(1.5rem,3.4vw,2.5rem);letter-spacing:-.03em;color:var(--oro)}
.tienda__txt{margin-top:1rem;max-width:34rem;color:var(--sec)}

/* cta */
.cta{text-align:left}
.cta__txt{margin-top:1.5rem;max-width:34rem;color:var(--sec);font-size:1.125rem}
.cta .btn{margin-top:2.25rem;min-height:3.75rem;padding:0 2.5rem;font-size:1.1875rem}
.cta__mail{margin-top:1.25rem;color:var(--sec);font-size:1rem}
.cta__mail a{color:var(--texto);text-underline-offset:.25em;text-decoration-color:rgba(212,164,74,.6)}
.cta__mail a:hover{text-decoration-color:var(--naranja)}

/* pie */
.pie{background:var(--bg);border-top:1px solid var(--filete);padding:clamp(3rem,6vw,5rem) var(--gut) 2rem;font-size:.9375rem;color:var(--sec)}
.pie__cols{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:2.5rem}
.pie__logo{height:3.5rem;width:auto;margin-bottom:1rem}
.pie__tit{font-size:.875rem;font-weight:600;color:var(--oro);margin-bottom:.75rem}
.pie p + p{margin-top:.6rem}
.pie a{color:var(--texto);text-underline-offset:.25em;text-decoration-color:rgba(212,164,74,.6)}
.pie a:hover{text-decoration-color:var(--naranja)}
.pie__legal{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--filete);display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;align-items:center}
.pie__legal ul{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.pie__atrib{flex-basis:100%;font-size:.8125rem}
@media (max-width:899px){.pie__cols{grid-template-columns:1fr;gap:2rem}}

/* ---------- revelado al hacer scroll (visible por defecto sin JS) ---------- */
.js .rev{opacity:0;transform:translateY(1.5rem);transition:opacity 1s var(--suave),transform 1s var(--suave);transition-delay:calc(var(--i,0) * 90ms)}
.js .rev.is-in{opacity:1;transform:none}

/* ---------- movimiento reducido: fotogramas fijos, sin animacion ---------- */
.estatica{display:none}
.es-estatica .escena{height:auto}
.es-estatica .escena__pin{position:relative;height:auto;min-height:100svh;overflow:visible}
.es-estatica .escena__canvas,.es-estatica .notas,.es-estatica .hero__guia{display:none}
.es-estatica .escena__velo{inset:0 0 auto 0;height:100vh;height:100svh;background:linear-gradient(to top,rgba(10,10,10,.92) 0,rgba(10,10,10,.3) 40%,rgba(10,10,10,.5) 100%)}
.es-estatica .escena__fondo{position:absolute;inset:0 0 auto 0;width:100%;height:100vh;height:100svh;object-fit:cover;filter:blur(3px)}
.es-estatica .escena{overflow-x:clip}
@media (min-aspect-ratio:1/1){.es-estatica .escena__fondo{transform:translateX(16%)}}
.es-estatica .hero{position:relative;left:auto;right:auto;bottom:auto;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:calc(var(--cab) + 2rem) var(--gut) clamp(3.5rem,13svh,8rem);margin:0}
.es-estatica .estatica{display:grid;gap:3rem;padding:0 var(--gut) 5rem;position:relative}
.estatica__fig{display:grid;gap:1rem;max-width:30rem}
.estatica__fig img{width:100%;height:auto;border-radius:6px;aspect-ratio:4/5;object-fit:cover;object-position:50% 47%}
.estatica__fig figcaption{font-weight:800;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.05;letter-spacing:-.03em}
.escena__fondo{display:none}
.es-estatica .escena__fondo{display:block}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rev{opacity:1;transform:none;transition:none}
  .hero__guia{animation:none;display:none}
  .btn,.cab,.cab__nav a,.serv__ver svg{transition:none}
  .js .inv__baja,.js .inv__sube{stroke-dashoffset:0;transition:none}
  .js .inv__aro,.js .inv__punto{opacity:1;transition:none}
}

/* Etiqueta "Proximamente": lo que depende de la app, que aun no esta en produccion */
.prox{display:inline-block;margin-left:.5rem;padding:.1rem .6rem;border:1px solid var(--oro);border-radius:999px;color:var(--oro);font:700 .75rem/1.5 var(--f-texto);letter-spacing:.02em;white-space:nowrap;vertical-align:.12em}
