/* =====================================================================
   SMOKE KIT™ — Objeto 002
   Malafuente Department of Unnecessary Professional Goods
   La base de la web (barra superior, índice, marquesina, cursor y botón
   flotante) viene de /cvs/styles.css. Aquí solo vive esta página.
   Colores tomados de las artes finales de The Smoke Method.
   ===================================================================== */

.sk{
  --sk-black:#151217;   /* negro caja */
  --sk-red:#ff2800;     /* rojo cerilla */
  --sk-paper:#f2f8ff;   /* blanco papel */
  --sk-grey:#2f2d33;    /* gris advertencia */
  --sk-pale:#f5c7c4;    /* rojo pálido */
  --sk-bg:#0a0a0d;
  --sk-fg:#f3f8ff;
  --sk-dim:#9b98a3;
  --sk-line:rgba(243,248,255,.13);
  --sk-line2:rgba(243,248,255,.34);
  --sk-gut:clamp(16px,4vw,56px);
  --f-d:'Unbounded',ui-sans-serif,system-ui,sans-serif;
  --f-b:'Montserrat',ui-sans-serif,system-ui,sans-serif;
  --f-m:'Space Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --ease:cubic-bezier(.5,0,.15,1);
  color:var(--sk-fg);
  background:var(--sk-bg);
  font-family:var(--f-b);
}
.sk *{ box-sizing:border-box; }
.sk img{ max-width:100%; }
.sk-wrap{ max-width:1280px; margin:0 auto; padding-inline:var(--sk-gut); }

/* papel: secciones de documento */
.sk-paper{
  --sk-fg:#151217;
  --sk-dim:#5c5862;
  --sk-line:rgba(21,18,23,.14);
  --sk-line2:rgba(21,18,23,.42);
  background:var(--sk-paper);
  color:var(--sk-fg);
}

/* ---------- utilidades tipográficas ---------- */
.sk-label{ font-family:var(--f-m); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sk-dim); margin:0; }
.sk-h2{ font-family:var(--f-d); font-weight:800; font-size:clamp(2.2rem,5.6vw,5rem); line-height:.98; letter-spacing:-.03em; margin:0; text-wrap:balance; }
.sk-h3{ font-family:var(--f-d); font-weight:700; font-size:clamp(1.3rem,2.4vw,2rem); line-height:1.06; letter-spacing:-.015em; margin:0; text-wrap:balance; }
.sk-lead{ font-size:clamp(1rem,1.3vw,1.14rem); line-height:1.65; color:var(--sk-dim); max-width:46ch; margin:0; }
.sk-figcap{ display:flex; justify-content:space-between; gap:8px 20px; flex-wrap:wrap; margin-top:12px; font-family:var(--f-m); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:var(--sk-dim); }

/* ---------- secciones ---------- */
.sk-sec{ padding-block:clamp(80px,10vw,150px); }
.sk-line{
  display:flex; justify-content:space-between; align-items:baseline; gap:8px 24px; flex-wrap:wrap;
  font-family:var(--f-m); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sk-dim);
  padding-top:14px; border-top:1px solid var(--sk-line2); margin-bottom:clamp(40px,6vw,88px);
}
.sk-line b{ color:var(--sk-red); font-weight:700; }
.sk-paper .sk-line b{ color:#d42200; }
.sk-split{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:24px clamp(28px,5vw,80px); align-items:end; }

/* ---------- botones ---------- */
.sk-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:14px 24px; border:2px solid var(--sk-line2); background:transparent; color:var(--sk-fg);
  font-family:var(--f-m); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  cursor:pointer; transition:background .18s var(--ease), color .18s var(--ease), border-color .18s;
}
.sk-btn:hover{ background:var(--sk-fg); color:var(--sk-bg); border-color:var(--sk-fg); }
.sk-btn--solid{ background:var(--sk-red); border-color:var(--sk-red); color:#131017; }
.sk-btn--solid:hover{ background:var(--sk-fg); border-color:var(--sk-fg); color:#131017; }
.sk-paper .sk-btn:hover{ color:var(--sk-paper); }
.sk-btn--ghost{ border-color:rgba(21,18,23,.4); color:#151217; }
.sk-btn--ghost:hover{ background:#151217; color:#f2f8ff; border-color:#151217; }
.sk-ctas{ display:flex; flex-wrap:wrap; gap:12px; }
.sk-textbtn{ background:none; border:0; padding:0; font-family:var(--f-m); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sk-dim); text-decoration:underline; text-underline-offset:4px; cursor:pointer; align-self:flex-start; }
.sk-textbtn:hover{ color:var(--sk-fg); }
.sk-chip{
  border:1px solid var(--sk-line2); background:transparent; color:var(--sk-fg); padding:9px 14px; cursor:pointer;
  font-family:var(--f-m); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  transition:background .15s, color .15s, border-color .15s;
}
.sk-chip:hover{ border-color:var(--sk-fg); }
.sk-chip.is-on{ background:var(--sk-fg); color:var(--sk-bg); border-color:var(--sk-fg); }

/* =====================================================================
   01 · HERO
   ===================================================================== */
.sk-hero{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:calc(100vh - var(--bar-top-h,64px) - var(--bar-bottom-h,36px));
  min-height:calc(100svh - var(--bar-top-h,64px) - var(--bar-bottom-h,36px));
  display:flex; flex-direction:column; justify-content:space-between;
  padding:clamp(14px,2.4vw,28px) 0 clamp(20px,3vw,36px);
}
.sk-hero__top{ display:flex; justify-content:space-between; align-items:flex-start; gap:20px; width:100%; }
.sk-eyebrow{ font-family:var(--f-m); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--sk-dim); line-height:1.55; text-decoration:none; }
a.sk-eyebrow:hover{ color:var(--sk-red); }
.sk-eyebrow--right{ text-align:right; color:var(--sk-fg); }

.sk-title{
  font-family:var(--f-d); font-weight:900; text-transform:uppercase;
  font-size:clamp(3rem,10.8vw,9.6rem); line-height:.84; letter-spacing:-.045em;
  margin:clamp(14px,2.4vw,30px) 0 clamp(16px,2.4vw,30px);
  display:flex; flex-wrap:wrap; column-gap:.24em;
}
.sk-title > span{ display:inline-block; animation:skRise 1.1s var(--ease) both; }
.sk-title > span + span{ animation-delay:.08s; }
.sk-title sup{ font-family:var(--f-m); font-weight:700; font-size:.13em; letter-spacing:0; vertical-align:top; position:relative; top:.55em; margin-left:.18em; color:var(--sk-red); }
@keyframes skRise{ from{ opacity:0; transform:translateY(.35em); } to{ opacity:1; transform:none; } }

.sk-slit{
  position:relative; height:clamp(170px,32vh,380px); overflow:hidden; background:#000;
  animation:skSlit 1.5s .15s var(--ease) both;
}
@keyframes skSlit{ from{ clip-path:inset(50% 0 50% 0); } to{ clip-path:inset(0 0 0 0); } }
.sk-slit__img{
  position:absolute; inset:-12% -3%; width:106%; height:124%; object-fit:cover;
  object-position:50% var(--py,42%); transform:scale(var(--sc,1.04)); will-change:transform;
}
.sk-hero__wisp{ position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }
.sk-crop{ position:absolute; width:18px; height:18px; border:0 solid var(--sk-fg); opacity:.85; z-index:2; }
.sk-crop--tl{ top:10px; left:var(--sk-gut); border-top-width:1px; border-left-width:1px; }
.sk-crop--tr{ top:10px; right:var(--sk-gut); border-top-width:1px; border-right-width:1px; }
.sk-crop--bl{ bottom:10px; left:var(--sk-gut); border-bottom-width:1px; border-left-width:1px; }
.sk-crop--br{ bottom:10px; right:var(--sk-gut); border-bottom-width:1px; border-right-width:1px; }
.sk-slit__tag{
  position:absolute; left:calc(var(--sk-gut) + 28px); top:10px; z-index:2;
  font-family:var(--f-m); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase;
  background:#0a0a0d; color:var(--sk-fg); padding:4px 8px;
}

.sk-hero__foot{
  display:grid; grid-template-columns:minmax(0,1.15fr) auto minmax(0,.85fr); align-items:end;
  gap:20px clamp(20px,3vw,48px); margin-top:clamp(20px,3vw,34px); width:100%;
}
.sk-hero__sub{ font-size:clamp(1.05rem,1.55vw,1.36rem); font-weight:500; line-height:1.42; max-width:30ch; }
.sk-detail{ margin:0; justify-self:end; width:min(100%,230px); }
.sk-detail__frame{ position:relative; aspect-ratio:566/310; overflow:hidden; outline:1px solid var(--sk-line2); outline-offset:5px; }
.sk-detail__frame img{ width:100%; height:100%; object-fit:cover; transform:scale(1.06); }
.sk-detail figcaption{ display:flex; justify-content:space-between; margin-top:12px; font-family:var(--f-m); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); }

.sk-hero__data{
  display:flex; flex-wrap:wrap; gap:10px 34px; margin:clamp(22px,3vw,34px) 0 0; padding-top:14px; border-top:1px solid var(--sk-line);
  font-family:var(--f-m); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase;
}
.sk-hero__data div{ display:flex; gap:10px; }
.sk-hero__data dt{ color:var(--sk-dim); }
.sk-hero__data dd{ margin:0; }
.sk-docnav{ display:flex; flex-wrap:wrap; gap:8px 26px; margin-top:12px; font-family:var(--f-m); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; }
.sk-docnav a{ color:var(--sk-dim); text-decoration:none; display:inline-flex; gap:8px; }
.sk-docnav a b{ color:var(--sk-red); }
.sk-docnav a:hover{ color:var(--sk-fg); }

/* =====================================================================
   02 · ANTECEDENTES
   ===================================================================== */
.sk-statement{
  font-family:var(--f-d); font-weight:800; font-size:clamp(2rem,5.4vw,5.1rem); line-height:1.02; letter-spacing:-.028em;
  max-width:17ch; margin:0; text-wrap:balance;
}
.sk-statement--quiet{ color:var(--sk-fg); margin-top:clamp(48px,7vw,96px); }
.sk-strike{ list-style:none; margin:clamp(48px,7vw,96px) 0 0; padding:0; border-top:1px solid var(--sk-line); }
.sk-strike li{
  display:grid; grid-template-columns:4ch minmax(0,1fr) auto; align-items:baseline; gap:12px 24px;
  padding:clamp(14px,2vw,22px) 0; border-bottom:1px solid var(--sk-line);
}
.sk-strike__n{ font-family:var(--f-m); font-size:.72rem; color:var(--sk-dim); }
.sk-strike__t{
  position:relative; justify-self:start; font-family:var(--f-d); font-weight:700; font-size:clamp(1.35rem,3.4vw,3rem); letter-spacing:-.02em; line-height:1.1;
  transition:color 1s .5s var(--ease);
}
.sk-strike__t::after{
  content:""; position:absolute; left:-.06em; right:-.06em; top:55%; height:.085em; background:var(--sk-red);
  transform:scaleX(0); transform-origin:left center; transition:transform .9s .3s var(--ease);
}
.sk-strike li.in .sk-strike__t{ color:var(--sk-dim); }
.sk-strike li.in .sk-strike__t::after{ transform:scaleX(1); }
.sk-strike__m{ font-family:var(--f-m); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--sk-dim); text-align:right; }

.sk-route{ margin:clamp(56px,8vw,110px) 0 0; padding:clamp(18px,3vw,36px); border:1px solid var(--sk-line); }
.sk-route svg{ display:block; width:100%; height:auto; overflow:visible; }
.sk-route__v{ display:none !important; }
.sk-route .r-title{ font-family:var(--f-m); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; fill:var(--sk-fg); }
.sk-route .r-sub{ font-family:var(--f-m); font-size:12px; letter-spacing:.04em; fill:var(--sk-dim); }
.sk-route .r-lab{ font-family:var(--f-m); font-size:12.5px; letter-spacing:.02em; fill:var(--sk-dim); }
.sk-route .r-end{ font-family:var(--f-m); font-size:12.5px; font-weight:700; fill:var(--sk-fg); }
.sk-route .r-ghost{ fill:none; stroke:var(--sk-line); stroke-width:1.5; }
.sk-route .r-a{ fill:none; stroke:var(--sk-fg); stroke-width:2; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.1s .2s var(--ease); }
.sk-route .r-b{ fill:none; stroke:var(--sk-red); stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 3.8s .9s cubic-bezier(.45,0,.3,1); }
.sk-route .r-node{ fill:var(--sk-bg); stroke:var(--sk-fg); stroke-width:2; }
.sk-route .r-node--red{ stroke:var(--sk-red); }
.sk-route .r-pt{ opacity:0; transition:opacity .5s var(--d,1s); }
.sk-route.in .r-a, .sk-route.in .r-b{ stroke-dashoffset:0; }
.sk-route.in .r-pt{ opacity:1; }
.sk-conclusion{
  font-family:var(--f-d); font-weight:700; font-size:clamp(1.4rem,3vw,2.6rem); line-height:1.15; letter-spacing:-.015em;
  max-width:24ch; margin:clamp(56px,8vw,110px) 0 0; text-wrap:balance;
}
.sk-conclusion::before{ content:""; display:block; width:28px; height:28px; margin-bottom:22px; background:var(--sk-red);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5v19M2.5 12h19M5.28 5.28l13.44 13.44M18.72 5.28 5.28 18.72' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5v19M2.5 12h19M5.28 5.28l13.44 13.44M18.72 5.28 5.28 18.72' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }

/* =====================================================================
   03 · PRODUCTO
   ===================================================================== */
.sk-product__head{ margin-bottom:clamp(40px,6vw,80px); }
.sk-kit{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:32px clamp(28px,5vw,72px); align-items:start; }
.sk-kit__fig{ position:relative; margin:0; }
.sk-kit__fig > img{ display:block; width:100%; height:auto; }
.sk-hot{
  position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%);
  width:32px; height:32px; padding:0; border:0; background:var(--sk-red); color:#131017; cursor:pointer;
  font-family:var(--f-m); font-size:.78rem; font-weight:700; display:grid; place-items:center;
  box-shadow:0 0 0 0 rgba(255,40,0,.55); transition:transform .2s var(--ease), box-shadow .3s, background .2s;
}
.sk-hot::before{ content:""; position:absolute; inset:-7px; border:1px solid rgba(255,255,255,.75); opacity:0; transition:opacity .2s, inset .25s var(--ease); }
.sk-hot.is-on{ background:#f3f8ff; transform:translate(-50%,-50%) scale(1.08); }
.sk-hot.is-on::before{ opacity:1; inset:-9px; }
.sk-kit__fig:not(.is-touched) .sk-hot{ animation:skPing 2.6s infinite; }
.sk-kit__fig:not(.is-touched) .sk-hot:nth-of-type(2){ animation-delay:.3s; } .sk-kit__fig:not(.is-touched) .sk-hot:nth-of-type(3){ animation-delay:.6s; }
.sk-kit__fig:not(.is-touched) .sk-hot:nth-of-type(4){ animation-delay:.9s; } .sk-kit__fig:not(.is-touched) .sk-hot:nth-of-type(5){ animation-delay:1.2s; } .sk-kit__fig:not(.is-touched) .sk-hot:nth-of-type(6){ animation-delay:1.5s; }
@keyframes skPing{ 0%{ box-shadow:0 0 0 0 rgba(255,40,0,.5); } 60%,100%{ box-shadow:0 0 0 14px rgba(255,40,0,0); } }

.sk-parts{ list-style:none; margin:0; padding:0; border-top:1px solid var(--sk-line2); counter-reset:none; }
.sk-parts li{ border-bottom:1px solid var(--sk-line); }
.sk-parts button{
  width:100%; display:grid; grid-template-columns:3.2ch minmax(0,1fr); gap:4px 16px; text-align:left;
  background:transparent; border:0; color:var(--sk-fg); padding:18px 12px 18px 0; cursor:pointer; transition:background .2s, padding .25s var(--ease);
}
.sk-parts__n{ grid-row:span 2; font-family:var(--f-m); font-size:.74rem; color:var(--sk-dim); padding-top:4px; }
.sk-parts__t{ font-family:var(--f-d); font-weight:700; font-size:clamp(1rem,1.5vw,1.25rem); letter-spacing:-.01em; }
.sk-parts__d{ font-size:.92rem; line-height:1.55; color:var(--sk-dim); }
.sk-parts li.is-on button{ background:rgba(255,40,0,.07); padding-left:12px; }
.sk-parts li.is-on .sk-parts__n{ color:var(--sk-red); }

.sk-tip{ display:none; }
.sk-guide{
  position:absolute; z-index:6; pointer-events:none; transform:translate(-50%,-100%);
  font-family:var(--f-m); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap;
  color:#f3f8ff; background:#0a0a0d; border:1px solid var(--sk-line2); padding:4px 8px; animation:skBob 1.6s ease-in-out infinite;
}
@keyframes skBob{ 50%{ transform:translate(-50%, calc(-100% - 6px)); } }

/* ---------- 3D: sistema de apertura ---------- */
.sk-x{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:32px clamp(28px,5vw,72px); align-items:center; margin-top:clamp(90px,11vw,160px); }
.sk-x__stage{
  position:relative; height:clamp(460px,50vw,640px); overflow:hidden; border:1px solid var(--sk-line);
  background:radial-gradient(ellipse 70% 60% at 50% 46%, #201c24 0%, #0d0b10 72%);
  cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none;
}
.sk-x__stage.is-drag{ cursor:grabbing; }
.sk-x__hint{ position:absolute; left:16px; bottom:14px; font-family:var(--f-m); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--sk-dim); }
.sk-x__ctrl{ display:flex; flex-direction:column; gap:18px; }
.sk-x__ctrl p{ color:var(--sk-dim); line-height:1.65; max-width:44ch; }
.sk-x__views{ display:flex; flex-wrap:wrap; gap:8px; }
.sk-range{ display:flex; justify-content:space-between; align-items:baseline; font-family:var(--f-m); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); margin-top:6px; }
.sk-range output{ color:var(--sk-fg); }
.sk input[type="range"]{ -webkit-appearance:none; appearance:none; width:100%; height:28px; background:transparent; cursor:pointer; margin:0; }
.sk input[type="range"]::-webkit-slider-runnable-track{ height:2px; background:var(--sk-line2); }
.sk input[type="range"]::-moz-range-track{ height:2px; background:var(--sk-line2); }
.sk input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; width:18px; height:18px; margin-top:-8px; background:var(--sk-red); border:0; }
.sk input[type="range"]::-moz-range-thumb{ width:18px; height:18px; background:var(--sk-red); border:0; border-radius:0; }
.sk-x__note{ font-family:var(--f-m); font-size:.66rem !important; letter-spacing:.06em; text-transform:uppercase; }

/* ---------- antes / después ---------- */
.sk-state{ margin-top:clamp(90px,11vw,160px); align-items:center; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.sk-state__copy{ display:flex; flex-direction:column; gap:18px; }
.sk-state__copy p:not(.sk-label){ color:var(--sk-dim); line-height:1.65; max-width:38ch; }
.sk-state__hint{ font-family:var(--f-m); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; }
.sk-cmp{ position:relative; margin:0; overflow:hidden; user-select:none; -webkit-user-select:none; max-width:620px; justify-self:end; width:100%; }
.sk-cmp img{ display:block; width:100%; height:auto; }
.sk-cmp__b{ position:absolute; inset:0; clip-path:inset(0 0 0 var(--p)); }
.sk-cmp__b img{ width:100%; height:100%; object-fit:cover; }
.sk-cmp__line{ position:absolute; top:0; bottom:0; left:var(--p); width:2px; margin-left:-1px; background:#f3f8ff; pointer-events:none; }
.sk-cmp__line span{ position:absolute; top:50%; left:50%; width:34px; height:34px; transform:translate(-50%,-50%); background:#f3f8ff; }
.sk-cmp__line span::before{ content:"‹ ›"; position:absolute; inset:0; display:grid; place-items:center; font-family:var(--f-m); font-size:.8rem; font-weight:700; color:#151217; }
.sk-cmp__lab{ position:absolute; bottom:12px; font-family:var(--f-m); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; background:#0a0a0d; color:#f3f8ff; padding:5px 8px; pointer-events:none; }
.sk-cmp__lab--a{ left:12px; } .sk-cmp__lab--b{ right:12px; }
.sk-cmp{ cursor:ew-resize; touch-action:pan-y; }
.sk-cmp:focus-within{ outline:2px solid var(--sk-red); outline-offset:4px; }
.sk-cmp__range{ position:absolute !important; width:1px !important; height:1px !important; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; opacity:0; margin:0; }

/* ---------- vistas con lupa ---------- */
.sk-views{ margin-top:clamp(90px,11vw,160px); }
.sk-views__head{ display:flex; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; padding-bottom:16px; margin-bottom:24px; border-bottom:1px solid var(--sk-line); }
.sk-views__hint{ font-family:var(--f-m); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sk-dim); }
.sk-views__grid{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(16px,2vw,28px); }
.sk-view{ grid-column:span 2; margin:0; }
.sk-view--wide{ grid-column:span 6; }
.sk-zoom{ position:relative; display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; overflow:hidden; }
.sk-zoom img{ display:block; width:100%; height:auto; transition:transform .6s var(--ease); }
.sk-zoom:hover img{ transform:scale(1.015); }
.sk-loupe{
  position:absolute; width:190px; height:190px; pointer-events:none; z-index:3; display:none;
  border:2px solid #f3f8ff; box-shadow:0 18px 40px rgba(0,0,0,.45); background-color:#111; background-repeat:no-repeat;
}
.sk-loupe::after{ content:"× 2,4"; position:absolute; right:0; bottom:0; background:#f3f8ff; color:#151217; font-family:var(--f-m); font-size:.6rem; font-weight:700; padding:2px 5px; }
.sk-loupe.is-on{ display:block; }

/* =====================================================================
   04 · FICHA TÉCNICA (papel)
   ===================================================================== */
.sk-doc{ border:1px solid var(--sk-line2); background:#f7fbff; }
.sk-doc__head{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.8fr); border-bottom:1px solid var(--sk-line2); }
.sk-doc__head > div{ padding:14px 18px; border-right:1px solid var(--sk-line); display:flex; flex-direction:column; gap:6px; min-width:0; }
.sk-doc__head > div:last-child{ border-right:0; }
.sk-doc__head span{ font-family:var(--f-m); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--sk-dim); }
.sk-doc__head b{ font-family:var(--f-b); font-weight:700; font-size:.92rem; line-height:1.3; }
.sk-doc__purpose{ position:relative; padding:clamp(28px,5vw,64px) clamp(170px,19vw,240px) clamp(28px,5vw,64px) clamp(20px,4vw,48px); border-bottom:1px solid var(--sk-line2); display:flex; flex-direction:column; gap:18px; }
.sk-doc__purpose p{ font-family:var(--f-d); font-weight:700; font-size:clamp(1.35rem,3.1vw,2.7rem); line-height:1.14; letter-spacing:-.018em; max-width:23ch; }
.sk-doc__cols{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.sk-doc__block{ padding:clamp(24px,4vw,48px) clamp(20px,4vw,48px); display:flex; flex-direction:column; gap:18px; min-width:0; }
.sk-doc__block + .sk-doc__block{ border-left:1px solid var(--sk-line2); }
.sk-doc__small{ font-size:.9rem; line-height:1.6; color:var(--sk-dim); max-width:52ch; }
.sk-doc__source{ font-family:var(--f-m); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); }
.sk-table{ width:100%; border-collapse:collapse; }
.sk-table th, .sk-table td{ text-align:left; vertical-align:top; padding:12px 0; border-bottom:1px solid var(--sk-line); }
.sk-table th{ width:44%; padding-right:18px; font-family:var(--f-m); font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sk-dim); line-height:1.5; }
.sk-table td{ font-weight:600; font-size:.95rem; line-height:1.45; }
.sk-table thead th{ color:var(--sk-fg); border-bottom:1px solid var(--sk-line2); }
.sk-proto th{ width:50%; }
.sk-proto tbody th{ color:var(--sk-fg); }
.sk-proto tbody th .sk-g{ vertical-align:middle; margin-right:12px; width:88px; }
.sk-g{ display:inline-flex; align-items:center; gap:4px; width:96px; flex:none; }
.sk-g i{ display:block; height:9px; background:var(--sk-red); }
.sk-g i.s{ width:9px; } .sk-g i.l{ width:26px; }
.sk-stamp{ position:absolute; right:clamp(16px,4vw,52px); top:50%; width:clamp(118px,13vw,160px); height:auto; color:#e02400; transform:translateY(-50%) rotate(-9deg); opacity:.88; mix-blend-mode:multiply; }
.sk-stamp text{ font-family:var(--f-m); }
.sk-stamp .st-big{ font-family:var(--f-d); font-weight:900; }
.sk-warn{ background:var(--sk-black); color:var(--sk-paper); padding:clamp(28px,5vw,64px) clamp(20px,4vw,48px); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:28px clamp(24px,4vw,56px); align-items:center; border-top:1px solid var(--sk-line2); }
.sk-warn__card{ position:relative; overflow:hidden; background:#f2f8ff; color:#151217; padding:clamp(26px,3.4vw,44px) clamp(24px,3.4vw,46px); }
.sk-warn__tri{ position:absolute; right:-6%; top:-10%; width:46%; color:var(--sk-pale); }
.sk-warn__t{ position:relative; font-family:var(--f-d); font-weight:900; font-size:clamp(1.2rem,2vw,1.7rem); text-transform:uppercase; color:var(--sk-red); margin-bottom:14px !important; }
.sk-warn__p{ position:relative; font-weight:500; font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.42; max-width:30ch; }
.sk-warn__tr{ display:flex; flex-direction:column; gap:10px; color:rgba(242,248,255,.72); line-height:1.6; }
.sk-warn__tr .sk-label{ color:rgba(242,248,255,.5); }

/* =====================================================================
   05 · USO (experiencia)
   ===================================================================== */
.sk-use__head{ margin-bottom:clamp(36px,5vw,64px); }
.sk-console{
  display:grid; grid-template-columns:minmax(270px,350px) minmax(0,1fr); grid-template-rows:auto auto 1fr;
  grid-template-areas:"steps stage" "instr stage" "ctl stage"; border:1px solid var(--sk-line2); background:#0c0a0f;
}
.sk-steps{ grid-area:steps; list-style:none; margin:0; padding:0; border-right:1px solid var(--sk-line2); }
.sk-steps li{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:baseline; gap:4px 12px; padding:13px 16px; border-bottom:1px solid var(--sk-line); font-family:var(--f-m); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--sk-dim); transition:background .3s, color .3s; }
.sk-steps__t{ color:var(--sk-fg); font-weight:700; letter-spacing:.04em; }
.sk-steps__st{ font-size:.6rem; }
.sk-steps li.is-now{ background:rgba(255,40,0,.09); }
.sk-steps li.is-now .sk-steps__st{ color:var(--sk-red); }
.sk-steps li.is-done .sk-steps__st{ color:var(--sk-fg); }
.sk-steps li.is-done .sk-steps__t{ color:var(--sk-dim); }
.sk-instr{ grid-area:instr; border-right:1px solid var(--sk-line2); padding:20px 18px 4px; display:flex; flex-direction:column; gap:16px; min-width:0; }
.sk-ctl{ grid-area:ctl; border-right:1px solid var(--sk-line2); padding:14px 18px 18px; display:flex; flex-direction:column; gap:14px; min-width:0; }
.sk-ctl__body{ display:flex; flex-direction:column; gap:14px; }
.sk-ctl__body:empty{ display:none; }
.sk-instr__body{ display:flex; flex-direction:column; gap:14px; }
.sk-instr__h{ font-family:var(--f-d); font-weight:700; font-size:1.15rem; letter-spacing:-.01em; }
.sk-instr__p{ font-size:.92rem; line-height:1.6; color:var(--sk-dim); }
.sk-instr__status{ min-height:3.2em; font-family:var(--f-m); font-size:.72rem; line-height:1.55; letter-spacing:.03em; color:var(--sk-fg); border-top:1px solid var(--sk-line); padding-top:12px; margin-top:auto !important; }
.sk-ctl .sk-btn{ min-height:46px; padding:11px 18px; }

.sk-hold{
  position:relative; overflow:hidden; width:100%; min-height:64px; padding:14px 18px; border:2px solid var(--sk-line2); background:transparent; color:var(--sk-fg); cursor:pointer;
  font-family:var(--f-m); font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; touch-action:none; user-select:none; -webkit-user-select:none;
}
.sk-hold__fill{ position:absolute; inset:0; transform-origin:left center; transform:scaleX(var(--f,0)); background:rgba(255,40,0,.3); pointer-events:none; }
.sk-hold span{ position:relative; }
.sk-hold.is-on{ border-color:var(--sk-red); }
.sk-timer{ position:relative; height:24px; }
.sk-timer__bar{ position:absolute; left:0; right:0; top:8px; height:6px; background:var(--sk-line); }
.sk-timer__bar i{ position:absolute; left:0; top:0; bottom:0; width:calc(var(--t,0) * 100%); background:var(--sk-fg); }
.sk-timer__tick{ position:absolute; top:3px; bottom:2px; left:40%; width:2px; background:var(--sk-red); }
.sk-timer__lab{ position:absolute; top:-12px; font-family:var(--f-m); font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); }
.sk-timer__lab--a{ left:0; } .sk-timer__lab--b{ left:calc(40% + 8px); }
.sk-opts{ border:0; margin:0; padding:0; display:flex; flex-direction:column; }
.sk-opts legend{ padding:0; margin-bottom:8px; }
.sk-opt{ display:grid; grid-template-columns:auto 84px minmax(0,1fr); align-items:center; gap:10px; padding:8px 4px; border-top:1px solid var(--sk-line); cursor:pointer; font-size:.86rem; line-height:1.35; }
.sk-opt:last-child{ border-bottom:1px solid var(--sk-line); }
.sk-opt input{ appearance:none; -webkit-appearance:none; width:14px; height:14px; border:1px solid var(--sk-line2); margin:0; display:grid; place-items:center; cursor:pointer; }
.sk-opt input:checked{ border-color:var(--sk-red); background:var(--sk-red); box-shadow:inset 0 0 0 3px #0c0a0f; }
.sk-opt:has(input:checked){ background:rgba(255,40,0,.08); }
.sk-opt .sk-g{ width:84px; }
.sk-opts.is-locked .sk-opt{ opacity:.45; pointer-events:none; }
.sk-opts.is-locked .sk-opt:has(input:checked){ opacity:1; }

.sk-stage{
  grid-area:stage; position:relative; isolation:isolate; overflow:hidden; min-height:620px;
  background:radial-gradient(ellipse 80% 70% at 55% 30%, #18151c 0%, #0b0a0e 70%);
  touch-action:pan-y; user-select:none; -webkit-user-select:none;
}
.sk-stage__grid{ position:absolute; inset:0; background-image:linear-gradient(rgba(243,248,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(243,248,255,.045) 1px, transparent 1px); background-size:44px 44px; pointer-events:none; }
.sk-mbox{ position:absolute; left:10%; bottom:13%; width:23%; aspect-ratio:.576; }
.sk-mbox__tray{ position:absolute; top:0; left:5%; width:90%; height:82%; z-index:1; background:linear-gradient(#1c191f, #0e0c10); box-shadow:inset 0 10px 18px rgba(0,0,0,.85), inset 0 0 0 2px #0a090b; }
.sk-mbox__sleeve{ position:absolute; left:0; bottom:0; width:100%; height:76.9%; z-index:3; box-shadow:0 22px 40px rgba(0,0,0,.55); }
.sk-mbox__sleeve img{ display:block; width:100%; height:100%; object-fit:cover; }
.sk-matches{ position:absolute; inset:0; pointer-events:none; }
.sk-m{
  position:absolute; left:0; top:0; width:var(--mw,10px); height:var(--ml,160px); transform-origin:50% var(--hr,7px);
  pointer-events:auto; touch-action:none; cursor:grab; z-index:2;
}
.sk-m::before{ content:""; position:absolute; left:0; right:0; top:var(--hr,7px); bottom:0; background:linear-gradient(90deg, #060507, #2e2a33 46%, #09080b); border-radius:1px 1px 2px 2px; }
.sk-m::after{
  content:""; position:absolute; left:-30%; width:160%; top:-2px; height:calc(var(--hr,7px) * 2.7);
  border-radius:50% 50% 42% 42% / 56% 56% 44% 44%;
  background:radial-gradient(circle at 36% 30%, #ff8266 0, #e8281c 46%, #9a120a 100%);
  transition:background 1.2s;
}
.sk-m.is-held{ z-index:5; filter:drop-shadow(6px 14px 10px rgba(0,0,0,.5)); }
.sk-m.is-drag{ cursor:grabbing; }
.sk-m.is-burnt::after{ background:radial-gradient(circle at 40% 34%, #4a4446 0, #1d1a1d 55%, #0b0a0c 100%); }
.sk-m.is-off{ pointer-events:none; }
.sk-striker{
  position:absolute; right:8%; bottom:17%; width:30%; height:52px; z-index:2;
  background:radial-gradient(circle, rgba(32,6,3,.95) 1.2px, transparent 1.8px) 0 0 / 6px 6px, linear-gradient(#8c2b17, #6a1d10);
  box-shadow:inset 0 0 0 3px #151217, 0 14px 28px rgba(0,0,0,.45);
  opacity:0; transform:translateY(12px); transition:opacity .5s var(--ease), transform .5s var(--ease), box-shadow .2s;
}
.sk-striker span{ position:absolute; left:0; top:calc(100% + 10px); white-space:nowrap; font-family:var(--f-m); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--sk-dim); }
.sk-striker.is-show{ opacity:1; transform:none; }
.sk-striker.is-hot{ box-shadow:inset 0 0 0 3px #151217, 0 0 0 2px rgba(255,140,60,.6), 0 14px 28px rgba(0,0,0,.45); }
.sk-fx{ position:absolute; inset:0; width:100%; height:100%; z-index:6; pointer-events:none; }
.sk-meter{ position:absolute; right:4%; top:7%; z-index:7; display:grid; grid-template-columns:auto 130px auto; align-items:center; gap:10px; font-family:var(--f-m); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); opacity:0; transition:opacity .4s; }
.sk-meter.is-show{ opacity:1; }
.sk-meter__bar{ height:6px; background:var(--sk-line); position:relative; }
.sk-meter__bar i{ position:absolute; left:0; top:0; bottom:0; width:0; background:var(--sk-red); }
.sk-meter__val{ color:var(--sk-fg); min-width:4ch; text-align:right; }
.sk-seq{ position:absolute; left:50%; top:7%; transform:translateX(-50%); z-index:7; list-style:none; margin:0; padding:10px 14px; display:flex; align-items:center; gap:10px; background:rgba(10,10,13,.75); border:1px solid var(--sk-line); opacity:0; transition:opacity .4s; }
.sk-seq.is-show{ opacity:1; }
.sk-seq li{ height:12px; border:1px solid var(--sk-red); transition:background .2s; }
.sk-seq li.s{ width:12px; } .sk-seq li.l{ width:34px; }
.sk-seq li.is-done{ background:var(--sk-red); }
.sk-seq li.is-bad{ border-color:#f3f8ff; background:#f3f8ff; }
.sk-log{ position:absolute; left:4%; top:7%; z-index:8; display:flex; flex-direction:column; gap:7px; font-family:var(--f-m); font-size:.74rem; letter-spacing:.02em; max-width:min(92%,520px); pointer-events:none; }
.sk-log p{ display:flex; gap:12px; opacity:0; transform:translateY(6px); animation:skLog .5s var(--ease) forwards; }
.sk-log p span{ color:var(--sk-dim); }
.sk-log p.is-final{ color:var(--sk-red); font-weight:700; }
@keyframes skLog{ to{ opacity:1; transform:none; } }
.sk-resol{ position:absolute; inset:0; z-index:9; display:grid; place-items:center; padding:18px; overflow:auto; background:rgba(10,10,13,.62); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.sk-resol[hidden]{ display:none; }
.sk-resol__doc{
  position:relative; width:min(100%,470px); background:#f2f8ff; color:#151217; padding:clamp(22px,3vw,34px);
  box-shadow:0 30px 70px rgba(0,0,0,.55); animation:skDoc .7s var(--ease) both; display:flex; flex-direction:column; gap:14px;
}
@keyframes skDoc{ from{ opacity:0; transform:translateY(28px) rotate(-1deg); } to{ opacity:1; transform:none; } }
.sk-resol__ref{ display:flex; justify-content:space-between; font-family:var(--f-m); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:#5c5862; border-bottom:1px solid rgba(21,18,23,.2); padding-bottom:10px; }
.sk-resol__ref b{ color:#151217; }
.sk-resol__t{ font-family:var(--f-d); font-weight:800; font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.15; letter-spacing:-.015em; margin:0; max-width:20ch; }
.sk-resol__p{ font-weight:600; line-height:1.5; }
.sk-resol__msg{ font-family:var(--f-m); font-size:.7rem; letter-spacing:.04em; color:#5c5862; line-height:1.55; }
.sk-resol__actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; position:relative; z-index:1; }
.sk-resol__actions .sk-btn--solid:hover{ background:#151217; border-color:#151217; color:#f2f8ff; }
.sk-resol .sk-stamp{ top:auto; bottom:-22px; right:-18px; width:118px; transform:rotate(-11deg); }
.sk-stage__bar{ position:absolute; left:0; right:0; bottom:0; z-index:7; display:flex; justify-content:space-between; gap:8px 18px; flex-wrap:wrap; padding:10px 16px; border-top:1px solid var(--sk-line); background:rgba(10,10,13,.6); font-family:var(--f-m); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); pointer-events:none; }
.sk-stage__bar b{ color:var(--sk-fg); font-weight:700; }

/* =====================================================================
   06 · SOLICITUD (papel)
   ===================================================================== */
.sk-order__grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px clamp(28px,5vw,80px); align-items:start; }
.sk-order__fig{ margin:0; position:sticky; top:calc(var(--bar-top-h,64px) + 20px); }
.sk-order__fig img{ display:block; width:100%; height:auto; }
.sk-order__info{ display:flex; flex-direction:column; gap:22px; }
.sk-price{ display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.sk-price b{ font-family:var(--f-d); font-weight:900; font-size:clamp(3.4rem,8vw,6.6rem); line-height:.9; letter-spacing:-.04em; }
.sk-price span{ font-family:var(--f-m); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); }
.sk-order__data{ margin:0; border-top:1px solid var(--sk-line2); }
.sk-order__data div{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:16px; padding:11px 0; border-bottom:1px solid var(--sk-line); }
.sk-order__data dt{ font-family:var(--f-m); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--sk-dim); }
.sk-order__data dd{ margin:0; font-weight:600; }
.sk-order__copy{ font-size:1.05rem; line-height:1.65; max-width:48ch; }
.sk-form{ display:flex; flex-direction:column; gap:14px; margin-top:8px; padding:clamp(20px,3vw,32px); border:1px solid var(--sk-line2); background:#f7fbff; }
.sk-form__head{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-family:var(--f-m); font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding-bottom:12px; border-bottom:1px solid var(--sk-line2); }
.sk-field{ display:flex; flex-direction:column; gap:6px; }
.sk-field label{ display:flex; justify-content:space-between; font-family:var(--f-m); font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); }
.sk-field label span{ font-weight:400; }
.sk-field input, .sk-field select, .sk-field textarea{
  width:100%; font:inherit; font-size:1rem; color:#151217; background:#fff; border:1px solid var(--sk-line2); border-radius:0; padding:12px 12px; min-height:48px;
}
.sk-field textarea{ resize:vertical; min-height:88px; }
.sk-field select{ appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg, transparent 50%, #151217 50%), linear-gradient(135deg, #151217 50%, transparent 50%); background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat; padding-right:40px; }
.sk-field input:focus, .sk-field select:focus, .sk-field textarea:focus{ outline:2px solid #d42200; outline-offset:1px; }
.sk-field.is-err input, .sk-check.is-err span{ border-color:#d42200; color:#d42200; }
.sk-check{ display:flex; gap:12px; align-items:flex-start; font-size:.92rem; line-height:1.5; cursor:pointer; }
.sk-check input{ appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin:1px 0 0; border:1px solid var(--sk-line2); background:#fff; display:grid; place-items:center; cursor:pointer; }
.sk-check input:checked{ background:#151217; border-color:#151217; box-shadow:inset 0 0 0 4px #fff; }
.sk-check.is-err input{ border-color:#d42200; }
.sk-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.sk-form__send{ align-self:flex-start; margin-top:4px; }
.sk-form__fine{ font-family:var(--f-m); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sk-dim); }
.sk-form__status{ font-size:.92rem; line-height:1.55; min-height:1.5em; }
.sk-form__status.is-ok{ color:#151217; font-weight:600; }
.sk-form__status.is-bad{ color:#b81d00; }
.sk-form__status a{ color:inherit; text-decoration:underline; }

/* =====================================================================
   07 · DOCUMENTACIÓN
   ===================================================================== */
.sk-docs .sk-split{ margin-bottom:clamp(48px,7vw,96px); }
.sk-annex{ display:grid; grid-template-columns:110px minmax(0,1fr); gap:20px clamp(20px,3vw,40px); padding:clamp(32px,4vw,56px) 0; border-top:1px solid var(--sk-line2); }
.sk-annex__n{ font-family:var(--f-m); font-size:.9rem; font-weight:700; color:var(--sk-red); }
.sk-annex__body{ display:flex; flex-direction:column; gap:24px; min-width:0; }
.sk-annex__cols{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px clamp(24px,4vw,56px); align-items:start; }
.sk-annex__note{ font-size:.92rem; line-height:1.65; color:var(--sk-dim); max-width:56ch; }
.sk-wordmark{ display:flex; align-items:flex-end; flex-wrap:wrap; font-family:var(--f-d); font-weight:900; font-size:clamp(1.3rem,4.4vw,4rem); line-height:1; letter-spacing:-.01em; padding:clamp(28px,5vw,64px) 0; border-block:1px solid var(--sk-line); }
.sk-wordmark span{ display:inline-block; width:.62em; }
.sk-wordmark .ast{ width:.3em; height:.3em; color:var(--sk-red); margin-left:.06em; margin-bottom:.02em; }
.sk-tree{ margin:0; border-top:1px solid var(--sk-line); }
.sk-tree div{ display:grid; grid-template-columns:9ch minmax(0,1fr); gap:14px; padding:11px 0; border-bottom:1px solid var(--sk-line); }
.sk-tree dt{ font-family:var(--f-m); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sk-dim); padding-top:2px; }
.sk-tree dd{ margin:0; font-weight:600; line-height:1.45; }
.sk-type{ display:flex; flex-direction:column; }
.sk-type__row{ display:flex; flex-direction:column; gap:8px; padding:16px 0; border-bottom:1px solid var(--sk-line); }
.sk-type__row:first-child{ border-top:1px solid var(--sk-line); }
.sk-type__a{ font-family:var(--f-d); font-weight:900; font-size:clamp(1.3rem,2.6vw,2.1rem); line-height:1.05; }
.sk-type__b{ font-family:var(--f-b); font-weight:500; font-size:1.02rem; line-height:1.5; max-width:40ch; }
.sk-type__c{ font-family:var(--f-m); font-size:.9rem; letter-spacing:.06em; }
.sk-swatches{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.sk-swatches li{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.sk-swatches i{ display:block; aspect-ratio:1/1.5; background:var(--c); outline:1px solid var(--sk-line); outline-offset:-1px; }
.sk-swatches b{ font-size:.82rem; line-height:1.3; }
.sk-swatches span{ font-family:var(--f-m); font-size:.68rem; color:var(--sk-dim); }
.sk-pattern{ margin:0; }
.sk-plates{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,1.6vw,22px); }
.sk-plates figure, .sk-trifold figure, .sk-devcards figure{ margin:0; display:flex; flex-direction:column; gap:10px; }
.sk-plates figcaption, .sk-trifold figcaption, .sk-devcards figcaption{ font-family:var(--f-m); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sk-dim); }
.sk-plates figcaption b{ color:var(--sk-fg); margin-right:6px; }
.sk-plates .sk-zoom{ outline:1px solid var(--sk-line); }
.sk-trifold{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px; max-width:900px; }
.sk-devcards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(10px,1.4vw,18px); }
.sk-devcards img{ display:block; width:100%; height:auto; outline:1px solid var(--sk-line); }
.sk-devpage{ margin:12px 0 0; }
.sk-devpage img{ display:block; width:100%; height:auto; outline:1px solid var(--sk-line); }

/* =====================================================================
   08 · CIERRE
   ===================================================================== */
.sk-end{ padding:clamp(90px,12vw,190px) 0 clamp(56px,7vw,96px); border-top:1px solid var(--sk-line2); }
.sk-end__title{ font-family:var(--f-d); font-weight:900; font-size:clamp(3rem,10.8vw,9.6rem); line-height:.84; letter-spacing:-.045em; text-transform:uppercase; }
.sk-end__title sup{ font-family:var(--f-m); font-weight:700; font-size:.13em; letter-spacing:0; vertical-align:top; position:relative; top:.55em; margin-left:.12em; color:var(--sk-red); }
.sk-end__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px clamp(28px,5vw,80px); margin-top:clamp(28px,4vw,48px); padding-top:18px; border-top:1px solid var(--sk-line); }
.sk-end__meta{ font-family:var(--f-m); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; line-height:1.7; }
.sk-end__line{ font-family:var(--f-d); font-weight:700; font-size:clamp(1.3rem,2.6vw,2.2rem); line-height:1.15; letter-spacing:-.015em; max-width:20ch; }
.sk-classified{ margin-top:clamp(56px,8vw,110px); max-width:620px; background:#f2f8ff; color:#151217; padding:clamp(22px,3vw,34px); }
.sk-classified__head{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid rgba(21,18,23,.25); font-family:var(--f-m); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.sk-classified__head b{ border:2px solid #d42200; color:#d42200; padding:4px 10px; font-family:var(--f-d); font-weight:900; letter-spacing:.06em; transform:rotate(-3deg); }
.sk-classified dl{ margin:6px 0 0; }
.sk-classified dl div{ display:grid; grid-template-columns:15ch minmax(0,1fr); gap:12px; padding:11px 0; border-bottom:1px solid rgba(21,18,23,.12); align-items:center; }
.sk-classified dt{ font-family:var(--f-m); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:#5c5862; }
.sk-classified dd{ margin:0; font-weight:600; }
.sk-redact{ display:inline-block; width:var(--w); max-width:100%; height:1.05em; background:#151217; vertical-align:middle; }
.sk-end__ctas{ margin-top:clamp(40px,6vw,72px); }
.sk-endnote{ display:flex; justify-content:space-between; gap:10px 24px; flex-wrap:wrap; margin-top:clamp(56px,8vw,110px); padding-top:16px; border-top:1px solid var(--sk-line); font-family:var(--f-m); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); }
.sk-endnote a{ color:var(--sk-fg); text-decoration:none; border-bottom:2px solid var(--sk-red); padding-bottom:2px; }
.sk-endnote a:hover{ color:var(--sk-red); }

/* ---------- visor ---------- */
.sk-viewer{ width:min(96vw,1200px); max-width:none; max-height:94vh; padding:0; border:1px solid rgba(243,248,255,.3); background:#0a0a0d; color:#f3f8ff; }
.sk-viewer::backdrop{ background:rgba(5,5,7,.86); }
.sk-viewer__top{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 14px 12px 18px; border-bottom:1px solid rgba(243,248,255,.14); }
.sk-viewer__top p{ font-family:'Space Mono',monospace; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:#9b98a3; margin:0; }
.sk-viewer__close{ width:42px; height:42px; border:2px solid rgba(243,248,255,.34); background:transparent; color:#f3f8ff; font-size:1.3rem; cursor:pointer; flex:none; }
.sk-viewer__close:hover{ background:#ff2800; border-color:#ff2800; color:#131017; }
.sk-viewer__body{ display:grid; place-items:center; padding:14px; }
.sk-viewer__body img{ display:block; max-width:100%; max-height:calc(94vh - 110px); width:auto; height:auto; }

/* ---------- revelado al hacer scroll ---------- */
html.sk-js .rv{ opacity:0; transform:translateY(22px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
html.sk-js .rv.in{ opacity:1; transform:none; }
html.sk-js .rv-clip{ clip-path:none; }
html.sk-js .rv-clip.in{ clip-path:none; }
html.sk-js .rv-strike{ opacity:1; transform:none; }
html.sk-js .rv-draw{ opacity:1; transform:none; }

/* cursor nativo en las zonas táctiles */
html.has-cursor [data-native-cursor]{ cursor:grab; }
html.has-cursor [data-native-cursor] a, html.has-cursor [data-native-cursor] button{ cursor:pointer; }
html.has-cursor .sk-m{ cursor:grab; }
html.has-cursor .sk-m.is-drag, html.has-cursor .sk-x__stage.is-drag{ cursor:grabbing; }
html.has-cursor .sk-stage{ cursor:default; }
html.has-cursor .sk-zoom{ cursor:none; }
html.has-cursor .sk-cmp{ cursor:ew-resize; }
.cursor-dot.is-away{ opacity:0; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1080px){
  .sk-doc__head{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sk-doc__head > div{ border-bottom:1px solid var(--sk-line); }
  .sk-doc__issuer{ grid-column:1 / -1; }
}
@media (max-width:900px){
  .sk-hero__foot{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .sk-hero__sub{ grid-column:1 / -1; }
  .sk-split, .sk-kit, .sk-x, .sk-state, .sk-order__grid, .sk-annex__cols, .sk-end__grid, .sk-warn, .sk-doc__cols{ grid-template-columns:minmax(0,1fr); }
  .sk-doc__block + .sk-doc__block{ border-left:0; border-top:1px solid var(--sk-line2); }
  .sk-state__copy{ order:0; }
  .sk-tip{ display:block; position:absolute; left:10px; right:10px; bottom:46px; margin:0; padding:12px 14px; background:rgba(10,10,13,.9); color:#f3f8ff; font-size:.86rem; line-height:1.5; opacity:0; transform:translateY(8px); transition:opacity .3s, transform .3s var(--ease); pointer-events:none; }
  .sk-tip b{ display:block; font-family:var(--f-m); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-red); margin-bottom:4px; }
  .sk-tip.is-on{ opacity:1; transform:none; }
  .sk-cmp{ justify-self:stretch; max-width:none; }
  .sk-views__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .sk-view, .sk-view--wide{ grid-column:span 1; }
  .sk-view--wide{ grid-column:1 / -1; }
  .sk-order__fig{ position:relative; top:auto; max-width:520px; }
  .sk-stamp{ top:auto; bottom:clamp(14px,3vw,24px); transform:rotate(-9deg); }
  .sk-doc__purpose{ padding:clamp(28px,5vw,64px) clamp(20px,4vw,48px) clamp(120px,24vw,170px); }
  .sk-console{ grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto auto; grid-template-areas:"steps" "instr" "stage" "ctl"; }
  .sk-steps{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-right:0; border-bottom:1px solid var(--sk-line2); }
  .sk-steps li{ grid-template-columns:1fr; padding:10px 8px 9px; border-bottom:0; border-right:1px solid var(--sk-line); box-shadow:inset 0 3px 0 transparent; }
  .sk-steps li:last-child{ border-right:0; }
  .sk-steps__t, .sk-steps__st{ display:none; }
  .sk-steps li.is-now{ box-shadow:inset 0 3px 0 var(--sk-red); color:var(--sk-fg); }
  .sk-steps li.is-done{ box-shadow:inset 0 3px 0 var(--sk-fg); }
  .sk-instr{ border-right:0; padding:16px 16px 18px; }
  .sk-ctl{ border-right:0; border-top:1px solid var(--sk-line2); padding:16px; }
  .sk-stage{ min-height:0; aspect-ratio:4 / 4.6; }
  .sk-mbox{ left:6%; width:34%; bottom:13%; }
  .sk-striker{ right:6%; width:44%; bottom:16%; height:46px; }
  .sk-meter{ grid-template-columns:auto 90px auto; right:4%; top:5%; }
  .sk-meter__lab{ display:none; }
  .sk-seq{ top:5%; }
  .sk-log{ top:5%; font-size:.68rem; }
  .sk-stage__bar span:nth-child(2){ display:none; }
  .sk-resol{ padding:10px 10px 44px; }
  .sk-resol__doc{ padding:16px 16px 18px; gap:9px; }
  .sk-resol__t{ font-size:1.02rem; }
  .sk-resol__p{ font-size:.9rem; }
  .sk-resol__msg{ font-size:.64rem; }
  .sk-resol__actions .sk-btn{ min-height:42px; padding:9px 14px; font-size:.7rem; }
  .sk-resol .sk-stamp{ width:84px; bottom:-14px; right:-10px; }
}
@media (max-width:720px){
  .sk-route__h{ display:none !important; }
  .sk-route__v{ display:block !important; max-width:420px; margin:0 auto; }
  .sk-plates, .sk-devcards{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .sk-trifold{ grid-template-columns:repeat(3,minmax(200px,1fr)); overflow-x:auto; padding-bottom:10px; }
  .sk-swatches{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
  .sk-swatches b{ font-size:.7rem; }
  .sk-annex{ grid-template-columns:minmax(0,1fr); gap:10px; }
}
@media (max-width:600px){
  .sk-title{ font-size:clamp(2.6rem,19.5vw,8rem); flex-direction:column; line-height:.86; }
  .sk-hero__top .sk-eyebrow--right{ max-width:20ch; }
  .sk-hero__foot{ grid-template-columns:minmax(0,1fr); }
  .sk-detail{ display:none; }
  .sk-ctas .sk-btn{ flex:1 1 140px; }
  .sk-slit{ height:clamp(150px,28vh,240px); }
  .sk-strike li{ grid-template-columns:3ch minmax(0,1fr); }
  .sk-strike__m{ grid-column:2; text-align:left; }
  .sk-end__title{ font-size:clamp(2.6rem,17vw,8rem); }
  .sk-classified dl div{ grid-template-columns:minmax(0,1fr); gap:6px; }
  .sk-table th{ width:46%; }
  .sk-opt{ grid-template-columns:auto 70px minmax(0,1fr); font-size:.82rem; }
  .sk-opt .sk-g{ width:70px; }
  .sk-proto tbody th .sk-g{ display:flex; margin:0 0 8px; }
  .sk-g i.l{ width:20px; }
}
@media (prefers-reduced-motion:reduce){
  .sk-guide{ animation:none; }
  .sk-title > span, .sk-slit, .sk-resol__doc, .sk-log p{ animation:none !important; opacity:1; transform:none; clip-path:none; }
  html.sk-js .rv, html.sk-js .rv-clip{ opacity:1; transform:none; clip-path:none; transition:none; }
  .sk-route .r-a, .sk-route .r-b{ stroke-dashoffset:0; transition:none; }
  .sk-route .r-pt{ opacity:1; transition:none; }
  .sk-strike__t::after{ transform:scaleX(1); transition:none; }
  .sk-hot{ animation:none !important; }
}

/* Correcciones de interacción. Prevalecen incluso sobre la base del sitio con !important. */
html.sk-native, html.sk-native * { cursor:auto !important; }
html.sk-native .cursor-dot { display:none !important; }
html.sk-native a, html.sk-native button, html.sk-native label, html.sk-native input[type="range"], html.sk-native input[type="checkbox"], html.sk-native input[type="radio"] { cursor:pointer !important; }
html.sk-native input:not([type="range"]):not([type="checkbox"]):not([type="radio"]), html.sk-native textarea { cursor:text !important; }
html.sk-native .sk-x__stage, html.sk-native .sk-x__stage *, html.sk-native .sk-m { cursor:grab !important; }
html.sk-native .sk-x__stage.is-drag, html.sk-native .sk-x__stage.is-drag *, html.sk-native .sk-stage.is-drag, html.sk-native .sk-stage.is-drag *, html.sk-native .sk-m.is-drag { cursor:grabbing !important; }
html.sk-native .sk-cmp, html.sk-native .sk-cmp * { cursor:ew-resize !important; }
html.sk-native .sk-zoom, html.sk-native .sk-zoom * { cursor:zoom-in !important; }
.sk img { -webkit-user-drag:none; }
.sk-x__stage, .sk-cmp, .sk-stage { -webkit-user-select:none; user-select:none; }
.sk-x__stage { touch-action:none; min-height:520px; background:radial-gradient(ellipse at 45% 35%,#302c32,#111015 78%); }
.sk-x__stage img, .sk-cmp img, .sk-mbox img { pointer-events:none; }
.sk-x__stage:focus-visible { outline:2px solid var(--sk-red); outline-offset:5px; }
.sk-x__fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.sk-x__stage.is-3d .sk-x__fallback { visibility:hidden; }
.sk-webgl { position:absolute; inset:0; display:block; width:100%; height:100%; pointer-events:none; }
.sk-x__hint { z-index:2; right:16px; font-size:.6rem; }
.sk-stage .sk-webgl { z-index:1; }
.sk-stage.is-3d .sk-mbox { visibility:hidden; }
.sk-stage.is-3d .sk-m::before, .sk-stage.is-3d .sk-m::after { visibility:hidden; }
.sk-stage.is-3d .sk-matches { z-index:3; }
.sk-stage.is-3d .sk-m.is-held { filter:none; }
.sk-m { background:transparent; }
/* Invisible hit area remains aligned with the actual mesh. Native controls also work by keyboard. */
.sk-m::after { pointer-events:auto; }
.sk-stage.is-3d .sk-m::after { visibility:visible; opacity:0; top:-12px; height:36px; }
.sk-stage.is-3d .sk-striker { z-index:2; }
.sk-hero-film { position:relative; width:100%; height:clamp(250px,40vw,540px); background:#111015; overflow:hidden; }
.sk-hero-film__video { display:block; width:100%; height:100%; object-fit:cover; }
.sk-hero-film__pending { position:absolute; bottom:18px; left:var(--sk-gut); padding:8px 10px; background:#0a0a0ddd; color:var(--sk-fg); font-family:var(--f-m); font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; }
.sk-hero-film.is-ready .sk-hero-film__pending { display:none; }
.sk-hero-film__toggle { position:absolute; bottom:18px; right:var(--sk-gut); background:#0a0a0ddd; }
.sk-hero-film__toggle[hidden] { display:none; }
@media(max-width:600px) { .sk-x__stage { min-height:440px; } .sk-hero-film { height:280px; } }

/* Segunda revisión: revelado grande y ligado al scroll. */
.sk-declaration { padding-block:clamp(64px,10vw,140px) 32px; }
.sk-declaration .sk-conclusion { font-size:clamp(2.45rem,6.3vw,5.8rem); line-height:1.12; max-width:21ch; margin:0; font-weight:700; text-wrap:initial; }
.sk-declaration .sk-conclusion::before { width:40px; height:40px; margin-bottom:36px; }
.sk-conclusion__words > span { display:inline-block; opacity:calc(.12 + var(--reveal,1) * .88); filter:blur(calc((1 - var(--reveal,1)) * 12px)); transform:translateY(calc((1 - var(--reveal,1)) * 12px)); }
.sk-declaration__aside { max-width:43ch; margin:36px 0 0; color:var(--sk-dim); font-size:clamp(1rem,1.6vw,1.3rem); line-height:1.65; opacity:var(--aside,1); filter:blur(calc((1 - var(--aside,1)) * 5px)); }
html.sk-js .sk-kit__fig { opacity:1; transform:none; clip-path:none; }
/* La escena comparte ahora la profundidad de la cerilla y del rascador en WebGL. */
.sk-stage.is-3d .sk-striker { background:none; box-shadow:none; }
.sk-stage.is-3d .sk-striker.is-hot { box-shadow:none; }
.sk-stage.is-3d .sk-striker span { position:absolute; }
.sk-stage.is-3d .sk-webgl { z-index:2; }
.sk-stage.is-3d .sk-striker { z-index:1; }
@media(prefers-reduced-motion:reduce) {
  .sk-conclusion__words > span, .sk-declaration__aside { opacity:1; filter:none; transform:none; }
}

/* Leave room for the entire match below the friction surface. */
.sk-stage .sk-striker { bottom:calc(var(--ml, 170px) + 28px); }

@media(max-width:760px){ .sk-stage .sk-striker { right:10%; width:42%; } }

/* =====================================================================
   07 · MERCH (papel). Artículos por encargo.
   ===================================================================== */
.sk-merch__terms{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:clamp(36px,5vw,64px) 0 0; border-top:1px solid var(--sk-line2); border-bottom:1px solid var(--sk-line); }
.sk-merch__terms div{ padding:14px 16px 15px; border-left:1px solid var(--sk-line); }
.sk-merch__terms div:first-child{ border-left:0; padding-left:0; }
.sk-merch__terms dt{ font-family:var(--f-m); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sk-dim); }
.sk-merch__terms dd{ margin:5px 0 0; font-weight:600; line-height:1.35; }

.sk-merch__cat{ display:grid; gap:clamp(40px,5vw,64px); margin-top:clamp(56px,7vw,96px); }
.sk-merch__gt{ display:flex; justify-content:space-between; gap:12px; margin:0 0 12px; font-family:var(--f-m); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sk-dim); }
.sk-merch__gt span:first-child{ color:var(--sk-fg); }
.sk-mlist{ list-style:none; margin:0; padding:0; border-top:1px solid var(--sk-line2); }
.sk-mi{
  display:grid; grid-template-columns:56px 7ch minmax(0,1fr) 12ch auto; grid-template-areas:"ph ref main price btn";
  align-items:center; gap:12px clamp(14px,2.2vw,32px); padding:14px 0; border-bottom:1px solid var(--sk-line);
  transition:background .2s var(--ease), padding .2s var(--ease);
}
.sk-mi.is-on{ background:rgba(255,40,0,.06); padding-inline:12px; }
.sk-mi__ph, .sk-mi > img{ grid-area:ph; display:block; width:56px; aspect-ratio:4 / 5; height:auto; object-fit:cover; }
.sk-mi__ph{
  background:#151217 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5v19M2.5 12h19M5.28 5.28l13.44 13.44M18.72 5.28 5.28 18.72' fill='none' stroke='%23ff2800' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 38% no-repeat;
}
.sk-mi__ref{ grid-area:ref; font-family:var(--f-m); font-size:.7rem; letter-spacing:.06em; color:var(--sk-dim); }
.sk-mi__main{ grid-area:main; min-width:0; }
.sk-mi__t{ font-family:var(--f-d); font-weight:700; font-size:clamp(1rem,1.45vw,1.22rem); line-height:1.15; letter-spacing:-.01em; margin:0; }
.sk-mi__d{ margin:4px 0 0; font-size:.92rem; line-height:1.5; color:var(--sk-dim); }
.sk-mi__tag{ display:inline-block; margin:8px 0 0; padding:3px 7px; border:1px solid var(--sk-line2); font-family:var(--f-m); font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.sk-mi__price{ grid-area:price; margin:0; text-align:right; font-family:var(--f-m); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.sk-mi__btn{
  grid-area:btn; min-height:44px; min-width:13ch; padding:10px 16px; border:1px solid var(--sk-line2); background:transparent; color:var(--sk-fg);
  font-family:var(--f-m); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
}
.sk-mi__btn:hover{ background:#151217; border-color:#151217; color:#f2f8ff; }
.sk-mi__btn:focus-visible{ outline:2px solid #d42200; outline-offset:2px; }
.sk-mi.is-on .sk-mi__btn{ background:var(--sk-red); border-color:var(--sk-red); color:#131017; }

.sk-merch__order{ margin-top:clamp(72px,9vw,130px); }
.sk-merch__fig img{ background:#f2f8ff; }
.sk-merch__form{ margin-top:0; }
.sk-merch__row{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sk-field[hidden]{ display:none; }
.sk-field.is-err select{ border-color:#d42200; color:#d42200; }

@media (max-width:900px){
  .sk-merch__terms{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sk-merch__terms div:nth-child(3){ border-left:0; padding-left:0; }
  .sk-merch__terms div:nth-child(-n+2){ border-bottom:1px solid var(--sk-line); }
}
@media (max-width:720px){
  .sk-mi{ grid-template-columns:56px minmax(0,1fr) auto; grid-template-areas:"ph ref ref" "ph main main" "ph price btn"; align-items:start; gap:6px 14px; }
  .sk-mi__ph, .sk-mi > img{ align-self:start; }
  .sk-mi__price{ text-align:left; align-self:center; }
  .sk-mi__btn{ min-width:0; }
}
/* =====================================================================
   HERO A PANTALLA COMPLETA (sin título visible)
   El vídeo ocupa 100vw × 100vh y pasa por debajo de la barra superior.
   El encuadre 16:9 se ve siempre entero (lleva títulos y subtítulos);
   el sobrante se rellena con el mismo vídeo desenfocado.
   ===================================================================== */
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.sk-hero{ min-height:0; padding-top:0; margin-top:calc(-1 * var(--bar-top-h,64px)); justify-content:flex-start; }
.sk-hero-film{
  position:relative; width:100%; aspect-ratio:auto;
  height:100vh; height:100svh;
  background:#5f5d5c; overflow:hidden; isolation:isolate;
}
.sk-hero-film__bg, .sk-hero-film__video{
  position:absolute; inset:0; display:block; width:100%; height:100%;
  pointer-events:none; -webkit-user-select:none; user-select:none;
}
.sk-hero-film__bg{ object-fit:cover; filter:blur(28px) brightness(.82) saturate(1.05); transform:scale(1.18); }
.sk-hero-film__video{ object-fit:contain; }
.sk-hero-film video::-webkit-media-controls, .sk-hero-film video::-webkit-media-controls-enclosure,
.sk-hero-film video::-webkit-media-controls-panel, .sk-hero-film video::-webkit-media-controls-overlay-play-button,
.sk-hero-film video::-webkit-media-controls-start-playback-button{ display:none !important; -webkit-appearance:none; opacity:0; }
.sk-hero__top{ padding-top:clamp(18px,2.6vw,30px); }

/* Barra superior: degradado muy suave mientras está sobre el vídeo; el fondo oscuro vuelve en el resto de la página. */
html .bar-top{ background:none; }
/* Degradado suave y progresivo (curva con muchas paradas, sin corte), más alto que la barra para que se funda poco a poco. */
.bar-top::before, .bar-top::after{ content:""; position:absolute; left:0; right:0; top:0; height:170%; z-index:-1; pointer-events:none; transition:opacity .6s ease; }
.bar-top::before{ background:linear-gradient(to bottom,
  rgba(10,10,13,.82) 0%, rgba(10,10,13,.78) 12%, rgba(10,10,13,.70) 24%, rgba(10,10,13,.59) 36%,
  rgba(10,10,13,.46) 48%, rgba(10,10,13,.33) 60%, rgba(10,10,13,.21) 71%, rgba(10,10,13,.11) 82%,
  rgba(10,10,13,.04) 92%, rgba(10,10,13,0) 100%);
  /* lo que pasa por debajo se desenfoca y el desenfoque también se desvanece hacia abajo */
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 40%, rgba(0,0,0,.6) 65%, rgba(0,0,0,.2) 85%, transparent 100%);
          mask-image:linear-gradient(to bottom, #000 0%, #000 40%, rgba(0,0,0,.6) 65%, rgba(0,0,0,.2) 85%, transparent 100%); }
.bar-top::after{ background:linear-gradient(to bottom,
  rgba(10,10,13,.30) 0%, rgba(10,10,13,.26) 15%, rgba(10,10,13,.20) 32%, rgba(10,10,13,.13) 50%,
  rgba(10,10,13,.07) 68%, rgba(10,10,13,.025) 85%, rgba(10,10,13,0) 100%); opacity:0; }
html.sk-over-film .bar-top::before{ opacity:0; }
html.sk-over-film .bar-top::after{ opacity:1; }

/* 8.3 Ilustración: lámina cuadrada sobre papel. */
.sk-pattern--sq .sk-zoom{ display:block; width:min(100%,640px); padding:clamp(14px,2.6vw,34px); background:#f2f8ff; }
.sk-pattern--sq .sk-zoom img{ display:block; width:100%; height:auto; }
.sk-pattern--sq .sk-figcap{ max-width:640px; }

/* Pósters: descarga gratuita del diseño. */
.sk-merch__note{ margin:0 0 14px; max-width:62ch; font-size:.92rem; line-height:1.55; color:var(--sk-dim); }
.sk-mi__tag--free{ border-color:#d42200; color:#b81d00; }
.sk-mi__acts{ grid-area:btn; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.sk-mi__dl{
  display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  min-height:44px; padding:7px 16px; border:1px solid var(--sk-red); background:var(--sk-red); color:#131017; text-decoration:none;
  font-family:var(--f-m); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; line-height:1.2;
  transition:background .15s, border-color .15s, color .15s;
}
.sk-mi__dl span{ font-size:.56rem; font-weight:400; letter-spacing:.06em; }
.sk-mi__dl:hover{ background:#151217; border-color:#151217; color:#f2f8ff; }
.sk-mi__dl:focus-visible{ outline:2px solid #d42200; outline-offset:2px; }
.sk-mi--dl .sk-mi__price{ font-size:.66rem; }
@media (max-width:720px){
  .sk-mi--dl{ grid-template-areas:"ph ref ref" "ph main main" "ph price price" "ph btn btn"; }
  .sk-mi--dl .sk-mi__acts{ justify-content:flex-start; }
}
/* Columnas alineadas en todas las filas (la última admite dos botones). */
@media (min-width:721px){
  .sk-mi{ grid-template-columns:56px 7ch minmax(0,1fr) 12ch 17.5rem; }
  .sk-mi > .sk-mi__btn{ justify-self:end; }
}
/* Enlace "Saltar al contenido": oculto hasta que recibe foco (antes ocupaba una línea encima de la página). */
.skip-link{ position:absolute; left:12px; top:-100px; z-index:100; padding:10px 14px; background:#ff2800; color:#131017; font-family:'Space Mono',monospace; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; text-decoration:none; }
.skip-link:focus{ top:12px; }
/* Aviso de uso de IA, al final del documento. */
.sk-ainote{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin:14px 0 0; font-family:var(--f-m); font-size:.62rem; line-height:1.6; letter-spacing:.06em; color:var(--sk-dim); }
.sk-ainote b{ padding:2px 6px; border:1px solid var(--sk-line2); font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sk-fg); }

/* Vídeo del hero a todo el ancho, con su proporción natural 16:9: se ve entero, sin recortes ni relleno. */
.sk-hero-film{ height:auto; aspect-ratio:16 / 9; background:#5f5d5c; }
.sk-hero-film__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
/* En pantallas estrechas el título del vídeo quedaría tapado por la barra: el vídeo empieza debajo de ella. */
@media (max-width:1080px){ .sk-hero{ margin-top:0; } }
/* Pantallas verticales (móvil): vídeo 9:16, a todo el ancho y sin pasar de la altura de la pantalla. */
@media (orientation: portrait){
  .sk-hero{ margin-top:0; }
  .sk-hero-film{ aspect-ratio:9 / 16; width:min(100%, calc((100svh - var(--bar-top-h,64px)) * 9 / 16)); margin-inline:auto; }
}

/* Merch: galería de la línea y fotos de producto. */
.sk-merch__gallery{ display:grid; grid-template-columns:minmax(0,1.333fr) minmax(0,.839fr); gap:clamp(14px,2vw,24px); margin-top:clamp(40px,5vw,64px); align-items:start; }
.sk-merch__shot{ margin:0; }
.sk-merch__shot .sk-zoom img{ display:block; width:100%; height:auto; }
.sk-mi{ grid-template-columns:72px 7ch minmax(0,1fr) 12ch auto; }
.sk-mi__ph, .sk-mi > img{ width:72px; aspect-ratio:1 / 1; }
.sk-mi .sk-mi__img{ grid-area:ph; display:block; width:72px; aspect-ratio:1 / 1; padding:0; border:0; background:#151217; overflow:hidden; }
.sk-mi .sk-mi__img img{ width:100%; height:100%; object-fit:cover; }
.sk-mi .sk-mi__img:focus-visible{ outline:2px solid #d42200; outline-offset:2px; }
@media (min-width:721px){ .sk-mi{ grid-template-columns:72px 7ch minmax(0,1fr) 12ch 17.5rem; } }
@media (max-width:720px){
  .sk-merch__gallery{ grid-template-columns:minmax(0,1fr); }
  .sk-mi{ grid-template-columns:64px minmax(0,1fr) auto; }
  .sk-mi__ph, .sk-mi .sk-mi__img{ width:64px; }
}

/* Merch: aviso de fotos provisionales hechas con IA. */
.sk-merch__ai{ display:flex; align-items:baseline; gap:8px 12px; flex-wrap:wrap; margin:clamp(28px,4vw,44px) 0 0; font-size:.92rem; line-height:1.5; color:var(--sk-dim); }
.sk-merch__ai b{ flex:none; padding:3px 8px; border:1px solid #d42200; color:#b81d00; font-family:var(--f-m); font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.sk-merch__ai + .sk-merch__gallery{ margin-top:16px; }
.sk-mi .sk-mi__img{ position:relative; }
.sk-mi .sk-mi__img::after{ content:"IA"; position:absolute; right:3px; bottom:3px; padding:1px 4px; background:rgba(10,10,13,.78); color:#f3f8ff; font-family:'Space Mono',monospace; font-size:.5rem; font-weight:700; letter-spacing:.08em; line-height:1.4; pointer-events:none; }

/* Barra sobre las secciones claras (papel): degradado claro muy suave y logo/índice en oscuro, sin franja negra. */
.bar-top{ transition:color .45s ease; }
.bar-top .brand-btn .on path{ transition:fill .45s ease; }
.bar-top .menu-trigger{ transition:background .15s, color .45s ease, border-color .45s ease; }
html.sk-over-paper .bar-top::before{ opacity:0; }
html.sk-over-paper .bar-top::after{ opacity:1; -webkit-backdrop-filter:none; backdrop-filter:none;
  background:linear-gradient(to bottom,
  rgba(242,248,255,.92) 0%, rgba(242,248,255,.86) 14%, rgba(242,248,255,.74) 30%, rgba(242,248,255,.56) 46%,
  rgba(242,248,255,.36) 62%, rgba(242,248,255,.18) 78%, rgba(242,248,255,.06) 90%, rgba(242,248,255,0) 100%); }
html.sk-over-paper .bar-top .brand-btn .on path{ fill:#151217; }
html.sk-over-paper .bar-top .menu-trigger{ color:#151217; border-color:rgba(21,18,23,.42); }
html.sk-over-paper .bar-top .menu-trigger:hover{ background:#151217; color:#f2f8ff; border-color:#151217; }
.sk-mi .sk-mi__img--real::after{ content:none; }

/* =====================================================================
   05 SOLICITUD y 06 MERCH en oscuro (ya no son hojas de papel).
   ===================================================================== */
.sk-order, .sk-merch{ background:#121015; color:var(--sk-fg); }
.sk-order .sk-form, .sk-merch .sk-form{ background:rgba(243,248,255,.035); border-color:var(--sk-line2); }
.sk-order .sk-field input, .sk-order .sk-field select, .sk-order .sk-field textarea,
.sk-merch .sk-field input, .sk-merch .sk-field select, .sk-merch .sk-field textarea{
  color:var(--sk-fg); background-color:#0a0a0d; border-color:var(--sk-line2); color-scheme:dark;
}
.sk-order .sk-field select, .sk-merch .sk-field select{
  background-image:linear-gradient(45deg, transparent 50%, #f3f8ff 50%), linear-gradient(135deg, #f3f8ff 50%, transparent 50%);
}
.sk-order .sk-field select option, .sk-merch .sk-field select option{ background:#121015; color:#f3f8ff; }
.sk-order .sk-field input:focus, .sk-order .sk-field select:focus, .sk-order .sk-field textarea:focus,
.sk-merch .sk-field input:focus, .sk-merch .sk-field select:focus, .sk-merch .sk-field textarea:focus{ outline-color:var(--sk-red); }
.sk-order .sk-field.is-err input, .sk-order .sk-check.is-err span, .sk-order .sk-field.is-err select,
.sk-merch .sk-field.is-err input, .sk-merch .sk-check.is-err span, .sk-merch .sk-field.is-err select{ border-color:#ff5a3c; color:#ff7a5f; }
.sk-order .sk-check input, .sk-merch .sk-check input{ background:#0a0a0d; border-color:var(--sk-line2); }
.sk-order .sk-check input:checked, .sk-merch .sk-check input:checked{ background:var(--sk-red); border-color:var(--sk-red); box-shadow:inset 0 0 0 4px #0a0a0d; }
.sk-order .sk-check.is-err input, .sk-merch .sk-check.is-err input{ border-color:#ff5a3c; }
.sk-order .sk-form__status.is-ok, .sk-merch .sk-form__status.is-ok{ color:var(--sk-fg); }
.sk-order .sk-form__status.is-bad, .sk-merch .sk-form__status.is-bad{ color:#ff7a5f; }
.sk-order .sk-btn--solid:hover, .sk-merch .sk-btn--solid:hover{ background:var(--sk-fg); border-color:var(--sk-fg); color:#131017; }
.sk-merch .sk-mi__btn:hover{ background:var(--sk-fg); border-color:var(--sk-fg); color:#131017; }
.sk-merch .sk-mi__btn:focus-visible, .sk-merch .sk-mi__dl:focus-visible, .sk-merch .sk-mi .sk-mi__img:focus-visible{ outline-color:var(--sk-red); }
.sk-merch .sk-mi.is-on{ background:rgba(255,40,0,.09); }
.sk-merch .sk-mi__tag--free{ border-color:var(--sk-red); color:#ff7a5f; }
.sk-merch .sk-mi__dl:hover{ background:var(--sk-fg); border-color:var(--sk-fg); color:#131017; }
.sk-merch .sk-merch__ai b{ border-color:var(--sk-red); color:#ff7a5f; }
.sk-merch .sk-mi .sk-mi__img{ background:#0a0a0d; outline:1px solid var(--sk-line); }
.sk-merch .sk-merch__fig img{ background:#121015; }
.sk-merch .sk-merch__shot .sk-zoom{ outline:1px solid var(--sk-line); }

/* Móvil: la frase grande del 02 nunca más ancha que la pantalla (antes empujaba la página y dejaba un hueco a la derecha). */
.sk-declaration .sk-conclusion{ font-size:min(clamp(2.45rem,6.3vw,5.8rem), 8.6vw); }
html, body{ overflow-x:clip; }
/* Sin palabras sueltas al final de párrafo. */
.sk p, .sk li, .sk dd, .sk figcaption, .sk .sk-lead{ text-wrap:pretty; }
/* Móvil: menos aire entre secciones (sobre todo entre 02 y 03). */
@media (max-width:720px){
  .sk-sec{ padding-block:60px; }
  .sk-declaration{ padding-bottom:0; }
  .sk-line{ margin-bottom:36px; }
}

/* =====================================================================
   MÓVIL · piezas interactivas del 03 visibles a la vez que sus controles
   ===================================================================== */
.sk-cmp.is-jump .sk-cmp__b{ transition:clip-path .35s var(--ease); }
.sk-cmp.is-jump .sk-cmp__line{ transition:left .35s var(--ease); }
.sk-cmp__line span{ border-radius:50%; width:44px; height:44px; box-shadow:0 2px 14px rgba(0,0,0,.35); }
@media (max-width:900px){
  /* Caja 3D: texto arriba, visor y justo debajo vistas + apertura */
  .sk-x{ row-gap:14px; }
  .sk-x__ctrl{ display:contents; }
  .sk-x__ctrl > .sk-label, .sk-x__ctrl > .sk-h3, .sk-x__ctrl > p:not(.sk-x__note){ order:0; }
  .sk-x__stage{ order:1; height:clamp(260px,46svh,420px) !important; min-height:0 !important; }
  .sk-x__views{ order:2; margin-top:4px; }
  .sk-x__ctrl > .sk-range{ order:3; margin-top:0; }
  .sk-x__ctrl > input[type="range"]{ order:4; }
  .sk-x__note{ order:5; }

  /* Caja con números: la imagen se queda fija arriba mientras se lee la lista */
  .sk-kit{ display:flex; flex-direction:column; gap:18px; }
  .sk-kit__fig{
    position:sticky; top:calc(var(--bar-top-h,64px) + 4px); z-index:4;
    width:min(100%, calc(40svh * 1122 / 1402)); margin-inline:auto;
    background:var(--sk-bg);
  }
  .sk-kit__fig::before{ content:""; position:absolute; z-index:-1; top:-6px; bottom:-12px; left:50%; width:100vw; transform:translateX(-50%); background:var(--sk-bg); pointer-events:none; }
  .sk-kit__fig .sk-figcap span:last-child{ display:none; }

  /* Desgaste: barra grande debajo de la imagen, además de poder arrastrar o tocar sobre la foto */
  .sk-cmp__range{
    position:static !important; width:100% !important; height:44px !important; clip:auto; clip-path:none; opacity:1;
    overflow:visible; margin:6px 0 0 !important;
  }
  .sk-state .sk-cmp__range::-webkit-slider-thumb{ width:30px; height:30px; margin-top:-14px; border-radius:50%; background:#f3f8ff; box-shadow:0 0 0 4px rgba(255,40,0,.9); }
  .sk-state .sk-cmp__range::-moz-range-thumb{ width:30px; height:30px; border-radius:50%; background:#f3f8ff; box-shadow:0 0 0 4px rgba(255,40,0,.9); }
  .sk-state .sk-cmp__range::-webkit-slider-runnable-track{ height:4px; background:linear-gradient(90deg, var(--sk-line2), var(--sk-red)); }
  .sk-state{ row-gap:16px; }
}

/* =====================================================================
   04 · USAR SMOKE KIT — protocolo y botón a la vista a la vez
   ===================================================================== */
/* PC: los pasos pasan a una barra horizontal arriba, así la columna izquierda cabe en pantalla */
.sk-console{ grid-template-rows:auto auto 1fr; grid-template-areas:"steps steps" "instr stage" "ctl stage"; }
.sk-steps{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-right:0; border-bottom:1px solid var(--sk-line2); }
.sk-steps li{ grid-template-columns:1fr; gap:2px; padding:11px 14px 10px; border-bottom:0; border-right:1px solid var(--sk-line); box-shadow:inset 0 3px 0 transparent; }
.sk-steps li:last-child{ border-right:0; }
.sk-steps li.is-now{ box-shadow:inset 0 3px 0 var(--sk-red); color:var(--sk-fg); }
.sk-steps li.is-done{ box-shadow:inset 0 3px 0 var(--sk-fg); }
.sk-instr{ padding-bottom:6px; }
.sk-instr__p--small{ font-size:.8rem; line-height:1.5; }
.sk-opt{ padding:7px 4px; }
@media (min-width:901px){ .sk-stage{ min-height:560px; } }

/* Móvil: el panel del botón se queda pegado abajo mientras se ve el protocolo o el área de emisión */
@media (max-width:900px){
  .sk-console{ display:flex; flex-direction:column; }
  .sk-steps{ order:1; } .sk-instr{ order:2; } .sk-stage{ order:3; } .sk-console > .sk-log{ order:4; } .sk-ctl{ order:5; }
  .sk-ctl{
    position:sticky; bottom:var(--bar-bottom-h,36px); z-index:6; background:#0c0a0f;
    border-top:1px solid var(--sk-line2); box-shadow:0 -14px 28px rgba(5,5,8,.75);
    padding:10px 14px 10px; gap:8px;
  }
  .sk-ctl__body{ gap:8px; }
  .sk-ctl .sk-hold{ min-height:54px; padding:10px 14px; }
  .sk-instr__status{ min-height:0; font-size:.66rem; padding-top:8px; }
  .sk-textbtn{ font-size:.6rem; }
  .sk-opt{ grid-template-columns:auto 70px minmax(0,1fr); padding:6px 2px; font-size:.82rem; }
  .sk-opt .sk-g{ width:70px; }
  /* registro de la espera debajo de la caja, sin taparla */
  .sk-console > .sk-log{
    position:static; max-width:none; padding:12px 16px; gap:6px; font-size:.68rem;
    border-top:1px solid var(--sk-line); background:#0c0a0f; pointer-events:auto;
  }
  .sk-console > .sk-log:empty{ display:none; }
}

/* =====================================================================
   06 · MERCH en móvil: primero imágenes, productos en tarjetas, menos texto
   ===================================================================== */
@media (max-width:720px){
  .sk-merch > .sk-wrap{ display:flex; flex-direction:column; }
  .sk-merch .sk-line{ order:0; }
  .sk-merch__head{ order:1; }
  .sk-merch__head .sk-lead{ display:none; }
  .sk-merch__gallery{ order:2; }
  .sk-merch__ai{ order:3; }
  .sk-merch__cat{ order:4; }
  .sk-merch__terms{ order:5; }
  .sk-merch__order{ order:6; }

  /* galería deslizable */
  .sk-merch__gallery{
    display:flex; gap:10px; margin:22px calc(-1 * var(--sk-gut)) 0; padding:0 var(--sk-gut);
    overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch;
  }
  .sk-merch__gallery::-webkit-scrollbar{ display:none; }
  .sk-merch__shot{ flex:0 0 86%; scroll-snap-align:start; }
  .sk-merch__shot .sk-zoom img{ height:min(62svh,440px); width:100%; object-fit:cover; }
  .sk-merch__shot .sk-figcap{ margin-top:8px; }
  .sk-merch__ai{ margin-top:14px; font-size:.78rem; line-height:1.45; }
  .sk-merch__ai + .sk-merch__gallery{ margin-top:22px; }

  /* catálogo en tarjetas de dos columnas */
  .sk-merch__cat{ margin-top:36px; gap:30px; }
  .sk-merch__note{ display:none; }
  .sk-mlist{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; border-top:0; }
  .sk-merch .sk-mi, .sk-merch .sk-mi--dl{ display:flex; flex-direction:column; align-items:stretch; gap:6px; padding:0; border:0; }
  .sk-merch .sk-mi.is-on{ padding:0; background:none; outline:2px solid var(--sk-red); outline-offset:4px; }
  .sk-merch .sk-mi .sk-mi__img{ width:100%; aspect-ratio:1 / 1; }
  .sk-mi__ref{ order:2; font-size:.6rem; margin-top:4px; }
  .sk-mi__main{ order:3; }
  .sk-mi__t{ font-size:.98rem; }
  .sk-mi__d{ display:none; }
  .sk-mi__tag{ margin-top:6px; font-size:.54rem; }
  .sk-mi__price{ order:4; text-align:left; font-size:.62rem; color:var(--sk-dim); }
  .sk-merch .sk-mi > .sk-mi__btn, .sk-mi__acts{ order:5; }
  .sk-merch .sk-mi > .sk-mi__btn{ width:100%; min-width:0; min-height:42px; }
  .sk-mi__acts{ display:flex; flex-direction:column; gap:6px; }
  .sk-mi__acts .sk-mi__btn, .sk-mi__dl{ width:100%; min-width:0; min-height:42px; }
  .sk-mi .sk-mi__img::after{ font-size:.56rem; }

  .sk-merch__terms{ margin-top:40px; }
}
