/* Soto Reformas v2. Papel de maqueta, roble y verde botella. */
:root{
  --papel:#E4D1BA; --crema:#F4ECDF; --blanco:#FBF7F0;
  --tinta:#2A2118; --tinta2:#6B5C4B; --linea:rgba(42,33,24,.18);
  --roble:#96602C; --salvia:#5C7160; --botella:#1F3A2E; --marca:#2B9A46;
  --disp:"Gloock",Georgia,serif; --base:"Figtree",system-ui,sans-serif;
  --lado:clamp(1.5rem,4vw,4.5rem); --ancho:1560px;
  --ease:cubic-bezier(.22,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--crema);color:var(--tinta);font:400 1.0625rem/1.6 var(--base);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,canvas,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--disp);font-weight:400;letter-spacing:-.015em;line-height:1.02}
:focus-visible{outline:2px solid var(--roble);outline-offset:3px}
.salto{position:fixed;left:1rem;top:-5rem;z-index:200;background:var(--tinta);color:#fff;padding:.6rem 1rem}
.salto:focus{top:1rem}
[data-revela]{overflow:hidden}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}

.t1{font-size:clamp(3.2rem,8.2vw,9.6rem);line-height:.98}
.t2{font-size:clamp(2.5rem,5.4vw,6.2rem)}
.t3{font-size:clamp(1.5rem,2.2vw,2.3rem);line-height:1.1}
.compromiso h3,.paso h3{font-size:clamp(1.5rem,2.2vw,2.3rem);line-height:1.1}
.cota{font:500 .8rem/1.3 var(--base);letter-spacing:.08em;text-transform:uppercase}
.eti{font:500 .86rem/1.3 var(--base);letter-spacing:.08em;text-transform:uppercase;color:var(--roble)}
.eti--par{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--linea)}
.eti--par span+span{color:var(--tinta2)}
.entrada{font-size:clamp(1.14rem,1.45vw,1.4rem);line-height:1.45;max-width:34em}
.muted{color:var(--tinta2)}
.envoltura{max-width:var(--ancho);margin-inline:auto;padding-inline:var(--lado)}

.boton{display:inline-flex;align-items:center;gap:.7em;min-height:3.4rem;padding:.8rem 1.7rem;background:var(--botella);color:var(--blanco);text-decoration:none;font-weight:500;border:0;border-radius:999px;transition:background .35s,transform .35s var(--ease);cursor:pointer}
.boton:hover{background:var(--roble);transform:translateY(-2px)}
.enlace{display:inline-flex;gap:.55em;align-items:baseline;min-height:2.75rem;padding-block:.5rem;font-weight:500;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 calc(100% - .35rem)/100% 1px no-repeat;transition:background-size .45s var(--ease)}
.enlace:hover{background-size:45% 1px}
.acciones{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center}

/* Cabecera */
.cab{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.8rem var(--lado);color:var(--tinta);background:rgba(244,236,223,.94);backdrop-filter:blur(10px);transition:transform .5s var(--ease),background .4s}
.cab.oculta{transform:translateY(-105%)}
.con-portada .cab:not(.sobre-yeso){background:transparent;backdrop-filter:none}
.cab__logo{display:block;width:96px;--casa:var(--marca)}
.cab__logo svg{width:100%;height:auto}
.cab__nav{display:flex;align-items:center;gap:clamp(1.2rem,2.4vw,2.4rem)}
.cab__nav>a,.cab__sub>a{text-decoration:none;font-weight:500;padding-block:.8rem}
.cab__nav a[aria-current=page]{box-shadow:inset 0 -1px currentColor}
.cab__sub{position:relative}
.cab__panel{position:absolute;top:100%;left:-1.2rem;min-width:15.5rem;padding:.6rem 0;background:var(--blanco);opacity:0;visibility:hidden;transform:translateY(6px);transition:.25s;border-radius:10px}
.cab__sub:hover .cab__panel,.cab__sub:focus-within .cab__panel{opacity:1;visibility:visible;transform:none}
.cab__panel a{display:block;padding:.55rem 1.2rem;text-decoration:none}
.cab__panel a:hover{background:var(--crema)}
.cab__tel{text-decoration:none;font-weight:600;background:var(--botella);color:var(--blanco)!important;padding:.6rem 1.1rem!important;border-radius:999px;white-space:nowrap}
.cab__menu{display:none;background:none;border:1px solid currentColor;border-radius:999px;padding:.5rem 1rem;cursor:pointer;min-height:2.75rem;font-weight:500}
.menu{position:fixed;inset:0;z-index:60;background:var(--botella);color:var(--blanco);padding:5.5rem var(--lado) 2rem;display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .6s var(--ease),visibility .6s;overflow:auto}
.menu.abierto{clip-path:inset(0);visibility:visible}
.menu a{text-decoration:none}
.menu__lista{font:400 clamp(2rem,9vw,2.8rem)/1.2 var(--disp)}
.menu__lista a{display:block;padding:.25rem 0}
.menu__sub{font:400 1.08rem/1.2 var(--base);padding:.1rem 0 .6rem}
.menu__sub a{padding:.5rem 0}
.menu__cerrar{position:absolute;top:1rem;right:var(--lado);background:none;border:1px solid currentColor;border-radius:999px;color:inherit;padding:.5rem 1rem;min-height:2.75rem;cursor:pointer}

/* Vuelos: la maqueta sale del papel y la cámara entra en la casa */
.vuelo{position:relative;background:var(--papel)}
.vuelo__pista{height:520vh}
.vuelo--bano .vuelo__pista{height:380vh}
.vuelo--cierre .vuelo__pista{height:360vh}
.vuelo__escena{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--papel)}
.vuelo__lienzo,.vuelo__primero,.vuelo__real{position:absolute;inset:0;width:100%;height:100%}
.vuelo__primero{object-fit:cover;object-position:62% 50%;pointer-events:none}
.vuelo__real{object-fit:cover;opacity:0}
.vuelo__velo{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,14,8,.68));opacity:0;pointer-events:none}
.vuelo__texto{position:absolute;left:var(--lado);top:50%;transform:translateY(-50%);width:min(44vw,42rem);margin-top:1.5rem}
.vuelo__texto .cota{color:var(--tinta2);margin-bottom:1.2rem}
.vuelo__texto h1,.vuelo__texto h2{font-size:clamp(3.2rem,6.5vw,8.4rem);line-height:1.01;margin-bottom:1.5rem}
.vuelo__texto .l{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.16em}
.vuelo__texto .l>span{display:block;white-space:nowrap}
.vuelo__texto .entrada{margin-bottom:1.6rem;max-width:27em}
.vuelo__pista-baja{position:absolute;left:var(--lado);bottom:1.5rem;color:var(--tinta2)}
.vuelo__pista-baja::after{content:"";display:inline-block;width:1px;height:1.6rem;background:currentColor;margin-left:.8rem;vertical-align:middle;transform-origin:50% 0;animation:baja 2.2s var(--ease) infinite}
@keyframes baja{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:50% 100%}}
.vuelo__fin{position:absolute;left:var(--lado);right:var(--lado);bottom:clamp(2rem,6vh,4.5rem);color:#fff;opacity:0}
.vuelo__fin h2{font-size:clamp(2.8rem,7vw,9rem);margin-bottom:.6rem;text-shadow:0 2px 40px rgba(0,0,0,.35)}
.vuelo__fin p{font-size:1.15rem}
.vuelo__texto--bano{opacity:1}
.vuelo__texto--cierre h2{font-size:clamp(3.2rem,6.2vw,8rem);margin-bottom:.6rem;white-space:nowrap}
.cierre__tel{display:block;width:max-content;max-width:100%;font:400 clamp(2.2rem,4.2vw,5rem)/1.1 var(--disp);text-decoration:none;margin-bottom:1.1rem;color:var(--botella)}
.cierre__tel:hover{color:var(--roble)}
.js-activo .vuelo--portada .l>span{transform:translateY(112%)}
.js-activo .vuelo--portada .cota,.js-activo .vuelo--portada .entrada,.js-activo .vuelo--portada .acciones{opacity:0}

/* Bien a la primera */
.primera{padding-block:clamp(5rem,11vw,10rem);background:var(--crema)}
.primera__rej{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,6vw,7rem);align-items:end;margin-top:1.8rem}
.primera__texto{display:grid;gap:1.1rem;justify-items:start}
.cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:clamp(3.5rem,7vw,6.5rem);padding-top:1.8rem;border-top:1px solid var(--linea)}
.cifras b{display:block;font:400 clamp(3rem,6.4vw,7rem)/1 var(--disp);color:var(--roble)}
.cifras span{display:block;margin-top:.5rem;max-width:12em}

/* Paneles apilados: cada servicio se desliza sobre el anterior */
.panel{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:5fr 6fr;overflow:hidden}
.panel--roble{background:var(--roble);color:var(--blanco)}
.panel--salvia{background:var(--salvia);color:var(--blanco)}
.panel--botella{background:var(--botella);color:var(--blanco)}
.panel--arena{background:var(--papel);color:var(--tinta)}
.panel__t{align-self:end;padding:clamp(5rem,12vh,8rem) var(--lado) clamp(2rem,7vh,4.5rem);display:grid;gap:1rem;justify-items:start}
.panel__t h3{font-size:clamp(3.2rem,7vw,8.6rem);line-height:.98;max-width:6.5em}
.panel__t p{font-size:1.15rem;max-width:25em}
.panel__f{position:relative;overflow:hidden}
.panel__f img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:50% 72%}

/* La misma ventana */
.dentro{background:var(--blanco)}
.dentro__pista{height:420vh}
.dentro__escena{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);overflow:hidden}
.dentro__fotos{position:relative;overflow:hidden;background:var(--tinta)}
.capa{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:0}
.capa:first-child{opacity:1}
.dentro__t{align-self:center;padding:5rem var(--lado) 2rem;display:grid;gap:1.2rem;justify-items:start}
.dentro__fases{display:grid;grid-template-areas:"f";width:100%;min-height:9rem}
.fase{grid-area:f;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .6s var(--ease)}
.fase.on{opacity:1;transform:none}
.fase .cota{color:var(--roble)}
.fase h3{font-size:clamp(1.7rem,2.6vw,2.7rem);margin-block:.3rem .4rem}
.fase p{max-width:28em;color:var(--tinta2)}

/* Gremios */
.gremios{background:var(--botella);color:var(--blanco);padding-block:clamp(5.5rem,11vw,10rem)}
.gremios .eti{color:#D9B48A}
.gremios h2{margin-top:1.4rem}
.gremios__lista{margin-top:clamp(2.5rem,5vw,4.5rem);font:400 clamp(1.9rem,3.9vw,4.4rem)/1.2 var(--disp)}
.punto{opacity:.45}
.gremios__pie{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-top:clamp(2.5rem,5vw,4.5rem);padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.22)}
.gremios__tel{font:400 clamp(2.2rem,5vw,5.8rem)/1 var(--disp);color:#E9C9A2;text-decoration:none;white-space:nowrap}
.gremios__tel:hover{color:#fff}

/* Trabajos */
.trabajos{padding-block:clamp(5rem,10vw,9rem);background:var(--crema)}
.trabajos__cab{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-block:1.6rem clamp(2.5rem,5vw,4.5rem)}
.trabajos__rej{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2.5vw,2.5rem);row-gap:clamp(2.5rem,5vw,5rem)}
.trabajo{text-decoration:none;display:block}
.trabajo--0{grid-column:1/8}.trabajo--1{grid-column:9/13;align-self:end}
.trabajo--2{grid-column:1/5}.trabajo--3{grid-column:6/13}
.trabajo figure{aspect-ratio:4/5;overflow:hidden;background:var(--papel)}
.trabajo--0 figure,.trabajo--3 figure{aspect-ratio:5/5}
.trabajo img{width:100%;height:112%;object-fit:cover;transition:transform 1.2s var(--ease)}
.trabajo:hover img{transform:scale(1.04)}
.trabajo h3{font-size:clamp(1.5rem,2.3vw,2.4rem);margin-top:.8rem}

/* Proceso, firma, persona */
.proc{padding-block:clamp(5rem,10vw,9rem);background:var(--crema)}
.trabajos+.proc{padding-top:0}
.proc__cab{margin-block:1.4rem clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:7fr 4fr;gap:2rem;align-items:end}
.proc__rayo{display:none}
.paso{display:grid;grid-template-columns:11rem minmax(0,4fr) minmax(0,5fr);gap:1.5rem;padding-block:clamp(1.2rem,2.3vw,1.9rem);border-top:1px solid var(--linea);align-items:baseline}
.paso .cota{color:var(--roble)!important}
.firma{background:var(--papel);padding-block:clamp(5rem,10vw,9rem)}
.firma__rej{display:grid;grid-template-columns:4fr 7fr;gap:clamp(2rem,6vw,7rem);margin-top:1.8rem}
.compromiso{padding-block:1.35rem;border-top:1px solid var(--linea);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:1.5rem;align-items:baseline}
.persona{display:grid;grid-template-columns:6fr 5fr;min-height:84vh;background:var(--blanco)}
.persona figure{overflow:hidden;min-height:60vh}
.persona img{width:100%;height:100%;object-fit:cover;object-position:50% 100%}
.persona__t{padding:clamp(3rem,6vw,6rem) var(--lado);align-self:center;display:grid;gap:1.2rem}
.persona__nombre{margin-top:.8rem}

/* Cierre de páginas interiores */
.cierre{background:var(--botella);color:var(--blanco)}
.cierre .cierre__tel{color:#E9C9A2;margin-block:1.6rem;font-size:clamp(2.6rem,7vw,8rem)}
.cierre__in{padding-block:clamp(5rem,10vw,9rem)}
.cierre .boton{background:var(--blanco);color:var(--tinta)}
.cierre .boton:hover{background:#E9C9A2}

/* Pie */
.pie{background:var(--tinta);color:rgba(251,247,240,.82);padding-block:clamp(3rem,6vw,5rem) 1.5rem;font-size:1rem}
.pie__rej{display:grid;grid-template-columns:4fr 2fr 2fr 3fr;gap:2.4rem}
.pie a{text-decoration:none}
.pie a:hover{color:#E9C9A2}
.pie__logo{width:128px;--casa:#fff;color:#fff;margin-bottom:1.2rem}
.pie h2{font:500 .8rem var(--base);letter-spacing:.08em;text-transform:uppercase;color:rgba(251,247,240,.55);margin-bottom:.8rem}
.pie li{padding-block:.22rem}
.pie li a{display:inline-block;padding-block:.15rem}
.pie__leg{margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:.3rem 1.8rem;justify-content:space-between;font-size:.92rem}
.pie__leg nav{display:flex;flex-wrap:wrap;gap:.3rem 1.3rem}
.pie__kit{margin-top:1.4rem;background:#fff;padding:.5rem .8rem;width:100%;max-width:min(560px,100%)}

/* Lista de servicios (página Servicios) */
.serv__l{border-bottom:1px solid var(--linea)}
.serv__f{border-top:1px solid var(--linea)}
.serv__f a{display:grid;grid-template-columns:1fr 12rem 2rem;gap:1.5rem;align-items:baseline;padding:clamp(1.05rem,2vw,1.7rem) 0;text-decoration:none;transition:padding .5s var(--ease),color .3s}
.serv__f a:hover{padding-left:1.2rem;color:var(--roble)}
.serv__n{font:400 clamp(2.2rem,5vw,5.6rem)/1.04 var(--disp)}
.serv__mini{display:none}
.serv__flota{position:fixed;left:0;top:0;width:clamp(240px,23vw,340px);aspect-ratio:4/5;pointer-events:none;z-index:30;overflow:hidden;opacity:0;visibility:hidden}
.serv__flota img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}
.serv__flota img.on{opacity:1}

/* Interiores */
.int{padding-top:clamp(7rem,12vh,9rem)}
.int__cab{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,6vw,6rem);align-items:end;padding-bottom:clamp(3rem,6vw,5rem)}
.int__cab>div:only-child{grid-column:1/-1}
.int__cab>div:only-child .t1{font-size:clamp(3.2rem,9vw,10rem)}
.int__cab figure{aspect-ratio:4/5;overflow:hidden;background:var(--papel)}
.int__cab img{width:100%;height:100%;object-fit:cover}
.int__cab .t1{font-size:clamp(3rem,6.8vw,7.8rem);margin-block:1.1rem 1.5rem}
.miga{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--tinta2)}
.miga a{text-decoration:none}
.bloque{padding-block:clamp(3.5rem,8vw,7rem)}
.bloque--papel{background:var(--blanco)}
.bloque--oscuro{background:var(--botella);color:var(--blanco)}
.bloque--oscuro .eti--par{border-color:rgba(255,255,255,.22)}
.bloque--oscuro .eti,.bloque--oscuro .eti--par span+span{color:#D9B48A}
.bloque__cab{margin-block:2rem clamp(2rem,4vw,3.4rem);display:grid;grid-template-columns:7fr 4fr;gap:2rem;align-items:end}
.dos{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,6vw,6rem)}
.dos p+p{margin-top:1rem}
.datos{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2.4rem;border-top:1px solid var(--linea)}
.datos div{padding:1rem 1rem 1rem 0}
.datos b{display:block;font:400 clamp(1.9rem,3vw,3.2rem)/1.1 var(--disp);color:var(--roble)}
.etapa{border-top:1px solid var(--linea)}
.etapa:last-child{border-bottom:1px solid var(--linea)}
.etapa summary{display:grid;grid-template-columns:3.2rem 1fr 1.5rem;gap:1rem;align-items:baseline;padding-block:1.25rem;cursor:pointer;list-style:none}
.etapa summary::-webkit-details-marker{display:none}
.etapa summary i{font:400 1.5rem var(--base);font-style:normal;transition:transform .3s}
.etapa[open] summary i{transform:rotate(45deg)}
.etapa__c{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,5fr);gap:1.5rem;padding:0 0 1.6rem 4.2rem}
.etapa__c li{padding-block:.16rem}
.etapa__c li::before{content:"";display:inline-block;width:.9em;height:1px;background:var(--roble);margin-right:.6em;vertical-align:.3em}
.etapa__g{margin-top:.9rem;color:var(--tinta2)}
.rasgos{display:grid;grid-template-columns:repeat(2,1fr);column-gap:clamp(2rem,6vw,6rem)}
.rasgos div{padding-block:1.1rem;border-top:1px solid var(--linea)}
.faq{border-top:1px solid var(--linea)}
.faq:last-child{border-bottom:1px solid var(--linea)}
.faq summary{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding-block:1.05rem;cursor:pointer;list-style:none;font-weight:500;font-size:1.12rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{font:400 1.4rem var(--base);font-style:normal;transition:transform .3s}
.faq[open] summary i{transform:rotate(45deg)}
.faq p{padding-bottom:1.2rem;max-width:44em;color:var(--tinta2)}
.sugeridos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2rem)}
.sugeridos a{text-decoration:none;display:block}
.sugeridos figure{aspect-ratio:3/4;overflow:hidden;background:var(--papel)}
.sugeridos img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.sugeridos a:hover img{transform:scale(1.04)}
.sugeridos b{display:block;margin-top:.6rem;font:400 1.3rem var(--disp)}
.mas{display:flex;flex-wrap:wrap;gap:.2rem 2.6rem}
.mas a{font:400 clamp(1.5rem,2.6vw,2.4rem)/1.3 var(--disp);text-decoration:none}
.mas a:hover{color:var(--roble)}
.tiempo{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,3vw,3rem);padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.22)}
.tiempo b{display:block;font:400 clamp(2.6rem,5vw,5.4rem)/1 var(--disp);margin-bottom:.8rem;color:#E9C9A2}
.tiempo h3{font-size:1.35rem;margin-bottom:.4rem}
.tiempo p{color:rgba(251,247,240,.76)}
.galeria{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.8rem,2vw,1.6rem)}
.galeria figure{grid-column:span 4}
.galeria figure:nth-child(5n+1){grid-column:span 7}
.galeria figure:nth-child(5n+2){grid-column:span 5;align-self:end}
.galeria img{width:100%;aspect-ratio:3/4;object-fit:cover}
.galeria figure:nth-child(5n+1) img{aspect-ratio:1/1}
.galeria figcaption{margin-top:.5rem;color:var(--tinta2)}
.grupo{margin-top:clamp(2.5rem,5vw,4.5rem)}
.indice{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,4vw,4rem)}
.indice a{text-decoration:none;display:block}
.indice a:nth-child(even){margin-top:clamp(3rem,8vw,8rem)}
.indice figure{aspect-ratio:4/5;overflow:hidden;background:var(--papel)}
.indice img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.indice a:hover img{transform:scale(1.03)}
.indice h2{margin-top:.8rem;font-size:clamp(1.7rem,2.6vw,2.7rem)}
.filtros{display:flex;gap:1.4rem;margin-bottom:2rem}
.filtros button{background:none;border:0;padding:.5rem 0;cursor:pointer;min-height:2.75rem;color:var(--tinta2);font-weight:500}
.filtros button[aria-pressed=true]{color:var(--tinta);box-shadow:inset 0 -1px var(--roble)}
.contacto{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,7vw,8rem)}
.contacto__d{display:grid;margin-top:2rem}
.contacto__d div{padding-block:.9rem;border-top:1px solid var(--linea)}
.contacto__d a{font-size:1.25rem;text-decoration:none}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form label{display:grid;gap:.35rem;font-size:.95rem}
.form .ancho{grid-column:1/-1}
.form input:not([type=checkbox]),.form select,.form textarea{width:100%;min-height:3.1rem;padding:.7rem .85rem;background:var(--blanco);border:1px solid rgba(42,33,24,.4);border-radius:8px}
.form textarea{min-height:9rem;resize:vertical}
.form .casilla{grid-template-columns:auto 1fr;gap:.7rem;align-items:start}
.form .casilla input{width:1.3rem;height:1.3rem;margin-top:.15rem;accent-color:var(--botella)}
.form__nota{min-height:1.5em;color:#8a2f1d}
.legal{max-width:46rem}
.legal h2{margin-block:2.4rem .7rem}
.legal p{margin-bottom:.9rem}
.aviso{padding:1rem 1.2rem;background:var(--blanco);border-left:2px solid var(--roble);margin-block:1.2rem}

/* Movimiento reducido: todo visible y quieto */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .vuelo__pista,.dentro__pista{height:auto}
  .vuelo__escena{position:relative}
  .vuelo__lienzo{display:none}
  .vuelo--portada .vuelo__real,.vuelo__fin,.vuelo__velo,.vuelo__pista-baja{display:none}
  .vuelo--bano .vuelo__real{opacity:1}
  .panel{position:relative}
  .dentro__escena{position:relative;height:auto;grid-template-columns:1fr 1fr}
  .dentro__fotos{min-height:80vh}
  .capa:last-child{opacity:1}
  .fase{opacity:1;transform:none;grid-area:auto;margin-bottom:1rem}
}

/* Tabletas */
@media (max-width:1040px){
  .cab__nav>a:not(.cab__tel),.cab__sub{display:none}
  .cab__menu{display:block}
  .pie__rej{grid-template-columns:1fr 1fr}
}

/* Móvil: la misma web, adaptada. Va al final. */
@media (max-width:760px){
  .cab{padding:.6rem 1.25rem;gap:.7rem}
  .cab__logo{width:74px}
  .cab__tel{display:none}
  .t1{font-size:clamp(3rem,14vw,4.4rem)}
  .t2{font-size:clamp(2.5rem,11.5vw,3.6rem)}
  .vuelo__pista{height:440vh}
  .vuelo--bano .vuelo__pista{height:360vh}
  .vuelo--cierre .vuelo__pista{height:300vh}
  .vuelo__texto{top:5.2rem;transform:none;margin:0;width:auto;right:var(--lado)}
  .vuelo__texto h1,.vuelo__texto h2{font-size:clamp(2.7rem,12.4vw,3.8rem);margin-bottom:.8rem}
  .vuelo__texto .cota{margin-bottom:.7rem}
  .vuelo__texto .entrada{font-size:1.06rem;margin-bottom:1rem}
  .vuelo__texto--cierre h2{font-size:clamp(3rem,14vw,4.4rem)}
  .vuelo__pista-baja{display:none}
  .vuelo__fin h2{font-size:clamp(2.6rem,12vw,3.6rem)}
  .cierre__tel{font-size:clamp(2.4rem,11vw,3.4rem)}
  .primera__rej,.proc__cab,.firma__rej,.persona,.dos,.bloque__cab,.int__cab,.contacto,.gremios__pie{grid-template-columns:1fr}
  .cifras{grid-template-columns:1fr 1fr;row-gap:2rem}
  .panel{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  .panel__f{order:1}
  .panel__t{order:2;padding:1.4rem 1.5rem 1.8rem;gap:.6rem}
  .panel__t h3{font-size:clamp(2.7rem,12.5vw,3.8rem)}
  .panel__t p{font-size:1.05rem}
  .dentro__escena{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  .dentro__t{align-self:auto;padding:1.1rem 1.5rem 1.2rem;gap:.5rem}
  .dentro__t .eti,.dentro__t>.enlace{display:none}
  .dentro__t h2{font-size:1.9rem}
  .dentro__fases{min-height:7.6rem}
  .fase h3{font-size:1.5rem}
  .fase p{font-size:1rem;line-height:1.35}
  .gremios__lista{font-size:clamp(1.8rem,8vw,2.4rem)}
  .gremios__tel{font-size:clamp(2.4rem,11.4vw,3.4rem)}
  .trabajo--0,.trabajo--1,.trabajo--2,.trabajo--3{grid-column:1/-1}
  .trabajo--1,.trabajo--2{grid-column:span 6;align-self:start}
  .trabajo--1 h3,.trabajo--2 h3{font-size:1.25rem}
  .paso{grid-template-columns:1fr;gap:.35rem}
  .compromiso{grid-template-columns:1fr;gap:.4rem}
  .persona figure{height:68vw;min-height:0}
  .pie__rej{grid-template-columns:1fr}
  .serv__f a{grid-template-columns:4.6rem 1fr 1.3rem;gap:.9rem;align-items:center;padding:1rem 0}
  .serv__mini{display:block;width:4.6rem;height:5.6rem;object-fit:cover;grid-row:span 2}
  .serv__n{font-size:1.8rem;grid-column:2}
  .serv__f .cota{grid-column:2;grid-row:2;align-self:start}
  .serv__f .flecha{grid-column:3;grid-row:1/3}
  .datos{grid-template-columns:1fr 1fr}
  .etapa__c{grid-template-columns:1fr;padding-left:0}
  .rasgos,.tiempo{grid-template-columns:1fr}
  .sugeridos{grid-template-columns:1fr 1fr}
  .indice{grid-template-columns:1fr}
  .indice a:nth-child(even){margin-top:0}
  .galeria figure,.galeria figure:nth-child(5n+1),.galeria figure:nth-child(5n+2){grid-column:span 6}
  .galeria figure:nth-child(3n+1){grid-column:1/-1}
  .form{grid-template-columns:1fr}
  .int__cab figure{aspect-ratio:1/1}
}
