/* Cerrajeros Barcelona Sants · hoja de estilos */
@font-face{font-family:"Funnel Display";src:url(/assets/fuentes/funnel-display-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Funnel Display";src:url(/assets/fuentes/funnel-display-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Geist";src:url(/assets/fuentes/geist-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist";src:url(/assets/fuentes/geist-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Geist";src:url(/assets/fuentes/geist-600.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  /* color */
  --tinta:#1C1B21; --tinta-2:#2B2A31; --tinta-3:#3A3940;
  --ambar:#D9A033; --ambar-osc:#9E6F12; --ambar-cla:#F6E9C9;
  --arena:#F0E7D5; --cemento:#ECEBE7; --base:#F7F6F3; --blanco:#FDFCFA;
  --gris:#55525A; --gris-2:#7F7C84; --linea:#DCD9D2; --linea-osc:#45444B;
  --senal:#B23A2A;
  /* tipo */
  --f-tit:"Funnel Display","Segoe UI",system-ui,sans-serif;
  --f-txt:"Geist",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  /* espacio */
  --e1:4px;--e2:8px;--e3:12px;--e4:16px;--e5:24px;--e6:32px;--e7:48px;--e8:64px;--e9:96px;--e10:120px;
  --ancho:1280px; --r:6px; --t:180ms ease;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;font-family:var(--f-txt);font-size:1.0625rem;line-height:1.65;color:var(--tinta);background:var(--base);padding-bottom:76px}
@media (min-width:900px){body{padding-bottom:0}}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--tinta);text-decoration-color:var(--ambar);text-decoration-thickness:2px;text-underline-offset:4px;transition:color var(--t),text-decoration-color var(--t)}
a:hover{color:var(--ambar-osc)}
:focus-visible{outline:3px solid var(--ambar);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--f-tit);font-weight:700;margin:0;color:inherit;text-wrap:balance}
h1{font-size:clamp(2.4rem,7vw,5.2rem);line-height:.98;letter-spacing:-.045em}
h2{font-size:clamp(1.75rem,3.6vw,2.75rem);line-height:1.05;letter-spacing:-.03em;margin-bottom:var(--e5)}
h3{font-size:1.2rem;line-height:1.25;letter-spacing:-.012em;font-weight:600;margin-bottom:var(--e2)}
p{margin:0 0 var(--e4);max-width:68ch}
ul,ol{margin:0;padding:0}
.caja{width:min(var(--ancho),100% - 40px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-999px;top:8px;background:var(--tinta);color:#fff;padding:10px 16px;z-index:300}
.saltar:focus{left:8px}
.ic{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- barra superior ---------- */
.topbar{background:var(--tinta);color:#C9C6CE;font-size:.85rem}
.topbar .caja{width:min(1400px,100% - 40px);display:flex;gap:var(--e5);align-items:center;min-height:36px}
.topbar a{color:#F2EFE9;text-decoration:none}
.topbar a:hover{color:var(--ambar)}
.topbar .tb-mail{display:none}
.topbar .tb-hor{margin-left:auto;display:flex;align-items:center;gap:var(--e2)}
.punto{width:8px;height:8px;border-radius:50%;background:#5DBB7A;display:inline-block;box-shadow:0 0 0 3px rgba(93,187,122,.18)}
@media (min-width:700px){.topbar .tb-mail{display:inline}}

/* ---------- cabecera ---------- */
.cab{position:sticky;top:0;z-index:100;background:var(--blanco);border-bottom:1px solid var(--linea)}
.cab-in{display:flex;align-items:center;gap:var(--e3);min-height:68px}
.logo{display:flex;align-items:center;text-decoration:none;flex:none}
.logo svg{height:40px;width:auto}
.m-serv{margin-left:auto;font-weight:600;font-size:.95rem;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 var(--e2)}
.btn-llamar{display:inline-flex;align-items:center;gap:var(--e2);min-height:44px;padding:0 var(--e4);background:var(--ambar);color:var(--tinta);font-weight:600;text-decoration:none;border-radius:var(--r);white-space:nowrap;transition:background var(--t)}
.btn-llamar:hover{background:#E5B04A;color:var(--tinta)}
.btn-llamar .bl-num{display:none}
@media (min-width:560px){.btn-llamar .bl-txt{display:none}.btn-llamar .bl-num{display:inline}}
.burger{width:44px;height:44px;border:1px solid var(--linea);background:var(--blanco);border-radius:var(--r);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tinta);flex:none}
.burger span{display:block;width:18px;height:2px;background:currentColor;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.burger span::before{top:-6px}.burger span::after{top:6px}

.menu{display:none}
.menu.abierto{display:block;position:fixed;inset:105px 0 0 0;background:var(--blanco);overflow-y:auto;padding:var(--e5) 20px 120px;border-top:1px solid var(--linea)}
.menu > ul{list-style:none;display:flex;flex-direction:column}
.menu > ul > li > a,.menu .dd-btn{display:flex;align-items:center;min-height:52px;font-family:var(--f-tit);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;text-decoration:none;border-bottom:1px solid var(--linea);width:100%;background:none;border-left:0;border-right:0;border-top:0;padding:0;color:var(--tinta);cursor:pointer;text-align:left}
.menu a[aria-current="page"]{color:var(--ambar-osc)}
.dd-btn svg{margin-left:auto;width:16px;height:16px;transition:transform var(--t)}
.dd-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.dd{display:none;list-style:none;padding:var(--e3) 0 var(--e4)}
.dd.abierto{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--e4)}
.dd a{display:flex;align-items:center;min-height:44px;font-size:.98rem;text-decoration:none;color:var(--gris)}
.dd a:hover{color:var(--tinta)}
.dd .dd-tit{grid-column:1/-1;font-size:.8rem;color:var(--gris-2);padding-top:var(--e3)}
.dd .dd-todas{grid-column:1/-1;font-weight:600;color:var(--tinta)}
@media (min-width:1340px){
  .cab .caja{width:min(1400px,100% - 40px)}
  .m-serv,.burger{display:none}
  .cab-in{gap:var(--e5)}
  .menu,.menu.abierto{display:block;position:static;padding:0;background:none;overflow:visible;border:0;margin-left:auto}
  .menu > ul{flex-direction:row;align-items:center;gap:2px}
  .menu > ul > li{position:relative}
  .menu > ul > li > a,.menu .dd-btn{font-family:var(--f-txt);font-size:.86rem;font-weight:500;letter-spacing:0;min-height:44px;padding:0 7px;border:0;border-radius:var(--r);width:auto;white-space:nowrap}
  .menu > ul > li > a:hover,.menu .dd-btn:hover{background:var(--cemento);color:var(--tinta)}
  .dd-btn svg{margin-left:4px;width:12px;height:12px}
  .dd-li:hover .dd,.dd-li:focus-within .dd,.dd.abierto{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--e4);position:absolute;top:100%;left:-120px;width:520px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:var(--e4) var(--e5);box-shadow:0 18px 40px -24px rgba(28,27,33,.35)}
}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--e2);min-height:52px;padding:0 var(--e5);font-weight:600;font-size:1rem;text-decoration:none;border-radius:var(--r);transition:background var(--t),color var(--t),border-color var(--t)}
.btn-pri{background:var(--ambar);color:var(--tinta)}
.btn-pri:hover{background:#E5B04A;color:var(--tinta)}
.btn-sec{border:1px solid var(--tinta);color:var(--tinta);background:transparent}
.btn-sec:hover{background:var(--tinta);color:var(--blanco)}
.s-tinta .btn-sec,.pie .btn-sec{border-color:#8E8B93;color:var(--blanco)}
.s-tinta .btn-sec:hover,.pie .btn-sec:hover{background:var(--blanco);color:var(--tinta)}
.botones{display:flex;flex-wrap:wrap;gap:var(--e3);margin-top:var(--e5)}

/* ---------- migas ---------- */
.migas{font-size:.86rem;color:var(--gris);padding-top:var(--e6)}
.migas ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--e1) var(--e2)}
.migas li+li::before{content:"/";margin-right:var(--e2);color:var(--gris-2)}
.migas a{color:var(--gris);text-decoration:none}
.migas a:hover{color:var(--tinta);text-decoration:underline}

/* ---------- motivo: cuarto de giro ---------- */
.giro{display:inline-block;width:30px;height:30px;border-top:4px solid var(--ambar);border-right:4px solid var(--ambar);border-top-right-radius:100%;margin-bottom:var(--e4)}
.s-tinta .giro{border-color:var(--ambar)}

/* ---------- hero home ---------- */
.hero{padding:var(--e7) 0 0;text-align:center;position:relative;overflow:hidden}
.hero .pre{display:inline-flex;align-items:center;gap:var(--e2);font-size:.92rem;color:var(--gris);margin-bottom:var(--e5)}
.hero h1{font-size:clamp(2.6rem,8.4vw,6.2rem);max-width:15ch;margin-inline:auto}
.hero .entrada{margin:var(--e6) auto 0;max-width:58ch;font-size:1.12rem;color:var(--gris)}
.hero .botones{justify-content:center}
.hero-ilu{position:relative;margin:var(--e7) auto 0;max-width:1100px}
.hero-ilu svg{width:100%}
.flota{position:absolute;background:var(--tinta);color:var(--blanco);border-radius:var(--r);padding:var(--e4) var(--e5);text-align:left;box-shadow:0 22px 40px -22px rgba(28,27,33,.55)}
.flota small{display:flex;align-items:center;gap:var(--e2);font-size:.82rem;color:#C9C6CE}
.flota a{display:block;font-family:var(--f-tit);font-weight:700;font-size:1.6rem;letter-spacing:-.02em;color:var(--ambar);text-decoration:none;line-height:1.2;margin-top:2px}
.hero-ilu .flota{right:6%;bottom:16%}
@media (max-width:620px){.hero-ilu .flota{position:relative;right:auto;bottom:auto;margin:-24px 20px 0;display:block}}

/* ---------- franja NAP ---------- */
.nap{background:var(--tinta);color:#D8D5DC;margin-top:var(--e6)}
.nap .caja{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e6);padding:var(--e4) 0;text-align:left}
.nap .n-nom{font-family:var(--f-tit);font-weight:600;color:var(--blanco);font-size:1.05rem;letter-spacing:-.01em}
.nap .n-tel{display:inline-flex;align-items:baseline;gap:var(--e2);color:#C9C6CE;font-size:.95rem}
.nap .n-tel a{font-family:var(--f-tit);font-weight:700;font-size:1.3rem;color:var(--ambar);text-decoration:none;letter-spacing:-.01em}
.nap .n-tel a:hover{color:#F0C46A}
.nap .n-dir{font-size:.8rem;color:#9C99A2}
.nap .sep{width:1px;height:22px;background:var(--linea-osc)}
@media (max-width:700px){.nap .sep{display:none}.nap .caja{gap:var(--e1) var(--e4)}}

/* ---------- entrada paginas internas ---------- */
.cabeza{padding-bottom:0}
.cabeza h1{max-width:18ch;margin-top:var(--e5)}
.cabeza .kick{display:block;font-size:.95rem;color:var(--gris);margin-top:var(--e5)}
.ent{display:grid;gap:var(--e7);padding:var(--e7) 0 var(--e9);align-items:center}
.ent .entrada p:first-child{font-size:1.15rem;color:var(--tinta)}
.ent .entrada p{color:var(--gris)}
.ilu{position:relative}
.ilu svg{width:100%;max-width:520px;margin-inline:auto}
.ilu .flota{left:0;bottom:6%}
@media (min-width:900px){.ent{grid-template-columns:1.05fr .95fr}}
@media (max-width:620px){.ilu .flota{position:relative;left:auto;bottom:auto;margin:-18px 0 0;display:inline-block}}

/* ---------- descripcion LocalBrain ---------- */
.ficha{background:var(--blanco);border-left:4px solid var(--ambar);padding:var(--e5) var(--e5) var(--e4);margin:0 0 var(--e5);border-radius:0 var(--r) var(--r) 0}
.ficha .f-lab{display:flex;flex-wrap:wrap;gap:var(--e2) var(--e4);font-size:.86rem;color:var(--gris);margin-bottom:var(--e2)}
.ficha .f-lab a{font-weight:600;color:var(--ambar-osc)}
.ficha p{margin:0;font-size:1.02rem;color:var(--tinta)}

/* ---------- secciones ---------- */
.sec{padding:var(--e9) 0}
@media (min-width:900px){.sec{padding:var(--e10) 0}}
.s-base{background:var(--base)}
.s-blanco{background:var(--blanco)}
.s-cem{background:var(--cemento)}
.s-arena{background:var(--arena)}
.s-tinta{background:var(--tinta);color:#E7E4EA}
.s-tinta h2,.s-tinta h3{color:var(--blanco)}
.s-tinta p{color:#BEBBC3}
.s-tinta a{color:var(--blanco)}
.intro-sec{max-width:62ch;margin-bottom:var(--e7)}
.intro-sec p{color:var(--gris)}
.s-tinta .intro-sec p{color:#BEBBC3}
.dos{display:grid;gap:var(--e7)}
@media (min-width:900px){.dos{grid-template-columns:1fr 1fr;gap:var(--e8)}.dos.asim{grid-template-columns:.8fr 1.2fr}}

/* ---------- tarjetas: fondo suave con cuarto recortado ---------- */
.tarjetas{display:grid;gap:var(--e4);list-style:none}
@media (min-width:640px){.tarjetas{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.tarjetas.t3{grid-template-columns:repeat(3,1fr)}.tarjetas.t4{grid-template-columns:repeat(4,1fr)}}
.tj{position:relative;background:var(--arena);border-radius:var(--r);padding:var(--e6) var(--e5) var(--e5);overflow:hidden}
.tj::after{content:"";position:absolute;top:-28px;right:-28px;width:56px;height:56px;border-radius:50%;background:var(--sec-bg,var(--base))}
.s-arena .tj{background:var(--blanco)}
.s-arena{--sec-bg:var(--arena)}
.s-blanco{--sec-bg:var(--blanco)}
.s-cem{--sec-bg:var(--cemento)}
.s-cem .tj{background:var(--blanco)}
.s-tinta .tj{background:var(--tinta-2)}
.s-tinta{--sec-bg:var(--tinta)}
.tj p{margin:0;color:var(--gris);font-size:.98rem}
.s-tinta .tj p{color:#BEBBC3}
.tj h3 a{text-decoration:none}
.tj h3 a:hover{text-decoration:underline}
.tj .tj-ic{width:28px;height:28px;color:var(--ambar-osc);margin-bottom:var(--e4)}
.s-tinta .tj .tj-ic{color:var(--ambar)}

/* ---------- pasos ---------- */
.pasos{list-style:none;display:grid;gap:var(--e5);counter-reset:p}
@media (min-width:800px){.pasos{grid-template-columns:repeat(4,1fr)}.pasos.p3{grid-template-columns:repeat(3,1fr)}}
.pasos li{counter-increment:p;position:relative;padding-top:var(--e8)}
.pasos li::before{content:counter(p);position:absolute;top:0;left:0;width:48px;height:48px;border-radius:50%;border:2px solid var(--tinta);display:flex;align-items:center;justify-content:center;font-family:var(--f-tit);font-weight:700;font-size:1.3rem}
.pasos li::after{content:"";position:absolute;top:23px;left:58px;right:-12px;height:1px;background:var(--linea)}
.pasos li:last-child::after{display:none}
.s-tinta .pasos li::before{border-color:var(--ambar);color:var(--ambar)}
.s-tinta .pasos li::after{background:var(--linea-osc)}
.pasos p{color:var(--gris);font-size:.98rem;margin:0}
.s-tinta .pasos p{color:#BEBBC3}
@media (max-width:799px){.pasos li::after{display:none}}

/* ---------- cifras ---------- */
.cifras{display:grid;gap:var(--e6);list-style:none}
@media (min-width:700px){.cifras{grid-template-columns:repeat(3,1fr)}}
.cifras li{border-top:1px solid var(--linea-osc);padding-top:var(--e5)}
.s-base .cifras li,.s-blanco .cifras li,.s-cem .cifras li,.s-arena .cifras li{border-color:var(--linea)}
.cifras b{display:block;font-family:var(--f-tit);font-weight:700;font-size:clamp(2.6rem,6vw,4.2rem);line-height:1;letter-spacing:-.04em;color:var(--ambar)}
.s-base .cifras b,.s-blanco .cifras b,.s-cem .cifras b,.s-arena .cifras b{color:var(--tinta)}
.cifras span{display:block;margin-top:var(--e2);color:#BEBBC3}
.s-base .cifras span,.s-blanco .cifras span,.s-cem .cifras span,.s-arena .cifras span{color:var(--gris)}

/* ---------- destacado, frase ---------- */
.destacado{border-left:4px solid var(--ambar);padding:var(--e2) 0 var(--e2) var(--e5);margin:var(--e6) 0}
.destacado p{margin:0;font-size:1.08rem}
.frase{font-family:var(--f-tit);font-weight:600;font-size:clamp(1.8rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-.035em;max-width:22ch;margin:0}
.frase-sec{position:relative;overflow:hidden}
.frase-sec .arco{position:absolute;right:-120px;top:50%;transform:translateY(-50%);width:420px;height:420px;border:56px solid var(--ambar);border-radius:50%;clip-path:inset(0 50% 50% 0);opacity:.9}
@media (max-width:700px){.frase-sec .arco{width:240px;height:240px;border-width:32px;right:-90px}}

/* ---------- senales ---------- */
.senales{list-style:none;display:grid;gap:0}
.senales li{display:flex;gap:var(--e4);align-items:flex-start;padding:var(--e4) 0;border-bottom:1px solid var(--linea)}
.senales li:first-child{border-top:1px solid var(--linea)}
.senales .ic{color:var(--ambar-osc);margin-top:3px}
.s-tinta .senales li{border-color:var(--linea-osc)}

/* ---------- tabla sin bordes ---------- */
.tabla{width:100%;border-collapse:collapse}
.tabla th,.tabla td{text-align:left;vertical-align:top;padding:var(--e4) var(--e4) var(--e4) 0}
.tabla tr+tr th,.tabla tr+tr td{border-top:1px solid var(--linea)}
.tabla th{width:34%;font-family:var(--f-tit);font-weight:600;font-size:1.05rem;letter-spacing:-.01em;white-space:nowrap}
.tabla td{color:var(--gris)}
.s-tinta .tabla tr+tr th,.s-tinta .tabla tr+tr td{border-color:var(--linea-osc)}
.s-tinta .tabla td{color:#BEBBC3}
@media (max-width:560px){.tabla th,.tabla td{display:block;width:auto;padding:var(--e1) 0}.tabla tr{display:block;padding:var(--e3) 0}.tabla tr+tr{border-top:1px solid var(--linea)}.tabla tr+tr th,.tabla tr+tr td{border:0}}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:var(--e4);align-items:center;min-height:64px;padding:var(--e4) 0;font-family:var(--f-tit);font-weight:600;font-size:1.15rem;letter-spacing:-.012em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;margin-left:auto;width:20px;height:20px;border-top:3px solid var(--ambar);border-right:3px solid var(--ambar);border-top-right-radius:100%;transition:transform var(--t)}
.faq details[open] summary::after{transform:rotate(90deg)}
.faq .r{padding:0 0 var(--e5);color:var(--gris)}
.faq .r p{margin:0}
.s-tinta .faq,.s-tinta .faq details{border-color:var(--linea-osc)}
.s-tinta .faq .r{color:#BEBBC3}

/* ---------- listas de enlaces de servicios ---------- */
.grupo{margin-bottom:var(--e8)}
.grupo:last-child{margin-bottom:0}
.grupo-cab{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--e3);border-bottom:2px solid var(--tinta);padding-bottom:var(--e3);margin-bottom:var(--e2)}
.grupo-cab h2,.grupo-cab h3{margin:0;font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:-.02em}
.grupo-cab h3 a,.grupo-cab h2 a{text-decoration:none}
.grupo-cab a.ver{font-weight:600;font-size:.95rem}
.lista-s{list-style:none;display:grid;gap:0 var(--e6)}
@media (min-width:700px){.lista-s{grid-template-columns:1fr 1fr}}
@media (min-width:1050px){.lista-s.l3{grid-template-columns:1fr 1fr 1fr}}
.lista-s a{display:flex;align-items:center;gap:var(--e3);min-height:52px;padding:var(--e2) 0;border-bottom:1px solid var(--linea);text-decoration:none;font-weight:500}
.lista-s a::before{content:"";flex:none;width:10px;height:10px;border-top:2px solid var(--ambar);border-right:2px solid var(--ambar);border-top-right-radius:100%}
.lista-s a:hover{color:var(--ambar-osc)}
.s-tinta .lista-s a{border-color:var(--linea-osc)}
.s-tinta .grupo-cab{border-color:var(--ambar)}
.lista-r{list-style:none;display:grid;gap:var(--e4)}
@media (min-width:800px){.lista-r{grid-template-columns:1fr 1fr}}
.lista-r a{display:block;background:var(--blanco);border-radius:var(--r);padding:var(--e5);text-decoration:none;min-height:44px;transition:background var(--t)}
.lista-r a:hover{background:var(--ambar-cla)}
.lista-r b{display:block;font-family:var(--f-tit);font-weight:600;font-size:1.12rem;letter-spacing:-.01em;margin-bottom:var(--e1)}
.lista-r span{color:var(--gris);font-size:.95rem}
.s-blanco .lista-r a{background:var(--cemento)}

.chips{display:flex;flex-wrap:wrap;gap:var(--e2);list-style:none}
.chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e4);border:1px solid var(--linea);border-radius:999px;text-decoration:none;font-size:.95rem;background:var(--blanco)}
.chips a:hover{border-color:var(--tinta)}
.s-tinta .chips a{background:transparent;border-color:var(--linea-osc);color:var(--blanco)}
.s-tinta .chips a:hover{border-color:var(--ambar)}

/* ---------- mapas ---------- */
.mapa-ancho{position:relative;height:440px;background:var(--cemento);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.mapa-ancho iframe,.mapa-col iframe,.mapa-tj iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.35) contrast(1.02)}
.mapa-ancho .mapa-nota{position:absolute;left:max(20px,calc((100% - 1280px)/2));bottom:20px;max-width:340px;background:var(--blanco);border-radius:var(--r);padding:var(--e4) var(--e5);font-size:.92rem;color:var(--gris)}
.mapa-ancho .mapa-nota b{display:block;color:var(--tinta);font-family:var(--f-tit);font-size:1.1rem}
.mapa-col{height:100%;min-height:380px;border-radius:0;outline:1px solid var(--linea);outline-offset:8px}
.mapa-tj{background:var(--blanco);border-radius:var(--r);padding:var(--e3);border:1px solid var(--linea)}
.mapa-tj .mt-in{height:380px;border-radius:calc(var(--r) - 2px);overflow:hidden}
.mapa-tj p{margin:var(--e3) var(--e2) var(--e1);font-size:.92rem;color:var(--gris)}

/* ---------- franja llamada ---------- */
.llamada{background:var(--ambar);color:var(--tinta);padding:var(--e8) 0}
.llamada .caja{display:flex;flex-wrap:wrap;gap:var(--e5);align-items:center;justify-content:space-between}
.llamada h2{margin:0;max-width:20ch}
.llamada .btn{background:var(--tinta);color:var(--blanco);font-size:1.1rem;min-height:60px}
.llamada .btn:hover{background:var(--tinta-3);color:var(--blanco)}

/* ---------- pie ---------- */
.pie{background:var(--tinta);color:#BEBBC3;padding:var(--e9) 0 var(--e7);font-size:.95rem}
.pie a{color:#E7E4EA;text-decoration:none}
.pie a:hover{color:var(--ambar)}
.pie-grid{display:grid;gap:var(--e7)}
@media (min-width:800px){.pie-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.pie h2{font-family:var(--f-txt);font-size:.9rem;font-weight:600;letter-spacing:0;color:var(--blanco);margin:0 0 var(--e4)}
.pie ul{list-style:none}
.pie li a{display:inline-flex;min-height:36px;align-items:center}
.pie .pie-logo svg{height:46px;width:auto;margin-bottom:var(--e5)}
.pie address{font-style:normal;line-height:1.8}
.pie .pie-tel{font-family:var(--f-tit);font-weight:700;font-size:1.6rem;color:var(--ambar)}
.pie-leg{border-top:1px solid var(--linea-osc);margin-top:var(--e8);padding-top:var(--e5);display:flex;flex-wrap:wrap;gap:var(--e2) var(--e5);font-size:.85rem}
.pie-leg span{margin-right:auto}

/* ---------- barra fija movil ---------- */
.barra-movil{position:fixed;left:0;right:0;bottom:0;z-index:150;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(28,27,33,.96)}
.barra-movil a{display:flex;align-items:center;justify-content:center;gap:var(--e2);width:100%;min-height:54px;background:var(--ambar);color:var(--tinta);font-weight:600;font-size:1.08rem;text-decoration:none;border-radius:var(--r)}
@media (min-width:900px){.barra-movil{display:none}}

/* ---------- presupuesto/citas ---------- */
.pc{display:grid;gap:var(--e5);padding:var(--e6) 0 var(--e9);align-items:start}
@media (min-width:960px){.pc{grid-template-columns:340px 1fr;gap:var(--e7)}}
.pc-llamar{background:var(--tinta);color:#D8D5DC;border-radius:var(--r);padding:var(--e5)}
.pc-llamar h2{font-size:1.25rem;color:var(--blanco);margin:0 0 var(--e2);letter-spacing:-.015em}
.pc-llamar p{font-size:.95rem;margin:0 0 var(--e4);color:#BEBBC3}
.pc-llamar .btn{width:100%}
@media (min-width:960px){.pc-llamar{position:sticky;top:96px}}
.form-tj{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:var(--e5)}
@media (min-width:640px){.form-tj{padding:var(--e6) var(--e7)}}
.form-tj h2{font-size:1.6rem;margin-bottom:var(--e2)}
.form-tj .f-intro{color:var(--gris);font-size:.95rem;margin-bottom:var(--e5)}
.campos{display:grid;gap:0 var(--e5)}
@media (min-width:640px){.campos{grid-template-columns:1fr 1fr}.campos .ancho{grid-column:1/-1}}
.campo label{display:block;font-weight:600;font-size:.95rem;margin-bottom:6px}
.campo .ayuda{display:block;font-weight:400;font-size:.84rem;color:var(--gris-2)}
.campo input[type=text],.campo input[type=tel],.campo select,.campo textarea{width:100%;font:inherit;font-size:1rem;color:var(--tinta);background:var(--base);border:1px solid var(--linea);border-radius:var(--r);padding:12px 14px;min-height:50px;transition:border-color var(--t),background var(--t)}
.campo textarea{min-height:110px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--tinta);background:var(--blanco)}
.campo.mal input,.campo.mal select,.campo.mal textarea{border-color:var(--senal)}
.err{display:block;height:3.4em;line-height:1.4;overflow:hidden;font-size:.86rem;color:var(--senal);padding-top:4px;box-sizing:border-box}
.casilla{display:flex;gap:var(--e3);align-items:flex-start;font-size:.95rem;min-height:44px;cursor:pointer}
.casilla input{width:22px;height:22px;margin-top:2px;accent-color:var(--tinta);flex:none}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.enviar{margin-top:var(--e3);width:100%;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:1.05rem;min-height:54px;background:var(--tinta);color:var(--blanco);border-radius:var(--r);transition:background var(--t)}
.enviar:hover{background:var(--tinta-3)}
.enviar:active{background:var(--tinta-2)}
@media (min-width:640px){.enviar{width:auto;padding:0 var(--e6)}}
.aviso{display:none;border-left:4px solid var(--senal);background:#FBEFEC;padding:var(--e4) var(--e5);margin-bottom:var(--e5);border-radius:0 var(--r) var(--r) 0;font-size:.98rem}
.aviso.visible{display:block}
.aviso a{font-weight:600}
.oculto{display:none}

/* ---------- legales ---------- */
.legal{max-width:760px;padding:var(--e7) 0 var(--e9)}
.legal h2{font-size:1.6rem;margin-top:var(--e7)}
.legal p,.legal li{color:var(--gris)}
.legal ul{padding-left:1.2em;margin-bottom:var(--e4)}

/* ---------- ajustes movil ---------- */
.logo .lg-sim{display:none}
.logo .lg-sim svg{height:42px;width:42px}
@media (max-width:419px){.logo .lg-full{display:none}.logo .lg-sim{display:block}}
@media (max-width:699px){
  .topbar{display:none}
  .migas{padding-top:var(--e4)}
  .cabeza h1{margin-top:var(--e3)}
  .nap{margin-top:var(--e4)}
  .nap .caja{padding:var(--e3) 0}
  .pc{padding-top:var(--e4);gap:var(--e4)}
  .pc-llamar{display:flex;align-items:center;gap:var(--e3);padding:var(--e3) var(--e4)}
  .pc-llamar p{display:none}
  .pc-llamar h2{margin:0;font-size:1.05rem;flex:1}
  .pc-llamar .btn{width:auto;min-height:48px;padding:0 var(--e3);font-size:.9rem;white-space:nowrap}
  .form-tj .f-intro{font-size:.9rem;margin-bottom:var(--e4)}
}
@media (max-width:379px){.m-serv{padding:0 4px}.cab-in{gap:var(--e2)}.btn-llamar{padding:0 var(--e3)}}

.dos .cifras b{font-size:clamp(2.1rem,3.6vw,3rem);white-space:nowrap}
.tarjetas.t1{grid-template-columns:1fr!important}
.tarjetas.t1 .tj{padding:var(--e5)}

/* ---------- foto detras del H1 (home) ---------- */
.hero{padding:0}
.hero-foto{position:relative;isolation:isolate;overflow:hidden;background:var(--tinta);color:var(--blanco);padding:var(--e9) 0}
.hero-foto picture,.hero-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 52%;z-index:-2}
.hero-foto::before{content:"";position:absolute;inset:0;background:rgba(28,27,33,.6);z-index:-1}
.hero-foto .pre{color:#E7E4EA}
.hero-foto h1{color:var(--blanco)}
.hero .nap{margin-top:0}
.hero .entrada{margin-top:var(--e7)}
@media (max-width:699px){.hero-foto{padding:var(--e8) 0}.hero .entrada{margin-top:var(--e6)}}
