/* JBM ARQUITECTOS — refinamiento editorial */
.construction-feature{position:relative;min-height:72svh;display:flex;align-items:flex-end;overflow:hidden;background:#11110f;color:#fff}
.construction-feature-media{position:absolute;inset:0}
.construction-feature-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(1.03)}
.construction-feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 15%,rgba(0,0,0,.72) 100%)}
.construction-feature-copy{position:relative;z-index:2;width:100%;padding:clamp(2rem,6vw,5rem)}
.construction-feature .index-label{color:rgba(255,255,255,.62);margin-bottom:1.2rem}
.construction-feature h2{max-width:1050px;margin:0;font-family:var(--display);font-weight:400;font-size:clamp(3rem,7.4vw,7.8rem);line-height:.92;letter-spacing:-.025em}
.construction-feature p:not(.index-label){max-width:670px;margin:1.6rem 0 0;color:rgba(255,255,255,.74);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.6}
.construction-feature-actions{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;margin-top:2rem}
.services .service-rows{border-top:1px solid var(--line)}
.services .service{grid-template-columns:minmax(44px,.2fr) minmax(220px,.9fr) minmax(280px,1.4fr)}
/* Proceso: títulos siempre sobre una sola línea y alineados */
.work-process .process-step{min-width:0}
.work-process .process-step h3{font-size:clamp(1.8rem,2.35vw,2.55rem);line-height:1;letter-spacing:-.035em;white-space:nowrap}
.cta-v4{min-height:58svh!important}
.cta-v4 .display{max-width:900px!important}
@media(max-width:1000px){.work-process .process-step h3{font-size:clamp(1.9rem,4vw,2.6rem)}}
@media(max-width:900px){
  .construction-feature{min-height:62svh}
  .services .service{grid-template-columns:52px 1fr}
  .services .service p{grid-column:2}
  .header{height:76px;padding-left:1.25rem;padding-right:1.25rem}
  .header.scrolled{height:68px}
  .logo{width:min(230px,64vw)}
  .menu{inset:0;min-height:100dvh;height:100dvh;padding:7.5rem 1.5rem calc(7rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;overflow-y:auto;background:#11110f;color:#fff}
  .menu a{width:100%;padding:1.05rem 0;border-bottom:1px solid rgba(255,255,255,.18);font-family:var(--display);font-size:clamp(2rem,9vw,3.2rem);line-height:1.02;letter-spacing:-.025em;text-transform:none;white-space:nowrap}
  .menu a:after{display:none}
  .menu .menu-booking{margin-top:.9rem;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.55);font-family:var(--sans);font-size:.78rem;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;width:auto;white-space:nowrap}
  .menu-toggle{flex:0 0 42px}
}
@media(max-width:640px){
  .construction-feature{min-height:70svh}
  .construction-feature-copy{padding:1.5rem}
  .construction-feature h2{font-size:clamp(2.7rem,13vw,4.8rem)}
  .construction-feature-actions{align-items:flex-start;flex-direction:column}
  .services .service{grid-template-columns:38px 1fr}
  .work-process .process-step h3{font-size:clamp(1.85rem,8vw,2.45rem)}
  .menu{padding-top:6.8rem;padding-left:1.35rem;padding-right:1.35rem;padding-bottom:calc(7.5rem + env(safe-area-inset-bottom))}
  .menu a{font-size:clamp(2rem,10.5vw,3rem);padding:.95rem 0}
  .menu .menu-booking{font-size:.72rem;padding:.95rem 1rem}
}
