/* maswebs — estilos del tema (base: propuesta v1) */
/* Layout: página única de marca, bloques blancos amplios con dos "golpes" de grafito (IA y pie) y el rojo solo en acciones y en el marco </> del logo. Tema claro fijo por identidad corporativa. */
:root{
  color-scheme: light;
  --rojo:#E30613;
  --rojo-osc:#B8050F;
  --grafito:#1D1D1B;
  --gris:#6B6B6B;
  --gris-claro:#EDEDEC;
  --papel:#FFFFFF;
  --niebla:#F6F6F5;
  --linea:#E2E2E0;
  --display:"Poppins", "Segoe UI", system-ui, sans-serif;
  --texto:"Montserrat", "Segoe UI", system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Consolas, monospace;
  --radio:14px;
  --max:1160px;
  --s1:clamp(0.85rem,0.8rem + 0.2vw,0.95rem);
  --s2:clamp(1rem,0.95rem + 0.25vw,1.1rem);
  --s3:clamp(1.25rem,1.1rem + 0.7vw,1.6rem);
  --s4:clamp(1.7rem,1.3rem + 1.8vw,2.6rem);
  --s5:clamp(2.2rem,1.5rem + 3.2vw,4rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--papel);color:var(--grafito);font-family:var(--texto);font-size:var(--s2);line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--papel)}
h1,h2,h3{font-family:var(--display);line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-0.01em}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--rojo);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.etiqueta{font-family:var(--mono);font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--rojo)}
.rojo{color:var(--rojo)}
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:600;font-size:1rem;text-decoration:none;border-radius:999px;padding:.85rem 1.4rem;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-rojo{background:var(--rojo);color:#fff}
.btn-rojo:hover{background:var(--rojo-osc)}
.btn-linea{border-color:var(--grafito);color:var(--grafito);background:transparent}
.btn-blanco{background:#fff;color:var(--grafito)}

/* Cabecera */
.cab{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--linea)}
.cab .wrap{display:flex;align-items:center;gap:1.5rem;padding-block:.7rem}
.cab .logo img{height:42px;width:auto;display:block}
.menu{display:flex;gap:1.4rem;margin-left:auto;font-size:.95rem;font-weight:500}
.menu a{text-decoration:none;color:var(--grafito)}
.menu a:hover{color:var(--rojo)}
.cab .acciones{display:flex;gap:.6rem;align-items:center}
.cab .cuenta{font-size:.9rem;font-weight:600;text-decoration:none;color:var(--gris)}
.cab .btn{padding:.6rem 1.05rem;font-size:.92rem}
@media (max-width:960px){.menu{display:none}.cab .acciones{margin-left:auto}}
@media (max-width:520px){.cab .logo img{height:34px}.cab .cuenta{display:none}.cab .tel-txt{display:none}}

/* Hero */
.hero{padding-block:clamp(2.5rem,5vw,5rem) clamp(3rem,6vw,6rem)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
.hero h1{font-size:var(--s5);font-weight:700}
.hero .bajada{font-size:var(--s2);color:#3a3a38;max-width:34rem;margin-top:1.2rem}
.hero .ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.hero .datos{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--linea)}
.hero .datos div{min-width:0}
.hero .datos strong{display:block;font-family:var(--display);font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}
.hero .datos span{font-size:.85rem;color:var(--gris)}

/* Marco </> inspirado en el isotipo: esquina sup-izq grafito, inf-der roja */
.marco{position:relative;padding:14px}
.marco::before,.marco::after{content:"";position:absolute;width:58%;height:58%;border:6px solid;pointer-events:none}
.marco::before{top:0;left:0;border-color:var(--grafito) transparent transparent var(--grafito);border-radius:26px 0 0 0}
.marco::after{bottom:0;right:0;border-color:transparent var(--rojo) var(--rojo) transparent;border-radius:0 0 26px 0}

/* Comparador antes/después */
.comparador{position:relative;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 18px 40px -18px rgba(29,29,27,.35);border:1px solid var(--linea);aspect-ratio:4/3.1;max-width:100%}
.barra-nav{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--niebla);border-bottom:1px solid var(--linea);font-family:var(--mono);font-size:.7rem;color:var(--gris)}
.barra-nav i{width:9px;height:9px;border-radius:50%;background:#d4d4d2;display:block}
.barra-nav .url{margin-left:8px;background:#fff;border:1px solid var(--linea);border-radius:6px;padding:2px 8px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.capas{position:absolute;inset:33px 0 0 0}
.capa{position:absolute;inset:0;overflow:hidden}
/* web antigua */
.vieja{background:#c9d7e6;font-family:"Times New Roman",Times,serif;color:#000;padding:10px;font-size:13px}
.vieja .cab-v{background:linear-gradient(#335c99,#1d3c6e);color:#ffef9e;font-size:20px;font-weight:bold;text-align:center;padding:10px;border:3px ridge #9fb7d9}
.vieja .marquee{background:#ffff99;color:#c00;font-size:11px;padding:2px 6px;margin:6px 0;white-space:nowrap;overflow:hidden;border:1px solid #c9a}
.vieja table{width:100%;border-collapse:collapse;background:#fff}
.vieja td{border:1px solid #8aa0bd;padding:6px;vertical-align:top;font-size:12px}
.vieja td.lat{width:30%;background:#e8eef6}
.vieja a{color:#00e;text-decoration:underline;display:block}
.vieja .cont{font-size:10px;color:#444;margin-top:6px;text-align:center}
.vieja .foto{height:58px;background:repeating-linear-gradient(45deg,#b9c5d3 0 6px,#cfd8e3 6px 12px);border:2px inset #999;margin:4px 0}
/* web nueva */
.nueva{background:#fff;font-family:var(--texto)}
.nueva .n-cab{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:10px;font-weight:600}
.nueva .n-marca{font-family:var(--display);font-size:13px;font-weight:700;color:#0f2a44}
.nueva .n-marca span{color:#d18b00}
.nueva .n-cab em{font-style:normal;background:#0f2a44;color:#fff;padding:4px 9px;border-radius:99px;font-size:9px}
.nueva .n-hero{margin:0 10px;border-radius:10px;height:52%;background:
  linear-gradient(100deg,rgba(9,24,40,.88) 0%,rgba(9,24,40,.55) 55%,rgba(9,24,40,.15) 100%),
  linear-gradient(160deg,#9cc0d8 0%,#e7d2a8 60%,#c99a5b 100%);position:relative;color:#fff;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.nueva .n-hero svg{position:absolute;right:0;bottom:0;width:62%;height:auto;opacity:.95}
.nueva .n-hero b{font-family:var(--display);font-size:clamp(13px,2.2vw,19px);line-height:1.15;position:relative;max-width:62%}
.nueva .n-hero b span{color:#ffc94d}
.nueva .n-busca{position:relative;margin-top:8px;background:#fff;border-radius:8px;display:flex;gap:6px;padding:6px;max-width:80%}
.nueva .n-busca i{flex:1;height:14px;border-radius:4px;background:var(--gris-claro);display:block}
.nueva .n-busca i:last-child{flex:.6;background:#0f2a44}
.nueva .n-fichas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}
.nueva .n-fichas div{border:1px solid var(--linea);border-radius:8px;overflow:hidden;font-size:9px;font-weight:600}
.nueva .n-fichas div::before{content:"";display:block;height:34px;background:linear-gradient(135deg,#d9e4ec,#f0e3cb)}
.nueva .n-fichas p{padding:4px 6px;display:flex;justify-content:space-between}
.nueva .n-fichas p span{color:#d18b00}
.nueva .wa{position:absolute;right:10px;bottom:10px;width:26px;height:26px;border-radius:50%;background:#25D366;box-shadow:0 4px 10px rgba(0,0,0,.2)}
.capa.nueva{clip-path:inset(0 0 0 var(--corte,50%))}
.divisor{position:absolute;top:33px;bottom:0;left:var(--corte,50%);width:3px;background:var(--rojo);transform:translateX(-1.5px);pointer-events:none}
.divisor::after{content:"</>";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--rojo);color:#fff;font-family:var(--mono);font-size:12px;padding:6px 7px;border-radius:8px;white-space:nowrap}
.etq-cmp{position:absolute;top:42px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:5px;pointer-events:none}
.etq-cmp.a{left:8px;background:#fff;color:var(--gris);border:1px solid var(--linea)}
.etq-cmp.d{right:8px;background:var(--rojo);color:#fff}
.rango{display:flex;align-items:center;gap:.75rem;margin-top:1rem;font-size:.85rem;color:var(--gris)}
.rango input{flex:1;min-width:0;accent-color:var(--rojo)}

/* Secciones */
section{scroll-margin-top:80px}
.bloque{padding-block:clamp(3.5rem,4.5vw,4rem)}
.cabecera-sec{display:grid;gap:.8rem;max-width:44rem;margin-bottom:clamp(2rem,2.6vw,2.4rem)}
.cabecera-sec h2{font-size:var(--s4);font-weight:700}
.cabecera-sec p{color:#3a3a38}

/* Cómo funciona */
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;counter-reset:paso}
@media (max-width:820px){.pasos{grid-template-columns:1fr}}
.paso{border-top:3px solid var(--grafito);padding-top:1.2rem;display:grid;gap:.6rem;align-content:start}
.paso:last-child{border-top-color:var(--rojo)}
.paso .num{font-family:var(--mono);font-size:.85rem;color:var(--rojo)}
.paso h3{font-size:var(--s3);font-weight:600}
.paso p{color:#3a3a38;font-size:.98rem}
.paso .plazo{font-family:var(--mono);font-size:.78rem;color:var(--gris)}

/* Precios */
.precios{background:var(--niebla)}
.planes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:stretch}
@media (max-width:900px){.planes{grid-template-columns:1fr}}
.plan{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.6rem;display:flex;flex-direction:column;gap:1rem;min-width:0}
.plan>ul{flex:1 0 auto}
.plan>.btn:last-child{margin-top:auto}
.plan.destacado{border:2px solid var(--grafito);position:relative}
.plan,.hosting{scroll-margin-top:96px}
.plan:target{outline:3px solid var(--rojo);outline-offset:4px;box-shadow:0 10px 30px rgba(227,6,19,.12)}
.hosting:target{outline:3px solid var(--rojo);outline-offset:6px;border-radius:var(--radio)}
.plan.destacado::before{content:"El más pedido";position:absolute;top:-12px;left:1.6rem;background:var(--grafito);color:#fff;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:99px}
.plan h3{font-size:1.3rem;font-weight:600}
.plan .para{color:var(--gris);font-size:.92rem}
.precio{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}
.precio strong{font-family:var(--display);font-size:2.6rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.precio span{color:var(--gris);font-size:.9rem}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.95rem;align-content:start}
.plan li{display:grid;grid-template-columns:18px 1fr;gap:.55rem}
.plan li::before{content:"";width:12px;height:7px;border-left:2px solid var(--rojo);border-bottom:2px solid var(--rojo);transform:rotate(-45deg);margin-top:.45rem}
.plan .regalo{margin:-.4rem 0 0;font-size:.86rem;font-weight:600;color:var(--rojo)}
.ampliar{margin-top:1.2rem;background:#fff;border:1px solid var(--linea);border-radius:12px;padding:1rem 1.1rem;font-size:.9rem}
.ampliar ul{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.45rem}
.ampliar li{display:grid;grid-template-columns:1fr auto;gap:0 .8rem;align-items:baseline}
.ampliar li b{font-family:var(--mono)}
.ampliar li small{grid-column:1/-1;color:var(--gris);font-size:.8rem}
.ampliar-nota{margin-top:.6rem;color:var(--gris);font-size:.8rem}
.plan .nota{font-size:.82rem;color:var(--gris);border-top:1px dashed var(--linea);padding-top:.8rem}
.plan .btn{justify-content:center}
.hosting{margin-top:clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:2rem;align-items:start}
@media (max-width:900px){.hosting{grid-template-columns:1fr}}
.hosting h3{font-size:var(--s3);font-weight:600}
.hosting .intro p{color:#3a3a38;margin-top:.7rem}
.sello{display:inline-flex;gap:.5rem;align-items:center;margin-top:1rem;background:#fff;border:1px solid var(--linea);border-radius:10px;padding:.6rem .8rem;font-size:.88rem;font-weight:600}
.sello::before{content:"</>";font-family:var(--mono);color:var(--rojo);font-size:.85rem}
.tabla-scroll{overflow-x:auto;background:#fff;border:1px solid var(--linea);border-radius:var(--radio)}
.tabla-scroll table{width:100%;border-collapse:collapse;min-width:520px;font-size:.93rem}
.tabla-scroll th,.tabla-scroll td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla-scroll tr:last-child td{border-bottom:0}
.tabla-scroll th{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gris)}
.tabla-scroll td.cifra{font-family:var(--display);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.tabla-scroll td.cifra small{display:block;font-family:var(--texto);font-weight:500;color:var(--gris);font-size:.8rem}
.tabla-scroll td b{font-family:var(--display);font-weight:600}
.fuera{margin-top:1rem;font-size:.88rem;color:var(--gris);display:grid;gap:.4rem}
.fuera strong{color:var(--grafito)}
.fuera a{color:var(--rojo)}
.fuera-nota{font-size:.8rem}

/* IA */
.ia{background:var(--grafito);color:#fff}
.ia .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media (max-width:900px){.ia .wrap{grid-template-columns:1fr}}
.ia .cabecera-sec p{color:#cfcfcc}
.ia .etiqueta{color:#ff5a63}
.usos{display:grid;gap:1rem;margin-top:.5rem}
.uso{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding-block:.9rem;border-top:1px solid #3a3a37}
.uso code{font-family:var(--mono);color:#ff5a63;font-size:.85rem;padding-top:.2rem}
.uso h3{font-size:1.08rem;font-weight:600}
.uso p{color:#cfcfcc;font-size:.94rem;margin-top:.25rem}
.chat{background:#262624;border:1px solid #3a3a37;border-radius:18px;padding:1rem;display:grid;gap:.75rem;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.chat .chat-cab{display:flex;align-items:center;gap:.6rem;padding-bottom:.75rem;border-bottom:1px solid #3a3a37;font-size:.85rem}
.chat .chat-cab img{width:30px;height:30px;border-radius:8px;background:#fff;padding:3px}
.chat .chat-cab small{display:block;color:#9e9e9a;font-size:.75rem}
.chat .chat-cab .on{margin-left:auto;font-family:var(--mono);font-size:.7rem;color:#7fd99a}
.msg{max-width:85%;padding:.65rem .85rem;border-radius:14px;font-size:.9rem;line-height:1.45}
.msg.cli{background:#3a3a37;justify-self:end;border-bottom-right-radius:4px}
.msg.bot{background:#fff;color:var(--grafito);border-bottom-left-radius:4px}
.msg.bot b{color:var(--rojo)}
.chat .hora{font-family:var(--mono);font-size:.68rem;color:#9e9e9a;text-align:center}
.chat .cupo{font-family:var(--mono);font-size:.72rem;color:#9e9e9a;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #3a3a37;padding-top:.7rem;flex-wrap:wrap}
.chat .cupo span:last-child{color:#fff}

/* Demos */
.demos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
@media (max-width:800px){.demos-grid{grid-template-columns:1fr}}
/* Trabajos: 3 por fila en pantallas grandes; en tablet, el impar va centrado */
@media (min-width:1100px){.demos-grid:has(.trabajo:nth-child(3)){grid-template-columns:repeat(3,1fr)}}
@media (min-width:801px) and (max-width:1099px){.demos-grid .trabajo:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - .625rem)}}
.demo{border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;display:grid;min-width:0}
.demo .vista{aspect-ratio:16/8;display:grid;grid-template-columns:1fr 1fr}
.demo .vista div{position:relative}
.demo .vista div::after{position:absolute;left:8px;bottom:8px;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px}
.demo .vista .antes{background:repeating-linear-gradient(0deg,#d6dde6 0 10px,#c8d1dc 10px 11px),#d6dde6}
.demo .vista .antes::after{content:"Antes";background:#fff;color:var(--gris)}
.demo .vista .despues::after{content:"Después";background:var(--rojo);color:#fff}
.demo.mer .despues{background:linear-gradient(100deg,rgba(15,42,68,.85),rgba(15,42,68,.2)),linear-gradient(160deg,#e9d6a9,#c99a5b)}
.demo.cor .despues{background:linear-gradient(100deg,rgba(10,37,64,.85),rgba(10,37,64,.25)),linear-gradient(160deg,#9cc6d6,#5aa7b8)}
.demo .info{padding:1.1rem 1.25rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
.demo .info h3{font-size:1.05rem;font-weight:600}
.demo .info p{font-size:.85rem;color:var(--gris)}
.demo .info span{font-family:var(--mono);font-size:.75rem;color:var(--rojo)}

/* Por qué */
.porque{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media (max-width:980px){.porque{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.porque{grid-template-columns:1fr}}
.porque div{display:grid;gap:.45rem;align-content:start}
.porque h3{font-size:1.1rem;font-weight:600}
.porque p{color:#3a3a38;font-size:.95rem}
.porque code{font-family:var(--mono);font-size:.8rem;color:var(--rojo)}

/* FAQ */
.faq{background:var(--niebla)}
.faq .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:2rem}
@media (max-width:860px){.faq .wrap{grid-template-columns:1fr}}
details{border-bottom:1px solid var(--linea);padding-block:1rem}
details:first-child{border-top:1px solid var(--linea)}
summary{cursor:pointer;font-family:var(--display);font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--rojo);font-family:var(--mono);font-size:1.2rem;line-height:1}
details[open] summary::after{content:"–"}
details p{color:#3a3a38;margin-top:.6rem;font-size:.97rem;max-width:62ch}

/* Contacto */
.contacto .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:900px){.contacto .wrap{grid-template-columns:1fr}}
.canales{display:grid;gap:.9rem;margin-top:1.6rem}
.canal{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;border:1px solid var(--linea);border-radius:12px;padding:.9rem 1rem}
.canal code{font-family:var(--mono);font-size:.78rem;color:var(--rojo)}
.canal strong{font-family:var(--display);font-size:1.15rem;font-variant-numeric:tabular-nums;user-select:all}
.canal small{display:block;color:var(--gris);font-size:.8rem}
.canal button{font:600 .8rem var(--texto);border:1px solid var(--linea);background:#fff;border-radius:8px;padding:.4rem .7rem;cursor:pointer;color:var(--grafito)}
form{display:grid;gap:1rem;background:var(--niebla);border-radius:var(--radio);padding:clamp(1.25rem,3vw,2rem)}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.fila{grid-template-columns:1fr}}
label{display:grid;gap:.35rem;font-size:.85rem;font-weight:600}
input,select,textarea{font:inherit;font-size:1rem;border:1px solid #d3d3d0;border-radius:10px;padding:.75rem .85rem;background:#fff;color:var(--grafito);width:100%;min-width:0}
textarea{min-height:110px;resize:vertical}
.legal-check{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;font-size:.82rem;color:var(--gris)}
.legal-check input{width:auto;margin-top:.2rem;accent-color:var(--rojo)}
.ok{background:#fff;border:1px solid var(--linea);border-left:4px solid #2e9e5b;border-radius:10px;padding:.8rem 1rem;font-size:.92rem}

/* Pie */
.pie{background:var(--grafito);color:#cfcfcc;font-size:.9rem}
.pie .wrap{padding-block:3rem 2rem;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:860px){.pie .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.pie .wrap{grid-template-columns:1fr}}
.pie img{height:46px;width:auto}
.pie h4{font-family:var(--mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 .8rem}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.pie a{text-decoration:none;color:#cfcfcc}
.pie a:hover{color:#fff}
.pie .base{grid-column:1/-1;border-top:1px solid #3a3a37;padding-top:1.2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:#9e9e9a}

/* ---- Tema WordPress: añadidos ---- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.saltar{position:absolute;left:-9999px;top:0;z-index:100;background:var(--grafito);color:#fff;padding:.6rem 1rem;border-radius:0 0 8px 0}
.saltar:focus{left:0}
body.admin-bar .cab{top:calc(32px + env(safe-area-inset-top,0px))}
@media (max-width:782px){body.admin-bar .cab{top:calc(46px + env(safe-area-inset-top,0px))}}
.btn-wa{background:#1f9e55;color:#fff}
.btn-wa:hover{background:#178246}
.menu-movil{display:none;background:none;border:1px solid var(--linea);border-radius:10px;width:44px;height:40px;cursor:pointer;color:var(--grafito);font:600 .8rem var(--texto)}
@media (max-width:960px){.menu-movil{display:inline-grid;place-items:center}}
.panel-movil{border-top:1px solid var(--linea);background:#fff}
.panel-movil nav{display:grid;padding-block:.5rem 1rem}
.panel-movil a{padding:.75rem 0;text-decoration:none;font-weight:600;border-bottom:1px solid var(--gris-claro)}
.aviso-form{border-radius:10px;padding:.8rem 1rem;font-size:.92rem;background:#fff;border:1px solid var(--linea)}
.aviso-form.ok{border-left:4px solid #2e9e5b}
.aviso-form.error{border-left:4px solid var(--rojo)}
.campo-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.canal a{text-decoration:none}
/* Páginas interiores (legales, mi cuenta, 404) */
.pagina{padding-block:clamp(2.5rem,4.5vw,4rem)}
.pagina .wrap{max-width:820px}
.pagina h1{font-size:var(--s4);font-weight:700;margin-bottom:1.5rem}
.contenido{display:grid;gap:1rem}
.contenido h2{font-size:var(--s3);font-weight:600;margin-top:1.2rem}
.contenido h3{font-size:1.15rem;font-weight:600;margin-top:.8rem}
.contenido p,.contenido li{color:#2f2f2d;max-width:68ch}
.contenido a{color:var(--rojo)}
.contenido ul,.contenido ol{padding-left:1.2rem;display:grid;gap:.4rem;margin:0}
.contenido table{border-collapse:collapse;width:100%}
.contenido td,.contenido th{border:1px solid var(--linea);padding:.5rem .7rem;text-align:left}

/* Banner de cookies (Complianz) con los colores y fuentes de maswebs */
body .cmplz-cookiebanner{
  --cmplz_banner_border_radius:14px !important;
  --cmplz_text_color:#1D1D1B !important;
  --cmplz_hyperlink_color:#E30613 !important;
  --cmplz_button_border_radius:999px !important;
  --cmplz_button_accept_background_color:#E30613 !important;
  --cmplz_button_accept_border_color:#E30613 !important;
  --cmplz_button_accept_text_color:#FFFFFF !important;
  --cmplz_button_deny_background_color:#FFFFFF !important;
  --cmplz_button_deny_border_color:#1D1D1B !important;
  --cmplz_button_deny_text_color:#1D1D1B !important;
  --cmplz_button_settings_background_color:#FFFFFF !important;
  --cmplz_button_settings_border_color:#E2E2E0 !important;
  --cmplz_button_settings_text_color:#1D1D1B !important;
  --cmplz_slider_active_color:#E30613 !important;
  font-family:var(--texto) !important;
}
body .cmplz-cookiebanner .cmplz-title,body .cmplz-cookiebanner .cmplz-btn{font-family:var(--display) !important;font-weight:600}

/* Trabajos: comparador antes/después con capturas reales */
.trabajo{background:#fff}
.trabajo-cmp{position:relative;aspect-ratio:960/526;overflow:hidden;background:var(--niebla);border-bottom:1px solid var(--linea)}
.trabajo-cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.trabajo-cmp img.despues{clip-path:inset(0 0 0 var(--corte,50%))}
.trabajo-cmp .linea{position:absolute;top:0;bottom:0;left:var(--corte,50%);width:3px;background:var(--rojo);transform:translateX(-1.5px);pointer-events:none}
.trabajo-cmp .linea::after{content:"</>";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--rojo);color:#fff;font-family:var(--mono);font-size:12px;padding:6px 7px;border-radius:8px}
.trabajo-cmp .etq-cmp{top:10px}
.trabajo-rango{width:calc(100% - 2.5rem);margin:.9rem 1.25rem 0;accent-color:var(--rojo)}
.trabajo .info a{font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--rojo);text-decoration:none;white-space:nowrap}
.trabajo .info a::after{content:" →"}
.trabajo .fuente{padding:0 1.25rem 1rem;font-size:.75rem;color:var(--gris)}

/* ---- Revisión de visualización (08/11/2026) ---- */
/* Cabecera: el botón nunca se parte y el menú se compacta en portátiles pequeños */
.cab .btn{white-space:nowrap}
@media (max-width:1180px){.cab .tel-txt{display:none}.menu{gap:1rem;font-size:.9rem}.cab .wrap{gap:1rem}}
@media (max-width:520px){.cab .btn{padding:.55rem .9rem;font-size:.85rem}.menu-movil{width:auto;padding:0 .7rem}}
/* La tabla de hosting no debe ensanchar la cuadrícula en móvil */
.hosting > *{min-width:0}
/* Pasos en tres columnas también en tablet */
@media (min-width:641px) and (max-width:820px){.pasos{grid-template-columns:repeat(3,1fr)}}
/* Áreas táctiles más cómodas */
.canal a{display:inline-block;padding-block:.35rem}
.trabajo .info a{display:inline-block;padding:.6rem 0}
.legal-check input{width:20px;height:20px;flex:0 0 20px;margin-top:.05rem}
.legal-check a{display:inline-block;padding-block:.15rem}
/* Banner de cookies a lo ancho en móvil */
@media (max-width:600px){
  body .cmplz-cookiebanner{width:auto!important;max-width:none!important;left:8px!important;right:8px!important;bottom:8px!important;grid-template-columns:1fr!important}
  body .cmplz-cookiebanner .cmplz-buttons{flex-direction:column}
  body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{width:100%}
}

.logo picture,.pie picture{display:block}

/* ==== Cabecera v2 (08/11/2026) ==== */
:root{--cab-h:68px}
header.cab{transition:box-shadow .2s ease,background .2s ease}
header.cab.con-sombra{box-shadow:0 6px 24px -14px rgba(29,29,27,.35)}
header.cab .wrap{min-height:var(--cab-h);padding-block:.5rem;gap:1.25rem}
header.cab .logo{flex:0 0 auto}
/* Menú de escritorio con subrayado rojo y sección activa */
header.cab .menu{gap:.35rem;font-size:.95rem}
header.cab .menu a{position:relative;padding:.55rem .7rem;border-radius:8px;color:var(--grafito);font-weight:500;white-space:nowrap}
header.cab .menu a::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.3rem;height:2px;background:var(--rojo);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
header.cab .menu a:hover{color:var(--grafito);background:var(--niebla)}
header.cab .menu a:hover::after,header.cab .menu a[aria-current="true"]::after{transform:scaleX(1)}
header.cab .menu a[aria-current="true"]{color:var(--rojo)}
header.cab .acciones{gap:.5rem;flex:0 0 auto}
header.cab .cuenta{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .7rem;border-radius:8px;color:var(--grafito);font-weight:600}
header.cab .cuenta:hover{background:var(--niebla)}
header.cab .cuenta svg{color:var(--rojo)}
header.cab .icono-cab{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--linea);place-items:center;color:var(--grafito);text-decoration:none}
header.cab .icono-cab.llamar{color:var(--rojo)}
/* Botón hamburguesa animado */
header.cab .hamburguesa{display:none;width:44px;height:44px;border-radius:12px;border:0;background:var(--grafito);cursor:pointer;position:relative;padding:0}
header.cab .hamburguesa span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:#fff;transition:transform .25s ease,opacity .2s ease,top .25s ease}
header.cab .hamburguesa span:nth-child(1){top:15px}
header.cab .hamburguesa span:nth-child(2){top:21px;right:18px}
header.cab .hamburguesa span:nth-child(3){top:27px}
header.cab .hamburguesa[aria-expanded="true"]{background:var(--rojo)}
header.cab .hamburguesa[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
header.cab .hamburguesa[aria-expanded="true"] span:nth-child(2){opacity:0}
header.cab .hamburguesa[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}
.menu-movil{display:none!important}
/* Panel móvil a pantalla completa bajo la cabecera */
header.cab .panel-movil{position:fixed;left:0;right:0;top:calc(var(--cab-top,0px) + var(--cab-h));bottom:0;background:#fff;border-top:1px solid var(--linea);overflow-y:auto;overscroll-behavior:contain;z-index:49;animation:panelEntra .22s ease}
header.cab .panel-movil[hidden]{display:none}
@keyframes panelEntra{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
header.cab .panel-dentro{display:grid;gap:1.5rem;padding:1rem max(16px,env(safe-area-inset-right,0px)) calc(1.5rem + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));max-width:640px;margin:0 auto}
header.cab .panel-movil nav{display:grid;padding:0;gap:0}
header.cab .panel-movil nav a{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:1rem;padding:1rem .25rem;border-bottom:1px solid var(--gris-claro);text-decoration:none;color:var(--grafito);font-weight:400}
header.cab .panel-movil nav a::after{content:"";grid-row:1/3;grid-column:2;width:9px;height:9px;border-top:2px solid var(--rojo);border-right:2px solid var(--rojo);transform:rotate(45deg)}
header.cab .panel-movil nav strong{font-family:var(--display);font-size:1.3rem;font-weight:600;line-height:1.2}
header.cab .panel-movil nav small{color:var(--gris);font-size:.85rem}
header.cab .panel-ctas{display:grid;gap:.6rem}
header.cab .panel-ctas .btn{justify-content:center;padding:1rem 1.2rem;font-size:1.05rem}
header.cab .panel-dos{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
header.cab .panel-pie{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--gris)}
header.cab .panel-pie a{color:var(--grafito);font-weight:600;text-decoration:none}
body.menu-abierto{overflow:hidden}
/* Puntos de corte */
@media (max-width:1180px){header.cab .menu a{padding:.5rem .5rem}header.cab .menu a::after{left:.5rem;right:.5rem}header.cab .cuenta span{display:none}}
@media (max-width:960px){
  :root{--cab-h:64px}
  header.cab .menu,header.cab .cuenta{display:none}
  header.cab .icono-cab,header.cab .hamburguesa{display:inline-grid}
  header.cab .hamburguesa{display:inline-block}
  header.cab .acciones{margin-left:auto}
}
@media (max-width:560px){
  header.cab .cta-cab{display:none}
  header.cab .logo img{height:34px}
}
@media (min-width:961px){header.cab .panel-movil{display:none!important}}

/* El desenfoque de fondo hacía que el panel móvil (fixed) se midiera respecto a la cabecera */
header.cab{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
header.cab .panel-movil .panel-ctas .btn{border:2px solid transparent;padding:1rem 1.2rem}
header.cab .panel-movil .panel-ctas .btn-linea{border-color:var(--grafito)}
header.cab .panel-movil .panel-pie a{border:0;padding:0}

/* ==== Proyectos a medida (08/11/2026) ==== */
.medida{background:var(--niebla)}
.medida .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:960px){.medida .wrap{grid-template-columns:1fr}}
.medida-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (max-width:560px){.medida-grid{grid-template-columns:1fr}}
.medida-item{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.2rem;display:grid;gap:.4rem;align-content:start}
.medida-item code{font-family:var(--mono);font-size:.8rem;color:var(--rojo)}
.medida-item h3{font-size:1.08rem;font-weight:600}
.medida-item p{font-size:.92rem;color:#3a3a38}
.medida-pasos{list-style:none;counter-reset:mp;margin:1.6rem 0 0;padding:0;display:grid;gap:.7rem}
.medida-pasos li{counter-increment:mp;display:grid;grid-template-columns:2rem 1fr;gap:.6rem;align-items:start;font-size:.95rem;color:#3a3a38}
.medida-pasos li::before{content:counter(mp);width:2rem;height:2rem;border-radius:50%;background:var(--grafito);color:#fff;font-family:var(--display);font-weight:600;display:grid;place-items:center;font-size:.9rem}
.medida-pasos strong{color:var(--grafito)}
.form-presu{background:#fff;border:1px solid var(--linea);box-shadow:0 20px 40px -28px rgba(29,29,27,.35)}
.form-presu h3{font-size:var(--s3);font-weight:700}
.nota-form{font-size:.82rem;color:var(--gris);text-align:center}
.enlace-medida{display:block;margin-top:1rem;padding:1rem 1.1rem;border-radius:12px;background:var(--grafito);color:#fff;text-decoration:none;font-size:.95rem}
.enlace-medida strong{color:#ff5a63;white-space:nowrap}
.enlace-medida strong::after{content:" →"}

/* ==== Ilustraciones (Magnific) y animaciones suaves (08/11/2026) ==== */
.ilu{display:block;width:100%;height:auto;max-width:100%}
.ilu-paso{max-width:240px;aspect-ratio:608/448;margin:0 0 .4rem -.5rem}
.ilu-medida{max-width:420px;margin:-.5rem 0 1.25rem}
.ilu-soporte{max-width:340px;margin:1.5rem auto 0}
@media (max-width:820px){.ilu-paso{max-width:200px}}
@media (max-width:960px){.ilu-medida{margin-inline:auto}}

/* Tarjetas que se elevan ligeramente al pasar el ratón */
.plan,.medida-item,.demo,.paso,.porque > div{transition:transform .25s ease,box-shadow .25s ease}
@media (hover:hover){
  .plan:hover,.medida-item:hover,.demo:hover{transform:translateY(-4px);box-shadow:0 18px 36px -24px rgba(29,29,27,.45)}
  .paso:hover .ilu-paso{transform:translateY(-4px) rotate(-1deg)}
  .btn-rojo:hover{box-shadow:0 10px 22px -12px rgba(227,6,19,.8)}
}
.ilu-paso{transition:transform .35s ease}
/* Flotación muy suave de las ilustraciones grandes */
@keyframes flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.ilu-medida,.ilu-soporte{animation:flotar 7s ease-in-out infinite}

/* Aparición al hacer scroll (solo si hay JS; el contenido es visible sin él) */
html.js .rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
html.js .rv.visto{opacity:1;transform:none}

/* Chat de la IA: indicador «escribiendo» */
.msg.escribiendo{display:inline-flex;gap:4px;align-items:center;padding:.75rem .9rem;width:auto}
.msg.escribiendo i{width:6px;height:6px;border-radius:50%;background:var(--gris);display:block;animation:punto 1s infinite}
.msg.escribiendo i:nth-child(2){animation-delay:.15s}.msg.escribiendo i:nth-child(3){animation-delay:.3s}
@keyframes punto{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.msg.entra{animation:msgEntra .35s ease both}
@keyframes msgEntra{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

/* Punto «en línea» que late */
.chat .chat-cab .on{animation:latido 2.4s ease-in-out infinite}
@keyframes latido{0%,100%{opacity:1}50%{opacity:.45}}

@media (prefers-reduced-motion:reduce){
  html.js .rv{opacity:1;transform:none;transition:none}
  .ilu-medida,.ilu-soporte,.chat .chat-cab .on{animation:none}
  .plan,.medida-item,.demo,.paso,.ilu-paso{transition:none}
}

/* ==== Estructura en varias páginas (08/11/2026) ==== */
header.cab .menu a[aria-current="page"]{color:var(--rojo)}
header.cab .menu a[aria-current="page"]::after{transform:scaleX(1)}
header.cab .panel-movil nav a[aria-current="page"] strong{color:var(--rojo)}
/* Cabecera de páginas interiores */
.hero-pagina{background:var(--niebla);border-bottom:1px solid var(--linea)}
.hero-pagina .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(2rem,5vw,4rem)}
.hero-pagina h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.3rem);font-weight:700;margin-top:.6rem}
.hero-pagina .bajada{margin-top:1rem;color:#3a3a38;max-width:38rem}
.hero-pagina .ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.hp-ilu{max-width:420px;justify-self:center;animation:flotar 7s ease-in-out infinite}
.migas{display:flex;gap:.5rem;font-size:.82rem;color:var(--gris);margin-bottom:.8rem}
.migas a{color:var(--gris);text-decoration:none}
.migas a:hover{color:var(--rojo)}
@media (max-width:820px){.hero-pagina .wrap{grid-template-columns:1fr}.hp-ilu{max-width:300px;grid-row:1;justify-self:start;margin-left:-.5rem}}
@media (max-width:520px){.hp-ilu{max-width:220px}}
/* Servicios de la portada */
.servicios{background:var(--niebla)}
.serv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
@media (max-width:900px){.serv-grid{grid-template-columns:1fr}}
.serv{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.4rem;display:grid;gap:.5rem;align-content:start;text-decoration:none;color:var(--grafito);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.serv .ilu{max-width:220px;margin:-.25rem 0 .25rem -.5rem;transition:transform .35s ease}
.serv-etq{font-family:var(--mono);font-size:.75rem;color:var(--rojo);text-transform:uppercase;letter-spacing:.06em}
.serv h3{font-size:1.3rem;font-weight:600}
.serv p{color:#3a3a38;font-size:.95rem}
.serv-mas{font-family:var(--display);font-weight:600;color:var(--rojo);margin-top:.4rem}
.serv-mas::after{content:" →";display:inline-block;transition:transform .2s ease}
@media (hover:hover){.serv:hover{transform:translateY(-4px);box-shadow:0 18px 36px -24px rgba(29,29,27,.45);border-color:#d6d6d3}.serv:hover .ilu{transform:translateY(-4px)}.serv:hover .serv-mas::after{transform:translateX(4px)}}
@media (max-width:900px){.serv{grid-template-columns:120px 1fr;column-gap:1rem}.serv .ilu{grid-row:1/5;max-width:120px;margin:0}}
@media (max-width:420px){.serv{grid-template-columns:1fr}.serv .ilu{grid-row:auto;max-width:160px}}
/* Banda final */
.cta-banda{background:var(--rojo);color:#fff}
.cta-banda .wrap{display:flex;justify-content:space-between;align-items:center;gap:1.5rem 2.5rem;flex-wrap:wrap;padding-block:clamp(2.5rem,5vw,3.5rem)}
.cta-banda h2{font-size:var(--s4);font-weight:700}
.cta-banda p{opacity:.92;margin-top:.4rem;max-width:40rem}
.cta-botones{display:flex;gap:.75rem;flex-wrap:wrap}
.btn-borde-blanco{border-color:#fff;color:#fff;background:transparent}
.btn-blanco:hover{background:#f3f3f3}
/* Planes de IA */
.ia-opciones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:820px}
@media (max-width:700px){.ia-opciones{grid-template-columns:1fr}}
.planes-ia{background:var(--niebla)}
@media (prefers-reduced-motion:reduce){.hp-ilu{animation:none}.serv,.serv .ilu{transition:none}}

/* Revisión multipágina (08/11/2026) */
.medida-pasos li{display:block;position:relative;padding-left:2.75rem;min-height:2rem;padding-top:.25rem}
.medida-pasos li::before{position:absolute;left:0;top:0}
.hero-pagina + .bloque{padding-top:clamp(2.5rem,3.5vw,3.25rem)}

/* ==== «Por qué maswebs» rediseñado (08/11/2026) ==== */
.porque-sec{padding-top:clamp(3rem,4.5vw,4rem)}
.porque2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media (max-width:1000px){.porque2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.porque2{grid-template-columns:1fr;gap:.75rem}}
.porque2-item{display:grid;gap:1rem;align-content:start;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.4rem;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.porque2-item::after{content:"";position:absolute;left:0;top:0;height:3px;width:42px;background:var(--rojo);transition:width .35s ease}
.porque2-icono{width:52px;height:52px;border-radius:14px;background:rgba(227,6,19,.08);display:grid;place-items:center;color:var(--rojo)}
.porque2-icono svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.porque2-item h3{font-size:1.12rem;font-weight:600;line-height:1.25}
.porque2-item p{color:#3a3a38;font-size:.95rem;margin-top:.35rem}
@media (hover:hover){.porque2-item:hover{transform:translateY(-4px);box-shadow:0 18px 36px -24px rgba(29,29,27,.45)}.porque2-item:hover::after{width:100%}}
@media (max-width:600px){
  .porque2-item{grid-template-columns:48px 1fr;gap:1rem;padding:1.1rem 1.1rem 1.1rem 1rem;align-items:start}
  .porque2-icono{width:48px;height:48px;border-radius:12px}
  .porque2-icono svg{width:26px;height:26px}
  .porque2-item h3{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){.porque2-item,.porque2-item::after{transition:none}}

/* La marca siempre en minúsculas, también dentro de textos en mayúsculas */
.marca{text-transform:none;letter-spacing:0}

/* ===== Cómo funciona: línea de tiempo (1.1.5) ===== */
.como{background:linear-gradient(180deg,var(--papel) 0,var(--niebla) 100%)}
.linea-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;position:relative}
/* Línea que une los números */
.linea-pasos::before{content:"";position:absolute;top:1.6rem;left:calc(100%/6);right:calc(100%/6);height:2px;background:repeating-linear-gradient(90deg,var(--linea) 0 10px,transparent 10px 18px);z-index:0}
.lp{position:relative;display:grid;gap:1rem;justify-items:center;align-content:start}
.lp-num{position:relative;z-index:1;width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.05rem;background:var(--papel);color:var(--grafito);border:2px solid var(--grafito);box-shadow:0 0 0 6px var(--papel)}
.lp:last-child .lp-num{background:var(--rojo);border-color:var(--rojo);color:#fff}
.lp-tarjeta{width:100%;height:100%;background:var(--papel);border:1px solid var(--linea);border-radius:18px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;box-shadow:0 14px 34px -22px rgba(29,29,27,.35);transition:transform .25s ease,box-shadow .25s ease}
.lp-ilu{background:var(--niebla);display:grid;place-items:center;padding:1.2rem 1rem .6rem;aspect-ratio:16/9}
.lp-ilu img{width:auto;height:100%;max-height:150px;max-width:100%;object-fit:contain;transition:transform .3s ease}
.lp-txt{padding:1.1rem 1.25rem 1.3rem;display:grid;gap:.5rem;align-content:start}
.lp-paso{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rojo)}
.lp-txt h3{font-size:var(--s3);font-weight:600}
.lp-txt > p:not(.lp-paso){color:#3a3a38;font-size:.97rem}
.lp-plazo{justify-self:start;display:inline-flex;align-items:center;gap:.4rem;margin-top:.35rem;padding:.35rem .75rem;border-radius:999px;background:var(--niebla);font-size:.82rem;color:#3a3a38}
.lp-plazo svg{width:15px;height:15px;fill:none;stroke:var(--rojo);stroke-width:2;stroke-linecap:round}
.lp-plazo b{color:var(--grafito)}
.lp:last-child .lp-tarjeta{border-color:#f3c2c5}
.lp:last-child .lp-plazo{background:#fdecee}
@media (hover:hover){
  .lp-tarjeta:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(29,29,27,.45)}
  .lp-tarjeta:hover .lp-ilu img{transform:translateY(-3px) rotate(-1deg)}
}
/* Franja final */
.como-final{margin-top:clamp(1.75rem,4vw,2.75rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;background:var(--grafito);color:#fff;border-radius:18px;padding:1.25rem 1.5rem}
.como-garantias{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;font-size:.95rem;color:#d6d6d3}
.como-garantias li{position:relative;padding-left:1.7rem}
.como-garantias li::before{content:"";position:absolute;left:0;top:.2em;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--rojo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat}
.como-garantias b{color:#fff;font-weight:600}
.como-botones{display:flex;flex-wrap:wrap;gap:.6rem}
.como-botones .btn{padding:.75rem 1.25rem}

/* Tablet: tarjetas en horizontal, una debajo de otra, con la línea vertical */
@media (max-width:900px){
  .linea-pasos{grid-template-columns:1fr;gap:1.1rem}
  .linea-pasos::before{top:1.6rem;bottom:1.6rem;left:1.6rem;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--linea) 0 10px,transparent 10px 18px)}
  .lp{grid-template-columns:3.2rem minmax(0,1fr);justify-items:stretch;align-items:start;gap:1rem}
  .lp-tarjeta{grid-template-rows:none;grid-template-columns:minmax(0,200px) minmax(0,1fr)}
  .lp-ilu{aspect-ratio:auto;padding:1rem}
  .lp-ilu img{max-height:120px}
}
/* Móvil */
@media (max-width:560px){
  .linea-pasos{gap:1.6rem}
  .linea-pasos::before{display:none}
  .lp{display:block;position:relative;padding-top:1.1rem}
  .lp-num{position:absolute;top:0;left:1rem;z-index:2;width:2.6rem;height:2.6rem;font-size:.9rem;box-shadow:0 0 0 4px var(--papel)}
  .lp-tarjeta{grid-template-columns:1fr}
  .lp-ilu{padding:.9rem .8rem .3rem;aspect-ratio:16/8}
  .lp-ilu img{max-height:110px}
  .lp-txt{padding:.9rem 1rem 1.1rem}
  .como-final{padding:1.1rem}
  .como-garantias{flex-direction:column}
  .como-botones,.como-botones .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.lp-tarjeta,.lp-ilu img{transition:none}}

/* Ajustes por dispositivo (1.1.9): tablet y «versión de escritorio» en el móvil (980 px) */
.hero .bajada strong,.hero .datos strong{white-space:nowrap}
@media (min-width:901px) and (max-width:1180px){
	.hero .wrap{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
	.hero .datos{flex-wrap:nowrap;gap:1.25rem}
	.hero .datos strong{font-size:1.2rem}
	.hero .datos span{font-size:.8rem}
}
@media (max-width:900px){.hero-visual{width:100%;max-width:560px;margin-inline:auto}}
@media (min-width:641px) and (max-width:800px){
	.demos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.demos-grid .trabajo:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - .625rem)}
}
@media (min-width:561px) and (max-width:1180px){.como-garantias{flex-direction:column;gap:.5rem}}
@media (min-width:601px) and (max-width:900px){.plan ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}}
@media (min-width:601px) and (max-width:820px){
	.hero-pagina .wrap{grid-template-columns:minmax(0,1fr) 200px}
	.hp-ilu{grid-row:auto;max-width:200px;justify-self:end;margin-left:0}
}

/* Cabecera de inicio v2 (1.2.0): sello, fondo con brillo, etiquetas flotantes y franja de garantías */
.hero{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(2rem,4vw,4rem) clamp(2.5rem,3.5vw,3.25rem)}
.hero-fondo{position:absolute;inset:0;z-index:-1;background:radial-gradient(40rem 28rem at 80% 38%,rgba(227,6,19,.09),transparent 70%),radial-gradient(28rem 20rem at 5% 0%,rgba(29,29,27,.05),transparent 70%)}
.hero-fondo::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(29,29,27,.14) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 55% 60% at 72% 42%,#000 15%,transparent 72%);mask-image:radial-gradient(ellipse 55% 60% at 72% 42%,#000 15%,transparent 72%)}
.hero .wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);row-gap:clamp(2rem,4vw,3.25rem)}
.hero-sello{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grafito);background:#fff;border:1px solid var(--linea);border-radius:999px;padding:.42rem .9rem .42rem .75rem;box-shadow:0 8px 18px -14px rgba(29,29,27,.45)}
.hero-sello .punto{width:8px;height:8px;border-radius:50%;background:var(--rojo);animation:latidoRojo 2.4s ease-out infinite}
@keyframes latidoRojo{0%{box-shadow:0 0 0 0 rgba(227,6,19,.45)}70%,100%{box-shadow:0 0 0 9px rgba(227,6,19,0)}}
.hero h1{margin-top:1.1rem}
.subrayado{white-space:nowrap;background:linear-gradient(transparent 68%,rgba(227,6,19,.13) 68% 90%,transparent 90%)}
.hero .ctas .btn svg{width:18px;height:18px;flex:none}
.hero .btn-rojo svg{transition:transform .2s ease}
.hero .btn-rojo:hover svg{transform:translateX(3px)}
.hero-nota{display:flex;align-items:center;gap:.45rem;margin-top:1rem;font-size:.86rem;color:var(--gris)}
.hero-nota svg{width:16px;height:16px;color:#1a9b4b;flex:none}
/* comparador: el texto de la web nueva a la derecha, para que se vea con el corte a la mitad */
.nueva .n-hero{align-items:flex-end;text-align:right}
.nueva .n-hero svg{right:auto;left:0}
.hero-visual{position:relative}
.chip-h{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--linea);border-radius:999px;padding:.45rem .85rem;font-size:.78rem;font-weight:600;color:var(--grafito);box-shadow:0 14px 28px -16px rgba(29,29,27,.55);animation:flotar 6s ease-in-out infinite;pointer-events:none}
.chip-h svg{width:15px;height:15px;color:var(--rojo);flex:none}
.chip-h.c1{top:-.9rem;right:8%}
.chip-h.c2{bottom:4.2rem;left:-1.4rem;animation-delay:-3s}
.hero .rango{background:#fff;border:1px solid var(--linea);border-radius:999px;padding:.45rem 1rem;margin:1rem 14px 0}
/* franja de garantías a todo el ancho */
.hero .datos{grid-column:1/-1;list-style:none;margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}
.hero .datos li{display:flex;align-items:center;gap:.8rem;min-width:0;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:.85rem 1rem;box-shadow:0 14px 30px -26px rgba(29,29,27,.6)}
.hero .datos .ico{flex:none;width:40px;height:40px;border-radius:11px;background:#fdecee;color:var(--rojo);display:grid;place-items:center}
.hero .datos .ico svg{width:20px;height:20px}
.hero .datos strong{display:block;font-size:1.12rem;line-height:1.15;white-space:nowrap}
.hero .datos small{display:block;font-size:.8rem;line-height:1.3;color:var(--gris)}
@media (min-width:901px) and (max-width:1180px){.hero .wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.hero .datos strong{font-size:1.05rem}.hero .ctas{gap:.6rem}.hero .ctas .btn{padding:.8rem 1.1rem;font-size:.95rem}}
@media (max-width:900px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.hero .datos{grid-template-columns:repeat(2,minmax(0,1fr))}.chip-h.c2{left:-.4rem}}
@media (max-width:560px){
	.hero .datos{gap:.6rem}
	.hero .datos li{flex-direction:column;align-items:flex-start;gap:.55rem;padding:.8rem}
	.hero .datos .ico{width:34px;height:34px}
	.hero .datos strong{font-size:1rem;white-space:normal}
	.chip-h{font-size:.7rem;padding:.35rem .65rem}
	.chip-h.c1{right:4%}
	.chip-h.c2{left:0;bottom:3.6rem}
	.hero .ctas .btn{flex:1 1 100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.hero-sello .punto,.chip-h{animation:none}}

/* Página de IA v2 (1.2.1): funciones, sectores, puesta en marcha, control del consumo y confianza */
.ia-funciones{background:#fff}
.iaf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.iaf{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.4rem 1.4rem 1.5rem;display:grid;gap:.55rem;align-content:start;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.iaf-ico{width:46px;height:46px;border-radius:12px;background:#fdecee;color:var(--rojo);display:grid;place-items:center;margin-bottom:.35rem}
.iaf-ico svg{width:24px;height:24px}
.iaf h3{font-size:1.1rem;font-weight:600}
.iaf p{color:#4a4a47;font-size:.93rem}
@media (hover:hover){.iaf:hover{transform:translateY(-4px);box-shadow:0 18px 36px -24px rgba(29,29,27,.45);border-color:#d6d6d3}}
@media (max-width:960px){.iaf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.iaf-grid{grid-template-columns:1fr;gap:.75rem}.iaf{grid-template-columns:42px 1fr;column-gap:.9rem;row-gap:.3rem;padding:1.1rem}.iaf-ico{grid-row:1/3;width:42px;height:42px;margin:0}}
.iaf-sectores{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}
.iaf-sect-tit{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.iaf-sectores ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.iaf-sectores li{background:var(--niebla);border:1px solid var(--linea);border-radius:999px;padding:.35rem .85rem;font-size:.85rem;font-weight:500}
.ia-pasos{background:var(--niebla)}
.iap{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.iap li{position:relative;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.5rem 1.4rem}
.iap li:not(:last-child)::after{content:"";position:absolute;top:2.9rem;right:calc(-1.1rem - 1px);width:1.1rem;border-top:2px dashed #c9c9c6}
.iap-num{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--grafito);font-family:var(--display);font-weight:700;font-size:.95rem;background:#fff;margin-bottom:.9rem}
.iap li:last-child .iap-num{background:var(--rojo);border-color:var(--rojo);color:#fff}
.iap h3{font-size:1.1rem;font-weight:600}
.iap p{margin-top:.4rem;color:#4a4a47;font-size:.93rem}
@media (max-width:700px){.iap{grid-template-columns:1fr;gap:1.1rem}.iap li:not(:last-child)::after{top:auto;bottom:calc(-1.1rem - 1px);right:auto;left:2.75rem;width:0;height:1.1rem;border-top:0;border-left:2px dashed #c9c9c6}}
.planes-ia{background:#fff}
.ia-opciones{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,.9fr);max-width:none;align-items:stretch}
.ia-control{background:var(--grafito);color:#fff;border-radius:var(--radio);padding:1.6rem;display:grid;gap:1.1rem;align-content:start}
.ia-control h3{font-size:1.2rem;font-weight:600}
.ia-control ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.ia-control li{display:grid;grid-template-columns:34px 1fr;gap:.75rem;align-items:start;font-size:.9rem;color:#d6d6d3;line-height:1.5}
.ia-control li svg{width:34px;height:34px;padding:7px;border-radius:10px;background:rgba(255,90,99,.15);color:#ff5a63}
.ia-control b{color:#fff;font-weight:600}
@media (max-width:1000px){.ia-opciones{grid-template-columns:repeat(2,minmax(0,1fr))}.ia-control{grid-column:1/-1}.ia-control ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.ia-opciones{grid-template-columns:1fr}.ia-control ul{grid-template-columns:1fr}}
.ia-confianza{list-style:none;margin:2rem 0 0;padding:1.5rem 0 0;border-top:1px solid var(--linea);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.75rem}
.ia-confianza li{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:#4a4a47}
.ia-confianza svg{width:22px;height:22px;flex:none;color:var(--rojo);margin-top:.1rem}
.ia-confianza b{color:var(--grafito)}
@media (max-width:820px){.ia-confianza{grid-template-columns:1fr}}
.ia-opciones .plan ul{grid-template-columns:1fr}

/* Cabecera de páginas interiores en móvil (1.2.2): título arriba, ilustración como insignia junto a la etiqueta y botones del mismo ancho */
@media (max-width:600px){
	.hero-pagina .wrap{grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;row-gap:0;padding-block:1.5rem 2.25rem;align-items:start}
	.hero-pagina .hp-texto{display:contents}
	.hero-pagina .migas{grid-column:1;grid-row:1;margin:0 0 .45rem;align-self:end}
	.hero-pagina .etiqueta{grid-column:1;grid-row:2;align-self:start;margin:0}
	.hero-pagina .hp-ilu{grid-column:2;grid-row:1/3;align-self:center;justify-self:end;width:104px;max-width:104px;margin:0;padding:8px;background:#fff;border:1px solid var(--linea);border-radius:22px;box-shadow:0 14px 28px -20px rgba(29,29,27,.55)}
	.hero-pagina h1,.hero-pagina .bajada,.hero-pagina .ctas{grid-column:1/-1}
	.hero-pagina h1{margin-top:1.1rem}
	.hero-pagina .ctas .btn{flex:1 1 100%;justify-content:center}
}
/* Trabajos con 4 ejemplos (1.2.4): en escritorio, 2×2 en lugar de 3 + 1 */
@media (min-width:1100px){.demos-grid:has(.trabajo:nth-child(4)):not(:has(.trabajo:nth-child(5))){grid-template-columns:repeat(2,minmax(0,1fr))}}
