/* Rotulnova · web 2026-10 · hoja de estilos común
   Paleta de marca (abril 2026): carbón, hueso, grafito, cian (acento ≤10 %), plata.
   Ámbar solo en el botón principal. Noche = donde se enseña el neón; día = donde se explica. */

/* ♥ ★ ☾ ⚡ del neón: dibujos propios como línea de neón, nunca rellenos (los mismos del dossier técnico), en toda la web,
   para que no salgan los emojis del sistema. El tubo es siempre de 7 mm: el diseñador elige la letra «RN Iconos N» que da
   7 mm a la medida del neón (neon2.js, D.iconFamily); «RN Iconos» es la de botones y textos */
@font-face{font-family:"RN Iconos";src:url(fonts/rn-iconos-58.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 16";src:url(fonts/rn-iconos-16.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 20";src:url(fonts/rn-iconos-20.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 25";src:url(fonts/rn-iconos-25.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 31";src:url(fonts/rn-iconos-31.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 38";src:url(fonts/rn-iconos-38.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 47";src:url(fonts/rn-iconos-47.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 58";src:url(fonts/rn-iconos-58.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 72";src:url(fonts/rn-iconos-72.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 89";src:url(fonts/rn-iconos-89.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}
@font-face{font-family:"RN Iconos 110";src:url(fonts/rn-iconos-110.otf) format("opentype");unicode-range:U+2605,U+2665,U+263E,U+26A1;font-display:block}

:root{
  --carbon:#0D0D10;
  --noche:#121218;
  --hueso:#F5F5F2;
  --blanco:#FFFFFF;
  --grafito:#2B2D31;
  --texto:#1C1E22;
  --texto-2:#575B64;
  --texto-3:#686C75;   /* 5,3:1 sobre blanco (antes #7A7E87, 4,1:1: no llegaba al mínimo de lectura) */
  --plata:#C0C4CC;
  --linea:#E1E2E6;
  --linea-2:#D0D2D8;
  --cian:#00E5FF;
  --cian-oscuro:#007C8C;
  --ambar:#F5A623;
  --ambar-hover:#E59613;
  --verde-wa:#107F43;  /* texto blanco encima a 5,1:1 (antes 4,3:1) */
  --ok:#1C7C4E;
  --aviso:#9A5B00;
  --error:#B3261E;

  --f-display:'RN Iconos','Space Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-body:'RN Iconos','Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;

  --t-xs:.8125rem; --t-s:.9375rem; --t-m:1.0625rem; --t-l:1.25rem;
  --t-xl:1.625rem; --t-2xl:2.125rem; --t-3xl:2.75rem; --t-4xl:3.5rem;

  --r-s:9px; --r-m:14px; --r-l:22px; --r-pill:999px;
  --wrap:1180px;
  --sombra:0 1px 2px rgba(13,13,16,.06),0 8px 24px rgba(13,13,16,.06);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--hueso);color:var(--texto);font-family:var(--f-body);font-size:var(--t-m);line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--texto);line-height:1.12;margin:0 0 .5em;font-weight:700;letter-spacing:-.015em}
h1{font-size:clamp(2.1rem,5.4vw,var(--t-4xl));letter-spacing:-.025em}
h2{font-size:clamp(1.65rem,3.6vw,var(--t-3xl))}
h3{font-size:var(--t-l);letter-spacing:-.01em}
h4{font-size:var(--t-m)}
strong{font-weight:600}
small{font-size:var(--t-xs)}
hr{border:0;border-top:1px solid var(--linea);margin:2rem 0}
:focus-visible{outline:3px solid var(--cian);outline-offset:2px;border-radius:4px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip{position:absolute;left:-999px;top:8px;background:var(--carbon);color:#fff;padding:10px 14px;border-radius:var(--r-s);z-index:200}
.skip:focus{left:8px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.wrap-s{max-width:760px;margin:0 auto;padding:0 20px}
.sec{padding:72px 0}
.sec-s{padding:48px 0}
.sec.alt{background:var(--blanco);padding-top:72px}
.sec.noche{background:var(--carbon);color:#E9EAEE;padding-top:72px}
.noche h1,.noche h2,.noche h3{color:#fff}
.noche .muted{color:#A8ACB6}
.lead{font-size:var(--t-l);color:var(--texto-2);line-height:1.5;max-width:44em}
.noche .lead{color:#C6C9D1}
.muted{color:var(--texto-2)}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.sec-head{max-width:46em;margin-bottom:32px}
.center.sec-head{margin-left:auto;margin-right:auto}

/* ---------- Iconos ---------- */
.ic{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em}
.ic-fill{fill:currentColor;stroke:none}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:600 var(--t-m)/1.2 var(--f-body);padding:.85em 1.3em;border-radius:var(--r-s);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--ambar);color:var(--carbon)}
.btn-primary:hover{background:var(--ambar-hover)}
.btn-dark{background:var(--carbon);color:#fff}
.btn-dark:hover{background:var(--grafito)}
.btn-line{background:transparent;color:var(--texto);border-color:var(--linea-2)}
.btn-line:hover{border-color:var(--texto);}
.noche .btn-line{color:#fff;border-color:rgba(255,255,255,.28)}
.noche .btn-line:hover{border-color:#fff}
.btn-wa{background:var(--verde-wa);color:#fff}
.btn-wa:hover{background:#0E7A40}
.btn-s{padding:.6em 1em;font-size:var(--t-s)}
.btn-l{padding:1em 1.6em;font-size:var(--t-l)}
.btn-block{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.link{color:var(--cian-oscuro);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.noche .link{color:var(--cian)}
.link:hover{text-decoration-thickness:2px}

/* ---------- Cabecera (oscura: el logo es de fondo oscuro) ---------- */
.hd{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--carbon);border-bottom:1px solid #22222A;color:#E9EAEE}
.hd-in{display:flex;align-items:center;gap:18px;height:68px}
.hd-logo{display:flex;align-items:center;text-decoration:none;flex:none}
.hd-logo img{width:auto;height:38px}
.hd-nav{display:flex;align-items:center;gap:2px;margin-left:6px;flex:1;min-width:0}
.hd-nav > a,.hd-dd > button{font:500 var(--t-s)/1 var(--f-body);color:#C9CCD3;text-decoration:none;padding:10px 10px;border-radius:8px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.hd-nav > a:hover,.hd-dd > button:hover,.hd-dd.open > button{background:#1C1C24;color:#fff}
.hd-nav > a[aria-current="page"]{color:#fff;box-shadow:inset 0 -2px 0 var(--cian)}
.hd-nav .ext{color:#9DA1AB}
.hd-dd{position:relative}
.hd-dd > button .ic{width:.9em;height:.9em;transition:transform .15s}
.hd-dd.open > button .ic{transform:rotate(180deg)}
.hd-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;background:#fff;border:1px solid var(--linea);border-radius:var(--r-m);box-shadow:0 18px 40px rgba(0,0,0,.25);padding:8px;display:none;color:var(--texto)}
.hd-dd.open .hd-menu{display:block}
.hd-menu a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--texto);font-size:var(--t-s)}
.hd-menu a:hover{background:var(--hueso)}
.hd-menu a span{color:var(--texto-3);font-size:var(--t-xs);white-space:nowrap}
.hd-menu hr{margin:6px 8px;border-color:var(--linea)}
.hd-act{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
.hd-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;color:#fff;text-decoration:none;border:1px solid #33333D}
.hd-cart:hover{border-color:#fff}
.hd-cart b{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--cian);color:var(--carbon);font:700 12px/20px var(--f-body);text-align:center}
.hd-cart b:empty{display:none}
.hd-burger{display:none;width:44px;height:44px;border-radius:10px;border:1px solid #33333D;background:transparent;align-items:center;justify-content:center;cursor:pointer;color:#fff}
.hd-mob{display:none}
@media (max-width:1180px){
  .hd-nav{display:none}
  .hd-burger{display:inline-flex}
  .hd-act .btn-wa{display:none}
  .hd-mob{display:block;position:fixed;inset:68px 0 0 0;background:#fff;color:var(--texto);overflow:auto;padding:8px 20px 120px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;z-index:49}
  .hd.open .hd-mob{opacity:1;visibility:visible;transform:none}
  .hd-mob a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--linea);text-decoration:none;color:var(--texto);font:500 var(--t-l)/1.3 var(--f-display)}
  .hd-mob a span{font:400 var(--t-xs) var(--f-body);color:var(--texto-3);text-align:right}
  .hd-mob .sub a{font:400 var(--t-m)/1.3 var(--f-body);padding:11px 2px 11px 14px}
  .hd-mob .hd-mob-t{margin:22px 0 2px;color:var(--texto-3);font:600 var(--t-xs)/1 var(--f-body)}
  .hd-mob .btn{margin-top:18px;width:100%}
}
@media (max-width:420px){.hd-logo img{height:32px}}

/* ---------- Escenario: el neón en su sitio y a escala ----------
   Capas: .sc (pared, suelo y muebles; de noche se oscurece) · .sc-spill (la luz del neón sobre la pared)
   · .stage-sign (placa, neón, sujeción y cotas) · .st-top / .st-bottom (controles). */
.stage{position:relative;border-radius:var(--r-l);overflow:hidden;color:#fff;isolation:isolate;height:400px;background:#0D0D10;
  --acr:rgba(255,255,255,.075);--dim:#C9CCD3;--dim-l:rgba(201,204,211,.55);--dim-bg:rgba(13,13,16,.72);
  --sh:rgba(0,0,0,.26);--skirt:rgba(0,0,0,.18)}
.stage .sc{position:absolute;inset:0;z-index:0;transition:filter .35s ease}
.stage .sc::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.6;pointer-events:none}
.stage .sc-svg{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;transition:opacity .35s;
  background:radial-gradient(140% 110% at 50% 38%,transparent 55%,rgba(0,0,0,.34))}
.sc-spill{position:absolute;z-index:1;pointer-events:none;border-radius:50%;mix-blend-mode:screen;transition:opacity .3s;
  background:radial-gradient(closest-side,var(--sp1,rgba(255,79,163,.46)) 0%,var(--sp2,rgba(255,79,163,.16)) 58%,transparent 100%)}
.stage-sign{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;text-align:center}
.stage-sign .js-fallback{font-size:clamp(44px,11vw,72px)}

/* paredes: de cerca (noche y día) y escenas con muebles */
.stage[data-scene="cerca"] .sc{background:radial-gradient(120% 90% at 50% 0%,#26262E 0%,#17171D 55%,#0D0D10 100%)}
.stage[data-scene="cerca"][data-light="dia"] .sc{background:radial-gradient(120% 100% at 50% 0%,#F7F6F2 0%,#ECEAE5 58%,#DEDBD4 100%)}
.stage[data-scene="cerca"][data-light="dia"] .sc::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.stage[data-scene="salon"]{--floor:#B39A7E;--f1:#B3ADA3;--f2:#99938A;--acc:#C9A47D;--acc2:#82917D;--leg:#3B342E;
  --leaf:#5C7B56;--leaf2:#6E9067;--pot:#D2C6B6;--pot2:#BFB2A1;--w1:#B79471;--w2:#9C7B5B;--top2:#8E6F51}
.stage[data-scene="salon"] .sc{background:linear-gradient(180deg,#EEE9E1 0%,#E3DDD3 60%,#D9D2C6 100%)}
.stage[data-scene="dormitorio"]{--floor:#C1A688;--f1:#EFECE6;--f2:#8F857B;--f3:#FFFFFF;--pil:#F8F6F1;--acc:#D5C6B4;--acc2:#B8A691;--leg:#3B342E;
  --w1:#B99773;--w2:#A3835F;--top2:#8E6F51}
.stage[data-scene="dormitorio"] .sc{background:linear-gradient(180deg,#E3E7EA 0%,#D6DCE0 62%,#CBD2D6 100%)}
.stage[data-scene="local"]{--floor:#3A3532;--mortar:#B9A698;--b1:#9B5A43;--b2:#8A4D39;--b3:#A6634C;--w2:#6E4C34;--w3:#5D3F2B;--top:#2B2725;
  --leg:#2B2B2E;--seat:#4A3B30;--sh:rgba(0,0,0,.34)}
.stage[data-scene="local"] .sc{background:#8E5240}
.stage[data-light="noche"]:not([data-scene="cerca"]) .sc{filter:brightness(.27) saturate(.75) contrast(1.05)}
.stage[data-light="dia"]::after{opacity:.35}
.stage[data-light="dia"] .sc-spill{opacity:.32}
.stage.is-off .sc-spill{opacity:0}
.stage[data-light="dia"]{--acr:rgba(255,255,255,.34);--dim:#2E3138;--dim-l:rgba(46,49,56,.5);--dim-bg:rgba(255,255,255,.82)}

/* controles sobre el escenario */
.st-top,.st-bottom{position:absolute;left:12px;right:12px;z-index:4;display:flex;justify-content:space-between;gap:10px;pointer-events:none}
.st-top{top:12px;align-items:flex-start}
.st-bottom{bottom:12px;align-items:center}
.st-top>*,.st-bottom>*{pointer-events:auto}
.st-scenes{display:flex;gap:2px;padding:3px;border-radius:var(--r-pill);background:rgba(13,13,16,.58);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.st-scenes button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#DADDE3;font:500 var(--t-xs)/1 var(--f-body);padding:7px 11px;border-radius:var(--r-pill);cursor:pointer;transition:background .15s,color .15s}
.st-scenes button .ic{width:15px;height:15px}
.st-scenes button:hover{color:#fff;background:rgba(255,255,255,.1)}
.st-scenes button[aria-pressed="true"]{background:#fff;color:var(--carbon)}
.st-price{display:flex;flex-direction:column;align-items:flex-end;padding:7px 12px 8px;border-radius:12px;background:rgba(13,13,16,.58);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);line-height:1.1;text-align:right}
.st-price b{font:700 var(--t-l)/1.05 var(--f-display);color:#fff;letter-spacing:-.01em;white-space:nowrap}
.st-price span{font-size:11px;color:#C9CCD3;margin-top:2px}
.st-ref{font-size:11.5px;color:#E2E4E9;background:rgba(13,13,16,.5);padding:5px 10px;border-radius:var(--r-pill)}
.st-ref:empty{visibility:hidden}
.st-tgls{display:flex;align-items:center;gap:6px;margin-left:auto}
.st-light{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(13,13,16,.58);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.st-light .ic{width:17px;height:17px}
.st-light[aria-pressed="true"]{background:#fff;color:#B26A00}
.stage .sw,.stage-dim .sw{display:inline-flex;align-items:center;gap:8px;background:rgba(13,13,16,.58);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:var(--r-pill);padding:6px 12px 6px 8px;font:500 var(--t-xs) var(--f-body);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.stage .sw i{width:28px;height:16px;border-radius:9px;background:rgba(255,255,255,.25);position:relative;transition:background .15s}
.stage .sw i::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s}
.stage .sw[aria-pressed="true"] i{background:var(--cian)}
.stage .sw[aria-pressed="true"] i::after{transform:translateX(12px)}
.stage-dim{position:absolute;left:16px;right:16px;bottom:14px;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:var(--t-xs);color:#C9CCD3}
.stage-dim > span{background:rgba(13,13,16,.5);padding:5px 10px;border-radius:var(--r-pill)}
@media (max-width:600px){
  .st-top,.st-bottom{left:8px;right:8px}
  .st-top{top:8px}.st-bottom{bottom:8px}
  .st-scenes button{padding:7px 9px}
  .st-scenes button span{display:none}
  .st-price{padding:5px 10px 6px}
  .st-price b{font-size:var(--t-m)}
  .st-ref{font-size:10.5px;padding:4px 8px}
}

/* ---------- Portada ---------- */
.hero{background:var(--carbon);color:#E9EAEE;padding:56px 0 64px;position:relative;overflow:hidden}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center}
.hero-in>*{min-width:0}
.hero h1{color:#fff;margin-bottom:.35em}
.hero .lead{color:#C6C9D1;margin-bottom:28px}
.try{background:#1A1A21;border:1px solid #2C2C36;border-radius:var(--r-m);padding:18px;max-width:520px}
.try label{display:block;font:500 var(--t-s) var(--f-body);color:#C6C9D1;margin-bottom:8px}
.try-row{display:flex;gap:10px}
.try input{flex:1;min-width:0;font:500 var(--t-l) var(--f-body);color:#fff;background:#0D0D10;border:1px solid #3A3A46;border-radius:var(--r-s);padding:12px 14px}
.try input:focus{border-color:var(--cian);outline:none;box-shadow:0 0 0 3px rgba(0,229,255,.18)}
.try-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:var(--t-s);color:#A9ADB7}
.try-meta strong{color:#fff;font-weight:600}
.hero-doors{display:flex;flex-wrap:wrap;gap:10px 22px;margin:22px 0 0;font-size:var(--t-s)}
.hero-doors a{color:#E9EAEE;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px}
.hero-doors a:hover{border-color:var(--cian)}
.hero .stage{height:380px}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;margin:34px 0 0;padding:22px 0 0;border-top:1px solid #24242C;font-size:var(--t-s);color:#C6C9D1}
.trust li{display:inline-flex;align-items:center;gap:8px}
.trust .ic{color:var(--cian)}
@media (max-width:900px){
  .hero{padding:28px 0 44px}
  .hero-in{grid-template-columns:1fr;gap:24px}
  .hero .stage{height:250px}
  .hero-copy{order:2}
  .hero-art{order:1}
}

/* Dos caminos */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.path{position:relative;display:grid;grid-template-rows:auto 1fr;border-radius:var(--r-l);overflow:hidden;background:var(--blanco);border:1px solid var(--linea);text-decoration:none;color:inherit}
.path-img{aspect-ratio:16/9;background:#111;overflow:hidden}
.path-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.path:hover .path-img img{transform:scale(1.03)}
.path-body{padding:24px 26px 26px;display:flex;flex-direction:column}
.path-body h3{font-size:var(--t-xl);margin-bottom:.3em}
.path-body ul{list-style:none;padding:0;margin:12px 0 20px;display:grid;gap:6px}
.path-body li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--linea);padding-bottom:6px;font-size:var(--t-s)}
.path-body li b{font-weight:600;white-space:nowrap}
.path-body .btn{align-self:flex-start;margin-top:auto}
@media (max-width:820px){.paths{grid-template-columns:1fr}}

/* Listados de producto con precio */
.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.item{display:flex;flex-direction:column;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);overflow:hidden}
.item-art{position:relative;aspect-ratio:4/3;max-width:100%;background:radial-gradient(120% 100% at 50% 0%,#23232B,#0D0D10);display:flex;align-items:center;justify-content:center;overflow:hidden}
.item-art .neon{font-size:30px}
.item-art small{position:absolute;right:8px;bottom:6px;color:var(--texto-3);font-size:11px}
.item-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.item-body h3{font-size:var(--t-m);margin:0;font-family:var(--f-body);font-weight:600;letter-spacing:0}
.item-body p{font-size:var(--t-s);color:var(--texto-2);margin:0}
.price{font:700 var(--t-l)/1.2 var(--f-display);color:var(--texto);letter-spacing:-.01em}
.price small{font:500 var(--t-xs) var(--f-body);color:var(--texto-3);letter-spacing:0;margin-left:4px}
.item-actions{display:flex;gap:8px;margin-top:10px}
.item-actions .btn{flex:1;padding:.65em .8em;font-size:var(--t-s)}

/* Pasos (es una secuencia: numerados) */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:st;border-top:1px solid var(--linea)}
.steps li{counter-increment:st;padding:22px 22px 0 0;position:relative}
.steps li::before{content:counter(st);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--carbon);font:700 var(--t-s)/1 var(--f-display);margin-bottom:14px;background:var(--hueso)}
.steps li::after{content:"";position:absolute;top:-1px;left:0;width:34px;height:2px;background:var(--cian)}
.steps h3{font-size:var(--t-m);margin-bottom:.25em;font-family:var(--f-body);font-weight:600;letter-spacing:0}
.steps p{font-size:var(--t-s);color:var(--texto-2);margin:0}
.alt .steps li::before{background:var(--blanco)}
@media (max-width:820px){.steps{grid-template-columns:1fr 1fr;gap:8px 0}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Hechos con icono (en vez de tablas) */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 28px;margin:0;padding:0;list-style:none}
.facts li{display:flex;gap:12px;align-items:flex-start;font-size:var(--t-s);color:var(--texto-2)}
.facts li .ic{width:22px;height:22px;color:var(--carbon);margin-top:1px}
.facts li strong{display:block;color:var(--texto);font-size:var(--t-m)}
.noche .facts li{color:#B8BCC6}
.noche .facts li strong{color:#fff}
.noche .facts li .ic{color:var(--cian)}

/* Galería de trabajos reales */
.gal{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:10px}
.gal figure{margin:0;border-radius:var(--r-m);overflow:hidden;background:#111;position:relative}
.gal figure img{width:100%;height:100%;object-fit:cover}
.gal figure figcaption{position:absolute;left:10px;bottom:8px;right:10px;color:#fff;font-size:var(--t-xs);text-shadow:0 1px 6px rgba(0,0,0,.7)}
.gal .g1{grid-column:span 6;grid-row:span 2}.gal .g2{grid-column:span 3;grid-row:span 2}.gal .g3{grid-column:span 3;grid-row:span 2}
.gal .g4{grid-column:span 4;grid-row:span 2}.gal .g5{grid-column:span 4;grid-row:span 2}.gal .g6{grid-column:span 4;grid-row:span 2}
@media (max-width:820px){.gal{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.gal figure{grid-column:span 1!important;grid-row:span 1!important}.gal .g1{grid-column:span 2!important;grid-row:span 2!important}}

/* Cita / reseña */
.quote{max-width:46em;margin:0 auto;text-align:center}
.quote blockquote{margin:0 0 14px;font:500 var(--t-xl)/1.4 var(--f-display);letter-spacing:-.01em;color:var(--texto)}
.quote cite{font-style:normal;color:var(--texto-2);font-size:var(--t-s)}

/* Preguntas frecuentes */
.faq{max-width:820px}
.center .faq,.faq.center{margin-left:auto;margin-right:auto;text-align:left}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font:600 var(--t-m)/1.4 var(--f-body);color:var(--texto)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{transition:transform .15s;color:var(--texto-3)}
.faq details[open] summary .ic{transform:rotate(45deg)}
.faq .a{padding:0 0 18px;color:var(--texto-2);max-width:46em}
.faq .a p:last-child{margin-bottom:0}
.noche .faq details{border-color:#2A2A33}
.noche .faq summary{color:#fff}
.noche .faq .a{color:#B8BCC6}

/* Texto largo (páginas de servicio y blog) */
.prose{max-width:44em;font-size:var(--t-m)}
.prose h2{font-size:var(--t-2xl);margin-top:1.6em}
.prose h3{font-size:var(--t-l);margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1.1em}
.prose li{margin-bottom:.35em}
.prose a:not(.btn){color:var(--cian-oscuro);text-underline-offset:3px}
.prose img{border-radius:var(--r-m);margin:1.2em 0}
.prose blockquote{margin:1.2em 0;padding:4px 0 4px 18px;border-left:3px solid var(--cian);color:var(--texto-2)}
.prose table{width:100%;border-collapse:collapse;font-size:var(--t-s);margin:1em 0 1.4em}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linea);vertical-align:top}
.prose th{font-weight:600;color:var(--texto)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Lista de precios sencilla (sustituye a las tablas) */
.plist{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.plist li{display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding:14px 0;border-bottom:1px solid var(--linea);align-items:baseline}
.plist .n{font-weight:600;color:var(--texto)}
.plist .d{grid-column:1;font-size:var(--t-s);color:var(--texto-2)}
.plist .p{grid-row:1 / span 2;grid-column:2;font:700 var(--t-l) var(--f-display);white-space:nowrap;text-align:right}
.plist .p small{display:block;font:500 var(--t-xs) var(--f-body);color:var(--texto-3)}
details.more{margin-top:18px}
details.more > summary{cursor:pointer;color:var(--cian-oscuro);font-weight:600;font-size:var(--t-s);list-style:none;display:inline-flex;align-items:center;gap:6px}
details.more > summary::-webkit-details-marker{display:none}
details.more[open] > summary .ic{transform:rotate(180deg)}

/* Opciones de servicio */
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.opt{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:20px 20px 18px;display:flex;flex-direction:column;gap:6px}
.opt h3{font-size:var(--t-m);font-family:var(--f-body);font-weight:600;letter-spacing:0;margin:0}
.opt p{font-size:var(--t-s);color:var(--texto-2);margin:0}
.opt .price{margin-top:auto;padding-top:8px}

/* Hero de páginas de servicio (día) */
.phero{padding:44px 0 36px;background:var(--hueso)}
.phero-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px;align-items:center}
.crumbs{font-size:var(--t-xs);color:var(--texto-3);margin-bottom:16px}
.crumbs a{color:var(--texto-2);text-decoration:underline;text-decoration-color:var(--plata);text-underline-offset:3px}
.crumbs a:hover{text-decoration:underline}
.crumbs span{margin:0 6px;color:var(--plata)}
.crumbs .here{margin:0;color:var(--texto-2)}
.phero .lead{margin-bottom:22px}
.phero-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.from{display:inline-flex;align-items:baseline;gap:8px;margin:0 0 18px;padding:8px 14px;border-radius:var(--r-pill);background:var(--blanco);border:1px solid var(--linea);font-size:var(--t-s);color:var(--texto-2)}
.from b{font:700 var(--t-l) var(--f-display);color:var(--texto)}
.phero-img{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;background:#111}
.phero-img img{width:100%;height:100%;object-fit:cover}
.phero-mini{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:var(--t-s);color:var(--texto-2)}
.phero-mini li{display:inline-flex;gap:7px;align-items:center}
.phero-mini .ic{color:var(--ok)}
@media (max-width:900px){.phero-in{grid-template-columns:1fr;gap:24px}.phero{padding:24px 0 28px}}

/* Formularios */
.form{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-l);padding:26px}
.form h3{margin-bottom:.2em}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:620px){.grid2{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label,.lbl{font:600 var(--t-s) var(--f-body);color:var(--texto)}
.field label span,.lbl span{font-weight:400;color:var(--texto-3)}
.inp,.field input,.field select,.field textarea{font:400 var(--t-m)/1.4 var(--f-body);color:var(--texto);background:#fff;border:1px solid var(--linea-2);border-radius:var(--r-s);padding:11px 13px;width:100%}
.field textarea{min-height:110px;resize:vertical}
.inp:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--grafito);box-shadow:0 0 0 3px rgba(0,229,255,.25)}
.field .hint{font-size:var(--t-xs);color:var(--texto-3)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-s);color:var(--texto-2);margin:10px 0 16px}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--carbon);flex:none}
.form-ok,.form-err{display:none;border-radius:var(--r-s);padding:14px 16px;font-size:var(--t-s);margin-top:12px}
.form-ok{background:#E8F5EE;color:#174D33}
.form-err{background:#FCEBEA;color:#7A1C16}
.form.sent .form-ok{display:block}
.form.failed .form-err{display:block}
.file{display:flex;align-items:center;gap:10px;border:1px dashed var(--linea-2);border-radius:var(--r-s);padding:12px 14px;cursor:pointer;color:var(--texto-2);font-size:var(--t-s);background:#FBFBFA}
.file:hover{border-color:var(--grafito)}
.file input{position:absolute;opacity:0;width:1px;height:1px}
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:start}
.contact-side .btn{margin:6px 0 14px}
.contact-side ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;font-size:var(--t-s);color:var(--texto-2)}
.contact-side li{display:flex;gap:10px}
@media (max-width:900px){.contact{grid-template-columns:1fr;gap:24px}}

/* Aviso informativo */
.note{display:flex;gap:12px;align-items:flex-start;background:#EEF8FA;border:1px solid #CDEBF0;color:#134048;border-radius:var(--r-m);padding:14px 16px;font-size:var(--t-s)}
.note .ic{color:var(--cian-oscuro);margin-top:2px}
.note.warn{background:#FFF6E5;border-color:#F5DFB3;color:#5B3B00}
.note.warn .ic{color:var(--aviso)}

/* Pie */
.ft{background:var(--carbon);color:#B8BCC6;padding:56px 0 30px;font-size:var(--t-s);margin-top:0}
.ft-in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.ft h2{color:#fff;font:600 var(--t-s) var(--f-body);margin:0 0 12px;letter-spacing:0}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ft a{color:#B8BCC6;text-decoration:none}
.ft a:hover{color:#fff;text-decoration:underline}
.ft-brand img{height:38px;width:auto;margin-bottom:16px}
.ft-brand p{max-width:30em;margin-bottom:16px}
.ft-legal{border-top:1px solid #23232B;margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;color:#7E828C;font-size:var(--t-xs)}
.ft-legal a{color:#9DA1AB}
.ft-legal-links{display:inline-flex;flex-wrap:wrap;gap:6px 16px}
@media (max-width:900px){.ft-in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ft-in{grid-template-columns:1fr}}

/* Barra inferior en móvil */
.mbar{display:none}
@media (max-width:900px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--linea);box-shadow:0 -6px 20px rgba(13,13,16,.06)}
  .mbar .btn{flex:1;padding:.8em .6em;font-size:var(--t-s)}
  body{padding-bottom:76px}
}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:40;width:56px;height:56px;border-radius:50%;background:var(--verde-wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.wa-float svg{width:28px;height:28px}
@media (max-width:900px){.wa-float{display:none}}

/* Aviso de cookies */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;margin:0 auto;background:var(--carbon);color:#DADCE1;border-radius:var(--r-m);padding:16px 18px;box-shadow:0 12px 40px rgba(0,0,0,.3);display:none;font-size:var(--t-s)}
.ck p{margin:0 0 12px}
.ck a{color:#fff}
.ck-btns{display:flex;gap:8px;flex-wrap:wrap}
.ck .btn{padding:.6em 1em;font-size:var(--t-s)}
.ck .btn-line{color:#fff;border-color:rgba(255,255,255,.35)}
.ck .btn-line:hover{border-color:#fff}
@media (max-width:900px){.ck{bottom:86px}}

/* Utilidades */
.mt0{margin-top:0}.mb0{margin-bottom:0}.mt1{margin-top:12px}.mt2{margin-top:24px}.mt3{margin-top:40px}
.gap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:24px}}
.tag{display:inline-block;font:600 var(--t-xs)/1 var(--f-body);padding:5px 9px;border-radius:var(--r-pill);background:#EEF8FA;color:#0D4F5A}
.kbd{font-variant-numeric:tabular-nums}

/* ================= Neón: render ================= */
.neon{position:relative;white-space:pre;line-height:1.08;--g:#FF4FA3;--core:#FFE3F2;--gs:rgba(255,79,163,.55);--gd:#FFA0CF}
.neon .ln{display:block;color:var(--core);transition:color .25s,text-shadow .25s;
  text-shadow:0 0 .015em #fff,0 0 .05em var(--g),0 0 .12em var(--g),0 0 .26em var(--g),0 0 .55em var(--g),0 0 1.1em var(--gs,var(--g))}
.stage[data-light="dia"] .neon .ln{color:var(--gd,var(--core));
  text-shadow:0 0 .012em #fff,0 0 .04em var(--g),0 0 .1em var(--g),0 0 .24em var(--gs,var(--g))}
.stage.is-off .neon .ln,.neon.off .ln{color:#E7E4DE;text-shadow:0 .02em .02em rgba(0,0,0,.32),0 0 .01em rgba(0,0,0,.25)}
.stage.is-off[data-light="noche"] .neon .ln{color:#5C5B62;text-shadow:0 0 .01em rgba(0,0,0,.4)}
.nw{position:absolute;left:0;top:0}
.nw .neon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}
.nw-contour{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;white-space:pre;color:var(--acr);paint-order:stroke fill;pointer-events:none;
  filter:drop-shadow(0 0 .6px rgba(255,255,255,.55)) drop-shadow(0 var(--sd,3px) calc(var(--sd,3px)*1.7) rgba(0,0,0,.42))}
.nw-contour .ln{display:block}
.nw-board{position:absolute;inset:0;z-index:1;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035) 45%,rgba(255,255,255,.07));
  border:1px solid rgba(255,255,255,.28);box-shadow:0 var(--sd,3px) calc(var(--sd,3px)*1.8) rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.2)}
.stage[data-light="dia"] .nw-board{background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(255,255,255,.16) 45%,rgba(255,255,255,.3));border-color:rgba(255,255,255,.85);box-shadow:0 var(--sd,3px) calc(var(--sd,3px)*1.8) rgba(40,30,20,.2),inset 0 1px 0 #fff}
.stage[data-light="dia"] .nw-contour{filter:drop-shadow(0 0 .6px rgba(255,255,255,.9)) drop-shadow(0 var(--sd,3px) calc(var(--sd,3px)*1.7) rgba(40,30,20,.2))}
.nw-hw{position:absolute;inset:0;z-index:1;pointer-events:none}
.nw-hw i{position:absolute;display:block}
.hw-dot{border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#BFC3CA 42%,#6C7079);box-shadow:0 1px 2px rgba(0,0,0,.45)}
.hw-cable{bottom:100%;width:1px;margin-left:-.5px;background:linear-gradient(rgba(214,218,226,.12),rgba(214,218,226,.6))}
.stage[data-light="dia"] .hw-cable{background:linear-gradient(rgba(60,60,66,.2),rgba(60,60,66,.65))}
.hw-cable::after{content:"";position:absolute;left:-2px;bottom:-3px;width:5px;height:5px;border-radius:50%;border:1px solid #C9CCD3}
.hw-foot{bottom:0;border-radius:3px 3px 0 0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.32);border-bottom:0}
.stage[data-light="dia"] .hw-foot{background:rgba(255,255,255,.4);border-color:rgba(255,255,255,.9)}
.hw-shelf{top:100%;height:7px;border-radius:2px;background:linear-gradient(#3B3B45,#23232A);box-shadow:0 8px 16px rgba(0,0,0,.45)}
.stage[data-light="dia"] .hw-shelf{background:linear-gradient(#D7D1C7,#BFB8AC);box-shadow:0 8px 16px rgba(60,50,40,.18)}
.nw-dw,.nw-dh{position:absolute;z-index:3;color:var(--dim);font:500 12px/1 var(--f-body);pointer-events:none;font-variant-numeric:tabular-nums}
.nw-dw{left:0;height:12px;border-left:1px solid var(--dim-l);border-right:1px solid var(--dim-l)}
.nw-dw::before{content:"";position:absolute;left:0;right:0;top:6px;border-top:1px solid var(--dim-l)}
.nw-dw span{position:absolute;left:50%;top:-2px;transform:translateX(-50%);background:var(--dim-bg);padding:0 7px;line-height:16px;border-radius:4px;white-space:nowrap}
.nw-dh{top:0;width:12px;border-top:1px solid var(--dim-l);border-bottom:1px solid var(--dim-l)}
.nw-dh::before{content:"";position:absolute;top:0;bottom:0;left:6px;border-left:1px solid var(--dim-l)}
.nw-dh span{position:absolute;top:50%;left:14px;transform:translateY(-50%);background:var(--dim-bg);padding:3px 6px;border-radius:4px;white-space:nowrap}
@keyframes rn-flick{0%{opacity:.25}12%{opacity:.9}18%{opacity:.35}30%{opacity:1}36%{opacity:.6}48%,100%{opacity:1}}
.stage.flick .nw .neon{animation:rn-flick .55s steps(1,end)}

/* ================= Configurador ================= */
.cfg{padding:28px 0 64px;background:var(--hueso)}
.cfg-head{max-width:760px}
.cfg-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:start}
.cfg-art{position:sticky;top:84px}
.cfg-art .stage{height:clamp(380px,calc(100vh - 240px),580px)}
.st-spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:10px;border-radius:var(--r-m);overflow:hidden;background:var(--linea);border:1px solid var(--linea)}
.st-spec div{background:var(--blanco);padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.st-spec span{font-size:11.5px;color:var(--texto-3)}
.st-spec b{font:600 var(--t-s)/1.25 var(--f-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.cfg-sim{font-size:var(--t-xs);color:var(--texto-3);margin:10px 4px 0}
.cfg-nav{display:none}
.cfg-panel{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-l);padding:6px 22px 22px}
.cfg-step{border:0;margin:0;padding:20px 0;border-bottom:1px solid var(--linea);scroll-margin-top:100px;min-width:0}
.cfg-step legend{font:700 var(--t-m) var(--f-display);padding:0;margin-bottom:12px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.cfg-step legend i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--carbon);color:#fff;font:700 12px/1 var(--f-body);flex:none;transform:translateY(-2px)}
.legend-note{font:500 var(--t-xs) var(--f-body);color:var(--texto-3)}
.cfg-step textarea{width:100%;font:500 var(--t-l)/1.35 var(--f-body);padding:12px 14px;border:1px solid var(--linea-2);border-radius:var(--r-s);resize:vertical;min-height:64px}
.cfg-step textarea:focus{outline:none;border-color:var(--grafito);box-shadow:0 0 0 3px rgba(0,229,255,.25)}
.cfg-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.cfg-tools-l{font-size:var(--t-xs);color:var(--texto-3);margin-right:2px}
.cfg-tools button{min-width:36px;height:36px;border-radius:9px;border:1px solid var(--linea-2);background:#fff;cursor:pointer;font-size:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--texto)}
.cfg-tools button:hover{border-color:var(--grafito)}
.cfg-tools .js-icon{font-size:18px}
.cfg-align{display:inline-flex;gap:4px;margin-left:auto;padding-left:6px;border-left:1px solid var(--linea)}
.cfg-align button[aria-pressed="true"]{background:var(--carbon);border-color:var(--carbon);color:#fff}
.cfg-hint{font-size:var(--t-xs);color:var(--texto-3);margin:8px 0 0}
.fonts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ft-tile{position:relative;cursor:pointer;min-width:0}
.ft-tile input,.sw-c input,.sz input,.ch input{position:absolute;opacity:0;width:1px;height:1px}
.ft-tile .ft-prev{display:flex;align-items:center;justify-content:center;height:62px;padding:0 8px;border-radius:12px;background:radial-gradient(120% 120% at 50% 0%,#24242C,#121217);font-size:22px;white-space:nowrap;overflow:hidden;border:2px solid transparent;transition:border-color .15s,transform .15s}
.fonts{--g:#FF3FA4;--core:#FFE3F2;--gs:rgba(255,63,164,.5)}
.ft-prev .ln{display:inline;white-space:pre;color:var(--core);text-shadow:0 0 .015em #fff,0 0 .06em var(--g),0 0 .14em var(--g),0 0 .3em var(--g),0 0 .6em var(--gs,var(--g))}
.ft-tile .ft-name{display:block;text-align:center;font-size:var(--t-xs);color:var(--texto-2);margin-top:5px}
.ft-tile:hover .ft-prev{transform:translateY(-1px)}
.ft-tile input:checked + .ft-prev{border-color:var(--cian);box-shadow:0 0 0 1px var(--cian)}
.ft-tile input:checked ~ .ft-name{color:var(--texto);font-weight:600}
.ft-tile input:focus-visible + .ft-prev{outline:3px solid var(--cian);outline-offset:2px}
.colors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 6px}
.sw-c{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.sw-c span{width:42px;height:42px;border-radius:50%;background:#16161C;border:2px solid var(--linea);position:relative;transition:transform .15s}
.sw-c span::after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--g);box-shadow:0 0 8px var(--g),0 0 16px var(--g)}
.sw-c:hover span{transform:scale(1.05)}
.sw-c em{font-style:normal;font-size:11.5px;color:var(--texto-2);text-align:center;line-height:1.2}
.sw-c input:checked + span{border-color:var(--carbon);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--carbon)}
.sw-c input:checked ~ em{color:var(--texto);font-weight:600}
.sw-c input:focus-visible + span{outline:3px solid var(--cian);outline-offset:3px}
.sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sz{cursor:pointer;min-width:0;width:100%;display:block}
.sz:last-child:nth-child(odd){grid-column:1/-1}
.sz-in{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"b p" "dim p" "w w";gap:2px 10px;align-items:center;padding:12px 14px;border:1.5px solid var(--linea-2);border-radius:12px;background:#fff;height:100%;transition:border-color .15s}
.sz-in b{grid-area:b;font:700 var(--t-l)/1.1 var(--f-display)}
.sz-dim{grid-area:dim;font-size:var(--t-xs);color:var(--texto-2);font-variant-numeric:tabular-nums}
.sz-price{grid-area:p;font:700 var(--t-m)/1.15 var(--f-display);white-space:nowrap;text-align:right}
.sz-price small{display:block;font:500 11px var(--f-body);color:var(--texto-3)}
.sz-warn{grid-area:w;font-size:11.5px;line-height:1.35;color:var(--aviso);margin-top:4px}
.sz-warn:empty{display:none}
.sz-badge{position:absolute;top:-9px;left:12px;background:var(--carbon);color:#fff;font:600 10.5px/1 var(--f-body);padding:4px 8px;border-radius:var(--r-pill)}
.sz:hover .sz-in{border-color:var(--grafito)}
.sz input:checked + .sz-in{border-color:var(--carbon);box-shadow:0 0 0 1px var(--carbon);background:#FBFBFA}
.sz input:focus-visible + .sz-in{outline:3px solid var(--cian);outline-offset:2px}
.sz.bad .sz-in{opacity:.62}
.sz.sz-q .sz-price{font:600 var(--t-s)/1.2 var(--f-body);color:var(--texto-2)}
.exact{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;font-size:var(--t-s);color:var(--texto-2)}
.exact input{width:90px;padding:9px 10px;border:1px solid var(--linea-2);border-radius:var(--r-s);font:500 var(--t-m) var(--f-body)}
.ch-grp{margin-bottom:14px}
.ch-grp .lbl{display:block;margin-bottom:8px}
.chs{display:grid;gap:8px}
.chs-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.chs-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ch{cursor:pointer;min-width:0;width:100%;display:block}
.ch-in{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px 12px 11px;border:1.5px solid var(--linea-2);border-radius:12px;background:#fff;transition:border-color .15s}
.ch-in .ic{width:20px;height:20px;color:var(--grafito);margin-bottom:6px}
.ch-pic{width:44px;height:26px;margin-bottom:6px;fill:none;stroke:var(--grafito);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ch-in b{font:600 var(--t-s)/1.25 var(--f-body)}
.ch-in small{font-size:11.5px;line-height:1.35;color:var(--texto-3)}
.ch:hover .ch-in{border-color:var(--grafito)}
.ch input:checked + .ch-in{border-color:var(--carbon);box-shadow:0 0 0 1px var(--carbon);background:#FBFBFA}
.ch input:focus-visible + .ch-in{outline:3px solid var(--cian);outline-offset:2px}
.ch-wide .ch-in{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"i b p" "i s p";column-gap:12px;align-items:center}
.ch-wide .ch-in .ic{grid-area:i;margin:0}
.ch-wide .ch-in b{grid-area:b}
.ch-wide .ch-in small{grid-area:s}
.ch-p{grid-area:p;font:700 var(--t-m) var(--f-display);font-style:normal;white-space:nowrap}
.cfg-sum{padding-top:20px}
.cfg-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:4px 12px;margin-bottom:6px}
.cfg-total .t{font:700 2.25rem/1 var(--f-display);letter-spacing:-.02em}
.cfg-total .t.is-q{font-size:1.6rem;white-space:nowrap}
.cfg-total .s{font-size:var(--t-xs);color:var(--texto-3);text-align:right}
.cfg-notes{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.cfg-notes li{font-size:var(--t-xs);color:#5B3B00;background:#FFF6E5;border-radius:8px;padding:8px 10px}
.cfg-notes:empty{display:none}
.cfg-when{font-size:var(--t-s);color:var(--texto-2);margin:12px 0 14px}
.cfg-when strong{color:var(--texto)}
.cfg-quote{border:0;margin:6px 0 14px;padding:16px;border-radius:var(--r-m);background:#F6F7F9;min-width:0}
.cfg-q-t{font:600 var(--t-s) var(--f-body);margin:0 0 12px}
.cfg-quote .field{margin-bottom:10px}
.cfg-quote .check{margin:6px 0 4px}
.cfg-quote.sent .js-q-ok,.cfg-quote.failed .js-q-err{display:block}
.cfg-btns{display:grid;gap:8px}
.cfg-btns .btn{white-space:normal;text-align:center;line-height:1.25}
.cfg-mini{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:10px;font-size:var(--t-xs)}
.cfg-mini button{background:none;border:0;padding:0;color:var(--cian-oscuro);font:600 var(--t-xs) var(--f-body);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.incl{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--linea);display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:var(--t-xs);color:var(--texto-2)}
.incl li{display:flex;gap:6px;align-items:flex-start}
.incl .ic{color:var(--ok);width:15px;height:15px;margin-top:1px}
@media (max-width:980px){
  .cfg{padding-top:16px}
  .cfg-in{grid-template-columns:minmax(0,1fr);gap:0}
  .cfg-art{position:sticky;top:64px;z-index:5;margin:0 -20px;background:var(--hueso)}
  .cfg-art .stage{border-radius:0;height:clamp(220px,36vh,300px)}
  .st-spec,.cfg-sim{display:none}
  .cfg-nav{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;background:var(--hueso);border-bottom:1px solid var(--linea);scrollbar-width:none}
  .cfg-nav::-webkit-scrollbar{display:none}
  .cfg-nav a{flex:none;font:500 var(--t-xs)/1 var(--f-body);color:var(--texto-2);text-decoration:none;padding:8px 12px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--linea)}
  .cfg-nav a[aria-current="true"]{background:var(--carbon);border-color:var(--carbon);color:#fff}
  .cfg-panel{margin-top:14px;padding:2px 16px 18px}
  .cfg-step{scroll-margin-top:calc(64px + clamp(220px,36vh,300px) + 60px)}
  .fonts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .sizes{grid-template-columns:minmax(0,1fr)}
  .sz-in{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"b dim p" "w w w";padding:11px 14px}
  .sz-in b{white-space:nowrap}
  .sz-dim{padding-left:4px}
  .sz-badge{left:auto;right:12px}
}
@media (max-width:420px){
  .colors{grid-template-columns:repeat(5,minmax(0,1fr))}
  .sw-c span{width:38px;height:38px}
  .chs-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ch-in{padding:10px 9px}
  .ch-pic{width:36px;height:22px}
  .ch-in small{display:none}
  .ch-wide .ch-in small{display:block}
}
/* barra de precio fija en móvil */
.pbar{display:none}
@media (max-width:980px){
  .pbar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:41;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--linea);box-shadow:0 -6px 20px rgba(13,13,16,.08)}
  .pbar .pb-t{display:flex;flex-direction:column;line-height:1.15;min-width:0}
  .pbar .pb-t b{font:700 var(--t-l) var(--f-display)}
  .pbar .pb-t span{font-size:var(--t-xs);color:var(--texto-3);white-space:nowrap}
  .pbar .btn{margin-left:auto;padding:.8em 1.1em}
  .has-pbar .mbar{display:none}
}

/* ================= Añadidos de maquetación (portada y comunes) ================= */
.h3{font-size:var(--t-l);letter-spacing:-.01em}
.hd-menu.wide{min-width:660px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 10px;padding:12px}
.hd-dd.open .hd-menu.wide{display:grid}
.hd-col h5{margin:4px 12px 6px;font:600 var(--t-xs)/1.2 var(--f-body);color:var(--texto-3)}
.hd-col a{padding:8px 12px}
.hd-dd:last-of-type .hd-menu.wide{left:auto;right:-120px}
.mbar .mbar-tel{flex:0 0 auto;width:48px;padding:.8em 0}

.try-go{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;font-size:var(--t-xs);color:#A9ADB7}
.try .btn-line{color:#fff;border-color:#3A3A46}
.try .btn-line:hover{border-color:#fff}
.try-meta{margin:12px 0 0}
.stage-note{font-size:var(--t-xs);color:#8C909A;margin:10px 4px 0}

a.item{text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
a.item:hover{border-color:var(--grafito);box-shadow:var(--sombra)}
a.item:hover h3{text-decoration:underline;text-underline-offset:3px}
.item-art .art-svg{width:100%;height:100%}
.item-art img{width:100%;height:100%;object-fit:cover}
.item .price{margin-top:auto;padding-top:8px}
.item .price small{display:block;margin:2px 0 0}
.shelf{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}

.video{margin:0}
.video video{width:100%;height:auto;border-radius:var(--r-l);background:#000;aspect-ratio:16/9}
.video figcaption,.real figcaption{font-size:var(--t-xs);color:#8C909A;margin-top:8px}
.real{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:32px;align-items:center;margin-top:48px;padding-top:40px;border-top:1px solid #24242C}
.real figure{margin:0}
.real img{border-radius:var(--r-m);max-height:420px;width:auto;margin:0 auto}
.quote-n{margin:0}
.quote-n p{font:500 var(--t-xl)/1.4 var(--f-display);color:#fff;letter-spacing:-.01em;margin-bottom:14px}
.quote-n cite{font-style:normal;color:#A8ACB6;font-size:var(--t-s)}
@media (max-width:820px){.real{grid-template-columns:1fr}.real img{max-height:340px}}

.faq-wrap{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:56px;align-items:start}
.faq-wrap h2{margin-bottom:12px}
.guides{background:var(--hueso);border-radius:var(--r-m);padding:22px 22px 18px}
.alt .guides{background:var(--hueso)}
.sec:not(.alt) .guides{background:var(--blanco);border:1px solid var(--linea)}
.guides h2{margin-bottom:10px}
.guides ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.guides li a{display:block;padding:9px 0;border-bottom:1px solid var(--linea);color:var(--texto);text-decoration:none;font-size:var(--t-s);line-height:1.4}
.guides li:last-child a{border-bottom:0}
.guides li a:hover{color:var(--cian-oscuro);text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.faq-wrap{grid-template-columns:1fr;gap:32px}}
.contact-side li .ic{color:var(--grafito);margin-top:3px}
.contact-side li a{color:inherit}

@media (max-width:560px){
  .shelf{grid-template-columns:1fr 1fr;gap:10px}
  .item-body{padding:10px 12px 12px}
  .item-body h3{font-size:var(--t-s)}
  .item-body p{font-size:var(--t-xs)}
  .item .price{font-size:var(--t-m)}
  .path-body{padding:20px 18px 20px}
  .path-body li{flex-direction:column;gap:2px}
}
.nw-nb{white-space:nowrap}

/* ================= Página de neón ================= */
.cfg .crumbs{margin-bottom:10px}
.cfg-head{max-width:46em;margin-bottom:22px}
.cfg-head h1{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:.25em}
.cfg-head .lead{font-size:var(--t-m)}
.legend-note{font:400 var(--t-xs) var(--f-body);color:var(--texto-3)}
.cfg-tools span{margin-right:4px}
.cfg-tools span:last-child{flex-basis:100%;margin-top:2px}
.band{background:var(--blanco);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:22px 0}
.trust-day{margin:0;padding:0;border:0;color:var(--texto-2);gap:12px 36px}
.trust-day .ic{color:var(--cian-oscuro)}
.est{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:var(--hueso);border-radius:var(--r-s);padding:14px 16px;margin:2px 0 16px}
.est span{font-size:var(--t-s);color:var(--texto-2)}
.est b{font:700 var(--t-xl)/1.1 var(--f-display);text-align:right}
.est b small{display:block;font:500 var(--t-xs) var(--f-body);color:var(--texto-3)}
.ruler{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--linea)}
.ruler li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:8px 28px;align-items:center;padding:18px 0;border-bottom:1px solid var(--linea)}
.ruler-bar{position:relative;height:30px}
.ruler-bar::before{content:"";position:absolute;left:0;top:13px;height:4px;width:var(--w);background:var(--carbon);border-radius:2px}
.ruler-bar::after{content:"";position:absolute;left:0;top:7px;height:16px;width:var(--w);border-left:2px solid var(--carbon);border-right:2px solid var(--carbon)}
.ruler-bar span{position:absolute;left:0;top:-6px;font:700 var(--t-s) var(--f-display);transform:translateY(-50%)}
.ruler-txt b{display:block;font-weight:600}
.ruler-txt span{font-size:var(--t-s);color:var(--texto-2)}
.ruler-p{font:700 var(--t-l) var(--f-display);text-align:right;white-space:nowrap}
.ruler-p small{display:block;font:500 var(--t-xs) var(--f-body);color:var(--texto-3)}
@media (max-width:720px){.ruler li{grid-template-columns:1fr auto}.ruler-bar{grid-column:1 / -1}.ruler-txt{grid-column:1}}
.bodas-art{border-radius:var(--r-l);aspect-ratio:4/3;width:100%}
.bodas-art .neon{font-size:60px}
.real-top{margin-top:0;padding-top:0;border-top:0}

/* ================= Carrito ================= */
.cart-page h1{font-size:clamp(2rem,4vw,2.75rem)}
.cart .cart-empty{display:none;max-width:560px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-l);padding:28px}
.cart .cart-empty .btn{margin:6px 8px 0 0}
.cart.empty .cart-empty{display:block}
.cart.empty .cart-grid{display:none}
.cart-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:start}
.cart-items{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ci{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:start;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:12px}
.cart-items-ro .ci{grid-template-columns:120px minmax(0,1fr)}
.ci-art{position:relative;aspect-ratio:4/3;border-radius:10px;background:radial-gradient(120% 100% at 50% 0%,#23232B,#0D0D10);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ci-body h3{font:600 var(--t-m)/1.3 var(--f-body);margin:2px 0 4px;letter-spacing:0}
.ci-body p{font-size:var(--t-xs);color:var(--texto-2);margin:0 0 6px}
.ci-note{color:var(--aviso)!important}
.ci-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;font-size:var(--t-xs)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--linea-2);border-radius:var(--r-pill)}
.qty button{width:32px;height:32px;border:0;background:none;font-size:18px;cursor:pointer;color:var(--texto)}
.qty span{min-width:22px;text-align:center;font-weight:600}
.linkbtn{background:none;border:0;padding:0;color:var(--texto-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
.ci-price{text-align:right;white-space:nowrap}
.ci-price b{display:block;font:700 var(--t-l) var(--f-display)}
.ci-price small{color:var(--texto-3)}
.cart-more{margin:12px 0 26px;font-size:var(--t-s)}
.checkout{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-l);padding:8px 24px 24px}
.checkout fieldset{border:0;margin:0;padding:18px 0 6px;border-bottom:1px solid var(--linea);margin-bottom:16px}
.checkout legend{font:700 var(--t-l) var(--f-display);padding:0;margin-bottom:12px}
.dls{display:grid;gap:8px;margin-bottom:14px}
.dl{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--linea-2);border-radius:12px;cursor:pointer}
.dl input{width:18px;height:18px;margin-top:3px;accent-color:var(--carbon);flex:none}
.dl span{display:flex;flex:1;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dl b{font-weight:600;font-size:var(--t-s)}
.dl em{font-style:normal;color:var(--texto-2);font-size:var(--t-s);white-space:nowrap}
.dl:has(input:checked){border-color:var(--carbon);box-shadow:0 0 0 1px var(--carbon)}
.dl-pm span{flex-direction:column;justify-content:flex-start;gap:2px}
.dl-pm em{white-space:normal}
.cart-pend{background:var(--hueso);border-radius:var(--r-s);padding:12px 14px;margin:0 0 18px;font-size:var(--t-s)}
.cart-pend b{font-weight:600}
.pay-note{font-size:var(--t-s);color:var(--texto-2);margin:0 0 6px}
.checkout .note{margin:6px 0 12px}
.cart-sum{position:sticky;top:88px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-l);padding:22px}
.sum{margin:0 0 10px}
.sum div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--linea)}
.sum dt{color:var(--texto-2)}
.sum dd{margin:0;font-weight:600;text-align:right}
.sum-total dt{color:var(--texto);font-weight:600}
.sum-total dd{font:700 var(--t-2xl)/1 var(--f-display)}
.sum-iva{font-size:var(--t-xs);color:var(--texto-3);margin:0 0 14px}
.sum-when{font-size:var(--t-s);color:var(--texto-2);background:var(--hueso);border-radius:var(--r-s);padding:12px 14px}
.h4{font:600 var(--t-m) var(--f-body);letter-spacing:0;margin:18px 0 8px}
.mini-steps{margin:0 0 14px;padding-left:1.2em;font-size:var(--t-s);color:var(--texto-2);display:grid;gap:4px}
.sum-help{font-size:var(--t-s);margin:0}
@media (max-width:900px){.cart-grid{grid-template-columns:1fr}.cart-sum{position:static;order:-1}.ci{grid-template-columns:96px minmax(0,1fr)}.ci-price{grid-column:2;text-align:left}}

/* ================= Gracias ================= */
.thanks h1{font-size:clamp(2rem,4vw,2.75rem)}
.steps-v{grid-template-columns:1fr;border-top:0}
.steps-v li{padding:0 0 18px 50px}
.steps-v li::before{position:absolute;left:0;top:0;margin:0}
.steps-v li::after{display:none}

.js-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.item-actions{flex-wrap:wrap}
.item-actions .btn{flex:1 1 auto}
@media (max-width:980px){.cfg-in{grid-template-columns:minmax(0,1fr)}}
.cfg-in>*,.split>*,.paths>*,.contact>*{min-width:0}
@media (max-width:900px){.js-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.item-actions .btn{flex-basis:100%}}

/* ================= Páginas de servicio: ilustración del hero ================= */
.phero-art{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;max-width:100%;background:#E9E7E2;border:1px solid var(--linea)}
.phero-art .art-svg{width:100%;height:100%}
.phero-art img{width:100%;height:100%;object-fit:cover}
.video img{width:100%;height:auto;border-radius:var(--r-l)}

/* ================= Calculadora de rótulos ================= */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.calc-art{position:sticky;top:88px}
.wall{position:relative;aspect-ratio:4/3;max-width:100%;border-radius:var(--r-l);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:20px;
  background:linear-gradient(180deg,#EEEDE9 0%,#DCDAD4 82%,#C9C6BF 82%,#C9C6BF 100%);border:1px solid var(--linea)}
.wall-txt{font:700 64px/1.05 var(--f-display);letter-spacing:.02em;color:var(--grafito);text-align:center;word-break:break-word;
  text-shadow:1px 1px 0 #A6AAB2,2px 2px 0 #9A9EA6,3px 3px 0 #8F939C,4px 4px 0 #8F939C,5px 6px 10px rgba(0,0,0,.25)}
.wall.meta .wall-txt{color:#CFE7EF;-webkit-text-stroke:1px #fff;text-shadow:1px 1px 0 #A9CBD6,2px 2px 0 #9DC0CC,3px 3px 0 #8FB5C2,5px 6px 10px rgba(0,0,0,.2)}
.wall.night{background:radial-gradient(120% 90% at 50% 40%,#2A2A32 0%,#121218 100%);border-color:#22222A}
.wall.night .wall-txt{color:#1E1F24;-webkit-text-stroke:1px #45474F;text-shadow:0 0 6px rgba(255,241,214,.95),0 0 18px rgba(255,199,116,.85),0 0 40px rgba(255,199,116,.55)}
.calc-dim{font-size:var(--t-xs);color:var(--texto-3);margin:10px 4px 0;min-height:1.4em}
.calc-panel{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-l);padding:22px}
.alt .calc-panel{background:var(--hueso);border-color:var(--linea)}
.alt .calc-panel .field input,.alt .calc-panel .field select{background:#fff}
.calc-f{border:0;margin:0 0 14px;padding:0}
.calc-f legend{margin-bottom:8px;padding:0}
.calc-out{border-top:1px solid var(--linea);margin-top:6px;padding-top:16px}
.calc-total{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:8px}
.calc-total b{font:700 2rem/1.1 var(--f-display);letter-spacing:-.02em}
.calc-total span{font-size:var(--t-s);color:var(--texto-2)}
.calc-lines{list-style:none;margin:0 0 8px;padding:0;font-size:var(--t-s)}
.calc-lines li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--linea-2)}
.calc-lines em{font-style:normal;color:var(--texto-3)}
.calc-lines b{white-space:nowrap}
.calc-notes{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px}
.calc-notes li{font-size:var(--t-xs);color:var(--texto-2);padding-left:14px;position:relative}
.calc-notes li::before{content:"";position:absolute;left:2px;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--plata)}
.calc-legal{font-size:var(--t-xs);color:var(--texto-3);margin:8px 0 14px}
.calc-btns{display:grid;gap:8px}
.calc-chip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#E8F5EE;color:#174D33;border-radius:var(--r-s);padding:10px 12px;font-size:var(--t-s);margin:0 0 14px}
.calc-chip span{font-weight:600}
.calc-chip button{margin-left:auto;background:none;border:0;color:#174D33;text-decoration:underline;cursor:pointer;font:inherit}
@media (max-width:900px){.calc{grid-template-columns:minmax(0,1fr)}.calc-art{position:static}.wall{aspect-ratio:16/9}}
.hint{font-size:var(--t-xs);color:var(--texto-3)}

/* ================= Servicios: tarjetas, notas y tablas pequeñas ================= */
.opt-d p{font-size:var(--t-s);color:var(--texto-2);margin:0 0 6px}
.opt-d a{color:var(--cian-oscuro)}
.after{margin-top:18px;font-size:var(--t-s)}
.after p{margin:0}
.after a{color:var(--cian-oscuro)}
p.note{margin-bottom:0}
.kv{margin:0 0 1.2em;border-top:1px solid var(--linea);font-size:var(--t-s)}
.kv div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--linea)}
.kv dt{font-weight:600;color:var(--texto)}
.kv dd{margin:0;color:var(--texto-2)}
details.more{margin:12px 0 18px}
details.more .tablewrap{margin-top:12px}
.peg-sheet{background:var(--hueso);border:1px solid var(--linea);border-radius:var(--r-l);padding:18px;aspect-ratio:4/3;max-width:100%;display:flex;align-items:center;justify-content:center}
.alt .peg-sheet{background:var(--blanco)}
.peg-sheet svg{width:100%;height:auto;filter:drop-shadow(0 6px 14px rgba(13,13,16,.12))}
.peg-presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}
.peg-presets .lbl{flex-basis:100%;margin-bottom:2px}
.opts.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.opts.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.opts.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1000px){.opts.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.opts.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.opts.cols-3,.opts.cols-4,.opts.cols-2{grid-template-columns:1fr}}
.opt .price small{display:block;margin:2px 0 0}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:520px){.grid3{grid-template-columns:1fr 1fr}}
.dtf-sheet{aspect-ratio:auto;padding:28px 18px}

/* ================= Blog ================= */
.blog-head{padding-bottom:28px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chip{border:1.5px solid var(--linea-2);background:var(--blanco);color:var(--texto);border-radius:var(--r-pill);padding:8px 14px;font:500 var(--t-s) var(--f-body);cursor:pointer}
.chip.on{background:var(--carbon);border-color:var(--carbon);color:#fff}
.posts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.posts-3{margin-top:16px}
.post-card a{display:flex;flex-direction:column;gap:6px;height:100%;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:20px 20px 18px;text-decoration:none;color:inherit;transition:border-color .15s}
.post-card a:hover{border-color:var(--grafito)}
.post-card h2{font-size:var(--t-l);line-height:1.25;margin:0}
.post-card p{font-size:var(--t-s);color:var(--texto-2);margin:0}
.post-meta{font-size:var(--t-xs);color:var(--texto-3)}
.post-more{margin-top:auto;padding-top:8px;font-size:var(--t-s);font-weight:600;color:var(--cian-oscuro)}
@media (max-width:980px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.posts{grid-template-columns:1fr}}
.news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.news-form{display:flex;flex-wrap:wrap;gap:8px}
.news-form .inp{flex:1 1 220px}
.news-form .hint,.news-form .form-ok,.news-form .form-err{flex-basis:100%;margin:0}
.news-form.sent .form-ok,.news-form.failed .form-err{display:block}
@media (max-width:820px){.news{grid-template-columns:1fr}}
.post-head{padding:40px 0 8px}
.post-head h1{font-size:clamp(1.9rem,4.2vw,2.75rem);margin:.2em 0 .3em}
.post-body{padding-bottom:24px}
.post-body h2{font-size:var(--t-2xl)}
.callout{background:#EEF8FA;border:1px solid #CDEBF0;border-radius:var(--r-m);padding:16px 18px;margin:1.2em 0;font-size:var(--t-s);color:#134048}
.callout.warn{background:#FFF6E5;border-color:#F5DFB3;color:#5B3B00}
.callout p:last-child,.callout ul:last-child{margin-bottom:0}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:1em 0 1.4em}
.pcard{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:14px 16px;font-size:var(--t-s)}
.pcard h3,.pcard h4{font-size:var(--t-m);margin:0 0 .3em}
.pcard p{margin:0 0 .4em}
.pcard ul{margin:0;padding-left:1.1em}
.post-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--carbon);color:#fff;border-radius:var(--r-m);padding:18px 20px;margin:1.4em 0}
.post-cta p{margin:0;color:#fff}
.post-cta.big{margin:24px 0 56px}
.post-svc{font-size:var(--t-s);color:var(--texto-2)}
.post-author{display:flex;gap:14px;align-items:flex-start;border-top:1px solid var(--linea);padding-top:20px;margin-top:8px;font-size:var(--t-s);color:var(--texto-2)}
.post-author img{background:var(--carbon);border-radius:8px;padding:6px;width:auto;height:30px;flex:none}
.checks{list-style:none;padding-left:0}
.checks li{position:relative;padding-left:26px}
.checks li::before{content:"";position:absolute;left:4px;top:.45em;width:12px;height:7px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.prose .tablewrap{margin:1em 0 1.4em;border:1px solid var(--linea);border-radius:var(--r-m);background:var(--blanco)}
.prose .tablewrap table{margin:0}
.prose th{background:var(--hueso)}

/* ================= Otras páginas ================= */
.split-top{align-items:start}
.facts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.facts-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.facts-grid{grid-template-columns:1fr}}
.legal h1{font-size:clamp(2rem,4vw,2.6rem);margin-top:.2em}
.legal .prose{margin-top:24px}
.e404{text-align:center;padding:48px 0 72px}
.e404 .stage{max-width:520px;margin:0 auto 28px}
.e404 .stage-sign{min-height:220px;padding:30px}
.e404 .neon{font-size:110px}
.e404 .lead{margin:0 auto 22px}
.e404 .gap{justify-content:center}
@media (max-width:560px){
  .plist li{grid-template-columns:1fr}
  .plist .p{grid-row:auto;grid-column:1;text-align:left;white-space:normal}
  .plist .p small{display:inline;margin-left:6px}
}

.shelf.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.shelf.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.shelf.cards-4,.shelf.cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ================= Vista previa (solo en la previa) ================= */
.pv-bar{background:#FFF6E5;color:#5B3B00;font-size:var(--t-xs);text-align:center;padding:8px 16px;border-bottom:1px solid #F5DFB3}
.pv-bar a{color:#5B3B00;font-weight:600}
.hub h1{font-size:clamp(2rem,4vw,2.75rem)}
.hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px}
.hub-col{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:18px}
.hub-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:var(--t-s)}
.hub-col a{color:var(--texto);font-weight:600}
.hub-col span{display:block;color:var(--texto-3);font-size:var(--t-xs)}
.hub-dec{margin-top:32px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:22px 24px}
.hub-dec ol{margin:0;padding-left:1.2em;display:grid;gap:8px;font-size:var(--t-s);color:var(--texto-2)}
@media (max-width:1000px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.hub-grid{grid-template-columns:1fr}}
.calc-panel .grid2{grid-template-columns:1fr 1fr}

/* ================= Dossier técnico (página interna /dossier-neon) ================= */
.dz{padding-top:40px}
.dz-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 24px;align-items:flex-end;margin-bottom:22px}
.dz-head h1{font-size:clamp(1.6rem,3vw,2.2rem);margin:8px 0 6px;text-wrap:balance}
.dz-desc{color:var(--texto-2);font-size:var(--t-s);margin:0;max-width:60em}
.dz-head .note{margin-top:12px}
.dz-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start;margin:0 0 22px}
.dz-night{margin:0;border-radius:var(--r-m);overflow:hidden;background:#121318;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.dz-night svg{display:block;width:100%;height:auto}
.dz-t{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--t-s);background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m)}
.dz-t th{text-align:left;font-weight:600;color:var(--texto-2);padding:8px 12px;border-bottom:1px solid var(--linea);vertical-align:top;white-space:nowrap}
.dz-t td{padding:8px 12px;border-bottom:1px solid var(--linea)}
.dz-t tr:last-child th,.dz-t tr:last-child td{border-bottom:0}
.dz-tech{margin:0 0 22px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:16px;overflow-x:auto}
.dz-tech svg{display:block;width:100%;height:auto;max-height:72vh}
.dz-tech figcaption{font-size:var(--t-xs);color:var(--texto-3);margin-top:10px}
.dz-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.dz-cols>div{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:18px;min-width:0}
.dz-list{margin:10px 0 0;padding-left:1.2em;display:grid;gap:6px;font-size:var(--t-s);color:var(--texto-2)}
.dz-warn li{color:#5B3B00}
.dz-warn li.ok{color:var(--ok);list-style:none;margin-left:-1.2em}
.dz-foot{font-size:var(--t-xs);color:var(--texto-3);margin-top:18px;max-width:70em}
@media (max-width:900px){.dz-grid,.dz-cols{grid-template-columns:1fr}.dz-t th{white-space:normal}}
@media print{
  .hd,.ft,.pv-bar,.wa-float,.mbar,.ck,.no-print,.skip{display:none!important}
  body{background:#fff}
  .dz{padding:0}
  .dz-grid{grid-template-columns:1fr 1fr}
  .dz-cols{grid-template-columns:1fr 1fr 1fr}
  .dz-tech,.dz-cols>div{break-inside:avoid}
  .dz-tech svg{max-height:none}
}

/* ================= Pago por transferencia (carrito y gracias) ================= */
.pay-box{background:var(--hueso);border-radius:var(--r-s);padding:12px 14px;margin:0 0 10px;font-size:var(--t-s);color:var(--texto-2)}
.pay-box p{margin:0}
.pay-box b{color:var(--texto)}
.pay{margin:18px 0 12px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:6px 18px}
.pay div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--linea)}
.pay div:last-child{border-bottom:0}
.pay dt{color:var(--texto-2);font-size:var(--t-s)}
.pay dd{margin:0;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;min-width:0}
.pay dd b{font:600 var(--t-m)/1.3 var(--f-body);overflow-wrap:anywhere}
.copy{border:1px solid var(--linea-2);background:var(--blanco);border-radius:var(--r-pill);padding:5px 12px;font:600 var(--t-xs) var(--f-body);color:var(--texto);cursor:pointer}
.copy:hover{border-color:var(--carbon)}
.pay-after{color:var(--texto-2);font-size:var(--t-s);margin:0 0 18px}
.just{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:16px 18px;margin:0 0 8px}
.pay-state{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-m);padding:16px 18px;margin:18px 0 8px}
.pay-state p{margin:0 0 12px}
.pay-state .gap{margin:0}
.just .h4{margin-top:0}
.just p{font-size:var(--t-s);color:var(--texto-2);margin:0 0 12px}
.just-pick{position:relative;overflow:hidden;max-width:100%}
.just-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}
.just-pick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16em}
.just-msg{margin:10px 0 0!important;color:var(--error)!important}
.just-msg:empty{display:none}
.just-ok{margin:0!important;color:var(--ok)!important;font-weight:600}
.dz-link{font-size:var(--t-s);color:var(--texto-2);background:#FFF6E5;border:1px solid #F5DFB3;border-radius:var(--r-s);padding:10px 14px}
@media (max-width:520px){.pay div{grid-template-columns:1fr;gap:4px}}
.hub-dec ul{margin:0;padding-left:1.2em;display:grid;gap:6px;font-size:var(--t-s);color:var(--texto-2)}
.cfg-caps{font-size:var(--t-xs);line-height:1.5;color:#5B3B00;background:#FFF6E5;border:1px solid #F5DFB3;border-radius:var(--r-s);padding:8px 10px;margin:10px 0 0}
.cfg-caps .linkbtn{color:#5B3B00;font-weight:600}
