@charset "utf-8";
/* ═══════════════════════════════════════════════════════════════════════
   Auto RS Barcelona · sistema visual v3
   Las dos primeras versiones eran de línea dura y radio de 2 px —estética de
   expediente— y se veían viejas. Esto es lo contrario: superficies grandes con
   esquinas muy redondeadas, gris de fondo, titulares enormes y bento.

   Sigue sin build, sin CDN y sin fuentes de terceros. Los componentes de la
   librería de la casa (rejilla-bento, tarjeta-spotlight, revelado-scroll,
   contador, borde-gradiente) viven en assets/ui/ y se adaptan SÓLO con sus
   variables --lui-*; nunca se edita su CSS.

   Contrastes calculados, no elegidos:
     #1d1d1f sobre #f5f5f7 = 15,5   ·  #5f5f66 sobre #f5f5f7 = 5,8
     #a1a1a6 sobre #000    = 8,2    ·  #ff453a sobre #000     = 6,2
     #b71c1c con blanco encima = 6,6 (el rojo de marca sólo da 4,2: no vale)
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  --neg:#000;
  --neg-2:#1d1d1f;
  --neg-3:#2c2c2e;
  --claro:#f5f5f7;
  --blanco:#fff;

  --tx:#1d1d1f;
  --tx-2:#5f5f66;
  --tx-i:#f5f5f7;
  --tx-i2:#a1a1a6;

  --ac:#ff453a;
  --ac-tx:#c62828;
  --ac-rl:#b71c1c;
  --ac-claro:#ff6b66;

  --linea:rgb(0 0 0/.08);
  --linea-i:rgb(255 255 255/.12);

  --r:22px;
  --r-sm:14px;
  --r-lg:32px;
  --r-pill:980px;

  --env:1180px;
  --gut:clamp(1.25rem,4vw,2.5rem);

  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;

  --sombra:0 1px 2px rgb(0 0 0/.04),0 8px 28px rgb(0 0 0/.06);
  --sombra-alta:0 2px 6px rgb(0 0 0/.06),0 18px 50px rgb(0 0 0/.10);
  --t:.4s cubic-bezier(.22,.61,.36,1);

  --lui-acento:#ff453a;
  --lui-superficie:#fff;
  --lui-linea:transparent;
  --lui-atenuado:#5f5f66;
  --lui-hueco:1.25rem;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;background:var(--claro);color:var(--tx);
  font-family:var(--sans);
  font-size:clamp(1rem,.97rem + .15vw,1.0625rem);
  line-height:1.55;letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.032em;line-height:1.06;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--ac-tx);outline-offset:3px;border-radius:6px}
.sec-oscura :focus-visible,.hero2 :focus-visible,.pie :focus-visible,.split-oscuro :focus-visible,.portadilla :focus-visible,.cierre2 :focus-visible{outline-color:var(--ac-claro)}
.visualmente-oculto{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ac-rl);color:#fff;padding:.8rem 1.4rem;border-radius:var(--r-pill)}
.saltar:focus{left:1rem;top:1rem}

/* ── contenedores y ritmo ───────────────────────────────────────── */
.env{width:min(var(--env),100%);margin-inline:auto;padding-inline:var(--gut)}
.env-estrecho{width:min(760px,100%);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:clamp(4.5rem,10vw,9rem)}
.sec-clara{background:var(--claro);color:var(--tx)}
.sec-oscura{background:var(--neg);color:var(--tx-i)}
.sec-acento{background:var(--neg-2);color:var(--tx-i)}
.sec-sin-top{padding-top:0}

.kicker{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:var(--ac-tx);margin-bottom:.9rem}
.sec-oscura .kicker,.sec-acento .kicker,.split-oscuro .kicker,.hero2 .kicker,.cierre2 .kicker,.portadilla .kicker,.pie .kicker{color:var(--ac-claro)}

.t-sec{font-size:clamp(2rem,1.1rem + 3.4vw,3.75rem);max-width:17ch;letter-spacing:-.035em}
.sec-intro{margin-top:1.15rem;max-width:58ch;color:var(--tx-2);font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.5}
.sec-oscura .sec-intro,.sec-acento .sec-intro,.split-oscuro .sec-intro{color:var(--tx-i2)}
.sec-cab{margin-bottom:clamp(2.5rem,5vw,4rem)}
.sec-cab-fila{display:flex;gap:2rem;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}

/* ── botones píldora ────────────────────────────────────────────── */
.bot{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:50px;padding:.85rem 1.6rem;border:1px solid transparent;border-radius:var(--r-pill);
  font:inherit;font-weight:600;font-size:1rem;letter-spacing:-.01em;text-decoration:none;cursor:pointer;
  transition:background-color var(--t),color var(--t),border-color var(--t),transform .2s ease;
}
.bot-pri{background:var(--ac-rl);color:#fff}
.bot-pri:hover{background:#9c1717;transform:translateY(-1px)}
.bot-sec{background:rgb(255 255 255/.14);color:inherit;border-color:rgb(255 255 255/.28);backdrop-filter:blur(12px)}
.sec-clara .bot-sec{background:rgb(0 0 0/.05);border-color:rgb(0 0 0/.12)}
.bot-sec:hover{background:rgb(255 255 255/.24);transform:translateY(-1px)}
.sec-clara .bot-sec:hover{background:rgb(0 0 0/.09)}
.bot-lg{min-height:58px;padding:1rem 2.1rem;font-size:1.0625rem}
.bot-sm{min-height:38px;padding:.45rem 1.1rem;font-size:.9375rem}
.bot:active{transform:translateY(1px)}

.enlace-fl{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:600;color:var(--ac-tx)}
.enlace-fl svg{transition:transform var(--t)}
.enlace-fl:hover svg{transform:translateX(5px)}
.sec-oscura .enlace-fl{color:var(--ac-claro)}

/* ── cabecera flotante de cristal ───────────────────────────────── */
.cab{position:sticky;top:0;z-index:40;padding:.6rem var(--gut) 0}
.cab-in{
  width:min(var(--env),100%);margin-inline:auto;
  min-height:58px;display:flex;align-items:center;gap:1.25rem;
  padding:.4rem .5rem .4rem 1.1rem;border-radius:var(--r-pill);
  background:rgb(22 22 24/.72);backdrop-filter:saturate(180%) blur(20px);
  border:1px solid rgb(255 255 255/.1);color:var(--tx-i);
  box-shadow:0 10px 40px rgb(0 0 0/.22);
}
.marca{display:flex;align-items:center;flex-shrink:0}
.marca img{width:clamp(96px,10vw,124px);height:auto}
.nav{display:flex;gap:clamp(.5rem,1vw,1rem);margin-inline:auto}
.nav a{text-decoration:none;font-size:.9375rem;font-weight:500;color:#d2d2d7;padding:.45rem .7rem;border-radius:var(--r-pill);white-space:nowrap;transition:color var(--t),background-color var(--t)}
.nav a:hover{color:#fff;background:rgb(255 255 255/.08)}
.nav a[aria-current=page]{color:#fff;background:rgb(255 255 255/.14)}
.cab-acc{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.cab-acc .bot{white-space:nowrap}
.tel-cab{font-size:.9375rem;text-decoration:none;color:#d2d2d7;white-space:nowrap;padding-inline:.4rem}
.tel-cab:hover{color:#fff}

.idiomas{position:relative}
.idi-bot{display:flex;align-items:center;gap:.3rem;min-height:38px;padding:.4rem .7rem;background:rgb(255 255 255/.1);border:0;border-radius:var(--r-pill);color:#d2d2d7;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}
.idi-bot:hover{color:#fff;background:rgb(255 255 255/.18)}
.idi-pop{position:absolute;inset:auto;margin:0;padding:.35rem;min-width:160px;background:rgb(30 30 32/.96);backdrop-filter:blur(20px);border:1px solid rgb(255 255 255/.12);border-radius:var(--r-sm);box-shadow:0 20px 50px rgb(0 0 0/.4)}
.idi-pop:popover-open{position:absolute;top:50px;right:0;left:auto}
.idi-pop a{display:block;padding:.55rem .8rem;border-radius:10px;text-decoration:none;color:#d2d2d7;font-size:.9375rem}
.idi-pop a:hover{background:rgb(255 255 255/.1);color:#fff}
.idi-pop a[aria-current=true]{color:var(--ac-claro)}

.hamb{display:none;width:42px;height:42px;background:rgb(255 255 255/.1);border:0;border-radius:50%;cursor:pointer;padding:0}
.hamb span{display:block;width:17px;height:1.5px;background:#fff;margin:4px auto;transition:transform var(--t),opacity var(--t)}
.hamb[aria-expanded=true] span:first-child{transform:translateY(2.75px) rotate(45deg)}
.hamb[aria-expanded=true] span:last-child{transform:translateY(-2.75px) rotate(-45deg)}
.menu-movil{display:none}

/* ── hero: tarjeta grande con foto ──────────────────────────────── */
.hero2{
  position:relative;isolation:isolate;overflow:hidden;
  margin:calc(-58px - 1.2rem) var(--gut) 0;border-radius:var(--r-lg);
  min-height:min(92svh,880px);display:flex;align-items:flex-end;
  padding:clamp(2rem,6vh,4rem) clamp(1.5rem,4vw,4rem) clamp(2.5rem,7vh,4.5rem);
  background:var(--neg);color:var(--tx-i);
}
.hero2 picture{position:absolute;inset:0;z-index:-2;display:block}
.hero2-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-2}
.hero2-velo{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgb(0 0 0/.92) 0%,rgb(0 0 0/.7) 36%,rgb(0 0 0/.15) 72%,rgb(0 0 0/.45) 100%),
             linear-gradient(to right,rgb(0 0 0/.7) 0%,rgb(0 0 0/.08) 58%,transparent 100%)}
.hero2-in{width:min(var(--env),100%);margin-inline:auto}
.hero2 h1{font-size:clamp(2.4rem,1.1rem + 5.6vw,5.5rem);letter-spacing:-.04em;max-width:14ch}
.hero2 h1 span{display:block}
.h1-ac{color:var(--ac-claro)}
.hero2 .hero-sub{margin-top:1.4rem;max-width:50ch;color:#e8e8ed;font-size:clamp(1.0625rem,1rem + .4vw,1.3125rem);line-height:1.45}
.hero2 .hero-bots{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}
.hero2 .hero-pie{margin-top:1.4rem;font-size:.9375rem;color:#b9b9c0;max-width:46ch}

/* ── banda de datos: fichas blancas ─────────────────────────────── */
.banda{background:var(--claro);padding:clamp(1.25rem,3vw,2rem) 0 0}
.banda ul{width:min(var(--env),100%);margin-inline:auto;padding-inline:var(--gut);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:.75rem}
.banda li{display:flex;align-items:flex-start;gap:.6rem;background:var(--blanco);border-radius:var(--r-sm);
  padding:1rem 1.15rem;font-size:.9375rem;line-height:1.4;color:var(--tx-2);box-shadow:var(--sombra)}
.banda svg{color:var(--ac-tx);flex-shrink:0;margin-top:.2rem}

/* ── tarjetas ───────────────────────────────────────────────────── */
.probs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.25rem}
.prob{background:var(--blanco);border-radius:var(--r);padding:clamp(1.5rem,3vw,2rem);box-shadow:var(--sombra);transition:transform var(--t),box-shadow var(--t)}
.prob:hover{transform:translateY(-4px);box-shadow:var(--sombra-alta)}
.sec-oscura .prob{background:var(--neg-2);box-shadow:none}
.prob-n{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  margin-bottom:1.25rem;background:color-mix(in srgb,var(--ac-tx) 12%,transparent);color:var(--ac-tx);font-size:.9375rem;font-weight:700}
.sec-oscura .prob-n{background:rgb(255 255 255/.1);color:var(--ac-claro)}
.prob h3{font-size:1.3125rem;margin-bottom:.6rem;letter-spacing:-.025em}
.prob p{color:var(--tx-2)}
.sec-oscura .prob p{color:var(--tx-i2)}

/* ── pasos ──────────────────────────────────────────────────────── */
.pasos{display:grid;gap:1rem}
.paso{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start;
  background:rgb(255 255 255/.06);border-radius:var(--r);padding:1.4rem 1.5rem;transition:background-color var(--t)}
.paso:hover{background:rgb(255 255 255/.1)}
.sec-clara .paso{background:var(--blanco);box-shadow:var(--sombra)}
.paso-n{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border-radius:50%;
  background:rgb(255 255 255/.1);color:var(--ac-claro);font-size:1rem;font-weight:700}
.sec-clara .paso-n{background:color-mix(in srgb,var(--ac-tx) 12%,transparent);color:var(--ac-tx)}
.paso-cuando{font-size:.875rem;font-weight:600;color:var(--ac-claro);margin-bottom:.3rem}
.sec-clara .paso-cuando{color:var(--ac-tx)}
.paso h2,.paso h3{font-size:1.25rem;margin-bottom:.45rem;letter-spacing:-.025em}
.paso p{color:var(--tx-i2);max-width:62ch}
.sec-clara .paso p{color:var(--tx-2)}
.proceso-total{margin-top:1.75rem;padding:1.25rem 1.5rem;border-radius:var(--r);background:rgb(255 69 58/.14);color:#fff;font-size:1.0625rem;font-weight:500;max-width:52ch}
.sec-clara .proceso-total{background:var(--blanco);color:var(--tx);box-shadow:var(--sombra)}

/* ── calculadora ────────────────────────────────────────────────── */
.calc{display:grid;grid-template-columns:minmax(280px,1fr) minmax(330px,1.1fr);gap:clamp(1.25rem,3vw,2rem);align-items:start}
.calc-campos{display:grid;gap:1.35rem;background:var(--blanco);border-radius:var(--r);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--sombra)}
.campo{display:block}
.campo>span,.campo>legend,.campo-radio legend{display:block;font-size:.9375rem;font-weight:600;margin-bottom:.5rem}
.campo em{font-style:normal;font-size:.8125rem;font-weight:500;color:var(--tx-2);margin-left:.35rem}
.campo small{display:block;margin-top:.45rem;font-size:.875rem;color:var(--tx-2);line-height:1.4}
.campo input[type=text],.campo input[type=number],.campo input[type=tel],.campo input[type=email],
.campo select,.campo textarea,.campo-euro input{
  width:100%;min-height:52px;padding:.8rem 1rem;background:var(--claro);border:1px solid transparent;border-radius:var(--r-sm);
  font:inherit;font-size:1.0625rem;color:var(--tx);transition:border-color var(--t),background-color var(--t),box-shadow var(--t)}
.campo textarea{min-height:auto;line-height:1.5;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{background:var(--blanco);border-color:var(--ac-tx);outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--ac-tx) 14%,transparent)}
.campo select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--tx-2) 50%),linear-gradient(135deg,var(--tx-2) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.6rem}
.campo-euro{position:relative;display:block}
.campo-euro::after{content:"€";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);color:var(--tx-2);pointer-events:none}
.campo-euro input{padding-right:2.4rem}
.campo-radio{border:0;padding:0;margin:0;min-inline-size:0}
.radios{display:flex;gap:.5rem;flex-wrap:wrap}
.radios label{display:inline-flex;align-items:center;min-height:46px;padding:.5rem 1.2rem;border-radius:var(--r-pill);
  background:var(--claro);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color var(--t),color var(--t)}
.radios label:has(input:checked){background:var(--tx);color:#fff}
.radios input{position:absolute;opacity:0;width:0;height:0}
.radios label:has(input:focus-visible){outline:3px solid var(--ac-tx);outline-offset:2px}

.calc-res{display:block;background:var(--neg);color:var(--tx-i);padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--r)}
.calc-tabla{width:100%;border-collapse:collapse}
.calc-tabla th{text-align:left;font-weight:400;color:var(--tx-i2);padding:.6rem 0;vertical-align:top}
.calc-tabla td{text-align:right;padding:.6rem 0;white-space:nowrap;font-variant-numeric:tabular-nums}
.calc-tabla tbody tr+tr th,.calc-tabla tbody tr+tr td{border-top:1px solid var(--linea-i)}
.calc-tabla tfoot th,.calc-tabla tfoot td{border-top:1px solid rgb(255 255 255/.3);padding-top:1.1rem;font-weight:700;color:#fff}
.calc-total{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem);letter-spacing:-.03em}
.tramo{display:inline-block;font-size:.8125rem;color:var(--ac-claro);background:rgb(255 69 58/.16);border-radius:var(--r-pill);padding:.1rem .6rem;margin-left:.45rem;white-space:nowrap}
.calc-iva,.calc-aviso{margin-top:1.1rem;font-size:.875rem;line-height:1.45;color:var(--tx-i2)}
.calc-iva{color:#fff;background:rgb(255 69 58/.16);border-radius:var(--r-sm);padding:.8rem 1rem}
.calc-res .bot{margin-top:1.5rem;width:100%}

/* ── bento (componente de la librería, adaptado por variables) ──── */
[data-lui~="bento"] > *{border-radius:var(--r)!important;box-shadow:var(--sombra);padding:clamp(1.5rem,3vw,2rem)!important}
.sec-oscura [data-lui~="bento"]{--lui-superficie:#1d1d1f;--lui-atenuado:#a1a1a6}
.sec-oscura [data-lui~="bento"] > *{box-shadow:none}
[data-lui~="bento"] h3{font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);letter-spacing:-.03em}
.bento-etqs{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:1.1rem}
.bento-etqs li{font-size:.8125rem;font-weight:500;color:var(--tx-2);background:var(--claro);border-radius:var(--r-pill);padding:.3rem .75rem}
.sec-oscura .bento-etqs li{background:rgb(255 255 255/.1);color:#d2d2d7}
.bento-cifra{font-size:clamp(2.75rem,2rem + 3vw,4.5rem);font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--ac-tx)}
.sec-oscura .bento-cifra{color:var(--ac-claro)}
.bento-pie{position:relative;z-index:1;margin-top:auto;font-size:1.25rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.6rem}
.bento-pie svg{transition:transform var(--t)}
[data-lui~="bento"] a:hover .bento-pie svg{transform:translateX(6px)}

/* ── checks ─────────────────────────────────────────────────────── */
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.checks li{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;align-items:start;
  background:rgb(255 255 255/.06);border-radius:var(--r);padding:1.35rem 1.5rem}
.sec-clara .checks li{background:var(--blanco);box-shadow:var(--sombra)}
.checks svg{color:var(--ac-claro);grid-row:1;margin-top:.35rem}
.sec-clara .checks svg{color:var(--ac-tx)}
.checks h3{font-size:1.125rem;grid-column:2;letter-spacing:-.02em}
.checks p{grid-column:2;color:var(--tx-i2);font-size:.9375rem}
.sec-clara .checks p{color:var(--tx-2)}
.checks-col{grid-template-columns:1fr}

/* ── bloque partido ─────────────────────────────────────────────── */
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1rem,2vw,1.5rem);align-items:start;
  background:var(--claro);padding:clamp(1rem,2vw,1.5rem) var(--gut) clamp(3rem,6vw,5rem)}
.split-inv{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.split-inv .split-foto{order:2}
.split-oscuro{background:var(--neg);color:var(--tx-i);padding-block:clamp(3rem,6vw,5rem)}
.split-foto{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--neg-2)}
.split-foto img{position:sticky;top:5rem;width:100%;height:min(78svh,700px);object-fit:cover}
.split-txt{padding:clamp(1rem,3vw,2.5rem) clamp(0rem,2vw,1.5rem)}
.split-txt .t-sec{max-width:15ch}

/* ── tarifa, FAQ, bloques ───────────────────────────────────────── */
.tarifa{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(1.5rem,4vw,3rem);align-items:start}
.tarifa-txt{color:var(--tx-i2);max-width:56ch;font-size:1.0625rem}
.tarifa-nota{margin-top:1.25rem;padding:1.1rem 1.4rem;border-radius:var(--r);background:rgb(255 69 58/.16);font-weight:600;color:#fff}

.faq{display:grid;gap:.75rem}
.faq details{background:var(--blanco);border-radius:var(--r);box-shadow:var(--sombra);overflow:hidden}
.faq summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.3rem 1.5rem;cursor:pointer;font-weight:600;font-size:1.0625rem;list-style:none;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq-mas{position:relative;flex-shrink:0;width:18px;height:18px;margin-top:.3rem}
.faq-mas::before,.faq-mas::after{content:"";position:absolute;background:var(--ac-tx);border-radius:2px;transition:transform var(--t),opacity var(--t)}
.faq-mas::before{inset:8.25px 0 auto;height:2px}
.faq-mas::after{inset:0 8.25px auto;width:2px;height:18px}
.faq details[open] .faq-mas::after{transform:scaleY(0);opacity:0}
.faq-r{padding:0 1.5rem 1.4rem}
.faq-r p{color:var(--tx-2);max-width:66ch}

.bloques{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.25rem}
.bloque{background:var(--blanco);border-radius:var(--r);padding:clamp(1.75rem,3vw,2.5rem);box-shadow:var(--sombra)}
.bloque h2{font-size:clamp(1.3rem,1.1rem + .7vw,1.6rem);margin-bottom:.8rem;letter-spacing:-.028em}
.bloque p{color:var(--tx-2);max-width:58ch}
.texto-largo h2{font-size:clamp(1.3rem,1.1rem + .7vw,1.6rem);margin:2.5rem 0 .9rem;letter-spacing:-.028em}
.texto-largo h2:first-child{margin-top:0}
.texto-largo p{margin-bottom:1rem;color:var(--tx-2);max-width:68ch}
.texto-largo>p:first-of-type{color:var(--tx);font-size:1.1875rem}
.legal-fecha{margin-top:3rem;font-size:.875rem;color:var(--tx-2)}

/* ── portadillas ────────────────────────────────────────────────── */
.portadilla{position:relative;background:var(--neg);color:var(--tx-i);
  margin:calc(-58px - 1.2rem) var(--gut) 0;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;
  padding:clamp(7rem,16vh,10rem) 0 clamp(3rem,7vw,5rem)}
.portadilla-corta{padding-top:clamp(6.5rem,14vh,8.5rem)}
.pd-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
.pd-velo{position:absolute;inset:0;z-index:-1;background:linear-gradient(to right,rgb(0 0 0/.9) 0%,rgb(0 0 0/.66) 55%,rgb(0 0 0/.45) 100%)}
.portadilla h1{font-size:clamp(2.2rem,1.2rem + 4vw,4.25rem);max-width:17ch;letter-spacing:-.038em}
.portadilla-sub{margin-top:1.2rem;max-width:58ch;color:#dcdce0;font-size:clamp(1.0625rem,1rem + .35vw,1.25rem)}

/* ── cifras y contacto ──────────────────────────────────────────── */
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:1.25rem}
.cifras li{background:rgb(255 255 255/.06);border-radius:var(--r);padding:clamp(1.5rem,3vw,2rem)}
.sec-clara .cifras li{background:var(--blanco);box-shadow:var(--sombra)}
.cifra{font-size:clamp(2.75rem,2rem + 3vw,4.25rem);line-height:1;letter-spacing:-.045em;color:var(--ac-claro);font-weight:700}
.sec-clara .cifra{color:var(--ac-tx)}
.cifra-d{margin-top:.75rem;color:var(--tx-i2);font-size:.9375rem;max-width:22ch}
.sec-clara .cifra-d{color:var(--tx-2)}

.contactos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.25rem}
.cto{background:var(--blanco);border-radius:var(--r);padding:clamp(1.5rem,3vw,2rem);box-shadow:var(--sombra)}
.cto h2{font-size:1.1875rem;margin-bottom:.6rem;letter-spacing:-.025em}
.cto p{color:var(--tx-2);font-size:.9375rem}
.cto-dato{display:inline-block;margin-top:1rem;font-size:1.125rem;font-weight:600;color:var(--ac-tx);text-decoration:none;font-style:normal;line-height:1.5}
.cto-dato:hover{text-decoration:underline}
.cto-dir{font-size:1rem;color:var(--tx);font-weight:400}
.cto-hor{margin-top:.75rem;font-size:.875rem}

/* ── formulario ─────────────────────────────────────────────────── */
.form{display:grid;gap:1.25rem}
.paso-f{border:0;padding:clamp(1.5rem,3vw,2.25rem);margin:0;min-inline-size:0;display:grid;gap:1.35rem;background:var(--blanco);border-radius:var(--r);box-shadow:var(--sombra)}
.paso-f>legend{display:flex;align-items:center;gap:.75rem;font-size:1.3125rem;font-weight:700;letter-spacing:-.028em;padding:0;margin-bottom:.4rem;float:left;width:100%}
.paso-f-n{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--tx);color:#fff;font-size:.9375rem;border-radius:50%}
.campos-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.35rem}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:.75rem;align-items:flex-start;font-size:.9375rem;color:var(--tx-2);max-width:64ch;padding-inline:.25rem}
.consent input{width:22px;height:22px;margin-top:.1rem;accent-color:var(--ac-rl);flex-shrink:0}
.consent a{color:var(--ac-tx)}
.err{display:block;margin-top:.4rem;font-size:.875rem;font-weight:600;color:var(--ac-tx)}
.form-envio{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;padding-inline:.25rem}
.form-nota{font-size:.875rem;color:var(--tx-2);max-width:34ch}
.form-error{padding:1rem 1.25rem;border-radius:var(--r-sm);background:color-mix(in srgb,var(--ac-tx) 10%,var(--blanco));font-size:.9375rem}

/* ── cierre ─────────────────────────────────────────────────────── */
.cierre2{position:relative;isolation:isolate;overflow:hidden;text-align:center;
  margin:0 var(--gut) clamp(1rem,2vw,1.5rem);border-radius:var(--r-lg);
  min-height:min(64svh,560px);display:grid;place-items:center;
  padding-block:clamp(4rem,9vw,6.5rem);background:var(--neg);color:var(--tx-i)}
.cierre2-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 72%;z-index:-2}
.cierre2-velo{position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgb(0 0 0/.82) 0%,rgb(0 0 0/.56) 45%,rgb(0 0 0/.78) 100%)}
.cierre2-in{display:grid;justify-items:center;gap:1.25rem}
.t-cierre{font-size:clamp(2rem,1.2rem + 3.4vw,3.75rem);max-width:15ch;letter-spacing:-.038em}
.cierre2 p{color:#dcdce0;max-width:50ch;font-size:1.0625rem}
.cierre-wa{font-size:.9375rem}
.cierre-wa a{color:var(--ac-claro);font-weight:600}
.cierre,.cierre-claro{text-align:center}
.cierre .env-estrecho{display:grid;justify-items:center;gap:1.25rem}
.cierre p{color:var(--tx-2);max-width:52ch}
.gracias{text-align:center;min-height:60svh;display:grid;align-items:center;background:var(--neg);color:var(--tx-i)}
.gracias .env-estrecho{display:grid;justify-items:center;gap:1.25rem}
.gracias .tic{color:var(--ac-claro)}
.gracias h1{font-size:clamp(2rem,1.4rem + 2.4vw,3.25rem);letter-spacing:-.035em}
.gracias p{color:var(--tx-i2);max-width:50ch}
.err-n{font-size:clamp(3rem,2rem + 5vw,6rem);color:var(--ac-claro);line-height:1;font-weight:700}
.vacio{color:var(--tx-2)}

/* ── pie ────────────────────────────────────────────────────────── */
.pie{background:var(--claro);color:var(--tx-2);padding-top:clamp(3rem,6vw,4.5rem);font-size:.9375rem}
.pie-in{width:min(var(--env),100%);margin-inline:auto;padding-inline:var(--gut);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:2.5rem}
.pie-marca{max-width:34ch}
.pie-marca img{width:124px;margin-bottom:1rem;filter:invert(1) brightness(.35) saturate(1.6)}
.pie-col{display:flex;flex-direction:column;gap:.55rem;align-items:flex-start}
.pie-col h2{font-size:.9375rem;color:var(--tx);margin-bottom:.35rem;font-weight:600}
.pie-col a{text-decoration:none;transition:color var(--t)}
.pie-col a:hover{color:var(--tx)}
.pie-col address{font-style:normal;line-height:1.6}
.pie-hor{margin-top:.4rem}
.pie-bajo{width:min(var(--env),100%);margin-inline:auto;padding:1.5rem var(--gut) 2rem;margin-top:2.5rem;
  border-top:1px solid var(--linea);display:flex;gap:1rem 2rem;justify-content:space-between;flex-wrap:wrap;font-size:.875rem}
.pie-legal{display:flex;gap:1.5rem;flex-wrap:wrap}
.pie-legal a{text-decoration:none}
.pie-legal a:hover{color:var(--tx);text-decoration:underline}

.wa-flot{position:fixed;right:1.25rem;bottom:1.25rem;z-index:35;width:54px;height:54px;display:grid;place-items:center;
  border-radius:50%;background:#25d366;color:#0b0b0c;box-shadow:0 8px 28px rgb(0 0 0/.25);transition:transform var(--t)}
.wa-flot:hover{transform:scale(1.07)}

/* ── movimiento (sólo transform: animar opacidad de texto rompe el
      contraste a media animación y Lighthouse lo caza) ───────────── */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .revelar{animation:entrar linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
    @keyframes entrar{from{transform:translateY(24px)}to{transform:none}}
  }
}
@view-transition{navigation:auto}

/* ── responsive ─────────────────────────────────────────────────── */
@media (max-width:1080px){
  .nav{display:none}
  .hamb{display:block}
  .calc{grid-template-columns:1fr}
}
@media (max-width:900px){
  .split,.split-inv{grid-template-columns:1fr;padding-inline:var(--gut)}
  .split-inv .split-foto{order:0}
  .split-foto img{position:static;height:min(50svh,380px)}
  .hero2{min-height:auto;padding-top:clamp(6rem,18vh,8rem)}
  .hero2-velo{background:linear-gradient(to top,rgb(0 0 0/.94) 0%,rgb(0 0 0/.8) 45%,rgb(0 0 0/.45) 100%)}
  .menu-movil[data-abierto]{display:flex;flex-direction:column;gap:.2rem;margin:.5rem var(--gut) 0;padding:1rem;
    border-radius:var(--r);background:rgb(22 22 24/.96);backdrop-filter:blur(20px);max-height:calc(100dvh - 120px);overflow-y:auto}
  .menu-movil a{text-decoration:none;color:#d2d2d7;padding:.85rem 1rem;border-radius:var(--r-sm);min-height:48px;display:flex;align-items:center}
  .menu-movil a:hover{background:rgb(255 255 255/.08)}
  .mm-destacado{color:var(--ac-claro)!important;font-weight:600}
  .mm-pie{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;font-size:.9375rem;color:#d2d2d7}
  .mm-idi{display:flex;gap:.9rem}
  .mm-idi a[aria-current=true]{color:var(--ac-claro)}
}
@media (max-width:560px){
  .cab-acc .bot,.tel-cab{display:none}
  .cab-in{padding-left:.9rem}
  .hero2,.portadilla,.cierre2{margin-inline:.75rem;border-radius:var(--r)}
}
@media print{
  .cab,.pie,.wa-flot,.hero-bots,.saltar{display:none}
  body{background:#fff;color:#000}
}

/* ── ajustes de las rejillas bento de esta web ──────────────────── */
[data-lui~="bento"]{--lui-hueco:1.25rem;--lui-alto:15rem}
.bento-probs{--lui-alto:16rem}
[data-lui~="bento"] > *{justify-content:flex-start}
[data-lui~="bento"] > .bento-con-foto{justify-content:flex-end;padding:1.75rem!important;text-decoration:none;min-height:15rem}
[data-lui~="bento"] > *:has(> img.lui-fondo)::after{background:linear-gradient(to top,rgb(0 0 0/.9),rgb(0 0 0/.15) 65%,rgb(0 0 0/.1))}
[data-lui~="bento"] p{color:var(--tx-2);font-size:1rem}
.sec-oscura [data-lui~="bento"] p{color:var(--tx-i2)}
[data-lui~="spotlight"]{--lui-tono:var(--ac)}
/* la rejilla a 4 columnas fijas en escritorio: con auto-fit quedaban huecos */
@media (min-width:1000px){ [data-lui~="bento"]{grid-template-columns:repeat(4,1fr)} }
@media (min-width:641px) and (max-width:999px){ [data-lui~="bento"]{grid-template-columns:repeat(2,1fr)} }
.bento-probs > *:first-child h3,.bento-publico > *:first-child h3{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem)}
.bento-probs > *:first-child p,.bento-publico > *:first-child p{font-size:1.0625rem;max-width:44ch}
/* Las piezas del bento tienen alto fijo por diseño del componente y aquí el texto
   de dos de ellas se cortaba: se deja crecer la fila con el contenido. */
[data-lui~="bento"]{grid-auto-rows:minmax(var(--lui-alto),auto)}
/* A partir de 1265 px la cabecera se pasaba 3 px: el teléfono se retira antes
   que el menú, porque está repetido en el pie y en el botón flotante. */
@media (max-width:1300px){
  .tel-cab{display:none}
  .cab-in{gap:.75rem}
  .nav{gap:clamp(.25rem,.7vw,.7rem)}
  .nav a{padding-inline:.5rem}
}
