/* Red Málaga · coherent home layouts. Scoped to the nine homepages only. */
body.rm-home{--rm-surface:#f4f7f9;--rm-line:#dce5ea;--rm-shadow:0 3px 8px #0b304805,0 14px 32px -18px #0b304838;background:#fff}
.rm-home .container,.rm-home .cm-wrap{width:min(1240px,calc(100% - 64px))}
.rm-home .network-bar{background:#f4f7f9;border-bottom:1px solid var(--rm-line)}
.rm-home .network-bar>.container{display:block;min-height:36px}
.rm-home .network-caption{display:none}
.rm-home .rm-group-switch{width:100%;border:0}
.rm-home .rm-group-switch>summary{display:none;list-style:none}
.rm-home .rm-group-switch>summary::-webkit-details-marker{display:none}
.rm-home .network-links{display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:visible;flex-wrap:wrap}
.rm-home .network-links>a{font-size:11px;min-height:36px;padding-block:9px 7px;text-decoration:none;color:#425d6e;font-weight:600;line-height:1.3;border-bottom:2px solid transparent}
.rm-home .network-links>a[aria-current=page]{border-color:#d91e2b;color:#0b3048}
.rm-home .site-header{background:rgba(255,255,255,.98);border-bottom:1px solid var(--rm-line);box-shadow:0 5px 20px #0b304806}
.rm-home .header-inner{min-height:88px;gap:18px;align-items:center}
.rm-home .site-header .brand:has(>img.rm-brand-logo){flex:0 1 220px;max-width:220px!important}
.rm-home .site-header .brand img.rm-brand-logo{width:220px!important;height:auto!important;object-fit:contain!important}
.rm-home .language-switch{display:inline-flex;align-items:center;gap:2px;margin:0;padding:3px;border:1px solid var(--rm-line);border-radius:24px;background:white;font-size:11px;line-height:1.5;flex-shrink:0}
.rm-home .language-switch a{padding:4px 7px;border-radius:18px;color:#425d6e;text-decoration:none;font-weight:700}
.rm-home .language-switch a[aria-current=page],.rm-home .language-switch a[aria-current=true]{background:#0b3048;color:#fff}
.rm-home .language-switch>span{display:none}
.rm-home .main-nav>a{font-size:12px;font-weight:650;color:#294b5e;text-decoration:none}
.rm-home .header-contact,.rm-home .header-quote{background:#d91e2b!important;border:1px solid #d91e2b!important;color:white!important;border-radius:9px!important;padding:11px 16px!important;font-size:12px!important;min-height:44px;text-decoration:none;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px #d91e2b1a}
.rm-home .header-contact:hover,.rm-home .header-quote:hover{background:#b91622!important}
.rm-home .hero{padding-block:38px 44px;gap:44px}
.rm-home .hero-copy{padding-block:6px}
.rm-home .hero h1{font-size:clamp(40px,4.4vw,62px);line-height:1.08;letter-spacing:-.045em}
.rm-home .hero-intro{font-size:16px;line-height:1.75;margin-bottom:24px}
.rm-home .hero-media{min-height:460px;border-radius:20px;box-shadow:0 20px 42px -25px #0b304850}
.rm-home .hero-media>img{min-height:460px}
.rm-home .hero-media figcaption{padding:58px 24px 24px;font-size:13px}
.rm-home .image-label{border-radius:7px;padding:7px 10px;max-width:calc(100% - 34px)}
.rm-home .hero-points{margin-top:22px}
.rm-home .quick-strip{background:#f7fafb}
.rm-home .quick-strip .container{padding-block:20px}
.rm-home .quick-item{padding-inline:24px}
.rm-home .quick-item strong{font-size:14px}
.rm-home .section,.rm-home .cm-section{padding-block:64px}
.rm-home .section-heading{gap:20px 48px;margin-bottom:30px}
.rm-home .section-heading h2,.rm-home .cm-section-head h2{font-size:clamp(29px,3.2vw,42px)}
.rm-home .section-heading p:not(.eyebrow){font-size:15px;line-height:1.75}
.rm-home .split-section,.rm-home .contact-layout{gap:54px}
.rm-home .service-card{min-height:250px;padding:26px;border:1px solid var(--rm-line);border-radius:16px;background:linear-gradient(135deg,#fff 65%,#f5f8fa);box-shadow:var(--rm-shadow)}
.rm-home .service-card::before{left:26px;width:40px;background:#d91e2b}
.rm-home .service-icon{margin-bottom:20px;border-radius:12px;background:#edf3f6;color:#0b3048;box-shadow:inset 0 1px 0 #fff,0 4px 10px #0b304808}
.rm-home .service-card h3{font-size:22px;line-height:1.2;margin-bottom:12px}
.rm-home .service-card p{font-size:14px;line-height:1.7;margin-bottom:20px}
.rm-home .service-card .text-link{min-height:32px;font-size:12px}
.rm-home .service-card .text-link+.text-link{margin-top:5px}
.rm-home .service-number{top:28px;right:26px;color:#607a89}
.rm-home .process-grid{gap:18px}
.rm-home .process-step{padding:24px 22px;border-radius:14px}
.rm-home .process-step p{font-size:13px;line-height:1.7}
.rm-home .step-number{margin-bottom:18px}
.rm-home .related-section{padding-block:46px}
.rm-home .related-card{padding:20px;border-radius:12px;box-shadow:0 8px 18px -15px #0b304840}
.rm-home .footer{padding-top:44px}
.rm-home .button,.rm-home .cm-button{border-radius:9px;min-height:46px}
.rm-home .faq-list details{box-shadow:none}
.rm-home .contact-section{padding-block:60px}
.rm-home .contact-form{border-radius:16px}
.rm-home[data-page=redmalaga] .services-grid.eight{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rm-home[data-page=redmalaga] .services-grid .service-card{min-height:272px}
.rm-home[data-page=redmalagaclima] .equipment-navigation{display:none}
/* Compact, labelled contact controls stay visible without two stacked banners. */
.rm-home #rm-agent-root .rm-launcher,.rm-home #rm-agent-root .rm-whatsapp-launcher{bottom:20px!important;min-height:46px!important;height:46px!important;border-radius:24px!important;box-shadow:0 4px 16px #0b30481a!important}
.rm-home #rm-agent-root .rm-launcher{right:20px!important;width:auto!important;max-width:none!important;padding:10px 15px!important}
.rm-home #rm-agent-root .rm-whatsapp-launcher{right:155px!important;width:auto!important;max-width:none!important;padding:10px 15px!important}
.rm-home #rm-agent-root .rm-launcher-full{display:none!important}
.rm-home #rm-agent-root .rm-launcher-short{display:inline!important;font-size:12px!important}
.rm-home #rm-agent-root .rm-whatsapp-launcher span{display:inline!important;font-size:12px!important}
.rm-home .cm-chat-launch{right:20px;bottom:20px;border-radius:24px;font-size:12px;min-height:46px;padding:10px 15px}
.rm-home .cm-chat-wa-float{right:155px;bottom:20px;border-radius:24px;min-height:46px;padding:12px 15px;font-size:12px}
.rm-home .rm-analytics-settings{bottom:20px}
/* Communities use the same header and approved family logo. */
.rm-home[data-page=community-maintenance] .cm-brand>span{display:none}
.rm-home[data-page=community-maintenance] .cm-header nav.main-nav{margin-left:auto;gap:20px}
.rm-home[data-page=community-maintenance] .cm-header nav.language-switch{display:inline-flex;position:static;padding:3px;margin:0;gap:2px;box-shadow:none;border:1px solid var(--rm-line);width:auto;flex-direction:row}
.rm-home[data-page=community-maintenance] .cm-header .cm-header-wa{display:none}
.rm-home[data-page=community-maintenance] .cm-hero{padding-block:38px 48px;gap:54px}
.rm-home[data-page=community-maintenance] .cm-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rm-home[data-page=community-maintenance] .cm-service{padding:26px;border-radius:16px;box-shadow:var(--rm-shadow);border:1px solid var(--rm-line);background:linear-gradient(135deg,#fff 65%,#f5f8fa)}
.rm-home[data-page=community-maintenance] .cm-service h3{max-width:none;font-size:22px}
.rm-home[data-page=community-maintenance] .cm-service p{font-size:14px;line-height:1.65}
.rm-home[data-page=community-maintenance] .cm-footer-logo img{width:250px;height:auto;object-fit:contain}
.rm-home[data-page=community-maintenance] .cm-hero-visual figure{border-radius:20px}
.rm-home[data-page=community-maintenance] .cm-button.primary{background:#d91e2b;border-color:#d91e2b;color:white}
.rm-home[data-page=community-maintenance] .cm-steps{gap:22px}
.rm-home[data-page=community-maintenance] .cm-steps article{border-top:2px solid #dce5ea;padding:22px;background:#f7fafb;border-radius:12px}
@media(min-width:1150px){
 .rm-home .header-inner{display:flex!important;flex-wrap:nowrap;position:relative;min-height:88px}
 .rm-home .header-inner>.brand{order:0}
 .rm-home .header-inner>.main-nav{order:1;position:static;display:flex!important;flex-direction:row!important;align-items:center!important;width:auto;margin-left:auto;padding:0;border:0;box-shadow:none;gap:17px;max-height:none;overflow:visible}
 .rm-home .header-inner>.language-switch{order:2;margin-left:0}
 .rm-home .header-inner>.header-contact{order:3;display:inline-flex}
 .rm-home .menu-toggle{display:none!important}
 .rm-home .main-nav>a{padding-block:12px;font-size:12px}
 .rm-home .main-nav>a.nav-contact{display:none}
}
@media(max-width:1149px){
 .rm-home .header-inner{position:relative;display:flex;flex-wrap:wrap;gap:14px;min-height:86px}
 .rm-home .header-inner>.language-switch{margin-left:auto}
 .rm-home .site-header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-left:0;border:1px solid var(--rm-line);padding:9px 12px;border-radius:8px;background:white}
 .rm-home .main-nav{display:none!important;position:absolute!important;top:100%;left:0;right:0;margin:0!important;padding:14px 24px!important;border:1px solid var(--rm-line);background:white;box-shadow:0 16px 24px #0b304810;max-height:calc(100dvh - 130px);overflow-y:auto;z-index:60}
 .rm-home .main-nav.is-open,.rm-home .header-inner:has(.menu-toggle[aria-expanded=true]) .main-nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
 .rm-home .main-nav>a{padding:12px 0;font-size:15px}
 .rm-home .cm-dropdown>div{position:static;box-shadow:none;border:0;max-height:none}
 html:not(.js) .rm-home .main-nav{display:flex!important;position:static!important;flex-direction:column!important;grid-column:1/-1;width:100%;max-height:none}
 html:not(.js) .rm-home .site-header .menu-toggle{display:none}
}
@media(max-width:900px){
 .rm-home .container,.rm-home .cm-wrap{width:calc(100% - 40px)}
 .rm-home .hero{gap:28px}
 .rm-home .hero h1{font-size:42px}
 .rm-home .hero-media,.rm-home .hero-media>img{min-height:430px}
 .rm-home .network-links{justify-content:flex-start;gap:5px 20px}
 .rm-home[data-page=redmalaga] .services-grid.eight{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rm-home[data-page=redmalaga] .services-grid.eight>.service-card:last-child{grid-column:1/-1;min-height:0}
}
@media(max-width:700px){
 .rm-home .container,.rm-home .cm-wrap{width:calc(100% - 36px)}
 .rm-home .network-bar>.container{min-height:38px}
 .rm-home .rm-group-switch>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:8px 0;font-size:10px;font-weight:700;color:#425d6e;cursor:pointer}
 .rm-home .rm-group-switch>summary>span{font-weight:600;color:#0b3048}
 .rm-home .network-links{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:5px 0 12px}
 .rm-home .network-links>a{min-height:38px;white-space:normal;align-items:center;font-size:11px}
 .rm-home .site-header .header-inner{min-height:80px;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:4px 12px!important;padding-block:9px!important}
 .rm-home .site-header .header-inner>.brand{grid-column:1;grid-row:1/3;width:100%!important;max-width:210px!important;margin:0!important}
 .rm-home .site-header .brand img.rm-brand-logo{width:100%!important;max-width:210px!important}
 .rm-home .header-inner>.language-switch{grid-column:2;grid-row:1;justify-self:end;margin:0!important;font-size:10px}
 .rm-home .header-inner>.menu-toggle{grid-column:2;grid-row:2;justify-self:end;min-height:34px;padding:6px 10px!important;font-size:12px}
 .rm-home .header-inner>.header-contact{display:none!important}
 .rm-home .hero{padding-block:28px 36px;gap:28px}
 .rm-home .hero h1{font-size:clamp(36px,10vw,46px);margin-bottom:20px}
 .rm-home .hero-intro{font-size:15px;line-height:1.75;margin-bottom:22px}
 .rm-home .hero .eyebrow{margin-bottom:16px;font-size:10px}
 .rm-home .hero-points{margin-top:20px;font-size:10px;gap:8px 14px}
 .rm-home .hero-media,.rm-home .hero-media>img{min-height:330px}
 .rm-home .hero-media{border-radius:16px}
 .rm-home .quick-strip .container{padding-block:8px}
 .rm-home .quick-item{padding:10px 0}
 .rm-home .quick-item strong{font-size:12px}
 .rm-home .section,.rm-home .cm-section{padding-block:44px}
 .rm-home .section-heading{gap:16px;margin-bottom:25px}
 .rm-home .section-heading h2,.rm-home .cm-section-head h2{font-size:31px}
 .rm-home .section-heading p:not(.eyebrow){font-size:14px}
 .rm-home .service-card{padding:24px;min-height:0}
 .rm-home .service-card h3{font-size:22px}
 .rm-home .service-card::before{left:24px}
 .rm-home .service-number{right:24px}
 .rm-home[data-page=redmalaga] .services-grid.eight{grid-template-columns:1fr;gap:16px}
 .rm-home[data-page=redmalaga] .services-grid .service-card{min-height:0}
 .rm-home .split-section,.rm-home .contact-layout{gap:30px}
 .rm-home .contact-section{padding-block:46px}
 .rm-home .related-section{padding-block:36px}
 .rm-home .mobile-contact{padding:7px 12px calc(7px + env(safe-area-inset-bottom,0px));gap:8px;min-height:58px}
 .rm-home .mobile-contact a{padding:10px 8px;min-height:42px;border-radius:8px}
 .rm-home #rm-agent-root .rm-launcher{right:12px!important;bottom:calc(74px + env(safe-area-inset-bottom,0px))!important;width:106px!important;max-width:106px!important;min-width:106px!important;height:42px!important;min-height:42px!important;padding:8px 12px!important;gap:7px!important}
 .rm-home #rm-agent-root .rm-whatsapp-launcher{right:128px!important;bottom:calc(74px + env(safe-area-inset-bottom,0px))!important;min-width:42px!important;width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;justify-content:center!important}
 .rm-home #rm-agent-root .rm-whatsapp-launcher span{display:none!important}
 .rm-home .cm-chat-launch{right:12px;bottom:74px;height:42px;min-height:42px}
 .rm-home .cm-chat-wa-float{right:141px;bottom:74px;height:42px;min-height:42px;padding:10px 12px}
 .rm-home[data-page=community-maintenance] .cm-hero{padding-block:28px 38px;gap:28px}
 .rm-home[data-page=community-maintenance] .cm-services{grid-template-columns:1fr;gap:16px}
 .rm-home[data-page=community-maintenance] .cm-service{padding:24px 20px}
 .rm-home[data-page=community-maintenance] .cm-steps{gap:16px}
 .rm-home[data-page=community-maintenance] .cm-steps article{padding:18px}
 .rm-home .cm-mobile-contact{padding:7px 12px;gap:8px;background:#fff;border-top:1px solid var(--rm-line)}
 .rm-home .cm-mobile-contact>a{padding:11px 8px;border:1px solid var(--rm-line);border-radius:8px}
}
@media(prefers-reduced-motion:reduce){.rm-home *{scroll-behavior:auto!important}}
@media print{.rm-home .network-bar,.rm-home .rm-group-switch{display:none}}

/* Home-only refinements. Preserve content, forms, plans, navigation and widgets. */
body.rm-home[data-page="aerotermia"] #soluciones .service-card,
body.rm-home[data-page="suelo-radiante"] #soluciones .service-card {
  min-height: 0;
  padding: clamp(22px, 2.2vw, 30px);
}
body.rm-home[data-page="aerotermia"] #soluciones .service-icon,
body.rm-home[data-page="suelo-radiante"] #soluciones .service-icon {
  margin-bottom: 20px;
}
body.rm-home[data-page="aerotermia"] #soluciones .service-details,
body.rm-home[data-page="suelo-radiante"] #soluciones .service-details {
  margin-top: auto;
  padding-top: 4px;
}
body.rm-home[data-page="aerotermia"] #preparar-estudio .bilingual-grid {
  align-items: stretch;
  gap: 22px;
}
body.rm-home[data-page="aerotermia"] #preparar-estudio .bilingual-card {
  padding: clamp(22px, 2.2vw, 30px);
  background: var(--white);
  border-color: var(--line);
  box-shadow: 0 16px 34px -30px var(--ink);
}
body.rm-home[data-page="aerotermia"] #preparar-estudio .bilingual-card h3 {
  margin-bottom: 16px;
}
body.rm-home[data-page="aerotermia"] #preparar-estudio .bilingual-card ul {
  margin-block: 0;
}
body.rm-home[data-page="aerotermia"] #preparar-estudio .bilingual-card li + li {
  margin-top: 8px;
}

/* Five services keep equal visual weight: three cards followed by two wider cards. */
@media (min-width: 961px) {
  body.rm-home[data-page="suelo-radiante"] #soluciones .services-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 22px;
  }
  body.rm-home[data-page="suelo-radiante"] #soluciones .service-card {
    grid-column: span 2;
  }
  body.rm-home[data-page="suelo-radiante"] #soluciones .service-card:nth-child(n + 4) {
    grid-column: span 3;
  }
  body.rm-home[data-page="suelo-radiante"] #obras > .container {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: clamp(32px, 4.5vw, 64px);
  }
  body.rm-home[data-page="suelo-radiante"] #obras .section-heading {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    margin-bottom: 0;
  }
  body.rm-home[data-page="suelo-radiante"] #obras .work-grid.count-1 {
    width: 100%;
    max-width: none;
  }
}
body.rm-home[data-page="suelo-radiante"] #obras .gallery-open {
  box-shadow: 0 20px 40px -32px var(--ink);
}
body.rm-home[data-page="suelo-radiante"] #obras .work-card figcaption {
  padding-top: 16px;
}
@media (min-width: 701px) and (max-width: 960px) {
  body.rm-home[data-page="suelo-radiante"] #soluciones .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.rm-home[data-page="suelo-radiante"] #soluciones .service-card:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 960px) {
  body.rm-home[data-page="suelo-radiante"] #obras .work-grid.count-1 {
    width: 100%;
    max-width: 680px;
    margin-inline: auto;
  }
}
@media (max-width: 700px) {
  body.rm-home[data-page="suelo-radiante"] #soluciones .services-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Maintenance: strengthen the plan hierarchy and compact secondary information. */
body.rm-home[data-page="mantenimiento"] .bilingual-entry-section,
body.rm-home[data-page="mantenimiento"] #visitas,
body.rm-home[data-page="mantenimiento"] #historial,
body.rm-home[data-page="mantenimiento"] #proceso {
  padding-block: clamp(44px, 5.3vw, 72px);
}
body.rm-home[data-page="mantenimiento"] .maintenance-single-grid {
  gap: 28px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-single {
  padding-top: 18px;
  border-top-width: 1px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-single h3 {
  min-height: 0;
  margin-bottom: 8px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-single p {
  margin-top: 10px;
  margin-bottom: 18px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-plan-grid {
  align-items: stretch;
  gap: 26px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-plan-card {
  padding: clamp(24px, 2.6vw, 34px);
  box-shadow: 0 20px 42px -34px var(--ink);
}
body.rm-home[data-page="mantenimiento"] .maintenance-plan-card.featured {
  background: var(--white);
}
body.rm-home[data-page="mantenimiento"] .maintenance-scope {
  gap: 32px;
  margin-top: 30px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-scope h3 {
  margin-bottom: 12px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-exclusion {
  margin-top: 22px;
  padding: 18px 22px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-incidents {
  margin-top: 28px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-record-grid {
  gap: clamp(28px, 4vw, 56px);
}
body.rm-home[data-page="mantenimiento"] .maintenance-record-item {
  padding-bottom: 18px;
}
body.rm-home[data-page="mantenimiento"] .maintenance-record-item:last-child {
  padding-bottom: 0;
}
@media (max-width: 800px) {
  body.rm-home[data-page="mantenimiento"] .maintenance-single-grid {
    gap: 24px;
  }
  body.rm-home[data-page="mantenimiento"] .maintenance-scope {
    gap: 24px;
  }
  body.rm-home[data-page="mantenimiento"] .maintenance-plan-grid {
    gap: 20px;
  }
}

/* Home-only refinements. Load after the common refresh and existing site styles. */
body.rm-home[data-page="piscinas"] #soluciones .services-grid,
body.rm-home[data-page="aqualaga"] #soluciones .services-grid {
  gap: clamp(16px, 2vw, 24px);
  align-items: stretch;
}

body.rm-home[data-page="piscinas"] #soluciones .service-card,
body.rm-home[data-page="aqualaga"] #soluciones .service-card {
  min-height: 0;
  padding: clamp(24px, 2.5vw, 32px);
}

body.rm-home[data-page="piscinas"] #soluciones .service-card p,
body.rm-home[data-page="aqualaga"] #soluciones .service-card p {
  line-height: 1.7;
}

/* One photograph is an editorial row, rather than half of an empty gallery. */
body.rm-home[data-page="piscinas"] #obras .work-grid.count-1 {
  max-width: none;
  grid-template-columns: minmax(0, 1fr);
}

body.rm-home[data-page="piscinas"] #obras .work-card {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr);
  align-items: stretch;
}

body.rm-home[data-page="piscinas"] #obras .gallery-open {
  border-radius: 0;
  min-height: 300px;
  height: 100%;
}

body.rm-home[data-page="piscinas"] #obras .gallery-open img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 300px;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center 58%;
}

body.rm-home[data-page="piscinas"] #obras .work-card figcaption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(26px, 4vw, 52px);
}

body.rm-home[data-page="piscinas"] #obras .work-card h3 {
  max-width: 17ch;
  margin-bottom: 14px;
  font-size: clamp(24px, 2.5vw, 32px);
  line-height: 1.2;
}

body.rm-home[data-page="piscinas"] #obras .work-card p {
  max-width: 38ch;
  font-size: 15px;
  line-height: 1.7;
}

body.rm-home[data-page="piscinas"] .hero-media > img {
  object-position: center 55%;
}

body.rm-home[data-page="aqualaga"] .aqualaga-company {
  gap: clamp(32px, 5vw, 64px);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
}

body.rm-home[data-page="aqualaga"] .aqualaga-project {
  border-radius: 18px;
}

body.rm-home[data-page="aqualaga"] .aqualaga-project img {
  height: auto;
  aspect-ratio: 4 / 3;
  object-position: center;
}

body.rm-home[data-page="aqualaga"] .aqualaga-project figcaption {
  padding: 16px 22px;
  line-height: 1.6;
}

body.rm-home[data-page="aqualaga"] .hero-media > img {
  object-position: center 46%;
}

body.rm-home[data-page="benalclima"] #servicios .services-grid {
  gap: clamp(18px, 2vw, 26px);
  align-items: stretch;
}

body.rm-home[data-page="benalclima"] #servicios .service-card {
  min-height: 0;
  padding: clamp(24px, 2.5vw, 32px);
}

body.rm-home[data-page="benalclima"] #servicios .service-card p {
  line-height: 1.7;
}

body.rm-home[data-page="benalclima"] #servicios .service-card > .text-link {
  margin-top: auto;
}

/* The original photograph remains intact; crop the far-right edge in the frame. */
body.rm-home[data-page="benalclima"] .hero-media > img {
  width: 108%;
  max-width: none;
  object-fit: cover;
  object-position: left center;
}

body.rm-home[data-page="benalclima"] .duct-layout {
  gap: clamp(30px, 4.5vw, 56px);
}

body.rm-home[data-page="benalclima"] .duct-photo {
  min-width: 0;
}

body.rm-home[data-page="benalclima"] .duct-photo .gallery-open {
  border-radius: 16px;
}

body.rm-home[data-page="benalclima"] .duct-options article {
  padding-block: 18px 22px;
}

@media (min-width: 701px) and (max-width: 1050px) {
  body.rm-home[data-page="piscinas"] #soluciones .services-grid,
  body.rm-home[data-page="aqualaga"] #soluciones .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 940px) {
  body.rm-home[data-page="aqualaga"] .aqualaga-company {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 700px) {
  body.rm-home[data-page="piscinas"] #soluciones .services-grid,
  body.rm-home[data-page="aqualaga"] #soluciones .services-grid,
  body.rm-home[data-page="benalclima"] #servicios .services-grid,
  body.rm-home[data-page="piscinas"] #obras .work-card {
    grid-template-columns: minmax(0, 1fr);
  }

  body.rm-home[data-page="piscinas"] #obras .gallery-open,
  body.rm-home[data-page="piscinas"] #obras .gallery-open img {
    min-height: 0;
  }

  body.rm-home[data-page="piscinas"] #obras .gallery-open img {
    height: auto;
  }

  body.rm-home[data-page="piscinas"] #obras .work-card figcaption {
    padding: 24px;
  }

  body.rm-home[data-page="piscinas"] #obras .work-card h3 {
    max-width: none;
  }

  body.rm-home[data-page="aqualaga"] .aqualaga-project figcaption {
    padding: 14px 18px;
  }
}
