/* Ventcor · hoja propia (dirección de arte: ../DIRECCION-ARTE.md) */
@font-face{font-family:'Unbounded';src:url('../fonts/unbounded-var-latin.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('../fonts/instrument-var-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}

:root{
  /* su uniforme y su logo (colores aproximados desde la foto: ajustar con el original) */
  --negro:#1E1F1D; --negro-2:#262724; --negro-3:#34352F; --gris:#9A9C95; --gris-osc:#5B5D56;
  --hueso:#F4F5F1; --blanco:#FFFFFF; --linea:#DCDFD6;
  --aire:#6CC04A; --aire-claro:#A6D86A; --aire-texto:#2F7A1F; --aire-campo:#ECF5E4;
  --calor:#E8505F; --calor-claro:#EE6A78; --calor-texto:#C73545; --calor-campo:#FBECEA;
  --frio:#3F86D4; --frio-claro:#6FB0EA; --frio-texto:#2A6DB8; --frio-campo:#E8F1FB;
  --lima:#4FD83A;
  --display:'Unbounded',system-ui,sans-serif; --texto:'Instrument Sans',system-ui,sans-serif;
  --curva:cubic-bezier(.22,.8,.26,1); --dur:.45s;
  --r:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--hueso);color:var(--negro);font:1.0625rem/1.6 var(--texto);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.02em;line-height:1.05}
p{margin:0 0 1rem}
.wrap{max-width:76rem;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
.ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--frio-claro);outline-offset:3px}

/* lo que falta por confirmar: visible y honesto */
.pte{display:inline-block;font:600 .72rem/1.3 var(--texto);letter-spacing:.02em;padding:.18rem .5rem;border-radius:99px;border:1px dashed currentColor;opacity:.85;vertical-align:middle;white-space:normal;max-width:100%}

/* franja de propuesta */
.franja{background:var(--lima);color:var(--negro);font:600 .8rem/1.4 var(--texto);text-align:center;padding:.4rem 1rem}

/* ---------- cabecera (negro del uniforme + ribete lima) ---------- */
.cab{position:sticky;top:0;z-index:40;background:var(--negro);color:var(--hueso);box-shadow:inset 0 -3px 0 var(--lima)}
.cab .wrap{display:flex;align-items:center;gap:1.5rem;min-height:4.25rem}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.marca img{width:2.5rem;height:2.5rem}
.marca span{font:700 1.05rem var(--display);letter-spacing:.34em;color:var(--aire-claro)}
.nav{display:flex;gap:1.4rem;margin-left:auto;font:600 .95rem var(--texto)}
.nav a{text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;opacity:.9}
.nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:.3em}
.nav i{width:.55rem;height:.55rem;border-radius:50%;display:inline-block}
@media (max-width:900px){.nav{display:none}.cab .btn{margin-left:auto}}

/* ---------- botones ---------- */
.btn{font:700 .98rem/1 var(--display);letter-spacing:-.01em;border:0;border-radius:10px;padding:1rem 1.25rem;cursor:pointer;display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;transition:background var(--dur) var(--curva),transform .15s,box-shadow var(--dur) var(--curva)}
.btn:active{transform:translateY(1px)}
.btn-pri{background:var(--aire);color:var(--negro)}
.btn-pri:hover{background:var(--aire-claro)}
.btn-sec{background:transparent;color:var(--hueso);box-shadow:inset 0 0 0 1.5px #ffffff4d}
.btn-sec:hover{box-shadow:inset 0 0 0 1.5px var(--hueso)}
.btn-osc{background:var(--negro);color:var(--hueso)}
.btn-osc:hover{background:var(--negro-3)}
.btn-lin{background:transparent;color:var(--negro);box-shadow:inset 0 0 0 1.5px var(--negro)}
.btn-lin:hover{background:#0000000a}
.btn-peq{padding:.7rem .95rem;font-size:.85rem}
.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* ---------- el mando: la tecla MODO ---------- */
.mando{display:inline-flex;flex-direction:column;gap:.55rem}
.mando-et{font:700 .7rem var(--display);letter-spacing:.28em;color:var(--gris)}
.teclas{display:inline-flex;background:var(--negro-2);border-radius:14px;padding:5px;gap:4px;box-shadow:inset 0 0 0 1px #ffffff14}
.tecla{--c:var(--aire);display:inline-flex;align-items:center;gap:.5rem;border:0;background:transparent;color:var(--hueso);font:600 .92rem var(--display);padding:.7rem .95rem;border-radius:10px;cursor:pointer;transition:background var(--dur) var(--curva),color var(--dur) var(--curva)}
.tecla svg{width:1.2rem;height:1.2rem}
.tecla[data-modo=frio]{--c:var(--frio-claro)}
.tecla[data-modo=calor]{--c:var(--calor-claro)}
.tecla[data-modo=aire]{--c:var(--aire)}
.tecla svg{color:var(--c)}
.tecla:hover{background:#ffffff0f}
.tecla[aria-pressed=true]{background:var(--c);color:var(--negro)}
.tecla[aria-pressed=true] svg{color:var(--negro)}

/* ---------- portada: la firma ---------- */
.portada{background:var(--negro);color:var(--hueso);position:relative;overflow:clip;padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,7vw,6rem)}
.portada .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,3rem);position:relative}
.cartel{display:inline-flex;align-items:center;gap:.5rem;font:700 .74rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--aire-claro);border:1.5px solid currentColor;border-radius:8px;padding:.45rem .7rem;margin-bottom:1.4rem}
.portada h1{font-size:clamp(2.2rem,5.4vw,4.4rem);font-weight:800;line-height:1.02;letter-spacing:-.035em;margin-bottom:1.4rem;max-width:13ch}
.portada h1 .l{display:block;transition:opacity var(--dur) var(--curva),color var(--dur) var(--curva)}
.portada h1 .l1{color:var(--frio-claro)} .portada h1 .l2{color:var(--calor-claro)} .portada h1 .l3{color:var(--aire-claro)}
.portada[data-modo=frio] h1 .l:not(.l1),.portada[data-modo=calor] h1 .l:not(.l2),.portada[data-modo=aire] h1 .l:not(.l3){opacity:.28}
.portada .sub{font-size:clamp(1.05rem,1.6vw,1.2rem);color:#D3D5CD;max-width:40ch;min-height:3.4em;margin-bottom:1.6rem}
.portada .mando{margin-bottom:1.8rem}
.firma{position:relative;aspect-ratio:1.2;width:100%}
.firma svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.estela{fill:none;stroke-linecap:round;transition:opacity .6s var(--curva)}
.portada[data-modo=frio] .calor,.portada[data-modo=calor] .frio{opacity:.14}
.portada[data-modo=aire] .calor,.portada[data-modo=aire] .frio{opacity:.3}
.rotor,.arranque{transform-box:fill-box;transform-origin:50% 50%}
@media (prefers-reduced-motion:no-preference){
  .arranque{animation:arranca 2.6s cubic-bezier(.12,.7,.3,1) both}
  .rotor{animation:gira 9s linear infinite}
  .deriva{animation:deriva 11s ease-in-out infinite alternate}
  .deriva.b{animation-duration:13s;animation-direction:alternate-reverse}
}
@keyframes arranca{from{transform:rotate(-1080deg)}to{transform:none}}
@keyframes gira{to{transform:rotate(360deg)}}
@keyframes deriva{to{transform:translate(-1.6%,.6%)}}
.datos-portada{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:2rem;font-size:.9rem;color:var(--gris)}
.datos-portada span{display:inline-flex;align-items:center;gap:.4rem}
@media (max-width:860px){
  .portada .wrap{grid-template-columns:1fr}
  .firma{order:-1;width:min(26rem,92%);margin:0 auto -1rem}
  .portada h1{max-width:none}
}

/* ---------- secciones ---------- */
.sec{padding:clamp(3.5rem,8vw,6.5rem) 0}
.eti{font:700 .74rem var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--gris-osc);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem}
.eti::before{content:'';width:1.6rem;height:3px;background:var(--lima);border-radius:2px}
.sec h2{font-size:clamp(1.8rem,4vw,3rem);font-weight:800;max-width:20ch;margin-bottom:1rem}
.lead{font-size:1.15rem;max-width:58ch;color:#3F413B}
.cab-sec{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;align-items:end;margin-bottom:clamp(2rem,5vw,3.5rem)}
@media (max-width:860px){.cab-sec{grid-template-columns:1fr}}

/* los tres modos: bandas, no tarjetas */
.modo{--c:var(--aire);--ct:var(--aire-texto);--campo:var(--aire-campo);background:var(--campo);padding:clamp(3rem,7vw,5.5rem) 0;position:relative}
.modo[data-modo=frio]{--c:var(--frio);--ct:var(--frio-texto);--campo:var(--frio-campo)}
.modo[data-modo=calor]{--c:var(--calor);--ct:var(--calor-texto);--campo:var(--calor-campo)}
.modo .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.modo.inv .dibujo{order:2}
.modo .tecla-grande{display:inline-flex;align-items:center;gap:.7rem;background:var(--negro);color:var(--hueso);border-radius:14px;padding:.6rem 1rem .6rem .7rem;font:700 .95rem var(--display);letter-spacing:.14em;margin-bottom:1.3rem}
.modo .tecla-grande b{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:9px;background:var(--c);color:var(--negro)}
.modo .tecla-grande svg{width:1.25rem;height:1.25rem}
.modo h3{font-size:clamp(1.55rem,3.2vw,2.35rem);font-weight:800;margin-bottom:1rem;max-width:18ch}
.modo h3 em{font-style:normal;color:var(--ct)}
.modo p{max-width:52ch}
.lista{list-style:none;padding:0;margin:1.2rem 0 1.8rem;display:grid;gap:.1rem}
.lista li{display:grid;grid-template-columns:1.6rem 1fr;gap:.5rem;padding:.6rem 0;border-top:1px solid #0000001a}
.lista li:last-child{border-bottom:1px solid #0000001a}
.lista li svg{color:var(--ct);margin-top:.25rem}
.lista b{font-weight:600}
.dibujo{position:relative}
.dibujo svg{width:100%;color:var(--negro)}
.dibujo .aire-c{color:var(--c)}
@media (max-width:860px){.modo .wrap{grid-template-columns:1fr}.modo.inv .dibujo{order:0}.dibujo{max-width:30rem}}

/* empresas y obra */
.obra{background:var(--negro);color:var(--hueso)}
.obra .eti{color:var(--gris)}
.obra .lead{color:#C9CBC3}
.partes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));border-top:1px solid #ffffff22}
.partes li{padding:1.4rem 1.2rem 1.5rem 0;border-bottom:1px solid #ffffff22;display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start}
.partes .n{font:700 .8rem var(--display);color:var(--gris);padding-top:.2rem;min-width:1.8rem}
.partes h3{font-size:1.08rem;font-weight:700;margin-bottom:.35rem;display:flex;gap:.5rem;line-height:1.2}
.partes h3 i{width:.6rem;height:.6rem;border-radius:50%;flex:none;align-self:flex-start;margin-top:.42em}
.partes p{color:#BFC1B9;font-size:.96rem;margin:0}
.obra .btns{margin-top:2.5rem}

/* 4 aspas, 4 pasos */
.pasos{display:grid;grid-template-columns:1fr minmax(14rem,22rem) 1fr;grid-template-rows:auto auto;gap:1.5rem 2.5rem;align-items:center}
.paso{max-width:22rem}
.paso .num{font:800 2.6rem/1 var(--display);color:var(--aire-texto);display:block;margin-bottom:.5rem}
.paso h3{font-size:1.2rem;font-weight:700;margin-bottom:.4rem}
.paso p{font-size:.98rem;color:#44463F;margin:0}
.paso.p1{grid-column:3;grid-row:1}
.paso.p2{grid-column:3;grid-row:2}
.paso.p3{grid-column:1;grid-row:2;justify-self:end;text-align:right}
.paso.p4{grid-column:1;grid-row:1;justify-self:end;text-align:right}
.aspas{grid-column:2;grid-row:1/3}
.aspas svg{width:100%}
.aspas .asp{transition:fill .5s var(--curva)}
@media (max-width:860px){
  .pasos{grid-template-columns:1fr;gap:1.6rem}
  .aspas{grid-column:1;grid-row:auto;width:min(14rem,60%);margin:0 auto}
  .paso,.paso.p1,.paso.p2,.paso.p3,.paso.p4{grid-column:1;grid-row:auto;justify-self:start;text-align:left;max-width:none}
}

/* quiénes */
.quien{background:var(--blanco)}
.quien .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.sudadera{background:var(--negro);border-radius:var(--r);padding:clamp(1.5rem,4vw,2.5rem);color:var(--hueso);position:relative;overflow:hidden}
.sudadera::before{content:'';position:absolute;left:-10%;right:-10%;top:18%;height:5px;background:var(--lima);transform:rotate(-4deg);border-radius:3px}
.sudadera img{width:min(15rem,70%);margin:3rem auto 1rem;position:relative}
.sudadera p{font-size:.92rem;color:#C9CBC3;text-align:center;margin:0}
.ficha{margin:1.5rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.4rem;font-size:.95rem}
.ficha dt{font:700 .7rem var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--gris-osc);padding-top:.25rem}
.ficha dd{margin:0}
.hueco{border:1.5px dashed var(--linea);border-radius:var(--r);padding:1.2rem 1.3rem;color:var(--gris-osc);font-size:.95rem;margin-top:1.5rem}
@media (max-width:860px){.quien .wrap{grid-template-columns:1fr}}

/* cierre */
.cierre{background:var(--negro);color:var(--hueso);position:relative;overflow:clip;padding:clamp(4rem,9vw,7rem) 0}
.cierre .silueta{position:absolute;right:-8%;top:50%;width:min(44rem,80vw);transform:translateY(-50%);opacity:.09;pointer-events:none}
.cierre h2{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:800;max-width:16ch;margin-bottom:1.2rem;position:relative}
.cierre .lead{color:#C9CBC3;position:relative}
.contacto{list-style:none;padding:0;margin:2.4rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1px;background:#ffffff22;border-radius:var(--r);overflow:hidden;position:relative}
.contacto li{background:var(--negro-2);padding:1.2rem 1.3rem;display:flex;gap:.8rem;align-items:flex-start}
.contacto small{display:block;font:700 .68rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-bottom:.3rem}
.contacto svg{color:var(--aire);margin-top:.2rem}

/* pie */
.pie{background:#141513;color:#A9ABA3;font-size:.88rem;padding:2.2rem 0}
.pie .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center}
.pie a{color:#C9CBC3}

/* entradas suaves, sin JS */
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
  .revela{animation:sube linear both;animation-timeline:view();animation-range:entry 0% cover 24%}
  @keyframes sube{from{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:none}}
}}

/* ---------- presupuesto (dialog) ---------- */
.pres{border:0;padding:0;border-radius:18px;width:min(36rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);background:var(--blanco);color:var(--negro);box-shadow:0 30px 80px #0006}
.pres::backdrop{background:#0f100ec2}
.pres-cab{background:var(--negro);color:var(--hueso);padding:1.1rem 1.3rem;display:flex;align-items:center;gap:.9rem;position:sticky;top:0;z-index:1}
.pres-cab h2{font-size:1.15rem;font-weight:700}
.pres-cab small{display:block;color:var(--aire-claro);font-size:.8rem;margin-top:.15rem}
.progreso{width:2.6rem;height:2.6rem;flex:none}
.progreso .asp{fill:#ffffff26;transition:fill .4s var(--curva)}
.progreso .asp.on{fill:var(--aire)}
.cerrar{margin-left:auto;background:none;border:0;color:var(--hueso);cursor:pointer;padding:.4rem;border-radius:8px}
.cerrar:hover{background:#ffffff14}
.pres-cuerpo{padding:1.4rem 1.3rem 1.3rem}
.pres fieldset{border:0;padding:0;margin:0}
.pres legend{font:700 1.2rem var(--display);margin-bottom:.3rem;padding:0}
.pres .ayuda{color:var(--gris-osc);font-size:.92rem;margin-bottom:1.1rem}
.ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.op{position:relative}
.op input{position:absolute;opacity:0;inset:0;cursor:pointer}
.op span{display:flex;flex-direction:column;gap:.3rem;border:1.5px solid var(--linea);border-radius:12px;padding:.9rem .95rem;font:600 .95rem var(--display);height:100%;transition:border-color .2s,background .2s}
.op span small{font:400 .82rem var(--texto);color:var(--gris-osc)}
.op span i{width:.7rem;height:.7rem;border-radius:50%;display:block}
.op:hover span{border-color:var(--negro)}
.op input:checked+span{border-color:var(--aire-texto);background:var(--aire-campo)}
.op input:focus-visible+span{outline:3px solid var(--frio-claro);outline-offset:2px}
.campo{display:grid;gap:.35rem;margin-bottom:.95rem}
.campo label{font-weight:600;font-size:.92rem}
.campo input,.campo select,.campo textarea{font:inherit;font-size:1rem;border:1.5px solid var(--linea);border-radius:10px;padding:.75rem .85rem;background:var(--blanco);color:var(--negro);width:100%}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--negro);outline:none}
.campo textarea{min-height:5.5rem;resize:vertical}
.doble{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:#3F413B}
.check input{margin-top:.25rem;width:1.05rem;height:1.05rem;accent-color:var(--aire-texto)}
.error{color:var(--calor-texto);font-size:.88rem;font-weight:600;min-height:1.2em;margin:.3rem 0 0}
.pres-pie{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--linea)}
.pres-pie .paso-n{font-size:.85rem;color:var(--gris-osc)}
.resumen{background:var(--hueso);border-radius:12px;padding:1rem 1.1rem;font-size:.93rem;white-space:pre-line;margin:.4rem 0 1rem}
[hidden]{display:none!important}
@media (max-width:480px){.ops,.doble{grid-template-columns:1fr}}

/* ---------- página de servicio ---------- */
.portada.mini{padding:clamp(2rem,5vw,4rem) 0 clamp(2.5rem,6vw,4.5rem)}
.portada.mini h1{font-size:clamp(2rem,4.6vw,3.6rem);max-width:15ch}
.miga{font-size:.88rem;color:var(--gris);margin-bottom:1.2rem}
.miga a{color:var(--gris)}
.pregs{display:grid;gap:0;border-top:1px solid #0000001f}
.pregs details{border-bottom:1px solid #0000001f}
.pregs summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem 0;font:700 1.08rem var(--display)}
.pregs summary::-webkit-details-marker{display:none}
.pregs summary::after{content:'+';font:400 1.6rem/1 var(--texto);color:var(--ct);transition:transform .3s var(--curva)}
.pregs details[open] summary::after{transform:rotate(45deg)}
.pregs details p{max-width:62ch;padding-bottom:1.2rem;margin:0;color:#3F413B}
.esquema{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:0;counter-reset:e;border-top:3px solid var(--c)}
.esquema li{list-style:none;padding:1.3rem 1.2rem 1.4rem 0;border-bottom:1px solid #0000001a}
.esquema b{font:700 1.05rem var(--display);display:block;margin-bottom:.35rem}
.esquema li::before{counter-increment:e;content:counter(e,decimal-leading-zero);font:800 .8rem var(--display);color:var(--ct);display:block;margin-bottom:.6rem}
.esquema{padding:0;margin:0}

@media (max-width:560px){.solo-ancho{display:none}.marca img{height:2.2rem!important}}
.solo-movil{display:none}
@media (max-width:560px){.solo-movil{display:inline}}

/* ---------- páginas de servicio: el tinte de su modo ---------- */
body{--c:var(--aire);--ct:var(--aire-texto);--cc:var(--aire-claro);--campo:var(--aire-campo)}
body[data-tinte=frio]{--c:var(--frio);--ct:var(--frio-texto);--cc:var(--frio-claro);--campo:var(--frio-campo)}
body[data-tinte=calor]{--c:var(--calor);--ct:var(--calor-texto);--cc:var(--calor-claro);--campo:var(--calor-campo)}
.portada .cc{color:var(--cc)}
.portada .cartel.cc{color:var(--cc)}
.norma{background:var(--negro);color:var(--hueso)}
.norma .eti{color:var(--gris)}
.norma .lead{color:#C9CBC3}
.norma .partes h3 i{background:var(--cc)}
.rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;margin-top:1.5rem}
.rel a{background:var(--blanco);padding:1.1rem 1.2rem;text-decoration:none;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;transition:background .2s}
.rel a:hover{background:var(--hueso)}
.rel i{width:.7rem;height:.7rem;border-radius:50%}
.rel b{font:700 1rem var(--display)}
.rel small{display:block;color:var(--gris-osc);font-size:.88rem;margin-top:.15rem}
.enlaces-modo{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:-.6rem 0 1.4rem;font-weight:600;font-size:.95rem}
.enlaces-modo a{color:var(--ct);text-underline-offset:.25em}.modo .enlaces-modo a{color:var(--ct)}
.partes h3 a{text-decoration:none}
.partes h3 a:hover{text-decoration:underline;text-underline-offset:.25em}
/* índice de servicios: el mando entero */
.panel{display:grid;gap:clamp(1.5rem,4vw,2.5rem)}
.fila-modo{display:grid;grid-template-columns:minmax(12rem,16rem) 1fr;gap:1.2rem 2rem;align-items:start;padding-top:1.5rem;border-top:3px solid var(--c)}
.fila-modo[data-modo=frio]{--c:var(--frio);--ct:var(--frio-texto)}
.fila-modo[data-modo=calor]{--c:var(--calor);--ct:var(--calor-texto)}
.fila-modo[data-modo=aire]{--c:var(--aire);--ct:var(--aire-texto)}
.fila-modo[data-modo=obra]{--c:var(--negro);--ct:var(--negro)}
.fila-modo .tecla-grande{display:inline-flex;align-items:center;gap:.7rem;background:var(--negro);color:var(--hueso);border-radius:14px;padding:.6rem 1rem .6rem .7rem;font:700 .95rem var(--display);letter-spacing:.14em}
.fila-modo .tecla-grande b{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:9px;background:var(--c);color:var(--negro)}
.fila-modo[data-modo=obra] .tecla-grande b{background:var(--lima)}
.fila-modo .tecla-grande svg{width:1.25rem;height:1.25rem}
.fila-modo p{color:var(--gris-osc);font-size:.95rem;margin:.8rem 0 0}
.fila-modo .rel{margin-top:0}
@media (max-width:760px){.fila-modo{grid-template-columns:1fr}}
@media (max-width:760px){.cierre .silueta{top:1.5rem;right:-18%;width:70vw;transform:none}}

/* ---------- obras: el cartel de obra ---------- */
.obras{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,5vw,3.5rem)}
.obra-f{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;background:var(--blanco);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 0 #0000000f,0 18px 40px -24px #00000040}
.obra-f.inv .foto-obra{order:2}
.foto-obra{position:relative;background:var(--negro);min-height:18rem;margin:0}
.foto-obra img{width:100%;height:100%;object-fit:cover;object-position:100% 75%}
.foto-obra figcaption{position:absolute;left:0;right:0;bottom:0;padding:.5rem .8rem;font-size:.72rem;color:#E6E7E2;background:linear-gradient(transparent,#000000b0)}
.foto-obra figcaption a{color:inherit}
.foto-pte{display:grid;place-items:center;height:100%;min-height:18rem;padding:2rem;text-align:center;color:#C9CBC3;background:var(--negro-2) repeating-linear-gradient(135deg,transparent 0 14px,#ffffff08 14px 15px)}
.foto-pte svg{width:4.5rem;margin:0 auto 1rem;opacity:.6}
.foto-pte b{display:block;font:700 1rem var(--display);color:var(--hueso);margin-bottom:.3rem}
.cartel-obra{display:flex;flex-direction:column}
.cartel-obra .cabeza{background:var(--negro);color:var(--hueso);padding:1rem 1.3rem 1.1rem;box-shadow:inset 0 -4px 0 var(--lima)}
.cartel-obra .cabeza small{font:700 .7rem var(--display);letter-spacing:.24em;color:var(--aire-claro)}
.cartel-obra .cabeza h3{font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:800;margin-top:.35rem;line-height:1.15}
.cartel-obra dl{margin:0;display:grid;grid-template-columns:auto 1fr}
.cartel-obra dt,.cartel-obra dd{padding:.62rem 1.3rem;border-bottom:1px solid var(--linea);margin:0;font-size:.93rem}
.cartel-obra dt{font:700 .66rem/1.9 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--gris-osc);padding-right:.4rem;white-space:nowrap}
.cartel-obra dd{padding-left:.6rem}
.cartel-obra .nuestra{margin-top:auto;padding:1rem 1.3rem;background:var(--aire-campo);display:flex;gap:.8rem;align-items:flex-start;font-size:.93rem}
.cartel-obra .nuestra svg{width:2rem;flex:none;color:var(--aire-texto)}
.cartel-obra .nuestra b{display:block;font:700 .7rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--aire-texto);margin-bottom:.2rem}
.fuentes{font-size:.8rem;color:var(--gris-osc);padding:.7rem 1.3rem;border-top:1px solid var(--linea)}
.fuentes a{color:inherit}
.mas-obras{list-style:none;margin:0;padding:0;border-top:1px solid #0000001f}
.mas-obras li{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #0000001f}
.mas-obras b{font:700 1.02rem var(--display)}
@media (max-width:860px){.obra-f{grid-template-columns:minmax(0,1fr)}.obra-f.inv .foto-obra{order:0}.cartel-obra dl{grid-template-columns:1fr}.cartel-obra dt{border-bottom:0;padding-bottom:0}.cartel-obra dd{padding-left:1.3rem;padding-top:.1rem}}
/* obras en portada */
.obra-destacada{position:relative;border-radius:var(--r);overflow:hidden;margin-top:2.5rem;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);background:var(--negro-2)}
.obra-destacada .foto-obra{min-height:20rem}
.obra-destacada .txt{padding:clamp(1.4rem,3vw,2.2rem)}
.obra-destacada h3{font-size:clamp(1.3rem,2.6vw,1.8rem);font-weight:800;margin:.4rem 0 .8rem}
.obra-destacada p{color:#C9CBC3;font-size:.98rem}
.obra-destacada small{font:700 .7rem var(--display);letter-spacing:.22em;color:var(--aire-claro)}
@media (max-width:860px){.obra-destacada{grid-template-columns:minmax(0,1fr)}}
/* foto real de montaje (vertical) */
.obra-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.obra-grid .partes{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.foto-real{margin:0;border-radius:var(--r);overflow:hidden;background:var(--negro-2);position:relative}
.foto-real img{width:100%;aspect-ratio:9/13;object-fit:cover;object-position:50% 40%}
.foto-real figcaption{padding:.8rem 1rem .9rem;font-size:.86rem;color:#C9CBC3;line-height:1.45}
.foto-real figcaption b{display:block;font:700 .68rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--aire-claro);margin-bottom:.25rem}
.en-obra{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.en-obra .foto-real figcaption{color:var(--gris-osc);background:var(--blanco)}
.en-obra .foto-real figcaption b{color:var(--aire-texto)}
@media (max-width:860px){.obra-grid,.en-obra{grid-template-columns:minmax(0,1fr)}.foto-real{max-width:26rem}}
