/* Confimática · «el resguardo»: copias de papel autocopiativo (amarilla, rosa, blanca), tinta azul
   de bolígrafo y sello rojo. Un solo aspecto, claro, también en móviles con modo oscuro. */
@font-face{font-family:"Archivo";src:url(/fuentes/archivo-2.woff2) format("woff2");font-weight:400 900;font-stretch:100% 120%;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(/fuentes/atkinson.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Courier Prime";src:url(/fuentes/courier-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Courier Prime";src:url(/fuentes/courier-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --amarilla:#ffd23f; --rosa:#ffb3c7; --papel:#f7f8fb; --ticket:#fffdf6;
  --tinta:#1d2ea8; --tinta-2:#14207a; --carbon:#14161f; --gris:#5b6075; --linea:#d6d9e6; --linea-2:#c9ccd8;
  --rojo:#c0263f; --verde:#14804a; --suave:#eef0f7;
  --display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --body:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,sans-serif;
  --mono:"Courier Prime","Courier New",monospace;
  --ease:cubic-bezier(.23,1,.32,1);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}
body{background:var(--papel);color:var(--carbon);font:400 1.125rem/1.55 var(--body);margin:0;overflow-x:hidden}
img,svg{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--tinta);outline-offset:2px;box-shadow:0 0 0 6px #fff;border-radius:4px}
.saltar{position:absolute;left:-999px;top:8px;background:var(--carbon);color:#fff;padding:10px 14px;border-radius:8px;z-index:50}
.saltar:focus{left:12px}
.oculto-vis{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Barra superior */
.top{background:var(--amarilla);border-bottom:2px dashed rgba(20,22,31,.35)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px;flex-wrap:wrap}
.logo{text-decoration:none;display:flex;align-items:center;gap:10px}
.logo svg{width:44px;height:44px;flex:none}
.logo-txt{display:flex;flex-direction:column;gap:3px}
.logo-nombre{font:850 1.55rem/1 var(--display);font-stretch:116%;letter-spacing:-.025em}
.logo-nombre i{font-style:normal;color:var(--tinta)}
.logo small{font:700 .7rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.top nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.menu{display:flex;gap:18px;list-style:none;margin:0;padding:0;font-weight:700}
.menu a{text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a[aria-current]{border-bottom-color:currentColor}
.tel{font:700 1.05rem var(--mono);text-decoration:none;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:800 1.05rem/1.15 var(--body);padding:14px 20px;border-radius:999px;border:2px solid var(--carbon);text-decoration:none;cursor:pointer;transition:transform 160ms var(--ease),background 160ms;min-height:48px;text-align:center;background:transparent;color:inherit}
.btn:active{transform:scale(.97)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn-wa{background:var(--verde);color:#fff;border-color:var(--verde)}
.btn-ink{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.btn-ink:hover{background:var(--tinta-2)}
.btn-amarilla{background:var(--amarilla);color:var(--carbon);border-color:var(--amarilla)}
.wa-ico{width:20px;height:20px;flex:none}

/* Hero */
.hero{background:var(--amarilla);padding-block:0}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;padding-block:56px 72px;align-items:start}
.kicker{font:700 .85rem var(--mono);letter-spacing:.12em;text-transform:uppercase;display:inline-block;border:2px solid currentColor;padding:6px 10px;border-radius:4px;transform:rotate(-1.5deg)}
.hero h1{font-size:clamp(2.5rem,5vw,4.3rem);font-weight:900;font-stretch:112%;line-height:1.08;letter-spacing:-.03em;margin:22px 0}
.hero h1 em,.banda em{font-style:normal;color:var(--amarilla);padding:0 .14em;margin:0 -.04em;background:linear-gradient(transparent 14%,var(--carbon) 14%,var(--carbon) 94%,transparent 94%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.lead{font-size:1.3rem;max-width:32ch;margin:0 0 28px}
.promesas{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;max-width:560px}
.promesas li{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.promesas li::before{content:"✓";font:900 1rem/1.5 var(--display);color:var(--tinta);background:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;flex:none}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}

/* El resguardo: presupuestador */
.mostrador{position:relative}
.ranura{background:var(--carbon);height:16px;border-radius:10px;box-shadow:inset 0 3px 6px rgba(0,0,0,.6);position:relative;z-index:2}
.ticket{background:var(--ticket);color:var(--carbon);margin:-6px 14px 0;padding:26px 24px 30px;position:relative;z-index:1;box-shadow:0 18px 40px rgba(20,22,31,.18),0 2px 0 rgba(20,22,31,.06);
  -webkit-mask:radial-gradient(circle 9px at 50% 100%,transparent 98%,#000) 0 0/22px 100% repeat-x;mask:radial-gradient(circle 9px at 50% 100%,transparent 98%,#000) 0 0/22px 100% repeat-x}
.ticket-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:2px dashed var(--linea-2);padding-bottom:12px;margin-bottom:16px;font:700 .9rem var(--mono);letter-spacing:.06em;text-transform:uppercase}
.ticket-head .n{color:var(--rojo);white-space:nowrap}
.ticket label{font:800 1.25rem var(--display);font-stretch:105%;display:block;margin-bottom:10px}
.ticket textarea{width:100%;min-height:104px;resize:vertical;font:400 1.15rem/34px var(--mono);color:var(--tinta);border:0;border-bottom:2px solid var(--linea-2);background:repeating-linear-gradient(transparent 0 33px,#e3e6f0 33px 34px);padding:2px 0 8px}
.ticket textarea:focus{outline:none;border-bottom-color:var(--tinta)}
.ticket textarea::placeholder{color:#8a8fa6}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.chip{font:600 .98rem var(--body);background:var(--suave);color:var(--carbon);border:1.5px solid var(--linea);border-radius:999px;padding:9px 14px;cursor:pointer;transition:transform 160ms var(--ease),background 160ms}
.chip:hover{background:#e2e6f5}
.chip:active{transform:scale(.97)}
.calc{width:100%;font-size:1.15rem;padding:18px}
.resultado{margin-top:22px;border-top:2px dashed var(--linea-2);padding-top:18px;position:relative;transition:clip-path 700ms var(--ease)}
.resultado[data-imprimiendo]{clip-path:inset(0 0 100% 0)}
.res-etiqueta{margin:0 0 10px;min-height:62px;padding-right:130px}
.ejemplo{font:700 .75rem var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--suave);color:var(--gris);padding:3px 8px;border-radius:4px}
.resumen{font:400 1rem/1.45 var(--mono);color:var(--tinta);margin:8px 0 0}
.lineas{list-style:none;padding:0;margin:0 0 12px;font:400 1.02rem/1.45 var(--mono)}
.lineas li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dotted var(--linea-2)}
.lineas li span:last-child{white-space:nowrap;font-weight:700}
.lineas small{display:block;color:var(--gris);font-size:.82rem}
.desglose{font:400 .92rem var(--mono);color:var(--gris);display:flex;justify-content:space-between;margin:0}
.total{display:flex;justify-content:space-between;align-items:baseline;font:900 1.9rem var(--display);font-stretch:110%;margin:8px 0 4px}
.nota{font:400 .92rem var(--mono);color:var(--gris);margin:0 0 16px}
.sello{position:absolute;right:24px;top:20px;font:900 1.05rem/1 var(--display);font-stretch:120%;letter-spacing:.06em;color:var(--rojo);border:3px solid var(--rojo);border-radius:6px;padding:8px 10px;transform:rotate(-12deg);opacity:.85;mix-blend-mode:multiply;text-align:center;pointer-events:none;transition:transform 260ms var(--ease),opacity 260ms}
.sello small{display:block;font:700 .7rem var(--mono);letter-spacing:.08em;margin-top:4px}
.resultado[data-imprimiendo] .sello{opacity:0;transform:rotate(-12deg) scale(1.6)}
.res-cta{display:flex;flex-direction:column;gap:10px}
.error-ticket{color:var(--rojo);font-weight:700;margin:12px 0 0}

/* Secciones */
section{padding-block:80px}
.sin-arriba{padding-top:0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.sec-head h2{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:900;font-stretch:108%;letter-spacing:-.02em;line-height:1}
.sec-head p{max-width:42ch;color:var(--gris);margin:0}
.formas{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.forma{border:2px solid var(--carbon);border-radius:18px;padding:30px;display:flex;flex-direction:column;gap:12px}
.forma:first-child{background:var(--rosa);border-color:var(--rosa)}
.forma h3{font-size:2rem;font-weight:900;font-stretch:110%}
.forma p{margin:0;max-width:40ch}
.forma .dato{font:700 .95rem var(--mono);letter-spacing:.04em;margin-top:auto;padding-top:10px}

/* Tarifa */
.tarifa{background:var(--ticket);border-radius:4px;padding:10px 28px 18px;box-shadow:0 10px 30px rgba(20,22,31,.10)}
.tarifa-row{display:grid;grid-template-columns:1fr auto;gap:6px 20px;padding:18px 0;border-bottom:1.5px dashed var(--linea-2);align-items:baseline}
.tarifa-row:last-child{border-bottom:0}
.tarifa-cat{font:700 .85rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rojo);margin:22px 0 0;padding-bottom:6px;border-bottom:2px solid var(--carbon)}
.tarifa-row h3{font-size:1.35rem;font-weight:800;font-stretch:104%}
.tarifa-row h3 a{text-decoration:none}
.tarifa-row h3 a:hover{text-decoration:underline}
.tarifa-row p{grid-column:1;margin:0;color:var(--gris);font-size:1rem}
.precio{font:700 1.5rem var(--mono);white-space:nowrap;grid-row:1/3;grid-column:2;align-self:center;text-align:right}
.precio small{display:block;font-size:.8rem;font-weight:400;color:var(--gris)}
.aclaracion{font:400 .95rem var(--body);color:var(--gris);margin:14px 0 0}

/* Para quién */
.quien{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.q{border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:14px}
.q-mayores{background:var(--amarilla)}
.q-jovenes{background:var(--carbon);color:#fff}
.q h3{font-size:2.1rem;font-weight:900;font-stretch:110%;line-height:1}
.q ul{margin:0;padding-left:1.1em;display:grid;gap:8px}
.q-jovenes h3{color:var(--amarilla)}

/* Pasos: secuencia real */
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:p;list-style:none;padding:0;margin:0}
.pasos li{border-top:4px solid var(--tinta);padding-top:16px;counter-increment:p}
.pasos li::before{content:counter(p);font:900 3rem/1 var(--display);font-stretch:120%;color:var(--tinta);display:block;margin-bottom:8px}
.pasos h3{font-size:1.3rem;font-weight:800;margin-bottom:6px}
.pasos p{margin:0;color:var(--gris)}

/* Cierre y formularios */
.cierre{background:var(--tinta);color:#fff}
.cierre .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cierre h2{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;font-stretch:110%;line-height:.95}
.cierre .lead{margin-top:18px}
.form{background:#fff;color:var(--carbon);border-radius:16px;padding:26px;display:grid;gap:16px}
.form label,.form legend{font-weight:700}
.form label{display:grid;gap:6px}
.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{font:400 1.1rem var(--body);padding:14px;border:2px solid var(--linea);border-radius:10px;min-height:52px;background:#fff;color:var(--carbon);width:100%}
.form textarea{min-height:120px;resize:vertical;line-height:1.5}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--tinta)}
.form .ayuda{font-weight:400;font-size:.92rem;color:var(--gris)}
.form fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}
.check input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--tinta)}
.opciones{display:flex;flex-wrap:wrap;gap:8px}
.opciones label{display:inline-flex;align-items:center;gap:8px;font-weight:600;border:2px solid var(--linea);border-radius:999px;padding:10px 14px;cursor:pointer;min-height:44px}
.opciones input{accent-color:var(--tinta);width:18px;height:18px;margin:0}
.opciones label:has(input:checked){border-color:var(--tinta);background:#eef1ff}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aviso{font-size:.9rem;color:var(--gris);margin:0}
.estado{font-weight:700;margin:0}
.estado.ok{color:var(--verde)}
.estado.mal{color:var(--rojo)}
.fichero{border:2px dashed var(--linea-2);border-radius:12px;padding:16px;display:grid;gap:6px;cursor:pointer}
.fichero input{font-size:1rem}

/* Páginas interiores */
.banda{background:var(--amarilla);padding-block:44px 52px}
.banda h1{font-size:clamp(2.2rem,5.2vw,3.8rem);font-weight:900;font-stretch:110%;line-height:1.05;letter-spacing:-.025em;margin:14px 0 16px}
.banda .lead{max-width:44ch;margin:0}
.miga{font:700 .85rem var(--mono);letter-spacing:.04em;margin:0}
.miga ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.miga li+li::before{content:"›";margin-right:6px}
.miga a{text-decoration:none}
.miga a:hover{text-decoration:underline}
.columnas{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:start}
.texto{max-width:68ch}
.texto h2{font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:900;font-stretch:106%;margin:40px 0 12px;line-height:1.1}
.texto h3{font-size:1.3rem;font-weight:800;margin:28px 0 8px}
.texto p,.texto li{margin:0 0 14px}
.texto ul,.texto ol{padding-left:1.2em;margin:0 0 18px}
.texto a{color:var(--tinta);text-decoration-thickness:2px;text-underline-offset:3px}
.texto blockquote{margin:24px 0;padding:16px 20px;background:var(--ticket);border-left:4px solid var(--rojo);font-style:normal}
.texto .cta-texto{background:var(--ticket);border:2px dashed var(--linea-2);border-radius:12px;padding:20px;margin:30px 0}
.texto .cta-texto p{margin:0 0 12px}
.ficha{background:var(--ticket);border-radius:4px;padding:24px;box-shadow:0 10px 30px rgba(20,22,31,.10);position:sticky;top:20px}
.ficha .precio-grande{font:900 3rem/1 var(--display);font-stretch:112%;margin:6px 0}
.ficha p{margin:0 0 14px}
.ficha .btn{width:100%;margin-top:8px}
.faq details{border-bottom:1.5px dashed var(--linea-2);padding:14px 0}
.faq summary{font:800 1.15rem var(--display);cursor:pointer;list-style-position:outside}
.faq details p{margin:10px 0 0}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.tarjeta{background:#fff;border:2px solid var(--carbon);border-radius:14px;padding:22px;text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:transform 160ms var(--ease)}
.tarjeta:hover{transform:translateY(-2px)}
.tarjeta h2,.tarjeta h3{font-size:1.3rem;font-weight:800;line-height:1.15}
.tarjeta p{margin:0;color:var(--gris);font-size:1rem}
.tarjeta .meta{font:700 .8rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rojo)}
.lista-zonas{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.lista-zonas a,.lista-zonas span{display:inline-block;background:#fff;border:1.5px solid var(--linea);border-radius:999px;padding:8px 14px;text-decoration:none;font-weight:600}
.lista-zonas a:hover{border-color:var(--tinta)}

/* Cuestionario */
.pregunta{border-top:1.5px dashed var(--linea-2);padding-top:18px}
.nivel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:10px 0;border-bottom:1px dotted var(--linea)}
.nivel .opciones label{padding:8px 12px;font-size:.95rem}

/* Administración */
.admin table{width:100%;border-collapse:collapse;background:#fff}
.admin th,.admin td{padding:10px 8px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top;font-size:1rem}
.admin td input{width:110px;font:700 1rem var(--mono);padding:8px;border:2px solid var(--linea);border-radius:8px}
.admin td input.nota-in{width:100%;min-width:160px;font:400 .95rem var(--body)}
.admin .tabla-scroll{overflow-x:auto}
.pestanas{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}

footer{padding-block:48px 110px;color:var(--gris);font-size:.95rem;border-top:2px dashed var(--linea-2)}
footer .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-bottom:28px}
footer h2{font:800 1rem var(--display);color:var(--carbon);margin:0 0 10px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}

/* Barra fija en móvil */
.barra{display:none;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--carbon);padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));gap:10px}
.barra .btn{flex:1;padding:14px 10px;font-size:1rem}

@media (max-width:900px){
  .hero .wrap,.cierre .wrap,.formas,.quien,.columnas{grid-template-columns:1fr}
  .pasos{grid-template-columns:1fr 1fr}
  footer .cols{grid-template-columns:1fr 1fr}
  .top nav .tel,.menu{display:none}
  .barra{display:flex}
  .ficha{position:static}
}
@media (max-width:520px){
  .promesas{grid-template-columns:1fr}
  .pasos{grid-template-columns:1fr}
  .ticket{margin:-6px 4px 0;padding:22px 16px 26px}
  .tarifa{padding:6px 16px 12px}
  .tarifa-row{grid-template-columns:1fr}
  .precio{grid-row:auto;grid-column:1;text-align:left;font-size:1.3rem;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .precio small{display:inline}
  .hero .cta-row{display:none}
  .top nav .btn-wa span{display:none}
  section{padding-block:56px}
  .nivel{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Títulos de bloque fuera de .sec-head */
.sec-titulo,.sec-titulo-hero{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:900;font-stretch:108%;letter-spacing:-.02em;line-height:1.02;margin:0 0 18px}
.sec-titulo{margin:0}
.tarjeta-zona{display:inline-block;background:#fff;border:1.5px solid var(--linea);border-radius:999px;padding:8px 14px;font-weight:600}
.hero .miga{margin-bottom:18px}
.nivel .opciones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.nivel .opciones label{justify-content:center;padding:8px 6px;gap:6px}
p.ejemplo{display:inline-block;margin:0 0 12px}

/* ── Correcciones de la revisión de diseño ── */
h1,h2{overflow-wrap:break-word}
.btn-menu{display:none;font:800 1rem var(--body);background:transparent;border:2px solid var(--carbon);border-radius:999px;padding:10px 16px;min-height:44px;cursor:pointer;color:var(--carbon)}
.btn-claro{background:#fff;color:var(--carbon);border-color:#fff}
.chip{min-height:44px}
.chip[aria-pressed="true"]{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.aviso-ia{font-size:.875rem;line-height:1.45;color:var(--gris);margin:0 0 16px}
.aviso-ia a{color:var(--tinta)}
.ticket textarea{field-sizing:content;min-height:104px;max-height:340px}
.resumen{font-size:1rem}
.precio small{font-size:.875rem}
.desglose{font-size:.95rem}
.ejemplo{font-size:.8rem}
.ficha .ejemplo{font-size:.875rem}
.tarifa-row{position:relative}
.tarifa-row h3 a::after{content:"";position:absolute;inset:0}
.tarifa-row:hover h3 a{text-decoration:underline}
.ver-todos{margin:18px 0 0}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding-block:6px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:900 1.5rem/1 var(--display);color:var(--tinta);flex:none}
.faq details[open] summary::after{content:"–"}
.texto a.btn{color:inherit;text-decoration:none}
.texto a.btn-ink,.texto a.btn-wa{color:#fff}
.form h2{font:900 1.6rem var(--display)}
.confirmacion{gap:10px}
.confirmacion p{margin:0}
.fichero{cursor:default}
.fichero-titulo{font-weight:700}
.fichero .btn{justify-self:start;margin-top:6px}
.fichero-nombre{font-size:.95rem;color:var(--gris)}
.tel-cierre{color:#fff;font-weight:800;white-space:nowrap}
.pagina-simple{padding-block:48px}
.admin td a{color:var(--tinta);font-weight:700}
.aviso-lista{font-size:.95rem;color:var(--gris)}
@media (min-width:901px){.fijo{position:sticky;top:20px;align-self:start}}
@media (max-width:900px){
  .btn-menu{display:inline-flex;align-items:center}
  .top nav{position:static}
  .menu.abierto{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--amarilla);padding:8px max(16px,env(safe-area-inset-left,0px)) 16px;border-bottom:2px dashed rgba(20,22,31,.35);z-index:30;gap:0}
  .menu.abierto a{display:block;padding:12px 0;font-size:1.15rem;min-height:44px}
  .top{position:relative}
  .columnas > .ficha{order:-1}
  .banda + section{padding-top:32px}
  .miga li{display:none}
  .miga li:nth-last-child(2){display:block}
  .miga li:nth-last-child(2)::before{content:"‹ ";margin:0}
  .miga li+li::before{content:""}
}
@media (max-width:520px){
  .barra .btn{padding:12px 6px;font-size:.95rem}
}
@media (max-width:359px){
  .top .wrap{flex-wrap:nowrap}
  .logo svg{width:36px;height:36px}
  .logo-nombre{font-size:1.3rem}
  .logo small{display:none}
  .btn-menu{padding:8px 12px}
}
.admin input[aria-invalid="true"]{border-color:var(--rojo);background:#fff3f5}
@media (max-width:900px){
  .top .wrap{flex-wrap:nowrap}
  .top nav{flex-wrap:nowrap;gap:8px}
  .top nav .btn-wa{padding:10px 12px;min-width:48px}
  .top nav .btn-wa span{display:none}
}
@media (max-width:400px){
  .hero h1,.banda h1{font-size:clamp(1.9rem,9.2vw,2.5rem);overflow-wrap:anywhere}
}
@media (max-width:420px){.logo small{display:none}}
@media (max-width:359px){.top nav .btn-wa{display:none}}
.fichero{position:relative}.form input.oculto-vis{position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);opacity:0}
.pagina-simple h1{margin-bottom:24px}.pagina-simple form{margin-top:8px}
/* ── Revisión visual en producción ── */
.wrap.texto{max-width:1180px}
.wrap.texto > *{max-width:68ch}
.wrap.texto > .faq,.wrap.texto > .lista-zonas{max-width:68ch}
.texto .lista-zonas{padding-left:0;margin:0 0 18px}
.texto .lista-zonas li{margin:0}
.texto .tarjetas{margin-top:8px}
.texto .tarjeta h3,.texto .tarjeta p{margin:0}
.tarjeta .meta{font-size:.95rem;color:var(--carbon)}
.ticket textarea::placeholder{color:#6a6f86}
.miga a{display:inline-block;padding-block:12px}
@media (max-width:900px){footer li a{display:inline-block;padding-block:8px}}
@media (max-width:359px){.hero h1,.banda h1{-webkit-hyphens:auto;hyphens:auto}.hero h1 em,.banda h1 em{-webkit-hyphens:manual;hyphens:manual}}
@media (max-width:420px){.logo-nombre{font-size:clamp(1.2rem,5.6vw,1.55rem)}.logo svg{width:38px;height:38px}.logo{gap:8px}}
/* ── Ancho: aprovechar las pantallas grandes ── */
.wrap,.wrap.texto{max-width:1560px;padding-left:max(clamp(16px,4vw,64px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,4vw,64px),env(safe-area-inset-right,0px))}
.hero h1{font-size:clamp(2.5rem,4.8vw,5.4rem)}
.hero .lead{max-width:40ch}
.promesas{max-width:680px}
.wrap.texto > .tarjetas,.wrap.texto > .lista-zonas{max-width:none}
@media (min-width:1200px){
  .hero .wrap{gap:clamp(48px,5vw,96px)}
  .tarifa{columns:2;column-gap:56px}
  .tarifa-row,.tarifa-cat{break-inside:avoid}
  .tarifa-cat{break-after:avoid}
  .tarifa-row:last-child{border-bottom:1.5px dashed var(--linea-2)}
}
/* ── Pedir cita con el presupuesto ── */
.form.cita{margin:18px 14px 0;box-shadow:0 18px 40px rgba(20,22,31,.12)}
.form.cita h2{font-size:1.5rem;line-height:1.15}
.cita-n{color:var(--rojo);display:inline-block}
.form .dos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.res-cta .pedir-cita{width:100%;font-size:1.1rem;padding:16px}
@media (max-width:520px){.form.cita{margin:16px 4px 0;padding:20px 16px}.form .dos{grid-template-columns:1fr}}
/* ── Seguimiento del cliente ── */
.seguimiento{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:start}
.seguimiento > [data-seg]{display:contents}
.seguimiento > [data-seg][hidden]{display:none}
.seg-pasos{grid-column:1/-1;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;counter-reset:s}
.seg-pasos li{counter-increment:s;font:700 .95rem var(--body);padding:12px 10px 0;border-top:6px solid var(--linea);color:var(--gris)}
.seg-pasos li::before{content:counter(s) '. '}
.seg-pasos li.hecho{border-top-color:var(--carbon);color:var(--carbon)}
.seg-pasos li[aria-current]{border-top-color:var(--tinta);color:var(--tinta)}
.seg-accion{border:2px solid var(--carbon)}
.seg-accion h2{font:900 1.7rem/1.1 var(--display);font-stretch:108%;margin:0}
.seg-accion p{margin:0}
.huecos{display:grid;gap:10px}
.hueco{width:100%;justify-content:center;font-size:1.1rem;padding:16px}
.seg-ticket{margin:0}
/* ── Gestión: servicios ── */
.tarjetas-servicio{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:16px}
.servicio-card{background:#fff;border:2px solid var(--linea);border-radius:16px;padding:20px;display:grid;gap:8px;align-content:start}
.servicio-card.est-recibido,.servicio-card.est-otra-fecha{border-color:var(--carbon)}
.servicio-card header{display:flex;justify-content:space-between;gap:10px;font:700 .85rem var(--mono);letter-spacing:.06em;text-transform:uppercase}
.servicio-card .est{background:var(--amarilla);padding:3px 8px;border-radius:4px}
.servicio-card.est-confirmada .est{background:var(--carbon);color:#fff}
.servicio-card.est-propuesta .est{background:var(--suave)}
.servicio-card h3{font-size:1.4rem;font-weight:900;margin:0}
.servicio-card p{margin:0}
.sc-detalle{color:var(--gris);font-size:.95rem}
.sc-cita{font-weight:800;font-size:1.1rem}
.servicio-card details summary{cursor:pointer;font-weight:700;padding:10px 0;min-height:44px}
.proponer{display:grid;gap:10px;margin-top:6px}
.proponer-titulo{font-weight:800}
.huecos-in{display:grid;gap:8px}
.huecos-in input{font:400 1.05rem var(--body);padding:10px 12px;border:2px solid var(--linea);border-radius:10px;min-height:48px;width:100%}
@media (max-width:900px){.seguimiento{grid-template-columns:1fr}}
@media (max-width:520px){.seg-pasos li{font-size:.82rem;padding-inline:4px}}
.total span:last-child{white-space:nowrap}
/* ── Revisión de diseño y marketing (fase-ancho-cita) ── */
.aviso-sube{font:700 .85rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--rojo);margin:6px 0 10px}
.form [aria-invalid=true]{border-color:var(--rojo)}
.tarifa > .tarifa-cat:first-child{margin-top:0}
@media (min-width:1200px){.tarifa-cat{margin-top:0;padding-top:22px}.tarifa > .tarifa-cat:first-child{padding-top:0}}
.miga [aria-current]{display:inline-block;padding-block:12px}
article.texto > p,article.texto > ul,article.texto > ol,article.texto > blockquote{max-width:58ch}
@media (min-width:1000px){.hero .cta-row .solo-movil{display:none}}
@media (max-width:520px){.res-etiqueta{padding-right:0}.res-etiqueta .resumen{margin-top:64px}}
@media (max-width:900px){body:has(.form:focus-within) .barra{display:none}}
.sc-sin-correo{font-weight:800;color:var(--rojo)}
.sc-wa{justify-self:start}
/* ── Revisión de la clienta mayor ── */
.aviso-sube{font:700 1rem/1.35 var(--body);letter-spacing:0;text-transform:none}
.ticket .calc.secundario{background:transparent;color:var(--tinta);border:2px solid var(--tinta)}
.error-campo{color:var(--rojo);font-weight:700;font-size:1rem;margin:2px 0 0}
/* ── Revisión del cliente joven ── */
.lineas .importe{display:inline-flex;align-items:center;gap:6px}
.quitar{min-width:36px;min-height:36px;border:1.5px solid var(--linea);border-radius:999px;background:transparent;color:var(--gris);font:700 1.1rem/1 var(--body);cursor:pointer;margin:-6px -6px -6px 0}
.quitar:hover{color:var(--rojo);border-color:var(--rojo)}
.form .dos{align-items:start}
/* ── Panel del técnico y gestión de la operación ── */
.tec-cabecera{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.segmentos{display:flex;gap:6px;background:var(--suave);padding:5px;border-radius:999px;margin:0 0 18px;width:max-content;max-width:100%;flex-wrap:wrap}
.segmento{font:700 1rem var(--body);border:0;background:transparent;color:var(--carbon);padding:11px 18px;border-radius:999px;min-height:44px;cursor:pointer;transition:background 160ms var(--ease),color 160ms}
.segmento[aria-selected=true],.segmento[aria-pressed=true]{background:var(--carbon);color:#fff}
.segmento:disabled{opacity:.4;cursor:not-allowed}
.segmentos.grandes{width:100%;border-radius:16px}
.segmentos.grandes .segmento{flex:1 1 0;border-radius:12px;padding:16px 12px;font-size:1.05rem}
.vacio{color:var(--gris);font-size:1.1rem;padding:24px 0}
.cifras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.cifras div{background:#fff;border:2px solid var(--linea);border-radius:16px;padding:14px 16px;display:grid}
.cifras b{font:900 2rem/1 var(--display)}
.cifras span{color:var(--gris);font-size:.95rem}
.sc-lineas{list-style:none;padding:0;margin:4px 0;font:400 .98rem/1.4 var(--mono)}
.sc-lineas li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dotted var(--linea)}
.sc-lineas b{white-space:nowrap}
.sc-lineas.cuentas{font-family:var(--body)}
.sc-lineas .total-liq{font-size:1.15rem;border-bottom:0;border-top:2px solid var(--carbon);padding-top:8px;font-weight:800}
.sc-total{font-size:1rem}
.sc-acciones,.sc-docs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.btn-enlace{background:transparent;border-color:transparent;color:var(--gris);text-decoration:underline;padding-inline:4px}
.btn.grande{width:100%;font-size:1.15rem;padding:18px;margin-top:8px}
.asignar{display:grid;gap:4px;font-weight:700}
.asignar select{font:400 1rem var(--body);padding:10px;border:2px solid var(--linea);border-radius:10px;min-height:46px;background:#fff}
.servicio-card.inactivo{opacity:.6}
.servicio-card > .btn{justify-self:start}
details.alta{margin-bottom:18px}
details.alta > summary{list-style:none;display:inline-flex;margin-bottom:12px}
details.alta > summary::-webkit-details-marker{display:none}
.ficha-tecnico{border:2px solid var(--linea)}
.form .check{display:flex;gap:10px;align-items:center;font-weight:600}
.check input{width:22px;height:22px;accent-color:var(--tinta)}
.sub{font:900 1.4rem var(--display);margin:28px 0 12px}
.form.libro{margin-bottom:20px;border:2px solid var(--linea)}
/* La hoja: pantalla completa en el móvil, panel centrado en el ordenador */
body.con-hoja{overflow:hidden}
.hoja{position:fixed;inset:0;z-index:60;background:rgba(20,22,31,.45);overflow-y:auto;overscroll-behavior:contain}
.hoja[hidden]{display:none}
.hoja-caja{background:#f7f8fb;min-height:100%;max-width:760px;margin:0 auto;padding:16px max(16px,env(safe-area-inset-left,0px)) 40px;box-shadow:0 20px 60px rgba(20,22,31,.3)}
@media (min-width:800px){.hoja{padding:32px 16px}.hoja-caja{min-height:0;border-radius:20px;padding:24px 32px 36px}}
.hoja-cabecera{display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:-16px;background:#f7f8fb;padding:10px 0;z-index:1}
.hoja-num{font:700 .85rem var(--mono);color:var(--gris);text-align:right}
.hoja h2{font:900 clamp(1.8rem,6vw,2.4rem)/1.05 var(--display);margin:8px 0 14px;outline:none}
.hoja-ayuda{color:var(--gris);margin:0 0 14px}
.pasos-hoja{list-style:none;padding:0;margin:0;display:grid;gap:22px;counter-reset:ph}
.pasos-hoja > li{counter-increment:ph;background:#fff;border-radius:18px;padding:18px;border:2px solid var(--linea)}
.pasos-hoja h3{font:800 1.2rem var(--display);margin:0 0 12px;display:flex;gap:10px;align-items:baseline}
.pasos-hoja h3::before{content:counter(ph);display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:var(--amarilla);font:900 .95rem var(--display)}
.grupo-titulo{font:700 .8rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--rojo);margin:14px 0 8px}
.opciones-servicio{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:8px}
.opcion{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;font:600 .98rem/1.25 var(--body);background:#fff;border:2px solid var(--linea);border-radius:14px;padding:12px 14px;min-height:56px;cursor:pointer;color:var(--carbon);transition:border-color 160ms,background 160ms,transform 120ms var(--ease)}
.opcion b{font:700 .9rem var(--mono);white-space:nowrap}
.opcion:active{transform:scale(.98)}
.opcion[aria-pressed=true]{border-color:var(--tinta);background:#eef0fb;box-shadow:inset 0 0 0 1px var(--tinta)}
.pieza-fila{display:grid;grid-template-columns:minmax(0,1fr) 110px 44px;gap:8px;margin-bottom:8px}
.pieza-fila input{font:400 1rem var(--body);padding:12px;border:2px solid var(--linea);border-radius:10px;min-height:48px;width:100%}
.resumen-ticket{margin:0;-webkit-mask:none;mask:none;border-radius:6px}
.texto-firma{font:400 1.05rem/1.5 var(--body);background:var(--suave);border-radius:12px;padding:12px 14px;margin:0 0 10px}
.firma-lienzo{display:block;width:100%;height:190px;background:#fff;border:2px dashed var(--linea-2);border-radius:14px;touch-action:none;cursor:crosshair}
.firma-pie{display:flex;justify-content:space-between;align-items:center;margin-top:6px;color:var(--gris);font-size:.95rem}
.importe-grande{font:400 1.2rem var(--body);margin:14px 0 0}
.importe-grande b{font:900 2rem var(--display)}
.hecho{display:grid;gap:14px}
@media (max-width:520px){.cifras b{font-size:1.6rem}.pieza-fila{grid-template-columns:minmax(0,1fr) 92px 44px}}
/* ── Simetría: pestañas de la gestión y botones de las tarjetas ── */
.pestanas{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;margin-bottom:16px}
.pestanas .btn{width:100%;min-height:48px;padding:10px 8px;justify-content:center;text-align:center;white-space:normal;line-height:1.15;font-size:.95rem}
@media (max-width:1100px){.pestanas{grid-template-columns:repeat(3,minmax(0,1fr))}}
.servicio-card > .btn,.servicio-card > .proponer .btn,.servicio-card details .btn{width:100%;justify-self:stretch}
.servicio-card > .btn-enlace{justify-self:center;width:auto}
.sc-acciones,.sc-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sc-acciones .btn,.sc-docs .btn{width:100%;justify-content:center;text-align:center}
.sc-acciones > .sc-detalle{grid-column:1/-1}
.sc-wa{justify-self:stretch!important;width:100%;justify-content:center}
.segmentos{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%}
.segmentos .segmento{text-align:center}
.sc-docs > :only-child,.sc-acciones > .btn:only-child{grid-column:1/-1}
.hoja-cerrar{white-space:nowrap}
.segmento{white-space:nowrap}
.hoja-cabecera{z-index:5}
.servicio-card header span{white-space:nowrap}
.segmentos.grandes .segmento{white-space:normal;line-height:1.15;padding:14px 6px}
.segmentos.grandes .segmento{font-size:.95rem;padding:14px 4px}
@media (max-width:440px){.segmentos.grandes[data-grupo=metodo]{grid-auto-flow:row}}
.hoja h2:focus,.hoja h2:focus-visible{outline:none;box-shadow:none}
.hecho-cifra{display:grid;justify-items:center;gap:6px;text-align:center;background:#fff;border:2px solid var(--linea);border-radius:18px;padding:24px 16px}
.hecho-ok{display:grid;place-items:center;width:56px;height:56px;border-radius:999px;background:var(--verde);color:#fff;font:900 1.8rem/1 var(--display)}
.hecho-cifra b{font:900 2.6rem/1 var(--display)}
.hecho-cifra span:last-child{font:700 1rem var(--mono);color:var(--gris)}
.hecho > p{text-align:center;margin:0}
.junto{white-space:nowrap}
.sc-docs .btn,.sc-acciones .btn{align-self:stretch;white-space:nowrap;padding-inline:10px}
.pestanas .btn{align-self:stretch}
.catalogo-barra{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;background:#fff;border:2px solid var(--linea);border-radius:16px;padding:16px;margin-bottom:16px;font-weight:700}
.catalogo-barra label{display:grid;gap:6px}
.catalogo-barra input,.ficha-servicio input:not([type=checkbox]),.ficha-servicio select{font:400 1rem var(--body);padding:10px 12px;border:2px solid var(--linea);border-radius:10px;min-height:46px;width:100%;background:#fff}
.ficha-servicio label{display:grid;gap:4px;font-weight:700;font-size:.92rem}
.ficha-servicio .dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.marcas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.marcas .check{font-size:.9rem}
.catalogo-pie{position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,#f7f8fb 30%)}
@media (max-width:520px){.ficha-servicio .dos,.marcas,.catalogo-barra{grid-template-columns:1fr}}
/* ── Revisión de la hija ── */
.quitar{margin:0}
.quitar-hueco{display:inline-block;width:36px;flex:none}
.seg-pasos li::before{content:none}
.seg-pasos li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ya-pedida{font-weight:700;color:var(--verde);margin:0}
/* ── Revisión de Antonio ── */
.form input[aria-invalid=true]:not([type=checkbox]),.form select[aria-invalid=true],.form textarea[aria-invalid=true]{border-color:var(--rojo);background:#fff6f7}
.res-etiqueta{padding-right:150px}
.nota{font:400 1rem/1.5 var(--body);color:var(--carbon)}
.tarifa-row{grid-template-columns:minmax(0,1fr) 9.5rem}
.precio{align-self:start;grid-row:1/3}
.cita-aviso{background:#fff4d6;border-radius:12px;padding:12px 14px;margin:0;font-weight:600}
@media (max-width:520px){.tarifa-row{grid-template-columns:1fr}.res-etiqueta{padding-right:0}}
.res-etiqueta{padding-right:175px}
@media (max-width:520px){.res-etiqueta{padding-right:0}}
.res-etiqueta{padding-right:220px}
@media (max-width:520px){.res-etiqueta{padding-right:0}}
/* ── Agenda del técnico ── */
.agenda{display:grid;gap:18px}
.agenda-dia h3{font:800 1.15rem var(--display);margin:0 0 8px}
.agenda-cita{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:2px solid var(--linea);border-radius:14px;padding:12px 14px;margin-bottom:8px}
.agenda-cita div{display:grid;gap:2px;min-width:0}
.agenda-cita div span{color:var(--gris);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-hora{font:900 1.3rem var(--display);font-variant-numeric:tabular-nums}
.agenda-cita .est{font:700 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--suave);padding:3px 8px;border-radius:4px;white-space:nowrap}
.sincronizar h3{margin:0}
.sc-docs.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:420px){.agenda-cita{grid-template-columns:56px minmax(0,1fr)}.agenda-cita .est{grid-column:2;justify-self:start}}
/* ── Revisión del técnico y del administrador ── */
.aviso-sustituye{background:#fff4d6;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.grupo-servicios{border-top:1px solid var(--linea);padding:4px 0}
.grupo-servicios summary{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;cursor:pointer;font:700 .85rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rojo)}
.grupo-servicios[open] summary{margin-bottom:8px}
.grupo-n{font:700 .8rem var(--body);letter-spacing:0;text-transform:none;color:var(--tinta)}
.opcion{font-size:1rem}
.opcion b{font-size:.95rem}
.alertas{list-style:none;margin:0;padding:10px 12px;background:#fff1f2;border:1.5px solid #f5c2c9;border-radius:12px;display:grid;gap:4px}
.alertas li{font-weight:700;color:var(--rojo);font-size:.92rem}
.alertas li::before{content:'⚠ '}
.cifras.cuatro{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:700px){.cifras.cuatro{grid-template-columns:repeat(2,minmax(0,1fr))}}
.empleo ul{display:grid;gap:6px;margin:0 0 22px}
.empleo .proceso{font-weight:600;margin:0}
/* ── Ubicación con sugerencias ── */
label:has(> input[data-ubicacion]){position:relative}
.sugerencias{position:absolute;left:0;right:0;top:100%;z-index:20;list-style:none;margin:4px 0 0;padding:6px;background:#fff;border:2px solid var(--linea);border-radius:12px;box-shadow:0 12px 30px rgba(20,22,31,.15);max-height:320px;overflow:auto}
.sugerencias li{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:10px 12px;border-radius:8px;cursor:pointer;font-weight:600}
.sugerencias li small{color:var(--gris);font-weight:400;white-space:nowrap}
.sugerencias li[aria-selected=true],.sugerencias li:hover{background:var(--suave)}
.nota-zona{margin:4px 0 0;font-weight:700;color:var(--rojo);font-size:.95rem}
input[data-fuera]{border-color:var(--rojo)!important}
.aviso-ciudad h2{font:900 1.5rem/1.15 var(--display);margin:0}
.lista-zonas.pronto a{opacity:.75}
/* ── Blog visual ── */
.tile{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--amarilla);color:var(--carbon);flex:none}
.tile.grande{width:88px;height:88px;border-radius:24px;background:#fff}
.tile .icono-tema{width:60%;height:60%}
.tema-virus .tile,.tema-estafa .tile{background:#ffe3e7;color:var(--rojo)}
.tema-wifi .tile,.tema-disco .tile,.tema-pendrive .tile{background:#e6e9fb;color:var(--tinta)}
.tema-calor .tile{background:#ffe9d6;color:#b4500e}
.tema-certificado .tile,.tema-comprar .tile{background:#e3f5ec;color:var(--verde)}
.tarjetas-blog{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.tarjeta-blog{display:grid;gap:12px;align-content:start}
.tarjeta-blog h2{font:800 1.25rem/1.2 var(--display);margin:0}
.tarjeta-blog .meta{color:var(--gris);font:700 .8rem var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:0}
.articulo-cabecera{display:flex;gap:20px;align-items:center;margin-top:8px}
.articulo-cabecera h1{margin:0 0 10px}
.meta-articulo{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.meta-articulo span{font:700 .8rem var(--mono);letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.7);padding:5px 10px;border-radius:999px}
@media (max-width:620px){.articulo-cabecera{flex-direction:column;align-items:flex-start}.tile.grande{width:64px;height:64px;border-radius:18px}}
.articulo h2{scroll-margin-top:90px}
.articulo h2.paso{display:flex;gap:14px;align-items:center;background:#fff;border:2px solid var(--linea);border-radius:16px;padding:14px 16px;margin:32px 0 12px}
.paso-n{display:inline-grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:var(--amarilla);font:900 1.3rem var(--display);flex:none}
.lista-check{list-style:none;padding:0;display:grid;gap:10px}
.lista-check li{position:relative;padding-left:34px}
.lista-check li::before{content:'';position:absolute;left:0;top:.15em;width:22px;height:22px;border-radius:7px;background:var(--amarilla) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314161f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/14px no-repeat}
.lista-num{list-style:none;padding:0;counter-reset:n;display:grid;gap:10px}
.lista-num li{counter-increment:n;position:relative;padding-left:40px}
.lista-num li::before{content:counter(n);position:absolute;left:0;top:-.05em;width:28px;height:28px;border-radius:999px;background:var(--carbon);color:#fff;display:grid;place-items:center;font:800 .9rem var(--body)}
.caja-aviso{display:flex;gap:14px;align-items:flex-start;background:#fff1f2;border:2px solid #f5c2c9;border-radius:16px;padding:16px 18px;margin:20px 0;max-width:68ch}
.caja-aviso svg{width:28px;height:28px;color:var(--rojo);flex:none}
.caja-aviso p{margin:0;font-weight:600}
.cta-precio{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center;background:var(--carbon);color:#fff;border-radius:20px;padding:22px;margin:28px 0;max-width:68ch}
.cta-precio a:not(.btn){color:var(--amarilla)}
.cta-pre{margin:0;font:700 .8rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#c9cdde}
.cta-nombre{margin:4px 0 0;font:800 1.15rem/1.25 var(--display)}
.cta-cifra{margin:0;text-align:right;font:900 2.2rem/1 var(--display);color:var(--amarilla)}
.cta-cifra small{display:block;font:600 .8rem var(--body);color:#c9cdde;margin-top:6px}
.cta-precio .btn{grid-column:1/-1;background:var(--amarilla);color:var(--carbon);border-color:var(--amarilla)}
@media (max-width:520px){.cta-precio{grid-template-columns:1fr}.cta-cifra{text-align:left}}
.articulo h2.paso{font-size:clamp(1.15rem,4.4vw,1.45rem);line-height:1.2}
/* Blog: ajustes tras verlo en el móvil */
.texto .cta-texto.cta-precio{background:var(--carbon);border:0;color:#fff}
.texto .cta-precio .cta-nombre a{color:var(--amarilla)}
.lista-check li::before{width:10px;height:10px;border-radius:999px;top:.55em;left:8px;background:var(--amarilla);box-shadow:0 0 0 3px #fff3c4}

/* Línea corta bajo los botones principales: «sin compromiso» */
.micro{margin:8px 0 0;text-align:center;font-size:.875rem;font-weight:700;color:var(--gris);letter-spacing:.01em}
/* WhatsApp de la cabecera: discreto, a la altura de los enlaces del menú */
.top nav .btn-wa-cab{padding:8px 14px;min-height:40px;font-size:.95rem;gap:6px}
.top nav .btn-wa-cab .wa-ico{width:16px;height:16px}
@media (max-width:900px){.top nav .btn-wa-cab{padding:0;width:44px;height:44px;min-width:44px;min-height:44px}}
/* Móvil: la cabecera del resguardo en una línea y el presupuesto más cerca de las promesas */
@media (max-width:520px){
  .ticket-head{font-size:.74rem;letter-spacing:.03em}
  .ticket-head span:first-child{white-space:nowrap}
  .hero .wrap{gap:28px}
  .hero .promesas{margin-bottom:0}
}
/* Artículos: ilustración de portada, tablas comparativas y «En resumen» */
.ilustra{margin:0 0 28px}
.ilustra svg{display:block;width:100%;height:auto}
.tabla-comparar{margin:24px 0 28px;border:2px solid var(--carbon);border-radius:16px;overflow:hidden;background:#fff}
.tabla-comparar table{width:100%;border-collapse:collapse;font-size:1rem}
.tabla-comparar th,.tabla-comparar td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--linea)}
.tabla-comparar thead th{background:var(--carbon);color:#fff;font:800 .95rem var(--body)}
.tabla-comparar tbody th{font-weight:800;background:var(--suave);width:30%}
.tabla-comparar tbody tr:last-child th,.tabla-comparar tbody tr:last-child td{border-bottom:0}
.tabla-comparar td.si{color:var(--verde);font-weight:800}
.tabla-comparar td.no{color:var(--rojo);font-weight:800}
.veredicto{margin:28px 0;padding:18px 20px;border-radius:16px;background:var(--tinta);color:#fff}
.veredicto p{margin:0}
.veredicto .veredicto-tit{font:700 .78rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amarilla);margin-bottom:6px}
@media (max-width:620px){
  .tabla-comparar{border:0;background:transparent;border-radius:0}
  .tabla-comparar thead{display:none}
  .tabla-comparar tr{display:block;margin-bottom:12px;border:2px solid var(--carbon);border-radius:14px;overflow:hidden;background:#fff}
  .tabla-comparar tbody th{display:block;width:auto;background:var(--carbon);color:#fff;border:0}
  .tabla-comparar td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px}
  .tabla-comparar td::before{content:attr(data-etiqueta);font-weight:800;color:var(--gris)}
}
/* Segunda salida bajo «Pedir cita»: discreta y centrada */
.otra-salida{display:block;margin-top:12px;text-align:center;font-weight:700;color:var(--tinta)}
.tarjeta-blog h3{font:800 1.25rem/1.2 var(--display);margin:0}
/* Páginas por búsqueda: lo que arreglamos, en tarjetas iguales */
.casos{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.casos li{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--carbon);border-radius:14px;padding:16px 18px;font-weight:800;min-height:64px}
.casos li::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:var(--amarilla) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d2ea8' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
@media (max-width:820px){.casos{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.casos{grid-template-columns:1fr}}
/* Artículo: una sola columna de lectura centrada; la cabecera, alineada con ella; texto, ilustración y tablas con el mismo ancho */
:root{--columna-articulo:760px}
article.texto.articulo{max-width:var(--columna-articulo);margin-inline:auto}
article.texto.articulo > *{max-width:none}
.banda-articulo .wrap > *{max-width:var(--columna-articulo);margin-inline:auto}
@media (min-width:900px){.banda-articulo h1{font-size:clamp(2.2rem,2.6vw,2.9rem);line-height:1.08}}
/* La nota bajo el precio («gratis si te lo montamos») se parte en líneas y nunca sale de la tarjeta */
.precio small{white-space:normal;max-width:20ch;margin-left:auto;line-height:1.3}
@media (max-width:900px){.precio small{max-width:none;margin-left:0}}
/* Gestión › Llamadas: clics del mes y conversiones para los anuncios */
.cifras.dos{grid-template-columns:repeat(2,minmax(0,1fr))}
.botones-medicion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.botones-medicion .btn{width:100%}
@media (max-width:620px){.botones-medicion{grid-template-columns:1fr}}
/* Gestión en pantallas estrechas: pestañas en dos columnas (la última a lo ancho) y tablas como tarjetas */
@media (max-width:560px){
  .pestanas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pestanas .btn:last-child{grid-column:1/-1}
  .pestanas .btn{font-size:.9rem;padding:8px 6px}
}
@media (max-width:900px){
  .admin .tabla-scroll{overflow:visible}
  .admin .tabla-scroll table,.admin .tabla-scroll tbody{display:block;width:100%}
  .admin .tabla-scroll thead{display:none}
  .admin .tabla-scroll tr{display:block;background:#fff;border:2px solid var(--linea);border-radius:14px;padding:6px 0;margin:0 0 12px}
  .admin .tabla-scroll td{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:10px;padding:8px 14px;border:0;overflow-wrap:anywhere;text-align:left}
  .admin .tabla-scroll td::before{content:attr(data-etiqueta);font-weight:800;color:var(--gris);overflow-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .admin .tabla-scroll td:empty{display:none}
}
/* Tarjetas de la gestión: su contenido nunca las ensancha (campos de fecha, selectores, números largos) */
.servicio-card{grid-template-columns:minmax(0,1fr);min-width:0}
.servicio-card input,.servicio-card select,.servicio-card textarea{min-width:0;max-width:100%}
.servicio-card header{flex-wrap:wrap;row-gap:6px}
.admin .dos > *,.admin label{min-width:0}
.admin input,.admin select{min-width:0;max-width:100%}
/* Móviles muy estrechos (≤ 340 px): las rejillas nunca más anchas que la pantalla */
@media (max-width:900px){.hero .wrap,.cierre .wrap,.formas,.quien,.columnas{grid-template-columns:minmax(0,1fr)}}
@media (max-width:340px){.ticket-head{font-size:.64rem;letter-spacing:.01em;gap:6px}}
/* Móviles estrechos (≤ 360 px): nunca partir una palabra del titular, la barra en una línea y la etiqueta entera */
@media (max-width:360px){
  .hero h1,.banda h1{overflow-wrap:normal;word-break:normal;hyphens:manual;font-size:clamp(1.45rem,8.2vw,1.9rem)}
  .barra .btn{font-size:.85rem;padding:12px 4px;white-space:nowrap}
  .kicker{font-size:.6rem;letter-spacing:.08em}
}
/* Panel de técnicos y gestión: pie corto, sin el mapa de la web */
.pie-corto p{margin:0;text-align:center}
/* Selector Míos / Libres / Agenda: tres partes iguales que caben siempre */
@media (max-width:440px){.segmentos:not(.grandes) .segmento{padding:11px 4px;font-size:clamp(.8rem,3.4vw,1rem)}}
/* Hoja del técnico en el móvil: el número y el cliente debajo de «Volver», en una línea; grupos sin partir */
@media (max-width:480px){
  .hoja-cabecera{flex-wrap:wrap;row-gap:4px}
  .hoja-num{flex:1 0 100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .grupo-servicios summary{font-size:.74rem;letter-spacing:.04em}
  .grupo-n{white-space:nowrap}
}
/* Pie de la firma: texto y «Borrar» separados y alineados, sin tocarse */
.firma-pie{gap:12px;margin-top:10px}
.firma-pie > span{min-width:0}
.firma-pie .btn{flex:none;min-height:40px;padding:8px 16px}
/* Hoja del técnico: los campos (fecha y hora incluidos) nunca más anchos que la pantalla */
.huecos-in{grid-template-columns:minmax(0,1fr)}
.hoja label{min-width:0}
.hoja input,.hoja select,.hoja textarea{min-width:0;max-width:100%;width:100%}
.hoja input[type=checkbox],.hoja input[type=radio]{width:auto}
/* Casilla de consentimiento en la cita y en «que me llamen» */
.consentimiento{font:400 .95rem/1.45 var(--body)!important;align-items:flex-start}
.consentimiento input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--tinta)}
.consentimiento a{color:var(--tinta);font-weight:700}
.consentimiento input[aria-invalid="true"]{outline:2px solid var(--rojo);outline-offset:2px}
/* Panel del técnico en móviles estrechos: botones que nunca se desbordan y saludo en una línea */
.sc-acciones .btn,.sc-docs .btn{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media (max-width:360px){
  .sc-acciones,.sc-docs{grid-template-columns:minmax(0,1fr)}
  .sc-acciones > .btn:only-child,.sc-docs > :only-child{grid-column:auto}
  [data-tec-hola]{font-size:clamp(1.6rem,9vw,2.2rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
}
/* Gestión › Presupuestos: llamar, WhatsApp y correo, uno debajo de otro */
.contacto-acciones{display:grid;gap:4px}
.contacto-acciones a{font-weight:700;overflow-wrap:anywhere}
/* Pestañas: el color cambia de golpe, sin el instante de texto blanco sobre fondo blanco */
.pestanas .btn,.segmento{transition:transform 160ms var(--ease)}
/* Móviles muy estrechos (≤ 300 px, p. ej. plegables cerrados): cabecera, tarjetas, número del resguardo y textos largos */
body{overflow-wrap:break-word}
.tarjetas{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
@media (max-width:300px){
  .logo svg{width:30px;height:30px}
  .logo-nombre{font-size:1.1rem}
  .logo{gap:6px}
  .btn-menu{padding:8px 10px;min-height:40px}
  .ticket-head{flex-wrap:wrap;row-gap:2px}
}
@media (max-width:300px){
  .lineas{font-size:.86rem}
  .lineas li span:first-child{min-width:0}
  main h3{font-size:clamp(1.2rem,7.4vw,1.6rem)}
}
/* Los titulares nunca parten palabras: si no caben, se ajusta el tamaño */
h1,h2,h3{overflow-wrap:normal}
@media (max-width:300px){.q h3{font-size:clamp(1.2rem,7.4vw,1.6rem)}}
.check > span{min-width:0;flex:1 1 auto}
/* Servicios de la hoja del técnico: el nombre se parte en líneas y el precio nunca se sale */
.opcion > span{min-width:0;flex:1 1 auto}
.opcion b{flex:none}
@media (max-width:300px){.opcion{padding:10px 10px;gap:8px;font-size:.92rem}.opcion b{font-size:.82rem}}
@media (max-width:300px){.opcion{flex-direction:column;align-items:flex-start;gap:4px}}
@media (max-width:300px){[data-tec-hola]{font-size:1.4rem}.tec-cabecera .btn,.admin [data-salir]{padding:8px 14px;min-height:40px}}
/* Casillas alineadas con la primera línea de su texto, todas iguales */
.form .check{align-items:flex-start}
.form .check input{flex:none;width:22px;height:22px;margin:1px 0 0}
@media (max-width:300px){#h-cita{font-size:1.3rem}}
