/* Local revision: maintenance services, project families and executed work. */
.hero-mosaic { inset: var(--header-h) 0 0; }
.hero-tile-mega img { object-position: 50% 24%; }
.hero-tile-aviacion img { object-position: 55% 9%; }
.process-photo { margin: 0; }
.process-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.process-photo figcaption { margin-top: 12px; color: var(--cyan-soft); font-size: .8rem; line-height: 1.5; }
.process-flow .process-title { margin-top: 25px; }
@media (min-width:701px) {
 .process-flow li, .process-flow li + li { padding:30px 20px; }
}
.process-flow p { font-size: .95rem; margin-top: 18px; }
.hero-brand-lockup::before,
.hero-brand-lockup::after { content: none; }
.hero-tile-bar img { object-position: 58% 54%; }
.maintenance-compact { padding-block: clamp(60px, 6vw, 90px); background: var(--paper-2); }
.maintenance-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:35px; }
.maintenance-heading h2 { margin:0; }
.maintenance-heading p { color:var(--muted-dark); margin:0; font-size:1rem; }
.maintenance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.maintenance-card { border-top:1px solid var(--line-light); padding-top:24px; }
.maintenance-card img { width:144px; height:144px; object-fit:contain; margin-bottom:22px; transition:transform 400ms var(--ease-out); }
.maintenance-card h3 { font-family:var(--display); font-weight:400; font-size:clamp(1.65rem,2vw,2.2rem); line-height:1.1; margin:0 0 14px; }
.maintenance-card p { color:var(--muted-dark); font-size:1rem; line-height:1.65; margin:0; }
.project-solutions { position:relative; padding-bottom:0; }
.section-anchor { position:absolute; top:0; }
.project-comparison { margin-top:70px; padding-block:clamp(60px,6vw,100px); background:var(--ink); color:var(--white); }
.comparison-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:35px; }
.comparison-heading h3 { font-family:var(--display); font-weight:400; font-size:clamp(2.4rem,4vw,4rem); line-height:1.05; margin:0; }
.comparison-heading > p { color:var(--cyan-soft); font-size:1rem; margin:0; }
.comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.comparison-grid figure { margin:0; }
.comparison-grid img { width:100%; aspect-ratio:4/3; object-fit:contain; background:var(--ink-2); }
.comparison-grid figcaption { border-top:1px solid var(--line-dark); margin-top:20px; padding-top:18px; }
.comparison-grid h4 { font-family:var(--display); font-weight:400; font-size:2rem; margin:0 0 8px; }
.comparison-grid p { color:#b7cad9; font-size:1rem; line-height:1.6; margin:0; }
.comparison-links { display:flex; gap:26px; flex-wrap:wrap; margin-top:36px; padding-top:24px; border-top:1px solid var(--line-dark); font-size:.95rem; }
.comparison-links a:first-child { margin-right:auto; color:var(--cyan-soft); }
.comparison-links a:hover { text-decoration:underline; text-underline-offset:5px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .maintenance-card:hover img { transform:translateY(-5px); } }
@media (max-width:980px) { .maintenance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) {
 .maintenance-heading,.comparison-heading { display:block; }
 .maintenance-heading p,.comparison-heading > p { margin-top:16px; }
 .comparison-grid { grid-template-columns:1fr; gap:36px; }
 .maintenance-grid { gap:28px 20px; }
 .maintenance-card img { width:112px; height:112px; }
 .maintenance-card h3 { font-size:1.6rem; }
 .hero-tile-mega img { object-position:47% 25%; }
}
@media (max-width:420px) {
 .maintenance-grid { grid-template-columns:1fr; gap:24px; }
 .maintenance-card { display:grid; grid-template-columns:90px 1fr; gap:10px 18px; }
 .maintenance-card img { width:90px; height:90px; grid-row:1/3; margin:0; }
 .maintenance-card h3 { margin:0; }
 .maintenance-card p { grid-column:2; font-size:.95rem; }
}
.site-header nav { gap: clamp(16px, 1.8vw, 32px); }
.solution-dialog-panel { height: 100%; overflow-y: auto; }
.maintenance { background: var(--paper); padding-block: clamp(76px, 8vw, 130px); }
.maintenance-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 8vw, 120px); align-items: start; }
.maintenance h2, .clients h2 { font-family: var(--display); font-size: clamp(2.8rem, 4.6vw, 5rem); font-weight: 400; line-height: 1.02; margin: 0 0 26px; }
.maintenance-intro > p { color: var(--muted-dark); font-size: 1.05rem; line-height: 1.8; max-width: 43ch; }
.maintenance-action { display: inline-flex; gap: 24px; align-items: center; color: var(--brand-blue); border-bottom: 1px solid currentColor; padding: 16px 0; margin-top: 20px; font-weight: 700; }
.maintenance-action:hover { color: var(--ink); }
.maintenance-list { border-top: 1px solid var(--line-light); }
.maintenance-item { padding: 26px 0 28px; border-bottom: 1px solid var(--line-light); }
.maintenance-item h3 { font-family: var(--display); font-size: clamp(1.9rem, 2.5vw, 2.7rem); font-weight: 400; margin: 0 0 5px; }
.maintenance-item .maintenance-scope { color: var(--brand-blue); font-weight: 700; font-size: .9rem; margin: 0 0 13px; }
.maintenance-item p { color: var(--muted-dark); font-size: 1rem; line-height: 1.75; max-width: 55ch; margin-bottom: 0; }
.clients { background: var(--ink-2); color: var(--white); padding-block: clamp(70px, 7vw, 112px); }
.clients-heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 40px; }
.clients-heading h2 { margin: 0; }
.clients-heading p { max-width: 30ch; margin: 0 0 5px; color: #b7cad9; line-height: 1.7; }
.client-directory { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.client-directory li { min-height: 108px; padding: 24px 22px; display: flex; align-items: center; border-bottom: 1px solid var(--line-dark); font-size: clamp(1rem, 1.5vw, 1.3rem); font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.client-directory li:not(:nth-child(4n)) { border-right: 1px solid var(--line-dark); }
.client-directory li:nth-child(4n+1) { padding-left: 0; }
.hero-tile-hall img { object-position: 72% 50%; }
.hero-tile-bar img { object-position: 58% 54%; }
.hero-tile-restaurant img { object-position: 54% 47%; }
.hero-tile-access img { object-position: 42% 48%; }
.hero-tile-dining img { object-position: 50% 46%; }
@media (max-width: 980px) {
  .maintenance-layout { grid-template-columns: 1fr; gap: 32px; }
  .clients-heading { display: block; }
  .clients-heading p { margin-top: 18px; }
  .client-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-directory li:nth-child(n) { border-right: 0; padding: 22px 16px; }
  .client-directory li:nth-child(odd) { border-right: 1px solid var(--line-dark); padding-left: 0; }
}
@media (max-width: 600px) {
  .hero-tile-hall img { object-position: 80% 50%; }
  .hero-tile-bar img { object-position: 58% 54%; }
  .hero-tile-restaurant img { object-position: 52% 48%; }
  .client-directory li { min-height: 90px; }
}

/* Four concise services, using documentary project photography. */
.maintenance.maintenance-compact { padding-block: clamp(64px, 7vw, 110px); }
.maintenance-compact .maintenance-heading { margin-bottom: 42px; }
.maintenance-compact .maintenance-heading h2 { margin: 0; }
.maintenance-compact .maintenance-heading > p { font-size: 1.1rem; line-height: 1.6; }
.maintenance-compact .maintenance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 48px; }
.maintenance-compact .maintenance-card { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); align-items: center; gap: 24px; padding-top: 24px; }
.maintenance-card > * { min-width: 0; }
.maintenance-card figure { margin: 0; }
.maintenance-compact .maintenance-card img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; }
.maintenance-card figcaption { margin-top: 10px; color: var(--muted-dark); font-size: .7rem; line-height: 1.55; }
.maintenance-compact .maintenance-card h3 { font-size: clamp(1.8rem, 2.4vw, 2.7rem); line-height: 1.03; margin: 0 0 9px; }
.maintenance-compact .maintenance-card p { font-size: .9rem; line-height: 1.7; }
.maintenance-compact .maintenance-card .service-scope { color: var(--brand-blue); font-size: .76rem; font-weight: 700; margin-bottom: 14px; }
.maintenance-footer { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 42px; }
.maintenance-footer > p { max-width: 60ch; margin: 0; font-size: .75rem; line-height: 1.7; color: var(--muted-dark); }
.maintenance-footer .maintenance-action { margin: 0; flex-shrink: 0; font-size: .82rem; }
.project-solutions { padding-top: clamp(64px, 7vw, 110px); border-top: 1px solid var(--line-light); }
.project-solutions .services-intro { margin-bottom: 54px; }
.featured-projects { margin-top: 80px; padding: clamp(64px, 7vw, 100px) 0 0; background: var(--ink); color: var(--white); }
.featured-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 40px; }
.featured-heading h3 { font: 400 clamp(2.8rem, 4.6vw, 5rem)/1 var(--display); margin: 0; }
.featured-heading p { margin: 0; color: #b7cad9; font-size: 1rem; line-height: 1.6; }
.featured-projects .project-index { margin-bottom: 0; padding-bottom: 64px; }
.featured-projects .project-feature h4 { grid-row: 1 / span 3; margin: 0; font: 400 clamp(3.2rem, 4.5vw, 4.8rem)/.96 var(--display); }
.featured-projects .project-index-others > h4 { margin: 0 0 22px; font: 400 2.2rem/1 var(--display); }
.featured-projects .project-feature > img { object-position: 50% 55%; }
.featured-projects + .project-comparison { margin-top: 0; padding-top: 0; }
.featured-projects + .project-comparison > .section-shell { padding-top: 54px; border-top: 1px solid var(--line-dark); }
@media (max-width: 980px) {
 .maintenance-compact .maintenance-grid { gap: 32px; }
 .maintenance-compact .maintenance-card { grid-template-columns: 1fr; gap: 18px; align-content: start; }
 .maintenance-compact .maintenance-card img { aspect-ratio: 16 / 9; }
}
@media (max-width: 700px) {
 .maintenance-footer, .featured-heading { display: block; }
 .maintenance-footer .maintenance-action { margin-top: 14px; }
 .featured-heading p { margin-top: 18px; }
 .featured-projects .project-feature h4 { grid-row: auto; }
 .featured-projects .project-index { padding-bottom: 42px; }
 .featured-projects { margin-top: 56px; }
}
@media (max-width: 540px) {
 .maintenance-compact .maintenance-grid { grid-template-columns: 1fr; gap: 32px; }
 .maintenance-compact .maintenance-card { grid-template-columns: 1fr; }
 .maintenance-compact .maintenance-card h3 { font-size: 2.1rem; }
 .maintenance-compact .maintenance-card img { grid-row: auto; aspect-ratio: 16 / 9; }
 .maintenance-compact .maintenance-card p { grid-column: auto; }
}
