/* Muebles Cámara · diseño
   Idea: "a medida". La regla de medir (.ruler) es el único adorno; el resto es sobrio.
   Tipografía: Fraunces 600 (alojada en /fonts) para titulares + fuente del sistema para el texto. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/fraunces-latin-600-normal.woff2") format("woff2")}
:root{
  --ink:#26202b; --muted:#554e5a; --purple:#7a3f86; --purple-d:#5f2e69; --aub:#1f1226;
  --lilac:#efe9f1; --mist:#f7f6f8; --line:#d9d3dc;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --wrap:1180px; --r:3px; --sec:clamp(56px,8vw,104px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font:400 17px/1.65 var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
img{display:block}
address{font-style:normal}
a{color:var(--purple-d)}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;line-height:1.1;margin:0 0 .5em;text-wrap:balance}
:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.hero :focus-visible,.cta-band :focus-visible,.site-foot :focus-visible,.util :focus-visible{outline-color:#fff}
[hidden]{display:none!important}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;z-index:2000;background:#fff;color:var(--ink);padding:10px 14px}
.skip:focus{left:8px}
.textlink{color:var(--purple-d);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.textlink:hover{color:var(--purple)}

/* la regla de medir */
.ruler{height:16px;color:var(--purple);border-top:1px solid currentColor;
  background:
   repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 10px) left top/100% 6px no-repeat,
   repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 50px) left top/100% 13px no-repeat}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7em 1.4em;border:2px solid var(--purple);border-radius:var(--r);background:var(--purple);color:#fff;font:600 16px/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--purple-d);border-color:var(--purple-d)}
.btn-outline{background:transparent;color:var(--purple-d)}
.btn-outline:hover{background:var(--purple-d);color:#fff}
.btn-ghost{background:transparent;border-color:#fff;color:#fff}
.btn-ghost:hover{background:#fff;color:var(--aub);border-color:#fff}
.btn-white{background:#fff;border-color:#fff;color:var(--aub)}
.btn-white:hover{background:var(--lilac);border-color:var(--lilac);color:var(--aub)}

/* barra superior y cabecera */
.util{background:var(--aub);color:#e9e2ec;font-size:14px}
.util .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 24px;min-height:42px;padding-top:6px;padding-bottom:6px}
.util a{color:inherit;text-decoration:none}
.util a:hover{text-decoration:underline}
.util .contact{display:flex;flex-wrap:wrap;gap:4px 22px}
.util .soc{display:flex;gap:10px}
@media (max-width:640px){.util .contact a:nth-child(3){display:none}}
.util .soc svg{width:24px;height:24px;display:block}
header.site{background:#fff;border-bottom:1px solid var(--line)}
@media (min-width:900px){header.site{position:sticky;top:0;z-index:60}}
header.site .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:10px 32px;padding-top:14px;padding-bottom:14px}
.logo{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1;margin-right:auto}
.logo b{font:600 28px/1 var(--serif);letter-spacing:-.01em}
.logo b i{font-style:normal;color:var(--purple)}
.logo small{margin-top:6px;font-size:13px;color:var(--muted)}
nav.main ul{display:flex;flex-wrap:wrap;gap:2px 28px;list-style:none;margin:0;padding:0}
nav.main a{display:block;padding:8px 0;border-bottom:2px solid transparent;color:var(--ink);font-weight:600;font-size:16px;text-decoration:none}
nav.main a:hover{border-bottom-color:var(--line)}
nav.main a[aria-current="page"]{border-bottom-color:var(--purple);color:var(--purple-d)}
@media (max-width:899px){.head-cta{display:none}}

/* portada: carrusel */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;height:clamp(460px,72vh,660px);height:clamp(460px,72svh,660px);background:#3b2a42;color:#fff;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(31,18,38,.86) 0%,rgba(31,18,38,.62) 36%,rgba(31,18,38,0) 62%)}
.hero .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .9s ease}
.hero .slide.is-active{opacity:1}
.hero .slide.broken{display:none}
@media (prefers-reduced-motion:reduce){.hero .slide{transition:none}}
.hero-copy{position:relative;z-index:2;width:100%;padding-top:24px;padding-bottom:72px}
.hero-copy .in{max-width:640px}
.hero h1{margin-bottom:.6em;color:#fff;font-size:clamp(2.7rem,6.4vw,5rem);line-height:1.02}
.hero-copy p{max-width:34ch;margin-bottom:1.6em;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.5;color:#f1eaf4}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer;opacity:0;transition:opacity .2s}
.hero:hover .hero-nav,.hero:focus-within .hero-nav{opacity:1}
@media (hover:none){.hero-nav{opacity:.85}}
.hero-nav::before{content:"";position:absolute;top:16px;width:12px;height:12px;border-top:2px solid #333;border-right:2px solid #333}
.hero-prev{left:16px}.hero-prev::before{left:19px;transform:rotate(-135deg)}
.hero-next{right:16px}.hero-next::before{left:14px;transform:rotate(45deg)}
.hero-ctrl{position:absolute;left:0;right:0;bottom:26px;z-index:3;pointer-events:none}
.ctrl-in{display:flex;align-items:center;gap:16px}
.ctrl-in>*{pointer-events:auto}
.dots{display:flex;gap:8px}
.dots button{position:relative;width:32px;height:4px;padding:0;border:0;background:rgba(255,255,255,.45);cursor:pointer}
.dots button::after{content:"";position:absolute;inset:-14px -2px}
.dots button[aria-current="true"]{background:#fff}
.hero-pause{position:relative;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.22);cursor:pointer}
.hero-pause::before{content:"";position:absolute;left:10px;top:8px;width:2px;height:12px;background:#fff;box-shadow:6px 0 0 #fff}
.hero-pause[aria-pressed="true"]::before{left:11px;top:8px;width:0;height:0;background:none;box-shadow:none;border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.hero.single .hero-nav,.hero.single .hero-ctrl{display:none}
@media (max-width:900px){
  .hero{align-items:flex-end}
  .hero::after{background:linear-gradient(0deg,rgba(31,18,38,.9) 0%,rgba(31,18,38,.72) 38%,rgba(31,18,38,0) 64%)}
  .hero-copy{padding-bottom:70px}
}

/* ventajas */
.bene{padding:34px 0 38px}
.bene ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0}
.bene li{display:flex;align-items:center;gap:14px;padding:6px 20px;border-left:1px solid var(--line)}
.bene li:first-child{padding-left:0;border-left:0}
.bene svg{flex:none;width:34px;height:34px;fill:none;stroke:var(--purple);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bene span{font-weight:600;font-size:15px;line-height:1.3}
@media (max-width:980px){.bene ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.bene li,.bene li:first-child{padding:0;border:0}}
.how{padding:var(--sec) 0 0}.how h2{font-size:clamp(1.9rem,3.4vw,2.6rem)}.how .bene{padding:8px 0 var(--sec)}

/* presentación */
.about{padding:var(--sec) 0}
.about .wrap{text-align:center}
.about h2{margin:0;font-size:clamp(2rem,3.6vw,3rem)}
.about .lead{max-width:30em;margin:0 auto;font:600 clamp(1.4rem,2.5vw,2rem)/1.3 var(--serif);letter-spacing:-.01em}

/* servicios en portada */
.teaser{padding:var(--sec) 0;background:var(--mist)}
.teaser-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 32px}
.teaser-head h2{margin:0;font-size:clamp(1.9rem,3.4vw,2.7rem)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;list-style:none;margin:30px 0 0;padding:0}
.tiles a{display:block;padding:22px 0 26px;border-top:1px solid #bdb3c2;color:inherit;text-decoration:none}
.tiles h3{margin:0 0 6px;font-size:1.5rem}
.tiles p{margin:0;font-size:16px;color:var(--muted)}
.tiles a:hover{border-top-color:var(--purple)}
.tiles a:hover h3{color:var(--purple)}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}}

/* instagram */
.ig{padding:var(--sec) 0 calc(var(--sec) * .8)}
.ig-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 32px;margin-bottom:28px}
.ig-head h2{margin:0;font-size:clamp(1.9rem,3.4vw,2.7rem)}
.ig-wrap{position:relative}
.ig-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.ig-track::-webkit-scrollbar{display:none}
.ig-track a{flex:0 0 calc((100% - 30px)/4);aspect-ratio:1;scroll-snap-align:start;border-radius:var(--r);overflow:hidden;background:var(--lilac)}
.ig-track img{width:100%;height:100%;object-fit:cover}
.ig-track img.broken{display:none}
@media (prefers-reduced-motion:no-preference){.ig-track{scroll-behavior:smooth}}
.ig-next,.ig-prev{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 1px 5px rgba(0,0,0,.35);cursor:pointer;font-size:0}
.ig-next{right:12px}.ig-prev{left:12px}
.ig-next::before,.ig-prev::before{content:"";position:absolute;top:16px;width:12px;height:12px;border-top:2px solid #333;border-right:2px solid #333}
.ig-next::before{left:15px;transform:rotate(45deg)}
.ig-prev::before{left:19px;transform:rotate(-135deg)}
.ph{padding:36px 24px;border-radius:var(--r);background:var(--lilac);text-align:center}
.ph p{max-width:620px;margin:0 auto 14px;font-size:16px;line-height:1.5}
.btn-ph{display:inline-block;margin:0 4px 6px;padding:11px 20px;border:2px solid var(--purple);border-radius:var(--r);background:var(--purple);color:#fff;font:600 15px/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn-ph:hover{background:var(--purple-d);border-color:var(--purple-d)}
.btn-ph.alt{background:transparent;color:var(--purple-d)}
.btn-ph.alt:hover{background:var(--purple-d);color:#fff}
@media (max-width:900px){.ig-track a{flex-basis:calc((100% - 20px)/3)}}

/* visita */
.visit{padding:var(--sec) 0;background:var(--lilac)}
.visit .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px clamp(32px,5vw,64px);align-items:stretch}
.visit h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}
.visit address{margin:0 0 4px;font-style:normal}
.hours{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 24px;margin:18px 0 26px}
.hours dt{font-weight:600}
.hours dd{margin:0}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.map-ph{display:flex;flex-direction:column;justify-content:center;min-height:360px;background:#fff;border:1px solid var(--line)}
.map{display:block;width:100%;height:100%;min-height:360px;border:0;border-radius:var(--r)}
@media (max-width:820px){.visit .wrap{grid-template-columns:1fr}}

/* páginas interiores */
.page-head{background:var(--lilac)}
.page-head .wrap{padding-top:clamp(40px,6vw,76px);padding-bottom:clamp(32px,5vw,56px)}
.page-head h1{margin-bottom:.3em;font-size:clamp(2.4rem,5vw,3.8rem)}
.page-head .lead{max-width:60ch;margin:0;font-size:1.15rem;line-height:1.55;color:#40384a}
.svc-list{padding-top:clamp(16px,3vw,40px);padding-bottom:var(--sec)}
.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px clamp(28px,5vw,72px);align-items:center;padding:clamp(24px,3vw,40px) 0;border-top:1px solid var(--line);scroll-margin-top:90px}
.svc:first-child{border-top:0}
.svc:nth-of-type(even) .svc-img{order:2}
.svc-img{aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);background:var(--lilac)}
.svc-img img{width:100%;height:100%;object-fit:cover}
.svc-img img.broken{display:none}
.svc-txt h2{font-size:clamp(1.8rem,3vw,2.4rem)}
.svc-txt p{max-width:46ch;font-size:1.05rem}
@media (max-width:760px){.svc{grid-template-columns:1fr}.svc:nth-of-type(even) .svc-img{order:0}}
.cta-band{padding:var(--sec) 0;background:var(--aub);color:#fff}
.cta-band h2{max-width:22ch;margin-bottom:.7em;color:#fff;font-size:clamp(1.9rem,3.6vw,2.9rem)}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px clamp(32px,6vw,80px);padding:clamp(32px,5vw,64px) 0 28px}
.contact-grid h2{font-size:clamp(1.6rem,2.6vw,2.1rem)}
.channels{margin:0;padding:0;list-style:none}
.channels li+li a{border-top:0}
.channels a{display:flex;align-items:center;gap:18px;padding:20px 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.channels a:hover strong{color:var(--purple)}
.channels svg{flex:none;width:30px;height:30px;fill:none;stroke:var(--purple);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.channels strong{display:block;font:600 1.3rem/1.2 var(--serif)}
.channels span{color:var(--muted);font-size:15px}
.map-row{padding-bottom:var(--sec)}
.note{max-width:62ch;margin:20px 0 0;font-size:14px;color:var(--muted)}

/* textos legales */
.prose{max-width:780px;margin:0 auto;padding:clamp(32px,5vw,64px) 24px var(--sec)}
.prose h2{margin:1.8em 0 .5em;font-size:1.55rem}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{font-size:17px;line-height:1.65}
.prose ul{padding-left:1.2em}
.prose .upd{margin-bottom:1.4em;font-size:15px;color:var(--muted)}
.prose .datos{margin:0 0 16px;padding:16px 20px;list-style:none;background:var(--mist);border-left:3px solid var(--purple)}
.prose .datos li{margin:4px 0}
mark.todo{padding:0 4px;background:#ffe27a;color:#26202b}
.tblwrap{margin:0 0 16px;overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th,.tbl td{padding:9px 11px;border:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{background:var(--mist)}

/* pie */
.site-foot{background:var(--aub);color:#d9cfdd;font-size:15px}
.site-foot .ruler{color:#fff;opacity:.28}
.site-foot a{color:#fff;text-decoration:none}
.site-foot a:hover{text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px 48px;padding:48px 0 36px}
.site-foot h2{margin:0 0 12px;font-size:1.25rem;color:#fff}
.site-foot p{margin:0 0 .5em;line-height:1.55}
.foot-brand b{display:block;margin-bottom:8px;font:600 26px/1 var(--serif);color:#fff}
.foot-brand b i{font-style:normal;color:#d9a9e3}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding:18px 0 28px;border-top:1px solid rgba(255,255,255,.16);font-size:14px}
.legal{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;margin:0;padding:0}
.linklike{padding:0;border:0;background:none;font:inherit;color:#fff;cursor:pointer}
.linklike:hover{text-decoration:underline}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}

/* aviso de cookies */
.mc-banner{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:#fff;border-top:4px solid var(--purple);box-shadow:0 -4px 20px rgba(31,18,38,.28)}
.mc-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;max-width:1180px;margin:0 auto;padding:16px 24px}
.mc-in p{flex:1 1 420px;margin:0;font-size:15px;line-height:1.5}
.mc-btns{display:flex;flex-wrap:wrap;gap:10px}
.mc-b{width:164px;padding:11px 18px;border:2px solid var(--purple);border-radius:var(--r);background:var(--purple);color:#fff;font:600 15px/1.2 var(--sans);cursor:pointer}
.mc-b:hover{background:var(--purple-d);border-color:var(--purple-d)}
.mc-dlg{width:calc(100% - 24px);max-width:640px;max-height:92vh;overflow:auto;padding:24px;border:0;border-radius:var(--r);box-shadow:0 10px 40px rgba(0,0,0,.4)}
.mc-dlg::backdrop{background:rgba(31,18,38,.6)}
.mc-dlg h2{margin:0 0 10px;font-size:1.5rem}
.mc-dlg p{margin:0 0 12px;font-size:15px;line-height:1.5}
.mc-row{padding:12px 0 2px;border-top:1px solid var(--line)}
.mc-row label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:16px}
.mc-row input{width:20px;height:20px;accent-color:var(--purple)}
.mc-row p{margin:6px 0 8px 28px;font-size:14px}
.mc-dlg .mc-btns{margin-top:12px}
@media (max-width:640px){.mc-btns{width:100%}.mc-b{flex:1 1 100%;width:auto}}

/* ===== optimización móvil ===== */
@media (max-width:899px){
  nav.main a{padding:12px 0}
  .util a{display:inline-block;padding:6px 0}
}
@media (max-width:700px){
  body{font-size:16.5px}
  .wrap{padding:0 20px}
  .hero-nav{display:none}
  .hero-copy{padding-bottom:64px}
  .hero-actions .btn{flex:1 1 100%}
  .bene{padding:26px 0 30px}
  .ig-head{margin-bottom:20px}
  .ig-track{margin-inline:-20px;padding-inline:20px;scroll-padding-inline:20px}
  .ig-track a{flex-basis:62%}
  .ig-next,.ig-prev{display:none}
  .actions .btn{flex:1 1 140px}
  .map-ph{min-height:300px}
  .map{min-height:300px}
  .cta-actions .btn{flex:1 1 140px}
  .channels a{padding:18px 0}
  .site-foot a:not(.btn){display:inline-block;padding:5px 0}
  .legal{gap:2px 20px}
  .linklike{padding:5px 0}
  .foot-grid{padding:36px 0 24px;gap:28px}
}
@media (max-width:640px){
  .mc-in{padding:12px 16px;gap:10px}
  .mc-in p{flex-basis:100%;font-size:13.5px;line-height:1.4}
  .mc-btns{width:100%;gap:8px}
  .mc-b{flex:1 1 calc(50% - 4px);width:auto;padding:11px 8px;font-size:14px}
  .mc-b[data-act="config"]{order:3;flex-basis:100%;background:#fff;color:var(--purple-d)}
  .mc-b[data-act="config"]:hover{background:var(--purple-d);color:#fff}
  .mc-dlg{max-height:90vh;max-height:90dvh;padding:18px}
  .mc-dlg .mc-btns .mc-b{flex:1 1 100%}
}
.channels span,.prose p,.prose li{overflow-wrap:anywhere}
@media (max-width:700px){
  .util .soc{gap:0}
  .util .soc a{display:flex;align-items:center;justify-content:center;width:40px;height:40px}
  .util .wrap{padding-top:2px;padding-bottom:2px}
  .textlink{display:inline-block;padding:8px 0}
}
.channels a>div{min-width:0}
@media (max-width:700px){
  .util .contact a{padding:9px 0}
  .site-foot a:not(.btn){padding:8px 0}
  .linklike{padding:8px 0}
  .legal{gap:0 20px}
}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:32px;padding-top:32px}}
@media (max-width:480px){.hours{grid-template-columns:1fr;gap:0}.hours dd{margin:0 0 12px}}

/* formulario de presupuesto */
.quote{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:40px clamp(32px,6vw,72px);padding-top:clamp(32px,5vw,56px);padding-bottom:var(--sec)}
.qform .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.field{display:flex;flex-direction:column;margin:0 0 20px}
.field label{margin-bottom:6px;font-weight:600}
.req{color:var(--purple-d)}
.field input[type=text],.field input[type=tel],.field input[type=email],.field textarea{width:100%;padding:12px 14px;border:1.5px solid #8f8596;border-radius:var(--r);background:#fff;color:var(--ink);font:inherit;font-size:16px}
.field textarea{resize:vertical;min-height:140px}
.field input:focus,.field textarea:focus{border-color:var(--purple)}
.field [aria-invalid="true"]{border-color:#a3201a;box-shadow:0 0 0 1px #a3201a}
.field input[type=file]{width:100%;padding:10px;border:1.5px dashed #8f8596;border-radius:var(--r);background:var(--mist);font:inherit;font-size:15px}
.field input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border:0;border-radius:var(--r);background:var(--purple);color:#fff;font:600 14px var(--sans);cursor:pointer}
.hint{margin-top:6px;font-size:14px;color:var(--muted)}
.hint-top{margin:-8px 0 22px}
.filelist{margin:8px 0 0;padding:0;list-style:none;font-size:14px}
.check{flex-direction:row;align-items:flex-start;gap:12px}
.check input{flex:none;width:22px;height:22px;margin-top:3px;accent-color:var(--purple)}
.check label{margin:0;font-weight:400}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{min-height:1.5em;margin:14px 0 0;font-weight:600}
.status.err{color:#a3201a}
.btn[disabled]{opacity:.65;cursor:wait}
.thanks{padding:32px;border-left:4px solid var(--purple);background:var(--lilac)}
.thanks h2{margin-top:0}
.quote-side{align-self:start;padding:24px;border-top:3px solid var(--purple);background:var(--mist)}
.quote-side h2{font-size:1.4rem}
@media (max-width:820px){.quote{grid-template-columns:1fr}.qform .grid2{grid-template-columns:1fr}}

/* encabezado1.jpg lleva el logotipo a la derecha: este encuadre lo mantiene visible en móvil y pantallas anchas.
   Si lo sustituyes por otra foto, el cambio es inapreciable. */
.hero .slides picture:first-child .slide{object-position:88% 50%}
/* encabezado2 (cartel de la mesa camilla): mantiene visible el cartel a la derecha en pantallas estrechas */
.hero .slides picture:nth-child(2) .slide{object-position:84% 50%}
@media (max-width:700px){.hero h1{font-size:2.4rem}}

/* Servicio sin foto: si falta img/servicios/<nombre>.jpg la fila queda solo con texto; al subir el archivo aparece la foto sola. */
.svc:has(.svc-img img.broken){grid-template-columns:1fr;padding:clamp(20px,2.4vw,32px) 0}
.svc:has(.svc-img img.broken) .svc-img{display:none}
.svc:has(.svc-img img.broken) .svc-txt{max-width:62ch;padding-left:20px;border-left:3px solid var(--purple)}
/* tablet: el texto ocupa la columna izquierda y no tapa la foto de la derecha */
@media (min-width:701px) and (max-width:900px){
  .hero-copy .in{max-width:40%}
  .hero h1{font-size:2rem}
}
/* portátiles pequeños: el titular se parte en tres líneas para no llegar al cartel */
@media (min-width:901px) and (max-width:1200px){
  .hero-copy .in{max-width:42%}
  .hero h1{font-size:clamp(2.4rem,5vw,3.4rem)}
}
