/* Landing pública de cada negocio (v0.24). Va con site.js. Sustituye por completo a landing.css.
   Color: todo sale del color de marca del negocio (--a) y de dos colores de compañía derivados (--b, --c).
   Tipografía: fuentes del sistema (la política de seguridad no admite fuentes externas).
   Movimiento: existe solo bajo .ld-moving, que el script pone cuando el negocio y el sistema lo permiten.
   En reposo todo es visible; ninguna información depende de una animación. */
.ld-root{--a:#6a4df4;--b:#19b38a;--c:#f0a23c;--on-a:#fff;--ink:#17151f;--paper:#fff;--muted:color-mix(in oklab,var(--ink) 62%,var(--paper));--soft:color-mix(in oklab,var(--a) 8%,#fff);--line:color-mix(in oklab,var(--ink) 14%,var(--paper));--deep:color-mix(in oklab,var(--a) 58%,#000);
  --sans:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;--serif:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;--cond:'Avenir Next Condensed','Roboto Condensed','Arial Narrow','Avenir Next',system-ui,sans-serif;
  --display:var(--sans);--e:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);--r:18px;--sy:0;--v:0;--px:0;--py:0;background:var(--paper);color:var(--ink)}
.ld{container-type:inline-size;font-family:var(--sans);font-size:17px;line-height:1.55;color:var(--ink);background:var(--paper);overflow:clip;--pad:clamp(18px,5cqi,76px)}
.ld *,.ld *::before,.ld *::after{box-sizing:border-box}
:where(.ld-root) p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
:where(.ld-root) h1,:where(.ld-root) h2,:where(.ld-root) h3,:where(.ld-root) h4{margin:0;font-family:var(--display);letter-spacing:0;color:inherit;text-transform:none}
:where(.ld-root) button{font-family:inherit;font-size:inherit;font-weight:inherit;min-height:0;padding:0;border:0;border-radius:0;background:none;color:inherit;cursor:pointer;box-shadow:none}
.ld-root button:hover{filter:none}
.ld-root button:disabled{opacity:.5;cursor:not-allowed}
.ld-root :focus-visible{outline:3px solid var(--a);outline-offset:3px}
.ld-root [hidden]{display:none!important}
.ld-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ld-root .preview-banner{position:sticky;top:0;z-index:60;margin:0;border-radius:0;font-weight:600}

/* Palabras con máscara: cada palabra sube desde detrás de su propia caja */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.14em 0 .12em;margin:-.14em 0 -.12em}
.w>span{display:inline-block}

/* Botones */
.ld-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 28px;border-radius:999px;font-weight:700;font-size:16px;line-height:1.1;white-space:nowrap;text-decoration:none;position:relative;isolation:isolate;overflow:hidden;translate:var(--mx,0) var(--my,0)}
.ld-btn.small{min-height:46px;padding:8px 20px;font-size:15px}
.ld-btn.solid{background:var(--a);color:var(--on-a)}
.ld-btn.solid::before{content:"";position:absolute;inset:0;background:var(--ink);z-index:-1;translate:0 101%;border-radius:inherit}
.ld-btn.ghost{color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.ld-btn.inv{background:var(--on-a);color:var(--a)}
.ld-btn.inv::before{background:var(--ink)}
.ld-round{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 2px currentColor}
.ld-round .ui-icon{width:20px;height:20px;stroke-width:2.2}

/* Barra superior */
.ld-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:16px;padding:14px var(--pad);background:transparent}
.ld-top.solid{background:color-mix(in oklab,var(--paper) 86%,transparent);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.ld-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:inherit;text-decoration:none;min-height:44px}
.ld-brand img{width:38px;height:38px;border-radius:10px;object-fit:cover}
.ld-mono{width:38px;height:38px;border-radius:10px;background:var(--a);color:var(--on-a);display:grid;place-items:center;font-size:14px;font-weight:800;letter-spacing:.02em}
.ld-links{display:none;gap:4px;margin-left:auto}
.ld-links button{min-height:44px;padding:0 14px;border-radius:999px;font-weight:600;font-size:15px}
.ld-top-end{margin-left:auto;display:flex;align-items:center;gap:8px}
.ld-links+.ld-top-end{margin-left:0}
.ld-lang{min-height:44px;min-width:44px;border-radius:999px;font-weight:700;font-size:13px;box-shadow:inset 0 0 0 1.5px var(--line)}
.ld-top .ld-btn.small{display:none}
@container (min-width:860px){.ld-links{display:flex}.ld-links+.ld-top-end{margin-left:8px}.ld-top .ld-btn.small{display:inline-flex}}

/* Portada */
.ld-hero{position:relative;display:grid;gap:clamp(24px,5cqi,56px);padding:clamp(20px,5cqi,64px) var(--pad) clamp(40px,7cqi,96px);align-items:center;min-height:min(86svh,820px)}
.ld-embedded .ld-hero{min-height:0}
.ld-hero-copy{position:relative;z-index:2;display:grid;gap:clamp(14px,2.4cqi,24px);justify-items:start;max-width:38ch;translate:0 calc(var(--sy)*-36px)}
.ld-title{font-size:clamp(38px,9.4cqi,104px);line-height:.98;font-weight:800;text-wrap:balance;overflow-wrap:anywhere}
.ld-sub{font-size:clamp(17px,2.1cqi,22px);max-width:34ch;color:var(--muted)}
.ld-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.ld-quick{font-size:14px;font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;color:var(--muted)}
.ld-quick i{width:5px;height:5px;border-radius:50%;background:var(--a)}
.ld-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.fx{position:absolute;display:block}
.ld-ghost{position:absolute;left:0;bottom:-.14em;white-space:nowrap;font-family:var(--display);font-weight:800;font-size:clamp(120px,30cqi,420px);line-height:.8;color:transparent;display:none}
.ld-stage{position:relative;z-index:2;display:grid;gap:16px;min-width:0}
.ld-slides{position:relative;display:grid}
.ld-slide{grid-area:1/1;display:grid;gap:16px;min-width:0}
.ld-slide-pic{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--soft);display:grid;place-items:center;max-height:min(58svh,560px);width:100%}
.ld-embedded .ld-slide-pic{max-height:340px}
.ld-photo{width:100%;height:100%;object-fit:cover;display:block}
.ld-slide-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.ld-slide-name{font-size:clamp(20px,3cqi,30px);font-weight:800;line-height:1.05;flex:1 1 180px;overflow-wrap:anywhere}
.ld-slide-info p{flex:1 1 100%;order:3;font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}
.ld-ctrl{display:flex;align-items:center;gap:8px}
.ld-count{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;min-width:48px;text-align:center}
.ld-progress{flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden;margin-left:6px}
.ld-progress i{display:block;height:100%;width:100%;background:var(--a);transform-origin:0 50%;scale:0 1}
.ld-stage.solo .ld-photo{border-radius:var(--r);aspect-ratio:4/5;max-height:min(58svh,560px)}
.ld-clock{width:min(62%,240px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;background:var(--a);color:var(--on-a);font-family:var(--display);line-height:.9}
.ld-clock b{font-size:clamp(56px,13cqi,104px);font-weight:800}
.ld-clock i{font-style:normal;font-size:15px;font-weight:700;letter-spacing:.08em}
@container (min-width:860px){.ld-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.ld-hero.nostage{grid-template-columns:minmax(0,1fr)}.ld-hero.nostage .ld-hero-copy{max-width:52ch}}

/* Placa de producto sin foto: iniciales y formas en los colores de la marca */
.ld-plate{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:var(--soft)}
.ld-plate b{position:relative;font-family:var(--display);font-weight:800;font-size:clamp(44px,26cqi,150px);line-height:1;color:var(--deep);container-type:normal}
.ld-plate i{position:absolute;display:block}
.ld-plate i:first-child{width:74%;aspect-ratio:1;border-radius:50%;background:color-mix(in oklab,var(--a) 26%,#fff);left:-18%;top:-16%}
.ld-plate i:nth-child(2){width:52%;aspect-ratio:1;background:color-mix(in oklab,var(--b) 38%,#fff);right:-12%;bottom:-14%;border-radius:28% 72% 60% 40%/48% 36% 64% 52%}
.ld-plate.v1{background:color-mix(in oklab,var(--b) 14%,#fff)}.ld-plate.v1 i:first-child{background:color-mix(in oklab,var(--c) 40%,#fff);left:auto;right:-20%;top:-22%}.ld-plate.v1 i:nth-child(2){background:color-mix(in oklab,var(--a) 30%,#fff);right:auto;left:-10%;border-radius:0 100% 0 0}
.ld-plate.v2{background:color-mix(in oklab,var(--c) 16%,#fff)}.ld-plate.v2 i:first-child{background:color-mix(in oklab,var(--a) 24%,#fff);border-radius:0;rotate:18deg;top:auto;bottom:-30%}.ld-plate.v2 i:nth-child(2){background:color-mix(in oklab,var(--b) 34%,#fff);border-radius:50%;bottom:auto;top:-12%}
.ld-plate.v3 i:first-child{border-radius:50% 50% 0 0;top:auto;bottom:-10%;left:13%;background:color-mix(in oklab,var(--c) 34%,#fff)}.ld-plate.v3 i:nth-child(2){border-radius:50%;width:30%;right:8%;bottom:auto;top:8%;background:color-mix(in oklab,var(--a) 34%,#fff)}

/* Cinta */
.ld-ribbon{overflow:hidden;padding:16px 0;background:var(--ink);color:var(--paper);skew:calc(var(--v)*-6deg) 0deg}
.ld-rtrack{display:flex;gap:44px;width:max-content;font-family:var(--display);font-weight:800;font-size:clamp(20px,3.2cqi,36px);line-height:1;white-space:nowrap;align-items:center}
.ld-rtrack span{display:inline-flex;align-items:center;gap:44px}
.ld-rtrack span::after{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--a)}

/* Bloques */
.ld-blk{padding:clamp(52px,9cqi,120px) var(--pad);position:relative}
.ld-blk.alt{background:var(--soft)}
.ld-head{display:grid;gap:12px;margin-bottom:clamp(22px,4cqi,44px);max-width:44ch}
.ld-h2{font-size:clamp(32px,6.6cqi,76px);line-height:1;font-weight:800;text-wrap:balance}
.ld-h2:focus{outline:none}
.ld-lead{font-size:clamp(16px,1.9cqi,19px);color:var(--muted);max-width:44ch}

/* Catálogo */
.ld-tools{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;margin-bottom:14px}
.ld-search,.ld-sort{display:grid;gap:6px;font-weight:600;font-size:14px}
.ld-tools .ld-search{flex:1 1 240px;max-width:460px}.ld-sort{flex:0 1 240px}
.ld-search input,.ld-sort select{font:inherit;font-weight:500;font-size:16px;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:14px;padding:12px 16px;margin:0;min-height:52px;width:100%}
.ld-only{display:inline-flex;align-items:center;gap:8px;min-height:52px;font-weight:600;font-size:15px;cursor:pointer}
.ld-only input{width:22px;height:22px;margin:0;accent-color:var(--a)}
.ld-chips{display:flex;flex-wrap:wrap;gap:8px}
.ld-chips button{min-height:46px;padding:8px 18px;border-radius:999px;font-weight:600;font-size:15px;box-shadow:inset 0 0 0 1.5px var(--line)}
.ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:none}
.ld-chips i{font-style:normal;opacity:.6;font-size:.85em;margin-left:2px;font-variant-numeric:tabular-nums}
.ld-result{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--muted);margin:14px 0 0!important;min-height:44px}
.ld-result button{text-decoration:underline;text-underline-offset:.25em;min-height:44px;font-weight:700;color:var(--ink)}
.ld-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,4cqi,44px) clamp(12px,2.4cqi,28px);margin-top:8px;perspective:1400px}
@container (min-width:720px){.ld-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (min-width:1100px){.ld-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ld-card{position:relative;display:grid;gap:12px;align-content:start;min-width:0;transform-style:preserve-3d;rotate:x var(--rx,0deg);transform:rotateY(var(--ry,0deg))}
.ld-pic{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.ld-badge{position:absolute;left:10px;top:10px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px}
.ld-cbody{display:grid;gap:3px;min-width:0}
.ld-cname{font-size:clamp(16px,2.2cqi,20px);font-weight:700;line-height:1.2;overflow-wrap:anywhere;font-family:var(--sans)}
.ld-ccat{font-size:14px;color:var(--muted)}
.ld-cfoot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px!important}
.ld-tag{font-weight:800;font-size:16px;font-variant-numeric:tabular-nums}
.ld-stock{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--muted)}
.ld-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--b);flex:none}
.ld-stock.ask::before{background:none;box-shadow:inset 0 0 0 2px var(--muted)}
.ld-cbtn{position:absolute;inset:0;border-radius:var(--r);color:transparent!important;font-size:0!important}
.ld-none{padding:24px 0;font-weight:600}

/* Servicios */
.ld-rows{display:grid}
.ld-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px 18px;padding:22px 0;border-top:1.5px solid var(--line)}
.ld-row:last-child{border-bottom:1.5px solid var(--line)}
.ld-row .ld-btn{grid-column:2;justify-self:start}
.ld-dur{width:66px;height:66px;border-radius:50%;background:var(--a);color:var(--on-a);display:grid;place-items:center;align-content:center;line-height:.9;font-family:var(--display)}
.ld-dur b{font-size:24px;font-weight:800}.ld-dur i{font-style:normal;font-size:11px;font-weight:700}
.ld-rname{font-size:clamp(20px,3.2cqi,30px);font-weight:800;line-height:1.08;overflow-wrap:anywhere}
.ld-rmeta{font-weight:600;font-size:15px;margin-top:4px!important;font-variant-numeric:tabular-nums}
.ld-rdesc{font-size:15px;color:var(--muted);max-width:58ch;margin-top:6px!important}
@container (min-width:720px){.ld-row{grid-template-columns:auto minmax(0,1fr) auto}.ld-row .ld-btn{grid-column:3;justify-self:end}}

/* Galería */
.ld-figs{display:grid;gap:clamp(10px,2cqi,22px);grid-template-columns:1fr}
.ld-fig{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;display:block}
.ld-fig img{width:100%;height:100%;object-fit:cover;display:block}
@container (min-width:720px){.ld-figs.n2{grid-template-columns:1.3fr 1fr}.ld-figs.n3{grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr}.ld-figs.n3 .ld-fig:first-child{grid-row:1/3;aspect-ratio:auto}}

/* Pasos (son una secuencia real: por eso llevan número) */
.ld-steps{list-style:none;margin:0;padding:0;display:grid;gap:22px;counter-reset:none}
.ld-steps li{display:grid;gap:8px;align-content:start;padding-top:18px;border-top:3px solid var(--ink);position:relative}
.ld-steps b{font-family:var(--display);font-size:clamp(40px,7cqi,72px);font-weight:800;line-height:.9;color:var(--a)}
.ld-sname{font-size:clamp(20px,2.8cqi,26px);font-weight:800}
.ld-steps p{color:var(--muted);font-size:16px}
@container (min-width:720px){.ld-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}

/* Encontranos, cierre y pie */
.ld-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:0}
.ld-facts>div{border-top:1.5px solid var(--line);padding-top:14px;min-width:0}
.ld-facts dt{font-size:14px;font-weight:600;color:var(--muted)}
.ld-facts dd{margin:4px 0 0;font-weight:700;font-size:clamp(18px,2.6cqi,24px);overflow-wrap:anywhere}
.ld-reach{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px!important}
.ld-end{position:relative;overflow:hidden;background:var(--a);color:var(--on-a);padding:clamp(64px,11cqi,150px) var(--pad);display:grid;gap:26px;justify-items:start}
.ld-end .ld-h2.big{font-size:clamp(40px,9cqi,112px);position:relative;z-index:1;max-width:14ch}
.ld-end .ld-btn{position:relative;z-index:1}
.ld-end :focus-visible{outline-color:var(--on-a)}
.ld-foot{background:var(--ink);color:var(--paper);padding:40px var(--pad) 96px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px}
.ld-foot .ld-brand{font-size:22px}
.ld-legal{font-size:13px;opacity:.7}
.ld-pill{position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:45;min-height:56px!important;border-radius:999px!important;background:var(--ink)!important;color:var(--paper)!important;font-weight:700!important;font-size:16px!important;box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
@media(min-width:860px){.ld-pill{display:none}}

/* Dentro del constructor: sin elementos fijos */
.ld-embedded .ld-top{position:relative}
.ld-embedded .ld{font-size:15px}

/* ============ Movimiento ============ */
@media(prefers-reduced-motion:no-preference){
  /* Entrada de la portada: una sola secuencia orquestada */
  .ld-moving .ld-hero .w>span{translate:0 115%}
  .ld-moving.ld-go .ld-hero .w>span{translate:0 0;transition:translate .95s var(--e);transition-delay:calc(.12s + var(--n,0)*.07s)}
  .ld-moving .ld-sub,.ld-moving .ld-hero .ld-cta,.ld-moving .ld-quick,.ld-moving .ld-top>*{opacity:0;translate:0 16px}
  .ld-moving.ld-go .ld-sub{opacity:1;translate:0 0;transition:opacity .7s .55s,translate .9s .55s var(--e)}
  .ld-moving.ld-go .ld-hero .ld-cta{opacity:1;translate:0 0;transition:opacity .7s .7s,translate .9s .7s var(--e)}
  .ld-moving.ld-go .ld-quick{opacity:1;translate:0 0;transition:opacity .7s .85s,translate .9s .85s var(--e)}
  .ld-moving.ld-go .ld-top>*{opacity:1;translate:0 0;transition:opacity .6s,translate .8s var(--e)}
  .ld-moving.ld-go .ld-top>*:nth-child(2){transition-delay:.08s}.ld-moving.ld-go .ld-top>*:nth-child(3){transition-delay:.16s}
  .ld-moving .ld-stage{opacity:0;scale:.94;translate:0 30px}
  .ld-moving.ld-go .ld-stage{opacity:1;scale:1;translate:0 0;transition:opacity .9s .35s,scale 1.2s .35s var(--e),translate 1.2s .35s var(--e)}
  .ld-moving .ld-top{transition:translate .4s var(--e),background-color .3s,box-shadow .3s}
  .ld-moving .ld-top.away{translate:0 -110%}
  /* Escenario: cada destacado entra con barrido y la imagen se asienta */
  .ld-moving .ld-slide.enter .ld-slide-pic{animation:sx-wipe .9s var(--e) both}
  .ld-moving .ld-slide.enter.back .ld-slide-pic{animation-name:sx-wipe-back}
  .ld-moving .ld-slide.enter .ld-slide-pic>*{animation:sx-settle 1.3s var(--e) both}
  .ld-moving .ld-slide.enter .ld-slide-info>*{animation:sx-rise .7s .18s var(--e) both}
  .ld-moving .ld-slide.enter .ld-slide-info>*:nth-child(2){animation-delay:.26s}.ld-moving .ld-slide.enter .ld-slide-info>*:nth-child(3){animation-delay:.34s}
  .ld-moving .ld-progress i.run{animation:sx-fill var(--pace,6s) linear both}
  .ld-moving.ld-paused .ld-progress i{animation-play-state:paused}
  /* Cinta continua; se inclina con la velocidad del desplazamiento */
  .ld-moving .ld-rtrack{animation:sx-marquee 34s linear infinite}
  .ld-moving .ld-ribbon{transition:skew .5s var(--e)}
  .ld-moving.ld-paused .ld-rtrack{animation-play-state:paused}
  /* Revelado al llegar */
  .ld-moving [data-rv]{opacity:0;translate:0 34px}
  .ld-moving [data-rv].in{opacity:1;translate:0 0;transition:opacity .8s var(--e),translate 1s var(--e);transition-delay:calc(var(--n,0)*70ms)}
  .ld-moving .ld-head[data-rv]{opacity:1;translate:0 0}
  .ld-moving .ld-head .w>span,.ld-moving .ld-end .w>span{translate:0 115%}
  .ld-moving .ld-head.in .w>span,.ld-moving .ld-end.in .w>span{translate:0 0;transition:translate .9s var(--e);transition-delay:calc(var(--n,0)*.06s)}
  .ld-moving .ld-head .ld-lead{opacity:0}.ld-moving .ld-head.in .ld-lead{opacity:1;transition:opacity .8s .35s}
  .ld-moving [data-rv=clip]{opacity:1;translate:0 0;clip-path:inset(0 0 100% 0)}
  .ld-moving [data-rv=clip].in{clip-path:inset(0);transition:clip-path 1.1s var(--e);transition-delay:calc(var(--n,0)*120ms)}
  .ld-moving [data-rv=clip] img{scale:1.25}.ld-moving [data-rv=clip].in img{scale:1;transition:scale 1.6s var(--e);transition-delay:calc(var(--n,0)*120ms)}
  .ld-moving .ld-end[data-rv]{opacity:1;translate:0 0}
  /* Respuesta al cursor */
  .ld-moving .ld-btn{transition:translate .35s var(--e),scale .2s var(--e),color .35s}
  .ld-moving .ld-btn.solid::before{transition:translate .5s var(--e)}
  .ld-moving .ld-btn.solid:hover::before{translate:0 0}
  .ld-moving .ld-btn.solid:hover{color:var(--paper)}
  .ld-moving .ld-btn:active{scale:.96}
  .ld-moving .ld-round{transition:scale .3s var(--spring),background-color .3s,color .3s}
  .ld-moving .ld-round:hover{scale:1.1;background:var(--ink);color:var(--paper)}
  .ld-moving .ld-card{transition:transform .5s var(--e),rotate .5s var(--e)}
  .ld-moving .ld-pic>.ld-photo,.ld-moving .ld-pic>.ld-plate{transition:scale 1s var(--e)}
  .ld-moving .ld-card:hover .ld-pic>*:first-child,.ld-moving .ld-card:focus-within .ld-pic>*:first-child{scale:1.07}
  .ld-moving .ld-plate i{transition:translate 1.1s var(--e),rotate 1.1s var(--e)}
  .ld-moving .ld-card:hover .ld-plate i:first-child{translate:8% 6%}.ld-moving .ld-card:hover .ld-plate i:nth-child(2){translate:-8% -8%;rotate:24deg}
  .ld-moving .ld-chips button,.ld-moving .ld-links button{transition:background-color .25s,color .25s,translate .3s var(--e)}
  .ld-moving .ld-chips button:hover{translate:0 -2px}
  .ld-moving .ld-links button:hover{background:var(--soft)}
  .ld-moving .ld-row .ld-dur{transition:scale .5s var(--spring),rotate .5s var(--spring)}
  .ld-moving .ld-row:hover .ld-dur{scale:1.12;rotate:-8deg}
  .ld-moving .ld-fig img{transition:scale 1.2s var(--e)}.ld-moving .ld-fig:hover img{scale:1.06}
  .ld-moving .ld-pill{animation:sx-rise .5s var(--e) both}
}
@keyframes sx-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes sx-wipe-back{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@keyframes sx-settle{from{scale:1.22}}
@keyframes sx-rise{from{opacity:0;translate:0 18px}}
@keyframes sx-fill{from{scale:0 1}to{scale:1 1}}
@keyframes sx-marquee{to{translate:-50% 0}}
@keyframes sx-breathe{50%{scale:1.14}}
@keyframes sx-drift{50%{translate:6% -8%}}
@keyframes sx-spin{to{rotate:360deg}}
@keyframes sx-draw{from{stroke-dashoffset:var(--len,1200)}}
@keyframes sx-pop{from{scale:0;rotate:-40deg}}
@keyframes sx-float{50%{translate:0 -14px}}
@keyframes sx-wobble{50%{rotate:10deg}}

/* ============ Sereno: claro y pausado. Dos orbes que respiran y anillos que giran despacio ============ */
.s-calma{--r:28px;--paper:color-mix(in oklab,var(--a) 3%,#fff);--display:var(--sans)}
.s-calma .ld-title{font-weight:600;letter-spacing:-.01em;font-size:clamp(36px,8cqi,88px);line-height:1.02}
.s-calma .ld-h2{font-weight:600}
.s-calma .f1{width:min(70cqi,720px);aspect-ratio:1;border-radius:50%;right:-18cqi;top:-14cqi;background:radial-gradient(circle at 35% 35%,color-mix(in oklab,var(--a) 34%,#fff),transparent 68%);translate:calc(var(--px)*-30px) calc(var(--py)*-30px)}
.s-calma .f2{width:min(48cqi,480px);aspect-ratio:1;border-radius:50%;left:-16cqi;bottom:-18cqi;background:radial-gradient(circle at 60% 40%,color-mix(in oklab,var(--b) 30%,#fff),transparent 66%);translate:calc(var(--px)*24px) calc(var(--py)*24px)}
.s-calma .f3,.s-calma .f4,.s-calma .f5{display:none}
.s-calma .rings{width:min(64cqi,640px);right:-6cqi;top:4cqi;fill:none;stroke:color-mix(in oklab,var(--a) 34%,#fff);stroke-width:1.2;stroke-dasharray:4 9}
.s-calma .ld-slide-pic{border-radius:44% 44% var(--r) var(--r)/30% 30% var(--r) var(--r)}
.s-calma .ld-ribbon{background:var(--soft);color:var(--deep)}
.s-calma .ld-rtrack{font-weight:600}
.s-calma .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-calma .ld-card{background:#fff;border-radius:var(--r);padding:10px 10px 16px;box-shadow:0 20px 44px -30px color-mix(in oklab,var(--a) 60%,#000)}
.s-calma .ld-pic{border-radius:20px;aspect-ratio:1}
.s-calma .ld-cbody{padding-inline:6px}
.s-calma .ld-cbtn{border-radius:var(--r)}
.s-calma .ld-steps li{border-top:0;background:#fff;border-radius:var(--r);padding:24px}
.s-calma .ld-end{border-radius:var(--r);margin:0 var(--pad) clamp(40px,6cqi,80px);justify-items:center;text-align:center}
.s-calma .ld-end .ld-h2.big{max-width:16ch;font-size:clamp(34px,7cqi,84px)}
.s-calma .ld-end .f1{width:60%;aspect-ratio:1;border-radius:50%;left:-20%;top:-60%;background:color-mix(in oklab,var(--on-a) 14%,transparent)}
.s-calma .ld-end .f2{width:44%;aspect-ratio:1;border-radius:50%;right:-12%;bottom:-70%;background:color-mix(in oklab,var(--on-a) 10%,transparent)}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-calma .ld-hero .f1{animation:sx-breathe 9s ease-in-out infinite}
  .ld-moving.s-calma .ld-hero .f2{animation:sx-breathe 12s ease-in-out infinite reverse}
  .ld-moving.s-calma .rings{animation:sx-spin 80s linear infinite;transform-origin:50% 50%}
  .ld-moving.s-calma .ld-slides{animation:sx-float 7s ease-in-out infinite}
  .ld-moving.s-calma .ld-fx>*{transition:translate 1.6s var(--e)}
  .ld-moving.s-calma .ld-end .fx{animation:sx-breathe 10s ease-in-out infinite}
  .ld-moving.s-calma.ld-paused :is(.f1,.f2,.rings,.ld-slides,.fx){animation-play-state:paused}
}

/* ============ Editorial: tipografía que manda. Nombre gigante que se desliza, fotos que se descubren ============ */
.s-boho{--r:0px;--display:var(--serif);--paper:#fff;--ink:#121212}
.s-boho .ld-title{font-weight:500;font-size:clamp(42px,10.5cqi,128px);line-height:.94;letter-spacing:-.015em}
.s-boho .ld-h2{font-weight:500;letter-spacing:-.01em}
.s-boho .ld-hero-copy{max-width:none}
.s-boho .ld-sub{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.4cqi,26px);color:var(--ink)}
.s-boho .ld-ghost{display:block;-webkit-text-stroke:1.5px color-mix(in oklab,var(--a) 55%,#fff);translate:calc(var(--sy)*-30%) 0;font-style:italic;font-weight:400}
.s-boho .f1{width:34cqi;height:62%;right:var(--pad);top:8%;background:var(--a);display:none}
.s-boho .f2,.s-boho .f3,.s-boho .f4,.s-boho .f5,.s-boho .rings{display:none}
.s-boho .ld-btn{border-radius:0}.s-boho .ld-round{border-radius:0}.s-boho .ld-lang,.s-boho .ld-chips button,.s-boho .ld-links button{border-radius:0}
.s-boho .ld-mono,.s-boho .ld-brand img{border-radius:0}
.s-boho .ld-stage{padding:0 0 0 clamp(0px,4cqi,56px)}
.s-boho .ld-slides::before{content:"";position:absolute;left:calc(clamp(0px,4cqi,56px)*-1);right:18%;top:10%;bottom:-18px;background:var(--a);z-index:-1}
.s-boho .ld-slide-name{font-weight:500;font-style:italic}
.s-boho .ld-progress{height:1.5px}
.s-boho .ld-ribbon{background:var(--paper);color:var(--ink);border-block:1.5px solid var(--ink);padding:10px 0}
.s-boho .ld-rtrack{font-style:italic;font-weight:400;font-size:clamp(26px,5cqi,64px)}
.s-boho .ld-rtrack span::after{width:.9em;height:1.5px;border-radius:0;background:var(--ink)}
.s-boho .ld-blk.alt{background:var(--paper);border-top:1.5px solid var(--ink)}
.s-boho .ld-grid{gap:0;border-top:1.5px solid var(--ink);border-left:1.5px solid var(--ink);perspective:none}
.s-boho .ld-card{border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:12px 12px 18px;transform:none;rotate:none}
.s-boho .ld-cname{font-family:var(--serif);font-size:clamp(18px,2.6cqi,24px);font-weight:500}
.s-boho .ld-badge{border-radius:0;background:var(--ink);color:var(--paper);left:0;top:0}
.s-boho .ld-search input,.s-boho .ld-sort select{border-radius:0;border-color:var(--ink)}
.s-boho .ld-row{border-color:var(--ink)}
.s-boho .ld-dur{border-radius:0;background:none;color:var(--ink);width:auto;height:auto;justify-items:start;font-family:var(--serif)}
.s-boho .ld-dur b{font-size:clamp(36px,6cqi,56px);font-weight:400;font-style:italic}
.s-boho .ld-rname{font-weight:500}
.s-boho .ld-steps b{font-style:italic;font-weight:400;color:var(--ink)}
.s-boho .ld-steps li{border-top-width:1.5px}
.s-boho .ld-facts>div,.s-boho .ld-row,.s-boho .ld-row:last-child{border-color:var(--ink)}
.s-boho .ld-end{background:var(--ink);color:var(--paper)}
.s-boho .ld-end .ld-h2.big{font-style:italic;font-weight:400}
.s-boho .ld-end .ld-btn.inv{background:var(--a);color:var(--on-a)}
.s-boho .ld-end .fx{display:none}
.s-boho .ld-pill{border-radius:0!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-boho .ld-ghost{transition:translate .6s var(--e)}
  .ld-moving.s-boho .ld-slides::before{scale:0 1;transform-origin:0 50%}
  .ld-moving.ld-go.s-boho .ld-slides::before{scale:1 1;transition:scale 1.1s .5s var(--e)}
  .ld-moving.s-boho .ld-slide.enter .ld-slide-pic{animation:sx-wipe-up 1s var(--e) both}
  .ld-moving.s-boho .ld-card{transition:background-color .35s}
  .ld-moving.s-boho .ld-card:hover{background:var(--soft)}
  .ld-moving.s-boho .ld-rtrack{animation-duration:46s}
  .ld-moving.s-boho .ld-row{transition:padding-left .45s var(--e),background-color .35s}
  .ld-moving.s-boho .ld-row:hover{padding-left:14px;background:var(--soft)}
}
@keyframes sx-wipe-up{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}

/* ============ Vibrante: color pleno y formas en juego que entran, flotan y siguen al cursor ============ */
.s-dinamico{--display:var(--cond);--r:26px}
.s-dinamico .ld-hero{background:var(--a);color:var(--on-a);transition:background-color .9s}
.s-dinamico .ld-top{color:var(--on-a)}
.s-dinamico .ld-top.solid{color:var(--ink)}
.s-dinamico .ld-top:not(.solid) .ld-lang{box-shadow:inset 0 0 0 1.5px currentColor}
.s-dinamico .ld-top:not(.solid) .ld-btn.solid{background:var(--on-a);color:var(--a)}
.s-dinamico .ld-top:not(.solid) .ld-mono{background:var(--on-a);color:var(--a)}
.s-dinamico .ld{background:var(--paper)}
.s-dinamico .ld-top{margin-bottom:-76px}
.s-dinamico .ld-hero{padding-top:calc(76px + clamp(20px,5cqi,64px))}
.s-dinamico .ld-title{text-transform:uppercase;font-weight:800;font-size:clamp(46px,12cqi,150px);line-height:.86;letter-spacing:-.005em}
.s-dinamico .ld-h2,.s-dinamico .ld-slide-name,.s-dinamico .ld-rname,.s-dinamico .ld-sname{text-transform:uppercase}
.s-dinamico .ld-sub{color:inherit;opacity:.92;font-weight:500}
.s-dinamico .ld-quick{color:inherit}.s-dinamico .ld-quick i{background:currentColor}
.s-dinamico .ld-hero .ld-btn.solid{background:var(--on-a);color:var(--a)}
.s-dinamico .ld-hero .ld-btn.solid::before{background:var(--c)}
.s-dinamico .ld-hero .ld-btn.solid:hover{color:#14121c}
.s-dinamico .ld-hero .ld-slide-info p{color:inherit;opacity:.9}
.s-dinamico .ld-hero .ld-progress{background:color-mix(in oklab,var(--on-a) 26%,transparent)}.s-dinamico .ld-hero .ld-progress i{background:var(--on-a)}
.s-dinamico .ld-hero :focus-visible{outline-color:var(--on-a)}
.s-dinamico .f1{width:30cqi;aspect-ratio:1;border-radius:50%;background:var(--b);right:6cqi;top:10%;translate:calc(var(--px)*-46px) calc(var(--py)*-46px)}
.s-dinamico .f2{width:22cqi;aspect-ratio:2/1;border-radius:22cqi 22cqi 0 0;background:var(--c);left:-4cqi;bottom:8%;rotate:-18deg;translate:calc(var(--px)*34px) calc(var(--py)*34px)}
.s-dinamico .f3{width:11cqi;aspect-ratio:1;background:color-mix(in oklab,var(--on-a) 92%,transparent);right:38cqi;bottom:14%;rotate:16deg;border-radius:3cqi;translate:calc(var(--px)*-62px) calc(var(--py)*-62px)}
.s-dinamico .f4{width:16cqi;aspect-ratio:1;right:-5cqi;bottom:-6cqi;border-radius:50%;box-shadow:inset 0 0 0 2.4cqi var(--c);translate:calc(var(--px)*22px) calc(var(--py)*22px)}
.s-dinamico .f5{width:26cqi;left:36cqi;top:13%;fill:none;stroke:var(--on-a);stroke-width:7;stroke-linecap:round;opacity:.9;translate:calc(var(--px)*-26px) calc(var(--py)*-26px)}
.s-dinamico .rings{display:none}
.s-dinamico .ld-slide-pic{box-shadow:0 0 0 5px var(--on-a),14px 14px 0 5px color-mix(in oklab,#000 22%,var(--a));rotate:-2.5deg}
.s-dinamico .ld-hero[data-c="1"]{background:color-mix(in oklab,var(--a) 82%,var(--b))}
.s-dinamico .ld-hero[data-c="2"]{background:color-mix(in oklab,var(--a) 84%,var(--c))}
.s-dinamico .ld-ribbon{background:var(--c);color:#14121c}
.s-dinamico .ld-rtrack{text-transform:uppercase;font-size:clamp(24px,4.4cqi,52px)}
.s-dinamico .ld-rtrack span::after{background:#14121c;border-radius:0;rotate:45deg}
.s-dinamico .ld-pic{box-shadow:0 0 0 3px var(--ink)}
.s-dinamico .ld-card:nth-child(4n+2) .ld-pic{border-radius:var(--r) var(--r) 46% var(--r)}
.s-dinamico .ld-card:nth-child(4n+3) .ld-pic{border-radius:46% 46% var(--r) var(--r)/32% 32% var(--r) var(--r)}
.s-dinamico .ld-cname{font-family:var(--cond);font-size:clamp(19px,3cqi,26px);font-weight:800;text-transform:uppercase;line-height:1.02}
.s-dinamico .ld-tag{background:var(--c);color:#14121c;padding:3px 10px;border-radius:999px;rotate:-3deg}
.s-dinamico .ld-badge{background:var(--a);color:var(--on-a);rotate:-4deg}
.s-dinamico .ld-chips button{box-shadow:inset 0 0 0 2.5px var(--ink);font-weight:700}
.s-dinamico .ld-search input,.s-dinamico .ld-sort select{border:2.5px solid var(--ink)}
.s-dinamico .ld-blk.alt{background:var(--b);color:#14121c;--muted:#14121c;--line:#14121c}
.s-dinamico .ld-blk.alt .ld-dur{background:#14121c;color:#fff}
.s-dinamico .ld-blk.alt .ld-btn.solid{background:#14121c;color:#fff}
.s-dinamico .ld-blk.alt .ld-btn.solid::before{background:var(--a)}
.s-dinamico .ld-steps b{color:var(--a)}
.s-dinamico .ld-end .ld-h2.big{text-transform:uppercase;line-height:.88}
.s-dinamico .ld-end .f1{width:36%;aspect-ratio:1;border-radius:50%;background:var(--b);right:-8%;top:-30%}
.s-dinamico .ld-end .f2{width:22%;aspect-ratio:1;background:var(--c);right:16%;bottom:-18%;rotate:20deg;border-radius:14%}
.s-dinamico .ld-end .f3{width:12%;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 18px var(--on-a);right:34%;top:14%;opacity:.9}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-dinamico .ld-hero .fx{scale:0}
  .ld-moving.ld-go.s-dinamico .ld-hero .fx{scale:1;transition:scale .9s var(--spring),translate 1.1s var(--e)}
  .ld-moving.ld-go.s-dinamico .ld-hero .f1{transition-delay:.15s,0s}.ld-moving.ld-go.s-dinamico .ld-hero .f2{transition-delay:.3s,0s}.ld-moving.ld-go.s-dinamico .ld-hero .f3{transition-delay:.45s,0s}.ld-moving.ld-go.s-dinamico .ld-hero .f4{transition-delay:.6s,0s}.ld-moving.ld-go.s-dinamico .ld-hero .f5{transition-delay:.75s,0s}
  .ld-moving.ld-go.s-dinamico .ld-hero .f1{animation:sx-float 6s 1.2s ease-in-out infinite}
  .ld-moving.ld-go.s-dinamico .ld-hero .f3{animation:sx-spin 18s 1.2s linear infinite}
  .ld-moving.ld-go.s-dinamico .ld-hero .f4{animation:sx-breathe 5s 1.2s ease-in-out infinite}
  .ld-moving.s-dinamico .ld-hero .f5 path{stroke-dasharray:420;--len:420}
  .ld-moving.ld-go.s-dinamico .ld-hero .f5 path{animation:sx-draw 1.4s .8s var(--e) both}
  .ld-moving.s-dinamico .ld-hero .w>span{translate:0 120%;rotate:6deg}
  .ld-moving.ld-go.s-dinamico .ld-hero .w>span{rotate:0deg;transition:translate .8s var(--spring),rotate .8s var(--spring);transition-delay:calc(.1s + var(--n,0)*.09s)}
  .ld-moving.s-dinamico .ld-slide.enter .ld-slide-pic{animation:sx-slam .8s var(--spring) both}
  .ld-moving.s-dinamico .ld-card:hover .ld-tag{animation:sx-wobble .5s ease-in-out}
  .ld-moving.s-dinamico .ld-rtrack{animation-duration:22s}
  .ld-moving.s-dinamico .ld-end .fx{animation:sx-float 7s ease-in-out infinite}
  .ld-moving.s-dinamico .ld-end .f2{animation:sx-spin 26s linear infinite}
  .ld-moving.s-dinamico.ld-paused .fx{animation-play-state:paused}
}
@keyframes sx-slam{from{scale:.7;rotate:-12deg;opacity:0}to{rotate:-2.5deg}}

/* ============ Ventanas de la landing: ficha, cita y galería, con el color del negocio ============ */
dialog.sx-dialog{--ink:#17151f;--muted:#5d5a69;--line:#e4e2ea;--soft:color-mix(in oklab,var(--a) 9%,#fff);font-family:'Avenir Next',Avenir,'Segoe UI',system-ui,sans-serif;color:var(--ink);border-radius:22px}
dialog.sx-dialog h2{font-family:inherit;text-transform:none;letter-spacing:0;font-weight:800}
dialog.sx-dialog button.primary{background:var(--a);border-color:var(--a);color:var(--on-a);border-radius:999px;min-height:54px;font-weight:700}
dialog.sx-dialog :focus-visible{outline:3px solid var(--a);outline-offset:2px}
dialog.pv-dialog{max-width:min(920px,calc(100vw - 24px));width:100%;padding:0;overflow:auto;max-height:calc(100dvh - 24px)}
dialog.pv-dialog>.close{background:#fff;z-index:3}
.pv{display:grid;grid-template-columns:minmax(0,1fr)}
.pv-pic{position:relative;background:var(--soft);aspect-ratio:16/10;overflow:hidden;container-type:inline-size}
.pv-pic .ld-photo{width:100%;height:100%;object-fit:cover;display:block}
.pv-info{padding:22px 22px 20px;display:grid;gap:8px;align-content:start;min-width:0}
.pv-info h2{margin:0;font-size:clamp(24px,5vw,32px);text-align:left;overflow-wrap:anywhere}
.pv-info h2:focus,.bk-head h2:focus{outline:none}
.pv-info p{margin:0}
.pv-cat{font-size:13px;font-weight:700;color:var(--a)}
.pv-var{color:var(--muted)}
.pv-price{font-weight:800;font-size:24px;font-variant-numeric:tabular-nums}
.pv-desc{font-size:15px;line-height:1.55}
.pv form,.bk form{display:grid;gap:12px}
.pv form{margin-top:8px;border-top:1px solid var(--line);padding-top:14px}
.pv form label,.bk form label{display:grid;gap:6px;font-size:14px;font-weight:600}
.pv form input,.bk form input,.bk form select{margin:0}
.pv-delivery{margin:8px 0 0;padding:14px;border:1px solid var(--line);border-radius:14px;display:grid;gap:10px}.pv-delivery legend{padding:0 6px;font-weight:650}.pv-delivery label:first-of-type{display:flex;align-items:flex-start;gap:9px}.pv-delivery input[type=checkbox]{width:20px;min-height:20px;margin:0;flex:none}.pv-delivery textarea{width:100%;resize:vertical}.pv-delivery small{line-height:1.45;color:var(--muted)}.ld-delivery-note{display:inline-block;margin:0 0 16px;padding:9px 13px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:13px}
.pv-qty{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;font-size:14px}
.pv-qty div{display:flex;align-items:center;gap:6px}
.pv-qty button{width:48px;min-height:48px;padding:0;font-size:22px;line-height:1;border-radius:14px}
.pv-qty input{width:78px;text-align:center}
.sx-dialog .pv-note{font-size:13px;color:var(--muted);background:none;padding:0;border-radius:0}
.pv-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line);font-size:14px;font-variant-numeric:tabular-nums}
.pv-nav button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;border-radius:999px}
.pv-nav .ui-icon{width:18px;height:18px}
.pv-done{padding:44px 24px;display:grid;justify-items:center;text-align:center;gap:10px}
.pv-done h2,.pv-done p{margin:0}
.sx-mark{width:76px;height:76px;fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.sx-mark.ok circle{fill:var(--a);stroke:none}.sx-mark.ok path{stroke:var(--on-a)}
.sx-mark.wait{width:28px;height:28px;flex:none}.sx-mark.wait circle{stroke:var(--line);stroke-width:7}.sx-mark.wait .arc{stroke:var(--a);stroke-dasharray:40 124}
.ld-stock{font-family:inherit}
dialog .ld-stock{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--muted)}
dialog .ld-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--a);flex:none}
dialog .ld-stock.ask::before{background:none;box-shadow:inset 0 0 0 2px var(--muted)}
dialog .ld-plate{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:var(--soft)}
dialog .ld-plate b{position:relative;font-weight:800;font-size:clamp(60px,22cqi,160px);line-height:1;color:color-mix(in oklab,var(--a) 58%,#000)}
dialog .ld-plate i{position:absolute;display:block;width:70%;aspect-ratio:1;border-radius:50%;background:color-mix(in oklab,var(--a) 24%,#fff);left:-16%;top:-20%}
dialog .ld-plate i:nth-child(2){width:48%;left:auto;top:auto;right:-10%;bottom:-16%;background:color-mix(in oklab,var(--b) 34%,#fff);border-radius:28% 72% 60% 40%/48% 36% 64% 52%}
dialog.bk-dialog{max-width:min(640px,calc(100vw - 24px))}
.bk{display:grid}
.bk-head{display:flex;gap:16px;align-items:flex-start;padding:26px 24px 18px;background:var(--soft)}
.bk-head h2{margin:0 58px 4px 0;font-size:clamp(22px,5vw,30px);text-align:left;overflow-wrap:anywhere}
.bk-head p{margin:0}
.bk-dur{flex:none;width:68px;height:68px;border-radius:50%;background:var(--a);color:var(--on-a);display:grid;place-items:center;align-content:center;line-height:.9}
.bk-dur b{font-weight:800;font-size:24px}.bk-dur i{font-style:normal;font-size:11px;font-weight:700}
.bk form{gap:16px;padding:18px 24px 24px}
.bk-step{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0;background:none;border-radius:0}
.bk-step legend{font-weight:800;font-size:16px;padding:0;margin-bottom:8px;text-transform:none;font-family:inherit;letter-spacing:0}
.bk-step legend small{font-weight:500;color:var(--muted);margin-left:6px;font-size:13px}
.bk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.bk-days button{display:grid;gap:2px;justify-items:center;min-height:58px;padding:6px 2px;border-radius:14px;font-size:12px;line-height:1.15;min-width:0}
.bk-days button b{text-transform:none}.bk-days button span{color:var(--muted);white-space:nowrap}
.bk-days button[aria-pressed=true],.sx-dialog .slot-picker button[aria-pressed=true]{background:var(--a);border-color:var(--a);color:var(--on-a)}
.bk-days button[aria-pressed=true] span{color:inherit}
.bk-other{max-width:240px}
.sx-dialog .bk-date{margin:0;font-weight:600;text-transform:none;background:none;color:var(--ink);padding:0;border-radius:0}
.bk .slot-picker{margin:0}
.sx-dialog .slot-picker button{border-radius:12px}
.slot-note{display:flex;align-items:center;gap:10px}
@media(min-width:760px){.pv{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.pv-pic{aspect-ratio:auto;min-height:440px}.pv-nav,.pv-done{grid-column:1/-1}.pv-info{padding:30px 30px 24px}.pv-info h2{padding-right:44px}}
@media(max-width:520px){.pv-nav span:not([aria-live]){display:none}.bk-days{grid-template-columns:repeat(4,minmax(0,1fr))}.bk-head{padding:22px 18px 14px}.bk form{padding:16px 18px 20px}}
@media(prefers-reduced-motion:no-preference){
  dialog.sx-dialog .sx-mark.ok circle{animation:sx-pop .6s cubic-bezier(.34,1.56,.64,1) both;transform-origin:50% 50%;transform-box:fill-box}
  dialog.sx-dialog .sx-mark.ok path{stroke-dasharray:44;--len:44;animation:sx-draw .5s .35s ease-out both}
  dialog.sx-dialog .sx-mark.wait .arc{animation:sx-spin .9s linear infinite;transform-origin:50% 50%;transform-box:fill-box}
  dialog.sx-dialog .pv-done h2,dialog.sx-dialog .pv-done p,dialog.sx-dialog .pv-done button{animation:sx-rise .6s .3s cubic-bezier(.2,.8,.2,1) both}
  dialog.sx-dialog .slot-picker button{animation:sx-rise .4s cubic-bezier(.2,.8,.2,1) both}
}
/* Galería ampliada */
.gallery-viewer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}
.gallery-viewer img{max-width:100%;max-height:72vh;border-radius:12px;justify-self:center}
.gallery-viewer p{grid-column:1/-1;text-align:center;margin:0;font-size:14px}

.ld-pic,.ld-slide-pic{container-type:inline-size}
.ld-plate b{font-size:clamp(30px,34cqi,190px)}

/* Ajustes tras la primera revisión visual */
.ld-hero-copy{max-width:none}
.ld-title{max-width:16ch}
.s-boho .ld-title{max-width:13ch}.s-dinamico .ld-title{max-width:12ch}
.s-boho .ld-slides::before{bottom:auto;height:72%}
.s-boho .ld-slide-info{padding-top:4px}
@media(prefers-reduced-motion:no-preference){.ld-moving.ld-go.s-dinamico .ld-hero .w>span{translate:0 0}}
.s-dinamico .ld-title{font-size:clamp(44px,10.4cqi,124px);max-width:11ch}
.s-dinamico .f3{right:auto;left:31cqi;bottom:7%;width:7cqi}
.s-dinamico .ld-card:nth-child(4n+3) .ld-badge{top:auto;bottom:10px}
.ld-hero{min-height:min(84svh,760px);padding-bottom:clamp(32px,5cqi,64px)}
.s-dinamico .ld-slide-info{margin-top:22px}

/* Galería: el recorte de entrada va en la imagen, no en el botón observado. Un elemento recortado por completo nunca
   «entra en pantalla» para el observador, así que con el recorte en el botón la foto no llegaba a mostrarse. */
@media(prefers-reduced-motion:no-preference){
  .ld-moving [data-rv=clip],.ld-moving [data-rv=clip].in{clip-path:none}
  .ld-moving [data-rv=clip] img{clip-path:inset(0 0 100% 0);scale:1.25}
  .ld-moving [data-rv=clip].in img{clip-path:inset(0);scale:1;transition:clip-path 1.1s var(--e),scale 1.6s var(--e);transition-delay:calc(var(--n,0)*120ms)}
}
.ld-figs.n1 .ld-fig{aspect-ratio:16/9;max-height:72svh}
.ld-figs.n1 .ld-fig{max-height:none;width:100%}

/* Elementos de movimiento que solo usan algunas plantillas */
.fx.rp,.fx.waves,.fx.seal,.fx.thread,.fx.sp{display:none}

/* ============ Brillo — salones de belleza. Arco, destellos y un sello de texto que gira ============ */
.s-hectic{--r:0px;--display:var(--serif);--paper:#fff;--night:color-mix(in oklab,var(--a) 34%,#0d0a12)}
.s-hectic .ld-hero{background:var(--night);color:#fff}
.s-hectic .ld-top{color:#fff;margin-bottom:-76px}.s-hectic .ld-top.solid{color:var(--ink)}
.s-hectic .ld-hero{padding-top:calc(76px + clamp(20px,5cqi,64px))}
.s-hectic .ld-top:not(.solid) .ld-lang{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.s-hectic .ld-title{font-weight:400;font-style:italic;font-size:clamp(40px,9.6cqi,116px);line-height:.98;letter-spacing:-.01em}
.s-hectic .ld-h2{font-weight:400;font-style:italic}
.s-hectic .ld-sub{color:rgba(255,255,255,.82)}
.s-hectic .ld-quick{color:rgba(255,255,255,.8)}.s-hectic .ld-quick i{background:var(--c)}
.s-hectic .ld-btn,.s-hectic .ld-lang,.s-hectic .ld-chips button,.s-hectic .ld-links button{border-radius:0}
.s-hectic .ld-btn{letter-spacing:.04em}
.s-hectic .ld-hero .ld-btn.solid{background:#fff;color:var(--night)}
.s-hectic .ld-hero .ld-btn.solid::before{background:var(--a)}.s-hectic .ld-hero .ld-btn.solid:hover{color:var(--on-a)}
.s-hectic .ld-hero :focus-visible{outline-color:#fff}
.s-hectic .ld-mono,.s-hectic .ld-brand img{border-radius:50%}
.s-hectic .ld-stage{justify-items:center}
.s-hectic .ld-slides{width:min(100%,430px)}
.s-hectic .ld-slide-pic{border-radius:999px 999px 0 0;aspect-ratio:3/4;outline:1px solid rgba(255,255,255,.55);outline-offset:12px;max-height:none}
.s-hectic .ld-slide-pic::after{content:"";position:absolute;inset:-20% -60%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.5) 50%,transparent 58%);translate:-70% 0;pointer-events:none}
.s-hectic .ld-slide-info{margin-top:26px;justify-content:center;text-align:center}
.s-hectic .ld-slide-name{font-style:italic;font-weight:400;flex-basis:100%}
.s-hectic .ld-slide-info p{color:rgba(255,255,255,.8);order:0}
.s-hectic .ld-ctrl{justify-content:center;width:min(100%,430px)}
.s-hectic .ld-round{border-radius:50%;box-shadow:inset 0 0 0 1px currentColor}
.s-hectic .ld-progress{background:rgba(255,255,255,.25);height:1px}.s-hectic .ld-progress i{background:#fff}
.s-hectic .ld-clock{background:none;color:#fff;font-style:italic}.s-hectic .ld-clock b{font-weight:400}
.s-hectic .ld-slide.svc .ld-slide-pic{background:color-mix(in oklab,var(--a) 42%,#0d0a12)}
.s-hectic .f1,.s-hectic .f2,.s-hectic .f3,.s-hectic .f4,.s-hectic .f5,.s-hectic .rings{display:none}
.s-hectic .fx.seal{display:block;width:clamp(110px,16cqi,190px);right:calc(var(--pad) - 6px);top:clamp(90px,14cqi,150px);z-index:3;overflow:visible}
.s-hectic .seal text{font:600 15px var(--sans);letter-spacing:.14em;text-transform:uppercase;fill:#fff}
.s-hectic .seal .star{fill:var(--c)}
.s-hectic .fx.sp{display:block;width:clamp(16px,2.6cqi,30px);aspect-ratio:1;background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.s-hectic .sp.s1{left:8%;top:22%}.s-hectic .sp.s2{left:44%;top:70%;scale:.6}.s-hectic .sp.s3{left:30%;top:14%;scale:.45;background:var(--c)}
.s-hectic .ld-ribbon{background:var(--a);color:var(--on-a);padding:12px 0}
.s-hectic .ld-rtrack{font-style:italic;font-weight:400;font-size:clamp(22px,3.6cqi,40px)}
.s-hectic .ld-rtrack span::after{clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);border-radius:0;background:currentColor;width:.6em;height:.6em}
.s-hectic .ld-head{justify-items:center;text-align:center;margin-inline:auto}
.s-hectic .ld-grid{perspective:none}
.s-hectic .ld-card{text-align:center;transform:none;rotate:none}
.s-hectic .ld-pic{border-radius:999px 999px 0 0;aspect-ratio:3/4}
.s-hectic .ld-cname{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(19px,2.8cqi,26px)}
.s-hectic .ld-cfoot{justify-content:center}
.s-hectic .ld-badge{border-radius:0;left:50%;translate:-50% 0;top:auto;bottom:0;background:var(--night);color:#fff;letter-spacing:.06em}
.s-hectic .ld-tools,.s-hectic .ld-chips,.s-hectic .ld-result{justify-content:center}
.s-hectic .ld-search input,.s-hectic .ld-sort select{border-radius:0}
.s-hectic .ld-chips button[aria-pressed=true]{background:var(--night);color:#fff}
.s-hectic .ld-blk.alt{background:var(--soft)}
.s-hectic .ld-dur{background:none;color:var(--deep);border-radius:0;width:auto;height:auto;justify-items:start;font-family:var(--serif);font-style:italic}
.s-hectic .ld-dur b{font-size:clamp(34px,5.4cqi,52px);font-weight:400}
.s-hectic .ld-rname{font-weight:400;font-style:italic}
.s-hectic .ld-steps li{border-top:1px solid var(--ink);text-align:center;justify-items:center}
.s-hectic .ld-steps b{font-style:italic;font-weight:400}
.s-hectic .ld-end{background:var(--night);color:#fff;justify-items:center;text-align:center}
.s-hectic .ld-end .ld-h2.big{font-style:italic;font-weight:400;max-width:16ch}
.s-hectic .ld-end .ld-btn.inv{background:#fff;color:var(--night)}
.s-hectic .ld-end .fx{width:26px;aspect-ratio:1;background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.s-hectic .ld-end .f1{left:12%;top:24%}.s-hectic .ld-end .f2{right:14%;top:34%;scale:.6;background:var(--c)}.s-hectic .ld-end .f3{left:26%;bottom:20%;scale:.5}
.s-hectic .ld-pill{border-radius:0!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-hectic .seal{animation:sx-spin 26s linear infinite;transform-origin:50% 50%}
  .ld-moving.s-hectic .seal .star{animation:sx-spin 13s linear infinite reverse;transform-origin:100px 100px}
  .ld-moving.s-hectic .ld-slide-pic::after{animation:sx-shine 5.5s 1.4s ease-in-out infinite}
  .ld-moving.s-hectic .sp,.ld-moving.s-hectic .ld-end .fx{animation:sx-twinkle 3.2s ease-in-out infinite}
  .ld-moving.s-hectic .sp.s2,.ld-moving.s-hectic .ld-end .f2{animation-delay:-1.1s}.ld-moving.s-hectic .sp.s3,.ld-moving.s-hectic .ld-end .f3{animation-delay:-2.1s}
  .ld-moving.s-hectic .ld-slide.enter .ld-slide-pic{animation:sx-arch 1.1s var(--e) both}
  .ld-moving.s-hectic .ld-slide-pic{transition:outline-offset .6s var(--e)}
  .ld-moving.s-hectic .ld-stage:hover .ld-slide-pic{outline-offset:20px}
  .ld-moving.s-hectic .ld-card .ld-pic::after{content:"";position:absolute;inset:-20% -60%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.55) 50%,transparent 58%);translate:-70% 0;transition:translate .9s var(--e);pointer-events:none}
  .ld-moving.s-hectic .ld-card:hover .ld-pic::after{translate:70% 0}
  .ld-moving.s-hectic.ld-paused :is(.seal,.star,.sp,.fx){animation-play-state:paused}
}
@keyframes sx-shine{0%,62%{translate:-70% 0}100%{translate:70% 0}}
@keyframes sx-twinkle{0%,100%{opacity:.25;rotate:0deg}50%{opacity:1;rotate:45deg}}
@keyframes sx-arch{from{clip-path:inset(100% 0 0 0 round 999px 999px 0 0)}to{clip-path:inset(0 round 999px 999px 0 0)}}

/* ============ Bruma — spas y bienestar. Ondas lentas, círculos de agua y formas de canto rodado ============ */
.s-neutro{--r:36px;--display:var(--sans);--paper:color-mix(in oklab,var(--a) 5%,#fff)}
.s-neutro .ld-hero{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;background:linear-gradient(180deg,color-mix(in oklab,var(--a) 20%,#fff),var(--paper) 72%);padding-bottom:clamp(120px,17cqi,230px)}
.s-neutro .ld-hero-copy{justify-items:center}
.s-neutro .ld-title{font-weight:300;letter-spacing:-.02em;font-size:clamp(36px,8.2cqi,98px);line-height:1.02;max-width:17ch}
.s-neutro .ld-h2{font-weight:300;letter-spacing:-.015em}
.s-neutro .ld-sub{max-width:40ch}
.s-neutro .ld-cta,.s-neutro .ld-quick{justify-content:center}
.s-neutro .ld-stage{width:min(100%,460px);justify-items:center}
.s-neutro .ld-slides{width:100%}
.s-neutro .ld-slide-pic{aspect-ratio:1;border-radius:58% 42% 47% 53%/46% 54% 46% 54%;max-height:none;box-shadow:0 40px 70px -40px color-mix(in oklab,var(--a) 70%,#000)}
.s-neutro .ld-slide-info{justify-content:center;text-align:center}
.s-neutro .ld-slide-name{font-weight:400;flex-basis:100%}
.s-neutro .ld-slide-info p{order:0}
.s-neutro .ld-ctrl{justify-content:center}
.s-neutro .ld-round{box-shadow:inset 0 0 0 1.5px var(--line)}
.s-neutro .ld-clock{background:color-mix(in oklab,var(--a) 22%,#fff);color:var(--deep)}.s-neutro .ld-clock b{font-weight:300}
.s-neutro .f1,.s-neutro .f2,.s-neutro .f3,.s-neutro .f4,.s-neutro .f5,.s-neutro .rings{display:none}
.s-neutro .fx.rp{display:block;left:50%;top:34%;width:min(46cqi,520px);aspect-ratio:1;margin:calc(min(46cqi,520px)/-2) 0 0 calc(min(46cqi,520px)/-2);border-radius:50%;box-shadow:inset 0 0 0 1.5px color-mix(in oklab,var(--a) 44%,#fff);opacity:.5}
.s-neutro .rp.r2{scale:1.5;opacity:.32}.s-neutro .rp.r3{scale:2.1;opacity:.18}
.s-neutro .fx.waves{display:block;left:0;bottom:0;width:150%;height:clamp(90px,14cqi,190px)}
.s-neutro .waves path{fill:color-mix(in oklab,var(--a) 20%,#fff)}.s-neutro .waves .w2{fill:var(--paper)}
.s-neutro .ld-ribbon{background:none;color:var(--deep);padding:6px 0 22px}
.s-neutro .ld-rtrack{font-weight:300;font-size:clamp(20px,3cqi,34px)}
.s-neutro .ld-rtrack span::after{background:color-mix(in oklab,var(--a) 50%,#fff);width:.36em;height:.36em}
.s-neutro .ld-head{justify-items:center;text-align:center;margin-inline:auto}
.s-neutro .ld-tools,.s-neutro .ld-chips,.s-neutro .ld-result{justify-content:center}
.s-neutro .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-neutro .ld-search input,.s-neutro .ld-sort select{border-radius:999px;padding-inline:22px}
.s-neutro .ld-card{text-align:center;transform:none;rotate:none}
.s-neutro .ld-pic{aspect-ratio:1;border-radius:50%}
.s-neutro .ld-card:nth-child(3n+2) .ld-pic{border-radius:58% 42% 47% 53%/46% 54% 46% 54%}
.s-neutro .ld-card:nth-child(3n) .ld-pic{border-radius:44% 56% 52% 48%/54% 44% 56% 46%}
.s-neutro .ld-cname{font-weight:500}
.s-neutro .ld-cfoot{justify-content:center}
.s-neutro .ld-badge{left:50%;translate:-50% 0;top:auto;bottom:8px;background:var(--a);color:var(--on-a)}
.s-neutro .ld-blk.alt{background:color-mix(in oklab,var(--a) 10%,#fff);border-radius:var(--r);margin-inline:clamp(8px,2cqi,28px)}
.s-neutro .ld-row{border:0;background:#fff;border-radius:var(--r);padding:20px clamp(16px,3cqi,30px);margin-bottom:10px}
.s-neutro .ld-row:last-child{border:0}
.s-neutro .ld-dur{background:color-mix(in oklab,var(--a) 16%,#fff);color:var(--deep)}
.s-neutro .ld-rname{font-weight:500}
.s-neutro .ld-steps li{border-top:0;text-align:center;justify-items:center}
.s-neutro .ld-steps b{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:300;color:var(--deep);box-shadow:inset 0 0 0 1.5px color-mix(in oklab,var(--a) 44%,#fff)}
.s-neutro .ld-facts>div{border-top:0;text-align:center}
.s-neutro .ld-reach{justify-content:center}
.s-neutro .ld-end{background:color-mix(in oklab,var(--a) 20%,#fff);color:var(--ink);justify-items:center;text-align:center;border-radius:var(--r) var(--r) 0 0}
.s-neutro .ld-end .ld-h2.big{font-weight:300;max-width:16ch;font-size:clamp(34px,7cqi,84px)}
.s-neutro .ld-end .ld-btn.inv{background:var(--a);color:var(--on-a)}
.s-neutro .ld-end .fx{left:50%;top:50%;width:46%;aspect-ratio:1;border-radius:50%;margin:-23% 0 0 -23%;box-shadow:inset 0 0 0 1.5px color-mix(in oklab,var(--a) 50%,#fff)}
.s-neutro .ld-end .f2{scale:1.5;opacity:.6}.s-neutro .ld-end .f3{scale:2;opacity:.35}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-neutro .rp{animation:sx-ripple 9s ease-out infinite}
  .ld-moving.s-neutro .rp.r2{animation-delay:-3s}.ld-moving.s-neutro .rp.r3{animation-delay:-6s}
  .ld-moving.s-neutro .waves{animation:sx-wave 16s linear infinite}
  .ld-moving.s-neutro .waves .w2{animation:sx-wave-in 11s ease-in-out infinite alternate}
  .ld-moving.s-neutro .ld-slide-pic{animation:sx-pebble 12s ease-in-out infinite}
  .ld-moving.s-neutro .ld-slide.enter .ld-slide-pic{animation:sx-pebble 12s ease-in-out infinite,sx-bloom 1.4s var(--e) both}
  .ld-moving.s-neutro .ld-hero .w>span{transition-duration:1.4s}
  .ld-moving.s-neutro .ld-pic{transition:border-radius 1.2s var(--e)}
  .ld-moving.s-neutro .ld-card:hover .ld-pic{border-radius:38% 62% 56% 44%/52% 40% 60% 48%}
  .ld-moving.s-neutro .ld-row{transition:translate .5s var(--e),box-shadow .5s var(--e)}
  .ld-moving.s-neutro .ld-row:hover{translate:0 -4px;box-shadow:0 22px 40px -30px color-mix(in oklab,var(--a) 70%,#000)}
  .ld-moving.s-neutro .ld-end .fx{animation:sx-ripple 9s ease-out infinite}
  .ld-moving.s-neutro .ld-end .f2{animation-delay:-3s}.ld-moving.s-neutro .ld-end .f3{animation-delay:-6s}
  .ld-moving.s-neutro .ld-rtrack{animation-duration:52s}
  .ld-moving.s-neutro.ld-paused :is(.rp,.waves,.w2,.ld-slide-pic,.fx){animation-play-state:paused}
}
@keyframes sx-ripple{0%{scale:.5;opacity:0}18%{opacity:.55}100%{scale:2.4;opacity:0}}
@keyframes sx-wave{to{translate:-33.333% 0}}
@keyframes sx-wave-in{to{translate:-4% 6px}}
@keyframes sx-pebble{0%,100%{border-radius:58% 42% 47% 53%/46% 54% 46% 54%}33%{border-radius:44% 56% 56% 44%/56% 42% 58% 44%}66%{border-radius:52% 48% 40% 60%/42% 58% 42% 58%}}
@keyframes sx-bloom{from{scale:.82;opacity:0}}

/* ============ Consulta — consultorios y asesorías. Sobrio; una línea se dibuja y acompaña la lectura ============ */
.s-editorial{--r:14px;--display:var(--serif);--paper:color-mix(in oklab,var(--a) 3%,#fff)}
.s-editorial .ld-top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--a);transform-origin:0 50%;scale:var(--sp,0) 1}
.s-editorial .ld-title{font-weight:500;font-size:clamp(34px,6.6cqi,74px);line-height:1.06;letter-spacing:-.01em;max-width:15ch}
.s-editorial .ld-h2{font-weight:500;font-size:clamp(28px,5cqi,54px);line-height:1.08}
.s-editorial .ld-sub{font-size:clamp(17px,2.1cqi,21px);max-width:42ch}
.s-editorial .ld-btn{border-radius:12px}.s-editorial .ld-lang,.s-editorial .ld-chips button{border-radius:10px}
.s-editorial .ld-hero{padding-block:clamp(28px,6cqi,84px) clamp(48px,8cqi,104px)}
.s-editorial .f1,.s-editorial .f2,.s-editorial .f3,.s-editorial .f4,.s-editorial .f5,.s-editorial .rings{display:none}
.s-editorial .fx.thread{display:block;right:-4cqi;top:-2cqi;width:min(64cqi,760px);fill:none;stroke:color-mix(in oklab,var(--a) 46%,#fff);stroke-width:2.2;stroke-linecap:round;overflow:visible}
.s-editorial .ld-slide-pic{box-shadow:0 30px 60px -40px color-mix(in oklab,var(--a) 60%,#000);aspect-ratio:1}
.s-editorial .ld-slide-name{font-weight:500}
.s-editorial .ld-round{box-shadow:inset 0 0 0 1.5px var(--line)}
.s-editorial .ld-clock{background:var(--soft);color:var(--deep);border-radius:var(--r);width:100%;height:100%;aspect-ratio:auto}
.s-editorial .ld-clock b{font-weight:500}
.s-editorial .ld-ribbon{display:none}
.s-editorial .ld-blk{padding-block:clamp(48px,7.5cqi,100px)}
.s-editorial .ld-blk.alt{background:#fff;border-block:1px solid var(--line)}
.s-editorial .ld-grid{perspective:none}
.s-editorial .ld-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px 10px 16px;transform:none;rotate:none}
.s-editorial .ld-pic{border-radius:8px;aspect-ratio:4/3}
.s-editorial .ld-cbody{padding-inline:6px}
.s-editorial .ld-cname{font-family:var(--serif);font-weight:500;font-size:clamp(17px,2.3cqi,21px)}
.s-editorial .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-editorial .ld-row{padding-block:26px}
.s-editorial .ld-dur{width:auto;height:auto;border-radius:999px;padding:8px 14px;background:var(--soft);color:var(--deep);display:inline-flex;gap:5px;align-items:baseline;font-family:var(--sans)}
.s-editorial .ld-dur b{font-size:16px;font-weight:700}.s-editorial .ld-dur i{font-size:13px}
.s-editorial .ld-rname{font-weight:500;font-size:clamp(20px,2.9cqi,27px)}
.s-editorial .ld-steps li{border-top:1px solid var(--line)}
.s-editorial .ld-steps b{font-size:18px;font-weight:600;font-family:var(--sans);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--a)}
.s-editorial .ld-sname{font-weight:500}
.s-editorial .ld-end{background:var(--soft);color:var(--ink)}
.s-editorial .ld-end .ld-h2.big{font-weight:500;font-size:clamp(30px,5.6cqi,60px);max-width:18ch}
.s-editorial .ld-end .ld-btn.inv{background:var(--a);color:var(--on-a)}
.s-editorial .ld-end .fx{display:none}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-editorial .thread path{stroke-dasharray:1900;--len:1900}
  .ld-moving.ld-go.s-editorial .thread path{animation:sx-draw 3.2s .3s cubic-bezier(.4,0,.2,1) both}
  .ld-moving.s-editorial .thread{translate:0 calc(var(--sy)*60px)}
  .ld-moving.s-editorial .ld-hero .w>span{transition-duration:1.1s}
  .ld-moving.s-editorial .ld-top::after{transition:scale .2s linear}
  .ld-moving.s-editorial .ld-slide.enter .ld-slide-pic{animation:sx-fade 1s var(--e) both}
  .ld-moving.s-editorial .ld-card{transition:translate .45s var(--e),box-shadow .45s var(--e),border-color .3s}
  .ld-moving.s-editorial .ld-card:hover{translate:0 -4px;border-color:var(--a);box-shadow:0 22px 40px -30px color-mix(in oklab,var(--a) 70%,#000)}
  .ld-moving.s-editorial .ld-row .ld-rname{transition:color .3s}
  .ld-moving.s-editorial .ld-row:hover .ld-rname{color:var(--a)}
  .ld-moving.s-editorial .ld-steps li b{transition:background-color .4s,color .4s}
  .ld-moving.s-editorial .ld-steps li.in b{background:var(--a);color:var(--on-a);transition-delay:calc(.3s + var(--n,0)*.18s)}
}
@keyframes sx-fade{from{opacity:0;scale:1.04}}
/* El sello de Brillo quedaba detrás del arco: va entre el texto y la imagen, a la vista. */
.s-hectic .fx.seal{right:auto;left:clamp(40%,44cqi,48%);top:auto;bottom:clamp(20px,6cqi,70px)}
@container (max-width:859px){.s-hectic .fx.seal{left:auto;right:var(--pad);bottom:auto;top:clamp(84px,22cqi,130px);width:92px}}

/* ============ Pasarela — ropa y moda. Titular gigante que se invierte sobre la foto; blanco y negro con el color de marca ============ */
.s-moda{--r:0px;--display:var(--cond);--paper:#fff;--ink:#0c0c0c}
.s-moda .ld-top{mix-blend-mode:normal}
.s-moda .ld-brand{text-transform:uppercase;letter-spacing:.16em;font-size:15px}
.s-moda .ld-links button,.s-moda .ld-lang{text-transform:uppercase;letter-spacing:.14em;font-size:12px;border-radius:0}
.s-moda .ld-btn{border-radius:0;text-transform:uppercase;letter-spacing:.16em;font-size:13px}
.s-moda .ld-mono,.s-moda .ld-brand img{border-radius:0}
.s-moda .ld-hero{grid-template-columns:minmax(0,1fr);min-height:min(92svh,900px);padding-top:clamp(8px,2cqi,24px);align-items:end}
.s-moda .ld-hero-copy,.s-moda .ld-stage{grid-area:1/1}
.s-moda .ld-stage{justify-self:center;align-self:start;width:min(52cqi,560px);z-index:1}
.s-moda .ld-slide-pic{aspect-ratio:3/4;max-height:min(78svh,760px);filter:grayscale(1) contrast(1.05)}
.s-moda .ld-slide-info{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.s-moda .ld-slide-name{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.s-moda .ld-round{border-radius:0;width:42px;height:42px;box-shadow:inset 0 0 0 1px currentColor}
.s-moda .ld-progress{height:1px}
.s-moda .ld-hero-copy{z-index:3;mix-blend-mode:difference;color:#fff;justify-items:start;pointer-events:none;align-self:end;padding-bottom:clamp(60px,9cqi,120px)}
.s-moda .ld-hero-copy>*{pointer-events:auto}
.s-moda .ld-title{text-transform:uppercase;font-weight:800;font-size:clamp(54px,15.5cqi,230px);line-height:.8;letter-spacing:-.02em;max-width:none}
.s-moda .ld-sub{color:#fff;max-width:30ch;text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:600}
.s-moda .ld-quick{color:#fff}.s-moda .ld-quick i{background:#fff}
.s-moda .ld-hero .ld-btn.solid{background:#fff;color:#000}.s-moda .ld-hero .ld-btn.solid::before{display:none}
.s-moda .ld-hero .ld-btn.ghost{color:#fff}
.s-moda .f1,.s-moda .f2,.s-moda .f3,.s-moda .f4,.s-moda .f5,.s-moda .rings{display:none}
.s-moda .ld-ghost{display:block;left:auto;right:calc(var(--pad)*.3);bottom:auto;top:12%;writing-mode:vertical-rl;font-size:clamp(11px,1.1cqi,14px);font-weight:700;letter-spacing:.5em;text-transform:uppercase;color:var(--ink);font-family:var(--sans);line-height:1}
.s-moda .ld-ribbon{background:var(--ink);padding:10px 0}
.s-moda .ld-rtrack{text-transform:uppercase;font-size:clamp(18px,2.6cqi,30px);letter-spacing:.06em;gap:30px}
.s-moda .ld-rtrack span{gap:30px}.s-moda .ld-rtrack span::after{border-radius:0;width:1.6em;height:2px;background:var(--a)}
.s-moda .ld-h2{text-transform:uppercase;font-size:clamp(40px,9cqi,120px);line-height:.84;letter-spacing:-.015em}
.s-moda .ld-lead{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}
.s-moda .ld-chips button{border-radius:0;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.s-moda .ld-search input,.s-moda .ld-sort select{border-radius:0;border-width:0 0 1.5px;border-color:var(--ink);padding-inline:0;background:none}
.s-moda .ld-grid{gap:clamp(28px,5cqi,64px) clamp(8px,1.4cqi,18px);perspective:none}
.s-moda .ld-card{transform:none;rotate:none}
.s-moda .ld-pic{aspect-ratio:2/3}
.s-moda .ld-pic>.ld-photo{filter:grayscale(1)}
.s-moda .ld-pic::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--a);scale:0 1;transform-origin:0 50%}
.s-moda .ld-cname{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.s-moda .ld-ccat,.s-moda .ld-stock{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.s-moda .ld-tag{font-size:13px;letter-spacing:.06em}
.s-moda .ld-badge{border-radius:0;background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:10px;left:0;top:0}
.s-moda .ld-plate b{font-weight:800}
.s-moda .ld-blk.alt{background:var(--ink);color:#fff;--muted:rgba(255,255,255,.72);--line:rgba(255,255,255,.3)}
.s-moda .ld-blk.alt .ld-btn.solid{background:#fff;color:#000}.s-moda .ld-blk.alt .ld-btn.solid::before{background:var(--a)}.s-moda .ld-blk.alt .ld-btn.solid:hover{color:var(--on-a)}
.s-moda .ld-dur{border-radius:0;background:none;color:inherit;width:auto;height:auto;justify-items:start}
.s-moda .ld-dur b{font-size:clamp(40px,7cqi,72px);line-height:.8}
.s-moda .ld-rname{text-transform:uppercase;font-size:clamp(22px,4cqi,40px);line-height:.92}
.s-moda .ld-steps li{border-top-width:1.5px}.s-moda .ld-steps b{color:var(--ink);font-size:clamp(60px,11cqi,120px);line-height:.78}
.s-moda .ld-sname{text-transform:uppercase}
.s-moda .ld-end{background:var(--a)}
.s-moda .ld-end .ld-h2.big{font-size:clamp(54px,14cqi,200px);line-height:.8;max-width:none}
.s-moda .ld-end .fx{display:none}
.s-moda .ld-pill{border-radius:0!important;text-transform:uppercase;letter-spacing:.14em;font-size:13px!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-moda .ld-title{letter-spacing:.12em;opacity:0}
  .ld-moving.ld-go.s-moda .ld-title{letter-spacing:-.02em;opacity:1;transition:letter-spacing 1.5s var(--e),opacity .6s}
  .ld-moving.s-moda .ld-hero .w>span{translate:0 0}
  .ld-moving.s-moda .ld-slide-pic>*{animation:sx-kenburns 14s ease-in-out infinite alternate}
  .ld-moving.s-moda .ld-slide.enter .ld-slide-pic{animation:sx-curtain 1.1s var(--e) both}
  .ld-moving.s-moda .ld-ghost{translate:0 calc(var(--sy)*120px);transition:translate .4s linear}
  .ld-moving.s-moda .ld-card .ld-pic::after{transition:scale .6s var(--e)}
  .ld-moving.s-moda .ld-card:hover .ld-pic::after{scale:1 1}
  .ld-moving.s-moda .ld-pic>.ld-photo{transition:filter .6s,scale 1.2s var(--e)}
  .ld-moving.s-moda .ld-card:hover .ld-pic>.ld-photo{filter:none}
  .ld-moving.s-moda .ld-stage:hover .ld-slide-pic{filter:none;transition:filter .6s}
  .ld-moving.s-moda .ld-rtrack{animation-duration:18s}
  .ld-moving.s-moda .ld-row{transition:padding-left .5s var(--e)}.ld-moving.s-moda .ld-row:hover{padding-left:18px}
  .ld-moving.s-moda.ld-paused .ld-slide-pic>*{animation-play-state:paused}
}
@keyframes sx-kenburns{from{scale:1}to{scale:1.14;translate:-2% -2%}}
@keyframes sx-curtain{from{clip-path:inset(0 50% 0 50%)}to{clip-path:inset(0)}}

/* ============ Circuito — tecnología. Fondo oscuro, retícula, línea de barrido y luz que sigue al cursor ============ */
.s-tech{--r:10px;--display:var(--sans);--paper:#0b0d12;--ink:#eef1f6;--muted:#9aa3b2;--line:rgba(255,255,255,.14);--soft:rgba(255,255,255,.05);--mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;--glow:color-mix(in oklab,var(--a) 70%,#fff)}
.s-tech .ld{background:var(--paper);color:var(--ink)}
.s-tech .ld-top.solid{background:rgba(11,13,18,.82);box-shadow:0 1px 0 var(--line)}
.s-tech .ld-brand{font-family:var(--mono);font-weight:600;font-size:15px}
.s-tech .ld-mono{border-radius:6px}
.s-tech .ld-links button{font-family:var(--mono);font-size:13px;font-weight:500;border-radius:6px}
.s-tech .ld-lang{font-family:var(--mono);border-radius:6px}
.s-tech .ld-btn{border-radius:8px;font-family:var(--mono);font-size:14px;font-weight:600}
.s-tech .ld-btn.solid{box-shadow:0 0 0 1px var(--glow),0 0 28px -6px var(--a)}
.s-tech .ld-btn.solid::before{background:#fff}.s-tech .ld-btn.solid:hover{color:#0b0d12}
.s-tech .ld-hero{overflow:hidden}
.s-tech .ld-title{font-weight:700;letter-spacing:-.03em;font-size:clamp(38px,8cqi,96px);line-height:1}
.s-tech .ld-title::after{content:"";display:inline-block;width:.09em;height:.82em;margin-left:.08em;background:var(--glow);vertical-align:-.06em}
.s-tech .ld-sub{font-size:clamp(16px,1.9cqi,20px)}
.s-tech .ld-quick{font-family:var(--mono);font-size:12px}
.s-tech .f1{inset:0;width:auto;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 0,transparent 72%);mask-image:radial-gradient(ellipse at 60% 40%,#000 0,transparent 72%)}
.s-tech .f2{left:0;right:0;top:0;height:140px;background:linear-gradient(180deg,transparent,color-mix(in oklab,var(--a) 30%,transparent),transparent);opacity:.6}
.s-tech .f3{width:70cqi;aspect-ratio:1;border-radius:50%;left:calc(50% + var(--px)*90% - 35cqi);top:calc(50% + var(--py)*90% - 35cqi);background:radial-gradient(circle,color-mix(in oklab,var(--a) 38%,transparent),transparent 62%)}
.s-tech .f4,.s-tech .f5,.s-tech .rings{display:none}
.s-tech .ld-slide-pic{background:#11141b;box-shadow:0 0 0 1px var(--line),0 40px 80px -40px var(--a);aspect-ratio:4/3}
.s-tech .ld-slide-pic::before,.s-tech .ld-slide-pic::after{content:"";position:absolute;width:26px;height:26px;border:2px solid var(--glow);z-index:2;pointer-events:none}
.s-tech .ld-slide-pic::before{left:10px;top:10px;border-right:0;border-bottom:0}.s-tech .ld-slide-pic::after{right:10px;bottom:10px;border-left:0;border-top:0}
.s-tech .ld-slide-name{font-weight:700;letter-spacing:-.01em}
.s-tech .ld-slide-info p,.s-tech .ld-count{font-family:var(--mono);font-size:13px}
.s-tech .ld-round{border-radius:8px;box-shadow:inset 0 0 0 1px var(--line)}
.s-tech .ld-progress i{background:var(--glow)}
.s-tech .ld-clock{background:none;color:var(--glow);font-family:var(--mono)}
.s-tech .ld-plate{background:#11141b}.s-tech .ld-plate b{color:var(--glow);font-family:var(--mono);font-weight:600}
.s-tech .ld-plate i:first-child{background:color-mix(in oklab,var(--a) 36%,transparent)}.s-tech .ld-plate i:nth-child(2){background:color-mix(in oklab,var(--b) 26%,transparent)}
.s-tech .ld-ribbon{background:none;border-block:1px solid var(--line);color:var(--muted);padding:12px 0}
.s-tech .ld-rtrack{font-family:var(--mono);font-weight:500;font-size:clamp(14px,1.7cqi,18px);gap:32px}
.s-tech .ld-rtrack span{gap:32px}.s-tech .ld-rtrack span::after{border-radius:0;width:8px;height:8px;background:var(--glow)}
.s-tech .ld-h2{font-weight:700;letter-spacing:-.025em;font-size:clamp(30px,5.6cqi,64px)}
.s-tech .ld-search input,.s-tech .ld-sort select{background:#11141b;color:var(--ink);border-color:var(--line);border-radius:8px;font-family:var(--mono);font-size:14px}
.s-tech .ld-chips button{border-radius:8px;font-family:var(--mono);font-size:13px}
.s-tech .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-tech .ld-result button{color:var(--ink)}
.s-tech .ld-grid{perspective:none}
.s-tech .ld-card{background:#11141b;border:1px solid var(--line);border-radius:var(--r);padding:8px 8px 14px;transform:none;rotate:none;overflow:hidden}
.s-tech .ld-pic{border-radius:6px;aspect-ratio:4/3;background:#0b0d12}
.s-tech .ld-cbody{padding-inline:6px}
.s-tech .ld-cname{font-weight:600;letter-spacing:-.01em}
.s-tech .ld-ccat,.s-tech .ld-stock,.s-tech .ld-tag{font-family:var(--mono);font-size:12.5px}
.s-tech .ld-tag{color:var(--glow)}
.s-tech .ld-badge{border-radius:4px;background:var(--a);color:var(--on-a);font-family:var(--mono);font-size:11px}
.s-tech .ld-blk.alt{background:#0e1118;border-block:1px solid var(--line)}
.s-tech .ld-row{border-color:var(--line)}
.s-tech .ld-dur{border-radius:8px;background:#11141b;color:var(--glow);box-shadow:inset 0 0 0 1px var(--line);font-family:var(--mono)}
.s-tech .ld-rname{font-weight:600;letter-spacing:-.015em;font-size:clamp(19px,2.8cqi,26px)}
.s-tech .ld-rmeta{font-family:var(--mono);font-size:13px}
.s-tech .ld-steps li{border-top:1px solid var(--line)}
.s-tech .ld-steps b{font-family:var(--mono);color:var(--glow);font-size:clamp(28px,4.4cqi,44px);font-weight:500}
.s-tech .ld-steps b::before{content:"0"}
.s-tech .ld-facts>div{border-color:var(--line)}
.s-tech .ld-end{background:linear-gradient(135deg,color-mix(in oklab,var(--a) 70%,#0b0d12),#0b0d12);color:#fff}
.s-tech .ld-end .ld-h2.big{font-size:clamp(34px,7cqi,88px);letter-spacing:-.03em}
.s-tech .ld-end .fx{display:none}
.s-tech .ld-end .ld-btn.inv{background:#fff;color:#0b0d12}
.s-tech .ld-foot{background:#07080b;border-top:1px solid var(--line)}
.s-tech .ld-pill{background:var(--a)!important;color:var(--on-a)!important;border-radius:10px!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-tech .f2{animation:sx-scan 7s linear infinite}
  .ld-moving.s-tech .f3{transition:left .5s var(--e),top .5s var(--e)}
  .ld-moving.s-tech .f1{animation:sx-gridmove 20s linear infinite}
  .ld-moving.s-tech .ld-title::after{animation:sx-caret 1.1s steps(1) infinite}
  .ld-moving.s-tech .ld-hero .w>span{translate:0 0;clip-path:inset(0 100% 0 0)}
  .ld-moving.ld-go.s-tech .ld-hero .w>span{clip-path:inset(0);transition:clip-path .5s steps(8);transition-delay:calc(.2s + var(--n,0)*.16s)}
  .ld-moving.s-tech .ld-slide.enter .ld-slide-pic{animation:sx-boot .7s steps(6) both}
  .ld-moving.s-tech .ld-card{transition:border-color .3s,box-shadow .4s,translate .4s var(--e)}
  .ld-moving.s-tech .ld-card:hover{border-color:var(--glow);box-shadow:0 0 0 1px var(--glow),0 24px 50px -28px var(--a);translate:0 -4px}
  .ld-moving.s-tech .ld-row:hover .ld-dur{box-shadow:inset 0 0 0 1px var(--glow),0 0 22px -6px var(--a)}
  .ld-moving.s-tech .ld-btn.solid{animation:sx-pulse 3.4s ease-in-out infinite}
  .ld-moving.s-tech .ld-rtrack{animation-duration:40s}
  .ld-moving.s-tech.ld-paused :is(.f1,.f2,.ld-btn.solid){animation-play-state:paused}
}
@keyframes sx-scan{from{translate:0 -160px}to{translate:0 100cqb}}
@keyframes sx-gridmove{to{background-position:56px 56px,56px 56px}}
@keyframes sx-caret{50%{opacity:0}}
@keyframes sx-boot{0%{clip-path:inset(0 0 100% 0);filter:brightness(2.2)}60%{filter:brightness(1.4)}100%{clip-path:inset(0);filter:none}}
@keyframes sx-pulse{50%{box-shadow:0 0 0 1px var(--glow),0 0 44px -4px var(--a)}}

/* ============ Atelier — buen gusto. Mucho aire, serif fina, filetes que se dibujan y cortinas que se abren ============ */
.s-atelier{--r:0px;--display:var(--serif);--paper:#fbfbfc;--ink:#15171c;--line:color-mix(in oklab,var(--ink) 18%,var(--paper))}
.s-atelier .ld-top{padding-block:20px}
.s-atelier .ld-brand{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.02em}
.s-atelier .ld-mono,.s-atelier .ld-brand img{border-radius:50%}
.s-atelier .ld-links button{font-size:13px;font-weight:500;letter-spacing:.08em;border-radius:0}
.s-atelier .ld-lang{border-radius:0;box-shadow:none;letter-spacing:.1em}
.s-atelier .ld-btn{border-radius:0;font-weight:500;letter-spacing:.1em;font-size:13px;min-height:52px;padding-inline:32px}
.s-atelier .ld-btn.solid{background:var(--ink);color:#fff}.s-atelier .ld-btn.solid::before{background:var(--a)}.s-atelier .ld-btn.solid:hover{color:var(--on-a)}
.s-atelier .ld-btn.ghost{box-shadow:inset 0 0 0 1px currentColor}
.s-atelier .ld-hero{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:clamp(30px,6cqi,70px);padding-top:clamp(30px,6cqi,80px)}
.s-atelier .ld-hero-copy{justify-items:center}
.s-atelier .ld-title{font-weight:400;font-size:clamp(36px,7.6cqi,96px);line-height:1.04;letter-spacing:-.01em;max-width:16ch}
.s-atelier .ld-sub{max-width:44ch;font-size:clamp(16px,1.8cqi,19px)}
.s-atelier .ld-cta,.s-atelier .ld-quick{justify-content:center}
.s-atelier .ld-quick{letter-spacing:.06em;font-weight:500}
.s-atelier .ld-quick i{width:18px;height:1px;border-radius:0;background:var(--ink)}
.s-atelier .f1,.s-atelier .f2,.s-atelier .f3,.s-atelier .f4,.s-atelier .f5,.s-atelier .rings{display:none}
.s-atelier .ld-stage{width:min(100%,860px);justify-items:center}
.s-atelier .ld-slides{width:100%;position:relative}
.s-atelier .ld-slides::after{content:"";position:absolute;inset:-14px;border:1px solid var(--ink);pointer-events:none;bottom:auto;aspect-ratio:16/9;height:calc(100% - 0px);max-height:none}
.s-atelier .ld-slide-pic{aspect-ratio:16/9;max-height:none}
.s-atelier .ld-slides::after{height:auto;aspect-ratio:auto;bottom:calc(100% - (100cqi*0))}
.s-atelier .ld-slide-info{justify-content:center;text-align:center;margin-top:30px}
.s-atelier .ld-slide-name{font-weight:400;flex-basis:100%;font-size:clamp(20px,2.8cqi,28px)}
.s-atelier .ld-slide-info p{order:0;letter-spacing:.06em}
.s-atelier .ld-ctrl{justify-content:center}
.s-atelier .ld-round{box-shadow:none;border-radius:0;width:44px}
.s-atelier .ld-progress{height:1px;max-width:160px}.s-atelier .ld-progress i{background:var(--ink)}
.s-atelier .ld-clock{background:none;color:var(--ink)}.s-atelier .ld-clock b{font-weight:400}
.s-atelier .ld-ribbon{background:none;color:var(--ink);border-block:1px solid var(--line);padding:18px 0}
.s-atelier .ld-rtrack{font-weight:400;font-style:italic;font-size:clamp(18px,2.4cqi,26px);gap:38px}
.s-atelier .ld-rtrack span{gap:38px}.s-atelier .ld-rtrack span::after{width:26px;height:1px;border-radius:0;background:var(--ink)}
.s-atelier .ld-blk{padding-block:clamp(64px,11cqi,150px)}
.s-atelier .ld-head{justify-items:center;text-align:center;margin-inline:auto;gap:18px}
.s-atelier .ld-head::after{content:"";width:56px;height:1px;background:var(--ink);order:2}
.s-atelier .ld-h2{font-weight:400;font-size:clamp(30px,5.6cqi,64px);letter-spacing:-.005em}
.s-atelier .ld-lead{order:3}
.s-atelier .ld-tools,.s-atelier .ld-chips,.s-atelier .ld-result{justify-content:center}
.s-atelier .ld-chips button{border-radius:0;box-shadow:none;border-bottom:1px solid transparent;font-weight:500;letter-spacing:.08em;font-size:13px;padding-inline:10px}
.s-atelier .ld-chips button[aria-pressed=true]{background:none;color:var(--ink);border-bottom-color:var(--ink)}
.s-atelier .ld-search input,.s-atelier .ld-sort select{border-radius:0;border-width:0 0 1px;border-color:var(--ink);background:none;padding-inline:2px}
.s-atelier .ld-grid{gap:clamp(40px,7cqi,84px) clamp(18px,3.4cqi,48px);perspective:none}
.s-atelier .ld-card{text-align:center;transform:none;rotate:none;gap:18px}
.s-atelier .ld-pic{aspect-ratio:4/5;overflow:visible;background:none}
.s-atelier .ld-pic>.ld-photo,.s-atelier .ld-pic>.ld-plate{position:absolute;inset:0;overflow:hidden}
.s-atelier .ld-pic::after{content:"";position:absolute;inset:0;border:1px solid var(--ink);translate:10px 10px;pointer-events:none;z-index:-1}
.s-atelier .ld-card{isolation:isolate}
.s-atelier .ld-cname{font-family:var(--serif);font-weight:400;font-size:clamp(18px,2.4cqi,23px)}
.s-atelier .ld-ccat{letter-spacing:.06em;font-size:13px}
.s-atelier .ld-cfoot{justify-content:center}
.s-atelier .ld-tag{font-weight:500;letter-spacing:.04em}
.s-atelier .ld-badge{border-radius:0;background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink);letter-spacing:.1em;font-weight:500;font-size:11px;left:50%;translate:-50% 50%;top:auto;bottom:0}
.s-atelier .ld-blk.alt{background:#fff;border-block:1px solid var(--line)}
.s-atelier .ld-rows{max-width:860px;margin-inline:auto}
.s-atelier .ld-dur{background:none;color:var(--ink);border-radius:0;width:auto;height:auto;font-family:var(--serif)}
.s-atelier .ld-dur b{font-size:clamp(30px,4.6cqi,44px);font-weight:400}
.s-atelier .ld-rname{font-weight:400;font-size:clamp(20px,3cqi,28px)}
.s-atelier .ld-steps li{border-top:1px solid var(--ink);text-align:center;justify-items:center;padding-top:26px}
.s-atelier .ld-steps b{font-weight:400;font-style:italic;color:var(--ink);font-size:clamp(34px,5cqi,52px)}
.s-atelier .ld-sname{font-weight:400}
.s-atelier .ld-facts>div{text-align:center;border-top-color:var(--ink)}
.s-atelier .ld-reach{justify-content:center}
.s-atelier .ld-end{background:var(--ink);color:#fff;justify-items:center;text-align:center}
.s-atelier .ld-end .ld-h2.big{font-weight:400;font-size:clamp(34px,6.4cqi,78px);max-width:16ch}
.s-atelier .ld-end .ld-btn.inv{background:#fff;color:var(--ink)}
.s-atelier .ld-end .fx{display:none}
.s-atelier .ld-pill{border-radius:0!important;letter-spacing:.1em;font-weight:500!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-atelier .ld-slides::after{clip-path:inset(0 100% 100% 0)}
  .ld-moving.ld-go.s-atelier .ld-slides::after{clip-path:inset(0);transition:clip-path 1.8s .5s var(--e)}
  .ld-moving.s-atelier .ld-slide.enter .ld-slide-pic{animation:sx-curtain 1.4s var(--e) both}
  .ld-moving.s-atelier .ld-slide-pic>*{animation:sx-kenburns 18s ease-in-out infinite alternate}
  .ld-moving.s-atelier .ld-hero .w>span{transition-duration:1.5s}
  .ld-moving.s-atelier .ld-title{letter-spacing:.03em}
  .ld-moving.ld-go.s-atelier .ld-title{letter-spacing:-.01em;transition:letter-spacing 2s var(--e)}
  .ld-moving.s-atelier .ld-head::after{scale:0 1}
  .ld-moving.s-atelier .ld-head.in::after{scale:1 1;transition:scale 1.1s .4s var(--e)}
  .ld-moving.s-atelier .ld-pic::after{transition:translate .6s var(--e)}
  .ld-moving.s-atelier .ld-card:hover .ld-pic::after{translate:0 0}
  .ld-moving.s-atelier .ld-card:hover .ld-pic>*:first-child{scale:1.03}
  .ld-moving.s-atelier .ld-rtrack{animation-duration:60s}
  .ld-moving.s-atelier .ld-row .ld-rname{transition:translate .5s var(--e)}.ld-moving.s-atelier .ld-row:hover .ld-rname{translate:10px 0}
  .ld-moving.s-atelier.ld-paused .ld-slide-pic>*{animation-play-state:paused}
}
/* Ajustes tras revisar las capturas de v0.26 */
.s-atelier .ld-slides{isolation:isolate}
.s-atelier .ld-slides::after{inset:14px -14px auto 14px;height:auto;aspect-ratio:16/9;bottom:auto;z-index:-1}
.s-moda .ld-title{font-size:clamp(48px,13cqi,190px)}

/* ============ Halloween — de temporada. Noche, luna, niebla, estrellas y murciélagos. Paleta propia ============ */
.s-halloween .ld{--a:#ff7a1a;--b:#9b5cff;--c:#b6f23a;--on-a:#1a0f24;--paper:#150d1f;--ink:#f6efe6;--muted:#c3b6d3;--line:rgba(255,255,255,.16);--soft:rgba(255,255,255,.06);--deep:#ffb37a;--display:var(--cond);--r:18px;background:var(--paper);color:var(--ink)}
.s-halloween .ld-top.solid{background:rgba(21,13,31,.86);box-shadow:0 1px 0 var(--line)}
.s-halloween .ld-hero{overflow:hidden;background:radial-gradient(ellipse at 76% 22%,#3a2157 0,#150d1f 62%)}
.s-halloween .ld-title{text-transform:uppercase;font-weight:800;font-size:clamp(44px,10.6cqi,128px);line-height:.88;color:var(--a);text-shadow:0 0 34px rgba(255,122,26,.45)}
.s-halloween .ld-h2,.s-halloween .ld-slide-name,.s-halloween .ld-rname,.s-halloween .ld-sname{text-transform:uppercase}
.s-halloween .ld-h2{color:var(--a)}
.s-halloween .ld-btn.solid::before{background:var(--c)}
.s-halloween .ld-btn.solid:hover{color:#1a0f24}
.s-halloween .f1{width:clamp(120px,22cqi,280px);aspect-ratio:1;border-radius:50%;right:8cqi;top:9%;background:radial-gradient(circle at 38% 36%,#fff7dc,#ffd98a 60%,#f2b84b);box-shadow:0 0 90px 20px rgba(255,217,138,.32);translate:calc(var(--px)*-20px) calc(var(--py)*-20px)}
.s-halloween .f2{left:-20%;right:-20%;bottom:-4%;height:38%;background:radial-gradient(ellipse at 30% 100%,rgba(155,92,255,.38),transparent 60%),radial-gradient(ellipse at 72% 100%,rgba(255,255,255,.16),transparent 58%);filter:blur(6px)}
.s-halloween .f3,.s-halloween .f4{width:clamp(34px,5.4cqi,70px);aspect-ratio:2/1;background:#0b0611;clip-path:polygon(50% 34%,56% 8%,62% 30%,78% 18%,100% 46%,86% 44%,78% 62%,66% 52%,56% 78%,50% 62%,44% 78%,34% 52%,22% 62%,14% 44%,0 46%,22% 18%,38% 30%,44% 8%);left:14%;top:26%}
.s-halloween .f4{left:58%;top:14%;scale:.7}
.s-halloween .f5,.s-halloween .rings{display:none}
.s-halloween .fx.sp{display:block;width:clamp(8px,1.2cqi,14px);aspect-ratio:1;background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.s-halloween .sp.s1{left:22%;top:12%}.s-halloween .sp.s2{left:48%;top:30%}.s-halloween .sp.s3{left:66%;top:8%}
.s-halloween .ld-slide-pic{box-shadow:0 0 0 3px var(--a),0 30px 70px -30px #000;rotate:1.5deg;background:#231633}
.s-halloween .ld-plate{background:#231633}.s-halloween .ld-plate b{color:var(--a)}
.s-halloween .ld-plate i:first-child{background:rgba(155,92,255,.4)}.s-halloween .ld-plate i:nth-child(2){background:rgba(182,242,58,.3)}
.s-halloween .ld-round{box-shadow:inset 0 0 0 2px var(--line)}
.s-halloween .ld-ribbon{background:var(--a);color:#1a0f24}
.s-halloween .ld-rtrack{text-transform:uppercase;font-size:clamp(22px,3.8cqi,44px)}
.s-halloween .ld-rtrack span::after{background:#1a0f24;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);border-radius:0;width:.7em;height:.7em}
.s-halloween .ld-search input,.s-halloween .ld-sort select{background:#231633;color:var(--ink);border-color:var(--line)}
.s-halloween .ld-chips button[aria-pressed=true]{background:var(--a);color:#1a0f24}
.s-halloween .ld-result button{color:var(--ink)}
.s-halloween .ld-pic{background:#231633;box-shadow:0 0 0 2px var(--line)}
.s-halloween .ld-cname{font-family:var(--cond);font-size:clamp(19px,3cqi,26px);font-weight:800;text-transform:uppercase;line-height:1.02}
.s-halloween .ld-tag{color:var(--c)}
.s-halloween .ld-badge{background:var(--b);color:#fff}
.s-halloween .ld-stock::before{background:var(--c)}
.s-halloween .ld-blk.alt{background:#1d1229}
.s-halloween .ld-steps li{border-top-color:var(--a)}
.s-halloween .ld-end{background:linear-gradient(180deg,#2a1640,#150d1f);color:var(--ink)}
.s-halloween .ld-end .ld-h2.big{text-transform:uppercase;line-height:.88}
.s-halloween .ld-end .ld-btn.inv{background:var(--a);color:#1a0f24}
.s-halloween .ld-end .fx{width:60px;aspect-ratio:2/1;background:#0b0611;clip-path:polygon(50% 34%,56% 8%,62% 30%,78% 18%,100% 46%,86% 44%,78% 62%,66% 52%,56% 78%,50% 62%,44% 78%,34% 52%,22% 62%,14% 44%,0 46%,22% 18%,38% 30%,44% 8%)}
.s-halloween .ld-end .f1{right:12%;top:20%}.s-halloween .ld-end .f2{right:30%;top:44%;scale:.6}.s-halloween .ld-end .f3{right:6%;bottom:22%;scale:.8}
.s-halloween .ld-foot{background:#0b0611}
.s-halloween .ld-pill{background:var(--a)!important;color:#1a0f24!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-halloween .ld-hero .f1{animation:sx-moon 7s ease-in-out infinite}
  .ld-moving.s-halloween .ld-hero .f2{animation:sx-fog 16s ease-in-out infinite alternate}
  .ld-moving.s-halloween .ld-hero .f3{animation:sx-bat 13s linear infinite}
  .ld-moving.s-halloween .ld-hero .f4{animation:sx-bat 17s -6s linear infinite}
  .ld-moving.s-halloween .sp{animation:sx-twinkle 3s ease-in-out infinite}
  .ld-moving.s-halloween .sp.s2{animation-delay:-1s}.ld-moving.s-halloween .sp.s3{animation-delay:-2s}
  .ld-moving.s-halloween .ld-title{animation:sx-flicker 5s 2s steps(1) infinite}
  .ld-moving.s-halloween .ld-hero .w>span{translate:0 120%;rotate:-5deg}
  .ld-moving.ld-go.s-halloween .ld-hero .w>span{translate:0 0;rotate:0deg;transition:translate .9s var(--spring),rotate .9s var(--spring);transition-delay:calc(.1s + var(--n,0)*.1s)}
  .ld-moving.s-halloween .ld-slide.enter .ld-slide-pic{animation:sx-spook .9s var(--spring) both}
  .ld-moving.s-halloween .ld-card:hover .ld-pic{animation:sx-shiver .4s linear 2}
  .ld-moving.s-halloween .ld-end .fx{animation:sx-hover-bat 3.4s ease-in-out infinite}
  .ld-moving.s-halloween .ld-end .f2{animation-delay:-1.2s}.ld-moving.s-halloween .ld-end .f3{animation-delay:-2.2s}
  .ld-moving.s-halloween.ld-paused :is(.fx,.ld-title){animation-play-state:paused}
}
@keyframes sx-moon{50%{box-shadow:0 0 130px 40px rgba(255,217,138,.42)}}
@keyframes sx-fog{from{translate:-6% 0}to{translate:6% -4%}}
@keyframes sx-bat{0%{translate:-30cqi 12cqi;scale:.6 1}10%{scale:1 1}20%{scale:.6 1}30%{scale:1 1}40%{scale:.6 1}50%{translate:40cqi -6cqi;scale:1 1}60%{scale:.6 1}70%{scale:1 1}80%{scale:.6 1}90%{scale:1 1}100%{translate:110cqi 8cqi;scale:.6 1}}
@keyframes sx-flicker{0%,100%{opacity:1}4%{opacity:.55}6%{opacity:1}9%{opacity:.7}11%{opacity:1}}
@keyframes sx-spook{from{scale:.6;rotate:-10deg;opacity:0}to{rotate:1.5deg}}
@keyframes sx-shiver{25%{translate:-3px 0}75%{translate:3px 0}}
@keyframes sx-hover-bat{50%{translate:0 -14px;scale:.8 1}}

/* ============ Navidad — de temporada. Nieve que cae, luces que titilan y un adorno que se mece. Paleta propia ============ */
.s-navidad .ld{--a:#c8102e;--b:#0f7a4d;--c:#f2c14e;--on-a:#fff;--paper:#fbf8f3;--ink:#14261d;--muted:#55665d;--line:rgba(20,38,29,.16);--soft:#eef4ef;--deep:#0b4a30;--display:var(--serif);--r:22px;background:var(--paper);color:var(--ink)}
.s-navidad .ld-hero{overflow:hidden;background:linear-gradient(180deg,#0f5a3a,#0b4a30 70%);color:#fff;padding-bottom:clamp(110px,15cqi,200px)}
.s-navidad .ld-top{color:#fff;margin-bottom:-76px}.s-navidad .ld-top.solid{color:var(--ink)}
.s-navidad .ld-hero{padding-top:calc(76px + clamp(28px,6cqi,70px))}
.s-navidad .ld-top:not(.solid) .ld-lang{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.s-navidad .ld-title{font-weight:500;font-style:italic;font-size:clamp(40px,9cqi,110px);line-height:1}
.s-navidad .ld-h2{font-weight:500;font-style:italic;color:var(--deep)}
.s-navidad .ld-sub{color:rgba(255,255,255,.88)}
.s-navidad .ld-quick{color:rgba(255,255,255,.85)}.s-navidad .ld-quick i{background:var(--c)}
.s-navidad .ld-hero .ld-btn.ghost{color:#fff}
.s-navidad .ld-hero .ld-btn.solid::before{background:#fff}.s-navidad .ld-hero .ld-btn.solid:hover{color:var(--a)}
.s-navidad .ld-hero :focus-visible{outline-color:#fff}
.s-navidad .ld-hero .ld-slide-info p{color:rgba(255,255,255,.85)}
.s-navidad .ld-hero .ld-progress{background:rgba(255,255,255,.3)}.s-navidad .ld-hero .ld-progress i{background:#fff}
/* Luces en lo alto: dos tiras alternadas */
.s-navidad .f1,.s-navidad .f2{left:0;right:0;top:66px;height:26px;background-repeat:repeat-x;background-size:84px 26px}
.s-navidad .f1{background-image:radial-gradient(circle at 21px 14px,#ffd84d 6px,transparent 7px),radial-gradient(circle at 63px 14px,#ff5a5f 6px,transparent 7px)}
.s-navidad .f2{background-image:radial-gradient(circle at 42px 16px,#7ee0ff 6px,transparent 7px),radial-gradient(circle at 84px 16px,#8dff9a 6px,transparent 7px);opacity:.5}
/* Nieve: dos capas de puntos que bajan sin fin */
.s-navidad .f3,.s-navidad .f4{inset:0;background-image:radial-gradient(circle,#fff 1.6px,transparent 2.2px),radial-gradient(circle,rgba(255,255,255,.8) 1.1px,transparent 1.7px);background-size:110px 110px,70px 70px;background-position:0 0,35px 20px}
.s-navidad .f4{background-size:160px 160px,95px 95px;opacity:.7}
.s-navidad .f5,.s-navidad .rings{display:none}
.s-navidad .fx.waves{display:block;left:0;bottom:-1px;width:150%;height:clamp(70px,11cqi,150px)}
.s-navidad .waves path{fill:#e3ece6}.s-navidad .waves .w2{fill:var(--paper)}
.s-navidad .fx.sp{display:block;width:clamp(14px,2.2cqi,26px);aspect-ratio:1;background:var(--c);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.s-navidad .sp.s1{left:9%;top:26%}.s-navidad .sp.s2{left:46%;top:20%;scale:.7}.s-navidad .sp.s3{left:36%;top:64%;scale:.55}
.s-navidad .ld-stage{padding-top:34px}
.s-navidad .ld-slides::before{content:"";position:absolute;left:50%;top:-34px;width:2px;height:34px;background:var(--c);z-index:1}
.s-navidad .ld-slide-pic{border-radius:50%;aspect-ratio:1;box-shadow:0 0 0 6px var(--a),0 0 0 9px var(--c),0 34px 60px -30px #000;max-height:none}
.s-navidad .ld-slides{width:min(100%,440px);margin-inline:auto;transform-origin:50% -34px}
.s-navidad .ld-slide-info{justify-content:center;text-align:center;margin-top:18px}
.s-navidad .ld-slide-name{font-style:italic;font-weight:500;flex-basis:100%}
.s-navidad .ld-slide-info p{order:0}
.s-navidad .ld-ctrl{justify-content:center}
.s-navidad .ld-round{box-shadow:inset 0 0 0 1.5px currentColor}
.s-navidad .ld-ribbon{background:var(--a);color:#fff}
.s-navidad .ld-rtrack{font-style:italic;font-weight:500;font-size:clamp(22px,3.6cqi,40px)}
.s-navidad .ld-rtrack span::after{background:var(--c);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0;width:.7em;height:.7em}
.s-navidad .ld-head{justify-items:center;text-align:center;margin-inline:auto}
.s-navidad .ld-tools,.s-navidad .ld-chips,.s-navidad .ld-result{justify-content:center}
.s-navidad .ld-chips button[aria-pressed=true]{background:var(--b);color:#fff}
.s-navidad .ld-card{background:#fff;border-radius:var(--r);padding:10px 10px 16px;box-shadow:0 18px 40px -30px #0b4a30;text-align:center;transform:none;rotate:none}
.s-navidad .ld-pic{border-radius:16px;aspect-ratio:1}
.s-navidad .ld-cname{font-family:var(--serif);font-weight:500;font-size:clamp(18px,2.5cqi,22px)}
.s-navidad .ld-cfoot{justify-content:center}
.s-navidad .ld-tag{color:var(--a)}
.s-navidad .ld-badge{background:var(--a);color:#fff;left:50%;translate:-50% 0}
.s-navidad .ld-badge::before,.s-navidad .ld-badge::after{content:"";position:absolute;bottom:-7px;border:7px solid var(--a);border-bottom-color:transparent}
.s-navidad .ld-badge::before{left:6px}.s-navidad .ld-badge::after{right:6px}
.s-navidad .ld-stock::before{background:var(--b)}
.s-navidad .ld-blk.alt{background:var(--soft)}
.s-navidad .ld-dur{background:var(--a);color:#fff;box-shadow:0 0 0 3px var(--c)}
.s-navidad .ld-rname{font-weight:500;font-style:italic}
.s-navidad .ld-steps li{border-top:2px dashed var(--a);text-align:center;justify-items:center}
.s-navidad .ld-steps b{color:var(--a);font-style:italic;font-weight:500}
.s-navidad .ld-end{background:var(--a);color:#fff;justify-items:center;text-align:center}
.s-navidad .ld-end .ld-h2.big{font-style:italic;font-weight:500;max-width:16ch}
.s-navidad .ld-end .ld-btn.inv{background:#fff;color:var(--a)}
.s-navidad .ld-end .fx{inset:0;width:auto;background-image:radial-gradient(circle,#fff 1.6px,transparent 2.2px),radial-gradient(circle,rgba(255,255,255,.8) 1.1px,transparent 1.7px);background-size:110px 110px,70px 70px}
.s-navidad .ld-end .f2,.s-navidad .ld-end .f3{display:none}
.s-navidad .ld-foot{background:var(--deep)}
.s-navidad .ld-pill{background:var(--a)!important;color:#fff!important}

/* En móvil, reducir la forma del hero dinámico para que nunca cubra el titular. */
@container (max-width:859px){
  .s-dinamico .ld-hero .f1{width:18cqi;right:4cqi;top:8%}
}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-navidad .ld-hero .f1{animation:sx-blink 1.6s steps(1) infinite}
  .ld-moving.s-navidad .ld-hero .f2{animation:sx-blink 1.6s -.8s steps(1) infinite}
  .ld-moving.s-navidad .ld-hero .f3{animation:sx-snow 9s linear infinite}
  .ld-moving.s-navidad .ld-hero .f4{animation:sx-snow2 15s linear infinite}
  .ld-moving.s-navidad .ld-end .f1{animation:sx-snow 11s linear infinite}
  .ld-moving.s-navidad .sp{animation:sx-twinkle 2.6s ease-in-out infinite}
  .ld-moving.s-navidad .sp.s2{animation-delay:-.9s}.ld-moving.s-navidad .sp.s3{animation-delay:-1.7s}
  .ld-moving.s-navidad .ld-slides{animation:sx-swing 5s ease-in-out infinite}
  .ld-moving.s-navidad .waves .w2{animation:sx-wave-in 12s ease-in-out infinite alternate}
  .ld-moving.s-navidad .ld-slide.enter .ld-slide-pic{animation:sx-bloom 1s var(--spring) both}
  .ld-moving.s-navidad .ld-card{transition:translate .45s var(--e),box-shadow .45s var(--e)}
  .ld-moving.s-navidad .ld-card:hover{translate:0 -6px;box-shadow:0 26px 50px -30px #0b4a30}
  .ld-moving.s-navidad .ld-card:hover .ld-badge{animation:sx-wobble .5s ease-in-out}
  .ld-moving.s-navidad.ld-paused :is(.fx,.ld-slides){animation-play-state:paused}
}
@keyframes sx-blink{0%{opacity:1}50%{opacity:.28}}
@keyframes sx-snow{to{background-position:40px 220px,35px 160px}}
@keyframes sx-snow2{to{background-position:-60px 320px,60px 190px}}
@keyframes sx-swing{0%,100%{rotate:-3deg}50%{rotate:3deg}}
/* Ajustes tras revisar las capturas de v0.29 */
.s-halloween .ld-title{text-shadow:none;filter:drop-shadow(0 0 22px rgba(255,122,26,.45))}
@keyframes sx-swing{0%,100%{rotate:-1.6deg}50%{rotate:1.6deg}}

/* Pasarela: on narrow containers the copy and the complete carousel occupy separate rows.
   Desktop retains its editorial overlay; captions/controls must never cross the title. */
@container (max-width:859px){
 .s-moda .ld-hero{grid-template-columns:minmax(0,1fr);gap:32px;min-height:0;align-items:start}
 .s-moda .ld-hero-copy,.s-moda .ld-stage{grid-area:auto}
 .s-moda .ld-hero-copy{mix-blend-mode:normal;color:var(--ink);padding-bottom:0;align-self:start}
 .s-moda .ld-sub,.s-moda .ld-quick{color:var(--ink)}
 .s-moda .ld-quick i{background:var(--ink)}
 .s-moda .ld-hero .ld-btn.solid{background:var(--ink);color:#fff}
 .s-moda .ld-hero .ld-btn.ghost{color:var(--ink)}
 .s-moda .ld-stage{width:min(100%,560px)}
 .s-moda .ld-slide-pic{max-height:none}
 .s-moda .ld-ghost{display:none}
}

/* UPE-V2-INTEGRATED */
/* ==========================================================================
   Plantillas v2 de Upe: diez estilos nuevos para públicos concretos.
   Se agregan al final de app/static/site.css (después de Navidad). Usan la misma estructura de site.js:
   solo cambian el aspecto y el movimiento de .ld-root.s-<clave>; no hace falta tocar el HTML.
   Reglas que respetan:
   - El color de marca del negocio (--a) manda; cada plantilla fija papel, tinta y tipografía.
   - Todo el movimiento vive bajo .ld-moving dentro de prefers-reduced-motion:no-preference.
   - Sin estilos en línea (CSP). Fuentes propias en /fonts/ (ver fuentes.css, licencia OFL 1.1).
   ========================================================================== */

/* ============ Sabor — sodas, restaurantes, repostería. Menú escaneable, precios a la vista ============ */
.s-sabor{--display:'Fraunces','Iowan Old Style',Georgia,serif;--paper:#fff7ec;--ink:#2a1a12;--r:22px;--soft:color-mix(in oklab,var(--a) 9%,#fff7ec);--line:color-mix(in oklab,var(--ink) 16%,var(--paper))}
.s-sabor .ld-fx .fx{display:none}
.s-sabor .ld-top.solid{background:color-mix(in oklab,var(--paper) 90%,transparent)}
.s-sabor .ld-mono,.s-sabor .ld-brand img{border-radius:50%}
.s-sabor .ld-brand{font-family:var(--display);font-weight:700}
.s-sabor .ld-title{font-weight:800;letter-spacing:-.025em;line-height:.96;font-size:clamp(42px,10cqi,112px)}
.s-sabor .ld-sub{color:color-mix(in oklab,var(--ink) 74%,var(--paper))}
.s-sabor .ld-quick{color:var(--ink);font-weight:700}
.s-sabor .ld-quick i{width:8px;height:8px}
.s-sabor .ld-slide-pic{aspect-ratio:1;border-radius:50%;max-height:none;width:min(100%,440px);justify-self:center;background:#fff;box-shadow:0 0 0 12px #fff,0 0 0 13px var(--line),0 40px 70px -36px rgba(60,30,10,.45)}
.s-sabor .ld-slide-pic>.ld-plate,.s-sabor .ld-slide-pic>.ld-photo{border-radius:50%;inset:7%;position:absolute;width:auto;height:auto}
.s-sabor .ld-slide-info{justify-content:center;text-align:center;margin-top:14px}
.s-sabor .ld-slide-name{flex-basis:100%;font-family:var(--display);font-weight:700}
.s-sabor .ld-slide-info p{order:0;flex-basis:100%;font-weight:800;color:var(--deep);font-size:18px}
.s-sabor .ld-ctrl{justify-content:center}
.s-sabor .ld-progress{max-width:140px}
@container (min-width:860px){
  .s-sabor .ld-hero .f1,.s-sabor .ld-hero .f2,.s-sabor .ld-hero .f3{display:block;width:12px;height:clamp(70px,9cqi,120px);border-radius:12px;top:5%;background:linear-gradient(transparent,color-mix(in oklab,var(--ink) 22%,transparent),transparent);filter:blur(3px)}
  .s-sabor .ld-hero .f1{right:21%}.s-sabor .ld-hero .f2{right:25%;top:2%}.s-sabor .ld-hero .f3{right:17%;top:3%}
}
.s-sabor .ld-ribbon{background:repeating-conic-gradient(var(--a) 0 25%,#fff 0 50%) 0 0/24px 24px;padding:14px 0;color:var(--ink)}
.s-sabor .ld-rtrack{font-family:var(--display);font-weight:700;font-size:clamp(18px,2.6cqi,28px);gap:14px}
.s-sabor .ld-rtrack span{background:var(--paper);padding:8px 18px;border-radius:999px;gap:0}
.s-sabor .ld-rtrack span::after{display:none}
.s-sabor .ld-h2{font-weight:800;letter-spacing:-.02em}
.s-sabor .ld-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px;padding-bottom:6px;margin-inline:calc(var(--pad)*-1);padding-inline:var(--pad)}
.s-sabor .ld-chips::-webkit-scrollbar{display:none}
.s-sabor .ld-chips button{flex:none;box-shadow:none;background:#fff;border:1.5px solid var(--line);font-weight:700}
.s-sabor .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a);border-color:var(--a)}
.s-sabor .ld-search input,.s-sabor .ld-sort select{background:#fff}
.s-sabor .ld-grid{grid-template-columns:minmax(0,1fr);gap:0;perspective:none}
@container (min-width:860px){.s-sabor .ld-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5cqi,72px)}}
.s-sabor .ld-card{grid-template-columns:84px minmax(0,1fr);align-items:center;gap:16px;padding:16px 0;border-bottom:2px dotted var(--line);transform:none;rotate:none}
.s-sabor .ld-pic{aspect-ratio:1;border-radius:50%;overflow:visible;background:#fff;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--line)}
.s-sabor .ld-pic>.ld-plate,.s-sabor .ld-pic>.ld-photo{border-radius:50%;position:absolute;inset:0;overflow:hidden}
.s-sabor .ld-plate b{font-size:clamp(24px,8cqi,40px)}
.s-sabor .ld-slide-pic .ld-plate b{font-size:clamp(48px,14cqi,120px)}
.s-sabor .ld-cbody{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:2px;align-items:baseline}
.s-sabor .ld-cname{grid-column:1/-1;font-family:var(--display);font-weight:700;font-size:clamp(18px,2.4cqi,22px);display:flex;align-items:baseline;gap:8px}
.s-sabor .ld-ccat{grid-column:1;grid-row:2}
.s-sabor .ld-cfoot{grid-column:2;grid-row:2;margin:0!important;flex-direction:column;align-items:flex-end;gap:0}
@container (min-width:560px){
  .s-sabor .ld-cname{grid-column:1}
  .s-sabor .ld-cname::after{content:"";flex:1;min-width:16px;border-bottom:2px dotted color-mix(in oklab,var(--ink) 30%,var(--paper));translate:0 -5px}
  .s-sabor .ld-ccat{grid-column:1/-1}
  .s-sabor .ld-cfoot{grid-row:1}
}
.s-sabor .ld-tag{font-family:var(--display);font-size:20px;color:var(--deep)}
.s-sabor .ld-stock{font-size:12px}
.s-sabor .ld-badge{left:auto;right:-10px;top:-8px;background:var(--a);color:var(--on-a);font-size:10px;padding:4px 8px;rotate:10deg;z-index:2}
.s-sabor .ld-cbtn{border-radius:12px}
.s-sabor .ld-dur{background:#fff;color:var(--ink);box-shadow:0 0 0 2px var(--line)}
.s-sabor .ld-rname{font-family:var(--display);font-weight:700}
.s-sabor .ld-steps li{border-top:2px dotted var(--ink)}
.s-sabor .ld-end::before{content:"";position:absolute;left:0;right:0;top:0;height:18px;background:repeating-conic-gradient(var(--paper) 0 25%,transparent 0 50%) 0 0/18px 18px;opacity:.85}
.s-sabor .ld-end .fx{display:none}
.s-sabor .ld-end .ld-h2.big{font-weight:800;letter-spacing:-.02em}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-sabor .ld-hero .f1{animation:v2-steam 3.6s ease-in-out infinite}
  .ld-moving.s-sabor .ld-hero .f2{animation:v2-steam 4.2s -1.4s ease-in-out infinite}
  .ld-moving.s-sabor .ld-hero .f3{animation:v2-steam 3.9s -2.6s ease-in-out infinite}
  .ld-moving.s-sabor .ld-slides{animation:sx-float 7s ease-in-out infinite}
  .ld-moving.s-sabor .ld-card .ld-tag{scale:1.5;opacity:0}
  .ld-moving.s-sabor .ld-card.in .ld-tag{scale:1;opacity:1;transition:scale .5s .35s var(--spring),opacity .3s .35s}
  .ld-moving.s-sabor .ld-card .ld-pic{transition:rotate .6s var(--spring)}
  .ld-moving.s-sabor .ld-card:hover .ld-pic{rotate:-10deg}
  .ld-moving.s-sabor.ld-paused :is(.fx,.ld-slides){animation-play-state:paused}
}
@keyframes v2-steam{0%{translate:0 24px;opacity:0;scale:.8 1}40%{opacity:.9}100%{translate:0 -44px;opacity:0;scale:1.4 1}}

/* ============ Mercado — pulperías, minisúper, tiendas con muchos productos. Buscar primero, precio grande ============ */
.s-mercado{--sans:'Archivo','Avenir Next',system-ui,sans-serif;--display:'Archivo','Avenir Next',system-ui,sans-serif;--paper:#f3f4f6;--ink:#101317;--r:14px;--soft:#fff;--tagbg:#ffd43b}
.s-mercado .ld-fx .fx{display:none}
.s-mercado .ld-top,.s-mercado .ld-top.solid{background:var(--a);color:var(--on-a);box-shadow:none;backdrop-filter:none}
.s-mercado .ld-mono{background:var(--on-a);color:var(--a);border-radius:8px}
.s-mercado .ld-brand{font-stretch:85%;font-weight:800}
.s-mercado .ld-lang{box-shadow:inset 0 0 0 1.5px currentColor}
.s-mercado .ld-top .ld-btn.solid{background:var(--on-a);color:var(--a)}
.s-mercado .ld-links button{font-weight:700}
.s-mercado .ld-hero{min-height:0;padding-block:clamp(16px,3cqi,36px) clamp(20px,3cqi,40px);gap:14px}
@container (min-width:860px){.s-mercado .ld-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}}
.s-mercado .ld-hero-copy{background:#fff;border-radius:22px;padding:clamp(20px,4cqi,40px);max-width:none;gap:14px;translate:none}
.s-mercado .ld-title{font-stretch:75%;font-weight:850;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(36px,8.4cqi,92px);line-height:.92}
.s-mercado .ld-sub{color:var(--muted)}
.s-mercado .ld-btn{border-radius:12px;font-weight:800}
.s-mercado .ld-quick i{border-radius:2px;rotate:45deg}
.s-mercado .ld-stage{background:#fff;border-radius:22px;padding:12px;align-content:start}
.s-mercado .ld-slide{grid-template-columns:minmax(0,118px) minmax(0,1fr);align-items:center;gap:14px}
.s-mercado .ld-slide-pic{aspect-ratio:1;max-height:none;border-radius:14px}
.s-mercado .ld-slide-info{display:grid;gap:6px;justify-items:start}
.s-mercado .ld-slide-name{font-size:clamp(18px,3cqi,24px);font-stretch:85%;line-height:1.1}
.s-mercado .ld-slide-info p{order:0;font-weight:700;color:var(--ink)}
.s-mercado .ld-plate b{font-size:clamp(26px,7cqi,46px);font-stretch:80%}
.s-mercado .ld-round{width:40px;height:40px}
.s-mercado .ld-ribbon{background:var(--tagbg);color:#101317;padding:10px 0;skew:none}
.s-mercado .ld-rtrack{font-stretch:75%;text-transform:uppercase;font-size:clamp(16px,2.4cqi,24px);gap:28px}
.s-mercado .ld-rtrack span{gap:28px}
.s-mercado .ld-rtrack span::after{background:#101317;border-radius:2px;width:.38em;height:.38em;rotate:45deg}
.s-mercado .ld-blk{padding-block:clamp(26px,5cqi,64px)}
.s-mercado .ld-head{margin-bottom:14px;max-width:none}
.s-mercado .ld-h2{font-stretch:75%;text-transform:uppercase;font-size:clamp(30px,5cqi,54px)}
.s-mercado .ld-lead{font-size:15px}
.s-mercado .ld-tools{background:#fff;border-radius:18px;padding:12px;gap:10px}
.s-mercado .ld-tools .ld-search{max-width:none;flex-basis:100%}
@container (min-width:720px){.s-mercado .ld-tools .ld-search{flex-basis:360px}}
.s-mercado .ld-search input,.s-mercado .ld-sort select{background:var(--paper);border-color:transparent;border-radius:12px;font-weight:600}
.s-mercado .ld-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--pad)*-1);padding-inline:var(--pad);padding-bottom:4px}
.s-mercado .ld-chips::-webkit-scrollbar{display:none}
.s-mercado .ld-chips button{flex:none;background:#fff;box-shadow:none;border-radius:10px;font-weight:700}
.s-mercado .ld-chips button[aria-pressed=true]{background:var(--ink);color:#fff}
.s-mercado .ld-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));perspective:none}
@container (min-width:720px){.s-mercado .ld-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@container (min-width:1100px){.s-mercado .ld-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
.s-mercado .ld-card{background:#fff;border-radius:16px;padding:10px;gap:8px;transform:none;rotate:none;box-shadow:0 1px 0 rgba(16,19,23,.06)}
.s-mercado .ld-pic{aspect-ratio:1;border-radius:12px}
.s-mercado .ld-cname{font-size:14.5px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.s-mercado .ld-ccat{font-size:12px}
.s-mercado .ld-cfoot{justify-content:space-between;gap:6px}
.s-mercado .ld-tag{font-size:19px;font-weight:850;font-stretch:80%;background:var(--tagbg);color:#101317;padding:2px 8px;border-radius:6px}
.s-mercado .ld-stock{font-size:11.5px}
.s-mercado .ld-badge{background:var(--a);color:var(--on-a);border-radius:6px;font-size:11px}
.s-mercado .ld-cbtn{border-radius:16px}
.s-mercado .ld-blk.alt{background:#fff}
.s-mercado .ld-row{padding:16px 0}
.s-mercado .ld-dur{border-radius:12px}
.s-mercado .ld-rname{font-stretch:85%;font-size:clamp(19px,2.8cqi,26px)}
.s-mercado .ld-end{padding-block:clamp(40px,7cqi,90px)}
.s-mercado .ld-end .fx{display:none}
.s-mercado .ld-end .ld-h2.big{font-stretch:75%;text-transform:uppercase;font-size:clamp(34px,7cqi,84px)}
.s-mercado .ld-pill{border-radius:14px!important;background:var(--a)!important;color:var(--on-a)!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-mercado [data-rv].in{transition:opacity .45s var(--e),translate .5s var(--e);transition-delay:calc(var(--n,0)*40ms)}
  .ld-moving.s-mercado [data-rv]:not(.in){translate:0 18px}
  .ld-moving.s-mercado .ld-card{transition:translate .25s var(--e),box-shadow .25s}
  .ld-moving.s-mercado .ld-card:hover{translate:0 -4px;box-shadow:0 14px 26px -16px rgba(16,19,23,.35)}
  .ld-moving.s-mercado .ld-card:hover .ld-pic>*:first-child{scale:1.04}
  .ld-moving.s-mercado .ld-rtrack{animation-duration:26s}
  .ld-moving.s-mercado .ld-card.in .ld-tag{animation:v2-tag .5s .2s var(--spring) both}
}
@keyframes v2-tag{from{scale:.6;rotate:-8deg}}

/* ============ Cosecha — café de finca, miel, cacao, productos del campo. Papel kraft, cerros y origen ============ */
.s-cosecha{--display:'Young Serif','Iowan Old Style',Georgia,serif;--paper:#f3ead7;--ink:#2b2418;--soft:#ebdfc4;--line:color-mix(in oklab,var(--ink) 22%,var(--paper));--r:16px;--sun:#e8b04a;--label:#fffaf0}
.s-cosecha .ld{background-image:radial-gradient(rgba(43,36,24,.06) 1px,transparent 1.3px);background-size:7px 7px}
.s-cosecha .ld-fx .fx{display:none}
.s-cosecha .ld-brand{font-family:var(--display);font-weight:400}
.s-cosecha .ld-mono{border-radius:50%;background:var(--ink);color:var(--paper)}
.s-cosecha .ld-hero{overflow:hidden;padding-bottom:clamp(110px,18cqi,200px)}
.s-cosecha .ld-title{font-weight:400;letter-spacing:-.015em;line-height:1.03;font-size:clamp(38px,8.6cqi,100px)}
.s-cosecha .ld-sub{font-size:clamp(17px,2cqi,21px);color:color-mix(in oklab,var(--ink) 76%,var(--paper))}
.s-cosecha .ld-quick{font-variant-caps:all-small-caps;letter-spacing:.1em;font-size:16px;color:var(--ink)}
.s-cosecha .ld-quick i{background:var(--sun)}
.s-cosecha .ld-hero .waves{display:block;left:0;right:0;bottom:0;width:100%;height:clamp(90px,15cqi,180px)}
.s-cosecha .ld-hero .waves path{fill:color-mix(in oklab,var(--a) 34%,var(--paper))}
.s-cosecha .ld-hero .waves .w2{fill:color-mix(in oklab,var(--a) 64%,var(--ink))}
.s-cosecha .ld-hero .f1{display:block;width:clamp(64px,14cqi,170px);aspect-ratio:1;border-radius:50%;right:8%;bottom:clamp(54px,9cqi,110px);background:var(--sun);opacity:.85;box-shadow:0 0 0 14px rgba(232,176,74,.18),0 0 0 28px rgba(232,176,74,.09)}
@container (min-width:860px){.s-cosecha .ld-hero .f1{bottom:auto;top:4%;right:4%}}
.s-cosecha .ld-slide-pic{border-radius:999px 999px var(--r) var(--r);aspect-ratio:3/4;background:var(--label);box-shadow:0 0 0 2px var(--ink),8px 8px 0 var(--ink)}
.s-cosecha .ld-plate,.s-cosecha .ld-plate.v1,.s-cosecha .ld-plate.v2,.s-cosecha .ld-plate.v3{background:var(--label)}
.s-cosecha .ld-plate b{font-family:var(--display);font-weight:400;color:var(--ink)}
.s-cosecha .ld-slide-name{font-family:var(--display);font-weight:400}
.s-cosecha .ld-round{box-shadow:inset 0 0 0 2px var(--ink)}
.s-cosecha .ld-progress i{background:var(--ink)}
.s-cosecha .ld-btn.solid{background:var(--ink);color:var(--paper)}
.s-cosecha .ld-btn.solid::before{background:var(--a)}
.s-cosecha .ld-btn.solid:hover{color:var(--on-a)}
.s-cosecha .ld-ribbon{background:var(--ink);color:var(--paper);padding:14px 0;skew:none}
.s-cosecha .ld-rtrack{font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:clamp(13px,1.8cqi,16px);gap:28px}
.s-cosecha .ld-rtrack span{gap:28px}
.s-cosecha .ld-rtrack span::after{width:1em;height:.55em;border-radius:0 100% 0 100%;background:var(--sun)}
.s-cosecha .ld-h2{font-weight:400;letter-spacing:-.01em}
.s-cosecha .ld-ccat{font-variant-caps:all-small-caps;letter-spacing:.09em;font-size:15px}
.s-cosecha .ld-chips button{background:var(--label);box-shadow:inset 0 0 0 1.5px var(--ink)}
.s-cosecha .ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.s-cosecha .ld-search input,.s-cosecha .ld-sort select{background:var(--label);border-color:var(--ink)}
.s-cosecha .ld-grid{gap:clamp(26px,4cqi,44px) clamp(14px,2.6cqi,28px);perspective:none}
.s-cosecha .ld-card{background:var(--label);border:2px solid var(--ink);border-radius:var(--r);padding:12px 12px 16px;box-shadow:5px 5px 0 var(--ink);transform:none;rotate:none}
.s-cosecha .ld-pic{border-radius:999px 999px 10px 10px;aspect-ratio:4/5}
.s-cosecha .ld-cname{font-family:var(--display);font-weight:400;font-size:clamp(17px,2.3cqi,21px)}
.s-cosecha .ld-tag{font-family:var(--display);font-weight:400;font-size:18px}
.s-cosecha .ld-badge{background:var(--sun);color:var(--ink)}
.s-cosecha .ld-stock::before{background:color-mix(in oklab,var(--a) 70%,var(--ink))}
.s-cosecha .ld-cbtn{border-radius:var(--r)}
.s-cosecha .ld-blk.alt{background:var(--soft)}
.s-cosecha .ld-dur{background:var(--ink);color:var(--paper);font-family:var(--display)}
.s-cosecha .ld-dur b{font-weight:400}
.s-cosecha .ld-rname{font-family:var(--display);font-weight:400}
.s-cosecha .ld-row{border-top:1.5px dashed var(--line)}.s-cosecha .ld-row:last-child{border-bottom:1.5px dashed var(--line)}
.s-cosecha .ld-steps li{border-top:2px dashed var(--ink)}
.s-cosecha .ld-steps b{font-weight:400;color:var(--ink)}
.s-cosecha .ld-sname{font-family:var(--display);font-weight:400}
.s-cosecha .ld-facts>div{border-top:1.5px dashed var(--ink)}
.s-cosecha .ld-end{background:color-mix(in oklab,var(--a) 72%,var(--ink));color:#fff8ea}
.s-cosecha .ld-end .fx{display:none}
.s-cosecha .ld-end .ld-h2.big{font-weight:400}
.s-cosecha .ld-end .ld-btn.inv{background:#fff8ea;color:var(--ink)}
.s-cosecha .ld-pill{background:var(--ink)!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-cosecha .ld-hero .f1{translate:0 60px;opacity:0}
  .ld-moving.ld-go.s-cosecha .ld-hero .f1{translate:0 0;opacity:.85;transition:translate 2.6s .2s var(--e),opacity 1.6s .2s}
  .ld-moving.s-cosecha .ld-hero .waves path{animation:v2-sway 14s ease-in-out infinite alternate}
  .ld-moving.s-cosecha .ld-hero .waves .w2{animation-duration:11s;animation-direction:alternate-reverse}
  .ld-moving.s-cosecha .ld-card{transition:translate .35s var(--e),box-shadow .35s var(--e)}
  .ld-moving.s-cosecha .ld-card:hover{translate:-3px -3px;box-shadow:8px 8px 0 var(--ink)}
  .ld-moving.s-cosecha .ld-slide.enter .ld-slide-pic{animation:v2-rise-arch 1.1s var(--e) both}
  .ld-moving.s-cosecha.ld-paused .waves path{animation-play-state:paused}
}
@keyframes v2-sway{from{translate:-2% 0}to{translate:2% 4%}}
@keyframes v2-rise-arch{from{clip-path:inset(100% 0 0 0 round 999px 999px 16px 16px)}to{clip-path:inset(0 0 0 0 round 999px 999px 16px 16px)}}

/* ============ Ruta — tours, surf, rafting, hospedaje pequeño. Foto protagonista, itinerario y reserva ============ */
.s-ruta{--display:'Barlow Condensed','Avenir Next Condensed','Arial Narrow',system-ui,sans-serif;--paper:#fbf8f1;--ink:#0f2629;--soft:color-mix(in oklab,var(--a) 8%,#fbf8f1);--r:18px;--sunset:#ffcf6e}
.s-ruta .ld-fx .fx{display:none}
.s-ruta .ld-brand{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:20px}
.s-ruta .ld-title,.s-ruta .ld-h2,.s-ruta .ld-slide-name,.s-ruta .ld-rname,.s-ruta .ld-sname,.s-ruta .ld-cname{text-transform:uppercase}
.s-ruta .ld-hero{grid-template-columns:minmax(0,1fr);min-height:0;padding-bottom:0;gap:clamp(18px,3cqi,36px);overflow:hidden}
.s-ruta .ld-hero-copy{max-width:none;translate:none}
.s-ruta .ld-title{font-weight:800;line-height:.88;letter-spacing:.005em;font-size:clamp(48px,12.5cqi,156px);max-width:13ch}
.s-ruta .ld-sub{max-width:46ch}
.s-ruta .ld-quick{text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.s-ruta .ld-hero .rings{display:block;width:clamp(300px,56cqi,700px);right:-18%;top:-16%;fill:none;stroke:color-mix(in oklab,var(--a) 32%,transparent);stroke-width:1.5;scale:1.35 .8;rotate:-14deg}
.s-ruta .ld-btn{border-radius:12px;text-transform:uppercase;letter-spacing:.06em;font-family:var(--display);font-weight:800;font-size:18px}
.s-ruta .ld-btn.solid::after{content:"→";margin-left:10px;font-family:var(--sans)}
.s-ruta .ld-stage{margin-inline:calc(var(--pad)*-1);gap:0;width:auto}
.s-ruta .ld-slide{position:relative;gap:0}
.s-ruta .ld-slide-pic{border-radius:0;aspect-ratio:4/5;max-height:min(78svh,760px)}
@container (min-width:720px){.s-ruta .ld-slide-pic{aspect-ratio:21/9;max-height:none}}
.s-ruta .ld-slide-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(48px,8cqi,90px) var(--pad) clamp(18px,3cqi,32px);background:linear-gradient(transparent,rgba(6,22,24,.86));color:#fff;align-items:flex-end}
.s-ruta .ld-slide-info p{color:rgba(255,255,255,.88);font-weight:600}
.s-ruta .ld-slide-name{font-size:clamp(30px,6cqi,64px);font-weight:800;line-height:.92}
.s-ruta .ld-ctrl{padding:14px var(--pad);background:var(--ink);color:#fff}
.s-ruta .ld-progress{background:rgba(255,255,255,.22)}
.s-ruta .ld-plate,.s-ruta .ld-plate.v1,.s-ruta .ld-plate.v2,.s-ruta .ld-plate.v3{background:linear-gradient(180deg,color-mix(in oklab,var(--a) 20%,#fff) 0 56%,color-mix(in oklab,var(--a) 55%,var(--ink)) 56%)}
.s-ruta .ld-plate i:first-child,.s-ruta .ld-plate.v1 i:first-child,.s-ruta .ld-plate.v2 i:first-child,.s-ruta .ld-plate.v3 i:first-child{width:20%;aspect-ratio:1;border-radius:50%;background:var(--sunset);left:auto;right:16%;top:16%;bottom:auto;rotate:none}
.s-ruta .ld-plate i:nth-child(2),.s-ruta .ld-plate.v1 i:nth-child(2),.s-ruta .ld-plate.v2 i:nth-child(2),.s-ruta .ld-plate.v3 i:nth-child(2){width:124%;height:44%;left:-12%;right:auto;top:auto;bottom:40%;border-radius:0;background:color-mix(in oklab,var(--a) 72%,var(--ink));clip-path:polygon(0 100%,16% 44%,30% 72%,50% 8%,68% 62%,82% 34%,100% 100%)}
.s-ruta .ld-plate.v2 i:nth-child(2){clip-path:polygon(0 100%,12% 60%,34% 18%,48% 56%,62% 30%,86% 70%,100% 100%)}
.s-ruta .ld-plate b{color:#fff;font-family:var(--display);font-weight:800;align-self:end;margin-bottom:10%;font-size:clamp(34px,10cqi,96px);text-shadow:0 2px 16px rgba(0,0,0,.25)}
.s-ruta .ld-slide.svc .ld-slide-pic{background:linear-gradient(180deg,color-mix(in oklab,var(--a) 20%,#fff) 0 56%,color-mix(in oklab,var(--a) 55%,var(--ink)) 56%);place-items:start start;padding:clamp(18px,4cqi,36px) var(--pad)}
.s-ruta .ld-slide.svc .ld-slide-pic::before{content:"";position:absolute;left:-12%;right:-12%;bottom:40%;height:44%;background:color-mix(in oklab,var(--a) 72%,var(--ink));clip-path:polygon(0 100%,16% 44%,30% 72%,50% 8%,68% 62%,82% 34%,100% 100%)}
.s-ruta .ld-slide.svc .ld-slide-pic::after{content:"";position:absolute;width:18%;max-width:120px;aspect-ratio:1;border-radius:50%;right:14%;top:14%;background:var(--sunset)}
.s-ruta .ld-clock{position:relative;z-index:1;width:auto;aspect-ratio:auto;border-radius:14px;padding:10px 16px;background:rgba(255,255,255,.94);color:var(--ink);display:flex;align-items:baseline;gap:6px;box-shadow:0 14px 30px -18px rgba(0,0,0,.5)}
.s-ruta .ld-clock b{font-size:clamp(30px,6cqi,52px)}
.s-ruta .ld-ribbon{background:var(--paper);color:var(--ink);border-block:2px solid var(--ink);padding:14px 0;skew:none}
.s-ruta .ld-rtrack{text-transform:uppercase;font-weight:800;font-size:clamp(20px,3cqi,32px);gap:22px}
.s-ruta .ld-rtrack span{gap:22px}
.s-ruta .ld-rtrack span::after{width:46px;height:0;border-radius:0;background:none;border-top:3px dashed var(--a)}
.s-ruta .ld-h2{font-weight:800;line-height:.92}
.s-ruta .ld-rows{position:relative;gap:14px;padding-left:34px}
.s-ruta .ld-rows::before{content:"";position:absolute;left:12px;top:14px;bottom:14px;border-left:3px dashed color-mix(in oklab,var(--a) 60%,var(--paper))}
.s-ruta .ld-row,.s-ruta .ld-row:last-child{background:#fff;border:0;border-radius:var(--r);padding:18px;box-shadow:0 18px 40px -30px rgba(15,38,41,.6);position:relative}
.s-ruta .ld-row::before{content:"";position:absolute;left:-29px;top:28px;width:16px;height:16px;border-radius:50%;background:var(--a);box-shadow:0 0 0 4px var(--paper)}
.s-ruta .ld-blk.alt .ld-row::before{box-shadow:0 0 0 4px var(--soft)}
.s-ruta .ld-dur{width:auto;height:auto;border-radius:10px;padding:8px 10px;background:var(--soft);color:var(--ink);display:grid;justify-items:center}
.s-ruta .ld-dur b{font-size:22px}
.s-ruta .ld-rname{font-weight:800;font-size:clamp(24px,3.8cqi,36px);line-height:.95}
.s-ruta .ld-rmeta{text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.s-ruta .ld-pic{border-radius:var(--r)}
.s-ruta .ld-cname{font-family:var(--display);font-weight:800;font-size:clamp(20px,3cqi,26px);line-height:1}
.s-ruta .ld-badge{background:var(--a);color:var(--on-a);text-transform:uppercase;letter-spacing:.06em}
.s-ruta .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-ruta .ld-steps li{border-top:3px dashed var(--a)}
.s-ruta .ld-end{background:var(--ink);color:#fff}
.s-ruta .ld-end .fx{display:none}
.s-ruta .ld-end .ld-h2.big{text-transform:uppercase;font-weight:800;line-height:.86}
.s-ruta .ld-end .ld-btn.inv{background:var(--a);color:var(--on-a)}
.s-ruta .ld-pill{border-radius:14px!important;background:var(--a)!important;color:var(--on-a)!important;font-family:var(--display)!important;text-transform:uppercase;font-size:18px!important;letter-spacing:.06em}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-ruta .ld-slide-pic>*{animation:sx-kenburns 22s ease-in-out infinite alternate}
  .ld-moving.s-ruta .ld-hero .rings{animation:sx-spin 120s linear infinite}
  .ld-moving.s-ruta .ld-row::before{animation:v2-ping 2.4s ease-out infinite}
  .ld-moving.s-ruta .ld-row:nth-child(2)::before{animation-delay:.6s}.ld-moving.s-ruta .ld-row:nth-child(3)::before{animation-delay:1.2s}
  .ld-moving.s-ruta .ld-rows::before{clip-path:inset(0 0 100% 0)}
  .ld-moving.s-ruta .ld-rows:has(.in)::before{clip-path:inset(0);transition:clip-path 2.2s var(--e)}
  .ld-moving.s-ruta .ld-btn.solid::after{display:inline-block;transition:translate .4s var(--e)}
  .ld-moving.s-ruta .ld-btn.solid:hover::after{translate:5px 0}
  .ld-moving.s-ruta.ld-paused :is(.ld-slide-pic>*,.rings){animation-play-state:paused}
}
@keyframes v2-ping{0%{box-shadow:0 0 0 4px var(--paper),0 0 0 4px color-mix(in oklab,var(--a) 50%,transparent)}100%{box-shadow:0 0 0 4px var(--paper),0 0 0 16px transparent}}

/* ============ Cuidado — clínicas, odontología, fisioterapia, psicología. Claro, confiable, precios transparentes ============ */
.s-cuidado{--sans:'Figtree','Avenir Next',system-ui,sans-serif;--display:'Figtree','Avenir Next',system-ui,sans-serif;--paper:#fff;--ink:#132530;--soft:color-mix(in oklab,var(--a) 7%,#fff);--line:color-mix(in oklab,var(--ink) 12%,#fff);--r:22px}
.s-cuidado .ld-fx .fx{display:none}
.s-cuidado .ld-brand{font-weight:700}
.s-cuidado .ld-mono{border-radius:12px}
.s-cuidado .ld-hero{background:radial-gradient(120% 80% at 100% 0%,color-mix(in oklab,var(--a) 13%,#fff),#fff 62%);overflow:hidden}
.s-cuidado .ld-hero .f1{display:block;width:clamp(220px,44cqi,560px);aspect-ratio:1;border-radius:50%;right:-16%;top:-18%;background:color-mix(in oklab,var(--b) 16%,transparent);filter:blur(40px)}
.s-cuidado .ld-hero .f2{display:block;width:clamp(180px,30cqi,380px);aspect-ratio:1;border-radius:50%;left:-12%;bottom:-14%;background:color-mix(in oklab,var(--a) 12%,transparent);filter:blur(40px)}
.s-cuidado .ld-hero .f3,.s-cuidado .ld-hero .f4{display:none;width:22px;height:22px;background:linear-gradient(var(--a),var(--a)) center/100% 4px no-repeat,linear-gradient(var(--a),var(--a)) center/4px 100% no-repeat;opacity:.45;border-radius:2px}
.s-cuidado .ld-hero .f3{right:44%;top:10%}.s-cuidado .ld-hero .f4{right:6%;bottom:16%;scale:.7}
@container (min-width:860px){.s-cuidado .ld-hero .f3,.s-cuidado .ld-hero .f4{display:block}}
.s-cuidado .ld-title{font-weight:700;letter-spacing:-.035em;font-size:clamp(38px,8.2cqi,90px);line-height:1.02}
.s-cuidado .ld-sub{color:color-mix(in oklab,var(--ink) 70%,#fff)}
.s-cuidado .ld-quick{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px;color:var(--ink);font-weight:600}
.s-cuidado .ld-btn{border-radius:14px}
.s-cuidado .ld-stage{background:#fff;border-radius:28px;padding:14px;box-shadow:0 30px 60px -40px rgba(19,37,48,.45),0 0 0 1px var(--line)}
.s-cuidado .ld-slide-pic{border-radius:20px;aspect-ratio:5/4}
.s-cuidado .ld-clock{background:var(--soft);color:var(--deep);box-shadow:0 0 0 16px color-mix(in oklab,var(--a) 5%,#fff)}
.s-cuidado .ld-clock b{font-weight:700}
.s-cuidado .ld-slide-name{font-weight:700}
.s-cuidado .ld-round{box-shadow:inset 0 0 0 1.5px var(--line)}
.s-cuidado .ld-ribbon{background:var(--soft);color:var(--deep);skew:none;padding:14px 0}
.s-cuidado .ld-rtrack{font-weight:700;font-size:clamp(17px,2.4cqi,24px);gap:30px}
.s-cuidado .ld-rtrack span{gap:30px}
.s-cuidado .ld-rtrack span::after{width:14px;height:14px;border-radius:2px;background:linear-gradient(currentColor,currentColor) center/100% 3px no-repeat,linear-gradient(currentColor,currentColor) center/3px 100% no-repeat}
.s-cuidado .ld-h2{font-weight:700;letter-spacing:-.025em;font-size:clamp(30px,5.4cqi,60px)}
.s-cuidado .ld-rows{gap:14px}
@container (min-width:720px){.s-cuidado .ld-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.s-cuidado .ld-row{grid-template-columns:auto minmax(0,1fr)}.s-cuidado .ld-row .ld-btn{grid-column:2;justify-self:start}}
.s-cuidado .ld-row,.s-cuidado .ld-row:last-child{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:#fff;align-items:start}
.s-cuidado .ld-dur{width:auto;height:auto;padding:8px 12px;border-radius:12px;background:var(--soft);color:var(--deep);display:grid;justify-items:center}
.s-cuidado .ld-dur b{font-size:20px;font-weight:700}
.s-cuidado .ld-rname{font-weight:700;font-size:clamp(19px,2.6cqi,24px);line-height:1.15}
.s-cuidado .ld-rmeta{color:var(--deep);font-weight:700}
.s-cuidado .ld-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px;transform:none;rotate:none}
.s-cuidado .ld-pic{border-radius:16px}
.s-cuidado .ld-cname{font-weight:700}
.s-cuidado .ld-badge{background:var(--a);color:var(--on-a)}
.s-cuidado .ld-chips button{box-shadow:inset 0 0 0 1px var(--line);border-radius:12px}
.s-cuidado .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-cuidado .ld-search input,.s-cuidado .ld-sort select{border-radius:12px}
.s-cuidado .ld-steps li{border-top:0;background:var(--soft);border-radius:var(--r);padding:22px}
.s-cuidado .ld-steps b{font-weight:700}
.s-cuidado .ld-facts>div{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}
.s-cuidado .ld-end{background:linear-gradient(135deg,var(--a),color-mix(in oklab,var(--a) 65%,var(--b)))}
.s-cuidado .ld-end .fx{display:none}
.s-cuidado .ld-end .ld-h2.big{font-weight:700;letter-spacing:-.03em}
.s-cuidado .ld-pill{border-radius:16px!important;background:var(--a)!important;color:var(--on-a)!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-cuidado .ld-hero .f1{animation:sx-breathe 11s ease-in-out infinite}
  .ld-moving.s-cuidado .ld-hero .f2{animation:sx-breathe 13s -4s ease-in-out infinite}
  .ld-moving.s-cuidado .ld-hero .f3,.ld-moving.s-cuidado .ld-hero .f4{animation:v2-plus 6s ease-in-out infinite}
  .ld-moving.s-cuidado .ld-hero .f4{animation-delay:-3s}
  .ld-moving.ld-go.s-cuidado .ld-hero .ld-btn.solid{animation:v2-care 3.2s 2.4s ease-out infinite}
  .ld-moving.s-cuidado .ld-row{transition:border-color .3s,box-shadow .3s,translate .3s var(--e)}
  .ld-moving.s-cuidado .ld-row:hover{border-color:color-mix(in oklab,var(--a) 50%,#fff);box-shadow:0 18px 36px -28px rgba(19,37,48,.45);translate:0 -2px}
  .ld-moving.s-cuidado.ld-paused .fx{animation-play-state:paused}
}
@keyframes v2-plus{50%{rotate:90deg;opacity:.7}}
@keyframes v2-care{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--a) 45%,transparent)}70%,100%{box-shadow:0 0 0 14px transparent}}

/* ============ Pulso — gimnasios, entrenadores, crossfit, baile. Oscuro, diagonal y con energía ============ */
.s-pulso{--display:'Big Shoulders Display','Avenir Next Condensed','Arial Narrow',system-ui,sans-serif;--paper:#0c0d0f;--ink:#f3f4ef;--muted:#a6a99f;--line:rgba(243,244,239,.15);--soft:rgba(243,244,239,.05);--deep:var(--a);--r:6px;--panel:#17191c}
.s-pulso .ld{background:var(--paper);color:var(--ink)}
.s-pulso .ld-top.solid{background:rgba(12,13,15,.88);box-shadow:0 1px 0 var(--line)}
.s-pulso .ld-fx .fx{display:none}
.s-pulso .ld-brand{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:21px}
.s-pulso .ld-mono{border-radius:4px}
.s-pulso .ld-lang{box-shadow:inset 0 0 0 1.5px var(--line)}
.s-pulso .ld-hero{overflow:hidden}
.s-pulso .ld-hero .f1{display:block;left:-20%;right:-20%;height:clamp(80px,15cqi,170px);bottom:10%;rotate:-8deg;background:repeating-linear-gradient(90deg,var(--a) 0 36px,transparent 36px 72px);opacity:.13}
.s-pulso .ld-hero .f2{display:block;left:-20%;right:-20%;height:6px;bottom:32%;rotate:-8deg;background:var(--a)}
.s-pulso .ld-title,.s-pulso .ld-h2,.s-pulso .ld-slide-name,.s-pulso .ld-rname,.s-pulso .ld-sname,.s-pulso .ld-cname{text-transform:uppercase;font-family:var(--display)}
.s-pulso .ld-title{font-weight:900;font-size:clamp(58px,15cqi,190px);line-height:.84;letter-spacing:.005em;transform:skewX(-8deg);transform-origin:0 100%}
.s-pulso .ld-sub{color:var(--muted)}
.s-pulso .ld-quick{text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.s-pulso .ld-btn{border-radius:4px;text-transform:uppercase;font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.05em;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);padding-inline:32px}
.s-pulso .ld-btn.solid::before{background:#000}
.s-pulso .ld-btn.solid:hover{color:var(--a)}
.s-pulso .ld-slide-pic{border-radius:4px;background:var(--panel);box-shadow:0 0 0 2px var(--a)}
.s-pulso .ld-plate,.s-pulso .ld-plate.v1,.s-pulso .ld-plate.v2,.s-pulso .ld-plate.v3{background:var(--panel)}
.s-pulso .ld-plate i:first-child,.s-pulso .ld-plate.v1 i:first-child,.s-pulso .ld-plate.v2 i:first-child,.s-pulso .ld-plate.v3 i:first-child{background:color-mix(in oklab,var(--a) 26%,var(--panel))}
.s-pulso .ld-plate i:nth-child(2),.s-pulso .ld-plate.v1 i:nth-child(2),.s-pulso .ld-plate.v2 i:nth-child(2),.s-pulso .ld-plate.v3 i:nth-child(2){background:color-mix(in oklab,var(--b) 22%,var(--panel))}
.s-pulso .ld-plate b{color:var(--a);font-weight:900}
.s-pulso .ld-clock{background:transparent;color:var(--a);box-shadow:inset 0 0 0 4px var(--a);border-radius:8px}
.s-pulso .ld-clock b{font-weight:900}
.s-pulso .ld-slide-name{font-weight:900;font-size:clamp(26px,4cqi,40px);line-height:.95}
.s-pulso .ld-round{border-radius:4px;box-shadow:inset 0 0 0 1.5px var(--line)}
.s-pulso .ld-ribbon{background:var(--a);color:var(--on-a);rotate:-2deg;margin-block:22px;scale:1.04;padding:14px 0}
.s-pulso .ld-rtrack{text-transform:uppercase;font-weight:900;font-size:clamp(26px,4.4cqi,52px)}
.s-pulso .ld-rtrack span::after{background:var(--on-a);border-radius:0;clip-path:polygon(0 0,100% 50%,0 100%)}
.s-pulso .ld-h2{font-weight:900;font-size:clamp(42px,8.4cqi,100px);line-height:.86;transform:skewX(-8deg);transform-origin:0 100%}
.s-pulso .ld-blk.alt{background:#131518;clip-path:polygon(0 3cqi,100% 0,100% 100%,0 100%)}
.s-pulso .ld-row,.s-pulso .ld-row:last-child{border-color:var(--line)}
.s-pulso .ld-dur{border-radius:6px;background:transparent;color:var(--a);box-shadow:inset 0 0 0 2px var(--a);width:76px;height:76px}
.s-pulso .ld-dur b{font-size:32px;font-weight:900}
.s-pulso .ld-rname{font-weight:900;font-size:clamp(28px,4.6cqi,46px);line-height:.92}
.s-pulso .ld-rmeta{color:var(--ink)}
.s-pulso .ld-pic{border-radius:4px;background:var(--panel)}
.s-pulso .ld-card{transform:none;rotate:none}
.s-pulso .ld-cname{font-weight:800;font-size:clamp(20px,3cqi,28px);line-height:1}
.s-pulso .ld-tag{color:var(--a)}
.s-pulso .ld-badge{background:var(--a);color:var(--on-a);border-radius:2px;text-transform:uppercase;letter-spacing:.06em}
.s-pulso .ld-stock::before{background:var(--a)}
.s-pulso .ld-search input,.s-pulso .ld-sort select{background:var(--panel);color:var(--ink);border-color:var(--line);border-radius:4px}
.s-pulso .ld-chips button{border-radius:4px;box-shadow:inset 0 0 0 1.5px var(--line)}
.s-pulso .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-pulso .ld-result button{color:var(--ink)}
.s-pulso .ld-steps li{border-top-color:var(--a)}
.s-pulso .ld-facts>div{border-top-color:var(--a)}
.s-pulso .ld-end{background:var(--a);color:var(--on-a)}
.s-pulso .ld-end .fx{display:none}
.s-pulso .ld-end .ld-h2.big{text-transform:uppercase;font-weight:900;line-height:.84;transform:skewX(-8deg);transform-origin:0 100%}
.s-pulso .ld-end .ld-btn.inv{background:var(--on-a);color:var(--a)}
.s-pulso .ld-foot{background:#000;color:var(--ink)}
.s-pulso .ld-pill{background:var(--a)!important;color:var(--on-a)!important;border-radius:6px!important;font-family:var(--display)!important;text-transform:uppercase;font-size:19px!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-pulso .ld-hero .f1{animation:v2-stripes 1.6s linear infinite}
  .ld-moving.s-pulso .ld-hero .f2{animation:v2-beat 1.2s ease-in-out infinite;transform-origin:0 50%}
  .ld-moving.s-pulso .ld-hero .w>span{translate:-60% 0;opacity:0}
  .ld-moving.ld-go.s-pulso .ld-hero .w>span{translate:0 0;opacity:1;transition:translate .55s cubic-bezier(.2,1.5,.35,1),opacity .2s;transition-delay:calc(.1s + var(--n,0)*.08s)}
  .ld-moving.s-pulso [data-rv]:not(.in):not(.ld-head):not(.ld-end){translate:-36px 0}
  .ld-moving.s-pulso .ld-row:hover .ld-dur{background:var(--a);color:var(--on-a)}
  .ld-moving.s-pulso .ld-card:hover .ld-pic{box-shadow:0 0 0 2px var(--a)}
  .ld-moving.s-pulso .ld-rtrack{animation-duration:18s}
  .ld-moving.s-pulso.ld-paused .fx{animation-play-state:paused}
}
@keyframes v2-stripes{to{background-position:72px 0}}
@keyframes v2-beat{0%,100%{scale:1 1}15%{scale:1 2.2}30%{scale:1 1}45%{scale:1 1.6}}

/* ============ Huellita — veterinarias, grooming, tiendas de mascotas. Cálido, redondo, con huellitas ============ */
.s-huellita{--sans:'Nunito','Avenir Next Rounded','Arial Rounded MT Bold',system-ui,sans-serif;--display:'Nunito','Avenir Next Rounded','Arial Rounded MT Bold',system-ui,sans-serif;--paper:#fff9ef;--ink:#2e2218;--soft:color-mix(in oklab,var(--a) 12%,#fff9ef);--line:color-mix(in oklab,var(--ink) 13%,var(--paper));--r:30px;--pc:color-mix(in oklab,var(--a) 30%,transparent)}
.s-huellita .ld-fx .fx{display:none}
.s-huellita .ld-brand{font-weight:900}
.s-huellita .ld-mono{border-radius:50%}
.s-huellita .ld-hero .f1,.s-huellita .ld-hero .f2,.s-huellita .ld-hero .f3,.s-huellita .ld-hero .f4,.s-huellita .ld-end .f1,.s-huellita .ld-end .f2,.s-huellita .ld-end .f3{display:block;width:clamp(34px,5cqi,58px);aspect-ratio:1;background:radial-gradient(circle at 50% 70%,var(--pc) 0 22%,transparent 23%),radial-gradient(circle at 19% 42%,var(--pc) 0 10%,transparent 11%),radial-gradient(circle at 38% 21%,var(--pc) 0 10%,transparent 11%),radial-gradient(circle at 62% 21%,var(--pc) 0 10%,transparent 11%),radial-gradient(circle at 81% 42%,var(--pc) 0 10%,transparent 11%)}
.s-huellita .ld-hero .f1{left:4%;bottom:6%;rotate:24deg}.s-huellita .ld-hero .f2{left:13%;bottom:15%;rotate:12deg}.s-huellita .ld-hero .f3{left:22%;bottom:5%;rotate:28deg}.s-huellita .ld-hero .f4{left:31%;bottom:14%;rotate:16deg}
.s-huellita .ld-end{--pc:rgba(255,255,255,.3)}
.s-huellita .ld-end .f1{right:8%;top:16%;rotate:-20deg;width:70px}.s-huellita .ld-end .f2{right:18%;top:40%;rotate:-30deg;width:60px}.s-huellita .ld-end .f3{right:6%;bottom:14%;rotate:-14deg;width:80px}
.s-huellita .ld-title{font-weight:900;letter-spacing:-.025em;font-size:clamp(40px,9.4cqi,104px);line-height:1}
.s-huellita .ld-sub{color:color-mix(in oklab,var(--ink) 72%,var(--paper))}
.s-huellita .ld-btn{font-weight:800}
.s-huellita .ld-slide-pic{border-radius:46% 54% 42% 58%/52% 44% 56% 48%;aspect-ratio:1;max-height:none;width:min(100%,460px);justify-self:center;box-shadow:0 0 0 10px #fff,0 30px 60px -30px rgba(46,34,24,.35)}
.s-huellita .ld-slide-info{justify-content:center;text-align:center;margin-top:10px}
.s-huellita .ld-slide-name{flex-basis:100%;font-weight:900}
.s-huellita .ld-slide-info p{order:0;flex-basis:100%}
.s-huellita .ld-ctrl{justify-content:center}
.s-huellita .ld-progress{max-width:140px}
.s-huellita .ld-clock{border-radius:46% 54% 42% 58%/52% 44% 56% 48%}
.s-huellita .ld-clock b{font-weight:900}
.s-huellita .ld-ribbon{background:var(--a);color:var(--on-a);skew:none;padding:14px 0}
.s-huellita .ld-rtrack{font-weight:900;font-size:clamp(20px,3cqi,32px)}
.s-huellita .ld-rtrack span::after{width:1.05em;height:1.05em;border-radius:0;background:radial-gradient(circle at 50% 70%,currentColor 0 22%,transparent 23%),radial-gradient(circle at 19% 42%,currentColor 0 10%,transparent 11%),radial-gradient(circle at 38% 21%,currentColor 0 10%,transparent 11%),radial-gradient(circle at 62% 21%,currentColor 0 10%,transparent 11%),radial-gradient(circle at 81% 42%,currentColor 0 10%,transparent 11%);opacity:.7}
.s-huellita .ld-h2{font-weight:900;letter-spacing:-.02em}
.s-huellita .ld-grid{perspective:none}
.s-huellita .ld-card{background:#fff;border-radius:30px;padding:10px 10px 18px;box-shadow:0 16px 32px -24px rgba(46,34,24,.45);transform:none}
.s-huellita .ld-pic{border-radius:24px}
.s-huellita .ld-cbody{padding-inline:6px}
.s-huellita .ld-cname{font-weight:800}
.s-huellita .ld-tag{font-weight:900}
.s-huellita .ld-badge{background:var(--a);color:var(--on-a)}
.s-huellita .ld-chips button{background:#fff;box-shadow:none;font-weight:800}
.s-huellita .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-huellita .ld-search input,.s-huellita .ld-sort select{border-radius:20px;background:#fff}
.s-huellita .ld-row,.s-huellita .ld-row:last-child{border:0;background:#fff;border-radius:26px;padding:16px 18px;margin-bottom:12px;box-shadow:0 14px 28px -24px rgba(46,34,24,.45)}
.s-huellita .ld-dur{border-radius:42% 58% 50% 50%/50% 46% 54% 50%}
.s-huellita .ld-dur b{font-weight:900}
.s-huellita .ld-rname{font-weight:900}
.s-huellita .ld-steps li{border-top:0;background:#fff;border-radius:26px;padding:22px}
.s-huellita .ld-steps b{font-weight:900}
.s-huellita .ld-facts>div{border:0;background:#fff;border-radius:22px;padding:18px}
.s-huellita .ld-end .ld-h2.big{font-weight:900}
.s-huellita .ld-pill{background:var(--a)!important;color:var(--on-a)!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-huellita .ld-hero :is(.f1,.f2,.f3,.f4){animation:v2-step 3.6s ease-in-out infinite;opacity:0}
  .ld-moving.s-huellita .ld-hero .f2{animation-delay:.45s}.ld-moving.s-huellita .ld-hero .f3{animation-delay:.9s}.ld-moving.s-huellita .ld-hero .f4{animation-delay:1.35s}
  .ld-moving.s-huellita .ld-slide-pic{animation:v2-blob 10s ease-in-out infinite}
  .ld-moving.s-huellita .ld-card{transition:rotate .5s var(--spring),translate .5s var(--spring)}
  .ld-moving.s-huellita .ld-card:hover{rotate:-2deg;translate:0 -4px}
  .ld-moving.s-huellita .ld-end .fx{animation:sx-float 4s ease-in-out infinite}
  .ld-moving.s-huellita.ld-paused :is(.fx,.ld-slide-pic){animation-play-state:paused}
}
@keyframes v2-step{0%{opacity:0;scale:.6}12%{opacity:1;scale:1}65%{opacity:1}85%,100%{opacity:0}}
@keyframes v2-blob{50%{border-radius:56% 44% 52% 48%/44% 56% 46% 54%}}

/* ============ Recreo — tutorías, clases, juguetes, fiestas infantiles. Cuaderno, stickers y colores ============ */
.s-recreo{--sans:'Fredoka','Avenir Next Rounded',system-ui,sans-serif;--display:'Fredoka','Avenir Next Rounded',system-ui,sans-serif;--paper:#fffdf6;--ink:#1d2140;--r:18px;--soft:#fff;--line:color-mix(in oklab,var(--ink) 18%,var(--paper))}
.s-recreo .ld{background-image:linear-gradient(rgba(29,33,64,.07) 1.5px,transparent 1.5px);background-size:100% 34px}
.s-recreo .ld-fx .fx{display:none}
.s-recreo .ld-brand{font-weight:600}
.s-recreo .ld-mono{border-radius:12px;box-shadow:inset 0 0 0 2.5px var(--ink)}
.s-recreo .ld-hero{background:linear-gradient(90deg,transparent calc(var(--pad) - 12px),rgba(232,89,12,.4) calc(var(--pad) - 12px) calc(var(--pad) - 10px),transparent 0)}
.s-recreo .ld-title{font-weight:700;font-size:clamp(42px,9.8cqi,110px);line-height:1;letter-spacing:-.01em}
.s-recreo .ld-title .w:nth-child(3n+2)>span{color:color-mix(in oklab,var(--a) 82%,#000)}
.s-recreo .ld-title .w:nth-child(3n)>span{color:color-mix(in oklab,var(--b) 62%,#000)}
.s-recreo .ld-sub{color:color-mix(in oklab,var(--ink) 74%,var(--paper))}
.s-recreo .ld-hero .f1{display:block;width:clamp(40px,7cqi,84px);aspect-ratio:1;right:3%;top:1%;background:var(--c);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.s-recreo .ld-hero .f2{display:block;width:clamp(30px,4.6cqi,56px);aspect-ratio:1;border-radius:50%;right:4%;bottom:30%;z-index:3;background:var(--b);box-shadow:inset 0 0 0 3px var(--ink)}
.s-recreo .ld-hero .f3{display:block;width:clamp(36px,5cqi,60px);aspect-ratio:1;left:56%;bottom:6%;background:var(--a);clip-path:polygon(50% 0,100% 100%,0 100%)}
.s-recreo .ld-hero .f5{display:block;width:clamp(90px,14cqi,170px);left:6%;bottom:4%;fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round}
.s-recreo .ld-btn{border-radius:14px;box-shadow:inset 0 0 0 3px var(--ink),4px 4px 0 var(--ink);font-weight:600}
.s-recreo .ld-btn.ghost{background:#fff;color:var(--ink)}
.s-recreo .ld-btn.solid::before{background:var(--c)}
.s-recreo .ld-btn.solid:hover{color:var(--ink)}
.s-recreo .ld-slide-pic{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);rotate:-2deg;border-radius:22px}
.s-recreo .ld-slide-name{font-weight:700}
.s-recreo .ld-round{box-shadow:inset 0 0 0 3px var(--ink);background:#fff}
.s-recreo .ld-clock{box-shadow:inset 0 0 0 4px var(--ink)}
.s-recreo .ld-clock b{font-weight:700}
.s-recreo .ld-ribbon{background:repeating-linear-gradient(45deg,color-mix(in oklab,var(--c) 72%,#fff) 0 14px,color-mix(in oklab,var(--c) 52%,#fff) 14px 28px);color:var(--ink);rotate:-1.5deg;scale:1.03;margin-block:16px;padding:12px 0}
.s-recreo .ld-rtrack{font-weight:600;font-size:clamp(20px,3cqi,32px)}
.s-recreo .ld-rtrack span::after{background:var(--ink);border-radius:0;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:.7em;height:.7em}
.s-recreo .ld-h2{font-weight:700}
.s-recreo .ld-head::after{content:"";width:120px;height:10px;border-radius:10px;background:var(--b);rotate:-2deg}
.s-recreo .ld-grid{perspective:none;gap:clamp(24px,4cqi,40px) clamp(14px,2.6cqi,28px)}
.s-recreo .ld-card{background:#fff;border:3px solid var(--ink);border-radius:20px;padding:10px 10px 14px;box-shadow:5px 5px 0 var(--ink);transform:none}
.s-recreo .ld-grid .ld-card:nth-child(odd){rotate:-1.2deg}.s-recreo .ld-grid .ld-card:nth-child(even){rotate:1deg}
.s-recreo .ld-pic{border-radius:12px;box-shadow:inset 0 0 0 2px var(--ink)}
.s-recreo .ld-plate b{font-weight:700}
.s-recreo .ld-cname{font-weight:600}
.s-recreo .ld-tag{font-weight:700}
.s-recreo .ld-badge{background:var(--c);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);rotate:-6deg}
.s-recreo .ld-chips button{box-shadow:inset 0 0 0 2.5px var(--ink);background:#fff;font-weight:600}
.s-recreo .ld-chips button[aria-pressed=true]{background:var(--ink);color:#fff}
.s-recreo .ld-search input,.s-recreo .ld-sort select{border:3px solid var(--ink);border-radius:14px}
.s-recreo .ld-blk.alt{background:color-mix(in oklab,var(--b) 10%,#fffdf6)}
.s-recreo .ld-row,.s-recreo .ld-row:last-child{border:3px solid var(--ink);border-radius:18px;background:#fff;padding:16px;margin-bottom:14px;box-shadow:4px 4px 0 var(--ink)}
.s-recreo .ld-dur{box-shadow:inset 0 0 0 3px var(--ink);background:var(--c);color:var(--ink)}
.s-recreo .ld-dur b{font-weight:700}
.s-recreo .ld-rname{font-weight:700}
.s-recreo .ld-steps li{border-top:0;background:#fff;border:3px solid var(--ink);border-radius:18px;padding:20px;box-shadow:4px 4px 0 var(--ink)}
.s-recreo .ld-steps b{font-weight:700}
.s-recreo .ld-facts>div{border-top:3px solid var(--ink)}
.s-recreo .ld-end{border-top:3px solid var(--ink)}
.s-recreo .ld-end .fx{display:none}
.s-recreo .ld-end .ld-h2.big{font-weight:700}
.s-recreo .ld-end .ld-btn.inv{box-shadow:inset 0 0 0 3px var(--ink),4px 4px 0 var(--ink)}
.s-recreo .ld-pill{border-radius:16px!important;box-shadow:inset 0 0 0 3px var(--ink),4px 4px 0 var(--ink)!important;background:var(--c)!important;color:var(--ink)!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-recreo .ld-hero .f1{animation:sx-spin 14s linear infinite}
  .ld-moving.s-recreo .ld-hero .f2{animation:sx-float 3.4s ease-in-out infinite}
  .ld-moving.s-recreo .ld-hero .f3{animation:sx-wobble 2.6s ease-in-out infinite}
  .ld-moving.s-recreo .ld-hero .f5 path{stroke-dasharray:420;animation:sx-draw 2.4s .6s var(--e) both;--len:420}
  .ld-moving.s-recreo .ld-btn{transition:translate .15s,box-shadow .15s}
  .ld-moving.s-recreo .ld-btn:active{translate:3px 3px;box-shadow:inset 0 0 0 3px var(--ink),1px 1px 0 var(--ink)}
  .ld-moving.s-recreo .ld-card{transition:rotate .4s var(--spring),translate .4s var(--spring)}
  .ld-moving.s-recreo .ld-grid .ld-card:hover{rotate:0deg;translate:0 -6px}
  .ld-moving.s-recreo .ld-card.in{animation:v2-sticker .6s var(--spring) both;animation-delay:calc(var(--n,0)*70ms)}
  .ld-moving.s-recreo.ld-paused .fx{animation-play-state:paused}
}
@keyframes v2-sticker{from{scale:.82}}

/* ============ Navaja — barberías, tatuajes, piercing. Letrero clásico, poste de barbero y lista de precios ============ */
.s-navaja{--display:'Alfa Slab One',Rockwell,'Roboto Slab',Georgia,serif;--paper:#15120e;--ink:#f2e9d8;--muted:#bfb39c;--line:rgba(242,233,216,.18);--soft:rgba(242,233,216,.05);--deep:#f2e9d8;--r:4px;--pole:repeating-linear-gradient(-45deg,var(--a) 0 18px,#f2e9d8 18px 36px,#1f3c88 36px 54px);--panel:#211c16}
.s-navaja .ld{background:var(--paper);color:var(--ink)}
.s-navaja .ld-top.solid{background:rgba(21,18,14,.9);box-shadow:0 1px 0 var(--line)}
.s-navaja .ld-fx .fx{display:none}
.s-navaja .ld-brand{font-family:var(--display);font-weight:400;letter-spacing:.02em}
.s-navaja .ld-mono{border-radius:50%;background:var(--ink);color:var(--paper)}
.s-navaja .ld-lang{box-shadow:inset 0 0 0 1.5px var(--line)}
.s-navaja .ld-hero-copy{padding:clamp(20px,4cqi,36px);border:2px solid var(--ink);outline:2px solid var(--ink);outline-offset:6px;max-width:46ch;margin:8px}
.s-navaja .ld-title{font-weight:400;font-size:clamp(40px,9.4cqi,108px);line-height:1;letter-spacing:.01em;text-shadow:4px 4px 0 color-mix(in oklab,var(--a) 85%,#000)}
.s-navaja .ld-sub{color:var(--muted)}
.s-navaja .ld-quick{text-transform:uppercase;letter-spacing:.12em;font-size:12px}
@container (min-width:860px){.s-navaja .ld-hero .f1{display:block;width:30px;top:6%;bottom:6%;left:calc(50% - 15px);background:var(--pole);border-radius:999px;box-shadow:0 0 0 3px var(--ink)}}
.s-navaja .ld-btn{border-radius:2px;text-transform:uppercase;letter-spacing:.1em;font-size:14px}
.s-navaja .ld-btn.solid{background:var(--a);color:var(--on-a)}
.s-navaja .ld-slide-pic{border-radius:2px;background:var(--panel);box-shadow:0 0 0 2px var(--ink),0 0 0 8px var(--paper),0 0 0 10px var(--ink)}
.s-navaja .ld-plate,.s-navaja .ld-plate.v1,.s-navaja .ld-plate.v2,.s-navaja .ld-plate.v3{background:var(--panel)}
.s-navaja .ld-plate i:first-child,.s-navaja .ld-plate.v1 i:first-child,.s-navaja .ld-plate.v2 i:first-child,.s-navaja .ld-plate.v3 i:first-child{background:color-mix(in oklab,var(--a) 30%,var(--panel))}
.s-navaja .ld-plate i:nth-child(2),.s-navaja .ld-plate.v1 i:nth-child(2),.s-navaja .ld-plate.v2 i:nth-child(2),.s-navaja .ld-plate.v3 i:nth-child(2){background:color-mix(in oklab,var(--ink) 14%,var(--panel))}
.s-navaja .ld-plate b{color:var(--ink);font-family:var(--display);font-weight:400}
.s-navaja .ld-clock{background:var(--a);color:#fff;box-shadow:0 0 0 6px var(--panel),0 0 0 9px var(--a);font-family:var(--display)}
.s-navaja .ld-clock b{font-weight:400}
.s-navaja .ld-slide-name{font-family:var(--display);font-weight:400}
.s-navaja .ld-round{border-radius:2px;box-shadow:inset 0 0 0 1.5px var(--ink)}
.s-navaja .ld-ribbon{background:var(--pole);padding:12px 0;skew:none}
.s-navaja .ld-rtrack{font-family:var(--display);font-weight:400;font-size:clamp(18px,2.8cqi,30px);gap:14px}
.s-navaja .ld-rtrack span{background:var(--paper);color:var(--ink);padding:6px 16px;border-radius:2px;gap:0}
.s-navaja .ld-rtrack span::after{display:none}
.s-navaja .ld-h2{font-weight:400;text-shadow:3px 3px 0 color-mix(in oklab,var(--a) 85%,#000)}
.s-navaja .ld-rows{border:2px solid var(--ink);outline:2px solid var(--ink);outline-offset:6px;padding:clamp(6px,2cqi,20px) clamp(14px,3cqi,30px);margin:8px}
.s-navaja .ld-row{border-top:1px dashed var(--line)}
.s-navaja .ld-row:first-child{border-top:0}.s-navaja .ld-row:last-child{border-bottom:0}
.s-navaja .ld-dur{background:transparent;box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink);font-family:var(--display)}
.s-navaja .ld-dur b{font-weight:400;font-size:22px}
.s-navaja .ld-rname{font-family:var(--display);font-weight:400;font-size:clamp(21px,3cqi,30px)}
.s-navaja .ld-rmeta{color:color-mix(in oklab,var(--a) 45%,#fff);font-size:16px}
.s-navaja .ld-rdesc{color:var(--muted)}
.s-navaja .ld-card{transform:none;rotate:none}
.s-navaja .ld-pic{border-radius:2px;box-shadow:0 0 0 2px var(--ink);background:var(--panel)}
.s-navaja .ld-cname{font-family:var(--display);font-weight:400}
.s-navaja .ld-tag{color:var(--ink)}
.s-navaja .ld-badge{background:var(--a);color:var(--on-a);border-radius:2px;text-transform:uppercase;letter-spacing:.08em}
.s-navaja .ld-stock::before{background:color-mix(in oklab,var(--a) 45%,#fff)}
.s-navaja .ld-search input,.s-navaja .ld-sort select{background:var(--panel);color:var(--ink);border-color:var(--line);border-radius:2px}
.s-navaja .ld-chips button{border-radius:2px;box-shadow:inset 0 0 0 1.5px var(--line)}
.s-navaja .ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.s-navaja .ld-result button{color:var(--ink)}
.s-navaja .ld-blk.alt{background:#1c1813}
.s-navaja .ld-steps li{border-top:2px solid var(--ink)}
.s-navaja .ld-steps b{font-family:var(--display);font-weight:400;color:var(--ink);text-shadow:3px 3px 0 color-mix(in oklab,var(--a) 85%,#000)}
.s-navaja .ld-facts>div{border-top:1px dashed var(--ink)}
.s-navaja .ld-end{background:var(--ink);color:var(--paper)}
.s-navaja .ld-end::before{content:"";position:absolute;left:0;right:0;top:0;height:16px;background:var(--pole)}
.s-navaja .ld-end .fx{display:none}
.s-navaja .ld-end .ld-h2.big{font-weight:400;text-shadow:4px 4px 0 var(--a)}
.s-navaja .ld-end .ld-btn.inv{background:var(--a);color:var(--on-a)}
.s-navaja .ld-foot{background:#0d0b08;color:var(--ink)}
.s-navaja .ld-pill{background:var(--a)!important;color:var(--on-a)!important;border-radius:4px!important;text-transform:uppercase;letter-spacing:.1em}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-navaja .ld-hero .f1,.ld-moving.s-navaja .ld-ribbon,.ld-moving.s-navaja .ld-end::before{animation:v2-pole 2.4s linear infinite}
  .ld-moving.s-navaja .ld-title{text-shadow:0 0 0 transparent}
  .ld-moving.ld-go.s-navaja .ld-title{text-shadow:4px 4px 0 color-mix(in oklab,var(--a) 85%,#000);transition:text-shadow .9s 1.1s var(--e)}
  .ld-moving.s-navaja .ld-hero-copy{outline-offset:22px;outline-color:transparent}
  .ld-moving.ld-go.s-navaja .ld-hero-copy{outline-offset:6px;outline-color:var(--ink);transition:outline-offset 1.2s .3s var(--e),outline-color .8s .3s}
  .ld-moving.s-navaja .ld-row .ld-rname{transition:translate .4s var(--e)}
  .ld-moving.s-navaja .ld-row:hover .ld-rname{translate:8px 0}
  .ld-moving.s-navaja.ld-paused :is(.fx,.ld-ribbon){animation-play-state:paused}
}
@keyframes v2-pole{to{background-position:0 76.37px}}

/* ============ Celebra — bodas, eventos, floristerías, fotografía de eventos. Arcos, pétalos, serif de invitación ============ */
.s-celebra{--display:'Cormorant Garamond','Iowan Old Style',Georgia,serif;--paper:#fcf5f1;--ink:#3b2a2f;--soft:#f6e8e2;--line:color-mix(in oklab,var(--ink) 16%,var(--paper));--gold:#b08a52;--r:0px}
.s-celebra .ld-fx .fx{display:none}
.s-celebra .ld-brand{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.02em}
.s-celebra .ld-mono{border-radius:50%;background:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--gold);font-family:var(--display);font-weight:600}
.s-celebra .ld-links button{font-family:var(--display);font-size:17px;font-weight:600}
.s-celebra .ld-lang{box-shadow:none;letter-spacing:.14em}
.s-celebra .ld-hero{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;overflow:hidden}
.s-celebra .ld-hero-copy{justify-items:center;max-width:30ch;margin-inline:auto}
.s-celebra .ld-hero-copy::before{content:"";width:64px;height:1px;background:var(--gold)}
.s-celebra .ld-title{font-weight:500;font-size:clamp(46px,10.4cqi,124px);line-height:.96;letter-spacing:-.01em}
.s-celebra .ld-sub{font-family:var(--display);font-style:italic;font-size:clamp(21px,2.6cqi,27px);color:var(--ink);max-width:36ch}
.s-celebra .ld-cta,.s-celebra .ld-quick{justify-content:center}
.s-celebra .ld-quick{font-family:var(--display);font-style:italic;font-size:18px;font-weight:500;color:var(--ink)}
.s-celebra .ld-quick i{width:6px;height:6px;border-radius:0;rotate:45deg;background:var(--gold)}
.s-celebra .ld-btn{border-radius:0;text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:600;min-height:52px;padding-inline:30px}
.s-celebra .ld-btn.solid{background:var(--ink);color:#fff}
.s-celebra .ld-btn.solid::before{background:var(--a)}
.s-celebra .ld-btn.solid:hover{color:var(--on-a)}
.s-celebra .ld-btn.ghost{box-shadow:inset 0 0 0 1px currentColor}
.s-celebra .ld-stage{width:min(100%,520px);justify-self:center}
.s-celebra .ld-slide-pic{border-radius:999px 999px 0 0;aspect-ratio:3/4;outline:1px solid var(--gold);outline-offset:10px}
.s-celebra .ld-slide-info{justify-content:center;text-align:center;margin-top:20px}
.s-celebra .ld-slide-name{flex-basis:100%;font-family:var(--display);font-style:italic;font-weight:500}
.s-celebra .ld-slide-info p{order:0;flex-basis:100%;letter-spacing:.06em}
.s-celebra .ld-ctrl{justify-content:center}
.s-celebra .ld-round{box-shadow:inset 0 0 0 1px var(--gold)}
.s-celebra .ld-progress{height:1px;max-width:140px}.s-celebra .ld-progress i{background:var(--gold)}
.s-celebra .ld-clock{background:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--gold)}
.s-celebra .ld-clock b{font-weight:500}
.s-celebra .ld-plate,.s-celebra .ld-plate.v1,.s-celebra .ld-plate.v2,.s-celebra .ld-plate.v3{background:var(--soft)}
.s-celebra .ld-plate b{font-family:var(--display);font-weight:500;font-style:italic;color:var(--ink)}
.s-celebra .ld-plate i:first-child,.s-celebra .ld-plate.v1 i:first-child,.s-celebra .ld-plate.v2 i:first-child,.s-celebra .ld-plate.v3 i:first-child{background:color-mix(in oklab,var(--a) 22%,#fff);border-radius:0 100% 0 100%;rotate:20deg}
.s-celebra .ld-plate i:nth-child(2),.s-celebra .ld-plate.v1 i:nth-child(2),.s-celebra .ld-plate.v2 i:nth-child(2),.s-celebra .ld-plate.v3 i:nth-child(2){background:color-mix(in oklab,var(--gold) 26%,#fff);border-radius:100% 0 100% 0}
.s-celebra .ld-hero :is(.f1,.f2,.f3,.f4,.sp),.s-celebra .ld-end :is(.f1,.f2,.f3){display:block;width:13px;height:19px;border-radius:0 100% 0 100%;background:color-mix(in oklab,var(--a) 42%,#fff);opacity:.85;top:-4%}
.s-celebra .ld-hero .f1{left:8%}.s-celebra .ld-hero .f2{left:26%;scale:.8}.s-celebra .ld-hero .f3{left:70%}.s-celebra .ld-hero .f4{left:88%;scale:1.2}
.s-celebra .ld-hero .sp.s1{left:44%;scale:.7}.s-celebra .ld-hero .sp.s2{left:58%}.s-celebra .ld-hero .sp.s3{left:16%;scale:1.1}
.s-celebra .ld-end .f1{left:12%}.s-celebra .ld-end .f2{left:50%}.s-celebra .ld-end .f3{left:84%}
.s-celebra .ld-ribbon{background:none;color:var(--ink);border-block:1px solid var(--gold);padding:16px 0;skew:none}
.s-celebra .ld-rtrack{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(21px,2.8cqi,30px);gap:30px}
.s-celebra .ld-rtrack span{gap:30px}
.s-celebra .ld-rtrack span::after{width:.38em;height:.38em;border-radius:0;rotate:45deg;background:var(--gold)}
.s-celebra .ld-head{justify-items:center;text-align:center;margin-inline:auto}
.s-celebra .ld-head::before{content:"";width:40px;height:1px;background:var(--gold)}
.s-celebra .ld-h2{font-weight:500;font-size:clamp(36px,6.2cqi,72px)}
.s-celebra .ld-lead{font-family:var(--display);font-style:italic;font-size:clamp(18px,2.2cqi,22px)}
.s-celebra .ld-tools,.s-celebra .ld-chips,.s-celebra .ld-result{justify-content:center}
.s-celebra .ld-chips button{box-shadow:none;border-radius:0;border-bottom:1px solid transparent;font-family:var(--display);font-style:italic;font-size:19px;font-weight:500;padding-inline:12px}
.s-celebra .ld-chips button[aria-pressed=true]{background:none;color:var(--ink);border-bottom-color:var(--gold)}
.s-celebra .ld-search input,.s-celebra .ld-sort select{border-radius:0;border-width:0 0 1px;border-color:var(--gold);background:none}
.s-celebra .ld-grid{perspective:none;gap:clamp(36px,6cqi,70px) clamp(16px,3cqi,40px)}
.s-celebra .ld-card{text-align:center;transform:none;rotate:none;gap:16px}
.s-celebra .ld-pic{border-radius:999px 999px 0 0;background:var(--soft)}
.s-celebra .ld-cname{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.7cqi,25px)}
.s-celebra .ld-ccat{font-family:var(--display);font-style:italic;font-size:17px}
.s-celebra .ld-cfoot{justify-content:center}
.s-celebra .ld-tag{font-weight:600;letter-spacing:.04em}
.s-celebra .ld-stock::before{background:var(--gold)}
.s-celebra .ld-badge{border-radius:0;background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:10px;left:50%;translate:-50% 0;top:auto;bottom:12px;white-space:nowrap}
.s-celebra .ld-cbtn{border-radius:999px 999px 0 0}
.s-celebra .ld-blk.alt{background:var(--soft)}
.s-celebra .ld-rows{max-width:760px;margin-inline:auto}
.s-celebra .ld-row{border-top:1px solid var(--line)}
.s-celebra .ld-row:last-child{border-bottom:1px solid var(--line)}
.s-celebra .ld-dur{background:none;color:var(--gold);border-radius:0;width:auto;height:auto;font-family:var(--display);min-width:56px}
.s-celebra .ld-dur b{font-weight:500;font-size:34px}
.s-celebra .ld-rname{font-family:var(--display);font-weight:600;font-style:italic}
.s-celebra .ld-steps li{border-top:1px solid var(--gold);text-align:center;justify-items:center}
.s-celebra .ld-steps b{font-weight:500;font-style:italic;color:var(--gold)}
.s-celebra .ld-sname{font-weight:600}
.s-celebra .ld-facts>div{text-align:center;border-top-color:var(--gold)}
.s-celebra .ld-reach{justify-content:center}
.s-celebra .ld-end{background:var(--soft);color:var(--ink);justify-items:center;text-align:center}
.s-celebra .ld-end .ld-h2.big{font-weight:500;font-style:italic;max-width:16ch}
.s-celebra .ld-end .ld-btn.inv{background:var(--ink);color:#fff}
.s-celebra .ld-pill{border-radius:0!important;letter-spacing:.18em;text-transform:uppercase;font-size:12px!important}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-celebra :is(.ld-hero,.ld-end) :is(.f1,.f2,.f3,.f4,.sp){animation:v2-petal 13s linear infinite}
  .ld-moving.s-celebra .ld-hero .f2{animation-duration:16s;animation-delay:-5s}.ld-moving.s-celebra .ld-hero .f3{animation-duration:11s;animation-delay:-8s}
  .ld-moving.s-celebra .ld-hero .f4{animation-duration:15s;animation-delay:-2s}.ld-moving.s-celebra .ld-hero .sp.s1{animation-duration:12s;animation-delay:-10s}
  .ld-moving.s-celebra .ld-hero .sp.s2{animation-duration:17s;animation-delay:-6s}.ld-moving.s-celebra .ld-hero .sp.s3{animation-duration:14s;animation-delay:-12s}
  .ld-moving.s-celebra .ld-end .f2{animation-delay:-4s}.ld-moving.s-celebra .ld-end .f3{animation-delay:-9s}
  .ld-moving.s-celebra .ld-slide-pic{outline-offset:30px;outline-color:transparent}
  .ld-moving.ld-go.s-celebra .ld-slide-pic{outline-offset:10px;outline-color:var(--gold);transition:outline-offset 1.6s .5s var(--e),outline-color 1s .5s}
  .ld-moving.s-celebra .ld-title{letter-spacing:.04em}
  .ld-moving.ld-go.s-celebra .ld-title{letter-spacing:-.01em;transition:letter-spacing 2.2s var(--e)}
  .ld-moving.s-celebra .ld-head::before,.ld-moving.s-celebra .ld-hero-copy::before{scale:0 1}
  .ld-moving.s-celebra .ld-head.in::before,.ld-moving.ld-go.s-celebra .ld-hero-copy::before{scale:1 1;transition:scale 1.2s .3s var(--e)}
  .ld-moving.s-celebra .ld-card:hover .ld-pic>*:first-child{scale:1.04}
  .ld-moving.s-celebra.ld-paused .fx{animation-play-state:paused}
}
@keyframes v2-petal{0%{translate:0 0;rotate:0deg;opacity:0}8%{opacity:.85}50%{translate:40px 46cqi;rotate:200deg}92%{opacity:.85}100%{translate:-20px 92cqi;rotate:400deg;opacity:0}}

/* ============ Ajustes tras revisar las capturas de escritorio ============ */
/* La copia del héroe tiene un máximo de 38ch del texto base: con títulos grandes queda angosta. */
.s-sabor .ld-hero-copy,.s-cosecha .ld-hero-copy,.s-huellita .ld-hero-copy,.s-recreo .ld-hero-copy,.s-cuidado .ld-hero-copy,.s-pulso .ld-hero-copy{max-width:min(100%,640px)}
.s-sabor .ld-title,.s-cosecha .ld-title{max-width:12ch}
.s-celebra .ld-hero-copy{max-width:min(100%,900px)}
.s-celebra .ld-title{max-width:13ch}
.s-celebra .ld-sub{max-width:36ch}
.s-navaja .ld-hero-copy{max-width:min(100%,600px)}
@container (min-width:860px){
  .s-pulso .ld-title{font-size:clamp(58px,9cqi,150px)}
  .s-navaja .ld-title{font-size:clamp(40px,6.2cqi,86px)}
  .s-celebra .ld-title{font-size:clamp(46px,7.4cqi,110px)}
}


/* UPE-V2-FONTS */
/* Fuentes de las plantillas v2, alojadas en el propio servidor (/fonts/v2/). Licencia SIL OFL 1.1: ver fuentes/*-OFL.txt */
/* Fraunces · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v2/fraunces-italic-400_700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Fraunces · latin · OFL 1.1 */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v2/fraunces-italic-400_700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Fraunces · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/v2/fraunces-normal-400_800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Fraunces · latin · OFL 1.1 */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/v2/fraunces-normal-400_800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Archivo · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url(/fonts/v2/archivo-normal-400_900-62_125-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Archivo · latin · OFL 1.1 */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url(/fonts/v2/archivo-normal-400_900-62_125-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Young Serif · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Young Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v2/youngserif-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Young Serif · latin · OFL 1.1 */
@font-face {
  font-family: 'Young Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v2/youngserif-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Barlow Condensed · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/v2/barlowcondensed-italic-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Barlow Condensed · latin · OFL 1.1 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/v2/barlowcondensed-italic-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Barlow Condensed · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/v2/barlowcondensed-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Barlow Condensed · latin · OFL 1.1 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/v2/barlowcondensed-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Barlow Condensed · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/v2/barlowcondensed-normal-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Barlow Condensed · latin · OFL 1.1 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/v2/barlowcondensed-normal-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Barlow Condensed · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/v2/barlowcondensed-normal-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Barlow Condensed · latin · OFL 1.1 */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/v2/barlowcondensed-normal-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Figtree · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/v2/figtree-normal-400_800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Figtree · latin · OFL 1.1 */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/v2/figtree-normal-400_800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Big Shoulders Display · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
  src: url(/fonts/v2/bigshouldersdisplay-normal-600_900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Big Shoulders Display · latin · OFL 1.1 */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
  src: url(/fonts/v2/bigshouldersdisplay-normal-600_900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Nunito · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/v2/nunito-normal-400_900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Nunito · latin · OFL 1.1 */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/fonts/v2/nunito-normal-400_900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Fredoka · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/v2/fredoka-normal-400_700-100-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Fredoka · latin · OFL 1.1 */
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/v2/fredoka-normal-400_700-100-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Alfa Slab One · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Alfa Slab One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v2/alfaslabone-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Alfa Slab One · latin · OFL 1.1 */
@font-face {
  font-family: 'Alfa Slab One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v2/alfaslabone-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Cormorant Garamond · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/v2/cormorantgaramond-italic-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Cormorant Garamond · latin · OFL 1.1 */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/v2/cormorantgaramond-italic-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Cormorant Garamond · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/v2/cormorantgaramond-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Cormorant Garamond · latin · OFL 1.1 */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/v2/cormorantgaramond-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Cormorant Garamond · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/v2/cormorantgaramond-normal-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Cormorant Garamond · latin · OFL 1.1 */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/v2/cormorantgaramond-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* UPE-V3-INTEGRATED */
/* ==========================================================================
   Plantillas v3 de Upe: 10 para servicios con agenda y 10 para productos.
   Se agregan al final de app/static/site.css (después de las v2). Misma estructura de site.js.
   - El color de marca del negocio (--a) manda; cada plantilla fija papel, tinta y tipografía.
   - Movimiento solo bajo .ld-moving con prefers-reduced-motion:no-preference.
   - Los diálogos (reserva y ficha de producto) toman el estilo con dialog.sx-dialog[data-style=<clave>]:
     requiere que sxDialog() en site.js ponga d.dataset.style (ver estilos-v3.txt).
   - Fuentes propias en /fonts/ (fuentes.css, licencia SIL OFL 1.1).
   ========================================================================== */

/* ##########################  SERVICIOS CON AGENDA  ########################## */

/* ============ Espuma — peluquerías caninas y grooming. Burbujas, tina y agua ============ */
.s-espuma{--sans:'Baloo 2','Avenir Next Rounded',system-ui,sans-serif;--display:'Baloo 2','Avenir Next Rounded',system-ui,sans-serif;--paper:#effafa;--ink:#123a40;--soft:color-mix(in oklab,var(--a) 12%,#effafa);--line:color-mix(in oklab,var(--ink) 14%,var(--paper));--r:26px;--bub:radial-gradient(circle at 32% 30%,#fff 0 16%,rgba(255,255,255,.4) 17% 52%,color-mix(in oklab,var(--a) 22%,transparent) 100%)}
.s-espuma .ld-fx .fx{display:none}
.s-espuma .ld-brand{font-weight:800}.s-espuma .ld-mono{border-radius:50%}
.s-espuma .ld-hero{overflow:hidden}
.s-espuma .ld-hero-copy{max-width:min(100%,640px)}
.s-espuma .ld-title{font-weight:800;font-size:clamp(42px,9.6cqi,108px);line-height:.95;letter-spacing:-.02em}
.s-espuma .ld-sub{color:color-mix(in oklab,var(--ink) 72%,var(--paper))}
.s-espuma .ld-btn{font-weight:800}
.s-espuma .ld-hero :is(.f1,.f2,.f3,.f4,.sp),.s-espuma .ld-end :is(.f1,.f2,.f3){display:block;border-radius:50%;aspect-ratio:1;background:var(--bub);box-shadow:inset 0 0 0 2px rgba(255,255,255,.85),inset 0 0 0 3px color-mix(in oklab,var(--a) 22%,transparent)}
.s-espuma .ld-hero .f1{width:64px;left:4%;bottom:6%}.s-espuma .ld-hero .f2{width:30px;left:16%;bottom:22%}.s-espuma .ld-hero .f3{width:44px;right:6%;bottom:30%}
.s-espuma .ld-hero .f4{width:24px;right:18%;bottom:12%}.s-espuma .ld-hero .sp.s1{width:18px;left:38%;bottom:4%}.s-espuma .ld-hero .sp.s2{width:36px;right:34%;bottom:4%}.s-espuma .ld-hero .sp.s3{width:20px;left:28%;bottom:16%}
.s-espuma .ld-end .f1{width:70px;right:8%;top:18%}.s-espuma .ld-end .f2{width:36px;right:22%;top:46%}.s-espuma .ld-end .f3{width:50px;right:4%;bottom:12%}
.s-espuma .ld-slide-pic{aspect-ratio:1;max-height:none;width:min(100%,440px);justify-self:center;border-radius:44% 44% 36% 36%/38% 38% 62% 62%;background:#fff;box-shadow:0 0 0 10px #fff,0 28px 54px -30px rgba(18,58,64,.45)}
.s-espuma .ld-slide-pic::after{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:34%;background:color-mix(in oklab,var(--a) 22%,#fff);border-radius:50% 50% 0 0/26px 26px 0 0;z-index:0}
.s-espuma .ld-clock{position:relative;z-index:1;background:#fff;color:var(--deep);box-shadow:0 0 0 10px color-mix(in oklab,var(--a) 16%,#fff)}
.s-espuma .ld-clock b{font-weight:800}
.s-espuma .ld-slide-info{justify-content:center;text-align:center;margin-top:12px}
.s-espuma .ld-slide-name{flex-basis:100%;font-weight:800}.s-espuma .ld-slide-info p{order:0;flex-basis:100%}
.s-espuma .ld-ctrl{justify-content:center}.s-espuma .ld-progress{max-width:140px}
.s-espuma .ld-ribbon{background:var(--a);color:var(--on-a);skew:none;padding:14px 0}
.s-espuma .ld-rtrack{font-weight:800;font-size:clamp(20px,3cqi,32px)}
.s-espuma .ld-rtrack span::after{background:none;box-shadow:inset 0 0 0 3px currentColor;opacity:.7;width:.6em;height:.6em}
.s-espuma .ld-h2{font-weight:800;letter-spacing:-.02em}
.s-espuma .ld-row,.s-espuma .ld-row:last-child{border:0;background:#fff;border-radius:26px;padding:16px 18px;margin-bottom:12px;box-shadow:0 14px 30px -24px rgba(18,58,64,.45)}
.s-espuma .ld-dur{background:var(--bub),#fff;color:var(--deep);box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--a) 40%,#fff)}
.s-espuma .ld-dur b{font-weight:800}.s-espuma .ld-rname{font-weight:800}
.s-espuma .ld-card{background:#fff;border-radius:26px;padding:10px 10px 16px;transform:none;rotate:none;box-shadow:0 14px 30px -24px rgba(18,58,64,.45)}
.s-espuma .ld-pic{border-radius:22px}
.s-espuma .ld-chips button{background:#fff;box-shadow:none;font-weight:800}
.s-espuma .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-espuma .ld-steps li{border-top:0;background:#fff;border-radius:24px;padding:22px}
.s-espuma .ld-facts>div{border:0;background:#fff;border-radius:22px;padding:18px}
.s-espuma .ld-end{background:linear-gradient(160deg,var(--a),color-mix(in oklab,var(--a) 60%,var(--b)))}
.s-espuma .ld-end .ld-h2.big{font-weight:800}
.s-espuma .ld-pill{background:var(--a)!important;color:var(--on-a)!important}
dialog.sx-dialog[data-style=espuma]{font-family:'Baloo 2','Avenir Next Rounded',system-ui,sans-serif;border-radius:30px}
dialog.sx-dialog[data-style=espuma] .bk-head{background:linear-gradient(180deg,color-mix(in oklab,var(--a) 14%,#fff),#fff)}
dialog.sx-dialog[data-style=espuma] .bk-dur{background:radial-gradient(circle at 32% 30%,#fff 0 16%,color-mix(in oklab,var(--a) 30%,#fff) 70%);color:color-mix(in oklab,var(--a) 58%,#000);box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--a) 40%,#fff)}
dialog.sx-dialog[data-style=espuma] :is(.bk-days button,.slot-picker button){border-radius:999px}
dialog.sx-dialog[data-style=espuma] h2{font-weight:800}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-espuma :is(.ld-hero,.ld-end) :is(.f1,.f2,.f3,.f4,.sp){animation:v3-bubble 6s ease-in-out infinite}
  .ld-moving.s-espuma .ld-hero .f2{animation-duration:5s;animation-delay:-2s}.ld-moving.s-espuma .ld-hero .f3{animation-duration:7s;animation-delay:-4s}
  .ld-moving.s-espuma .ld-hero .f4{animation-delay:-1s}.ld-moving.s-espuma .ld-hero .sp{animation-duration:4.4s}.ld-moving.s-espuma .ld-hero .sp.s2{animation-delay:-2.6s}
  .ld-moving.s-espuma .ld-slide-pic::after{animation:v3-water 4s ease-in-out infinite}
  .ld-moving.s-espuma .ld-row{transition:translate .4s var(--spring)}.ld-moving.s-espuma .ld-row:hover{translate:0 -3px}
  .ld-moving.s-espuma.ld-paused :is(.fx,.ld-slide-pic::after){animation-play-state:paused}
}
@keyframes v3-bubble{0%{translate:0 0;scale:1}50%{translate:6px -26px;scale:1.06}100%{translate:0 0;scale:1}}
@keyframes v3-water{50%{border-radius:46% 54% 0 0/30px 20px 0 0;translate:2% 0}}

/* ============ Esmalte — estudios de uñas y manicura. Serif de moda, forma de uña y muestras con brillo ============ */
.s-esmalte{--display:'Bodoni Moda','Bodoni 72',Didot,Georgia,serif;--paper:#fff5f6;--ink:#2b1420;--soft:color-mix(in oklab,var(--a) 10%,#fff5f6);--line:color-mix(in oklab,var(--ink) 14%,var(--paper));--r:22px;--gloss:radial-gradient(circle at 30% 28%,rgba(255,255,255,.75) 0 12%,transparent 13%)}
.s-esmalte .ld-fx .fx{display:none}
.s-esmalte .ld-brand{font-family:var(--display);font-weight:600;font-style:italic;font-size:21px}
.s-esmalte .ld-hero-copy{max-width:min(100%,640px)}
.s-esmalte .ld-title{font-style:italic;font-weight:600;font-size:clamp(44px,10cqi,116px);line-height:.95;letter-spacing:-.02em}
.s-esmalte .ld-sub{color:color-mix(in oklab,var(--ink) 72%,var(--paper))}
.s-esmalte .ld-btn{letter-spacing:.04em}
.s-esmalte .ld-hero :is(.f1,.f2,.f3,.f4){display:block;width:clamp(34px,5.6cqi,62px);aspect-ratio:1;border-radius:50%;top:auto;bottom:3%;background:var(--gloss),var(--sw,var(--a));box-shadow:0 10px 18px -10px rgba(43,20,32,.5)}
.s-esmalte .ld-hero .f1{left:5%}.s-esmalte .ld-hero .f2{left:14%;--sw:var(--b)}.s-esmalte .ld-hero .f3{left:23%;--sw:var(--c)}.s-esmalte .ld-hero .f4{left:32%;--sw:var(--deep)}
.s-esmalte .ld-hero{padding-bottom:clamp(80px,12cqi,130px)}
.s-esmalte .ld-slide-pic{aspect-ratio:5/7;max-height:none;width:min(84%,360px);justify-self:center;border-radius:50% 50% 20px 20px/42% 42% 20px 20px;box-shadow:0 0 0 1px var(--line),0 30px 60px -36px rgba(43,20,32,.45)}
.s-esmalte .ld-slide-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.5) 48%,transparent 58%);pointer-events:none;z-index:2}
.s-esmalte .ld-clock{background:var(--gloss),var(--a);color:var(--on-a);border-radius:50%}
.s-esmalte .ld-clock b{font-family:var(--display);font-style:italic;font-weight:600}
.s-esmalte .ld-slide-info{justify-content:center;text-align:center;margin-top:12px}
.s-esmalte .ld-slide-name{flex-basis:100%;font-family:var(--display);font-style:italic;font-weight:600}.s-esmalte .ld-slide-info p{order:0;flex-basis:100%}
.s-esmalte .ld-ctrl{justify-content:center}.s-esmalte .ld-progress{max-width:140px}
.s-esmalte .ld-ribbon{background:var(--ink);color:#fff;skew:none;padding:14px 0}
.s-esmalte .ld-rtrack{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(20px,2.8cqi,30px)}
.s-esmalte .ld-rtrack span::after{background:var(--gloss),linear-gradient(135deg,var(--a),var(--c));width:.7em;height:.7em}
.s-esmalte .ld-h2{font-style:italic;font-weight:600;letter-spacing:-.015em}
.s-esmalte .ld-row{border-top:1px solid var(--line)}.s-esmalte .ld-row:last-child{border-bottom:1px solid var(--line)}
.s-esmalte .ld-dur{width:56px;height:56px;background:var(--gloss),var(--a);color:var(--on-a);font-family:var(--display)}
.s-esmalte .ld-rows .ld-row:nth-child(3n+2) .ld-dur{background:var(--gloss),var(--deep);color:#fff}
.s-esmalte .ld-rows .ld-row:nth-child(3n) .ld-dur{background:var(--gloss),color-mix(in oklab,var(--b) 80%,#000);color:#fff}
.s-esmalte .ld-dur b{font-style:italic;font-weight:600;font-size:21px}
.s-esmalte .ld-rname{font-family:var(--display);font-style:italic;font-weight:600}
.s-esmalte .ld-card{transform:none;rotate:none}
.s-esmalte .ld-pic{border-radius:50% 50% 22px 22px/36% 36% 22px 22px}
.s-esmalte .ld-cname{font-family:var(--display);font-style:italic;font-weight:600}
.s-esmalte .ld-chips button[aria-pressed=true]{background:var(--ink);color:#fff}
.s-esmalte .ld-steps li{border-top:1px solid var(--ink)}
.s-esmalte .ld-steps b{font-style:italic;font-weight:600}
.s-esmalte .ld-end{background:var(--ink);color:#fff}
.s-esmalte .ld-end .fx{display:none}
.s-esmalte .ld-end .ld-h2.big{font-style:italic;font-weight:600}
.s-esmalte .ld-end .ld-btn.inv{background:var(--a);color:var(--on-a)}
.s-esmalte .ld-pill{background:var(--ink)!important;color:#fff!important}
dialog.sx-dialog[data-style=esmalte]{border-radius:26px}
dialog.sx-dialog[data-style=esmalte] h2{font-family:'Bodoni Moda','Bodoni 72',Didot,Georgia,serif;font-style:italic;font-weight:600}
dialog.sx-dialog[data-style=esmalte] .bk-dur{background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.75) 0 12%,transparent 13%),var(--a)}
dialog.sx-dialog[data-style=esmalte] :is(.bk-days button,.slot-picker button){border-radius:999px}
dialog.sx-dialog[data-style=esmalte] button.primary{background:#2b1420;border-color:#2b1420;color:#fff}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-esmalte .ld-hero :is(.f1,.f2,.f3,.f4){scale:0;translate:0 30px}
  .ld-moving.ld-go.s-esmalte .ld-hero :is(.f1,.f2,.f3,.f4){scale:1;translate:0 0;transition:scale .6s var(--spring),translate .6s var(--spring)}
  .ld-moving.ld-go.s-esmalte .ld-hero .f2{transition-delay:.1s}.ld-moving.ld-go.s-esmalte .ld-hero .f3{transition-delay:.2s}.ld-moving.ld-go.s-esmalte .ld-hero .f4{transition-delay:.3s}
  .ld-moving.s-esmalte .ld-slide-pic::after{animation:v3-sheen 4.5s ease-in-out infinite}
  .ld-moving.s-esmalte .ld-row .ld-dur{transition:scale .4s var(--spring)}.ld-moving.s-esmalte .ld-row:hover .ld-dur{scale:1.12}
  .ld-moving.s-esmalte.ld-paused .ld-slide-pic::after{animation-play-state:paused}
}
@keyframes v3-sheen{0%,55%{translate:-120% 0}85%,100%{translate:120% 0}}

/* ============ Mirada — pestañas, cejas, faciales y maquillaje. Beige mínimo, arcos finos y óvalos ============ */
.s-mirada{--sans:'Jost','Futura','Avenir Next',system-ui,sans-serif;--display:'Jost','Futura','Avenir Next',system-ui,sans-serif;--paper:#f6f1ea;--ink:#2a2622;--soft:#eee6da;--line:color-mix(in oklab,var(--ink) 16%,var(--paper));--r:0px}
.s-mirada .ld-fx .fx{display:none}
.s-mirada .ld-brand{font-weight:500;text-transform:uppercase;letter-spacing:.16em;font-size:15px}
.s-mirada .ld-mono{border-radius:50%;background:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.s-mirada .ld-links button{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:500}
.s-mirada .ld-hero{overflow:hidden}
.s-mirada .ld-hero-copy{max-width:min(100%,620px)}
.s-mirada .ld-title{font-weight:300;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(32px,7.2cqi,84px);line-height:1.06}
.s-mirada .ld-sub{max-width:40ch}
.s-mirada .ld-quick{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:500}
.s-mirada .ld-quick i{width:16px;height:1px;border-radius:0;background:var(--ink)}
.s-mirada .ld-hero .rings{display:none;width:clamp(260px,46cqi,560px);right:-16%;top:-6%;fill:none;stroke:color-mix(in oklab,var(--ink) 40%,transparent);stroke-width:1;clip-path:inset(0 0 52% 0);scale:1.4 1}
@container (min-width:860px){.s-mirada .ld-hero .rings{display:block}}
.s-mirada .ld-btn{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:500;min-height:52px;padding-inline:30px}
.s-mirada .ld-btn.solid{background:var(--ink);color:var(--paper)}.s-mirada .ld-btn.solid::before{background:var(--a)}.s-mirada .ld-btn.solid:hover{color:var(--on-a)}
.s-mirada .ld-btn.ghost{box-shadow:inset 0 0 0 1px currentColor}
.s-mirada .ld-slide-pic{aspect-ratio:3/4;max-height:none;width:min(100%,380px);justify-self:center;border-radius:50%;outline:1px solid var(--ink);outline-offset:12px}
.s-mirada .ld-clock{background:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.s-mirada .ld-clock b{font-weight:300}
.s-mirada .ld-plate,.s-mirada .ld-plate.v1,.s-mirada .ld-plate.v2,.s-mirada .ld-plate.v3{background:var(--soft)}
.s-mirada .ld-plate b{font-weight:300;color:var(--ink)}
.s-mirada .ld-slide-info{justify-content:center;text-align:center;margin-top:28px}
.s-mirada .ld-slide-name{flex-basis:100%;font-weight:400;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(18px,2.6cqi,24px)}
.s-mirada .ld-slide-info p{order:0;flex-basis:100%;letter-spacing:.06em}
.s-mirada .ld-ctrl{justify-content:center}.s-mirada .ld-round{box-shadow:inset 0 0 0 1px var(--ink)}
.s-mirada .ld-progress{height:1px;max-width:120px}.s-mirada .ld-progress i{background:var(--ink)}
.s-mirada .ld-ribbon{background:none;color:var(--ink);border-block:1px solid var(--line);padding:18px 0;skew:none}
.s-mirada .ld-rtrack{font-weight:400;text-transform:uppercase;letter-spacing:.3em;font-size:clamp(13px,1.6cqi,16px);gap:40px}
.s-mirada .ld-rtrack span{gap:40px}.s-mirada .ld-rtrack span::after{width:18px;height:1px;border-radius:0;background:var(--ink)}
.s-mirada .ld-head{gap:16px}
.s-mirada .ld-h2{font-weight:300;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(28px,5cqi,58px)}
.s-mirada .ld-row{border-top:1px solid var(--line)}.s-mirada .ld-row:last-child{border-bottom:1px solid var(--line)}
.s-mirada .ld-dur{background:none;color:var(--ink);width:auto;height:auto;border-radius:0;min-width:56px;font-weight:300}
.s-mirada .ld-dur b{font-size:30px;font-weight:300}
.s-mirada .ld-rname{font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(18px,2.6cqi,24px)}
.s-mirada .ld-rmeta{font-weight:400;letter-spacing:.04em}
.s-mirada .ld-card{transform:none;rotate:none;text-align:center}
.s-mirada .ld-pic{border-radius:50%}
.s-mirada .ld-cname{font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:15px}
.s-mirada .ld-cfoot{justify-content:center}
.s-mirada .ld-chips button{box-shadow:none;border-radius:0;border-bottom:1px solid transparent;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:500}
.s-mirada .ld-chips button[aria-pressed=true]{background:none;color:var(--ink);border-bottom-color:var(--ink)}
.s-mirada .ld-search input,.s-mirada .ld-sort select{border-radius:0;border-width:0 0 1px;border-color:var(--ink);background:none}
.s-mirada .ld-steps li{border-top:1px solid var(--ink)}
.s-mirada .ld-steps b{font-weight:300;color:var(--ink)}
.s-mirada .ld-end{background:var(--soft);color:var(--ink)}
.s-mirada .ld-end .fx{display:none}
.s-mirada .ld-end .ld-h2.big{font-weight:300;text-transform:uppercase;letter-spacing:.05em}
.s-mirada .ld-end .ld-btn.inv{background:var(--ink);color:var(--paper)}
.s-mirada .ld-pill{border-radius:0!important;text-transform:uppercase;letter-spacing:.16em;font-size:12px!important}
dialog.sx-dialog[data-style=mirada]{font-family:'Jost','Futura','Avenir Next',system-ui,sans-serif;border-radius:0}
dialog.sx-dialog[data-style=mirada] h2{font-weight:400;text-transform:uppercase;letter-spacing:.06em}
dialog.sx-dialog[data-style=mirada] .bk-head{background:#f6f1ea}
dialog.sx-dialog[data-style=mirada] .bk-dur{background:none;color:#2a2622;box-shadow:inset 0 0 0 1px #2a2622}
dialog.sx-dialog[data-style=mirada] .bk-step legend{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:500}
dialog.sx-dialog[data-style=mirada] :is(.bk-days button,.slot-picker button){border-radius:0}
dialog.sx-dialog[data-style=mirada] button.primary{border-radius:0;background:#2a2622;border-color:#2a2622;color:#f6f1ea;text-transform:uppercase;letter-spacing:.16em;font-size:13px}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-mirada .ld-hero .rings circle{stroke-dasharray:1200;animation:sx-draw 3.2s .3s var(--e) both;--len:1200}
  .ld-moving.s-mirada .ld-slide-pic{outline-offset:34px;outline-color:transparent}
  .ld-moving.ld-go.s-mirada .ld-slide-pic{outline-offset:12px;outline-color:var(--ink);transition:outline-offset 1.8s .5s var(--e),outline-color 1.2s .5s}
  .ld-moving.s-mirada .ld-title{letter-spacing:.14em}
  .ld-moving.ld-go.s-mirada .ld-title{letter-spacing:.05em;transition:letter-spacing 2.2s var(--e)}
  .ld-moving.s-mirada .ld-row .ld-rname{transition:letter-spacing .6s var(--e)}.ld-moving.s-mirada .ld-row:hover .ld-rname{letter-spacing:.12em}
}

/* ============ Encuadre — fotografía, sesiones, estudio y video. Visor de cámara, REC y película ============ */
.s-encuadre{--sans:'Space Grotesk','Avenir Next',system-ui,sans-serif;--display:'Space Grotesk','Avenir Next',system-ui,sans-serif;--mono:'Space Mono',ui-monospace,'SF Mono',Menlo,monospace;--paper:#0f0f10;--ink:#f1f0ec;--muted:#a9a8a2;--line:rgba(241,240,236,.16);--soft:rgba(241,240,236,.05);--deep:#f1f0ec;--r:2px;--panel:#1a1a1c}
.s-encuadre .ld{background:var(--paper);color:var(--ink)}
.s-encuadre .ld-top.solid{background:rgba(15,15,16,.88);box-shadow:0 1px 0 var(--line)}
.s-encuadre .ld-fx .fx{display:none}
.s-encuadre .ld-brand{font-weight:700;letter-spacing:-.01em}.s-encuadre .ld-mono{border-radius:2px;background:var(--ink);color:var(--paper)}
.s-encuadre .ld-lang{box-shadow:inset 0 0 0 1.5px var(--line);font-family:var(--mono)}
.s-encuadre .ld-hero-copy{max-width:min(100%,640px)}
.s-encuadre .ld-title{font-weight:600;font-size:clamp(40px,9cqi,104px);line-height:.96;letter-spacing:-.035em}
.s-encuadre .ld-sub{color:var(--muted)}
.s-encuadre :is(.ld-quick,.ld-ccat,.ld-rmeta,.ld-slide-info p,.ld-count,.ld-stock){font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;font-size:12px}
.s-encuadre .ld-btn{border-radius:2px;font-weight:600}
.s-encuadre .ld-btn.solid::before{background:#fff}.s-encuadre .ld-btn.solid:hover{color:#0f0f10}
.s-encuadre .ld-slide-pic{aspect-ratio:3/2;border-radius:2px;background:var(--panel)}
.s-encuadre .ld-slide-pic::before{content:"";position:absolute;inset:16px;z-index:2;pointer-events:none;background:linear-gradient(var(--ink),var(--ink)) top left/30px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) top left/2px 30px no-repeat,linear-gradient(var(--ink),var(--ink)) top right/30px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) top right/2px 30px no-repeat,linear-gradient(var(--ink),var(--ink)) bottom left/30px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) bottom left/2px 30px no-repeat,linear-gradient(var(--ink),var(--ink)) bottom right/30px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) bottom right/2px 30px no-repeat}
.s-encuadre .ld-slide-pic::after{content:"REC";position:absolute;top:26px;right:30px;z-index:2;font:700 12px var(--mono);letter-spacing:.1em;color:#fff;padding-left:18px;background:radial-gradient(circle at 6px 50%,#ff3b30 0 5px,transparent 6px) no-repeat}
.s-encuadre .ld-plate,.s-encuadre .ld-plate.v1,.s-encuadre .ld-plate.v2,.s-encuadre .ld-plate.v3{background:var(--panel)}
.s-encuadre .ld-plate i:first-child,.s-encuadre .ld-plate.v1 i:first-child,.s-encuadre .ld-plate.v2 i:first-child,.s-encuadre .ld-plate.v3 i:first-child{background:color-mix(in oklab,var(--a) 22%,var(--panel))}
.s-encuadre .ld-plate i:nth-child(2),.s-encuadre .ld-plate.v1 i:nth-child(2),.s-encuadre .ld-plate.v2 i:nth-child(2),.s-encuadre .ld-plate.v3 i:nth-child(2){background:#2a2a2d}
.s-encuadre .ld-plate b{color:var(--ink);font-weight:600}
.s-encuadre .ld-clock{background:none;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);border-radius:50%;font-family:var(--mono)}
.s-encuadre .ld-clock b{font-weight:700}
.s-encuadre .ld-slide-name{font-weight:600}
.s-encuadre .ld-round{border-radius:2px;box-shadow:inset 0 0 0 1.5px var(--line)}
.s-encuadre .ld-ribbon{background:#000;color:var(--ink);padding:24px 0;position:relative;skew:none}
.s-encuadre .ld-ribbon::before,.s-encuadre .ld-ribbon::after{content:"";position:absolute;left:0;right:0;height:7px;background:repeating-linear-gradient(90deg,rgba(241,240,236,.75) 0 10px,transparent 10px 22px)}
.s-encuadre .ld-ribbon::before{top:7px}.s-encuadre .ld-ribbon::after{bottom:7px}
.s-encuadre .ld-rtrack{font-family:var(--mono);font-weight:700;text-transform:uppercase;font-size:clamp(14px,2cqi,20px);gap:32px}
.s-encuadre .ld-rtrack span{gap:32px}.s-encuadre .ld-rtrack span::after{width:10px;height:10px;background:#ff3b30}
.s-encuadre .ld-h2{font-weight:600;letter-spacing:-.03em}
.s-encuadre .ld-row,.s-encuadre .ld-row:last-child{border-color:var(--line)}
.s-encuadre .ld-dur{border-radius:2px;background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);font-family:var(--mono)}
.s-encuadre .ld-dur b{font-size:20px}
.s-encuadre .ld-rname{font-weight:600}
.s-encuadre .ld-card{transform:none;rotate:none}
.s-encuadre .ld-pic{border-radius:2px;background:var(--panel);aspect-ratio:4/5}
.s-encuadre .ld-tag{color:var(--ink)}
.s-encuadre .ld-badge{background:#ff3b30;color:#fff;border-radius:2px;font-family:var(--mono);text-transform:uppercase}
.s-encuadre .ld-search input,.s-encuadre .ld-sort select{background:var(--panel);color:var(--ink);border-color:var(--line);border-radius:2px}
.s-encuadre .ld-chips button{border-radius:2px;box-shadow:inset 0 0 0 1.5px var(--line);font-family:var(--mono);font-size:13px}
.s-encuadre .ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.s-encuadre .ld-result button{color:var(--ink)}
.s-encuadre .ld-blk.alt{background:#151516}
.s-encuadre .ld-steps li{border-top:1.5px solid var(--ink)}.s-encuadre .ld-steps b{color:var(--ink);font-family:var(--mono)}
.s-encuadre .ld-facts>div{border-top-color:var(--line)}
.s-encuadre .ld-end{background:#000;color:var(--ink)}
.s-encuadre .ld-end .fx{display:none}
.s-encuadre .ld-end .ld-h2.big{font-weight:600;letter-spacing:-.04em}
.s-encuadre .ld-end .ld-btn.inv{background:var(--ink);color:#000}
.s-encuadre .ld-foot{background:#000;color:var(--ink);border-top:1px solid var(--line)}
.s-encuadre .ld-pill{background:var(--ink)!important;color:#000!important;border-radius:4px!important}
dialog.sx-dialog[data-style=encuadre]{--ink:#f1f0ec;--muted:#a9a8a2;--line:rgba(241,240,236,.18);--soft:#1a1a1c;background:#141415;color:#f1f0ec;font-family:'Space Grotesk','Avenir Next',system-ui,sans-serif;border-radius:4px}
dialog.sx-dialog[data-style=encuadre] .bk-head{background:#1a1a1c}
dialog.sx-dialog[data-style=encuadre] .bk-dur{border-radius:2px;background:none;color:#f1f0ec;box-shadow:inset 0 0 0 1.5px #f1f0ec;font-family:'Space Mono',ui-monospace,monospace}
dialog.sx-dialog[data-style=encuadre] :is(input,select,.bk-days button,.slot-picker button){background:#1a1a1c;color:#f1f0ec;border-color:rgba(241,240,236,.22);border-radius:2px}
dialog.sx-dialog[data-style=encuadre] .bk-days button[aria-pressed=true],dialog.sx-dialog[data-style=encuadre] .slot-picker button[aria-pressed=true]{background:#f1f0ec;color:#0f0f10;border-color:#f1f0ec}
dialog.sx-dialog[data-style=encuadre] button.primary{background:#f1f0ec;border-color:#f1f0ec;color:#0f0f10;border-radius:2px}
dialog.sx-dialog[data-style=encuadre]>.close{background:#1a1a1c;color:#f1f0ec}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-encuadre .ld-slide-pic::after{animation:v3-rec 1.6s steps(1) infinite}
  .ld-moving.s-encuadre .ld-slide-pic::before{scale:1.08;opacity:0}
  .ld-moving.ld-go.s-encuadre .ld-slide-pic::before{scale:1;opacity:1;transition:scale 1s .6s var(--e),opacity .6s .6s}
  .ld-moving.s-encuadre .ld-slide.enter .ld-slide-pic{animation:v3-flash .7s ease-out both}
  .ld-moving.s-encuadre .ld-card:hover .ld-pic{box-shadow:0 0 0 2px var(--ink)}
  .ld-moving.s-encuadre.ld-paused .ld-slide-pic::after{animation-play-state:paused}
}
@keyframes v3-rec{50%{background:none}}
@keyframes v3-flash{from{filter:brightness(3) contrast(.6)}}

/* ============ Garaje — talleres mecánicos, lavado de autos y detailing. Franjas de precaución y órdenes de trabajo ============ */
.s-garaje{--display:'Saira Condensed','Avenir Next Condensed','Arial Narrow',system-ui,sans-serif;--paper:#f2f2ef;--ink:#121212;--soft:#e6e6e1;--line:color-mix(in oklab,var(--ink) 16%,var(--paper));--r:6px;--haz:#ffcc00}
.s-garaje .ld-fx .fx{display:none}
.s-garaje .ld-brand{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:21px;letter-spacing:.02em}
.s-garaje .ld-mono{border-radius:4px;background:var(--ink);color:var(--haz)}
.s-garaje :is(.ld-title,.ld-h2,.ld-slide-name,.ld-rname,.ld-sname,.ld-cname){text-transform:uppercase;font-family:var(--display)}
.s-garaje .ld-hero{overflow:hidden;padding-bottom:clamp(54px,9cqi,110px)}
.s-garaje .ld-hero-copy{max-width:min(100%,640px)}
.s-garaje .ld-title{font-weight:800;font-size:clamp(46px,11cqi,128px);line-height:.88;letter-spacing:.005em}
.s-garaje .ld-quick{text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.s-garaje .ld-hero .f1{display:block;left:0;right:0;bottom:0;height:18px;background:repeating-linear-gradient(-45deg,var(--haz) 0 18px,var(--ink) 18px 36px)}
.s-garaje .ld-btn{border-radius:4px;text-transform:uppercase;font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:.04em}
.s-garaje .ld-slide-pic{clip-path:polygon(5% 0,100% 0,95% 100%,0 100%);border-radius:0;background:linear-gradient(90deg,transparent calc(50% - 3px),var(--haz) calc(50% - 3px) calc(50% + 3px),transparent calc(50% + 3px)) 0 0/100% 48px,#2a2a2a;background-image:repeating-linear-gradient(180deg,var(--haz) 0 26px,transparent 26px 52px);background-size:6px 100%;background-position:50% 0;background-repeat:no-repeat;background-color:#262626}
.s-garaje .ld-slide-pic .ld-plate,.s-garaje .ld-slide-pic .ld-plate.v1,.s-garaje .ld-slide-pic .ld-plate.v2,.s-garaje .ld-slide-pic .ld-plate.v3{background:#262626}
.s-garaje .ld-clock{border-radius:6px;background:var(--haz);color:var(--ink);box-shadow:inset 0 0 0 5px var(--ink);font-family:var(--display)}
.s-garaje .ld-clock b{font-weight:800}
.s-garaje .ld-slide-name{font-weight:800;font-size:clamp(24px,3.6cqi,34px)}
.s-garaje .ld-round{border-radius:4px}
.s-garaje .ld-ribbon{background:repeating-linear-gradient(-45deg,var(--haz) 0 22px,var(--ink) 22px 44px);padding:12px 0;skew:none}
.s-garaje .ld-rtrack{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(18px,2.8cqi,28px);gap:14px}
.s-garaje .ld-rtrack span{background:var(--ink);color:var(--haz);padding:6px 16px;border-radius:2px;gap:0}
.s-garaje .ld-rtrack span::after{display:none}
.s-garaje .ld-h2{font-weight:800;line-height:.9}
.s-garaje .ld-rows{gap:14px}
.s-garaje .ld-row,.s-garaje .ld-row:last-child{border:2px solid var(--ink);border-radius:6px;background:#fff;padding:16px 18px;margin-bottom:14px;box-shadow:inset 8px 0 0 var(--a)}
.s-garaje .ld-dur{border-radius:4px;background:var(--haz);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);font-family:var(--display)}
.s-garaje .ld-dur b{font-weight:800}
.s-garaje .ld-rname{font-weight:800;font-size:clamp(22px,3.4cqi,32px);line-height:.95}
.s-garaje .ld-rmeta{text-transform:uppercase;letter-spacing:.05em;font-size:13px}
.s-garaje .ld-card{background:#fff;border:2px solid var(--ink);border-radius:6px;padding:10px;transform:none;rotate:none}
.s-garaje .ld-pic{border-radius:4px}
.s-garaje .ld-cname{font-weight:800;font-size:clamp(18px,2.6cqi,22px)}
.s-garaje .ld-tag{background:var(--haz);padding:2px 8px;border-radius:2px}
.s-garaje .ld-badge{background:var(--ink);color:var(--haz);border-radius:2px;text-transform:uppercase}
.s-garaje .ld-chips button{border-radius:4px;box-shadow:inset 0 0 0 2px var(--ink);font-weight:700}
.s-garaje .ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--haz)}
.s-garaje .ld-search input,.s-garaje .ld-sort select{border:2px solid var(--ink);border-radius:4px}
.s-garaje .ld-steps li{border-top:4px solid var(--ink)}
.s-garaje .ld-end{background:var(--ink);color:#fff}
.s-garaje .ld-end::before{content:"";position:absolute;left:0;right:0;top:0;height:22px;background:repeating-conic-gradient(#fff 0 25%,var(--ink) 0 50%) 0 0/22px 22px}
.s-garaje .ld-end .fx{display:none}
.s-garaje .ld-end .ld-h2.big{text-transform:uppercase;font-weight:800;line-height:.86}
.s-garaje .ld-end .ld-btn.inv{background:var(--haz);color:var(--ink)}
.s-garaje .ld-pill{border-radius:6px!important;background:var(--ink)!important;color:var(--haz)!important;font-family:var(--display)!important;text-transform:uppercase;font-size:18px!important}
dialog.sx-dialog[data-style=garaje]{border-radius:8px}
dialog.sx-dialog[data-style=garaje] h2{font-family:'Saira Condensed','Arial Narrow',system-ui,sans-serif;text-transform:uppercase;font-weight:800}
dialog.sx-dialog[data-style=garaje] .bk-head{background:#f2f2ef;box-shadow:inset 0 -6px 0 0 #ffcc00}
dialog.sx-dialog[data-style=garaje] .bk-dur{border-radius:4px;background:#ffcc00;color:#121212;box-shadow:inset 0 0 0 2px #121212}
dialog.sx-dialog[data-style=garaje] :is(.bk-days button,.slot-picker button){border-radius:4px}
dialog.sx-dialog[data-style=garaje] button.primary{border-radius:4px;background:#121212;border-color:#121212;color:#ffcc00;text-transform:uppercase;letter-spacing:.06em}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-garaje .ld-hero .f1,.ld-moving.s-garaje .ld-ribbon{animation:v3-hazard 1.8s linear infinite}
  .ld-moving.s-garaje .ld-hero .w>span{translate:-70% 0;opacity:0}
  .ld-moving.ld-go.s-garaje .ld-hero .w>span{translate:0 0;opacity:1;transition:translate .5s cubic-bezier(.2,1.3,.4,1),opacity .2s;transition-delay:calc(.1s + var(--n,0)*.07s)}
  .ld-moving.s-garaje .ld-row{transition:translate .3s var(--e),box-shadow .3s}
  .ld-moving.s-garaje .ld-row:hover{translate:4px 0;box-shadow:inset 14px 0 0 var(--a)}
  .ld-moving.s-garaje.ld-paused :is(.fx,.ld-ribbon){animation-play-state:paused}
}
@keyframes v3-hazard{to{background-position:50.9px 0}}

/* ============ Compás — clases de música, academias y salas de ensayo. Pentagrama, notas, teclado y vinilo ============ */
.s-compas{--display:'DM Serif Display','Iowan Old Style',Georgia,serif;--paper:#fbf8f2;--ink:#1f1b2e;--soft:#f1ece2;--line:color-mix(in oklab,var(--ink) 15%,var(--paper));--r:16px}
.s-compas .ld-fx .fx{display:none}
.s-compas .ld-brand{font-family:var(--display);font-weight:400;font-size:21px}
.s-compas .ld-hero{overflow:hidden;padding-bottom:clamp(130px,15cqi,170px)}
.s-compas .ld-hero-copy{max-width:min(100%,640px)}
.s-compas .ld-title{font-weight:400;font-size:clamp(42px,9.4cqi,108px);line-height:.98;letter-spacing:-.01em}
.s-compas .ld-sub{color:color-mix(in oklab,var(--ink) 72%,var(--paper))}
.s-compas .ld-hero .f1{display:block;left:0;right:0;bottom:clamp(26px,4cqi,46px);height:57px;background:repeating-linear-gradient(180deg,color-mix(in oklab,var(--ink) 34%,transparent) 0 1.5px,transparent 1.5px 14px)}
.s-compas .ld-hero .sp{display:block;width:17px;height:13px;border-radius:50%;background:var(--ink);rotate:-20deg}
.s-compas .ld-hero .sp::after{content:"";position:absolute;right:0;bottom:55%;width:2px;height:34px;background:var(--ink);rotate:20deg;transform-origin:bottom}
.s-compas .ld-hero .sp.s1{left:12%;bottom:calc(clamp(26px,4cqi,46px) + 22px)}.s-compas .ld-hero .sp.s2{left:22%;bottom:calc(clamp(26px,4cqi,46px) + 36px);background:var(--a)}.s-compas .ld-hero .sp.s3{left:32%;bottom:calc(clamp(26px,4cqi,46px) + 8px)}
.s-compas .ld-hero .sp.s2::after{background:var(--a)}
.s-compas .ld-slide-pic{border-radius:16px;box-shadow:0 30px 60px -38px rgba(31,27,46,.5)}
.s-compas .ld-clock{position:relative;isolation:isolate;background:none;color:#fff;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.s-compas .ld-clock::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:-1;background:radial-gradient(circle,var(--a) 0 17%,#111 18% 19%,transparent 20%),conic-gradient(from 20deg,rgba(255,255,255,.08),transparent 25%,rgba(255,255,255,.06) 50%,transparent 75%),repeating-radial-gradient(circle,#1c1c1c 0 2px,#2b2b2b 2px 4px)}
.s-compas .ld-clock b{font-family:var(--display);font-weight:400;text-shadow:0 2px 8px #000}
.s-compas .ld-clock i{text-shadow:0 2px 8px #000}
.s-compas .ld-slide-name{font-family:var(--display);font-weight:400}
.s-compas .ld-ribbon{background:repeating-linear-gradient(90deg,transparent 0 20px,var(--ink) 20px 36px,transparent 36px 50px,var(--ink) 50px 66px,transparent 66px 110px,var(--ink) 110px 126px,transparent 126px 140px,var(--ink) 140px 156px,transparent 156px 170px,var(--ink) 170px 186px,transparent 186px 210px) top/100% 56% no-repeat,repeating-linear-gradient(90deg,#fffdf8 0 28px,#cfc8bb 28px 30px);padding:30px 0 14px;skew:none;color:var(--ink)}
.s-compas .ld-rtrack{font-family:var(--display);font-weight:400;font-size:clamp(18px,2.6cqi,28px);gap:12px}
.s-compas .ld-rtrack span{background:var(--paper);padding:4px 14px;border-radius:999px;box-shadow:0 0 0 1px var(--line);gap:0}
.s-compas .ld-rtrack span::after{display:none}
.s-compas .ld-h2{font-weight:400}
.s-compas .ld-row,.s-compas .ld-row:last-child{border-color:var(--line)}
.s-compas .ld-dur{background:var(--ink);color:var(--paper);font-family:var(--display)}
.s-compas .ld-dur b{font-weight:400}
.s-compas .ld-rname{font-family:var(--display);font-weight:400}
.s-compas .ld-card{transform:none;rotate:none}
.s-compas .ld-cname{font-family:var(--display);font-weight:400}
.s-compas .ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.s-compas .ld-steps b{font-family:var(--display);font-weight:400}
.s-compas .ld-end{background:var(--ink);color:var(--paper)}
.s-compas .ld-end::after{content:"";position:absolute;left:0;right:0;bottom:24%;height:57px;background:repeating-linear-gradient(180deg,rgba(251,248,242,.22) 0 1.5px,transparent 1.5px 14px);pointer-events:none}
.s-compas .ld-end .fx{display:none}
.s-compas .ld-end .ld-h2.big{font-weight:400}
.s-compas .ld-end .ld-btn.inv{background:var(--a);color:var(--on-a)}
dialog.sx-dialog[data-style=compas] h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400}
dialog.sx-dialog[data-style=compas] .bk-head{background:#fbf8f2;border-bottom:1px solid #e5dfd3}
dialog.sx-dialog[data-style=compas] .bk-dur{background:radial-gradient(circle,var(--a) 0 22%,#111 23% 25%,transparent 26%),repeating-radial-gradient(circle,#1c1c1c 0 2px,#2b2b2b 2px 4px);color:#fff}
dialog.sx-dialog[data-style=compas] .bk-dur b{text-shadow:0 1px 6px #000}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-compas .ld-hero .sp{animation:v3-note 1s ease-in-out infinite alternate}
  .ld-moving.s-compas .ld-hero .sp.s2{animation-delay:-.5s}.ld-moving.s-compas .ld-hero .sp.s3{animation-delay:-.25s}
  .ld-moving.s-compas .ld-clock::before{animation:sx-spin 6s linear infinite}
  .ld-moving.s-compas .ld-hero .f1{clip-path:inset(0 100% 0 0)}
  .ld-moving.ld-go.s-compas .ld-hero .f1{clip-path:inset(0);transition:clip-path 1.8s .4s var(--e)}
  .ld-moving.s-compas.ld-paused :is(.fx,.ld-clock::before){animation-play-state:paused}
}
@keyframes v3-note{to{translate:0 -10px}}

/* ============ Refugio — psicología, terapia, coaching y consejería. Cálido y sereno, un círculo que respira ============ */
.s-refugio{--display:'Lora','Iowan Old Style',Georgia,serif;--paper:#f4f0e8;--ink:#24302a;--soft:#ebe5d8;--line:color-mix(in oklab,var(--ink) 14%,var(--paper));--r:20px}
.s-refugio .ld-fx .fx{display:none}
.s-refugio .ld-brand{font-family:var(--display);font-weight:500}
.s-refugio .ld-mono{border-radius:50%}
.s-refugio .ld-hero{overflow:hidden}
.s-refugio .ld-hero-copy{max-width:min(100%,620px)}
.s-refugio .ld-title{font-weight:500;font-size:clamp(36px,7.6cqi,86px);line-height:1.08;letter-spacing:-.01em}
.s-refugio .ld-sub{font-family:var(--display);font-style:italic;font-size:clamp(18px,2.2cqi,22px);color:color-mix(in oklab,var(--ink) 78%,var(--paper))}
.s-refugio .ld-btn{border-radius:14px;font-weight:600}
.s-refugio .ld-hero .f1{display:block;width:clamp(220px,46cqi,520px);aspect-ratio:1;border-radius:50%;right:-16%;top:-8%;background:radial-gradient(circle,color-mix(in oklab,var(--a) 24%,transparent),transparent 68%)}
.s-refugio .ld-hero .f2{display:block;width:clamp(120px,22cqi,240px);aspect-ratio:1;left:-8%;bottom:-6%;border-radius:62% 38% 46% 54%/56% 44% 56% 44%;background:color-mix(in oklab,var(--b) 14%,transparent)}
.s-refugio .ld-stage{background:#fbf8f2;border-radius:28px;padding:14px;box-shadow:0 26px 50px -38px rgba(36,48,42,.45)}
.s-refugio .ld-slide-pic{border-radius:20px}
.s-refugio .ld-clock{background:none;color:var(--ink);box-shadow:0 0 0 1px var(--line),0 0 0 18px color-mix(in oklab,var(--a) 8%,transparent),0 0 0 36px color-mix(in oklab,var(--a) 5%,transparent)}
.s-refugio .ld-clock b{font-family:var(--display);font-weight:500}
.s-refugio .ld-slide-name{font-family:var(--display);font-weight:500}
.s-refugio .ld-round{box-shadow:inset 0 0 0 1px var(--line)}
.s-refugio .ld-ribbon{background:var(--soft);color:var(--ink);skew:none;padding:16px 0}
.s-refugio .ld-rtrack{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(19px,2.6cqi,27px);gap:30px}
.s-refugio .ld-rtrack span{gap:30px}.s-refugio .ld-rtrack span::after{background:none;box-shadow:inset 0 0 0 1.5px currentColor;width:.42em;height:.42em}
.s-refugio .ld-h2{font-weight:500}
.s-refugio .ld-lead{font-family:var(--display);font-style:italic}
.s-refugio .ld-rows{gap:14px}
.s-refugio .ld-row,.s-refugio .ld-row:last-child{border:0;background:#fbf8f2;border-radius:20px;padding:18px 20px;margin-bottom:12px}
.s-refugio .ld-dur{background:none;color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--ink) 30%,transparent);font-family:var(--display)}
.s-refugio .ld-dur b{font-weight:500}
.s-refugio .ld-rname{font-family:var(--display);font-weight:500}
.s-refugio .ld-card{background:#fbf8f2;border-radius:20px;padding:10px;transform:none;rotate:none}
.s-refugio .ld-cname{font-family:var(--display);font-weight:500}
.s-refugio .ld-chips button{border-radius:14px;box-shadow:inset 0 0 0 1px var(--line)}
.s-refugio .ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.s-refugio .ld-steps li{border-top:0;background:#fbf8f2;border-radius:20px;padding:22px}
.s-refugio .ld-steps b{font-family:var(--display);font-weight:500;color:color-mix(in oklab,var(--a) 70%,var(--ink))}
.s-refugio .ld-facts>div{border:0;background:#fbf8f2;border-radius:18px;padding:18px}
.s-refugio .ld-end{background:color-mix(in oklab,var(--a) 18%,var(--paper));color:var(--ink)}
.s-refugio .ld-end .fx{display:none}
.s-refugio .ld-end .ld-h2.big{font-weight:500}
.s-refugio .ld-end .ld-btn.inv{background:var(--ink);color:var(--paper)}
.s-refugio .ld-pill{border-radius:16px!important}
dialog.sx-dialog[data-style=refugio]{border-radius:24px;background:#fbf8f2}
dialog.sx-dialog[data-style=refugio] h2{font-family:'Lora',Georgia,serif;font-weight:500}
dialog.sx-dialog[data-style=refugio] .bk-head{background:#f4f0e8}
dialog.sx-dialog[data-style=refugio] .bk-dur{background:none;color:#24302a;box-shadow:inset 0 0 0 1px rgba(36,48,42,.3);font-family:'Lora',Georgia,serif}
dialog.sx-dialog[data-style=refugio] .pv-note{font-family:'Lora',Georgia,serif;font-style:italic}
dialog.sx-dialog[data-style=refugio] :is(.bk-days button,.slot-picker button){border-radius:14px}
dialog.sx-dialog[data-style=refugio] button.primary{border-radius:14px}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-refugio .ld-hero .f1{animation:v3-breathe 8s ease-in-out infinite}
  .ld-moving.s-refugio .ld-hero .f2{animation:sx-drift 18s ease-in-out infinite}
  .ld-moving.s-refugio [data-rv].in{transition-duration:1.4s,1.6s}
  .ld-moving.s-refugio .ld-hero .w>span{transition-duration:1.4s}
  .ld-moving.s-refugio.ld-paused .fx{animation-play-state:paused}
}
@keyframes v3-breathe{0%,100%{scale:.86;opacity:.7}50%{scale:1.08;opacity:1}}

/* ============ Respira — yoga, pilates, meditación y sonido. Amanecer en degradé, sol y ondas ============ */
.s-respira{--sans:'Outfit','Avenir Next',system-ui,sans-serif;--display:'Outfit','Avenir Next',system-ui,sans-serif;--paper:#fffaf6;--ink:#2d2733;--soft:color-mix(in oklab,var(--a) 8%,#fffaf6);--line:color-mix(in oklab,var(--ink) 13%,var(--paper));--r:28px;--dawn:linear-gradient(180deg,#ffe3d1 0%,#f4def0 55%,#fffaf6 100%)}
.s-respira .ld-fx .fx{display:none}
.s-respira .ld-brand{font-weight:500;letter-spacing:.02em}.s-respira .ld-mono{border-radius:50%}
.s-respira .ld-hero{background:var(--dawn);overflow:hidden}
.s-respira .ld-hero-copy{max-width:min(100%,640px)}
.s-respira .ld-title{font-weight:300;font-size:clamp(40px,9cqi,104px);line-height:1.02;letter-spacing:-.025em}
.s-respira .ld-sub{color:color-mix(in oklab,var(--ink) 72%,var(--paper))}
.s-respira .ld-btn{font-weight:500}
.s-respira .ld-hero .f1{display:block;width:clamp(110px,22cqi,260px);aspect-ratio:1;border-radius:50%;right:-6%;top:-2%;background:radial-gradient(circle,#ffd2a8 0 52%,rgba(255,210,168,0) 70%)}
.s-respira .ld-hero .rings{display:block;width:clamp(240px,48cqi,560px);right:calc(-6% - clamp(65px,13cqi,150px));top:calc(-2% - clamp(65px,13cqi,150px));fill:none;stroke:rgba(255,255,255,.85);stroke-width:1.5}
@container (min-width:860px){.s-respira .ld-hero .f1{right:8%;top:6%}.s-respira .ld-hero .rings{right:calc(8% - clamp(65px,13cqi,150px));top:calc(6% - clamp(65px,13cqi,150px))}}
.s-respira .ld-slide-pic{border-radius:50%;aspect-ratio:1;max-height:none;width:min(100%,420px);justify-self:center;box-shadow:0 0 0 12px rgba(255,255,255,.6),0 30px 60px -36px rgba(45,39,51,.4)}
.s-respira .ld-clock{background:rgba(255,255,255,.7);color:var(--ink)}
.s-respira .ld-clock b{font-weight:300}
.s-respira .ld-slide-info{justify-content:center;text-align:center;margin-top:16px}
.s-respira .ld-slide-name{flex-basis:100%;font-weight:400}.s-respira .ld-slide-info p{order:0;flex-basis:100%}
.s-respira .ld-ctrl{justify-content:center}.s-respira .ld-progress{max-width:140px}
.s-respira .ld-round{box-shadow:inset 0 0 0 1px var(--line);background:rgba(255,255,255,.5)}
.s-respira .ld-ribbon{background:linear-gradient(90deg,#ffe3d1,#f4def0,#e3e6fb);color:var(--ink);skew:none;padding:16px 0}
.s-respira .ld-rtrack{font-weight:300;font-size:clamp(20px,3cqi,32px);gap:34px}
.s-respira .ld-rtrack span{gap:34px}.s-respira .ld-rtrack span::after{background:#ffb48a;width:.45em;height:.45em}
.s-respira .ld-h2{font-weight:300;letter-spacing:-.02em}
.s-respira .ld-rows{gap:12px}
.s-respira .ld-row,.s-respira .ld-row:last-child{border:0;background:#fff;border-radius:28px;padding:16px 20px;margin-bottom:12px;box-shadow:0 16px 34px -28px rgba(45,39,51,.35)}
.s-respira .ld-dur{width:auto;height:auto;padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,#ffe3d1,#f4def0);color:var(--ink);display:inline-flex;gap:4px;align-items:baseline}
.s-respira .ld-dur b{font-size:20px;font-weight:500}
.s-respira .ld-rname{font-weight:400}
.s-respira .ld-card{background:#fff;border-radius:28px;padding:10px;transform:none;rotate:none}
.s-respira .ld-pic{border-radius:22px}
.s-respira .ld-chips button{background:#fff;box-shadow:none}
.s-respira .ld-chips button[aria-pressed=true]{background:var(--ink);color:#fff}
.s-respira .ld-steps li{border-top:0;background:#fff;border-radius:24px;padding:22px}
.s-respira .ld-steps b{font-weight:300}
.s-respira .ld-end{background:linear-gradient(160deg,#f4def0,#ffe3d1);color:var(--ink)}
.s-respira .ld-end .fx{display:none}
.s-respira .ld-end .ld-h2.big{font-weight:300}
.s-respira .ld-end .ld-btn.inv{background:var(--ink);color:#fff}
dialog.sx-dialog[data-style=respira]{font-family:'Outfit','Avenir Next',system-ui,sans-serif;border-radius:32px}
dialog.sx-dialog[data-style=respira] h2{font-weight:400}
dialog.sx-dialog[data-style=respira] .bk-head{background:linear-gradient(180deg,#ffe3d1,#f4def0)}
dialog.sx-dialog[data-style=respira] .bk-dur{background:rgba(255,255,255,.75);color:#2d2733}
dialog.sx-dialog[data-style=respira] :is(.bk-days button,.slot-picker button){border-radius:999px}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-respira .ld-hero .f1{animation:v3-breathe 10s ease-in-out infinite}
  .ld-moving.s-respira .ld-hero .rings circle{animation:v3-ripple 6s ease-out infinite;transform-origin:200px 200px}
  .ld-moving.s-respira .ld-hero .rings circle:nth-child(2){animation-delay:-2s}.ld-moving.s-respira .ld-hero .rings circle:nth-child(3){animation-delay:-4s}
  .ld-moving.s-respira [data-rv].in{transition-duration:1.2s,1.4s}
  .ld-moving.s-respira.ld-paused :is(.fx,.rings circle){animation-play-state:paused}
}
@keyframes v3-ripple{0%{scale:.6;opacity:0}30%{opacity:.9}100%{scale:1.15;opacity:0}}

/* ============ Hogar — limpieza, plomería, electricidad, jardinería y técnicos a domicilio. Confianza y lista de chequeo ============ */
.s-hogar{--sans:'Manrope','Avenir Next',system-ui,sans-serif;--display:'Manrope','Avenir Next',system-ui,sans-serif;--paper:#f5f7fa;--ink:#0f1c2e;--soft:color-mix(in oklab,var(--a) 8%,#f5f7fa);--line:color-mix(in oklab,var(--ink) 12%,#fff);--r:16px}
.s-hogar .ld-fx .fx{display:none}
.s-hogar .ld-brand{font-weight:800}.s-hogar .ld-mono{border-radius:10px}
.s-hogar .ld-hero{overflow:hidden}
.s-hogar .ld-hero-copy{max-width:min(100%,640px)}
.s-hogar .ld-title{font-weight:800;font-size:clamp(36px,8cqi,88px);line-height:1;letter-spacing:-.035em}
.s-hogar .ld-sub{color:color-mix(in oklab,var(--ink) 70%,#fff)}
.s-hogar .ld-quick{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;color:var(--ink);font-weight:700}
.s-hogar .ld-quick::before{content:"✓";width:22px;height:22px;border-radius:50%;background:var(--a);color:var(--on-a);display:inline-grid;place-items:center;font-size:13px;font-weight:800}
.s-hogar .ld-btn{border-radius:12px;font-weight:800}
.s-hogar .ld-hero .f1{display:block;width:clamp(200px,40cqi,480px);aspect-ratio:1;right:-10%;bottom:-12%;background:color-mix(in oklab,var(--a) 8%,transparent);clip-path:polygon(50% 4%,98% 46%,86% 46%,86% 100%,14% 100%,14% 46%,2% 46%)}
.s-hogar .ld-stage{background:#fff;border-radius:22px;padding:12px;box-shadow:0 22px 44px -34px rgba(15,28,46,.45),0 0 0 1px var(--line)}
.s-hogar .ld-slide-pic{border-radius:14px;aspect-ratio:5/4}
.s-hogar .ld-clock{border-radius:18px;background:var(--a);color:var(--on-a)}
.s-hogar .ld-clock b{font-weight:800}
.s-hogar .ld-slide-name{font-weight:800}
.s-hogar .ld-round{box-shadow:inset 0 0 0 1.5px var(--line)}
.s-hogar .ld-ribbon{background:#fff;color:var(--ink);border-block:1px solid var(--line);skew:none;padding:14px 0}
.s-hogar .ld-rtrack{font-weight:800;font-size:clamp(16px,2.2cqi,22px);gap:26px}
.s-hogar .ld-rtrack span{gap:26px}
.s-hogar .ld-rtrack span::after{content:"✓";width:auto;height:auto;background:none;color:var(--a);font-size:1em}
.s-hogar .ld-h2{font-weight:800;letter-spacing:-.03em}
.s-hogar .ld-rows{gap:12px}
@container (min-width:720px){.s-hogar .ld-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.s-hogar .ld-row{grid-template-columns:auto minmax(0,1fr)}.s-hogar .ld-row .ld-btn{grid-column:2;justify-self:start}}
.s-hogar .ld-row,.s-hogar .ld-row:last-child{border:1px solid var(--line);border-radius:var(--r);padding:18px;background:#fff;align-items:start}
.s-hogar .ld-dur{width:auto;height:auto;padding:8px 10px;border-radius:12px;background:var(--soft);color:var(--deep);display:grid;justify-items:center}
.s-hogar .ld-dur b{font-size:20px;font-weight:800}
.s-hogar .ld-rname{font-weight:800;font-size:clamp(19px,2.6cqi,23px);line-height:1.15}
.s-hogar .ld-rmeta{color:var(--deep);font-weight:800}
.s-hogar .ld-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px;transform:none;rotate:none}
.s-hogar .ld-pic{border-radius:12px}
.s-hogar .ld-chips button{border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);background:#fff}
.s-hogar .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-hogar .ld-steps li{border-top:0;background:#fff;border-radius:var(--r);padding:20px;box-shadow:0 0 0 1px var(--line)}
.s-hogar .ld-steps b{font-weight:800}
.s-hogar .ld-facts>div{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.s-hogar .ld-end .fx{display:none}
.s-hogar .ld-end .ld-h2.big{font-weight:800;letter-spacing:-.03em}
.s-hogar .ld-pill{border-radius:14px!important;background:var(--a)!important;color:var(--on-a)!important}
dialog.sx-dialog[data-style=hogar]{font-family:'Manrope','Avenir Next',system-ui,sans-serif;border-radius:20px}
dialog.sx-dialog[data-style=hogar] .bk-dur{border-radius:14px}
dialog.sx-dialog[data-style=hogar] :is(.bk-days button,.slot-picker button){border-radius:10px}
dialog.sx-dialog[data-style=hogar] button.primary{border-radius:12px}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-hogar .ld-hero .f1{translate:0 40px;opacity:0}
  .ld-moving.ld-go.s-hogar .ld-hero .f1{translate:0 0;opacity:1;transition:translate 1.4s .3s var(--e),opacity 1s .3s}
  .ld-moving.s-hogar .ld-quick::before{scale:0}
  .ld-moving.ld-go.s-hogar .ld-quick::before{scale:1;transition:scale .5s 1.1s var(--spring)}
  .ld-moving.s-hogar .ld-row{transition:translate .3s var(--e),box-shadow .3s}
  .ld-moving.s-hogar .ld-row:hover{translate:0 -2px;box-shadow:0 16px 30px -24px rgba(15,28,46,.45)}
}

/* ============ Cancha — fútbol 5, pádel, tenis y salas por hora. Césped, líneas de cancha y marcador ============ */
.s-cancha{--display:'Russo One','Avenir Next Condensed',system-ui,sans-serif;--paper:#f3f6f1;--ink:#0f1d14;--soft:#e4ece0;--line:color-mix(in oklab,var(--ink) 14%,var(--paper));--r:10px;--turf:#2f8f46;--score:#ffd43b}
.s-cancha .ld-fx .fx{display:none}
.s-cancha .ld-brand{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.02em}
.s-cancha .ld-mono{border-radius:8px}
.s-cancha .ld-top{color:#fff}
.s-cancha .ld-top.solid{background:rgba(15,29,20,.88);box-shadow:none}
.s-cancha .ld-top .ld-btn.solid{background:#fff;color:var(--ink)}
.s-cancha .ld-lang{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.s-cancha .ld{--turfbg:repeating-linear-gradient(90deg,#2f8f46 0 70px,#2a8240 70px 140px)}
.s-cancha .ld-top:not(.solid){background:transparent}
.s-cancha .ld-hero{background:var(--turfbg);color:#fff;overflow:hidden;margin-top:-76px;padding-top:calc(76px + clamp(20px,5cqi,64px))}
.s-cancha .ld-embedded .ld-hero,.s-cancha.ld-embedded .ld-hero{margin-top:0;padding-top:clamp(20px,5cqi,64px)}
.s-cancha .ld-hero-copy{max-width:min(100%,640px)}
.s-cancha .ld-title{font-weight:400;text-transform:uppercase;font-size:clamp(38px,9cqi,104px);line-height:.98;text-shadow:0 3px 0 rgba(0,0,0,.18)}
.s-cancha .ld-sub,.s-cancha .ld-hero .ld-quick{color:rgba(255,255,255,.88)}
.s-cancha .ld-hero .ld-quick i{background:#fff}
.s-cancha .ld-hero .rings{display:block;width:clamp(240px,46cqi,520px);left:50%;top:50%;translate:-50% -50%;fill:none;stroke:rgba(255,255,255,.35);stroke-width:3}
.s-cancha .ld-hero .rings circle:not(:nth-child(2)){display:none}
.s-cancha .ld-hero .f1{display:block;left:50%;top:0;bottom:0;width:3px;background:rgba(255,255,255,.35)}
.s-cancha .ld-hero .sp.s1{display:block;width:clamp(24px,3.4cqi,38px);aspect-ratio:1;border-radius:50%;right:10%;bottom:10%;background:radial-gradient(circle at 50% 50%,#111 0 18%,transparent 19%),radial-gradient(circle at 20% 30%,#111 0 10%,transparent 11%),radial-gradient(circle at 80% 30%,#111 0 10%,transparent 11%),radial-gradient(circle at 50% 88%,#111 0 10%,transparent 11%),#fff;box-shadow:0 6px 12px -4px rgba(0,0,0,.4)}
.s-cancha .ld-hero .ld-btn.solid{background:#fff;color:var(--ink)}.s-cancha .ld-hero .ld-btn.solid::before{background:var(--score)}
.s-cancha .ld-hero .ld-btn.ghost{color:#fff}
.s-cancha .ld-btn{border-radius:10px;text-transform:uppercase;font-family:var(--display);font-weight:400;letter-spacing:.04em}
.s-cancha .ld-stage{background:var(--ink);border-radius:16px;padding:12px;color:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.s-cancha .ld-slide-pic{border-radius:10px;background:#0a140e}
.s-cancha .ld-clock{border-radius:12px;background:#000;color:var(--score);font-family:var(--display);box-shadow:inset 0 0 0 3px #1d2b22;width:min(70%,260px);aspect-ratio:16/10}
.s-cancha .ld-clock b{font-weight:400;letter-spacing:.04em}
.s-cancha .ld-slide-name{font-family:var(--display);font-weight:400;text-transform:uppercase}
.s-cancha .ld-slide-info p{color:rgba(255,255,255,.75)}
.s-cancha .ld-round{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.s-cancha .ld-progress{background:rgba(255,255,255,.2)}.s-cancha .ld-progress i{background:var(--score)}
.s-cancha .ld-ribbon{background:var(--ink);color:var(--score);skew:none;padding:14px 0}
.s-cancha .ld-rtrack{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(18px,2.8cqi,30px)}
.s-cancha .ld-rtrack span::after{background:#fff;width:.55em;height:.55em}
.s-cancha .ld-h2{font-weight:400;text-transform:uppercase}
.s-cancha .ld-rows{gap:12px}
.s-cancha .ld-row,.s-cancha .ld-row:last-child{border:0;background:#fff;border-radius:12px;padding:16px 18px;margin-bottom:12px;box-shadow:inset 6px 0 0 var(--turf),0 12px 26px -22px rgba(15,29,20,.5)}
.s-cancha .ld-dur{border-radius:10px;background:var(--ink);color:var(--score);font-family:var(--display)}
.s-cancha .ld-dur b{font-weight:400}
.s-cancha .ld-rname{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(20px,3cqi,28px)}
.s-cancha .ld-card{background:#fff;border-radius:12px;padding:10px;transform:none;rotate:none}
.s-cancha .ld-cname{font-family:var(--display);font-weight:400;text-transform:uppercase}
.s-cancha .ld-chips button[aria-pressed=true]{background:var(--turf);color:#fff}
.s-cancha .ld-steps li{border-top:4px solid var(--turf)}
.s-cancha .ld-end{background:var(--turfbg);color:#fff}
.s-cancha .ld-end .fx{display:none}
.s-cancha .ld-end .ld-h2.big{text-transform:uppercase;font-weight:400}
.s-cancha .ld-end .ld-btn.inv{background:#fff;color:var(--ink)}
.s-cancha .ld-pill{background:var(--ink)!important;color:var(--score)!important;font-family:var(--display)!important;text-transform:uppercase;border-radius:12px!important}
dialog.sx-dialog[data-style=cancha]{border-radius:14px}
dialog.sx-dialog[data-style=cancha] h2{font-family:'Russo One',system-ui,sans-serif;font-weight:400;text-transform:uppercase}
dialog.sx-dialog[data-style=cancha] .bk-head{background:repeating-linear-gradient(90deg,#2f8f46 0 40px,#2a8240 40px 80px);color:#fff}
dialog.sx-dialog[data-style=cancha] .bk-head p{color:rgba(255,255,255,.88)}
dialog.sx-dialog[data-style=cancha] .bk-dur{border-radius:10px;background:#000;color:#ffd43b;font-family:'Russo One',system-ui,sans-serif}
dialog.sx-dialog[data-style=cancha] :is(.bk-days button,.slot-picker button){border-radius:8px}
dialog.sx-dialog[data-style=cancha] .slot-picker button{font-family:'Russo One',system-ui,sans-serif;font-weight:400}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-cancha .ld-hero .sp.s1{animation:v3-ball 3.2s cubic-bezier(.5,0,.5,1) infinite}
  .ld-moving.s-cancha .ld-hero .rings{animation:sx-spin 60s linear infinite}
  .ld-moving.s-cancha .ld-clock b{animation:v3-score 2s steps(1) infinite}
  .ld-moving.s-cancha.ld-paused :is(.fx,.ld-clock b){animation-play-state:paused}
}
@keyframes v3-ball{0%,100%{translate:0 0;rotate:0deg}50%{translate:-28cqi -6cqi;rotate:-360deg}}
@keyframes v3-score{50%{opacity:.82}}

/* ################################  PRODUCTOS  ################################ */

/* ============ Dulce — repostería, pastelería, galletas y postres por encargo. Chispas, glaseado y encaje ============ */
.s-dulce{--display:'Sniglet','Avenir Next Rounded',system-ui,sans-serif;--paper:#fff4f6;--ink:#3a1f1d;--soft:color-mix(in oklab,var(--a) 12%,#fff4f6);--line:color-mix(in oklab,var(--ink) 13%,var(--paper));--r:24px}
.s-dulce .ld-fx .fx{display:none}
.s-dulce .ld-brand{font-weight:800}.s-dulce .ld-mono{border-radius:50%}
.s-dulce .ld-hero{overflow:hidden}
.s-dulce .ld-hero-copy{max-width:min(100%,640px)}
.s-dulce .ld-title{font-weight:400;font-size:clamp(42px,9.6cqi,108px);line-height:.98;letter-spacing:-.01em}
.s-dulce .ld-sub{color:color-mix(in oklab,var(--ink) 72%,var(--paper))}
.s-dulce .ld-btn{font-weight:800}
.s-dulce .ld-hero :is(.f1,.f2,.f3,.f4,.sp){display:block;width:clamp(14px,2cqi,22px);height:clamp(5px,.7cqi,8px);border-radius:999px}
.s-dulce .ld-hero .f1{right:6%;top:6%;background:var(--a);rotate:30deg}.s-dulce .ld-hero .f2{right:16%;top:14%;background:#ffd43b;rotate:-20deg}
.s-dulce .ld-hero .f3{right:9%;top:24%;background:var(--b);rotate:70deg}.s-dulce .ld-hero .f4{left:46%;bottom:6%;background:var(--c);rotate:-40deg}
.s-dulce .ld-hero .sp.s1{left:6%;bottom:10%;background:#7cd4fd;rotate:12deg}.s-dulce .ld-hero .sp.s2{left:30%;bottom:3%;background:var(--a);rotate:-60deg}.s-dulce .ld-hero .sp.s3{right:24%;top:5%;background:#b197fc;rotate:50deg}
.s-dulce .ld-plate b{font-family:var(--display);font-weight:400}
.s-dulce .ld-slide-pic{aspect-ratio:1;max-height:none;width:min(100%,420px);justify-self:center;border-radius:50%;background:#fff;outline:4px dotted color-mix(in oklab,var(--a) 70%,#fff);outline-offset:10px;box-shadow:0 30px 60px -36px rgba(58,31,29,.45)}
.s-dulce .ld-slide-info{justify-content:center;text-align:center;margin-top:22px}
.s-dulce .ld-slide-name{flex-basis:100%;font-family:var(--display);font-weight:400}.s-dulce .ld-slide-info p{order:0;flex-basis:100%;color:var(--deep);font-weight:700}
.s-dulce .ld-ctrl{justify-content:center}.s-dulce .ld-progress{max-width:140px}
.s-dulce .ld-ribbon{background:var(--a);color:var(--on-a);skew:none;padding:14px 0 18px;position:relative;overflow:visible;z-index:1}
.s-dulce .ld-ribbon::after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:12px;background:radial-gradient(circle at 12px 0,var(--a) 11px,transparent 12px) 0 0/24px 12px repeat-x}
.s-dulce .ld-rtrack{font-family:var(--display);font-weight:400;font-size:clamp(20px,3cqi,32px)}
.s-dulce .ld-rtrack span::after{width:.9em;height:.32em;border-radius:999px;background:#ffd43b;rotate:-30deg}
.s-dulce .ld-h2{font-weight:400}
.s-dulce .ld-grid{perspective:none;gap:clamp(30px,5cqi,48px) clamp(14px,2.6cqi,28px);padding-top:10px}
.s-dulce .ld-card{background:#fff;border-radius:24px;padding:10px 10px 16px;transform:none;rotate:none;box-shadow:0 16px 30px -24px rgba(58,31,29,.4);isolation:isolate}
.s-dulce .ld-card::before{content:"";position:absolute;left:14px;right:14px;top:-9px;height:18px;background:radial-gradient(circle at 9px 9px,color-mix(in oklab,var(--a) 70%,#fff) 8px,transparent 9px) 0 0/18px 18px repeat-x;z-index:-1}
.s-dulce .ld-pic{border-radius:20px}
.s-dulce .ld-cname{font-family:var(--display);font-weight:400}
.s-dulce .ld-tag{color:var(--deep);font-size:18px}
.s-dulce .ld-badge{background:#ffd43b;color:var(--ink);rotate:-6deg}
.s-dulce .ld-chips button{background:#fff;box-shadow:none;font-weight:700}
.s-dulce .ld-chips button[aria-pressed=true]{background:var(--a);color:var(--on-a)}
.s-dulce .ld-search input,.s-dulce .ld-sort select{border-radius:18px;background:#fff}
.s-dulce .ld-steps li{border-top:0;background:#fff;border-radius:22px;padding:22px}
.s-dulce .ld-facts>div{border-top:2px dotted var(--line)}
.s-dulce .ld-end{overflow:visible;padding-top:clamp(80px,12cqi,160px)}
.s-dulce .ld-end::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:radial-gradient(circle at 12px 0,var(--paper) 11px,transparent 12px) 0 0/24px 14px repeat-x}
.s-dulce .ld-end .fx{display:none}
.s-dulce .ld-end .ld-h2.big{font-weight:400}
.s-dulce .ld-pill{background:var(--a)!important;color:var(--on-a)!important}
dialog.sx-dialog[data-style=dulce]{border-radius:30px}
dialog.sx-dialog[data-style=dulce] h2{font-family:'Sniglet','Avenir Next Rounded',system-ui,sans-serif;font-weight:400}
dialog.sx-dialog[data-style=dulce] .pv-price{color:color-mix(in oklab,var(--a) 58%,#000)}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-dulce .ld-hero :is(.f1,.f2,.f3,.f4,.sp){animation:v3-sprinkle 4s ease-in-out infinite}
  .ld-moving.s-dulce .ld-hero .f2,.ld-moving.s-dulce .ld-hero .sp.s1{animation-delay:-1.2s}.ld-moving.s-dulce .ld-hero .f3,.ld-moving.s-dulce .ld-hero .sp.s2{animation-delay:-2.4s}
  .ld-moving.s-dulce .ld-card{transition:rotate .4s var(--spring),translate .4s var(--spring)}
  .ld-moving.s-dulce .ld-card:hover{rotate:-1.5deg;translate:0 -4px}
  .ld-moving.s-dulce.ld-paused .fx{animation-play-state:paused}
}
@keyframes v3-sprinkle{50%{translate:0 10px;rotate:var(--rr,90deg)}}

/* ============ Botica — cosmética natural, jabones, velas y cuidado de la piel. Frascos con etiqueta y botánica ============ */
.s-botica{--display:'Marcellus','Optima','Iowan Old Style',Georgia,serif;--paper:#f3f0e8;--ink:#2e392f;--soft:#e8e3d6;--line:color-mix(in oklab,var(--ink) 16%,var(--paper));--r:12px}
.s-botica .ld-fx .fx{display:none}
.s-botica .ld-brand{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.12em;font-size:16px}
.s-botica .ld-mono{border-radius:50%;background:var(--ink);color:var(--paper)}
.s-botica .ld-hero{overflow:hidden}
.s-botica .ld-hero-copy{max-width:min(100%,640px)}
.s-botica .ld-title{font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(34px,7.6cqi,88px);line-height:1.04}
.s-botica .ld-quick{text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.s-botica .ld-hero .thread{display:block;width:clamp(180px,30cqi,380px);left:-12%;right:auto;bottom:-16%;opacity:.7;fill:none;stroke:color-mix(in oklab,var(--ink) 55%,transparent);stroke-width:2.5}
.s-botica .ld-hero :is(.f1,.f2,.f3){display:block;width:clamp(26px,4cqi,46px);aspect-ratio:2/1;border-radius:0 100% 0 100%;background:color-mix(in oklab,var(--a) 45%,var(--paper))}
.s-botica .ld-hero .f1{right:22%;bottom:30%;rotate:-30deg}.s-botica .ld-hero .f2{right:10%;bottom:44%;rotate:20deg}.s-botica .ld-hero .f3{right:30%;bottom:12%;rotate:-60deg}
.s-botica .ld-btn{border-radius:999px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600}
.s-botica .ld-btn.solid{background:var(--ink);color:var(--paper)}.s-botica .ld-btn.solid::before{background:var(--a)}.s-botica .ld-btn.solid:hover{color:var(--on-a)}
.s-botica .ld-slide-pic{border-radius:40% 40% 14px 14px/24% 24% 14px 14px;aspect-ratio:3/4;width:min(100%,380px);justify-self:center;max-height:none}
.s-botica .ld-plate,.s-botica .ld-plate.v1,.s-botica .ld-plate.v2,.s-botica .ld-plate.v3{background:color-mix(in oklab,var(--a) 14%,var(--paper))}
.s-botica .ld-plate b{font-family:var(--display);font-weight:400;font-size:clamp(26px,9cqi,64px);color:var(--ink);background:rgba(255,255,255,.82);border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:3px;padding:.35em .9em;letter-spacing:.1em}
.s-botica .ld-pic .ld-plate b{font-size:clamp(18px,5.4cqi,30px)}
.s-botica .ld-slide-info{justify-content:center;text-align:center;margin-top:18px}
.s-botica .ld-slide-name{flex-basis:100%;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.06em}
.s-botica .ld-slide-info p{order:0;flex-basis:100%}
.s-botica .ld-ctrl{justify-content:center}.s-botica .ld-round{box-shadow:inset 0 0 0 1px var(--ink)}
.s-botica .ld-ribbon{background:var(--ink);color:var(--paper);skew:none;padding:14px 0}
.s-botica .ld-rtrack{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(14px,2cqi,19px);gap:30px}
.s-botica .ld-rtrack span{gap:30px}.s-botica .ld-rtrack span::after{width:1.1em;height:.55em;border-radius:0 100% 0 100%;background:color-mix(in oklab,var(--a) 60%,var(--paper))}
.s-botica .ld-head{justify-items:center;text-align:center;margin-inline:auto}
.s-botica .ld-h2{font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(28px,5.4cqi,62px)}
.s-botica .ld-tools,.s-botica .ld-chips,.s-botica .ld-result{justify-content:center}
.s-botica .ld-chips button{box-shadow:inset 0 0 0 1px var(--line);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.s-botica .ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.s-botica .ld-card{text-align:center;transform:none;rotate:none}
.s-botica .ld-pic{border-radius:40% 40% 12px 12px/22% 22% 12px 12px}
.s-botica .ld-cname{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(15px,2cqi,18px)}
.s-botica .ld-cfoot{justify-content:center}
.s-botica .ld-tag{font-weight:600;letter-spacing:.04em}
.s-botica .ld-badge{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);text-transform:uppercase;letter-spacing:.12em;font-size:10px;left:50%;translate:-50% 0}
.s-botica .ld-steps li{border-top:1px solid var(--ink);text-align:center;justify-items:center}
.s-botica .ld-end{background:color-mix(in oklab,var(--a) 30%,var(--paper));color:var(--ink);justify-items:center;text-align:center}
.s-botica .ld-end .fx{display:none}
.s-botica .ld-end .ld-h2.big{font-weight:400;text-transform:uppercase;letter-spacing:.04em}
.s-botica .ld-end .ld-btn.inv{background:var(--ink);color:var(--paper)}
dialog.sx-dialog[data-style=botica] h2{font-family:'Marcellus',Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em}
dialog.sx-dialog[data-style=botica] button.primary{background:#2e392f;border-color:#2e392f;color:#f3f0e8;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-botica .ld-hero .thread path{stroke-dasharray:1500;animation:sx-draw 3.4s .3s var(--e) both;--len:1500}
  .ld-moving.s-botica .ld-hero :is(.f1,.f2,.f3){animation:sx-wobble 5s ease-in-out infinite}
  .ld-moving.s-botica .ld-hero .f2{animation-delay:-1.6s}.ld-moving.s-botica .ld-hero .f3{animation-delay:-3.2s}
  .ld-moving.s-botica .ld-card:hover .ld-pic>*:first-child{scale:1.04}
  .ld-moving.s-botica.ld-paused .fx{animation-play-state:paused}
}

/* ============ Joya — joyería, bisutería y relojes. Terciopelo oscuro, dorado y destellos ============ */
.s-joya{--display:'Italiana','Didot','Bodoni 72',Georgia,serif;--paper:#151116;--ink:#f3ece4;--muted:#b9aea6;--line:rgba(243,236,228,.16);--soft:rgba(243,236,228,.04);--deep:#f3ece4;--gold:#c9a96e;--r:0px;--panel:#1f1a20}
.s-joya .ld{background:var(--paper);color:var(--ink)}
.s-joya .ld-top.solid{background:rgba(21,17,22,.88);box-shadow:0 1px 0 var(--line)}
.s-joya .ld-fx .fx{display:none}
.s-joya .ld-brand{font-family:var(--display);font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:17px}
.s-joya .ld-mono{border-radius:50%;background:none;color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.s-joya .ld-lang{box-shadow:none;color:var(--gold)}
.s-joya .ld-hero{background:radial-gradient(60% 55% at 72% 30%,#2b2229,var(--paper) 72%);overflow:hidden}
.s-joya .ld-hero-copy{max-width:min(100%,640px)}
.s-joya .ld-title{font-weight:400;letter-spacing:.04em;font-size:clamp(40px,8.8cqi,104px);line-height:1.04}
.s-joya .ld-sub{color:var(--muted)}
.s-joya .ld-quick{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.s-joya .ld-quick i{background:var(--gold);border-radius:0;rotate:45deg}
.s-joya .ld-hero :is(.sp,.f1){display:block;width:clamp(10px,1.4cqi,16px);aspect-ratio:1;background:var(--gold);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.s-joya .ld-hero .sp.s1{right:14%;top:12%}.s-joya .ld-hero .sp.s2{right:36%;top:22%;scale:.7}.s-joya .ld-hero .sp.s3{right:8%;top:42%;scale:1.3}.s-joya .ld-hero .f1{left:44%;top:6%;scale:.6}
.s-joya .ld-btn{border-radius:0;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600}
.s-joya .ld-btn.solid{background:var(--gold);color:#151116}.s-joya .ld-btn.solid::before{background:var(--ink)}.s-joya .ld-btn.solid:hover{color:#151116}
.s-joya .ld-btn.ghost{color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.s-joya .ld-slide-pic{aspect-ratio:1;border-radius:0;background:var(--panel);outline:1px solid var(--gold);outline-offset:10px}
.s-joya .ld-plate,.s-joya .ld-plate.v1,.s-joya .ld-plate.v2,.s-joya .ld-plate.v3{background:radial-gradient(circle at 50% 40%,#2c2530,var(--panel) 70%)}
.s-joya .ld-plate i:first-child,.s-joya .ld-plate.v1 i:first-child,.s-joya .ld-plate.v2 i:first-child,.s-joya .ld-plate.v3 i:first-child{width:46%;left:27%;top:24%;right:auto;bottom:auto;border-radius:50%;background:none;box-shadow:inset 0 0 0 3px var(--gold);rotate:none}
.s-joya .ld-plate i:nth-child(2),.s-joya .ld-plate.v1 i:nth-child(2),.s-joya .ld-plate.v2 i:nth-child(2),.s-joya .ld-plate.v3 i:nth-child(2){width:14%;left:43%;top:16%;right:auto;bottom:auto;border-radius:0;rotate:45deg;background:var(--gold);clip-path:none}
.s-joya .ld-plate b{font-family:var(--display);font-weight:400;color:var(--gold);font-size:clamp(20px,5cqi,40px);align-self:end;margin-bottom:12%;letter-spacing:.2em}
.s-joya .ld-slide-name{font-family:var(--display);font-weight:400;letter-spacing:.04em}
.s-joya .ld-slide-info p{color:var(--gold)}
.s-joya .ld-round{border-radius:0;box-shadow:inset 0 0 0 1px var(--line)}
.s-joya .ld-progress{height:1px}.s-joya .ld-progress i{background:var(--gold)}
.s-joya .ld-ribbon{background:none;color:var(--gold);border-block:1px solid color-mix(in oklab,var(--gold) 50%,transparent);skew:none;padding:16px 0}
.s-joya .ld-rtrack{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.24em;font-size:clamp(15px,2cqi,20px);gap:34px}
.s-joya .ld-rtrack span{gap:34px}.s-joya .ld-rtrack span::after{width:.4em;height:.4em;border-radius:0;rotate:45deg;background:var(--gold)}
.s-joya .ld-head{justify-items:center;text-align:center;margin-inline:auto}
.s-joya .ld-h2{font-weight:400;letter-spacing:.04em}
.s-joya .ld-tools,.s-joya .ld-chips,.s-joya .ld-result{justify-content:center}
.s-joya .ld-chips button{border-radius:0;box-shadow:none;border-bottom:1px solid transparent;text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.s-joya .ld-chips button[aria-pressed=true]{background:none;color:var(--gold);border-bottom-color:var(--gold)}
.s-joya .ld-search input,.s-joya .ld-sort select{background:var(--panel);color:var(--ink);border-color:var(--line);border-radius:0}
.s-joya .ld-result button{color:var(--ink)}
.s-joya .ld-card{text-align:center;transform:none;rotate:none}
.s-joya .ld-pic{aspect-ratio:1;border-radius:0;background:var(--panel);isolation:isolate}
.s-joya .ld-pic::after{content:"";position:absolute;inset:8px;border:1px solid color-mix(in oklab,var(--gold) 55%,transparent);pointer-events:none;z-index:2}
.s-joya .ld-cname{font-family:var(--display);font-weight:400;letter-spacing:.04em;font-size:clamp(18px,2.4cqi,22px)}
.s-joya .ld-cfoot{justify-content:center}
.s-joya .ld-tag{color:var(--gold);font-weight:500;letter-spacing:.06em}
.s-joya .ld-badge{background:var(--paper);color:var(--gold);border-radius:0;box-shadow:inset 0 0 0 1px var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:10px;left:50%;translate:-50% 0;z-index:3}
.s-joya .ld-stock::before{background:var(--gold)}
.s-joya .ld-blk.alt{background:#1a151b}
.s-joya .ld-steps li{border-top:1px solid var(--gold);text-align:center;justify-items:center}.s-joya .ld-steps b{color:var(--gold);font-family:var(--display);font-weight:400}
.s-joya .ld-facts>div{border-top-color:color-mix(in oklab,var(--gold) 50%,transparent);text-align:center}
.s-joya .ld-reach{justify-content:center}
.s-joya .ld-end{background:var(--panel);color:var(--ink);justify-items:center;text-align:center}
.s-joya .ld-end .fx{display:none}
.s-joya .ld-end .ld-h2.big{font-weight:400;letter-spacing:.03em}
.s-joya .ld-end .ld-btn.inv{background:var(--gold);color:#151116}
.s-joya .ld-foot{background:#0d0a0e;color:var(--ink)}
.s-joya .ld-pill{background:var(--gold)!important;color:#151116!important;border-radius:0!important;text-transform:uppercase;letter-spacing:.16em;font-size:13px!important}
dialog.sx-dialog[data-style=joya]{--ink:#f3ece4;--muted:#b9aea6;--line:rgba(243,236,228,.18);--soft:#1f1a20;background:#151116;color:#f3ece4;border-radius:0}
dialog.sx-dialog[data-style=joya] h2{font-family:'Italiana',Georgia,serif;font-weight:400;letter-spacing:.04em}
dialog.sx-dialog[data-style=joya] .pv-price,dialog.sx-dialog[data-style=joya] .pv-cat{color:#c9a96e}
dialog.sx-dialog[data-style=joya] :is(input,select,button:not(.primary)){background:#1f1a20;color:#f3ece4;border-color:rgba(243,236,228,.22)}
dialog.sx-dialog[data-style=joya] button.primary{background:#c9a96e;border-color:#c9a96e;color:#151116;border-radius:0;text-transform:uppercase;letter-spacing:.16em;font-size:13px}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-joya .ld-hero :is(.sp,.f1){animation:v3-twinkle 3s ease-in-out infinite}
  .ld-moving.s-joya .ld-hero .sp.s2{animation-delay:-1s}.ld-moving.s-joya .ld-hero .sp.s3{animation-delay:-2s}.ld-moving.s-joya .ld-hero .f1{animation-delay:-.5s}
  .ld-moving.s-joya .ld-pic::before{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(110deg,transparent 35%,rgba(255,240,210,.22) 50%,transparent 65%);translate:-120% 0;pointer-events:none}
  .ld-moving.s-joya .ld-card:hover .ld-pic::before{translate:120% 0;transition:translate 1s var(--e)}
  .ld-moving.s-joya .ld-slide-pic{outline-offset:30px;outline-color:transparent}
  .ld-moving.ld-go.s-joya .ld-slide-pic{outline-offset:10px;outline-color:var(--gold);transition:outline-offset 1.6s .5s var(--e),outline-color 1s .5s}
  .ld-moving.s-joya.ld-paused .fx{animation-play-state:paused}
}
@keyframes v3-twinkle{0%,100%{scale:.4;opacity:.3;rotate:0deg}50%{scale:1;opacity:1;rotate:45deg}}

/* ============ Libro — librerías, papelerías y editoriales. Portadas con lomo y repisa ============ */
.s-libro{--display:'Libre Baskerville','Baskerville','Iowan Old Style',Georgia,serif;--paper:#f5efe3;--ink:#1e1b16;--soft:#ece3d1;--line:color-mix(in oklab,var(--ink) 16%,var(--paper));--r:3px}
.s-libro .ld-fx .fx{display:none}
.s-libro .ld-brand{font-family:var(--display);font-weight:700;font-size:18px}
.s-libro .ld-mono{border-radius:3px}
.s-libro .ld-hero-copy{max-width:min(100%,640px)}
.s-libro .ld-title{font-weight:400;font-size:clamp(34px,7.4cqi,84px);line-height:1.12;letter-spacing:-.01em}
.s-libro .ld-sub{font-family:var(--display);font-style:italic;font-size:clamp(17px,2cqi,20px);color:color-mix(in oklab,var(--ink) 76%,var(--paper))}
.s-libro .ld-btn{border-radius:3px;font-weight:700}
.s-libro .ld-slide-pic{aspect-ratio:2/3;max-height:none;width:min(68%,340px);justify-self:center;border-radius:3px 8px 8px 3px;box-shadow:inset 8px 0 0 rgba(0,0,0,.14),inset 10px 0 0 rgba(255,255,255,.28),18px 22px 36px -18px rgba(30,27,22,.5);rotate:-3deg}
.s-libro .ld-slide-info{justify-content:center;text-align:center;margin-top:14px}
.s-libro .ld-slide-name{flex-basis:100%;font-family:var(--display);font-weight:700}.s-libro .ld-slide-info p{order:0;flex-basis:100%;font-style:italic}
.s-libro .ld-ctrl{justify-content:center}
.s-libro .ld-plate b{font-family:var(--display);font-weight:700;font-size:clamp(30px,10cqi,90px)}
.s-libro .ld-ribbon{background:linear-gradient(transparent 82%,#7a5634 82%);color:var(--paper);skew:none;padding:16px 0 18px}
.s-libro .ld-rtrack{font-family:var(--display);font-weight:700;font-size:clamp(14px,2cqi,19px);gap:6px;align-items:flex-end}
.s-libro .ld-rtrack span{padding:20px 14px;border-radius:3px 3px 0 0;background:var(--ink);gap:0}
.s-libro .ld-rtrack span:nth-child(5n+1){background:color-mix(in oklab,var(--a) 80%,#000)}.s-libro .ld-rtrack span:nth-child(5n+2){background:#3f5a4a;padding-block:26px}
.s-libro .ld-rtrack span:nth-child(5n+3){background:#7a3b2e;rotate:-3deg}.s-libro .ld-rtrack span:nth-child(5n+4){background:#2e3f63;padding-block:16px}
.s-libro .ld-rtrack span::after{display:none}
.s-libro .ld-h2{font-weight:400}
.s-libro .ld-lead{font-family:var(--display);font-style:italic}
.s-libro .ld-chips button{border-radius:8px 8px 0 0;box-shadow:inset 0 0 0 1px var(--line);border-bottom:2px solid var(--ink)}
.s-libro .ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.s-libro .ld-search input,.s-libro .ld-sort select{border-radius:3px}
.s-libro .ld-grid{gap:clamp(30px,5cqi,54px) clamp(16px,3cqi,34px)}
.s-libro .ld-card{gap:14px}
.s-libro .ld-pic{aspect-ratio:2/3;border-radius:3px 8px 8px 3px;box-shadow:inset 6px 0 0 rgba(0,0,0,.14),inset 8px 0 0 rgba(255,255,255,.28),10px 14px 22px -12px rgba(30,27,22,.5)}
.s-libro .ld-cname{font-family:var(--display);font-weight:700;font-size:clamp(15px,2cqi,18px)}
.s-libro .ld-ccat{font-style:italic}
.s-libro .ld-badge{left:auto;right:12px;top:-4px;border-radius:0;padding:14px 6px 18px;background:var(--a);color:var(--on-a);font-size:10px;writing-mode:vertical-rl;clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%)}
.s-libro .ld-steps li{border-top:1px solid var(--ink)}.s-libro .ld-steps b{font-family:var(--display);font-weight:400;font-style:italic}
.s-libro .ld-end{background:var(--ink);color:var(--paper)}
.s-libro .ld-end::after{content:"\201C";position:absolute;right:6%;top:-.12em;font-family:var(--display);font-size:clamp(180px,34cqi,420px);line-height:1;opacity:.12;pointer-events:none}
.s-libro .ld-end .fx{display:none}
.s-libro .ld-end .ld-h2.big{font-weight:400;font-style:italic}
.s-libro .ld-end .ld-btn.inv{background:var(--paper);color:var(--ink)}
dialog.sx-dialog[data-style=libro]{border-radius:6px;background:#fbf7ee}
dialog.sx-dialog[data-style=libro] h2{font-family:'Libre Baskerville',Georgia,serif;font-weight:700}
dialog.sx-dialog[data-style=libro] .pv-pic{background:#ece3d1}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-libro .ld-card{transition:transform .5s var(--e)}
  .ld-moving.s-libro .ld-card:hover{transform:perspective(900px) rotateY(-14deg)}
  .ld-moving.s-libro .ld-slide.enter .ld-slide-pic{animation:v3-open 1s var(--e) both}
}
@keyframes v3-open{from{transform:perspective(900px) rotateY(-60deg);opacity:0}}

/* ============ Vivero — plantas, macetas y huertas urbanas. Hojas que se mecen y productos en maceta ============ */
.s-vivero{--display:'Bricolage Grotesque','Avenir Next',system-ui,sans-serif;--paper:#eef3e8;--ink:#1d2b1f;--soft:#e2ead9;--line:color-mix(in oklab,var(--ink) 14%,var(--paper));--r:22px;--terra:#c8693f}
.s-vivero .ld-fx .fx{display:none}
.s-vivero .ld-brand{font-family:var(--display);font-weight:800}.s-vivero .ld-mono{border-radius:50% 50% 8px 8px}
.s-vivero .ld-hero{overflow:hidden}
.s-vivero .ld-hero-copy{max-width:min(100%,640px)}
.s-vivero .ld-title{font-weight:800;font-size:clamp(42px,9.6cqi,110px);line-height:.92;letter-spacing:-.035em}
.s-vivero .ld-sub{color:color-mix(in oklab,var(--ink) 72%,var(--paper))}
.s-vivero .ld-btn{font-weight:700}
.s-vivero .ld-hero :is(.f1,.f2,.f3,.f4){display:block;aspect-ratio:1/1.9;border-radius:0 100% 0 100%;transform-origin:0 100%}
.s-vivero .ld-hero .f1{width:clamp(50px,9cqi,110px);right:4%;top:2%;background:color-mix(in oklab,var(--a) 60%,var(--ink));rotate:24deg}
.s-vivero .ld-hero .f2{width:clamp(36px,6cqi,80px);right:16%;top:8%;background:color-mix(in oklab,var(--a) 40%,var(--paper));rotate:-18deg}
.s-vivero .ld-hero .f3{width:clamp(30px,5cqi,64px);left:4%;bottom:4%;background:color-mix(in oklab,var(--a) 50%,var(--paper));rotate:40deg}
.s-vivero .ld-hero .f4{width:clamp(22px,3.4cqi,44px);right:8%;bottom:10%;background:color-mix(in oklab,var(--a) 70%,var(--ink));rotate:-30deg}
.s-vivero .ld-slide-pic{border-radius:46% 46% 12px 12px/32% 32% 12px 12px;aspect-ratio:4/5;width:min(100%,400px);justify-self:center;max-height:none}
.s-vivero :is(.ld-slide-pic,.ld-pic)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:16%;background:var(--terra);clip-path:polygon(0 0,100% 0,93% 100%,7% 100%);z-index:1}
.s-vivero .ld-slide-info{justify-content:center;text-align:center;margin-top:12px}
.s-vivero .ld-slide-name{flex-basis:100%;font-family:var(--display);font-weight:800}.s-vivero .ld-slide-info p{order:0;flex-basis:100%}
.s-vivero .ld-ctrl{justify-content:center}.s-vivero .ld-progress{max-width:140px}
.s-vivero .ld-ribbon{background:var(--ink);color:#e2ead9;skew:none;padding:14px 0}
.s-vivero .ld-rtrack{font-family:var(--display);font-weight:800;font-size:clamp(20px,3cqi,32px)}
.s-vivero .ld-rtrack span::after{width:1em;height:.55em;border-radius:0 100% 0 100%;background:color-mix(in oklab,var(--a) 60%,#e2ead9)}
.s-vivero .ld-h2{font-weight:800;letter-spacing:-.03em}
.s-vivero .ld-card{background:#fff;border-radius:22px;padding:10px 10px 16px;transform:none;rotate:none}
.s-vivero .ld-pic{border-radius:46% 46% 12px 12px/30% 30% 12px 12px}
.s-vivero .ld-cname{font-family:var(--display);font-weight:700}
.s-vivero .ld-badge{background:var(--ink);color:#e2ead9;z-index:2}
.s-vivero .ld-chips button{background:#fff;box-shadow:none}
.s-vivero .ld-chips button[aria-pressed=true]{background:var(--ink);color:#fff}
.s-vivero .ld-steps li{border-top:0;background:#fff;border-radius:22px;padding:20px}
.s-vivero .ld-end{background:color-mix(in oklab,var(--a) 55%,var(--ink));color:#f2f7ec}
.s-vivero .ld-end .fx{display:none}
.s-vivero .ld-end .ld-h2.big{font-weight:800;letter-spacing:-.03em}
.s-vivero .ld-end .ld-btn.inv{background:#f2f7ec;color:var(--ink)}
dialog.sx-dialog[data-style=vivero]{border-radius:24px}
dialog.sx-dialog[data-style=vivero] h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-vivero .ld-hero :is(.f1,.f2,.f3,.f4){animation:v3-leaf 5s ease-in-out infinite}
  .ld-moving.s-vivero .ld-hero .f2{animation-delay:-1.4s}.ld-moving.s-vivero .ld-hero .f3{animation-delay:-2.8s}.ld-moving.s-vivero .ld-hero .f4{animation-delay:-3.6s}
  .ld-moving.s-vivero .ld-card.in{animation:v3-grow .8s var(--spring) both;animation-delay:calc(var(--n,0)*70ms)}
  .ld-moving.s-vivero.ld-paused .fx{animation-play-state:paused}
}
@keyframes v3-leaf{50%{transform:rotate(8deg)}}
@keyframes v3-grow{from{scale:.92;translate:0 16px}}

/* ============ Taller — cerámica, madera, cuero y hecho a mano. Costuras, formas imperfectas y barro ============ */
.s-taller{--display:'Instrument Serif','Iowan Old Style',Georgia,serif;--paper:#efe7dd;--ink:#2b231d;--soft:#e5dace;--line:color-mix(in oklab,var(--ink) 16%,var(--paper));--r:18px;--clay:#c97b5a;--stitch:color-mix(in oklab,var(--ink) 38%,transparent)}
.s-taller .ld-fx .fx{display:none}
.s-taller .ld-brand{font-family:var(--display);font-weight:400;font-size:22px}
.s-taller .ld-mono{border-radius:40% 60% 52% 48%/50% 44% 56% 50%;background:var(--clay)}
.s-taller .ld-hero{overflow:hidden}
.s-taller .ld-hero-copy{max-width:min(100%,640px)}
.s-taller .ld-title{font-weight:400;font-size:clamp(46px,10.4cqi,124px);line-height:.94;letter-spacing:-.02em}
.s-taller .ld-sub{font-family:var(--display);font-style:italic;font-size:clamp(20px,2.4cqi,25px);color:color-mix(in oklab,var(--ink) 78%,var(--paper))}
.s-taller .ld-hero .f1{display:block;width:clamp(150px,28cqi,340px);aspect-ratio:1;right:-8%;top:-6%;border-radius:42% 58% 52% 48%/56% 42% 58% 44%;background:color-mix(in oklab,var(--clay) 30%,var(--paper))}
.s-taller .ld-hero .thread{display:block;width:clamp(220px,36cqi,440px);left:-16%;bottom:-20%;fill:none;stroke:var(--stitch);stroke-width:3;stroke-dasharray:10 9}
.s-taller .ld-btn{border-radius:12px}
.s-taller .ld-btn.solid{background:var(--ink);color:var(--paper)}.s-taller .ld-btn.solid::before{background:var(--clay)}.s-taller .ld-btn.solid:hover{color:#fff}
.s-taller .ld-slide-pic{border-radius:26% 34% 30% 38%/34% 28% 36% 30%;outline:2px dashed var(--stitch);outline-offset:-12px}
.s-taller .ld-slide-name{font-family:var(--display);font-weight:400;font-size:clamp(24px,3.6cqi,36px)}
.s-taller .ld-plate b{font-family:var(--display);font-weight:400}
.s-taller .ld-ribbon{background:var(--clay);color:#fff;skew:none;padding:18px 0;position:relative}
.s-taller .ld-ribbon::before,.s-taller .ld-ribbon::after{content:"";position:absolute;left:0;right:0;border-top:2px dashed rgba(255,255,255,.6)}
.s-taller .ld-ribbon::before{top:7px}.s-taller .ld-ribbon::after{bottom:7px}
.s-taller .ld-rtrack{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(22px,3.2cqi,34px)}
.s-taller .ld-rtrack span::after{width:.5em;height:.5em;border-radius:40% 60% 52% 48%/50% 44% 56% 50%;background:#fff}
.s-taller .ld-h2{font-weight:400}
.s-taller .ld-lead{font-family:var(--display);font-style:italic;font-size:clamp(18px,2.2cqi,21px)}
.s-taller .ld-card{background:#f7f1e9;border-radius:var(--r);padding:12px 12px 16px;outline:1.5px dashed var(--stitch);outline-offset:-7px;transform:none;rotate:none}
.s-taller .ld-pic{border-radius:26% 34% 30% 38%/34% 28% 36% 30%}
.s-taller .ld-cname{font-family:var(--display);font-weight:400;font-size:clamp(19px,2.6cqi,24px)}
.s-taller .ld-ccat{font-style:italic}
.s-taller .ld-badge{background:var(--clay);color:#fff}
.s-taller .ld-chips button{box-shadow:none;outline:1.5px dashed var(--stitch);outline-offset:-3px}
.s-taller .ld-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper);outline-color:transparent}
.s-taller .ld-search input,.s-taller .ld-sort select{border-style:dashed;border-color:var(--stitch)}
.s-taller .ld-steps li{border-top:2px dashed var(--stitch)}.s-taller .ld-steps b{font-family:var(--display);font-weight:400;font-style:italic;color:var(--clay)}
.s-taller .ld-end{background:var(--clay);color:#fff}
.s-taller .ld-end .fx{display:none}
.s-taller .ld-end .ld-h2.big{font-weight:400;font-style:italic}
.s-taller .ld-end .ld-btn.inv{background:#fff;color:var(--ink)}
dialog.sx-dialog[data-style=taller]{border-radius:22px;background:#f7f1e9;outline:1.5px dashed rgba(43,35,29,.35);outline-offset:-10px}
dialog.sx-dialog[data-style=taller] h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(28px,6vw,40px)}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-taller .ld-hero .thread path{animation:v3-stitch 12s linear infinite}
  .ld-moving.s-taller .ld-hero .f1{animation:v2-blob 12s ease-in-out infinite}
  .ld-moving.s-taller .ld-card{transition:rotate .5s var(--spring)}.ld-moving.s-taller .ld-card:hover{rotate:-1.2deg}
  .ld-moving.s-taller.ld-paused :is(.fx,.thread path){animation-play-state:paused}
}
@keyframes v3-stitch{to{stroke-dashoffset:-190}}

/* ============ Ola — surf, ropa de playa y outdoor. Atardecer retro, olas e itálica deportiva ============ */
.s-ola{--sans:'Rubik','Avenir Next',system-ui,sans-serif;--display:'Rubik','Avenir Next',system-ui,sans-serif;--paper:#fff8ec;--ink:#08324a;--soft:color-mix(in oklab,var(--a) 10%,#fff8ec);--line:color-mix(in oklab,var(--ink) 14%,var(--paper));--r:20px;--sea:#0aa2c0;--sun:#ffb703}
.s-ola .ld-fx .fx{display:none}
.s-ola .ld-brand{font-weight:900;font-style:italic;text-transform:uppercase}
.s-ola .ld-hero{overflow:hidden;padding-bottom:clamp(90px,15cqi,170px)}
.s-ola .ld-hero-copy{max-width:min(100%,640px)}
.s-ola .ld-title{font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(44px,10.4cqi,122px);line-height:.88;letter-spacing:-.02em}
.s-ola .ld-btn{font-weight:800;text-transform:uppercase;font-style:italic;letter-spacing:.02em}
.s-ola .ld-hero .f1{display:block;width:clamp(120px,24cqi,300px);aspect-ratio:1;border-radius:50%;right:6%;top:4%;background:linear-gradient(var(--sun) 0 56%,transparent 56% 62%,var(--sun) 62% 70%,transparent 70% 76%,var(--sun) 76% 82%,transparent 82% 86%,var(--sun) 86% 90%,transparent 90%)}
.s-ola .ld-hero .waves{display:block;left:0;right:0;bottom:0;width:100%;height:clamp(80px,14cqi,160px)}
.s-ola .ld-hero .waves path{fill:color-mix(in oklab,var(--sea) 70%,#fff)}.s-ola .ld-hero .waves .w2{fill:var(--sea)}
@container (max-width:859px){.s-ola .ld-hero .f1{width:96px;top:auto;bottom:clamp(60px,12cqi,140px);right:8%}}
.s-ola .ld-slide-pic{border-radius:24px;rotate:2deg;box-shadow:0 26px 50px -30px rgba(8,50,74,.5)}
.s-ola .ld-slide-name{font-weight:900;font-style:italic;text-transform:uppercase}
.s-ola .ld-plate b{font-weight:900;font-style:italic}
.s-ola .ld-ribbon{background:var(--sea);color:#fff;skew:none;padding:14px 0}
.s-ola .ld-rtrack{font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(20px,3cqi,32px)}
.s-ola .ld-rtrack span::after{background:var(--sun)}
.s-ola .ld-h2{font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em}
.s-ola .ld-card{background:#fff;border-radius:20px;padding:10px 10px 16px;transform:none;rotate:none;box-shadow:0 16px 30px -24px rgba(8,50,74,.45)}
.s-ola .ld-pic{border-radius:16px}
.s-ola .ld-pic::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:14px;background:radial-gradient(circle at 10px 14px,#fff 10px,transparent 11px) 0 0/20px 14px repeat-x;z-index:1}
.s-ola .ld-cname{font-weight:800}
.s-ola .ld-badge{background:var(--sun);color:var(--ink);rotate:-8deg;font-weight:900;font-style:italic;text-transform:uppercase}
.s-ola .ld-chips button{background:#fff;box-shadow:none;font-weight:700}
.s-ola .ld-chips button[aria-pressed=true]{background:var(--sea);color:#fff}
.s-ola .ld-steps li{border-top:4px solid var(--sea)}
.s-ola .ld-end{background:linear-gradient(180deg,var(--sea),#076485);color:#fff}
.s-ola .ld-end .fx{display:none}
.s-ola .ld-end .ld-h2.big{font-weight:900;font-style:italic;text-transform:uppercase;line-height:.9}
.s-ola .ld-end .ld-btn.inv{background:var(--sun);color:var(--ink)}
dialog.sx-dialog[data-style=ola]{font-family:'Rubik','Avenir Next',system-ui,sans-serif;border-radius:24px}
dialog.sx-dialog[data-style=ola] h2{font-weight:900;font-style:italic;text-transform:uppercase}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-ola .ld-hero .waves path{animation:v2-sway 7s ease-in-out infinite alternate}
  .ld-moving.s-ola .ld-hero .waves .w2{animation-duration:5s;animation-direction:alternate-reverse}
  .ld-moving.s-ola .ld-hero .f1{translate:0 50px;opacity:0}
  .ld-moving.ld-go.s-ola .ld-hero .f1{translate:0 0;opacity:1;transition:translate 1.8s .2s var(--e),opacity 1.2s .2s}
  .ld-moving.s-ola .ld-card{transition:translate .5s var(--spring)}.ld-moving.s-ola .ld-card:hover{translate:0 -6px}
  .ld-moving.s-ola.ld-paused .waves path{animation-play-state:paused}
}

/* ============ Pixel — videojuegos, coleccionables, figuras y cómics. 8 bits, líneas de pantalla y monedas ============ */
.s-pixel{--display:'Press Start 2P',ui-monospace,monospace;--paper:#12111a;--ink:#f4f1ff;--muted:#a9a4c8;--line:rgba(244,241,255,.16);--soft:rgba(244,241,255,.05);--deep:#f4f1ff;--r:0px;--panel:#1d1b2a;--coin:#ffd43b;--px:4px}
.s-pixel .ld{background:var(--paper);color:var(--ink)}
.s-pixel .ld-top.solid{background:rgba(18,17,26,.9);box-shadow:0 2px 0 var(--line)}
.s-pixel .ld-fx .fx{display:none}
.s-pixel .ld-brand{font-family:var(--display);font-size:12px;font-weight:400;line-height:1.4}
.s-pixel .ld-mono{border-radius:0;font-family:var(--display);font-size:10px;box-shadow:0 -4px 0 0 var(--a),0 4px 0 0 var(--a),-4px 0 0 0 var(--a),4px 0 0 0 var(--a)}
.s-pixel .ld-lang{border-radius:0;box-shadow:inset 0 0 0 2px var(--line);font-family:var(--display);font-size:10px}
.s-pixel .ld-links button{font-family:var(--display);font-size:10px;border-radius:0}
.s-pixel .ld-hero{overflow:hidden}
.s-pixel .ld-hero::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 2px,transparent 2px 4px);pointer-events:none;z-index:3}
.s-pixel .ld-hero-copy{max-width:min(100%,660px)}
.s-pixel .ld-title{font-weight:400;font-size:clamp(22px,5.2cqi,58px);line-height:1.45;text-shadow:4px 4px 0 var(--a)}
.s-pixel .ld-title::after{content:"_";color:var(--coin);margin-left:.1em}
.s-pixel .ld-sub{color:var(--muted)}
.s-pixel .ld-quick{font-family:var(--display);font-size:9px;line-height:1.8}
.s-pixel .ld-quick i{border-radius:0;background:var(--coin)}
.s-pixel .ld-btn{border-radius:0;font-family:var(--display);font-size:11px;font-weight:400;min-height:52px;box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink);margin:4px}
.s-pixel .ld-btn.small{font-size:10px}
.s-pixel .ld-btn.solid::before{background:var(--coin)}.s-pixel .ld-btn.solid:hover{color:#12111a}
.s-pixel .ld-btn.ghost{box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),inset 0 0 0 0 transparent}
.s-pixel .ld-hero :is(.sp,.f1){display:block;width:clamp(16px,2.4cqi,26px);aspect-ratio:1;background:var(--coin);box-shadow:inset -4px -4px 0 #e0a800,inset 4px 4px 0 #fff3a3}
.s-pixel .ld-hero .sp.s1{right:10%;top:10%}.s-pixel .ld-hero .sp.s2{right:20%;top:18%}.s-pixel .ld-hero .sp.s3{right:30%;top:10%}.s-pixel .ld-hero .f1{right:40%;top:18%}
.s-pixel .ld-slide-pic{border-radius:0;background:var(--panel);box-shadow:0 -6px 0 0 var(--a),0 6px 0 0 var(--a),-6px 0 0 0 var(--a),6px 0 0 0 var(--a);margin:6px}
.s-pixel .ld-plate,.s-pixel .ld-plate.v1,.s-pixel .ld-plate.v2,.s-pixel .ld-plate.v3{background:var(--panel)}
.s-pixel .ld-plate i:first-child,.s-pixel .ld-plate.v1 i:first-child,.s-pixel .ld-plate.v2 i:first-child,.s-pixel .ld-plate.v3 i:first-child{border-radius:0;background:color-mix(in oklab,var(--a) 34%,var(--panel));rotate:none}
.s-pixel .ld-plate i:nth-child(2),.s-pixel .ld-plate.v1 i:nth-child(2),.s-pixel .ld-plate.v2 i:nth-child(2),.s-pixel .ld-plate.v3 i:nth-child(2){border-radius:0;background:color-mix(in oklab,var(--b) 28%,var(--panel))}
.s-pixel .ld-plate b{font-family:var(--display);font-weight:400;color:var(--coin);font-size:clamp(20px,7cqi,52px);text-shadow:4px 4px 0 #000}
.s-pixel .ld-slide-name{font-family:var(--display);font-weight:400;font-size:clamp(13px,2cqi,18px);line-height:1.5}
.s-pixel .ld-round{border-radius:0;box-shadow:inset 0 0 0 2px var(--line)}
.s-pixel .ld-count{font-family:var(--display);font-size:10px}
.s-pixel .ld-ribbon{background:var(--a);color:var(--on-a);skew:none;padding:16px 0}
.s-pixel .ld-rtrack{font-family:var(--display);font-weight:400;font-size:clamp(11px,1.6cqi,15px);gap:30px}
.s-pixel .ld-rtrack span{gap:30px}.s-pixel .ld-rtrack span::after{border-radius:0;background:var(--coin);box-shadow:inset -3px -3px 0 #e0a800}
.s-pixel .ld-h2{font-weight:400;font-size:clamp(20px,4cqi,40px);line-height:1.4;text-shadow:3px 3px 0 var(--a)}
.s-pixel .ld-lead{color:var(--muted)}
.s-pixel .ld-search input,.s-pixel .ld-sort select{background:var(--panel);color:var(--ink);border:2px solid var(--line);border-radius:0}
.s-pixel .ld-chips button{border-radius:0;box-shadow:inset 0 0 0 2px var(--line);font-family:var(--display);font-size:9px}
.s-pixel .ld-chips button[aria-pressed=true]{background:var(--coin);color:#12111a}
.s-pixel .ld-result button{color:var(--ink)}
.s-pixel .ld-grid{gap:clamp(26px,4cqi,40px) clamp(14px,2.6cqi,26px)}
.s-pixel .ld-card{background:var(--panel);padding:10px 10px 14px;transform:none;rotate:none;box-shadow:0 -4px 0 0 var(--line),0 4px 0 0 var(--line),-4px 0 0 0 var(--line),4px 0 0 0 var(--line)}
.s-pixel .ld-pic{border-radius:0}
.s-pixel .ld-cname{font-weight:800}
.s-pixel .ld-tag{font-family:var(--display);font-weight:400;font-size:11px;color:var(--coin)}
.s-pixel .ld-badge{border-radius:0;background:var(--a);color:var(--on-a);font-family:var(--display);font-size:8px}
.s-pixel .ld-stock::before{border-radius:0;background:#69db7c}
.s-pixel .ld-blk.alt{background:#17151f}
.s-pixel .ld-steps li{border-top:4px solid var(--a)}.s-pixel .ld-steps b{font-family:var(--display);font-size:28px;color:var(--coin)}
.s-pixel .ld-sname{font-family:var(--display);font-weight:400;font-size:13px;line-height:1.5}
.s-pixel .ld-facts>div{border-top:2px solid var(--line)}
.s-pixel .ld-end{background:var(--a);color:var(--on-a)}
.s-pixel .ld-end .fx{display:none}
.s-pixel .ld-end .ld-h2.big{font-size:clamp(22px,5cqi,52px);line-height:1.4;text-shadow:4px 4px 0 rgba(0,0,0,.35)}
.s-pixel .ld-end .ld-btn.inv{background:var(--paper);color:var(--coin)}
.s-pixel .ld-foot{background:#0b0a10;color:var(--ink)}
.s-pixel .ld-foot .ld-brand{font-size:11px}
.s-pixel .ld-pill{border-radius:0!important;background:var(--coin)!important;color:#12111a!important;font-family:var(--display)!important;font-size:11px!important}
dialog.sx-dialog[data-style=pixel]{--ink:#f4f1ff;--muted:#a9a4c8;--line:rgba(244,241,255,.18);--soft:#1d1b2a;background:#12111a;color:#f4f1ff;border-radius:0;box-shadow:0 -6px 0 0 var(--a),0 6px 0 0 var(--a),-6px 0 0 0 var(--a),6px 0 0 0 var(--a)}
dialog.sx-dialog[data-style=pixel] h2{font-family:'Press Start 2P',ui-monospace,monospace;font-weight:400;font-size:clamp(14px,3.4vw,20px);line-height:1.5}
dialog.sx-dialog[data-style=pixel] .pv-price{font-family:'Press Start 2P',ui-monospace,monospace;font-size:16px;color:#ffd43b}
dialog.sx-dialog[data-style=pixel] :is(input,select,button:not(.primary)){background:#1d1b2a;color:#f4f1ff;border-color:rgba(244,241,255,.22);border-radius:0}
dialog.sx-dialog[data-style=pixel] button.primary{border-radius:0;background:#ffd43b;border-color:#ffd43b;color:#12111a;font-family:'Press Start 2P',ui-monospace,monospace;font-size:12px;font-weight:400}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-pixel .ld-hero :is(.sp,.f1){animation:v3-coin 1.2s steps(2) infinite}
  .ld-moving.s-pixel .ld-hero .sp.s2{animation-delay:-.3s}.ld-moving.s-pixel .ld-hero .sp.s3{animation-delay:-.6s}.ld-moving.s-pixel .ld-hero .f1{animation-delay:-.9s}
  .ld-moving.s-pixel .ld-title::after{animation:v3-blink 1s steps(1) infinite}
  .ld-moving.s-pixel .ld-card{transition:translate .15s steps(2)}.ld-moving.s-pixel .ld-card:hover{translate:0 -6px}
  .ld-moving.s-pixel [data-rv].in{transition-timing-function:steps(4)}
  .ld-moving.s-pixel.ld-paused :is(.fx,.ld-title::after){animation-play-state:paused}
}
@keyframes v3-coin{50%{translate:0 -8px;scale:.6 1}}
@keyframes v3-blink{50%{opacity:0}}

/* ============ Bodega — vinos, cervezas artesanales y licores. Vinotinto, etiquetas y sello de cera ============ */
.s-bodega{--display:'Abril Fatface','Didot','Bodoni 72',Georgia,serif;--paper:#1c1416;--ink:#f3e9dc;--muted:#c4b4a4;--line:rgba(243,233,220,.16);--soft:rgba(243,233,220,.05);--deep:#f3e9dc;--gold:#c8a165;--r:4px;--panel:#2a1e21;--label:#f6eee1}
.s-bodega .ld{background:var(--paper);color:var(--ink)}
.s-bodega .ld-top.solid{background:rgba(28,20,22,.9);box-shadow:0 1px 0 var(--line)}
.s-bodega .ld-fx .fx{display:none}
.s-bodega .ld-brand{font-family:var(--display);font-weight:400;font-size:21px;letter-spacing:.02em}
.s-bodega .ld-mono{border-radius:50%;background:var(--gold);color:var(--paper);font-family:var(--display)}
.s-bodega .ld-lang{box-shadow:inset 0 0 0 1px var(--line)}
.s-bodega .ld-hero{background:radial-gradient(70% 60% at 82% 18%,#3b1d26,var(--paper) 70%);overflow:hidden}
.s-bodega .ld-hero-copy{max-width:min(100%,640px)}
.s-bodega .ld-title{font-weight:400;font-size:clamp(42px,9.4cqi,110px);line-height:.98;letter-spacing:-.005em}
.s-bodega .ld-sub{color:var(--muted)}
.s-bodega .ld-quick{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.s-bodega .ld-quick i{background:var(--gold)}
.s-bodega .ld-btn{border-radius:4px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700}
.s-bodega .ld-btn.solid{background:var(--gold);color:var(--paper)}.s-bodega .ld-btn.solid::before{background:var(--ink)}.s-bodega .ld-btn.solid:hover{color:var(--paper)}
.s-bodega .ld-btn.ghost{color:var(--gold)}
.s-bodega .ld-slide-pic{aspect-ratio:2/3;width:min(100%,340px);justify-self:center;max-height:none;border-radius:38% 38% 10px 10px/14% 14% 10px 10px;background:var(--panel);box-shadow:0 30px 60px -30px #000}
.s-bodega .ld-plate,.s-bodega .ld-plate.v1,.s-bodega .ld-plate.v2,.s-bodega .ld-plate.v3{background:linear-gradient(180deg,#3b1d26,var(--panel))}
.s-bodega .ld-plate i:first-child,.s-bodega .ld-plate.v1 i:first-child,.s-bodega .ld-plate.v2 i:first-child,.s-bodega .ld-plate.v3 i:first-child{background:color-mix(in oklab,var(--a) 30%,#3b1d26)}
.s-bodega .ld-plate i:nth-child(2),.s-bodega .ld-plate.v1 i:nth-child(2),.s-bodega .ld-plate.v2 i:nth-child(2),.s-bodega .ld-plate.v3 i:nth-child(2){background:rgba(200,161,101,.18)}
.s-bodega .ld-plate b{font-family:var(--display);font-weight:400;color:#2a1e21;background:var(--label);font-size:clamp(26px,9cqi,64px);padding:.5em .7em;border:2px solid var(--gold);outline:1px solid var(--label);outline-offset:3px}
.s-bodega .ld-slide-info{justify-content:center;text-align:center;margin-top:16px}
.s-bodega .ld-slide-name{flex-basis:100%;font-family:var(--display);font-weight:400}.s-bodega .ld-slide-info p{order:0;flex-basis:100%;color:var(--gold)}
.s-bodega .ld-ctrl{justify-content:center}.s-bodega .ld-round{box-shadow:inset 0 0 0 1px var(--line)}
.s-bodega .ld-progress i{background:var(--gold)}
.s-bodega .ld-ribbon{background:none;color:var(--gold);border-block:1px solid color-mix(in oklab,var(--gold) 45%,transparent);skew:none;padding:16px 0}
.s-bodega .ld-rtrack{font-family:var(--display);font-weight:400;font-size:clamp(20px,3cqi,32px);gap:30px}
.s-bodega .ld-rtrack span{gap:30px}.s-bodega .ld-rtrack span::after{width:.4em;height:.4em;border-radius:0;rotate:45deg;background:var(--gold)}
.s-bodega .ld-h2{font-weight:400}
.s-bodega .ld-search input,.s-bodega .ld-sort select{background:var(--panel);color:var(--ink);border-color:var(--line)}
.s-bodega .ld-chips button{box-shadow:inset 0 0 0 1px var(--line)}
.s-bodega .ld-chips button[aria-pressed=true]{background:var(--gold);color:var(--paper)}
.s-bodega .ld-result button{color:var(--ink)}
.s-bodega .ld-card{text-align:center;transform:none;rotate:none}
.s-bodega .ld-pic{aspect-ratio:2/3;border-radius:36% 36% 8px 8px/12% 12% 8px 8px;background:var(--panel)}
.s-bodega .ld-pic .ld-plate b{font-size:clamp(18px,5.4cqi,30px)}
.s-bodega .ld-cname{font-family:var(--display);font-weight:400;font-size:clamp(18px,2.4cqi,22px)}
.s-bodega .ld-cfoot{justify-content:center}
.s-bodega .ld-tag{color:var(--gold)}
.s-bodega .ld-badge{width:64px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;padding:0;background:var(--a);color:#fff;box-shadow:0 0 0 3px color-mix(in oklab,var(--a) 70%,#000),0 4px 10px rgba(0,0,0,.4);font-size:9px;text-transform:uppercase;letter-spacing:.06em;left:auto;right:8px;top:8px;rotate:-12deg}
.s-bodega .ld-stock::before{background:var(--gold)}
.s-bodega .ld-blk.alt{background:#221819}
.s-bodega .ld-steps li{border-top:1px solid var(--gold)}.s-bodega .ld-steps b{color:var(--gold);font-family:var(--display);font-weight:400}
.s-bodega .ld-facts>div{border-top-color:color-mix(in oklab,var(--gold) 45%,transparent)}
.s-bodega .ld-end{background:var(--panel);color:var(--ink)}
.s-bodega .ld-end::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold)}
.s-bodega .ld-end .fx{display:none}
.s-bodega .ld-end .ld-h2.big{font-weight:400}
.s-bodega .ld-end .ld-btn.inv{background:var(--gold);color:var(--paper)}
.s-bodega .ld-foot{background:#120d0e;color:var(--ink)}
.s-bodega .ld-pill{background:var(--gold)!important;color:var(--paper)!important;border-radius:6px!important}
dialog.sx-dialog[data-style=bodega]{--ink:#f3e9dc;--muted:#c4b4a4;--line:rgba(243,233,220,.18);--soft:#2a1e21;background:#1c1416;color:#f3e9dc;border-radius:8px}
dialog.sx-dialog[data-style=bodega] h2{font-family:'Abril Fatface',Georgia,serif;font-weight:400}
dialog.sx-dialog[data-style=bodega] .pv-price,dialog.sx-dialog[data-style=bodega] .pv-cat{color:#c8a165}
dialog.sx-dialog[data-style=bodega] :is(input,select,button:not(.primary)){background:#2a1e21;color:#f3e9dc;border-color:rgba(243,233,220,.22)}
dialog.sx-dialog[data-style=bodega] button.primary{background:#c8a165;border-color:#c8a165;color:#1c1416;border-radius:6px;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-bodega .ld-plate b{transition:rotate .6s var(--spring)}
  .ld-moving.s-bodega .ld-card:hover .ld-plate b{rotate:-3deg}
  .ld-moving.s-bodega .ld-badge{animation:v3-seal .8s var(--spring) both}
  .ld-moving.s-bodega .ld-slide.enter .ld-slide-pic{animation:v3-pour 1s var(--e) both}
}
@keyframes v3-seal{from{scale:1.8;opacity:0}}
@keyframes v3-pour{from{clip-path:inset(100% 0 0 0 round 38% 38% 10px 10px)}}

/* ============ Arrullo — artículos para bebé, ropa infantil y juguetes de apego. Pastel, nubes y estrellas ============ */
.s-arrullo{--sans:'Quicksand','Avenir Next Rounded',system-ui,sans-serif;--display:'Quicksand','Avenir Next Rounded',system-ui,sans-serif;--paper:#fdf9f4;--ink:#3b3550;--soft:color-mix(in oklab,var(--a) 10%,#fdf9f4);--line:color-mix(in oklab,var(--ink) 12%,var(--paper));--r:30px}
.s-arrullo .ld-fx .fx{display:none}
.s-arrullo .ld-brand{font-weight:700}.s-arrullo .ld-mono{border-radius:50%}
.s-arrullo .ld-hero{overflow:hidden;background:linear-gradient(180deg,color-mix(in oklab,var(--a) 12%,#fff),var(--paper))}
.s-arrullo .ld-hero-copy{max-width:min(100%,640px)}
.s-arrullo .ld-title{font-weight:700;font-size:clamp(38px,8.6cqi,98px);line-height:1.04;letter-spacing:-.015em}
.s-arrullo .ld-sub{color:color-mix(in oklab,var(--ink) 72%,var(--paper))}
.s-arrullo .ld-btn{font-weight:700}
.s-arrullo .ld-hero :is(.f1,.f2){display:block;width:clamp(80px,13cqi,150px);height:clamp(26px,4cqi,46px);border-radius:999px;background:#fff;box-shadow:clamp(16px,2.6cqi,30px) calc(clamp(12px,2cqi,22px)*-1) 0 2px #fff,clamp(44px,7cqi,80px) calc(clamp(8px,1.4cqi,16px)*-1) 0 6px #fff;opacity:.95}
.s-arrullo .ld-hero .f1{right:-4%;top:46%}.s-arrullo .ld-hero .f2{left:4%;bottom:6%;scale:.8}
.s-arrullo .ld-hero .sp{display:block;width:clamp(12px,1.8cqi,20px);aspect-ratio:1;background:#ffd8a8;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.s-arrullo .ld-hero .sp.s1{right:8%;top:22%}.s-arrullo .ld-hero .sp.s2{right:42%;top:8%;background:#c5f6fa}.s-arrullo .ld-hero .sp.s3{left:30%;bottom:10%;background:#fcc2d7}
@container (min-width:860px){.s-arrullo .ld-hero .f1{right:40%;top:4%}}
.s-arrullo .ld-slide-pic{border-radius:50%;aspect-ratio:1;max-height:none;width:min(100%,420px);justify-self:center;box-shadow:0 0 0 14px #fff,0 0 0 15px var(--line),0 30px 60px -36px rgba(59,53,80,.35)}
.s-arrullo .ld-slide-info{justify-content:center;text-align:center;margin-top:20px}
.s-arrullo .ld-slide-name{flex-basis:100%;font-weight:700}.s-arrullo .ld-slide-info p{order:0;flex-basis:100%}
.s-arrullo .ld-ctrl{justify-content:center}.s-arrullo .ld-progress{max-width:140px}
.s-arrullo .ld-plate b{font-weight:700}
.s-arrullo .ld-ribbon{background:color-mix(in oklab,var(--a) 22%,#fff);color:var(--ink);skew:none;padding:14px 0}
.s-arrullo .ld-rtrack{font-weight:700;font-size:clamp(19px,2.8cqi,30px)}
.s-arrullo .ld-rtrack span::after{width:.7em;height:.7em;background:#ffd8a8;border-radius:0;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.s-arrullo .ld-h2{font-weight:700}
.s-arrullo .ld-card{background:#fff;border-radius:30px;padding:10px 10px 18px;transform:none;rotate:none;box-shadow:0 18px 34px -26px rgba(59,53,80,.35)}
.s-arrullo .ld-pic{border-radius:24px}
.s-arrullo .ld-cname{font-weight:700}
.s-arrullo .ld-badge{background:#fcc2d7;color:var(--ink)}
.s-arrullo .ld-chips button{background:#fff;box-shadow:none;font-weight:700}
.s-arrullo .ld-chips button[aria-pressed=true]{background:var(--ink);color:#fff}
.s-arrullo .ld-search input,.s-arrullo .ld-sort select{border-radius:20px;background:#fff}
.s-arrullo .ld-steps li{border-top:0;background:#fff;border-radius:26px;padding:22px}
.s-arrullo .ld-facts>div{border:0;background:#fff;border-radius:22px;padding:18px}
.s-arrullo .ld-end{background:linear-gradient(160deg,color-mix(in oklab,var(--a) 26%,#fff),color-mix(in oklab,var(--b) 22%,#fff));color:var(--ink)}
.s-arrullo .ld-end .fx{display:none}
.s-arrullo .ld-end .ld-h2.big{font-weight:700}
.s-arrullo .ld-end .ld-btn.inv{background:var(--ink);color:#fff}
dialog.sx-dialog[data-style=arrullo]{font-family:'Quicksand','Avenir Next Rounded',system-ui,sans-serif;border-radius:32px}
dialog.sx-dialog[data-style=arrullo] h2{font-weight:700}
@media(prefers-reduced-motion:no-preference){
  .ld-moving.s-arrullo .ld-hero .f1{animation:v3-cloud 16s ease-in-out infinite alternate}
  .ld-moving.s-arrullo .ld-hero .f2{animation:v3-cloud 20s -6s ease-in-out infinite alternate-reverse}
  .ld-moving.s-arrullo .ld-hero .sp{animation:v3-twinkle 4s ease-in-out infinite}
  .ld-moving.s-arrullo .ld-hero .sp.s2{animation-delay:-1.3s}.ld-moving.s-arrullo .ld-hero .sp.s3{animation-delay:-2.6s}
  .ld-moving.s-arrullo .ld-slides{animation:sx-float 6s ease-in-out infinite}
  .ld-moving.s-arrullo.ld-paused :is(.fx,.ld-slides){animation-play-state:paused}
}
@keyframes v3-cloud{to{translate:8cqi 0}}

/* ============ Ajuste general: títulos grandes sin cortes en escritorio ============ */
@container (min-width:860px){
  .s-espuma .ld-title,.s-dulce .ld-title,.s-vivero .ld-title{font-size:clamp(42px,7.6cqi,104px)}
  .s-hogar .ld-title{font-size:clamp(36px,5.8cqi,76px)}
  .s-pixel .ld-title{font-size:clamp(22px,3.4cqi,44px)}
  .s-garaje .ld-title,.s-ola .ld-title,.s-taller .ld-title{font-size:clamp(46px,8cqi,116px)}
}

/* Placas sin foto dentro de los diálogos oscuros */
dialog.sx-dialog:is([data-style=joya],[data-style=pixel],[data-style=bodega]) .pv-pic{background:#1f1a20}
dialog.sx-dialog[data-style=joya] .ld-plate{background:radial-gradient(circle at 50% 40%,#2c2530,#1f1a20 70%)}
dialog.sx-dialog[data-style=joya] .ld-plate i{background:none;box-shadow:inset 0 0 0 3px #c9a96e;border-radius:50%}
dialog.sx-dialog[data-style=joya] .ld-plate i:nth-child(2){display:none}
dialog.sx-dialog[data-style=joya] .ld-plate b{color:#c9a96e;font-family:'Italiana',Georgia,serif;font-weight:400}
dialog.sx-dialog[data-style=pixel] .ld-plate{background:#1d1b2a}
dialog.sx-dialog[data-style=pixel] .ld-plate i{border-radius:0;background:color-mix(in oklab,var(--a) 34%,#1d1b2a)}
dialog.sx-dialog[data-style=pixel] .ld-plate i:nth-child(2){background:color-mix(in oklab,var(--b) 28%,#1d1b2a)}
dialog.sx-dialog[data-style=pixel] .ld-plate b{color:#ffd43b;font-family:'Press Start 2P',ui-monospace,monospace;font-weight:400;font-size:clamp(28px,9cqi,64px);text-shadow:4px 4px 0 #000}
dialog.sx-dialog[data-style=bodega] .ld-plate{background:linear-gradient(180deg,#3b1d26,#2a1e21)}
dialog.sx-dialog[data-style=bodega] .ld-plate i{background:color-mix(in oklab,var(--a) 30%,#3b1d26)}
dialog.sx-dialog[data-style=bodega] .ld-plate i:nth-child(2){background:rgba(200,161,101,.18)}
dialog.sx-dialog[data-style=bodega] .ld-plate b{color:#2a1e21;background:#f6eee1;border:2px solid #c8a165;padding:.4em .7em;font-family:'Abril Fatface',Georgia,serif;font-weight:400;font-size:clamp(28px,9cqi,64px)}

/* ==========================================================================
   Entrega en la ficha del catálogo (retiro o envío con dirección).
   Va en la ficha de producto (y en la reserva de servicios a domicilio). Estilo común para TODAS las plantillas:
   usa las variables del diálogo (--a, --soft, --line, --ink), así cada estilo lo pinta con su color y su fuente.
   Marcado esperado: ver PROMPT (bloque .pv-ship).
   ========================================================================== */
.sx-dialog .pv-ship{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0;background:none;border-radius:0}
.sx-dialog .pv-ship legend{font-family:inherit;font-weight:800;font-size:15px;text-transform:none;letter-spacing:0;padding:0;margin-bottom:8px;color:inherit}
.sx-dialog .pv-ship-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sx-dialog .pv-ship-opt{position:relative;display:block;cursor:pointer;font-weight:400}
.sx-dialog .pv-ship-opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.sx-dialog .pv-ship-opt span{display:grid;gap:3px;align-content:center;min-height:68px;padding:12px 14px 12px 40px;border-radius:14px;border:1.5px solid var(--line);background:transparent;position:relative;transition:border-color .2s,background-color .2s,box-shadow .2s}
.sx-dialog .pv-ship-opt span::before{content:"";position:absolute;left:14px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--line);transition:box-shadow .2s}
.sx-dialog .pv-ship-opt b{font-size:15px;font-weight:700}
.sx-dialog .pv-ship-opt small{font-size:12.5px;color:var(--muted)}
.sx-dialog .pv-ship-opt input:checked+span{border-color:var(--a);background:var(--soft);box-shadow:inset 0 0 0 1px var(--a)}
.sx-dialog .pv-ship-opt input:checked+span::before{box-shadow:inset 0 0 0 5px var(--a)}
.sx-dialog .pv-ship-opt input:focus-visible+span{outline:3px solid var(--a);outline-offset:2px}
.sx-dialog .pv-addr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border-radius:16px;background:var(--soft)}
.sx-dialog .pv-addr[hidden]{display:none}
.sx-dialog .pv-addr .wide,.sx-dialog .pv-addr p{grid-column:1/-1}
.sx-dialog .pv-addr textarea{font:inherit;font-size:16px;width:100%;min-height:84px;resize:vertical;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper,#fff);color:inherit;margin:0}
.sx-dialog .pv-addr p{margin:0;font-size:12.5px;color:var(--muted);background:none;padding:0;border-radius:0}
@media(max-width:420px){.sx-dialog .pv-addr{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:no-preference){.sx-dialog .pv-addr:not([hidden]){animation:sx-rise .45s cubic-bezier(.2,.8,.2,1) both}}
/* Ajustes por estilo (solo forma; el color ya sale de las variables) */
dialog.sx-dialog:is([data-style=mirada],[data-style=joya],[data-style=pixel],[data-style=libro],[data-style=atelier],[data-style=moda]) :is(.pv-ship-opt span,.pv-addr,.pv-addr textarea){border-radius:0}
dialog.sx-dialog:is([data-style=pixel],[data-style=encuadre]) .pv-ship-opt span::before{border-radius:0}
dialog.sx-dialog:is([data-style=joya],[data-style=pixel],[data-style=bodega],[data-style=encuadre]) .pv-addr textarea{background:rgba(255,255,255,.05)}
dialog.sx-dialog[data-style=taller] .pv-addr{background:none;outline:1.5px dashed rgba(43,35,29,.35);outline-offset:-4px}


/* UPE-V3-FONTS */
/* Fuentes de las plantillas v3, alojadas en el propio servidor (/fonts/v3/). Licencia SIL OFL 1.1: ver fuentes/*-OFL.txt */
/* Baloo 2 · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url(/fonts/v3/baloo2-normal-600_800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Baloo 2 · latin · OFL 1.1 */
@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url(/fonts/v3/baloo2-normal-600_800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Bodoni Moda · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v3/bodonimoda-italic-400_700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Bodoni Moda · latin · OFL 1.1 */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v3/bodonimoda-italic-400_700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Bodoni Moda · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v3/bodonimoda-normal-400_700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Bodoni Moda · latin · OFL 1.1 */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v3/bodonimoda-normal-400_700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Jost · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/fonts/v3/jost-normal-300_600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Jost · latin · OFL 1.1 */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/fonts/v3/jost-normal-300_600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Space Grotesk · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v3/spacegrotesk-normal-400_700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Space Grotesk · latin · OFL 1.1 */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v3/spacegrotesk-normal-400_700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Space Mono · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/spacemono-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Space Mono · latin · OFL 1.1 */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/spacemono-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Space Mono · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/v3/spacemono-normal-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Space Mono · latin · OFL 1.1 */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/v3/spacemono-normal-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Saira Condensed · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/v3/sairacondensed-normal-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Saira Condensed · latin · OFL 1.1 */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/v3/sairacondensed-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Saira Condensed · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/v3/sairacondensed-normal-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Saira Condensed · latin · OFL 1.1 */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/v3/sairacondensed-normal-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* DM Serif Display · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/dmserifdisplay-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* DM Serif Display · latin · OFL 1.1 */
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/dmserifdisplay-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* DM Serif Display · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/dmserifdisplay-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* DM Serif Display · latin · OFL 1.1 */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/dmserifdisplay-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Lora · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(/fonts/v3/lora-italic-400_600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lora · latin · OFL 1.1 */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(/fonts/v3/lora-italic-400_600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Lora · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/fonts/v3/lora-normal-400_600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lora · latin · OFL 1.1 */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/fonts/v3/lora-normal-400_600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Outfit · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/fonts/v3/outfit-normal-300_600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Outfit · latin · OFL 1.1 */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/fonts/v3/outfit-normal-300_600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Manrope · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/fonts/v3/manrope-normal-500_800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Manrope · latin · OFL 1.1 */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/fonts/v3/manrope-normal-500_800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Russo One · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Russo One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/russoone-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Russo One · latin · OFL 1.1 */
@font-face {
  font-family: 'Russo One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/russoone-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Sniglet · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Sniglet';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/sniglet-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Sniglet · latin · OFL 1.1 */
@font-face {
  font-family: 'Sniglet';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/sniglet-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Sniglet · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Sniglet';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/v3/sniglet-normal-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Sniglet · latin · OFL 1.1 */
@font-face {
  font-family: 'Sniglet';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/v3/sniglet-normal-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Marcellus · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Marcellus';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/marcellus-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Marcellus · latin · OFL 1.1 */
@font-face {
  font-family: 'Marcellus';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/marcellus-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Italiana · latin · OFL 1.1 */
@font-face {
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/italiana-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Libre Baskerville · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/librebaskerville-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Libre Baskerville · latin · OFL 1.1 */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/librebaskerville-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Libre Baskerville · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/librebaskerville-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Libre Baskerville · latin · OFL 1.1 */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/librebaskerville-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Libre Baskerville · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/v3/librebaskerville-normal-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Libre Baskerville · latin · OFL 1.1 */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/v3/librebaskerville-normal-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Bricolage Grotesque · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/v3/bricolagegrotesque-normal-400_800-100-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Bricolage Grotesque · latin · OFL 1.1 */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/v3/bricolagegrotesque-normal-400_800-100-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Instrument Serif · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/instrumentserif-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Instrument Serif · latin · OFL 1.1 */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/instrumentserif-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Instrument Serif · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/instrumentserif-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Instrument Serif · latin · OFL 1.1 */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/instrumentserif-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Rubik · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 700 900;
  font-display: swap;
  src: url(/fonts/v3/rubik-italic-700_900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Rubik · latin · OFL 1.1 */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 700 900;
  font-display: swap;
  src: url(/fonts/v3/rubik-italic-700_900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Rubik · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
  src: url(/fonts/v3/rubik-normal-500_900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Rubik · latin · OFL 1.1 */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
  src: url(/fonts/v3/rubik-normal-500_900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Press Start 2P · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Press Start 2P';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/pressstart2p-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Press Start 2P · latin · OFL 1.1 */
@font-face {
  font-family: 'Press Start 2P';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/pressstart2p-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Abril Fatface · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Abril Fatface';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/abrilfatface-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Abril Fatface · latin · OFL 1.1 */
@font-face {
  font-family: 'Abril Fatface';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/v3/abrilfatface-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Quicksand · latin-ext · OFL 1.1 */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v3/quicksand-normal-400_700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Quicksand · latin · OFL 1.1 */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/v3/quicksand-normal-400_700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

