/* ============================================================
   Cómo empecé — Santiago · v4 "slides"
   · Una pantalla por párrafo. La rueda, las flechas o el swipe pasan
     de a una (js/main.js). Nada scrollea "libre": se traba en cada una.
   · Texto centrado, grande, con la letra de Cortik (Plus Jakarta Sans).
   · Los elementos van a los costados y entran/salen con animación;
     además siguen al mouse con parallax (capas a distinta profundidad).
   · Dos temas: dev (santiago.dev) → cortik (cortik.app) al llegar a
     las barberías, con un barrido del poste de barbería.
   ============================================================ */
:root{
  --e:cubic-bezier(.22,1,.36,1);
  --ff:"Plus Jakarta Sans",system-ui,sans-serif;
  --ffd:"Bricolage Grotesque",system-ui,sans-serif;
  --ffm:"JetBrains Mono",ui-monospace,monospace;
  --red:#e0503c;
  /* tema dev (santiago.dev) */
  --bg:#F1EEE6;--ink:#14130f;--fg:#2b2925;--muted:#6f6a5f;--line:#14130f1a;
  --acc:#1E2BF5;--acc2:#1E2BF5;--card:#E7E2D6;--card2:#FBF9F4;--on:#fff;--r:0px;
  --orb1:#1E2BF52e;--orb2:#1E2BF51a;--orb3:#e0503c14;
}
html[data-tema="cortik"]{
  --bg:#0d0905;--ink:#f6eddc;--fg:#eadfc8;--muted:#a8997c;--line:#f3e9d61c;
  --acc:#d99a3f;--acc2:#f0c273;--card:#1a120b;--card2:#241910;--on:#1d1205;--r:22px;
  --orb1:#d99a3f40;--orb2:#f0c27320;--orb3:#e0503c2a;
}
*{box-sizing:border-box;margin:0}
html,body{height:100%;overflow:hidden;background:var(--bg);overscroll-behavior:none}
body{font-family:var(--ff);color:var(--fg);transition:background-color 1.1s var(--e),color 1.1s var(--e);-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-underline-offset:4px;text-decoration-thickness:2px}
::selection{background:var(--acc);color:var(--on)}
.mono{font-family:var(--ffm);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}

/* ---------- fondo con profundidad ---------- */
.fondo{position:fixed;inset:-10%;z-index:0;pointer-events:none;transition:transform 1.4s var(--e)}
.grilla{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:80px 80px;mask-image:radial-gradient(60% 60% at 50% 50%,#000,transparent 80%);transition:opacity 1s}
html[data-tema="cortik"] .grilla{opacity:.45}
.orb{position:absolute;border-radius:50%;filter:blur(90px);transition:background-color 1.2s,transform 1.6s var(--e)}
.o1{width:48vw;height:48vw;left:-8vw;top:-6vw;background:var(--orb1);transform:translate(calc(var(--mx,0)*-40px),calc(var(--my,0)*-30px))}
.o2{width:38vw;height:38vw;right:-6vw;bottom:-8vw;background:var(--orb2);transform:translate(calc(var(--mx,0)*50px),calc(var(--my,0)*40px))}
.o3{width:26vw;height:26vw;right:28vw;top:30vh;background:var(--orb3);transform:translate(calc(var(--mx,0)*25px),calc(var(--my,0)*-25px))}

/* ---------- barra, header, puntos ---------- */
.barra{position:fixed;inset:0 0 auto;height:3px;z-index:60;background:var(--line)}
.barra i{display:block;height:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0);transition:transform .9s var(--e),background-color 1s}
html[data-tema="cortik"] .barra i{background:linear-gradient(90deg,var(--red),var(--acc),var(--acc2))}
.top{position:fixed;top:3px;inset-inline:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(18px,3.5vw,44px)}
.marca{display:grid;font-family:var(--ffd);font-weight:800;font-size:20px;letter-spacing:-.03em;color:var(--ink)}
.marca>span{grid-area:1/1;transition:opacity .6s,transform .7s var(--e)}
.marca b{color:var(--acc)}
.m-ck{opacity:0;transform:translateY(10px)}
html[data-tema="cortik"] .m-dev{opacity:0;transform:translateY(-10px)}
html[data-tema="cortik"] .m-ck{opacity:1;transform:none}
.contador{font-family:var(--ffm);font-size:13px;color:var(--muted)}
.contador b{color:var(--ink)}
.tw{font-family:var(--ffm);font-size:13px;text-decoration:none}
.puntos{position:fixed;right:clamp(12px,2vw,26px);top:50%;transform:translateY(-50%);z-index:50;display:grid;gap:10px}
.puntos button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer;transition:transform .4s var(--e),background-color .4s}
.puntos button.on{background:var(--acc);transform:scale(1.6)}

/* ---------- deck / slides ---------- */
.deck{position:fixed;inset:0;z-index:2}
.slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr minmax(0,var(--w)) 1fr;align-items:center;gap:clamp(20px,3vw,48px);
  padding:84px clamp(20px,4vw,64px) 64px;--w:clamp(560px,52vw,860px);visibility:hidden;pointer-events:none}
.slide.on,.slide.saliendo{visibility:visible}
.slide.on{pointer-events:auto}
.centro{grid-column:2;position:relative;text-align:center;
  opacity:0;transform:translateY(var(--dy,70px)) scale(.97);filter:blur(10px);
  transition:opacity .8s var(--e),transform 1s var(--e),filter .8s var(--e)}
.slide.on .centro{opacity:1;transform:none;filter:none;transition-delay:.12s}
.slide.saliendo .centro{opacity:0;transform:translateY(calc(var(--dy,70px) * -1)) scale(.97);filter:blur(10px);transition-delay:0s}

.p{font-family:var(--ff);font-weight:700;font-size:32px;line-height:1.55;letter-spacing:-.012em;color:var(--ink);text-wrap:pretty}
.p a{font-weight:800}

/* lados */
.lado{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;gap:16px}
.lado.izq{grid-column:1;align-items:flex-end}
.lado.der{grid-column:3;align-items:flex-start}
.it{--dx:-120px;position:relative;opacity:0;filter:blur(6px);
  transform:translate3d(calc(var(--dx) + var(--mx,0) * var(--z,18px)),calc(var(--my,0) * var(--z,18px)),0) rotate(var(--rot,0deg));
  transition:opacity .8s var(--e),transform 1.1s var(--e),filter .8s var(--e);transition-delay:calc(.25s + var(--o) * .12s)}
.lado.der .it{--dx:120px}
.it:nth-child(2){--z:30px}.it:nth-child(3){--z:12px}.it:nth-child(4){--z:36px}
.slide.on .it{--dx:0px;opacity:1;filter:none}
.slide.saliendo .it{--dx:-140px;opacity:0;filter:blur(6px);transition-delay:calc(var(--o) * .05s)}
.slide.saliendo .lado.der .it{--dx:140px}
/* cuando el mouse se mueve, los elementos lo siguen rápido (parallax) */
.slide.on.vivo .it{transition:opacity .8s var(--e),transform .5s var(--e),filter .8s var(--e);transition-delay:0s}

@media (max-width:1100px){
  .slide{grid-template-columns:1fr;--w:100%;padding:76px 22px 54px;align-content:center}
  .centro{grid-column:1;grid-row:1}
  .lado{display:none}
  .puntos{display:none}
  .p{font-size:22px}
}

/* ---------- portada ---------- */
.kick{color:var(--acc);margin-bottom:18px}
.titulo{font-family:var(--ffd);font-weight:800;font-size:clamp(64px,10.5vw,170px);line-height:.88;letter-spacing:-.055em;color:var(--ink)}
.bajada{font-weight:600;font-size:clamp(20px,2.1vw,30px);line-height:1.45;color:var(--fg);margin:26px auto 0;max-width:24ch}
.bajada b{color:var(--ink)}
.pista{margin-top:46px;color:var(--muted);display:inline-flex;align-items:center;gap:12px}
.rueda{width:22px;height:34px;border:2px solid var(--muted);border-radius:12px;position:relative}
.rueda i{position:absolute;left:50%;top:6px;width:4px;height:7px;margin-left:-2px;border-radius:2px;background:var(--acc);animation:rueda 1.6s ease-in-out infinite}
@keyframes rueda{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
.ficha{padding:26px 30px;background:var(--card2);border:1px solid var(--line);border-radius:var(--r);display:grid;gap:4px;text-align:left;box-shadow:0 30px 60px -40px #0006}
.ficha span{color:var(--muted)}
.gig{font-family:var(--ffd);font-weight:800;font-size:110px;line-height:.85;letter-spacing:-.05em;color:var(--acc)}
.gig.s{font-size:84px}
.ficha.alt{--rot:4deg}

/* ---------- elementos ---------- */
.num,.ban,.uno,.recibo,.total,.chat,.meta,.mp,.idea,.excel,.dia,.hito,.dominio,.plan,.av,.precio,.etiqueta,.turneras,.barras{border-radius:var(--r);width:min(100%,300px)}
.num{display:grid;padding:18px 22px;background:var(--card2);border:1px solid var(--line)}
.num b{font-family:var(--ffd);font-weight:800;font-size:58px;line-height:1;color:var(--ink);letter-spacing:-.04em}
.num span{color:var(--muted);font-size:15px}
.ban{padding:16px 20px;border:1px solid #e0503c66;background:#e0503c14;color:var(--red);font-size:15px;font-weight:600;--rot:-2deg}
.ban .mono{display:block;font-size:11px;margin-bottom:4px}
.uno{display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--acc);color:var(--on)}
.uno b{font-family:var(--ffd);font-weight:800;font-size:80px;line-height:.8}
.uno span{font-weight:700;font-size:15px;line-height:1.35}
.recibo{display:grid;gap:2px;padding:16px 20px;background:var(--card2);border:1px solid var(--line);box-shadow:0 20px 40px -30px #0007}
.recibo:nth-child(2){--rot:-2deg}
.recibo span{font-size:13px;color:var(--muted)}
.recibo b{font-family:var(--ffd);font-weight:800;font-size:22px;color:var(--ink)}
.total{display:flex;justify-content:space-between;align-items:baseline;padding:6px 4px}
.total .mono{color:var(--muted)}
.total b{font-family:var(--ffd);font-weight:800;font-size:46px;color:var(--acc);letter-spacing:-.03em}
.chat{padding:12px 16px;border-radius:18px 18px 18px 4px!important;background:#dcf8c6;color:#1c2b1f;font-size:15px;width:auto;max-width:300px}
.chat:nth-child(2){margin-left:28px}
.etiqueta{width:auto;padding:9px 16px;border:1.5px dashed var(--acc);color:var(--acc);font-family:var(--ffm);font-size:12px;letter-spacing:.12em;text-transform:uppercase;--rot:-3deg}
.meta{display:grid;gap:6px;padding:20px 22px;background:var(--card2);border:1px solid var(--line);box-shadow:0 30px 60px -40px #0007}
.meta .mono{font-size:11px;color:var(--muted)}
.meta b{font-size:18px;line-height:1.3;color:var(--ink)}
.meta span:last-child{font-size:14px;color:var(--muted)}
.sello{width:auto;font-family:var(--ffm);font-weight:700;font-size:40px;letter-spacing:.12em;color:var(--red);border:4px solid var(--red);padding:6px 16px;--rot:-12deg}
.slide.on .sello{animation:sello .6s var(--e) .9s both}
@keyframes sello{0%{scale:2.4;opacity:0}100%{scale:1;opacity:1}}
.zz{width:auto;display:grid;font-family:"Instrument Serif",serif;font-style:italic;color:var(--muted);line-height:.9}
.zz i{display:block;animation:flota 3s ease-in-out infinite}
.zz i:nth-child(1){font-size:36px;margin-left:56px}.zz i:nth-child(2){font-size:54px;margin-left:24px;animation-delay:.4s}.zz i:nth-child(3){font-size:76px;animation-delay:.8s}
@keyframes flota{50%{translate:0 -8px}}
.mp{padding:16px 20px;background:#009ee31a;border:1px solid #009ee366;display:grid}
.mp .mono{font-size:11px;color:#2f9fd8}
.mp b{font-family:var(--ffd);font-weight:800;font-size:24px;color:var(--ink)}
.bulb{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#fffbe6 0%,#ffd84d 32%,transparent 68%);box-shadow:0 0 120px 30px #ffd84d44}
.slide.on .bulb{animation:luz 2.4s ease-in-out .6s both}
@keyframes luz{0%{opacity:.1}30%{opacity:.6}40%{opacity:.2}60%{opacity:1}100%{opacity:1}}
.idea{padding:22px 24px;background:var(--card2);border:1px solid var(--line)}
.idea .mono{font-size:11px;color:var(--acc)}
.idea b{display:block;font-family:var(--ffd);font-weight:800;font-size:24px;color:var(--ink);margin:6px 0 8px;letter-spacing:-.02em}
.idea ul{padding-left:18px;color:var(--muted);font-size:15px;line-height:1.7}
.excel{padding:18px 22px;background:#1d6f4216;border:1px solid #1d6f4266;color:#1d6f42;font-size:18px;font-weight:600;--rot:-3deg}
.excel .mono{display:block;font-size:11px;margin-bottom:4px}
.dia{display:flex;gap:12px;align-items:baseline;padding:12px 16px;background:var(--card2);border:1px solid var(--line);font-size:15px;color:var(--ink)}
.dia .mono{font-size:11px;color:var(--acc);min-width:46px}
.dia.no{margin-left:24px;color:var(--muted);font-style:italic}
/* cambio */
.cambio .centro{grid-column:1/-1}
.poste{position:absolute;left:50%;top:-10%;width:72px;height:120%;margin-left:-36px;border-radius:40px;opacity:.22;
  background:repeating-linear-gradient(-45deg,var(--red) 0 18px,#f3e9d6 18px 36px,#1a1209 36px 54px,#f3e9d6 54px 72px);background-size:100% 102px;animation:poste 2.6s linear infinite}
@keyframes poste{to{background-position:0 102px}}
.kick-cambio{font-size:clamp(22px,2.6vw,34px);color:var(--muted);font-weight:500}
.logo-cambio{font-family:var(--ffd);font-weight:800;font-size:clamp(80px,15vw,230px);line-height:.9;letter-spacing:-.06em;color:var(--ink);margin-top:12px}
.logo-cambio b{color:var(--acc)}
.wipe{position:fixed;inset:0;z-index:70;pointer-events:none;transform:translateX(-110%);
  background:repeating-linear-gradient(-45deg,var(--red) 0 34px,#f3e9d6 34px 68px,#0d0905 68px 102px,#f3e9d6 102px 136px)}
.wipe.go{animation:wipe 1.2s var(--e) forwards}
@keyframes wipe{0%{transform:translateX(-110%)}50%{transform:translateX(0)}100%{transform:translateX(110%)}}
/* cortik */
.turneras{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:250px}
.turneras i{aspect-ratio:1;border-radius:14px;background:var(--card2);border:1px solid var(--line)}
.lpm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-7deg);padding:10px 22px;border-radius:14px;background:var(--acc);color:var(--on);font-family:var(--ffd);font-weight:800;font-size:38px;letter-spacing:-.03em;box-shadow:0 20px 40px -10px #000}
.hito{display:grid;padding:14px 18px;border-left:3px solid var(--acc);background:var(--card);font-size:17px;color:var(--ink);font-weight:600}
.hito .mono{font-size:11px;color:var(--acc);font-weight:500}
.dominio{display:grid;gap:6px;padding:16px 20px;background:var(--card2);border:1px solid var(--line)}
.dominio s{font-family:var(--ffm);font-size:14px;color:var(--muted);text-decoration-color:var(--red);text-decoration-thickness:2px}
.dominio b{font-family:var(--ffd);font-weight:800;font-size:34px;color:var(--acc2);letter-spacing:-.03em}
.plan{display:grid;padding:20px 24px;background:#f3e9d6;color:#1d1205;--rot:-3deg}
.plan span{font-size:12px;color:#6b5a40}
.plan b{font-family:var(--ffd);font-weight:800;font-size:28px}
.plan em{font-family:var(--ffm);font-style:normal;font-size:12px;color:#1d8a56;font-weight:700}
.av{display:flex;align-items:center;gap:12px;padding:8px 20px 8px 8px;border-radius:999px!important;background:var(--card2);border:1px solid var(--line);color:var(--ink);text-decoration:none;width:auto}
.av span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:linear-gradient(140deg,var(--acc2),var(--acc));color:var(--on)}
.av b{font-size:16px}
.av:nth-child(2){margin-left:30px}
.av:hover{border-color:var(--acc)}
.barras{display:flex;gap:18px;align-items:flex-end;height:260px;width:240px}
.b{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.b i{width:100%;border-radius:12px 12px 4px 4px;background:var(--card2);height:0;transition:height 1.2s var(--e) .5s}
.slide.on .b i{height:calc(var(--h) * 76%)}
.b.on i{background:linear-gradient(var(--acc2),var(--acc))}
.b b{font-family:var(--ffd);font-weight:800;font-size:30px;color:var(--ink);order:-1}
.b span{font-size:13px;color:var(--muted)}
.precio{display:grid;padding:18px 22px;background:var(--card2);border:1px solid var(--line)}
.precio s{color:var(--muted);text-decoration-color:var(--red)}
.precio b{font-family:var(--ffd);font-weight:800;font-size:48px;color:var(--acc2);letter-spacing:-.03em;line-height:1.1}
.precio span{color:var(--muted);font-size:14px}
.marca-grande{width:auto;font-family:var(--ffd);font-weight:800;font-size:clamp(28px,2.6vw,44px);letter-spacing:-.04em;color:var(--ink);opacity:.9}
.marca-grande b{color:var(--acc)}
.marca-grande.dev{font-family:"Instrument Serif",serif;font-weight:400;letter-spacing:-.01em}
.marca-grande.dev b{color:#8f9bff;font-weight:400}
/* final */
.final .centro,.credito .centro{grid-column:1/-1}
.gracias{font-family:var(--ffd);font-weight:800;font-size:clamp(34px,4.6vw,72px)!important;line-height:1.05;letter-spacing:-.04em;max-width:16ch;margin:0 auto}
.firma{font-family:"Instrument Serif",serif;font-style:italic;font-size:60px;color:var(--acc2);margin-top:18px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:34px}
.btn{display:inline-flex;align-items:center;height:54px;padding:0 26px;border-radius:var(--r);font-weight:700;text-decoration:none;background:var(--acc);color:var(--on);transition:transform .3s var(--e)}
.btn:hover{transform:translateY(-3px)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
/* crédito santiago.dev */
.sdev-cred{position:relative;overflow:hidden;background:#0C0C0E;color:#EDE9E0;border:1px solid #ffffff14;border-radius:16px;padding:40px 52px;display:inline-flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:0 16px 44px #00000066}
.sdev-cred canvas.sdev-fx{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.sdev-cred::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(78% 80% at 50% 45%,transparent 38%,#0C0C0E 100%)}
.sdev-cred>*:not(canvas){position:relative;z-index:2}
.sdev-cred .sdev-kicker{font-family:var(--ffm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9a9488}
.sdev-cred .sdev-kicker a{color:#8f9bff;text-decoration:none;font-weight:700}
.sdev-cred .sdev-head{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:32px;line-height:1.08;color:#F3EFE6;max-width:17ch}
.sdev-cred .sdev-head em{font-style:italic;color:#8f9bff}
.sdev-cred .sdev-cta{display:flex;gap:16px;margin-top:8px}

@media (max-width:1100px){
  .titulo{font-size:clamp(56px,16vw,110px)}
  .firma{font-size:46px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
}
/* El poste se va junto con su pantalla (no queda detrás del texto siguiente). */
.poste{transition:opacity .5s var(--e)}
.slide:not(.on) .poste{opacity:0}
/* Puntos aparte: cada párrafo va en 2 o 3 bloques con aire entre ellos. */
.centro .p + .p{margin-top:.85em}
.p{line-height:1.5}

/* ---------- Likes (migr. 0107 en cortik.app) ---------- */
.top-der{display:flex;align-items:center;gap:14px}
.like{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,transparent);color:var(--ink);
  font-family:var(--ff);font-weight:800;cursor:pointer;border-radius:999px;transition:transform .3s var(--e),border-color .3s,background-color .3s,color .3s}
.like svg{width:18px;height:18px;fill:transparent;stroke:currentColor;stroke-width:2;transition:fill .3s,stroke .3s,transform .4s var(--e)}
.like:hover{transform:translateY(-2px);border-color:#e0503c}
.like[aria-pressed="true"]{border-color:#e0503c;color:#e0503c}
.like[aria-pressed="true"] svg{fill:#e0503c;stroke:#e0503c}
.like.pop svg{animation:latido .55s var(--e)}
@keyframes latido{0%{transform:scale(1)}35%{transform:scale(1.45)}60%{transform:scale(.9)}100%{transform:scale(1)}}
.like-top{height:36px;padding:0 14px 0 12px;font-size:14px}
.like-grande{margin:26px auto 0;height:64px;padding:0 28px 0 22px;font-size:19px;gap:12px;background:var(--card2)}
.like-grande svg{width:28px;height:28px}
.like-grande b{font-family:var(--ffd);font-size:24px;padding-left:12px;border-left:1.5px solid var(--line)}
.like-grande[aria-pressed="true"] .like-txt::after{content:" — ¡gracias!"}
.final .centro{display:flex;flex-direction:column;align-items:center}
@media (max-width:600px){.tw{display:none}.like-grande{height:56px;font-size:16px}}
