
   :root {
  --red: #aeaeae;
  --deep: #535353;
  --ink: #21282b;
  --muted: #576b74;
  --cream: #f4f9fc;
  --line: #dce8ee;
  --blue: #aeaeae;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}

body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font: 17px/1.7 Arial, Helvetica, sans-serif;
}

a {
  color: var(--red);
  text-decoration: none;
}

a:hover {
  color: var(--deep);
}

button,
input {
  font: inherit;
}

button,
summary {
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3 {
  line-height: 1.14;
  letter-spacing: -.035em;
  margin: 0;
}

h1 {
  font-size: clamp(38px, 4.25vw, 64px);
}

h2 {
  font-size: clamp(29px, 3vw, 43px);
}

h3 {
  font-size: 24px;
}

p {
  margin: 18px 0;
}

:focus-visible {
  outline: 3px solid #e0e0e0;
  outline-offset: 5px;
}

.wrap {
  width: min(1180px, calc(100% - 48px));
  margin: auto;
}

.header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 92px;
}

.logo {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-shrink: 0;
}

.logo img {
  width: 110px;
  height: auto;
}

.logo span {
  font-size: 12px;
  line-height: 1.4;
  color: #555;
  border-left: 1px solid #ddd;
  padding-left: 14px;
}

.nav {
  display: flex;
  gap: 22px;
  align-items: center;
}

.nav a {
  font-size: 14px;
  font-weight: 700;
  color: #2e393e;
}

.phone {
  background: var(--blue);
  color: #fff !important;
  border-radius: 10px;
  padding: 11px 17px;
  white-space: nowrap;
  font-weight: 700;
}

.phone svg {
  width: 17px;
  vertical-align: middle;
  margin-right: 5px;
}

.burger {
  display: none;
  position: relative;
}

.burger summary {
  list-style: none;
  border: 1px solid var(--line);
  padding: 7px 12px;
  border-radius: 9px;
}

.burger summary::-webkit-details-marker {
  display: none;
}

.burger nav {
  position: absolute;
  right: 0;
  top: 52px;
  width: 240px;
  background: #fff;
  box-shadow: 0 16px 40px #0002;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
}

.burger nav a {
  display: block;
  padding: 10px 12px;
  color: var(--ink);
}

main {
  padding-top: var(--header-height, 92px);
}

.hero {
  position: relative;
  isolation: isolate;
  min-height: 650px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #d7e3e8;
}

.hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 0%;
  z-index: -2;
}

.hero:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #f4f8fa 0%, #f4f8faf5 23%, #f4f8facc 42%, #f4f8fa00 67%);
  z-index: -1;
}

.hero-copy {
  width: 51%;
  padding: 65px 0 70px;
}

.eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-weight: 800;
  color: var(--red);
  display: block;
  margin-bottom: 20px;
}

.hero h1 span {
  color: var(--red);
}

.hero-lead {
  font-size: 19px;
  max-width: 490px;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 27px 0 20px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--red);
  background: var(--red);
  color: #fff;
  padding: 12px 22px;
  border-radius: 10px;
  font-weight: 700;
}

.btn:hover {
  color: #fff;
  background: var(--deep);
}

.btn-outline {
  background: #fff;
  color: var(--red);
}

.btn-outline:hover {
  background: #edf7fc;
  color: var(--deep);
}

.hero-note {
  font-size: 13px;
  color: #4a5b63;
  max-width: 450px;
}

.quick {
  background: var(--deep);
  color: #fff;
}

.quick .wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.quick a {
  color: #fff;
  padding: 24px;
  border-right: 1px solid #ffffff22;
  font-weight: 700;
  font-size: 16px;
}

.quick small {
  display: block;
  font-weight: 400;
  color: #dcedf5;
  font-size: 13px;
}

.section {
  padding: 85px 0;
}

.soft {
  background: var(--cream);
}

.heading {
  max-width: 790px;
  margin-bottom: 35px;
}

.heading p {
  color: var(--muted);
}

.grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.card {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.card .tag {
  display: block;
  color: var(--red);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .1em;
  margin-bottom: 16px;
}

.card p {
  font-size: 16px;
  color: #495961;
}

.card a {
  font-weight: 700;
}

.split {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 65px;
  align-items: start;
}

.note {
  background: var(--deep);
  color: #fff;
  padding: 34px;
  border-radius: 18px;
}

.note .eyebrow {
  color: #29637e;
}

.note h3 {
  color: #fff;
}

.note ul {
  padding-left: 20px;
}

.note li {
  padding: 8px 0;
}

.note p {
  color: #d8ecf5;
  font-size: 16px;
}

.faults {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px;
}

.fault {
  border-left: 3px solid var(--red);
  padding: 5px 24px;
}

.fault p {
  color: var(--muted);
}

.steps {
  counter-reset: step;
}

.step {
  position: relative;
  padding: 32px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.step:before {
  counter-increment: step;
  content: '0' counter(step);
  display: block;
  font-size: 34px;
  font-weight: 800;
  color: var(--red);
  margin-bottom: 18px;
}

.island-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 30px;
}

.island-tabs button {
  background: #fff;
  color: var(--deep);
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 10px 23px;
}

.island-tabs button[aria-selected=true] {
  background: var(--red);
  color: #fff;
}

[hidden] {
  display: none !important;
}

.search {
  width: 100%;
  max-width: 520px;
  padding: 13px 16px;
  border: 1px solid #acbac0;
  border-radius: 10px;
  margin: 10px 0 22px;
  background: #fff;
}

.areas {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.area {
  background: #fff;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  font-size: 14px;
}

.area:hover {
  border-color: var(--red);
  color: var(--red);
}

.area small {
  display: block;
  font-size: 11px;
  color: #aeaeae;
}

.map-shell {
  background: #eaf4f8;
  min-height: 210px;
  margin-top: 28px;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.map-shell:has(iframe) {
  padding: 0;
}

.map-shell iframe {
  display: block;
  width: 100%;
  height: 340px;
  border: 0;
}

.map-intro {
  max-width: 650px;
  text-align: center;
}

.map-intro p {
  color: #546770;
  font-size: 14px;
}

.faq {
  border-bottom: 1px solid var(--line);
  padding: 19px 0;
}

.faq summary {
  font-weight: 700;
  font-size: 19px;
  padding-right: 12px;
}

.faq p {
  max-width: 900px;
  color: var(--muted);
}

.resources {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.resource {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 23px;
  background: #fff;
}

.resource strong {
  display: block;
  color: var(--red);
}

.resource p {
  font-size: 14px;
  color: var(--muted);
}

.cta {
  background: var(--deep);
  color: #fff;
  border-radius: 22px;
  padding: 50px;
}

.cta p {
  color: #dcedf5;
  max-width: 850px;
}

.cta .btn {
  border-color: #fff;
  background: #fff;
  color: var(--red);
}

.cta .btn-outline {
  background: transparent;
  color: #fff;
}

footer {
  background: #262626;
  color: #d9dfe2;
  padding: 45px 0 28px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
}

footer strong {
  color: #fff;
}

footer a {
  color: #f6f6f6;
}

footer a:hover {
  color: #fff;
}

footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 22px;
  margin: 20px 0;
}

footer p {
  font-size: 13px;
}

.fine {
  border-top: 1px solid #ffffff25;
  padding-top: 20px;
  margin-top: 25px;
}

.up {
  position: fixed;
  bottom: 20px;
  right: 20px;
  border: 0;
  color: #fff;
  background: var(--red);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  box-shadow: 0 6px 18px #0002;
  z-index: 40;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s;
}

.up.show {
  opacity: 1;
  pointer-events: auto;
}

.legal {
  max-width: 850px;
  margin: auto;
  padding: 70px 24px;
}

.legal h2 {
  font-size: 27px;
  margin-top: 35px;
}

@media(max-width:1050px) {
  .nav {
    display: none;
  }

  .burger {
    display: block;
  }

  .header-tools {
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .hero-copy {
    width: 56%;
  }

  .hero {
    min-height: 620px;
  }

  .areas {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .resources {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .split {
    gap: 35px;
  }
}

@media(min-width:1051px) {
  .header-tools {
    display: flex;
    align-items: center;
    gap: 24px;
  }
}

@media(max-width:700px) {
  html {
    scroll-padding-top: 144px;
  }

  .wrap {
    width: calc(100% - 32px);
  }

  .header-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px 0;
  }

  .logo {
    justify-content: center;
  }

  .logo img {
    width: 94px;
  }

  .logo span {
    font-size: 10px;
  }

  .header-tools {
    justify-content: space-between;
  }

  .phone {
    padding: 8px 14px;
    font-size: 16px;
  }

  main {
    padding-top: var(--header-height, 77px);
  }

  .hero {
    display: block;
    min-height: 0;
    padding-top: 0;
    background: var(--cream);
  }

  .hero-photo {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: 72% 48%;
  }

  .hero:after {
    display: none;
  }

  .hero-copy {
    width: 100%;
    padding: 30px 0 35px;
  }

  .hero h1 {
    font-size: clamp(34px, 9vw, 48px);
  }

  .hero-lead {
    font-size: 17px;
  }

  .eyebrow {
    margin-bottom: 16px;
  }

  .quick .wrap {
    display: block;
  }

  .quick a {
    display: block;
    padding: 16px 5px;
    border-right: 0;
    border-bottom: 1px solid #ffffff22;
  }

  .section {
    padding: 55px 0;
  }

  .grid,
  .split,
  .faults,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .split {
    gap: 28px;
  }

  .areas {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .card {
    padding: 25px;
  }

  .resources {
    grid-template-columns: 1fr;
  }

  .cta {
    padding: 30px 24px;
  }

  .note {
    padding: 26px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }

  .up {
    transition: none;
  }
}

.logo img.logo-mark {
  width: 57px;
  height: 57px;
  flex: none;
}

.brand {
  display: block;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1.15;
  color: var(--deep);
}

.brand small {
  display: block;
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 700;
  color: var(--blue);
  margin-top: 5px;
}

.logo .brand {
  border: 0;
  padding: 0;
  font-size: 17px;
  line-height: 1.15;
  font-weight: 900;
  color: var(--deep);
}

.hero .eyebrow {
  display: inline-block;
  background: #29637e;
  color: #484848;
  border-radius: 30px;
  padding: 7px 13px;
  font-size: 11px;
  letter-spacing: .08em;
}

.hero {
  background: #f8fbfc;
}

.hero:after {
  background: linear-gradient(90deg, #f8fcfe 0%, #f8fcfef5 25%, #f8fcfece 42%, #f8fcfe00 65%);
}

.hero-photo {
  object-position: 65% 0%;
}

.hero-copy {
  width: 50%;
}

.hero h1 {
  max-width: 570px;
}

.btn-yellow {
  background: #29637e;
  color: #4d4d4d;
  border-color: #29637e;
}

.btn-yellow:hover {
  background: #29637e;
  color: #4d4d4d;
}

.tag {
  font-size: 12px;
}

.ribbon {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 25px;
}

.ribbon span {
  background: #ffffffb8;
  border: 1px solid #dbe8ee;
  border-radius: 8px;
  padding: 7px 11px;
  color: #646464;
  font-size: 12px;
}

.quick a:first-child {
  box-shadow: inset 0 4px #29637e;
}

.card .service-icon {
  color: var(--blue);
  display: block;
  margin-bottom: 18px;
}

.card .service-icon svg {
  width: 38px;
  height: 38px;
}

.coverage-tools {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.coverage-tools>div {
  flex: 1;
}

.listbox {
  max-height: 365px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  background: #fff;
}

.municipalities {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.municipality {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 12px;
  text-align: left;
  background: #fff;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.4;
}

.municipality:hover,
.municipality[aria-pressed=true] {
  background: #edf7fc;
  border-color: var(--blue);
  color: var(--blue);
}

.selected-zone {
  margin: 27px 0;
  border-left: 4px solid #29637e;
  padding: 8px 22px;
}

.selected-zone h3 {
  font-size: 25px;
}

.selected-zone p {
  font-size: 16px;
  color: var(--muted);
}

.region-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.region {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 26px;
}

.region p {
  font-size: 16px;
}

.region h3 {
  font-size: 23px;
}

.phone svg {
  display: inline-block;
}

.contact-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
}

.header .contact-group {
  margin: 0;
}

footer .contact-group {
  font-size: 14px;
}

.legal .identity {
  background: #f2f9fc;
  border-radius: 12px;
  padding: 20px;
}

@media(max-width:1000px) {
  .municipalities {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media(max-width:700px) {
  .hero-copy {
    width: 100%;
  }

  .header-inner {
    grid-template-columns: 1fr auto;
    min-height: 76px;
    padding: 12px 0;
    gap: 12px;
  }

  .logo {
    justify-content: start;
    gap: 9px;
  }

  .logo img.logo-mark {
    width: 46px;
    height: 46px;
  }

  .logo .brand {
    font-size: 14px;
  }

  .brand small {
    font-size: 10px;
  }

  .header-tools {
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
  }

  .header .phone {
    font-size: 13px;
    padding: 7px 10px;
  }

  .burger summary {
    font-size: 14px;
    padding: 7px 9px;
  }

  .municipalities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .coverage-tools {
    display: block;
  }

  .region-grid {
    grid-template-columns: 1fr;
  }

  .listbox {
    padding: 11px;
  }

  .selected-zone {
    padding: 8px 16px;
  }

  .hero .eyebrow {
    font-size: 10px;
  }
}

@media(max-width:1150px) {
  .nav {
    display: none;
  }

  .burger {
    display: block;
  }

  .header-tools {
    display: flex;
    align-items: center;
    gap: 14px;
  }
}

/* Tarjetas de municipios y barrios */
.city-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.city-card {
  background: #fff;
  border: 1px solid #dbe9ef;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 25px #57575710;
}

.city-card summary {
  padding: 24px;
  cursor: pointer;
  list-style: none;
  border-top: 5px solid #29637e;
}

.city-card summary::-webkit-details-marker {
  display: none;
}

.city-card summary h3 {
  margin: 14px 0;
  font-size: 1.15rem;
  line-height: 1.4;
  color: #555555;
}

.city-card summary>span:last-child {
  font-size: .85rem;
  font-weight: 700;
  color: #c9c9c9;
}

.city-card[open] summary {
  background: #f0f9fd;
}

.city-body {
  padding: 0 22px 22px;
}

.city-body .btn {
  white-space: normal;
  margin: 8px 0 16px;
}

.neighborhood-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.neighborhood {
  display: flex;
  flex-direction: column;
  gap: 7px;
  text-align: left;
  padding: 14px;
  border: 1px solid #d9e8ef;
  border-radius: 12px;
  background: #f8fcfe;
  color: #555555;
  cursor: pointer;
  font: inherit;
  overflow-wrap: anywhere;
}

.neighborhood span {
  font-size: .75rem;
}

.neighborhood:hover,
.neighborhood[aria-pressed="true"] {
  background: #29637e;
  border-color: #1a485e;
}

.card h4 {
  font-size: 1rem;
  margin: 22px 0 10px;
  color: #c9c9c9;
}

@media(max-width:1050px) {
  .city-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:650px) {
  .city-grid {
    grid-template-columns: 1fr;
  }

  .city-card summary {
    padding: 20px;
  }
}

.service-link {
  display: block;
  color: var(--deep);
  transition: transform .15s ease, box-shadow .15s ease;
}

.service-link:hover {
  color: var(--deep);
  transform: translateY(-3px);
  box-shadow: 0 12px 30px #57575717;
}

.service-link>span:last-child {
  font-size: .85rem;
  font-weight: 700;
  color: var(--blue);
}

.local-page-link {
  margin: 0 0 18px;
}

.breadcrumb {
  padding: 22px 0;
  background: #eef8fc;
  font-size: .86rem;
}

.breadcrumb .wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.related-links a {
  padding: 10px 14px;
  background: #f0f8fc;
  border-radius: 10px;
  font-weight: 700;
}

.scope-note {
  font-size: .9rem;
  color: #737373;
}

.city-card .tag {
  font-size: .76rem;
  font-weight: 700;
  color: #aeaeae;
}
  
/* Cabecera móvil: logo y menú arriba; teléfono en su propia fila. */
@media (max-width: 700px) {
  .header .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "logo menu" "telefono telefono";
    align-items: center;
    min-height: 76px;
    gap: 6px;
    padding: 8px 0;
  }
  .header .logo {
    grid-area: logo;
    min-width: 0;
    max-width: 100%;
    justify-content: flex-start;
    gap: 8px;
  }
  .header .logo img.logo-mark {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    object-fit: contain;
  }
  .header .logo .brand {
    min-width: 0;
    font-size: 13px;
    line-height: 1.2;
    white-space: normal;
  }
  .header .brand small {
    font-size: 10px;
    margin-top: 4px;
  }
  .header .header-tools {
    display: contents;
  }
  .header .header-tools > .nav {
    display: none;
  }
  .header .header-tools > .contact-group {
    grid-area: telefono;
    justify-self: center;
    min-width: 0;
    width: auto;
    margin: 0;
  }
  .header .phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto;
    min-height: 40px;
    padding: 8px 12px;
    font-size: 14px;
    line-height: 1.2;
    color: #fff;
    box-sizing: border-box;
  }
  .header .phone svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin: 0;
  }
  .header .burger {
    grid-area: menu;
    justify-self: end;
    min-width: 0;
  }
  .header .burger summary {
    padding: 9px 8px;
    font-size: 13px;
    white-space: nowrap;
  }
  .header .burger nav {
    width: min(280px, calc(100vw - 32px));
    max-height: calc(100dvh - var(--header-height, 132px) - 24px);
    overflow-y: auto;
  }
  .header [hidden] {
    display: none !important;
  }
}

/* Encuadre móvil: recorta el margen blanco izquierdo. */
@media (max-width: 700px) {
  .hero .hero-photo {
    width: 100%;
    height: 75vw;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: 100% 50%;
  }
}
  
/* Fotografía completa: columna independiente del texto, sin ampliar ni recortar. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;min-height:0;background:#edf7fc;overflow:hidden;padding:32px max(24px,calc((100vw - 1240px)/2));gap:32px;}
.hero:after{display:none;}
.hero>.wrap{grid-column:1;grid-row:1;width:100%;max-width:none;padding:0;min-width:0;}
.hero .hero-copy{width:100%;max-width:none;padding:20px 0;}
.hero .hero-photo{grid-column:2;grid-row:1;display:block;position:static;inset:auto;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain;object-position:center center;z-index:auto;border-radius:18px;}
.hero h1{font-size:clamp(32px,3vw,52px);line-height:1.12;overflow-wrap:anywhere;}
.hero .hero-lead{max-width:none;}
.catalog .service-link{display:flex;flex-direction:column;gap:14px;}
.catalog .service-link img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain;border-radius:10px;background:#edf7fc;}
.catalog .service-link h3{margin:0;font-size:21px;line-height:1.3;}
.catalog .service-link p{margin:0;font-size:16px;line-height:1.65;}
.catalog .service-link .card-cta{margin-top:auto;font-weight:800;color:#1a485e;}
.commercial-intro{max-width:1000px;}
.service-technical p,.commercial-intro p{line-height:1.8;}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px;}
.detail-grid .card p{margin-bottom:0;}
.local-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;font-size:13px;line-height:1.5;}
.local-breadcrumbs a{color:#626262;font-weight:700;}
.section .wrap>.commercial-intro{margin-bottom:32px;}
@media(max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:24px;gap:22px;}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.hero{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;}.hero .hero-photo{width:100%;height:auto;aspect-ratio:3/2;max-height:none;border-radius:0;object-fit:contain;}.hero>.wrap{width:100%;padding:28px 22px;}.hero .hero-copy{padding:0;}.hero h1{font-size:34px;}.detail-grid{grid-template-columns:1fr;}.catalog .service-link img{height:auto;object-fit:contain;}.header .header-inner{row-gap:16px;}}


   /* Reconstrucción final: estructura común y barra móvil completa de 34 px. */
.service-detail {margin:0 0 32px; padding:28px; background:#f0f8fc; border:1px solid #f7f7f7; border-radius:18px;}
.service-detail h3 {margin-top:24px;}
.catalog-intro {margin-top:36px;}
.catalog .card {display:flex;flex-direction:column;min-width:0;}
.catalog .card>a:last-child {margin-top:auto;padding-top:12px;}
.catalog .card img {width:100%;height:155px;object-fit:cover;object-position:75% center;border-radius:12px;margin-bottom:18px;}
.why-panel {background:#535353;color:white;border:0;}
.why-panel h3,.why-panel h4 {color:white;}
.why-panel .tag {color:#29637e;}
.why-panel p {color:#e4f1f7;}
.why-panel h4 {margin:20px 0 5px;font-size:18px;}
.why-panel p {font-size:15px;margin:5px 0 16px;}
.case-note {border-left:4px solid #aeaeae;padding:18px 22px;background:#f0f8fc;margin:24px 0;}
.service-technical {margin:28px 0;}
.hero .hero-photo {object-position:70% 50%;}
.hero-copy {max-width:660px;}
.hero h1 {font-size:clamp(34px,3.6vw,56px);}
.hero-lead {font-size:18px;line-height:1.65;}
.header [hidden], [hidden] {display:none!important;}
@media (max-width:700px) {
 .header .header-inner {gap:4px;padding:8px 0 0;min-height:66px;}
 .header .header-tools>.contact-group {grid-area:telefono;justify-self:stretch;width:calc(100% + 32px);max-width:none;margin:0 -16px;}
 .header .phone {width:100%;min-height:34px;height:34px;border-radius:0;padding:4px 12px;font-size:14px;line-height:1.2;gap:6px;box-shadow:none;}
 .header .phone svg {width:15px;height:15px;flex-basis:15px;}
 .header .header-inner:not(:has(.contact-group:not([hidden]))) {padding-bottom:8px;}
 .header .logo .brand {font-size:12px;}
 .header .burger summary {padding:7px 8px;font-size:12px;}
 .header .burger nav {position:fixed;right:16px;top:calc(var(--header-height,100px) + 8px);}
 .hero .hero-photo {height:75vw;aspect-ratio:4/3;object-position:100% 50%;}
 .hero .hero-copy {padding:28px 0 34px;max-width:none;}
 .hero h1 {font-size:clamp(32px,8.5vw,44px);}
 .hero-lead {font-size:17px;}
 .service-detail {padding:22px;}
 .catalog .card img {height:190px;}
}
  

   @media (min-width:701px) and (max-width:1000px) {
 .hero {display:block;min-height:0;}
 .hero .hero-photo {position:relative;inset:auto;width:100%;height:50vw;max-height:500px;object-fit:cover;object-position:85% center;}
 .hero:after {display:none;}
 .hero .hero-copy {width:100%;max-width:none;padding:34px 0 40px;}
}
.hero .hero-copy .hero-lead {margin-bottom:22px;}
  

   @media (min-width:1151px) {
 .header .nav {gap:16px;}
 .header .nav a {white-space:nowrap;}
}
@media (max-width:700px) {
 .header .header-inner {row-gap:16px;}
}
  

   /* Encuadre superior: conserva las cabezas en los banners. */
.hero .hero-photo {object-position:100% 0%;}
.catalog .card img {height:auto;object-fit:contain;object-position:center top;}
  

   :root {--blue:#aeaeae;--yellow:#29637e;--orange:#1a485e;}
.header {border-bottom:1px solid #d8ebf4;}
.header .logo .brand {color:#535353;}
.header .logo .brand small {color:#1a485e;letter-spacing:.16em;}
.eyebrow,.tag {color:#1a485e;}
.hero .eyebrow,.btn-yellow {background:#29637e;color:#454545;}
.btn-yellow:hover {background:#29637e;}
.quick {background:#616161;}
.quick a {border-top-color:#29637e;}
.soft {background:#f2f8fb;}
.card,.city-card {border-color:#d6e8f1;}
.service-icon {background:#e8f5fb;color:#1a485e;}
.why-panel {background:#616161;color:#fff;}
.why-panel .tag {color:#29637e;}
.case-note {border-color:#1a485e;background:#eef8fc;}
.hero .hero-photo {object-position:100% 0%;}
.catalog .card img {height:auto;object-fit:contain;}
.cta {background:linear-gradient(110deg,#919191,#b4b4b4);border-left:8px solid #29637e;}
.local-context {margin:24px 0;border-left:4px solid #29637e;padding:18px 22px;background:#f0f8fc;}
.related-links {display:flex;flex-wrap:wrap;gap:12px;}
.related-links a {display:block;padding:10px 14px;border-radius:9px;background:#edf7fc;color:#919191;font-weight:700;}
.coverage-home-link {margin-top:24px;}
.faq summary {line-height:1.5;}
@media (max-width:700px) {.header .header-inner {row-gap:16px;} .hero .hero-photo {object-position:100% 0%;}}
  

   :root {--blue:#adadad;--yellow:#29637e;--orange:#1a485e;}
.header {background:#f3fafd;border-bottom:1px solid #f6f6f6;}
.header .logo .brand {color:#5d5d5d;} .header .logo .brand small {color:#1a485e;}
.header .phone,.btn {background:#1a485e;border-color:#1a485e;color:white;}
.btn-outline {background:transparent;border-color:#adadad;color:#939393;}
.hero .eyebrow,.btn-yellow {background:#29637e;color:#525252;}
.hero .ribbon span {background:#f0f8fc;border-color:#f5f5f5;color:#6b6b6b;}
.quick {background:#fbfbfb;color:#626262;} .quick a,.quick small {color:#626262;}
.quick a {border-top-color:#29637e;}
.soft {background:#eef8fc;} .card,.city-card {border-color:#f5f5f5;}
.service-icon {background:#e6f4fb;color:#1a485e;} .tag,.eyebrow {color:#1a485e;}
.why-panel {background:#fbfbfb;color:#555555;} .why-panel h3,.why-panel h4,.why-panel p {color:#555555;} .why-panel .tag {color:#1a485e;}
.cta {background:#fbfbfb;color:#5c5c5c;border-left-color:#29637e;} .cta h2,.cta p {color:#5c5c5c;}
.cta .btn-outline {color:#959595;border-color:#adadad;background:white;}
.map-shell {border-color:#f2f2f2;}.local-context,.case-note {border-color:#29637e;}
.hero .hero-photo {object-position:100% 0%;}
.catalog .card img {height:auto;object-fit:contain;}
@media(max-width:700px){.header .header-inner{row-gap:16px;}.hero .hero-photo{object-position:100% 0%;}}
  

/* Fotografía completa: columna independiente del texto, sin ampliar ni recortar. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;min-height:0;background:#edf7fc;overflow:hidden;padding:32px max(24px,calc((100vw - 1240px)/2));gap:32px;}
.hero:after{display:none;}
.hero>.wrap{grid-column:1;grid-row:1;width:100%;max-width:none;padding:0;min-width:0;}
.hero .hero-copy{width:100%;max-width:none;padding:20px 0;}
.hero .hero-photo{grid-column:2;grid-row:1;display:block;position:static;inset:auto;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain;object-position:center center;z-index:auto;border-radius:18px;}
.hero h1{font-size:clamp(32px,3vw,52px);line-height:1.12;overflow-wrap:anywhere;}
.hero .hero-lead{max-width:none;}
.catalog .service-link{display:flex;flex-direction:column;gap:14px;}
.catalog .service-link img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain;border-radius:10px;background:#edf7fc;}
.catalog .service-link h3{margin:0;font-size:21px;line-height:1.3;}
.catalog .service-link p{margin:0;font-size:16px;line-height:1.65;}
.catalog .service-link .card-cta{margin-top:auto;font-weight:800;color:#1a485e;}
.commercial-intro{max-width:1000px;}
.service-technical p,.commercial-intro p{line-height:1.8;}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px;}
.detail-grid .card p{margin-bottom:0;}
.local-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;font-size:13px;line-height:1.5;}
.local-breadcrumbs a{color:#626262;font-weight:700;}
.section .wrap>.commercial-intro{margin-bottom:32px;}
@media(max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:24px;gap:22px;}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.hero{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;}.hero .hero-photo{width:100%;height:auto;aspect-ratio:3/2;max-height:none;border-radius:0;object-fit:contain;}.hero>.wrap{width:100%;padding:28px 22px;}.hero .hero-copy{padding:0;}.hero h1{font-size:34px;}.detail-grid{grid-template-columns:1fr;}.catalog .service-link img{height:auto;object-fit:contain;}.header .header-inner{row-gap:16px;}}

:root{--blue:#2e383d;--blue2:#45545b;--yellow:#1a485e;--orange:#1a485e;--light:#f3f5f6;--ink:#252d31;--header-height:96px}
.header{background:#fff}.header .phone,.btn,.btn-yellow{background:#1a485e;color:white}.brand,.header .nav a{color:#2e383d}.hero{background:#323d43}.hero h1,.hero .hero-lead,.hero .eyebrow{color:#fff}.hero .ribbon{color:#fff}.hero .btn-outline{border-color:#fff;color:#fff}.hero .btn-outline:hover{color:#2e383d;background:white}.section.soft{background:#f2f5f6}.tag{background:#ebf7fc;color:#1a485e}.city-card summary{color:#2e383d}.btn-outline{color:#1a485e;border-color:#1a485e;background:white}.logo-mark{width:56px;height:56px}.brand{font-size:19px}.section p{max-width:85ch;line-height:1.75}.context-links{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.context-links a{padding:10px 14px;border:1px solid #cad3d7;border-radius:10px;background:#fff;color:#2e383d}.city-card{padding:16px}.city-card a{color:#1a485e}.service-link img{object-fit:contain;aspect-ratio:3/2;width:100%;height:auto}.notice{padding:18px;background:#fff;border-left:4px solid #1a485e}.coverage-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.coverage-list a{padding:14px;border:1px solid #ddd;border-radius:10px;background:#fff}.breadcrumbs{padding:22px 0;font-size:14px}.breadcrumbs a{color:#1a485e}.faq details{margin:12px 0;border:1px solid #ddd;border-radius:12px;padding:18px}.faq summary{cursor:pointer;font-weight:700}.hero-photo{object-position:center center}.map-shell{height:360px}.map-shell iframe{width:100%;height:100%;border:0}.map-intro{padding:25px}.catalog h3{font-size:20px}.hero h1{overflow-wrap:normal}.header .nav{gap:13px}.brand small{letter-spacing:1px}.quick-links{display:flex;flex-wrap:wrap;gap:10px}.quick-links a{color:#1a485e}.section ul{line-height:1.9}.contact-group{gap:10px}.legal-body{padding-top:calc(var(--header-height) + 35px)}
@media(max-width:700px){.coverage-list{grid-template-columns:1fr}.brand{font-size:15px}.logo-mark{width:48px;height:48px}.header .phone{height:34px;min-height:34px;background:#1a485e}.hero h1{font-size:32px}.hero .wrap{padding:25px 18px}.section{padding:44px 0}.context-links a{width:100%}}

.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hero .btn-outline{background:white;color:#1a485e;border-color:white}.hero .ribbon span{background:#f0f3f4;color:#415057;border-color:#d8dfe2}.service-link img{background:#f2f5f6!important}.tag{align-self:flex-start}.hero .eyebrow{background:#1a485e}.breadcrumbs{margin-bottom:0}.section{overflow-wrap:break-word}@media(max-width:1024px){.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.catalog{grid-template-columns:1fr}}

:root{--red:#1a485e}.catalog .card .tag{color:#1a485e;background:#ebf7fc;padding:6px 9px;border-radius:6px;letter-spacing:.04em}.catalog .card h3{color:#2e383d}
.hero{background:radial-gradient(ellipse at 6% 5%,rgba(235,46,68,.46),transparent 57%),radial-gradient(ellipse at 65% 110%,rgba(177,183,197,.24),transparent 64%),linear-gradient(118deg,#1a485e 0%,#344046 50%,#5c7079 100%);border-bottom:4px solid #1a485e;isolation:isolate}.hero .hero-photo{box-shadow:0 18px 50px rgba(18,21,28,.24);mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 100%)}.hero .eyebrow{background:rgba(191,24,45,.8);border:1px solid rgba(255,255,255,.17)}.hero .ribbon span{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.23);color:white;backdrop-filter:blur(6px)}.hero h1{text-shadow:0 2px 16px rgba(0,0,0,.16)}
@media(max-width:700px){.hero .hero-photo{mask-image:none;box-shadow:none}.hero{background:radial-gradient(ellipse at 0% 50%,rgba(226,32,58,.35),transparent 68%),linear-gradient(150deg,#404f56,#2a3338 65%,#1a485e)}.hero>.wrap{padding-top:32px;padding-bottom:36px}}

.introduction{background:linear-gradient(135deg,#fff,#f8fcfe);border-bottom:1px solid #dfebf0}.introduction h2{max-width:30ch}.introduction p{font-size:18px;line-height:1.8}.introduction .wrap>p:first-of-type{font-weight:500}

:root{--red:#1a485e;--deep:#183949;--blue:#1a485e;--ink:#202a2f;--muted:#50626a;--cream:#f2f5f6;--line:#dae2e5}
.hero{background:radial-gradient(ellipse at 18% 30%,#315c70a6,transparent 66%),linear-gradient(110deg,#202a2e 0%,#303f46 48%,#18272e 100%)!important}.hero-copy{background:linear-gradient(105deg,#18262ce8,#212f35c9 70%,transparent)!important}.hero h1,.hero-lead{color:#fff!important}.hero .eyebrow{color:#bfdae6!important}.hero .btn{background:#1a485e;color:white;border-color:#1a485e}.hero .btn-outline{background:#ffffff12;border-color:#ffffff8a;color:white}.hero .ribbon{color:#e4ecef}.btn,.phone,.up{background:#1a485e!important;color:white!important}.btn:hover,.phone:hover{background:#13394a!important}.btn-outline{color:#1a485e!important;border-color:#1a485e!important;background:white!important}.introduction{background:linear-gradient(135deg,#fff,#edf2f5)!important;border-color:#dbe3e6}.introduction p{font-size:18px;line-height:1.8}.tag{color:#184053!important;background:#e6eef1!important}.section.soft{background:#f2f5f6}.catalog .card{border-top-color:#1a485e!important}.card-cta{color:#1a485e!important}.service-detail{padding:26px;border:1px solid #dae2e5;border-left:4px solid #29637e;border-radius:10px;margin:22px 0;background:#fff}.service-detail h3{color:#183949}.service-detail:target{box-shadow:0 0 0 3px #c2d5de}.area-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.area-links a{border:1px solid #d2dce1;border-radius:7px;padding:10px 14px;background:#fff;color:#184053}.intro-actions{margin-top:24px}.hero .hero-photo{object-position:65% 32%}.brand small{color:#1a485e}.faq details{border-color:#dae2e5}

:root{--red:#26495a;--deep:#2a3a42;--blue:#26495a;--ink:#263237;--muted:#54666f;--cream:#f2f5f6;--line:#dbe3e7}
.hero{background:radial-gradient(ellipse at 15% 10%,#cce4ef,transparent 64%),linear-gradient(135deg,#f3f6f8,#e5edf0)!important;padding:50px 0!important;min-height:0!important;overflow:visible!important}.hero::before,.hero::after{display:none!important}.hero>.wrap{position:relative!important;display:grid!important;grid-template-columns:1fr 1.05fr;align-items:center;gap:44px}.hero .hero-copy{background:none!important;padding:0!important;position:relative!important;max-width:none!important;box-shadow:none!important;backdrop-filter:none!important}.hero h1{color:#253238!important;font-size:clamp(34px,3.4vw,53px)!important;line-height:1.12!important;text-shadow:none!important;max-width:19ch}.hero .hero-lead{color:#3e525b!important;font-size:19px!important;line-height:1.75!important;text-shadow:none!important}.hero .eyebrow{color:#3d5560!important;font-size:12px;letter-spacing:.1em}.hero .photo-panel{background:#cbdfe8;border:1px solid #c8d7de;border-radius:26px;overflow:hidden;padding:10px;box-shadow:0 20px 45px #35495215}.hero .hero-photo{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/2;object-fit:contain!important;object-position:center!important;mask:none!important;-webkit-mask:none!important;opacity:1!important;border-radius:18px;transform:none!important;filter:none!important}.hero .ribbon{background:#fff9!important;border:1px solid #cbd8de!important;color:#374952!important;margin-top:24px}.hero .ribbon span{color:#374952!important}.btn,.phone{background:#abd1e3!important;border:1px solid #95c1d5!important;color:#253942!important;font-weight:800!important}.btn:hover,.phone:hover{background:#96c2d6!important;color:#192b34!important}.btn-outline{background:#fff!important;border-color:#a1b7c1!important;color:#334b56!important}.hero .btn-outline{background:#ffffffb8!important;color:#334b56!important}.brand small,.card-cta{color:#334f5c!important}.tag{background:#e9f2f6!important;color:#364d57!important}.introduction{background:#fff!important;border-bottom:1px solid #dde5e8!important}.section.soft{background:#f1f5f7!important}.service-detail{border-left-color:#96bfd2!important}.up{background:#334b56!important}.directory{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.directory a{display:block;padding:16px 18px;border:1px solid #d1dce1;border-radius:11px;background:white;color:#324953;font-weight:700}.directory a small{display:block;font-weight:400;color:#55707d;font-size:12px}.breadcrumbs{background:#f6f9fa;padding:14px 20px;font-size:13px;color:#49616c}.service-link{transition:transform .18s,box-shadow .18s}.service-link:hover{transform:translateY(-3px);box-shadow:0 12px 22px #32424914}.related{display:flex;flex-wrap:wrap;gap:12px}.related a{border:1px solid #c6d3d9;padding:10px 15px;border-radius:8px;background:white}.context-note{padding:20px;background:#e4eef3;border-left:4px solid #96bfd2;border-radius:8px}.section .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.footer-grid{color:#e7edf0}footer{background:#2c3a40!important}footer a{color:#d0e2ea!important}footer .btn{color:#253942!important}@media(max-width:900px){.hero>.wrap{gap:25px;grid-template-columns:1fr 1fr}.directory{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.hero{padding:30px 0!important}.hero>.wrap{grid-template-columns:1fr!important;gap:26px}.hero h1{font-size:37px!important;max-width:none}.hero .hero-lead{font-size:17px!important}.hero .photo-panel{padding:7px;border-radius:19px}.hero .hero-photo{border-radius:13px}.section .grid3{grid-template-columns:1fr}}@media(max-width:420px){.directory{grid-template-columns:1fr}.hero h1{font-size:32px!important}.hero .ribbon{font-size:12px}.hero .actions{display:grid!important;grid-template-columns:1fr!important;gap:10px}.hero .btn{width:100%}.hero .hero-copy{padding:0!important}}@media(prefers-reduced-motion:reduce){.service-link{transition:none}.service-link:hover{transform:none}}

.hero{display:block!important}.hero>.wrap{max-width:1240px!important;padding:0 24px!important;margin:0 auto!important;grid-column:auto!important;grid-row:auto!important}.hero .hero-copy,.hero .photo-panel{min-width:0}.hero .eyebrow{background:transparent!important;border:0!important;padding:0!important}.hero .ribbon span{background:#eff6f9!important;color:#374952!important}.header{background:#f8fbfc!important;border-color:#d8e2e6!important}.catalog .card img{background:#e8f1f5!important}.hero .hero-copy h1{overflow-wrap:break-word!important}@media(max-width:420px){.hero>.wrap{padding:0 18px!important}}

[data-contact][aria-disabled="true"]{opacity:.72;cursor:default}.contact-panel{border:1px solid #9bb8c5;background:#e6f1f6;border-radius:16px;padding:25px;margin:26px 0}.contact-panel h3{color:#2a3f49;font-size:24px;margin-top:0}.contact-panel .contact-group{display:flex;gap:14px;flex-wrap:wrap}.contact-panel .btn{min-height:55px;padding:14px 26px;font-size:18px}.contact-status{font-size:14px;color:#485f69;margin:15px 0 0}.contact-panel .btn[data-contact="whatsapp"]{background:#badded!important}.contact-panel .btn[data-contact="telefono"]:before{content:"☎";margin-right:9px}footer .contact-status{color:#d4dee3}.legal-nav{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px}@media(max-width:600px){.contact-panel .contact-group{display:grid;grid-template-columns:1fr}.contact-panel .btn{width:100%}}

:root{--red:#386d86;--deep:#324e5b;--blue:#386d86;--ink:#293237;--muted:#566971;--cream:#eff7fb;--line:#d2e2ea}.header{background:#f6fbfe!important;border-color:#d0e3ec!important}.header .logo .brand{color:#3c494f!important}.brand small{color:#39708a!important}.hero{background:radial-gradient(ellipse at 12% 12%,#c5e6f5,transparent 65%),linear-gradient(140deg,#f6fbfd,#d8eef8)!important}.hero h1{color:#2c414b!important}.hero .hero-lead{color:#48626e!important}.hero .eyebrow{color:#3c728b!important;background:transparent!important}.hero .photo-panel{background:#bbe1f3!important;border-color:#b2d8ea!important;box-shadow:0 20px 45px #32607514!important}.btn,.phone{background:#a9daf1!important;border-color:#87c6e4!important;color:#254452!important}.btn:hover,.phone:hover{background:#8acdec!important}.btn-outline{background:#f6fbfe!important;border-color:#9ac2d5!important;color:#396478!important}.hero .btn-outline{background:#f6fbfe!important;color:#396478!important}.hero .ribbon,.hero .ribbon span{background:#edf7fc!important;border-color:#bddcea!important;color:#3c6679!important}.tag{background:#ddf1fa!important;color:#326a84!important}.card-cta{color:#366f8a!important}.section.soft{background:#ebf7fc!important}.catalog .card img{background:#e1f2fa!important}.contact-panel{background:#e1f2fa!important;border-color:#a7d3e8!important}.contact-panel h3{color:#2e586c!important}.contact-panel .btn[data-contact]{background:#a9daf1!important}.contact-status{color:#496b7b!important}.directory a,.related a,.area-links a{border-color:#bdd9e6!important;color:#356880!important;background:#f6fbfd!important}.up{background:#386d86!important}footer{background:#354349!important}footer a,footer .contact-status{color:#c6e6f5!important}footer .btn{color:#254452!important}.context-note{background:#e1f2fa!important;border-color:#79bad8!important}

/* Móvil: título y texto, fotografía, acciones de contacto. */
@media(max-width:760px){
 .hero>.wrap{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 .hero .hero-copy{display:contents!important}
 .hero .hero-copy>.eyebrow{order:0}
 .hero .hero-copy>h1{order:1;margin-bottom:0!important}
 .hero .hero-copy>.hero-lead{order:2;margin-bottom:0!important}
 .hero>.wrap>.photo-panel{order:3;grid-column:1!important;grid-row:auto!important;width:100%;margin:0}
 .hero .hero-copy>.actions{order:4}
 .hero .hero-copy>div:not(.actions):not(.ribbon){order:5}
 .hero .hero-copy>.ribbon{order:6}
 .catalog .service-link{display:flex;flex-direction:column}
 .catalog .service-link>.tag{order:0}
 .catalog .service-link>h3{order:1}
 .catalog .service-link>p{order:2}
 .catalog .service-link>img{order:3;margin-top:4px}
 .catalog .service-link>.card-cta{order:4}
}

:root{--red:#276183;--deep:#163e59;--blue:#276183;--ink:#223d50;--muted:#536d7c;--cream:#f4fbff;--line:#d6e9f3}
.header{background:#fbfdff!important;border-color:#d8eaf4!important}.header .brand{color:#173e59!important}.brand small{color:#49738b!important}.hero{background:radial-gradient(ellipse at 10% 6%,#d1efff 0,transparent 57%),radial-gradient(ellipse at 95% 95%,#c7e7f7 0,transparent 51%),linear-gradient(125deg,#f8fcff,#e5f4fc)!important}.hero h1{color:#163d57!important}.hero .hero-lead{color:#36566c!important}.hero .eyebrow{color:#396983!important;background:transparent!important}.hero .photo-panel{background:#d7ecf8!important;border-color:#c8e2f0!important;box-shadow:0 20px 45px #254c6414!important}.btn,.phone,.contact-panel .btn[data-contact]{background:#bce6fa!important;border-color:#9bcee9!important;color:#163e59!important}.btn:hover,.phone:hover{background:#a8ddf7!important}.btn-outline,.hero .btn-outline{background:#fff!important;border-color:#9bc4dc!important;color:#255879!important}.hero .ribbon,.hero .ribbon span{background:#f6fcff!important;border-color:#c9e2f1!important;color:#315f7a!important}.tag{background:#e6f5fe!important;color:#2a6183!important}.card-cta{color:#235f86!important}.section.soft{background:#f4faff!important}.catalog .card img{background:#eaf6fd!important}.contact-panel{background:linear-gradient(130deg,#e8f7ff,#f8fcff)!important;border-color:#bcddeb!important}.contact-panel h3{color:#224c68!important}.contact-status{color:#526e80!important}.directory a,.related a,.area-links a{border-color:#c6deed!important;color:#285e80!important;background:#fff!important}.up{background:#285e80!important}footer{background:#183b53!important}footer a,footer .contact-status{color:#d4ecfb!important}footer .btn{color:#163e59!important}.context-note{background:#edf8ff!important;border-color:#b6d9ee!important}.area-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.area-links a{padding:9px 13px;border:1px solid;border-radius:12px}.map-close{margin:12px 0}.brand{font-size:clamp(13px,1.12vw,17px)!important}.legal-copy{max-width:1000px}.legal-copy h2{margin-top:30px}

/* Identidad azul del logotipo. */
.header .logo .brand,.header .logo .brand small{color:#245b7b!important}

/* Electricistas Galicia: amarillo, grafito y blanco. */
:root{--red:#715900;--deep:#3f350e;--blue:#715900;--ink:#2c2b22;--muted:#68634e;--cream:#fffdf4;--line:#e9dfbd}
body{color:#2c2b22;background:#fff}.header{background:#fffef9!important;border-color:#eadfae!important}.header .logo .brand,.header .logo .brand small{color:#534514!important}.brand small{display:block!important}.hero{background:radial-gradient(ellipse at 10% 6%,#fff0ad,transparent 57%),linear-gradient(125deg,#fffefa,#fff5cd)!important}.hero h1{color:#3c3518!important}.hero .hero-lead{color:#514a33!important}.hero .eyebrow{color:#74601a!important;background:transparent!important}.hero .photo-panel{background:#f6dc79!important;border-color:#e7c34e!important;box-shadow:0 20px 45px #594a1414!important}.btn,.phone,.contact-panel .btn[data-contact]{background:#f4ce35!important;border-color:#d9b322!important;color:#30290e!important}.btn:hover,.phone:hover{background:#e9bd1e!important;color:#252007!important}.btn-outline,.hero .btn-outline{background:#fff!important;border-color:#c4aa48!important;color:#655114!important}.hero .ribbon,.hero .ribbon span{background:#fffbed!important;border-color:#e6d491!important;color:#5d501e!important}.tag{background:#fff2b8!important;color:#665214!important}.card-cta{color:#715800!important}.section.soft{background:#fffcf0!important}.catalog .card img{background:#fff6d0!important}.catalog .card{border-top-color:#d9b322!important}.contact-panel{background:linear-gradient(130deg,#fff3bd,#fffdf6)!important;border-color:#e5cf78!important}.contact-panel h3{color:#584718!important}.contact-status{color:#6c603a!important}.directory a,.related a,.area-links a{border-color:#e7d99f!important;color:#655114!important;background:#fff!important}.up{background:#5b4b17!important}footer{background:#302e22!important}footer a,footer .contact-status{color:#fff0b8!important}footer .btn{color:#30290e!important}.context-note{background:#fff6d5!important;border-color:#d3b331!important}.breadcrumbs{background:#fffdf4!important;color:#665d3b!important}.service-detail{border-left-color:#d6b535!important}.service-detail h3{color:#51431a!important}.section p{max-width:100%}.map-intro{padding:28px}.section .grid3 .card{padding:24px}.section ul.scope{line-height:1.9;padding-left:23px}.hero>.wrap{width:min(1240px,100%)!important}.map-shell iframe{width:100%;height:390px;border:0;display:block}.contact-panel .contact-group a{min-width:130px}.resource-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.resource-links a{padding:18px;border:1px solid #e5d9a8;border-radius:12px;color:#665114;background:#fff}.section h2{max-width:33ch}.section h3{margin-top:8px}.intro-actions{display:flex;gap:12px;flex-wrap:wrap}.header .logo img{width:64px!important;height:64px!important}.header-tools{min-width:0}.card p{font-size:16px}.catalog .service-link{padding:24px!important}.catalog .service-link img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px;margin:12px 0}.catalog .service-link h3{font-size:23px}.legal-copy p{max-width:76ch}.legal-copy h2{margin-top:30px}.hero-copy>.contact-group-wrap{margin-top:15px}.hero .photo-panel img{aspect-ratio:3/2!important;object-fit:cover!important}.contact-group{display:flex;gap:10px;flex-wrap:wrap}.hero .contact-status{max-width:45ch}footer .contact-group-wrap{margin-top:20px}.footer-grid>div{min-width:0}body{padding-top:var(--header-height,100px)!important}.header-inner{min-height:96px!important}.header .brand{font-size:16px!important}.section{scroll-margin-top:calc(var(--header-height,100px) + 15px)}
@media(max-width:1100px){.header .nav{display:none!important}.header .burger{display:block!important}.header-inner{gap:12px}.header-tools{display:flex;align-items:center;gap:12px}}
@media(max-width:760px){.header-inner{flex-wrap:wrap!important;gap:10px!important;padding-top:12px;padding-bottom:12px}.logo{gap:10px!important}.header .logo img{width:48px!important;height:48px!important}.header .brand{font-size:14px!important}.header .brand small{font-size:10px!important}.header-tools{width:100%;justify-content:space-between}.header-tools>.contact-group{flex:1}.header-tools .phone{width:100%;justify-content:center;min-height:38px!important;padding:7px 15px!important}.burger summary{padding:8px 12px!important;background:#fff5cb;border:1px solid #e6d07a;border-radius:8px}.hero>.wrap{gap:18px!important}.hero .eyebrow{font-size:11px}.hero .hero-copy>h1{font-size:34px!important;line-height:1.12!important}.hero .hero-lead{font-size:17px!important;line-height:1.7!important}.hero .hero-copy>.ribbon{display:flex!important;flex-wrap:wrap;gap:6px}.hero .ribbon span{font-size:12px!important;padding:6px 9px!important}.hero .contact-group-wrap{order:5}.hero .hero-copy>.actions{margin-top:6px}.resource-links{grid-template-columns:1fr}.map-shell iframe{height:310px}.section h2{font-size:29px}.section{padding:43px 0!important}.catalog .service-link img{order:3}.catalog .service-link p{order:2}.catalog .service-link h3{order:1}.catalog .service-link .tag{order:0}.catalog .service-link .card-cta{order:4}.hero .photo-panel{margin-top:3px!important}.footer-grid{grid-template-columns:1fr!important}.contact-group .btn{flex:1;min-width:115px}.map-close{margin-top:14px}.wrap{width:calc(100% - 34px)!important}.brand{white-space:normal}.header .logo span{padding-left:0!important;border:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

main{padding-top:0!important;margin-top:0!important}.brand,.nav,.burger{font-family:Arial,Helvetica,sans-serif!important}
