/* Mil Duchas — estilos */
@font-face{font-family:"Montserrat";font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-weight:800;font-display:swap;src:url(../fonts/montserrat-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-weight:400;font-display:swap;src:url(../fonts/libre-franklin-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-weight:500;font-display:swap;src:url(../fonts/libre-franklin-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-weight:600;font-display:swap;src:url(../fonts/libre-franklin-latin-600-normal.woff2) format("woff2")}

:root{
  --acento:#8C1D33;
  --acento-oscuro:#6E1527;
  --rosa:#E8B4C2;
  --tinta:#141414;
  --negro:#111111;
  --texto-suave:#4B4545;
  --texto-gris:#5A5353;
  --crema:#F6F1EC;
  --linea:#E6DFDA;
  --borde-campo:#B9ADA6;
  --radio:22px;
  --ancho:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Libre Franklin",system-ui,sans-serif;font-size:17px;line-height:1.6;color:var(--tinta);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--tinta)}
a:hover{color:var(--acento)}
h1,h2,h3{font-family:"Montserrat",sans-serif;margin:0;letter-spacing:-.02em}
h2{font-size:clamp(2rem,3.6vw,3rem);font-weight:800;line-height:1.08}
p{margin:0}
:focus-visible{outline:3px solid var(--acento);outline-offset:3px}

.contenedor{max-width:var(--ancho);margin:0 auto;padding-left:24px;padding-right:24px}
.seccion{padding-top:96px;padding-bottom:96px}
.fondo-crema{background:var(--crema)}
.fondo-negro{background:var(--negro);color:#fff}
.antetitulo{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--acento)}
.cabecera-seccion{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px}
.cabecera-seccion p{color:var(--texto-suave);max-width:44ch}
.enlace-flecha{font-weight:600}
.saltar{position:absolute;left:-9999px;top:0;background:#fff;padding:10px 16px;z-index:100}
.saltar:focus{left:12px;top:12px}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none;font-size:16px;font-family:inherit;cursor:pointer;border:0;line-height:1.2;text-align:center}
.btn-primario{background:var(--acento);color:#fff}
.btn-primario:hover{background:var(--acento-oscuro);color:#fff}
.btn-borde{border:1.5px solid var(--tinta);color:var(--tinta);background:transparent}
.btn-borde:hover{background:var(--tinta);color:#fff}

/* Barra superior */
.barra-superior{background:#0B0B0B;color:#CFC8C8;font-size:14px}
.barra-superior .contenedor{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-top:8px;padding-bottom:8px}
.barra-superior a{color:#fff;text-decoration:none}
.barra-superior .grupo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px}
.idiomas{display:flex;align-items:center;gap:8px}
.barra-superior .idiomas a{color:#CFC8C8;padding:2px 2px}
.barra-superior .idiomas a[aria-current]{color:#fff;font-weight:600}
.barra-superior .idiomas a:hover{color:#fff}
.cambio-idioma{color:#fff;font-size:15px;font-weight:500}
.cabecera a.cambio-idioma{color:#fff}

/* Cabecera */
.cabecera{background:var(--negro);border-bottom:3px solid var(--acento);position:sticky;top:0;z-index:50}
.cabecera .contenedor{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
.logo img{height:80px;width:auto}
.menu{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500}
.menu a{color:#fff;text-decoration:none}
.menu a:hover{color:var(--rosa)}
.menu a.btn{color:#fff}
.boton-menu{display:none;background:transparent;border:1.5px solid #555;border-radius:12px;width:48px;height:48px;color:#fff;cursor:pointer;align-items:center;justify-content:center}

/* Hero */
.hero .contenedor{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:64px;padding-bottom:72px}
.hero-texto{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:26px}
.hero h1{font-weight:800;font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.04;letter-spacing:-.025em}
.hero-texto>p{font-size:20px;color:var(--texto-suave);max-width:36ch}
.botones{display:flex;flex-wrap:wrap;gap:14px}
.valoracion{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--texto-suave)}
.valoracion strong{color:var(--tinta)}
.estrellas{display:flex;gap:2px}
.hero-mosaico{flex:1 1 520px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hero-mosaico img{width:100%;object-fit:cover;border-radius:var(--radio)}
.hero-mosaico .alta{grid-row:span 2;height:520px}
.hero-mosaico .baja{height:253px}

/* Ventajas */
.ventajas{border-bottom:1px solid var(--linea)}
.ventajas .contenedor{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;padding-top:34px;padding-bottom:34px}
.ventaja{display:flex;gap:14px;align-items:flex-start}
.ventaja svg{flex:none}
.ventaja strong{display:block;font-weight:600}
.ventaja span{color:var(--texto-gris);font-size:15px}

/* Servicios */
.servicios{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:24px}
.servicio{position:relative;border-radius:26px;overflow:hidden;min-height:600px;display:flex;align-items:flex-end;background:var(--negro);color:#fff;isolation:isolate}
.servicio>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s ease}
.servicio:hover>img{transform:scale(1.04)}
.servicio::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 22%,rgba(10,8,8,.55) 52%,rgba(10,8,8,.92) 100%)}
.servicio .ficha{position:relative;padding:34px;display:flex;flex-direction:column;gap:16px;width:100%}
.servicio h3{font-size:40px;font-weight:800;line-height:1}
.servicio .ficha>p{margin:0;color:rgba(255,255,255,.82);max-width:46ch}
.lista-check{margin:4px 0 6px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;font-size:15px}
.lista-check li{display:flex;gap:10px;align-items:flex-start;line-height:1.35}
.lista-check li::before{content:"";flex:0 0 20px;height:20px;margin-top:-1px;border-radius:50%;background:var(--rosa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238C1D33' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}
.servicio .btn-ficha{align-self:flex-start;background:#fff;color:var(--acento);font-weight:700;padding:12px 20px;border-radius:999px;text-decoration:none;transition:background .2s,color .2s}
.servicio .btn-ficha:hover{background:var(--rosa)}
.extras{margin-top:28px;background:var(--crema);border-radius:26px;padding:40px;display:grid;grid-template-columns:minmax(240px,1fr) 2.4fr;gap:40px;align-items:center}
.extras-cabecera h3{font-size:28px;font-weight:800;line-height:1.15;margin:6px 0 12px}
.extras-cabecera p{margin:0;color:var(--texto-suave)}
.extras-lista{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.extras-lista li{background:#fff;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:6px;transition:transform .2s,box-shadow .2s}
.extras-lista li:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.extras-lista .icono{width:46px;height:46px;border-radius:14px;background:var(--acento);color:#fff;display:grid;place-items:center;margin-bottom:8px}
.extras-lista svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.extras-lista strong{font-size:16px}
.extras-lista span:not(.icono){font-size:14px;color:var(--texto-suave);line-height:1.4}
@media (max-width:1000px){.extras{grid-template-columns:1fr;gap:24px;padding:30px}}

/* Garantía */
.garantia{background:var(--acento);color:#fff}
.garantia .contenedor{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:88px;padding-bottom:88px}
.garantia img{flex:1 1 400px;min-width:0;width:100%;height:440px;object-fit:cover;border-radius:26px}
.garantia .texto{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.garantia .antetitulo{color:var(--rosa)}
.garantia h2{font-size:clamp(2rem,3.4vw,2.9rem)}
.garantia h2 .cifra{display:block;font-size:clamp(5rem,10vw,8rem);line-height:.9;letter-spacing:-.04em}
.garantia .reto{font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.25;background:#fff;color:var(--acento);padding:14px 22px;border-radius:14px}
.garantia .texto>p:not(.reto){color:#F6DCE3;max-width:46ch}
.btn-blanco{background:#fff;color:var(--acento)}
.btn-blanco:hover{background:var(--crema);color:var(--acento-oscuro)}
.btn-borde-blanco{border:1.5px solid #fff;color:#fff;background:transparent}
.btn-borde-blanco:hover{background:#fff;color:var(--acento)}

/* Banda */
.banda .lema{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--rosa)}
.banda{position:relative;min-height:460px;display:flex;align-items:center;background:#2A2422}
.banda>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banda .contenedor{position:relative;width:100%;padding-top:48px;padding-bottom:48px}
.banda .caja{background:var(--negro);color:#fff;border-radius:var(--radio);padding:36px;max-width:460px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.banda .caja p:first-of-type{color:#fff;font-family:"Montserrat",sans-serif;font-size:30px;font-weight:800;line-height:1.15}
.banda .caja p{color:#D9D2D2}

/* Galería */
/* Trabajos: carrusel automático */
.galeria{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.galeria::-webkit-scrollbar{display:none}
.galeria img,.galeria .hueco{flex:0 0 calc((100% - 42px) / 4);width:auto;min-width:0;height:440px;object-fit:cover;border-radius:18px;scroll-snap-align:start}
.galeria img{cursor:zoom-in}
.galeria .hueco{background:linear-gradient(100deg,#EEE8E3 30%,#F7F3EF 50%,#EEE8E3 70%);background-size:200% 100%;animation:brillo 1.4s linear infinite}
@keyframes brillo{to{background-position:-200% 0}}
.galeria-flechas{display:flex;gap:10px}
.flecha{width:48px;height:48px;border-radius:999px;border:1.5px solid var(--tinta);background:#fff;color:var(--tinta);display:flex;align-items:center;justify-content:center;cursor:pointer}
.flecha:hover{background:var(--tinta);color:#fff}
@media (max-width:1100px){.galeria img,.galeria .hueco{flex-basis:calc((100% - 28px) / 3)}}
.sin-corte{white-space:nowrap}
.trabajos .cabecera-seccion{flex-wrap:nowrap}
.trabajos .cabecera-seccion > div:first-child{min-width:0}
.galeria-flechas{flex:none}
/* Visor de fotos */
.visor{position:fixed;inset:0;z-index:100;background:rgba(10,10,10,.94);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.visor[hidden]{display:none}
.visor figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%;max-height:100%}
.visor img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:12px}
.visor-cuenta{color:#bbb;font-size:14px;letter-spacing:.06em}
.visor-cerrar,.visor-nav{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;width:48px;height:48px;font-size:30px;line-height:1;cursor:pointer}
.visor-cerrar{top:14px;right:14px}
.visor-nav.ant{left:12px;top:50%;transform:translateY(-50%)}
.visor-nav.sig{right:12px;top:50%;transform:translateY(-50%)}

/* Proceso */
.proceso h2{margin-bottom:44px}
.pasos{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px 20px}
.pasos li{border-top:3px solid var(--acento);padding-top:22px;display:flex;flex-direction:column;gap:10px}
.pasos .num{font-family:"Montserrat",sans-serif;font-size:40px;font-weight:800;color:var(--rosa)}
.pasos h3{font-family:"Libre Franklin",sans-serif;font-size:21px;font-weight:600;letter-spacing:0}
.pasos p{color:#CFC8C8;font-size:16px}

/* Exposición */
.exposicion .contenedor{display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.exposicion .fotos{flex:1 1 440px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.exposicion .fotos img{width:100%;object-fit:cover;border-radius:22px}
.exposicion .fotos img:first-child{grid-column:span 2;height:320px}
.exposicion .fotos img:last-child{grid-column:span 2;height:220px}
.exposicion .texto{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.exposicion .texto>p{color:var(--texto-suave)}
.datos{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;width:100%}
.datos dt{font-weight:600}
.datos dd{margin:0;color:var(--texto-suave)}

/* Opiniones */
.opiniones-caja{border:1px solid var(--linea);border-radius:24px;padding:40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.opiniones-caja .nota{display:flex;align-items:center;gap:18px}
.opiniones-caja .cifra{font-family:"Montserrat",sans-serif;font-size:64px;font-weight:800;line-height:1}
.opiniones-caja p{color:var(--texto-suave)}

/* Contacto */
.contacto .contenedor{display:flex;flex-wrap:wrap;gap:56px}
.contacto .texto{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:18px}
.contacto .texto>p{color:var(--texto-suave)}
.telefonos{display:flex;flex-direction:column;gap:8px;margin-top:8px;font-size:19px;font-weight:600}
.telefonos a{text-decoration:none}
.telefonos a.email{font-weight:500;font-size:17px}
.formulario{flex:1 1 540px;min-width:0;background:#fff;border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:20px}
.formulario fieldset{margin:0;padding:0;border:0}
.formulario legend{font-weight:600;font-size:15px;margin-bottom:10px}
.opciones{display:flex;flex-wrap:wrap;gap:10px}
.opciones label{display:flex;align-items:center;gap:8px;border:1px solid var(--borde-campo);border-radius:999px;padding:11px 18px;cursor:pointer;min-height:48px}
.opciones label:has(input:checked){border-color:var(--acento);background:#FBF3F5}
.opciones input{accent-color:var(--acento)}
.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-weight:600;font-size:15px}
.campo input,.campo textarea{font:inherit;padding:13px 14px;border:1px solid var(--borde-campo);border-radius:12px;background:#fff;color:var(--tinta);width:100%}
.campo textarea{resize:vertical}
.campo input[type=file]{padding:10px;font-size:15px}
.ayuda{font-size:14px;color:var(--texto-gris)}
.consentimiento{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.consentimiento input{margin-top:5px;accent-color:var(--acento);width:18px;height:18px;flex:none}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formulario .btn{align-self:flex-start}

/* Pie */
.pie{background:#0B0B0B;color:#D9D2D2;font-size:15px}
.pie .contenedor{display:flex;flex-wrap:wrap;justify-content:space-between;gap:36px;padding-top:56px;padding-bottom:40px}
.pie .col{display:flex;flex-direction:column;gap:6px}
.pie .col strong{color:#fff;font-weight:600}
.pie a{color:#D9D2D2}
.pie a:hover{color:#fff}
.pie img{height:72px;width:auto;margin-bottom:8px}
.pie .contenedor.legal{display:block;border-top:1px solid #2A2A2A;padding-top:18px;padding-bottom:24px;font-size:14px;color:#A39B9B}

/* Páginas simples */
.pagina-simple{max-width:760px;margin:0 auto;padding:72px 24px 96px}
.pagina-simple h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;margin-bottom:24px}
.pagina-simple h2{font-size:22px;margin:32px 0 10px}
.pagina-simple p,.pagina-simple li{color:var(--texto-suave);margin-bottom:12px}

/* Móvil */
@media (max-width:900px){
  .boton-menu{display:inline-flex}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--negro);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 24px;border-bottom:3px solid var(--acento)}
  .menu.abierto{display:flex}
  .menu a{padding:14px 0;border-bottom:1px solid #2A2A2A}
  .menu a.btn{margin-top:16px;border-bottom:0}
  .cabecera .contenedor{position:relative}
}
/* Barra de acciones rápidas (solo móvil) */
.barra-movil{display:none}

/* ---------- Diseño específico para móvil (tipo app) ---------- */
.atajos,.puntos{display:none}
@media (max-width:640px){
  body{font-size:16px;background:var(--crema);padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  h2{font-size:1.7rem}
  .contenedor{padding-left:18px;padding-right:18px}
  .seccion{padding-top:44px;padding-bottom:44px}
  .cabecera-seccion{margin-bottom:20px;gap:8px}
  .cabecera-seccion p{font-size:15px}
  .antetitulo{font-size:12px}

  /* Barra superior mínima */
  .barra-superior{font-size:13px}
  .barra-superior .contenedor{flex-wrap:nowrap;align-items:center;padding-top:6px;padding-bottom:6px}
  .barra-superior .grupo:first-child span,
  .barra-superior .grupo:first-child a + a,
  .barra-superior .grupo:last-child > a{display:none}

  /* Cabecera fija tipo app */
  .cabecera{background:rgba(17,17,17,.94);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
  .cabecera .contenedor{padding-top:4px;padding-bottom:4px}
  .logo img{height:50px}
  .boton-menu{width:44px;height:44px;border-radius:14px}

  /* Carrusel genérico */
  .hero-mosaico,.galeria,.servicios,.pasos,.ventajas .contenedor,.atajos-fila{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .hero-mosaico::-webkit-scrollbar,.galeria::-webkit-scrollbar,.servicios::-webkit-scrollbar,.pasos::-webkit-scrollbar,.ventajas .contenedor::-webkit-scrollbar,.atajos-fila::-webkit-scrollbar{display:none}
  .puntos{display:flex;justify-content:center;gap:6px;margin-top:14px}
  .puntos span{width:7px;height:7px;border-radius:99px;background:#CFC6C0;transition:width .25s,background .25s}
  .puntos span.activo{width:22px;background:var(--acento)}

  /* Portada: foto a pantalla completa + hoja de contenido */
  .hero{background:var(--negro);padding:0}
  .hero .contenedor{padding:0;gap:0;flex-direction:column;align-items:stretch;position:relative}
  .hero-mosaico{order:-1;flex:none;width:100%;height:470px;gap:0;margin:0;padding:0}
  .hero-mosaico img,.hero-mosaico .alta,.hero-mosaico .baja{flex:0 0 100%;width:100%;height:100%;border-radius:0;scroll-snap-align:start;object-fit:cover}
  .hero .puntos{position:absolute;top:404px;left:0;right:0;margin:0;z-index:2}
  .hero .puntos span{background:rgba(255,255,255,.55)}
  .hero .puntos span.activo{background:#fff}
  .hero-texto{position:relative;z-index:3;margin-top:-34px;background:var(--crema);border-radius:28px 28px 0 0;padding:28px 18px 26px;gap:16px;flex:none}
  .hero-texto::before{content:"";position:absolute;top:10px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:9px;background:#D8CEC7}
  .hero h1{font-size:2.2rem}
  .hero-texto>p{font-size:16px}
  .botones{gap:10px}
  .botones .btn{flex:1 1 100%}

  /* Accesos rápidos tipo pestañas */
  .atajos{display:block;background:var(--crema);padding:2px 0 22px}
  .atajos-fila{gap:10px;padding:0 18px}
  .atajos a{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;width:84px;text-decoration:none;font-size:12.5px;font-weight:600;text-align:center;line-height:1.25;color:var(--tinta)}
  .atajos .ico{width:58px;height:58px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--acento);box-shadow:0 1px 0 rgba(0,0,0,.04),0 6px 16px rgba(60,20,30,.08)}
  .atajos a:nth-child(3) .ico{background:var(--acento);color:#fff}

  /* Ventajas: tarjetas deslizables */
  .ventajas{border-bottom:0;background:var(--crema)}
  .ventajas .contenedor{gap:12px;padding:0 18px 8px}
  .ventaja{flex:0 0 62%;flex-direction:column;gap:10px;background:#fff;border-radius:20px;padding:18px;scroll-snap-align:start;box-shadow:0 6px 16px rgba(60,20,30,.06)}
  .ventaja svg{width:34px;height:34px;padding:7px;border-radius:12px;background:#FBF0F3}
  .ventaja strong{font-size:15.5px;line-height:1.3}
  .ventaja span{font-size:13.5px;line-height:1.4}

  /* Servicios: tarjetas grandes deslizables */
  .servicios{gap:14px;margin:0 -18px;padding:0 18px}
  .servicio{flex:0 0 86%;min-height:640px;border-radius:26px;scroll-snap-align:center}
  .servicio .ficha{padding:22px;gap:12px}
  .servicio h3{font-size:30px}
  .servicio .ficha>p{font-size:14px}
  .lista-check{grid-template-columns:1fr;gap:9px;font-size:14px}
  .extras{margin-top:18px;padding:24px 18px;border-radius:22px}
  .extras-cabecera h3{font-size:23px}
  .extras-lista{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .extras-lista li{padding:14px;border-radius:16px}
  .extras-lista .icono{width:40px;height:40px;border-radius:12px;margin-bottom:4px}
  .extras-lista strong{font-size:14.5px}
  .extras-lista span:not(.icono){font-size:12.5px}

  /* Garantía: tarjeta de color */
  .garantia{margin:8px 12px;border-radius:28px;overflow:hidden}
  .garantia .contenedor{flex-direction:column;align-items:stretch;padding:30px 20px 20px;gap:22px}
  .garantia .texto{order:1;flex:none;gap:16px}
  .garantia img{order:2;flex:none;height:210px;border-radius:20px}
  .garantia .botones{width:100%}
  .garantia .reto{font-size:1.15rem}

  /* Banda: tarjeta con foto */
  .banda{margin:28px 12px 0;border-radius:28px;overflow:hidden;min-height:470px;align-items:flex-end}
  .banda .contenedor{padding:12px}
  .banda .caja{padding:22px;max-width:none;border-radius:20px;background:rgba(17,17,17,.92)}
  .banda .caja p:first-of-type{font-size:23px}

  /* Ideas: carrusel */
  .galeria{gap:12px;margin:0 -18px;padding:0 18px}
  .galeria img,.galeria .hueco{flex:0 0 78%;height:430px;border-radius:22px;scroll-snap-align:center}
  .galeria-flechas{display:none}
  .trabajos{padding-top:8px}
  .visor{padding:56px 10px}
  .visor-nav{display:none}

  /* Fases: tarjetas deslizables */
  .proceso{margin:0 12px;border-radius:28px}
  .proceso h2{margin-bottom:22px;font-size:1.6rem}
  .pasos{gap:12px;margin:0 -18px;padding:0 18px}
  .pasos li{flex:0 0 76%;scroll-snap-align:start;background:#1E1E1E;border:0;border-radius:22px;padding:22px;gap:10px}
  .pasos li:first-child{border:0}
  .pasos .num{font-size:38px}
  .proceso .puntos span{background:#444}
  .proceso .puntos span.activo{background:var(--rosa)}

  /* Exposición: tarjeta */
  .exposicion{background:transparent}
  .exposicion .contenedor{gap:0;background:#fff;border-radius:28px;margin:0 12px;padding:12px 12px 22px;overflow:hidden}
  .exposicion .fotos{gap:10px}
  .exposicion .fotos img{border-radius:20px}
  .exposicion .fotos img:first-child{height:220px}
  .exposicion .fotos img:last-child{height:150px}
  .exposicion .texto{padding:20px 8px 0;gap:16px}
  .exposicion .btn{width:100%}

  /* Opiniones */
  .opiniones-caja{flex-direction:column;align-items:flex-start;padding:24px;background:#fff;border:0;border-radius:24px}
  .opiniones-caja .cifra{font-size:48px}
  .opiniones-caja .btn{width:100%}

  /* Contacto y formulario */
  .contacto{background:transparent}
  .contacto .contenedor{gap:22px}
  .telefonos{flex-direction:row;flex-wrap:wrap;gap:10px}
  .telefonos a{background:#fff;border-radius:999px;padding:11px 16px;font-size:16px}
  .telefonos a.email{background:none;padding:4px 0;flex-basis:100%}
  .formulario{padding:20px;border-radius:24px;margin:0 -6px;box-shadow:0 8px 24px rgba(60,20,30,.07)}
  .opciones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .opciones label{padding:10px 12px;font-size:15px;border-radius:14px}
  .campos{grid-template-columns:1fr;gap:14px}
  .campo input,.campo textarea{font-size:16px;background:#FBF9F7}
  .formulario .btn{width:100%}

  /* Pie */
  .pie{margin-top:20px;border-radius:28px 28px 0 0}
  .pie .contenedor{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px;padding-top:36px}
  .pie .col:first-child,.pie .col:nth-child(2){grid-column:span 2}

  /* Barra inferior fija */
  .barra-movil{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:60;padding:8px;background:rgba(17,17,17,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:22px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .25s ease}
  .barra-movil .btn{min-height:48px;padding:10px 14px;gap:8px;font-size:15px;border-radius:16px}
  .barra-movil.oculta{transform:translateY(140%)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
