/* Estilos exclusivos de la sección Construcciones: las fotografías proceden de fichas MySQL. */
.con-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(530px,78svh,830px);background:#24272a;color:#fff;overflow:hidden;isolation:isolate}
.con-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.con-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,16,19,.85),rgba(11,16,19,.4) 65%,rgba(11,16,19,.20))}
.con-hero-body{padding-top:160px;padding-bottom:94px}
.con-hero h1{color:#fff;font-size:clamp(42px,6.1vw,82px);line-height:1.07;letter-spacing:-.05em;max-width:950px;margin:19px 0 22px}
.con-hero-body>p:not(.eyebrow){font-size:clamp(17px,1.7vw,21px);line-height:1.7;color:#fff;max-width:660px;margin-bottom:28px}
.con-intro,.con-services,.con-feature,.con-gallery{padding:clamp(74px,8.5vw,122px) 0}
.con-intro-layout{display:grid;grid-template-columns:.95fr 1fr;gap:clamp(35px,8vw,130px)}
.con-intro h2,.con-section-heading h2,.con-feature h2,.con-gallery h2,.con-cta h2{font-size:clamp(34px,4.4vw,60px);line-height:1.14;letter-spacing:-.04em;text-wrap:balance;margin:16px 0 0}
.con-intro-copy p{font-size:18px;line-height:1.85;color:#5b6065;margin:0 0 19px}
.con-intro-copy p:first-child{font-size:clamp(19px,2vw,24px);color:#25282a;font-weight:600;line-height:1.65}
.con-services{background:#f5f5f6}.con-section-heading{max-width:790px;margin-bottom:38px}.con-section-heading>p:last-child{font-size:17px;line-height:1.7;color:#5d6166}
.con-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.con-service-card{background:#fff;padding:clamp(26px,3vw,43px);min-height:240px;border:1px solid #e7e7e9}.con-card-number{color:var(--magenta);font-size:13px;font-weight:800;letter-spacing:.12em}.con-service-card h3{font-size:clamp(22px,2vw,28px);line-height:1.25;margin:31px 0 14px}.con-service-card p{color:#5a5f65;font-size:16px;line-height:1.7}
.con-feature-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,7vw,100px);align-items:center}.con-feature-photo{margin:0;min-height:450px;overflow:hidden}.con-feature-photo img{display:block;width:100%;height:100%;min-height:450px;object-fit:cover}.con-feature-copy p:not(.eyebrow){font-size:18px;line-height:1.85;color:#5d6267;margin:22px 0 28px}.con-feature-copy .text-link{display:inline-flex;align-items:center}
.con-gallery{background:#f4f4f5}.con-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:37px}.con-gallery-heading>div{max-width:710px}.con-gallery-heading>p{max-width:360px;color:#5a5e64;line-height:1.7;font-size:16px;margin:0}.con-gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense;gap:19px}.con-gallery-item{grid-column:span 2;background:#fff;margin:0;overflow:hidden}.con-gallery-item--1,.con-gallery-item--2{grid-column:span 3}.con-gallery-item img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover}.con-gallery-item--1 img,.con-gallery-item--2 img{aspect-ratio:1.65}.con-gallery-item figcaption{padding:17px 19px;font-size:15px;font-weight:700;color:#26282b}
.con-cta{background:#242629;padding:clamp(65px,7vw,95px) 0;color:#fff}.con-cta-layout{display:flex;align-items:center;justify-content:space-between;gap:50px}.con-cta h2{color:#fff}.con-cta .eyebrow{color:#e5a1c5}.con-cta p:not(.eyebrow){color:#e0e0e3;font-size:17px;line-height:1.7;max-width:640px;margin:18px 0 0}.con-cta .btn{flex:none}
@media(max-width:900px){.con-feature-layout,.con-intro-layout{grid-template-columns:1fr;gap:35px}.con-feature-photo,.con-feature-photo img{min-height:360px}.con-gallery-heading{align-items:start;flex-direction:column;gap:14px}.con-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.con-hero{min-height:620px}.con-hero-body{padding-top:135px;padding-bottom:70px}.con-service-grid{grid-template-columns:1fr}.con-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.con-gallery-item,.con-gallery-item--1,.con-gallery-item--2{grid-column:span 2}.con-gallery-item img{aspect-ratio:1.45}.con-cta-layout{align-items:flex-start;flex-direction:column}.con-cta .btn{flex:none}.con-feature-photo,.con-feature-photo img{min-height:280px}}
@media(prefers-reduced-motion:reduce){.con-hero-photo,.con-gallery-item img{animation:none!important;transition:none!important}}
