/* Extras de conoce.somostinto.com · movimiento y bloques nuevos */

/* Intro */
.intro{position:fixed;inset:0;z-index:200;background:var(--ink);color:var(--cream);display:grid;place-items:center;transition:clip-path .9s cubic-bezier(.76,0,.24,1),opacity .4s ease .5s}
.intro.off{clip-path:inset(0 0 100% 0);opacity:0;pointer-events:none}
.intro-in{text-align:center;padding:24px}
.intro-logo{font-family:var(--display);font-size:clamp(38px,8vw,96px);letter-spacing:-.05em;line-height:.9;text-transform:uppercase}
.intro-logo span{color:var(--amber)}
.intro-line{height:3px;background:var(--amber);width:0;margin:20px auto 14px;animation:introLine 1.4s cubic-bezier(.76,0,.24,1) forwards}
.intro small{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,246,239,.55)}
@keyframes introLine{to{width:min(300px,60vw)}}

/* Barra de progreso */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--amber);z-index:150;transition:width .1s linear}

/* Navegación lateral de secciones */
.dots{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:50;display:grid;gap:8px}
.dots a{width:8px;height:8px;border:2px solid var(--ink);border-radius:999px;background:transparent;transition:background .2s ease,transform .2s ease}
.dots a.on{background:var(--ink);transform:scale(1.35)}
.dots a:hover{background:var(--amber)}
@media(max-width:1100px){.dots{display:none}}

/* Marquesina de la home */
.marq{overflow:hidden;background:var(--amber);border-block:2px solid var(--ink);padding-block:8px}
.marq-in{display:flex;gap:30px;width:max-content;animation:marq 24s linear infinite}
.marq span{font-family:var(--display);font-size:clamp(13px,1.5vw,18px);letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:30px}
.marq span::after{content:"→";font-family:var(--body);font-size:12px}
@keyframes marq{to{transform:translateX(-50%)}}

/* Hero vivo */
.hero .ticket{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.hero:hover .ticket{transform:translateY(-4px) rotate(-.6deg)}
.hero .ticket--back{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.hero:hover .ticket--back{transform:rotate(-3.4deg) translate(-4px,2px)}
.chip-float{position:absolute;z-index:4;background:var(--cream);border:2px solid var(--ink);padding:6px 9px;font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:3px 3px 0 var(--ink);animation:floaty 5s ease-in-out infinite}
.chip-float.a{top:-10px;left:-12px}
.chip-float.b{bottom:74px;right:-18px;animation-delay:-2s}
@keyframes floaty{50%{transform:translateY(-6px)}}
.hero-glow{position:absolute;width:340px;height:340px;border-radius:999px;border:2px solid rgba(11,11,11,.09);right:-90px;top:40px;z-index:0}
.hero-glow::after{content:"";position:absolute;inset:36px;border-radius:999px;border:2px dashed rgba(11,11,11,.08)}
@media(max-width:980px){.hero-glow,.chip-float{display:none}}

/* Contadores / barras */
.dato b{font-variant-numeric:tabular-nums}
.barra{height:6px;background:rgba(250,246,239,.14);margin-top:8px;overflow:hidden}
.barra i{display:block;height:100%;width:0;background:var(--amber);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.barra i.on{width:var(--w,70%)}

/* Feature nav sticky */
.feature-nav{position:sticky;top:92px;display:flex;gap:8px;align-items:center;justify-content:center;margin:0 auto 26px;z-index:20;flex-wrap:wrap}
.feature-nav a{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:2px solid var(--ink);background:var(--cream);padding:7px 10px;transition:background .2s ease,color .2s ease}
.feature-nav a:hover,.feature-nav a.on{background:var(--ink);color:var(--cream)}
.feature-foto{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.feature.reveal.in .feature-foto{transform:none}

/* Showcase de demos con tabs */
.showcase{margin-top:26px;border:3px solid var(--ink);background:var(--ink);display:grid;grid-template-columns:1.15fr .85fr;min-height:380px;box-shadow:var(--shadow-lg)}
.showcase-figure{position:relative;overflow:hidden;background:var(--surface);min-height:320px}
.showcase-figure img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .45s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.showcase-figure img.on{opacity:1;transform:scale(1)}
.showcase-side{background:var(--ink);color:var(--cream);padding:clamp(18px,3vw,30px);display:flex;flex-direction:column;gap:14px}
.showcase-tabs{display:flex;flex-wrap:wrap;gap:6px}
.showcase-tabs button{border:2px solid rgba(250,246,239,.35);color:var(--cream);padding:7px 10px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease}
.showcase-tabs button[aria-pressed="true"]{background:var(--amber);color:var(--ink);border-color:var(--amber)}
.showcase-side h3{color:var(--cream);font-size:clamp(22px,2.6vw,34px);text-transform:uppercase;letter-spacing:-.03em}
.showcase-side p{color:rgba(250,246,239,.68);font-size:13px}
.showcase-side .meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:rgba(250,246,239,.5);margin-top:auto}
.showcase-side .btn{align-self:flex-start;margin-top:6px}
@media(max-width:900px){.showcase{grid-template-columns:1fr}.showcase-figure{min-height:250px}}

/* Tabla comparativa */
.compare{margin-top:34px;border:3px solid var(--ink);box-shadow:var(--shadow);overflow:auto;background:var(--cream)}
.compare table{width:100%;border-collapse:collapse;font-size:13px;min-width:620px}
.compare th,.compare td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare th{background:var(--ink);color:var(--cream);font-family:var(--display);font-size:11px;letter-spacing:.02em;text-transform:uppercase;font-weight:400}
.compare tr:last-child td{border-bottom:0}
.compare td:first-child{font-weight:700;width:28%}
.compare .si{color:#2E7D32;font-weight:700}
.compare .no{color:#8E2B32;font-weight:700}
.compare caption{caption-side:top;text-align:left;padding:12px 12px 0;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* Agenda wizard */
.wizard{border:3px solid var(--ink);background:var(--cream);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-height:480px}
.wizard-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;background:var(--amber);border-bottom:3px solid var(--ink);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.wizard-step-label{background:var(--ink);color:var(--cream);padding:3px 7px}
.wizard-progress{display:flex;gap:4px;padding:12px 15px 0}
.wizard-progress i{height:4px;flex:1;background:var(--line);transition:background .25s ease}
.wizard-progress i.on{background:var(--amber)}
.wizard-body{padding:15px;overflow:auto;flex:1}
.wizard-step h4{font-family:var(--display);font-size:18px;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:3px}
.wizard-step .sub{font-size:11.5px;color:var(--muted);margin-bottom:13px}
.wsvc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wsvc{border:2px solid var(--ink);background:var(--cream);text-align:left;padding:10px 11px;transition:background .2s ease,color .2s ease,transform .2s ease}
.wsvc:hover{transform:translateY(-2px)}
.wsvc b{display:block;font-size:11.5px;line-height:1.25;text-transform:uppercase;letter-spacing:.01em}
.wsvc span{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.wsvc b.p{display:block;margin-top:6px;font-size:12.5px}
.wsvc[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.wsvc[aria-pressed="true"] span{color:rgba(250,246,239,.65)}
.wweek{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.wday{border:2px solid var(--ink);background:var(--cream);padding:7px 2px;text-align:center;font-size:10px}
.wday small{display:block;font-size:8px;text-transform:uppercase;color:var(--muted)}
.wday b{display:block;font-size:13px}
.wday[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.wday:disabled{opacity:.3;cursor:not-allowed}
.wslots{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px}
.wslot{border:2px solid var(--ink);background:var(--cream);padding:7px 2px;font-size:10.5px;font-weight:700}
.wslot[aria-pressed="true"]{background:var(--amber)}
.wslot:disabled{opacity:.28;text-decoration:line-through;cursor:not-allowed}
.wfield{margin-bottom:10px}
.wfield label{display:block;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.wfield input{width:100%;min-height:42px;border:2px solid var(--ink);background:var(--cream);padding:0 10px;font:inherit}
.wsum{border-top:2px solid var(--ink);margin-top:10px;padding-top:9px;font-size:11px;display:grid;gap:4px}
.wsum div{display:flex;justify-content:space-between;gap:10px}
.wizard-foot{display:flex;gap:8px;padding:12px 15px;border-top:2px solid var(--ink)}
.wizard-foot .btn{flex:1}
.wizard-confirm{text-align:center;padding:6px 0}
.wizard-confirm .ok{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 10px;background:var(--amber);border:2px solid var(--ink);border-radius:999px;font-size:20px}
.wizard-confirm h4{font-size:19px}
.wizard-confirm p{font-size:12px;color:var(--muted);margin:4px auto 10px}
.wizard-confirm dl{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;text-align:left;font-size:12px;margin:10px 0}
.wizard-confirm dt{font-weight:700}
.wizard-confirm dd{text-align:right}
.wizard-confirm .actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
@media(max-width:640px){.wsvc-grid{grid-template-columns:1fr}.wslots{grid-template-columns:repeat(3,1fr)}.wweek{grid-template-columns:repeat(4,1fr)}}

/* Volver arriba */
.backtop{position:fixed;right:18px;bottom:18px;z-index:80;width:42px;height:42px;display:grid;place-items:center;background:var(--ink);color:var(--cream);border:2px solid var(--ink);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.backtop.on{opacity:1;pointer-events:auto}
.backtop:hover{background:var(--amber);color:var(--ink);transform:translateY(-2px)}

/* Pequeñas mejoras de secciones existentes */
.paquete{transition:transform .3s ease,box-shadow .3s ease}
.paquete:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.tactica{transition:background .2s ease,padding .2s ease}
.tactica:hover{background:rgba(11,11,11,.035);padding-left:8px;padding-right:8px}
.proceso{position:relative}
.paso{position:relative;transition:transform .3s ease}
.paso:hover{transform:translateY(-3px)}
.contacto .email{transition:letter-spacing .3s ease}
.contacto .email:hover{letter-spacing:-.01em}

@media(prefers-reduced-motion:reduce){
  .intro,.marq-in,.chip-float{animation:none!important}
  .intro{display:none}
}
