@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@600;700&display=swap");

:root {
  --navy: #06101f;
  --navy-2: #0d2444;
  --blue: #0d6efd;
  --cyan: #55d6ff;
  --white: #ffffff;
  --ice: #f4f8fd;
  --text: #142133;
  --muted: #65768d;
  --line: rgba(12, 31, 56, 0.12);
  --line-light: rgba(255,255,255,0.14);
  --green: #25d366;
  --shadow: 0 24px 70px rgba(7,18,37,0.18);
  --soft: 0 16px 40px rgba(8,20,38,0.09);
  --max: 1220px;
  --max-wide: 1560px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--ice);
  line-height: 1.6;
}

body.menu-open {
  overflow: hidden;
}

img,
svg {
  display: block;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

h1,
h2,
h3,
strong {
  font-family: "Space Grotesk", "Inter", sans-serif;
  letter-spacing: -0.035em;
}

h1,
h2,
h3,
p,
ul {
  margin: 0;
}

h1 {
  font-size: clamp(2.05rem, 3.6vw, 4.25rem);
  line-height: 0.98;
}

h2 {
  font-size: clamp(1.85rem, 3vw, 3.35rem);
  line-height: 1.02;
}

h3 {
  font-size: clamp(1.3rem, 2vw, 2rem);
  line-height: 1.08;
}

.container {
  width: min(calc(100% - 36px), var(--max));
  margin: 0 auto;
}

.container-wide {
  width: min(calc(100% - 36px), var(--max-wide));
  margin: 0 auto;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 12px;
  z-index: 9999;
}

.skip-link:focus {
  left: 12px;
  background: var(--white);
  color: var(--navy);
  padding: 10px 14px;
  border-radius: 999px;
}

.site-header {
  color: var(--white);
  background: var(--navy);
}

.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(7, 18, 37, 0.88);
  border-bottom: 1px solid rgba(255,255,255,0.09);
  backdrop-filter: blur(18px);
}

.navbar__inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.brand img {
  width: 92px;
  height: auto;
  filter: drop-shadow(0 12px 22px rgba(0,0,0,0.35));
}

.brand span {
  display: grid;
  gap: 2px;
}

.brand strong {
  color: var(--white);
  font-size: 1rem;
}

.brand small {
  color: rgba(255,255,255,0.68);
  font-size: 0.8rem;
}

.menu {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 13px;
  border-radius: 999px;
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  font-weight: 800;
  transition: 0.2s ease;
}

.menu a:hover {
  color: var(--white);
  background: rgba(255,255,255,0.08);
}

.menu__cta {
  color: var(--white) !important;
  background: linear-gradient(135deg, var(--blue), var(--cyan)) !important;
  box-shadow: 0 16px 34px rgba(13,110,253,0.28);
}

.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 14px;
  background: rgba(255,255,255,0.08);
}

.menu-toggle span {
  width: 22px;
  height: 2px;
  margin: 5px auto;
  background: var(--white);
  border-radius: 999px;
}

.hero {
  position: relative;
  min-height: clamp(430px, 48vw, 620px);
  overflow: hidden;
  display: grid;
  align-items: center;
}

.hero__media {
  position: absolute;
  inset: 0;
  margin: 0;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  filter: saturate(1.02) contrast(1.02);
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,11,22,0.88) 0%, rgba(5,11,22,0.66) 30%, rgba(5,11,22,0.20) 58%, rgba(5,11,22,0.04) 100%),
    linear-gradient(180deg, rgba(5,11,22,0.06) 0%, rgba(5,11,22,0.30) 100%);
}

.hero__content {
  position: relative;
  z-index: 2;
  padding: 34px 0;
}

.hero__text {
  max-width: 640px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  color: rgba(255,255,255,0.95);
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(10px);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.eyebrow::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 20px var(--cyan);
}

.eyebrow--light {
  color: var(--blue);
  background: rgba(13,110,253,0.08);
  border-color: rgba(13,110,253,0.14);
}

.hero h1 {
  margin-top: 14px;
  color: var(--white);
  text-shadow: 0 16px 42px rgba(0,0,0,0.45);
}

.hero p {
  margin-top: 14px;
  max-width: 560px;
  color: rgba(255,255,255,0.82);
  font-size: 1.02rem;
  text-shadow: 0 12px 28px rgba(0,0,0,0.35);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 22px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 20px;
  border: 0;
  border-radius: 999px;
  font-weight: 900;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn--primary {
  color: var(--white);
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  box-shadow: 0 18px 38px rgba(13,110,253,0.32);
}

.btn--light {
  color: var(--navy);
  background: var(--white);
  box-shadow: 0 18px 36px rgba(0,0,0,0.18);
}

.btn--glass {
  color: var(--white);
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.24);
  backdrop-filter: blur(10px);
}

.btn--full {
  width: 100%;
}

.quick-actions {
  position: relative;
  z-index: 4;
  margin-top: -28px;
}

.quick-actions__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.quick-actions a {
  display: grid;
  gap: 5px;
  padding: 18px;
  border-radius: 22px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
  text-decoration: none;
  transition: 0.22s ease;
}

.quick-actions a:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.quick-actions span {
  color: var(--blue);
  font-weight: 900;
  font-size: 0.8rem;
}

.quick-actions strong {
  color: var(--navy);
}

.quick-actions small {
  color: var(--muted);
}

.section {
  padding: 84px 0;
}

.section-heading {
  max-width: 860px;
  margin: 0 auto 38px;
  text-align: center;
}

.section-heading h2 {
  margin-top: 12px;
  color: var(--navy);
}

.section-heading p {
  margin-top: 12px;
  color: var(--muted);
}

.intro,
.process,
.faq,
.contact {
  background: linear-gradient(180deg, #f4f8fd, #ffffff);
}

.split,
.contact-grid,
.faq-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 30px;
  align-items: center;
}

.split--image-left {
  grid-template-columns: 1.1fr 0.9fr;
}

.split__content h2 {
  margin-top: 14px;
  color: var(--navy);
}

.split__content p {
  margin-top: 14px;
  color: var(--muted);
}

.image-card {
  margin: 0;
  overflow: hidden;
  border-radius: 30px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.image-card img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.image-card figcaption {
  padding: 14px 18px;
  color: var(--muted);
  background: var(--white);
  border-top: 1px solid var(--line);
  font-size: 0.92rem;
  font-weight: 700;
}

.service-list {
  display: grid;
  gap: 30px;
}

.service-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.65fr);
  align-items: stretch;
  overflow: hidden;
  border-radius: 34px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.service-card--reverse {
  grid-template-columns: minmax(360px, 0.65fr) minmax(0, 1.35fr);
}

.service-card--reverse figure {
  order: 2;
}

.service-card .image-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.service-card__content {
  padding: clamp(26px, 3vw, 42px);
  align-self: center;
}

.service-card__content span {
  display: inline-block;
  color: var(--blue);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
  margin-bottom: 10px;
}

.service-card h3 {
  color: var(--navy);
  margin-bottom: 12px;
}

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

.service-card ul {
  margin-top: 16px;
  padding-left: 18px;
  color: var(--text);
  display: grid;
  gap: 8px;
}

.service-card li::marker {
  color: var(--blue);
}

.service-card__content a {
  margin-top: 20px;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 999px;
  color: var(--white);
  background: var(--navy);
  text-decoration: none;
  font-weight: 900;
  transition: 0.2s ease;
}

.service-card__content a:hover {
  background: var(--blue);
  transform: translateY(-2px);
}

.dpf,
.fleets {
  color: var(--white);
  background:
    radial-gradient(circle at 85% 0%, rgba(13,110,253,0.28), transparent 24rem),
    linear-gradient(135deg, #050b16, #0b213b);
}

.dpf .split__content h2,
.fleets .split__content h2 {
  color: var(--white);
}

.dpf .split__content p,
.fleets .split__content p {
  color: rgba(255,255,255,0.72);
}

.image-card--dark {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.14);
}

.image-card--dark figcaption {
  color: rgba(255,255,255,0.78);
  background: rgba(5,11,22,0.74);
  border-top-color: rgba(255,255,255,0.12);
}

.symptoms,
.fleet-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.symptoms article,
.fleet-cards article {
  padding: 18px;
  border-radius: 20px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
}

.symptoms strong,
.fleet-cards strong {
  display: block;
  color: var(--white);
  margin-bottom: 6px;
}

.symptoms span,
.fleet-cards span {
  color: rgba(255,255,255,0.68);
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.process-grid article {
  padding: 24px;
  border-radius: 24px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.process-grid span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  color: var(--white);
  font-weight: 900;
}

.process-grid strong {
  display: block;
  color: var(--navy);
  margin-bottom: 8px;
}

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

.faq-copy h2 {
  margin-top: 14px;
  color: var(--navy);
}

.faq-list {
  display: grid;
  gap: 12px;
}

.faq-item {
  width: 100%;
  text-align: left;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  box-shadow: var(--soft);
  color: var(--text);
}

.faq-item span {
  font-weight: 900;
  color: var(--navy);
}

.faq-item strong {
  float: right;
  color: var(--blue);
}

.faq-item p {
  display: none;
  margin-top: 12px;
  color: var(--muted);
}

.faq-item.open p {
  display: block;
}

.contact-card,
.map-card {
  overflow: hidden;
  border-radius: 30px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.contact-card {
  padding: 30px;
}

.contact-card h2 {
  margin-top: 14px;
  color: var(--navy);
}

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

.hours article {
  padding: 16px;
  border-radius: 18px;
  background: #f5f9fd;
  border: 1px solid var(--line);
}

.hours span {
  display: block;
  color: var(--muted);
  font-size: 0.88rem;
  margin-bottom: 4px;
}

.hours strong {
  color: var(--blue);
  font-size: 1.05rem;
}

.map-card iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 600px;
}

.form__row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

label {
  display: grid;
  gap: 7px;
  margin-bottom: 12px;
}

label span {
  color: var(--navy);
  font-weight: 800;
  font-size: 0.92rem;
}

input,
select,
textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid rgba(12,31,56,0.16);
  border-radius: 16px;
  color: var(--text);
  background: #fbfdff;
  outline: none;
  transition: 0.2s ease;
}

textarea {
  min-height: 118px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(13,110,253,0.55);
  box-shadow: 0 0 0 4px rgba(13,110,253,0.12);
}

.footer {
  padding: 34px 0 92px;
  color: rgba(255,255,255,0.72);
  background: var(--navy);
}

.footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.footer img {
  width: 92px;
  height: auto;
  margin-bottom: 8px;
}

.whatsapp {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1000;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  color: var(--white);
  background: var(--green);
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 18px 38px rgba(37,211,102,0.34);
}

.mobile-bar {
  display: none;
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1180px) {
  .service-card,
  .service-card--reverse,
  .split,
  .split--image-left,
  .contact-grid,
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .service-card--reverse figure {
    order: 0;
  }

  .quick-actions__grid,
  .process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .map-card iframe {
    min-height: 450px;
  }
}

@media (max-width: 860px) {
  .container,
  .container-wide {
    width: min(calc(100% - 26px), var(--max-wide));
  }

  .navbar__inner {
    min-height: 72px;
  }

  .brand img {
    width: 76px;
  }

  .brand small {
    display: none;
  }

  .menu-toggle {
    display: block;
  }

  .menu {
    position: fixed;
    top: 80px;
    left: 13px;
    right: 13px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 14px;
    border-radius: 22px;
    background: rgba(5,11,22,0.98);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: var(--shadow);
  }

  .menu.open {
    display: flex;
  }

  .menu a {
    justify-content: flex-start;
  }

  .hero {
    min-height: 500px;
    align-items: end;
  }

  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(5,11,22,0.08) 0%, rgba(5,11,22,0.46) 38%, rgba(5,11,22,0.92) 100%);
  }

  .hero__content {
    padding: 26px 0;
  }

  .hero__text {
    max-width: 100%;
  }

  .hero h1 {
    font-size: clamp(2rem, 8vw, 3.05rem);
  }

  .hero__actions {
    flex-direction: column;
    margin-top: 18px;
  }

  .hero__actions .btn {
    width: 100%;
  }

  .section {
    padding: 62px 0;
  }

  .quick-actions__grid,
  .symptoms,
  .fleet-cards,
  .process-grid,
  .hours,
  .form__row {
    grid-template-columns: 1fr;
  }

  .service-card__content,
  .contact-card {
    padding: 24px;
  }

  .whatsapp {
    display: none;
  }

  .mobile-bar {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 1000;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 8px;
    border-radius: 20px;
    background: rgba(5,11,22,0.90);
    backdrop-filter: blur(18px);
    box-shadow: var(--shadow);
  }

  .mobile-bar a {
    min-height: 46px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--white);
    background: rgba(255,255,255,0.08);
    text-decoration: none;
    font-weight: 900;
  }

  .mobile-bar a:nth-child(2) {
    background: var(--green);
  }

  .footer {
    padding-bottom: 100px;
  }

  .footer__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 560px) {
  h1 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .btn {
    width: 100%;
  }

  .hero {
    min-height: 460px;
  }

  .map-card iframe {
    min-height: 340px;
  }

  .image-card {
    border-radius: 22px;
  }
}

/* ===== Mejora DPF: sección más clara y con imagen protagonista ===== */
.section-heading--light h2,
.section-heading--light p {
  color: var(--white);
}

.section-heading--light p {
  max-width: 920px;
  margin-inline: auto;
  color: rgba(255,255,255,0.76);
}

.dpf--featured {
  padding-top: 84px;
}

.image-card--featured {
  margin-top: 26px;
  overflow: hidden;
  border-radius: 34px;
}

.image-card--featured img {
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #ffffff;
}

.image-card--featured figcaption {
  font-size: 0.98rem;
  padding: 16px 22px;
}

.dpf__info {
  margin-top: 28px;
  display: grid;
  gap: 24px;
}

.dpf__intro {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.dpf__intro h3 {
  color: var(--white);
  margin-bottom: 12px;
  font-size: clamp(1.4rem, 2vw, 2rem);
}

.dpf__intro p {
  color: rgba(255,255,255,0.76);
}

.symptoms--clear {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 0;
}

.symptoms--clear article {
  min-height: 146px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 16px 36px rgba(0,0,0,0.14);
}

.symptoms--clear strong {
  font-size: 1.02rem;
}

.symptoms--clear span {
  font-size: 0.98rem;
  line-height: 1.55;
}

.dpf__cta {
  display: flex;
  justify-content: center;
}

@media (max-width: 1180px) {
  .symptoms--clear {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 860px) {
  .dpf--featured {
    padding-top: 62px;
  }

  .image-card--featured {
    margin-top: 20px;
    border-radius: 24px;
  }

  .dpf__info {
    margin-top: 22px;
  }

  .symptoms--clear {
    grid-template-columns: 1fr;
  }

  .image-card--featured figcaption {
    padding: 14px 16px;
    font-size: 0.92rem;
  }
}

/* ===== Sección Quiénes somos / Nuestra diferencia ===== */
.about {
  background:
    radial-gradient(circle at 92% 12%, rgba(13,110,253,0.12), transparent 24rem),
    linear-gradient(180deg, #ffffff, #f4f8fd);
}

.about__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(420px, 0.84fr);
  gap: 34px;
  align-items: center;
}

.about__image {
  box-shadow: 0 28px 80px rgba(7,18,37,0.18);
}

.about__image img {
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #ffffff;
}

.about__content h2 {
  margin-top: 14px;
  color: var(--navy);
}

.about__content p {
  margin-top: 14px;
  color: var(--muted);
  font-size: 1rem;
}

.about__values {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.about__values article {
  padding: 18px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.about__values strong {
  display: block;
  color: var(--navy);
  margin-bottom: 6px;
}

.about__values span {
  color: var(--muted);
  font-size: 0.94rem;
}

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

  .about__image {
    max-width: 1050px;
    margin-inline: auto;
  }
}

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

/* ===== Ajuste compacto para sección Quiénes somos ===== */
.about--compact {
  padding: 54px 0;
}

.about--compact .about__grid {
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.78fr);
  gap: 26px;
  align-items: center;
}

.about--compact .about__image {
  max-width: 760px;
  justify-self: end;
  border-radius: 24px;
}

.about--compact .about__image img {
  width: 100%;
  height: auto;
}

.about--compact .about__image figcaption {
  padding: 11px 15px;
  font-size: 0.84rem;
}

.about--compact .about__content {
  max-width: 650px;
}

.about--compact .about__content h2 {
  font-size: clamp(1.7rem, 2.35vw, 2.75rem);
  line-height: 1.05;
}

.about--compact .about__content p {
  margin-top: 12px;
  font-size: 0.96rem;
}

.about__values--compact {
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 18px;
}

.about__values--compact article {
  padding: 14px;
  border-radius: 16px;
}

.about__values--compact strong {
  margin-bottom: 4px;
  font-size: 0.95rem;
}

.about__values--compact span {
  font-size: 0.88rem;
}

@media (max-width: 1180px) {
  .about--compact .about__grid {
    grid-template-columns: 1fr;
  }

  .about--compact .about__image {
    max-width: 860px;
    justify-self: center;
  }

  .about--compact .about__content {
    max-width: 860px;
    margin-inline: auto;
  }
}

@media (max-width: 860px) {
  .about--compact {
    padding: 44px 0;
  }

  .about__values--compact {
    grid-template-columns: 1fr;
  }
}

/* ===== Dos sucursales ===== */
.contact-heading {
  max-width: 900px;
  text-align: center;
  margin-bottom: 26px;
}

.contact-heading h2 {
  margin-top: 14px;
  color: var(--navy);
}

.contact-heading p {
  margin-top: 12px;
  color: var(--muted);
}

.location-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-bottom: 24px;
}

.location-card {
  padding: 24px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.location-card span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--blue);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
}

.location-card h3 {
  color: var(--navy);
  margin-bottom: 8px;
}

.location-card p {
  color: var(--muted);
  margin-bottom: 16px;
}

.location-card a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  color: var(--white);
  background: var(--navy);
  text-decoration: none;
  font-weight: 900;
  transition: 0.2s ease;
}

.location-card a:hover {
  background: var(--blue);
  transform: translateY(-2px);
}

.contact-grid--branches {
  align-items: stretch;
}

.maps-stack {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
}

.maps-stack .map-card iframe {
  min-height: 290px;
}

@media (max-width: 1180px) {
  .location-cards,
  .contact-grid--branches {
    grid-template-columns: 1fr;
  }

  .maps-stack {
    grid-template-rows: auto;
  }
}

@media (max-width: 860px) {
  .location-card {
    padding: 20px;
  }

  .maps-stack .map-card iframe {
    min-height: 260px;
  }
}

/* ===== Contacto compacto: agenda y mapas más pequeños ===== */
.contact {
  padding: 52px 0;
}

.contact-heading {
  max-width: 760px;
  margin-bottom: 18px;
}

.contact-heading h2 {
  font-size: clamp(1.7rem, 2.4vw, 2.65rem);
}

.contact-heading p {
  margin-top: 8px;
  font-size: 0.98rem;
}

.location-cards {
  gap: 12px;
  margin-bottom: 18px;
}

.location-card {
  padding: 18px;
  border-radius: 22px;
}

.location-card span {
  margin-bottom: 6px;
  font-size: 0.72rem;
}

.location-card h3 {
  font-size: clamp(1.1rem, 1.55vw, 1.45rem);
  margin-bottom: 5px;
}

.location-card p {
  margin-bottom: 12px;
  font-size: 0.94rem;
}

.location-card a {
  min-height: 40px;
  padding: 8px 14px;
  font-size: 0.92rem;
}

.contact-grid--branches {
  grid-template-columns: 1.05fr 0.95fr;
  gap: 16px;
}

.contact-card {
  padding: 24px;
}

.contact-card h2 {
  font-size: clamp(1.45rem, 2.1vw, 2.25rem);
}

.hours {
  margin: 16px 0;
  gap: 10px;
}

.hours article {
  padding: 12px;
  border-radius: 16px;
}

.hours strong {
  font-size: 0.98rem;
}

label {
  margin-bottom: 9px;
}

input,
select,
textarea {
  min-height: 46px;
  padding: 11px 13px;
  border-radius: 14px;
}

textarea {
  min-height: 86px;
}

.maps-stack {
  gap: 12px;
}

.maps-stack .map-card {
  border-radius: 22px;
}

.maps-stack .map-card iframe {
  min-height: 220px;
  height: 220px;
}

@media (max-width: 1180px) {
  .contact-grid--branches {
    grid-template-columns: 1fr;
  }

  .maps-stack {
    grid-template-columns: repeat(2, 1fr);
  }

  .maps-stack .map-card iframe {
    min-height: 210px;
    height: 210px;
  }
}

@media (max-width: 860px) {
  .contact {
    padding: 44px 0;
  }

  .location-cards {
    gap: 10px;
  }

  .contact-card {
    padding: 20px;
  }

  .maps-stack {
    grid-template-columns: 1fr;
  }

  .maps-stack .map-card iframe {
    min-height: 190px;
    height: 190px;
  }
}

/* ===== Contacto profesional separado: sucursales/mapas + formulario ===== */
.branches {
  padding: 58px 0 48px;
  background: linear-gradient(180deg, #f4f8fd, #ffffff);
}

.branches .section-heading {
  margin-bottom: 24px;
}

.location-cards--professional {
  margin-bottom: 22px;
}

.maps-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.map-block {
  overflow: hidden;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.map-block .map-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.map-block .map-card iframe {
  display: block;
  width: 100%;
  height: 260px;
  min-height: 260px;
}

.map-block__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-top: 1px solid var(--line);
}

.map-block__label strong {
  color: var(--navy);
}

.map-block__label span {
  color: var(--muted);
  font-size: 0.92rem;
  text-align: right;
}

.contact-form-section {
  padding: 56px 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(13,110,253,0.12), transparent 24rem),
    linear-gradient(180deg, #ffffff, #f4f8fd);
}

.contact-form-layout {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 24px;
  align-items: center;
}

.contact-form-copy h2 {
  margin-top: 14px;
  color: var(--navy);
}

.contact-form-copy p {
  margin-top: 12px;
  color: var(--muted);
  max-width: 560px;
}

.hours--professional {
  max-width: 520px;
}

.contact-card--standalone {
  max-width: 760px;
  width: 100%;
  justify-self: end;
  padding: 26px;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(7,18,37,0.12);
}

.contact-card--standalone .form {
  margin: 0;
}

@media (max-width: 1180px) {
  .maps-grid,
  .contact-form-layout {
    grid-template-columns: 1fr;
  }

  .contact-card--standalone {
    justify-self: stretch;
    max-width: none;
  }

  .contact-form-copy {
    max-width: 820px;
  }

  .map-block .map-card iframe {
    height: 240px;
    min-height: 240px;
  }
}

@media (max-width: 860px) {
  .branches {
    padding: 46px 0 38px;
  }

  .contact-form-section {
    padding: 44px 0;
  }

  .map-block .map-card iframe {
    height: 210px;
    min-height: 210px;
  }

  .map-block__label {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .map-block__label span {
    text-align: left;
  }

  .contact-card--standalone {
    padding: 20px;
    border-radius: 22px;
  }
}

/* ===== Ajuste único: menos margen entre secciones ===== */
/* No cambia el diseño, colores, columnas, imágenes, mapas ni formulario. */

.section {
  padding-top: 58px;
  padding-bottom: 58px;
}

.about--compact {
  padding-top: 46px;
  padding-bottom: 46px;
}

.dpf--featured {
  padding-top: 58px;
  padding-bottom: 58px;
}

.branches {
  padding-top: 50px;
  padding-bottom: 42px;
}

.contact-form-section {
  padding-top: 48px;
  padding-bottom: 54px;
}

.section-heading {
  margin-bottom: 26px;
}

.branches .section-heading {
  margin-bottom: 20px;
}

.quick-actions {
  margin-top: -24px;
}

@media (max-width: 860px) {
  .section {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .about--compact,
  .dpf--featured,
  .branches,
  .contact-form-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .section-heading {
    margin-bottom: 22px;
  }
}

/* ===== Agenda premium: más llamativa, simétrica y profesional ===== */
.contact-form-section--premium {
  background:
    radial-gradient(circle at 10% 10%, rgba(13,110,253,0.09), transparent 22rem),
    radial-gradient(circle at 92% 90%, rgba(85,214,255,0.08), transparent 20rem),
    linear-gradient(180deg, #ffffff, #f4f8fd);
}

.section-heading--agenda {
  max-width: 920px;
  text-align: center;
  margin-bottom: 24px;
}

.contact-form-layout--premium {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: stretch;
}

.contact-panel,
.contact-card--premium {
  height: 100%;
  border-radius: 30px;
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.contact-panel--info {
  padding: 28px;
  background:
    linear-gradient(180deg, rgba(7,18,37,0.98), rgba(11,33,59,0.98));
  color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.contact-panel__header h3 {
  color: var(--white);
  margin-bottom: 10px;
  font-size: clamp(1.35rem, 1.9vw, 2rem);
}

.contact-panel__header p {
  color: rgba(255,255,255,0.74);
  font-size: 0.96rem;
  max-width: 52ch;
}

.contact-highlights {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.contact-highlights article {
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
}

.contact-highlights strong {
  display: block;
  color: var(--white);
  margin-bottom: 5px;
}

.contact-highlights span {
  color: rgba(255,255,255,0.72);
  font-size: 0.92rem;
  line-height: 1.5;
}

.hours--boxed {
  margin-top: 18px;
}

.hours--boxed article {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.10);
}

.hours--boxed span {
  color: rgba(255,255,255,0.66);
}

.hours--boxed strong {
  color: var(--white);
}

.contact-card--premium {
  padding: 26px;
  background: var(--white);
}

.contact-card__intro {
  margin-bottom: 16px;
}

.contact-card__intro h3 {
  color: var(--navy);
  margin-bottom: 6px;
  font-size: clamp(1.28rem, 1.75vw, 1.8rem);
}

.contact-card__intro p {
  color: var(--muted);
  font-size: 0.94rem;
}

.contact-card--premium .form {
  display: grid;
  gap: 0;
}

.contact-card--premium .form__row {
  gap: 12px;
}

.contact-card--premium label {
  margin-bottom: 12px;
}

.contact-card--premium input,
.contact-card--premium select,
.contact-card--premium textarea {
  background: #fbfdff;
}

.contact-card--premium textarea {
  min-height: 96px;
}

.contact-card--premium .btn--full {
  margin-top: 6px;
  min-height: 48px;
}

@media (max-width: 1180px) {
  .contact-form-layout--premium {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .section-heading--agenda {
    margin-bottom: 20px;
  }

  .contact-panel--info,
  .contact-card--premium {
    padding: 20px;
    border-radius: 24px;
  }

  .contact-card__intro {
    margin-bottom: 12px;
  }

  .contact-card--premium .form__row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* ===== Footer compacto ===== */
.footer {
  padding: 14px 0 18px;
}

.footer__inner {
  min-height: auto;
  align-items: center;
}

.footer img {
  width: 56px;
  margin-bottom: 0;
}

.footer__inner > div {
  display: flex;
  align-items: center;
  gap: 14px;
}

.footer p {
  font-size: 0.9rem;
  line-height: 1.35;
}

.footer__inner > p {
  text-align: right;
  margin-left: auto;
}

@media (max-width: 860px) {
  .footer {
    padding: 14px 0 76px;
  }

  .footer__inner {
    gap: 10px;
  }

  .footer__inner > div {
    gap: 10px;
  }

  .footer img {
    width: 50px;
  }

  .footer p {
    font-size: 0.82rem;
  }

  .footer__inner > p {
    text-align: left;
    margin-left: 0;
  }
}

@media (max-width: 560px) {
  .footer__inner > div {
    align-items: flex-start;
  }
}

/* ===== Agenda ajustada: un poco más compacta y simétrica ===== */
.contact-form-section--premium {
  padding-top: 46px;
  padding-bottom: 46px;
}

.section-heading--agenda {
  max-width: 820px;
  margin-bottom: 18px;
}

.section-heading--agenda h2 {
  font-size: clamp(1.55rem, 2.2vw, 2.55rem);
}

.section-heading--agenda p {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

.contact-form-layout--premium {
  max-width: 1120px;
  gap: 18px;
}

.contact-panel--info,
.contact-card--premium {
  padding: 22px;
  border-radius: 26px;
}

.contact-panel__header h3,
.contact-card__intro h3 {
  font-size: clamp(1.2rem, 1.55vw, 1.65rem);
}

.contact-panel__header p,
.contact-card__intro p {
  font-size: 0.91rem;
}

.contact-highlights {
  gap: 9px;
  margin-top: 14px;
}

.contact-highlights article {
  padding: 13px 15px;
  border-radius: 17px;
}

.contact-highlights span {
  font-size: 0.88rem;
}

.hours--boxed {
  margin-top: 14px;
}

.contact-card__intro {
  margin-bottom: 12px;
}

.contact-card--premium label {
  margin-bottom: 9px;
}

.contact-card--premium input,
.contact-card--premium select,
.contact-card--premium textarea {
  min-height: 45px;
  padding: 10px 12px;
}

.contact-card--premium textarea {
  min-height: 82px;
}

.contact-card--premium .btn--full {
  min-height: 46px;
}

@media (max-width: 860px) {
  .contact-form-section--premium {
    padding-top: 38px;
    padding-bottom: 40px;
  }

  .section-heading--agenda {
    margin-bottom: 16px;
  }

  .contact-panel--info,
  .contact-card--premium {
    padding: 18px;
    border-radius: 22px;
  }
}

/* ===== Extras finales: compromiso, testimonios, WhatsApp premium y privacidad ===== */
.testimonials {
  background:
    radial-gradient(circle at 90% 12%, rgba(13,110,253,0.10), transparent 22rem),
    linear-gradient(180deg, #f4f8fd, #ffffff);
}

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

.testimonial-grid article {
  padding: 24px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.testimonial-grid p {
  color: var(--text);
  font-weight: 600;
  margin-bottom: 18px;
}

.testimonial-grid strong {
  display: block;
  color: var(--navy);
}

.testimonial-grid span {
  display: block;
  color: var(--blue);
  font-size: 0.9rem;
  font-weight: 800;
  margin-top: 4px;
}

.form-note {
  margin-top: 10px;
  color: var(--muted);
  font-size: 0.82rem;
  text-align: center;
}

.whatsapp {
  min-height: 50px;
  padding: 11px 18px;
  gap: 8px;
  background: linear-gradient(135deg, #25d366, #1fb855);
  box-shadow: 0 18px 40px rgba(37,211,102,0.32);
}

.whatsapp::before {
  content: "✆";
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  font-size: 0.9rem;
}

.footer a {
  color: rgba(255,255,255,0.82);
  font-weight: 800;
  text-decoration: none;
}

.footer a:hover {
  color: var(--white);
  text-decoration: underline;
}

.privacy-page {
  min-height: 100vh;
  padding: 48px 0;
  background: linear-gradient(180deg, #f4f8fd, #ffffff);
}

.privacy-card {
  max-width: 860px;
  padding: 34px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.privacy-card h1 {
  color: var(--navy);
  margin: 18px 0;
}

.privacy-card h2 {
  color: var(--navy);
  font-size: 1.35rem;
  margin-top: 24px;
  margin-bottom: 8px;
}

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

.privacy-back {
  display: inline-flex;
  color: var(--blue);
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 1180px) {
  .commitment-grid {
    grid-template-columns: repeat(2, 1fr);
  }

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

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

  .privacy-card {
    padding: 24px;
  }
}

/* ===== Sección video YouTube ===== */
.video-section {
  background:
    radial-gradient(circle at 88% 10%, rgba(13,110,253,0.10), transparent 22rem),
    linear-gradient(180deg, #f4f8fd, #ffffff);
}

.video-card {
  overflow: hidden;
  max-width: 980px;
  margin: 0 auto;
  border-radius: 30px;
  background: var(--navy);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  aspect-ratio: 16 / 9;
}

.video-card iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 860px) {
  .video-card {
    border-radius: 22px;
  }
}

/* ===== Video como tarjeta externa para evitar error de reproducción embebida ===== */
.video-card--link {
  position: relative;
  display: block;
  text-decoration: none;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 20%, rgba(85,214,255,0.20), transparent 18rem),
    linear-gradient(135deg, #06101f, #0d2444);
}

.video-card--link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.42;
  filter: saturate(0.95) contrast(1.05);
  transform: scale(1.02);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.video-card--link:hover img {
  opacity: 0.52;
  transform: scale(1.05);
}

.video-card__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,11,22,0.86), rgba(5,11,22,0.46)),
    linear-gradient(180deg, rgba(5,11,22,0.18), rgba(5,11,22,0.68));
}

.video-card__play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 86px;
  height: 86px;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--white);
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  box-shadow: 0 22px 50px rgba(13,110,253,0.34);
  font-size: 2rem;
  padding-left: 5px;
}

.video-card__text {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 24px;
  display: grid;
  gap: 4px;
  color: var(--white);
}

.video-card__text strong {
  font-size: clamp(1.25rem, 2vw, 2rem);
}

.video-card__text small {
  color: rgba(255,255,255,0.72);
  font-weight: 700;
}

@media (max-width: 860px) {
  .video-card__play {
    width: 68px;
    height: 68px;
    font-size: 1.6rem;
  }

  .video-card__text {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
}
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@600;700&display=swap");

:root {
  --navy: #06101f;
  --navy-2: #0d2444;
  --blue: #0d6efd;
  --cyan: #55d6ff;
  --white: #ffffff;
  --ice: #f4f8fd;
  --text: #142133;
  --muted: #65768d;
  --line: rgba(12, 31, 56, 0.12);
  --line-light: rgba(255,255,255,0.14);
  --green: #25d366;
  --shadow: 0 24px 70px rgba(7,18,37,0.18);
  --soft: 0 16px 40px rgba(8,20,38,0.09);
  --max: 1220px;
  --max-wide: 1560px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--ice);
  line-height: 1.6;
}

body.menu-open {
  overflow: hidden;
}

img,
svg {
  display: block;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

h1,
h2,
h3,
strong {
  font-family: "Space Grotesk", "Inter", sans-serif;
  letter-spacing: -0.035em;
}

h1,
h2,
h3,
p,
ul {
  margin: 0;
}

h1 {
  font-size: clamp(2.05rem, 3.6vw, 4.25rem);
  line-height: 0.98;
}

h2 {
  font-size: clamp(1.85rem, 3vw, 3.35rem);
  line-height: 1.02;
}

h3 {
  font-size: clamp(1.3rem, 2vw, 2rem);
  line-height: 1.08;
}

.container {
  width: min(calc(100% - 36px), var(--max));
  margin: 0 auto;
}

.container-wide {
  width: min(calc(100% - 36px), var(--max-wide));
  margin: 0 auto;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 12px;
  z-index: 9999;
}

.skip-link:focus {
  left: 12px;
  background: var(--white);
  color: var(--navy);
  padding: 10px 14px;
  border-radius: 999px;
}

.site-header {
  color: var(--white);
  background: var(--navy);
}

.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(7, 18, 37, 0.88);
  border-bottom: 1px solid rgba(255,255,255,0.09);
  backdrop-filter: blur(18px);
}

.navbar__inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.brand img {
  width: 92px;
  height: auto;
  filter: drop-shadow(0 12px 22px rgba(0,0,0,0.35));
}

.brand span {
  display: grid;
  gap: 2px;
}

.brand strong {
  color: var(--white);
  font-size: 1rem;
}

.brand small {
  color: rgba(255,255,255,0.68);
  font-size: 0.8rem;
}

.menu {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 13px;
  border-radius: 999px;
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  font-weight: 800;
  transition: 0.2s ease;
}

.menu a:hover {
  color: var(--white);
  background: rgba(255,255,255,0.08);
}

.menu__cta {
  color: var(--white) !important;
  background: linear-gradient(135deg, var(--blue), var(--cyan)) !important;
  box-shadow: 0 16px 34px rgba(13,110,253,0.28);
}

.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 14px;
  background: rgba(255,255,255,0.08);
}

.menu-toggle span {
  width: 22px;
  height: 2px;
  margin: 5px auto;
  background: var(--white);
  border-radius: 999px;
}

.hero {
  position: relative;
  min-height: clamp(430px, 48vw, 620px);
  overflow: hidden;
  display: grid;
  align-items: center;
}

.hero__media {
  position: absolute;
  inset: 0;
  margin: 0;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  filter: saturate(1.02) contrast(1.02);
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,11,22,0.88) 0%, rgba(5,11,22,0.66) 30%, rgba(5,11,22,0.20) 58%, rgba(5,11,22,0.04) 100%),
    linear-gradient(180deg, rgba(5,11,22,0.06) 0%, rgba(5,11,22,0.30) 100%);
}

.hero__content {
  position: relative;
  z-index: 2;
  padding: 34px 0;
}

.hero__text {
  max-width: 640px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  color: rgba(255,255,255,0.95);
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(10px);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.eyebrow::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 20px var(--cyan);
}

.eyebrow--light {
  color: var(--blue);
  background: rgba(13,110,253,0.08);
  border-color: rgba(13,110,253,0.14);
}

.hero h1 {
  margin-top: 14px;
  color: var(--white);
  text-shadow: 0 16px 42px rgba(0,0,0,0.45);
}

.hero p {
  margin-top: 14px;
  max-width: 560px;
  color: rgba(255,255,255,0.82);
  font-size: 1.02rem;
  text-shadow: 0 12px 28px rgba(0,0,0,0.35);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 22px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 20px;
  border: 0;
  border-radius: 999px;
  font-weight: 900;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn--primary {
  color: var(--white);
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  box-shadow: 0 18px 38px rgba(13,110,253,0.32);
}

.btn--light {
  color: var(--navy);
  background: var(--white);
  box-shadow: 0 18px 36px rgba(0,0,0,0.18);
}

.btn--glass {
  color: var(--white);
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.24);
  backdrop-filter: blur(10px);
}

.btn--full {
  width: 100%;
}

.quick-actions {
  position: relative;
  z-index: 4;
  margin-top: -28px;
}

.quick-actions__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.quick-actions a {
  display: grid;
  gap: 5px;
  padding: 18px;
  border-radius: 22px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
  text-decoration: none;
  transition: 0.22s ease;
}

.quick-actions a:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.quick-actions span {
  color: var(--blue);
  font-weight: 900;
  font-size: 0.8rem;
}

.quick-actions strong {
  color: var(--navy);
}

.quick-actions small {
  color: var(--muted);
}

.section {
  padding: 84px 0;
}

.section-heading {
  max-width: 860px;
  margin: 0 auto 38px;
  text-align: center;
}

.section-heading h2 {
  margin-top: 12px;
  color: var(--navy);
}

.section-heading p {
  margin-top: 12px;
  color: var(--muted);
}

.intro,
.process,
.faq,
.contact {
  background: linear-gradient(180deg, #f4f8fd, #ffffff);
}

.split,
.contact-grid,
.faq-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 30px;
  align-items: center;
}

.split--image-left {
  grid-template-columns: 1.1fr 0.9fr;
}

.split__content h2 {
  margin-top: 14px;
  color: var(--navy);
}

.split__content p {
  margin-top: 14px;
  color: var(--muted);
}

.image-card {
  margin: 0;
  overflow: hidden;
  border-radius: 30px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.image-card img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.image-card figcaption {
  padding: 14px 18px;
  color: var(--muted);
  background: var(--white);
  border-top: 1px solid var(--line);
  font-size: 0.92rem;
  font-weight: 700;
}

.service-list {
  display: grid;
  gap: 30px;
}

.service-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.65fr);
  align-items: stretch;
  overflow: hidden;
  border-radius: 34px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.service-card--reverse {
  grid-template-columns: minmax(360px, 0.65fr) minmax(0, 1.35fr);
}

.service-card--reverse figure {
  order: 2;
}

.service-card .image-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.service-card__content {
  padding: clamp(26px, 3vw, 42px);
  align-self: center;
}

.service-card__content span {
  display: inline-block;
  color: var(--blue);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
  margin-bottom: 10px;
}

.service-card h3 {
  color: var(--navy);
  margin-bottom: 12px;
}

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

.service-card ul {
  margin-top: 16px;
  padding-left: 18px;
  color: var(--text);
  display: grid;
  gap: 8px;
}

.service-card li::marker {
  color: var(--blue);
}

.service-card__content a {
  margin-top: 20px;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 999px;
  color: var(--white);
  background: var(--navy);
  text-decoration: none;
  font-weight: 900;
  transition: 0.2s ease;
}

.service-card__content a:hover {
  background: var(--blue);
  transform: translateY(-2px);
}

.dpf,
.fleets {
  color: var(--white);
  background:
    radial-gradient(circle at 85% 0%, rgba(13,110,253,0.28), transparent 24rem),
    linear-gradient(135deg, #050b16, #0b213b);
}

.dpf .split__content h2,
.fleets .split__content h2 {
  color: var(--white);
}

.dpf .split__content p,
.fleets .split__content p {
  color: rgba(255,255,255,0.72);
}

.image-card--dark {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.14);
}

.image-card--dark figcaption {
  color: rgba(255,255,255,0.78);
  background: rgba(5,11,22,0.74);
  border-top-color: rgba(255,255,255,0.12);
}

.symptoms,
.fleet-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.symptoms article,
.fleet-cards article {
  padding: 18px;
  border-radius: 20px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
}

.symptoms strong,
.fleet-cards strong {
  display: block;
  color: var(--white);
  margin-bottom: 6px;
}

.symptoms span,
.fleet-cards span {
  color: rgba(255,255,255,0.68);
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.process-grid article {
  padding: 24px;
  border-radius: 24px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.process-grid span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  color: var(--white);
  font-weight: 900;
}

.process-grid strong {
  display: block;
  color: var(--navy);
  margin-bottom: 8px;
}

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

.faq-copy h2 {
  margin-top: 14px;
  color: var(--navy);
}

.faq-list {
  display: grid;
  gap: 12px;
}

.faq-item {
  width: 100%;
  text-align: left;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  box-shadow: var(--soft);
  color: var(--text);
}

.faq-item span {
  font-weight: 900;
  color: var(--navy);
}

.faq-item strong {
  float: right;
  color: var(--blue);
}

.faq-item p {
  display: none;
  margin-top: 12px;
  color: var(--muted);
}

.faq-item.open p {
  display: block;
}

.contact-card,
.map-card {
  overflow: hidden;
  border-radius: 30px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.contact-card {
  padding: 30px;
}

.contact-card h2 {
  margin-top: 14px;
  color: var(--navy);
}

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

.hours article {
  padding: 16px;
  border-radius: 18px;
  background: #f5f9fd;
  border: 1px solid var(--line);
}

.hours span {
  display: block;
  color: var(--muted);
  font-size: 0.88rem;
  margin-bottom: 4px;
}

.hours strong {
  color: var(--blue);
  font-size: 1.05rem;
}

.map-card iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 600px;
}

.form__row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

label {
  display: grid;
  gap: 7px;
  margin-bottom: 12px;
}

label span {
  color: var(--navy);
  font-weight: 800;
  font-size: 0.92rem;
}

input,
select,
textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid rgba(12,31,56,0.16);
  border-radius: 16px;
  color: var(--text);
  background: #fbfdff;
  outline: none;
  transition: 0.2s ease;
}

textarea {
  min-height: 118px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(13,110,253,0.55);
  box-shadow: 0 0 0 4px rgba(13,110,253,0.12);
}

.footer {
  padding: 34px 0 92px;
  color: rgba(255,255,255,0.72);
  background: var(--navy);
}

.footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.footer img {
  width: 92px;
  height: auto;
  margin-bottom: 8px;
}

.whatsapp {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1000;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  color: var(--white);
  background: var(--green);
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 18px 38px rgba(37,211,102,0.34);
}

.mobile-bar {
  display: none;
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1180px) {
  .service-card,
  .service-card--reverse,
  .split,
  .split--image-left,
  .contact-grid,
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .service-card--reverse figure {
    order: 0;
  }

  .quick-actions__grid,
  .process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .map-card iframe {
    min-height: 450px;
  }
}

@media (max-width: 860px) {
  .container,
  .container-wide {
    width: min(calc(100% - 26px), var(--max-wide));
  }

  .navbar__inner {
    min-height: 72px;
  }

  .brand img {
    width: 76px;
  }

  .brand small {
    display: none;
  }

  .menu-toggle {
    display: block;
  }

  .menu {
    position: fixed;
    top: 80px;
    left: 13px;
    right: 13px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 14px;
    border-radius: 22px;
    background: rgba(5,11,22,0.98);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: var(--shadow);
  }

  .menu.open {
    display: flex;
  }

  .menu a {
    justify-content: flex-start;
  }

  .hero {
    min-height: 500px;
    align-items: end;
  }

  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(5,11,22,0.08) 0%, rgba(5,11,22,0.46) 38%, rgba(5,11,22,0.92) 100%);
  }

  .hero__content {
    padding: 26px 0;
  }

  .hero__text {
    max-width: 100%;
  }

  .hero h1 {
    font-size: clamp(2rem, 8vw, 3.05rem);
  }

  .hero__actions {
    flex-direction: column;
    margin-top: 18px;
  }

  .hero__actions .btn {
    width: 100%;
  }

  .section {
    padding: 62px 0;
  }

  .quick-actions__grid,
  .symptoms,
  .fleet-cards,
  .process-grid,
  .hours,
  .form__row {
    grid-template-columns: 1fr;
  }

  .service-card__content,
  .contact-card {
    padding: 24px;
  }

  .whatsapp {
    display: none;
  }

  .mobile-bar {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 1000;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 8px;
    border-radius: 20px;
    background: rgba(5,11,22,0.90);
    backdrop-filter: blur(18px);
    box-shadow: var(--shadow);
  }

  .mobile-bar a {
    min-height: 46px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--white);
    background: rgba(255,255,255,0.08);
    text-decoration: none;
    font-weight: 900;
  }

  .mobile-bar a:nth-child(2) {
    background: var(--green);
  }

  .footer {
    padding-bottom: 100px;
  }

  .footer__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 560px) {
  h1 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .btn {
    width: 100%;
  }

  .hero {
    min-height: 460px;
  }

  .map-card iframe {
    min-height: 340px;
  }

  .image-card {
    border-radius: 22px;
  }
}

/* ===== Mejora DPF: sección más clara y con imagen protagonista ===== */
.section-heading--light h2,
.section-heading--light p {
  color: var(--white);
}

.section-heading--light p {
  max-width: 920px;
  margin-inline: auto;
  color: rgba(255,255,255,0.76);
}

.dpf--featured {
  padding-top: 84px;
}

.image-card--featured {
  margin-top: 26px;
  overflow: hidden;
  border-radius: 34px;
}

.image-card--featured img {
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #ffffff;
}

.image-card--featured figcaption {
  font-size: 0.98rem;
  padding: 16px 22px;
}

.dpf__info {
  margin-top: 28px;
  display: grid;
  gap: 24px;
}

.dpf__intro {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.dpf__intro h3 {
  color: var(--white);
  margin-bottom: 12px;
  font-size: clamp(1.4rem, 2vw, 2rem);
}

.dpf__intro p {
  color: rgba(255,255,255,0.76);
}

.symptoms--clear {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 0;
}

.symptoms--clear article {
  min-height: 146px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 16px 36px rgba(0,0,0,0.14);
}

.symptoms--clear strong {
  font-size: 1.02rem;
}

.symptoms--clear span {
  font-size: 0.98rem;
  line-height: 1.55;
}

.dpf__cta {
  display: flex;
  justify-content: center;
}

@media (max-width: 1180px) {
  .symptoms--clear {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 860px) {
  .dpf--featured {
    padding-top: 62px;
  }

  .image-card--featured {
    margin-top: 20px;
    border-radius: 24px;
  }

  .dpf__info {
    margin-top: 22px;
  }

  .symptoms--clear {
    grid-template-columns: 1fr;
  }

  .image-card--featured figcaption {
    padding: 14px 16px;
    font-size: 0.92rem;
  }
}

/* ===== Sección Quiénes somos / Nuestra diferencia ===== */
.about {
  background:
    radial-gradient(circle at 92% 12%, rgba(13,110,253,0.12), transparent 24rem),
    linear-gradient(180deg, #ffffff, #f4f8fd);
}

.about__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(420px, 0.84fr);
  gap: 34px;
  align-items: center;
}

.about__image {
  box-shadow: 0 28px 80px rgba(7,18,37,0.18);
}

.about__image img {
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #ffffff;
}

.about__content h2 {
  margin-top: 14px;
  color: var(--navy);
}

.about__content p {
  margin-top: 14px;
  color: var(--muted);
  font-size: 1rem;
}

.about__values {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.about__values article {
  padding: 18px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.about__values strong {
  display: block;
  color: var(--navy);
  margin-bottom: 6px;
}

.about__values span {
  color: var(--muted);
  font-size: 0.94rem;
}

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

  .about__image {
    max-width: 1050px;
    margin-inline: auto;
  }
}

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

/* ===== Ajuste compacto para sección Quiénes somos ===== */
.about--compact {
  padding: 54px 0;
}

.about--compact .about__grid {
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.78fr);
  gap: 26px;
  align-items: center;
}

.about--compact .about__image {
  max-width: 760px;
  justify-self: end;
  border-radius: 24px;
}

.about--compact .about__image img {
  width: 100%;
  height: auto;
}

.about--compact .about__image figcaption {
  padding: 11px 15px;
  font-size: 0.84rem;
}

.about--compact .about__content {
  max-width: 650px;
}

.about--compact .about__content h2 {
  font-size: clamp(1.7rem, 2.35vw, 2.75rem);
  line-height: 1.05;
}

.about--compact .about__content p {
  margin-top: 12px;
  font-size: 0.96rem;
}

.about__values--compact {
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 18px;
}

.about__values--compact article {
  padding: 14px;
  border-radius: 16px;
}

.about__values--compact strong {
  margin-bottom: 4px;
  font-size: 0.95rem;
}

.about__values--compact span {
  font-size: 0.88rem;
}

@media (max-width: 1180px) {
  .about--compact .about__grid {
    grid-template-columns: 1fr;
  }

  .about--compact .about__image {
    max-width: 860px;
    justify-self: center;
  }

  .about--compact .about__content {
    max-width: 860px;
    margin-inline: auto;
  }
}

@media (max-width: 860px) {
  .about--compact {
    padding: 44px 0;
  }

  .about__values--compact {
    grid-template-columns: 1fr;
  }
}

/* ===== Dos sucursales ===== */
.contact-heading {
  max-width: 900px;
  text-align: center;
  margin-bottom: 26px;
}

.contact-heading h2 {
  margin-top: 14px;
  color: var(--navy);
}

.contact-heading p {
  margin-top: 12px;
  color: var(--muted);
}

.location-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-bottom: 24px;
}

.location-card {
  padding: 24px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.location-card span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--blue);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
}

.location-card h3 {
  color: var(--navy);
  margin-bottom: 8px;
}

.location-card p {
  color: var(--muted);
  margin-bottom: 16px;
}

.location-card a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  color: var(--white);
  background: var(--navy);
  text-decoration: none;
  font-weight: 900;
  transition: 0.2s ease;
}

.location-card a:hover {
  background: var(--blue);
  transform: translateY(-2px);
}

.contact-grid--branches {
  align-items: stretch;
}

.maps-stack {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
}

.maps-stack .map-card iframe {
  min-height: 290px;
}

@media (max-width: 1180px) {
  .location-cards,
  .contact-grid--branches {
    grid-template-columns: 1fr;
  }

  .maps-stack {
    grid-template-rows: auto;
  }
}

@media (max-width: 860px) {
  .location-card {
    padding: 20px;
  }

  .maps-stack .map-card iframe {
    min-height: 260px;
  }
}

/* ===== Contacto compacto: agenda y mapas más pequeños ===== */
.contact {
  padding: 52px 0;
}

.contact-heading {
  max-width: 760px;
  margin-bottom: 18px;
}

.contact-heading h2 {
  font-size: clamp(1.7rem, 2.4vw, 2.65rem);
}

.contact-heading p {
  margin-top: 8px;
  font-size: 0.98rem;
}

.location-cards {
  gap: 12px;
  margin-bottom: 18px;
}

.location-card {
  padding: 18px;
  border-radius: 22px;
}

.location-card span {
  margin-bottom: 6px;
  font-size: 0.72rem;
}

.location-card h3 {
  font-size: clamp(1.1rem, 1.55vw, 1.45rem);
  margin-bottom: 5px;
}

.location-card p {
  margin-bottom: 12px;
  font-size: 0.94rem;
}

.location-card a {
  min-height: 40px;
  padding: 8px 14px;
  font-size: 0.92rem;
}

.contact-grid--branches {
  grid-template-columns: 1.05fr 0.95fr;
  gap: 16px;
}

.contact-card {
  padding: 24px;
}

.contact-card h2 {
  font-size: clamp(1.45rem, 2.1vw, 2.25rem);
}

.hours {
  margin: 16px 0;
  gap: 10px;
}

.hours article {
  padding: 12px;
  border-radius: 16px;
}

.hours strong {
  font-size: 0.98rem;
}

label {
  margin-bottom: 9px;
}

input,
select,
textarea {
  min-height: 46px;
  padding: 11px 13px;
  border-radius: 14px;
}

textarea {
  min-height: 86px;
}

.maps-stack {
  gap: 12px;
}

.maps-stack .map-card {
  border-radius: 22px;
}

.maps-stack .map-card iframe {
  min-height: 220px;
  height: 220px;
}

@media (max-width: 1180px) {
  .contact-grid--branches {
    grid-template-columns: 1fr;
  }

  .maps-stack {
    grid-template-columns: repeat(2, 1fr);
  }

  .maps-stack .map-card iframe {
    min-height: 210px;
    height: 210px;
  }
}

@media (max-width: 860px) {
  .contact {
    padding: 44px 0;
  }

  .location-cards {
    gap: 10px;
  }

  .contact-card {
    padding: 20px;
  }

  .maps-stack {
    grid-template-columns: 1fr;
  }

  .maps-stack .map-card iframe {
    min-height: 190px;
    height: 190px;
  }
}

/* ===== Contacto profesional separado: sucursales/mapas + formulario ===== */
.branches {
  padding: 58px 0 48px;
  background: linear-gradient(180deg, #f4f8fd, #ffffff);
}

.branches .section-heading {
  margin-bottom: 24px;
}

.location-cards--professional {
  margin-bottom: 22px;
}

.maps-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.map-block {
  overflow: hidden;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.map-block .map-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.map-block .map-card iframe {
  display: block;
  width: 100%;
  height: 260px;
  min-height: 260px;
}

.map-block__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-top: 1px solid var(--line);
}

.map-block__label strong {
  color: var(--navy);
}

.map-block__label span {
  color: var(--muted);
  font-size: 0.92rem;
  text-align: right;
}

.contact-form-section {
  padding: 56px 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(13,110,253,0.12), transparent 24rem),
    linear-gradient(180deg, #ffffff, #f4f8fd);
}

.contact-form-layout {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 24px;
  align-items: center;
}

.contact-form-copy h2 {
  margin-top: 14px;
  color: var(--navy);
}

.contact-form-copy p {
  margin-top: 12px;
  color: var(--muted);
  max-width: 560px;
}

.hours--professional {
  max-width: 520px;
}

.contact-card--standalone {
  max-width: 760px;
  width: 100%;
  justify-self: end;
  padding: 26px;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(7,18,37,0.12);
}

.contact-card--standalone .form {
  margin: 0;
}

@media (max-width: 1180px) {
  .maps-grid,
  .contact-form-layout {
    grid-template-columns: 1fr;
  }

  .contact-card--standalone {
    justify-self: stretch;
    max-width: none;
  }

  .contact-form-copy {
    max-width: 820px;
  }

  .map-block .map-card iframe {
    height: 240px;
    min-height: 240px;
  }
}

@media (max-width: 860px) {
  .branches {
    padding: 46px 0 38px;
  }

  .contact-form-section {
    padding: 44px 0;
  }

  .map-block .map-card iframe {
    height: 210px;
    min-height: 210px;
  }

  .map-block__label {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .map-block__label span {
    text-align: left;
  }

  .contact-card--standalone {
    padding: 20px;
    border-radius: 22px;
  }
}

/* ===== Ajuste único: menos margen entre secciones ===== */
/* No cambia el diseño, colores, columnas, imágenes, mapas ni formulario. */

.section {
  padding-top: 58px;
  padding-bottom: 58px;
}

.about--compact {
  padding-top: 46px;
  padding-bottom: 46px;
}

.dpf--featured {
  padding-top: 58px;
  padding-bottom: 58px;
}

.branches {
  padding-top: 50px;
  padding-bottom: 42px;
}

.contact-form-section {
  padding-top: 48px;
  padding-bottom: 54px;
}

.section-heading {
  margin-bottom: 26px;
}

.branches .section-heading {
  margin-bottom: 20px;
}

.quick-actions {
  margin-top: -24px;
}

@media (max-width: 860px) {
  .section {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .about--compact,
  .dpf--featured,
  .branches,
  .contact-form-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .section-heading {
    margin-bottom: 22px;
  }
}

/* ===== Agenda premium: más llamativa, simétrica y profesional ===== */
.contact-form-section--premium {
  background:
    radial-gradient(circle at 10% 10%, rgba(13,110,253,0.09), transparent 22rem),
    radial-gradient(circle at 92% 90%, rgba(85,214,255,0.08), transparent 20rem),
    linear-gradient(180deg, #ffffff, #f4f8fd);
}

.section-heading--agenda {
  max-width: 920px;
  text-align: center;
  margin-bottom: 24px;
}

.contact-form-layout--premium {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: stretch;
}

.contact-panel,
.contact-card--premium {
  height: 100%;
  border-radius: 30px;
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.contact-panel--info {
  padding: 28px;
  background:
    linear-gradient(180deg, rgba(7,18,37,0.98), rgba(11,33,59,0.98));
  color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.contact-panel__header h3 {
  color: var(--white);
  margin-bottom: 10px;
  font-size: clamp(1.35rem, 1.9vw, 2rem);
}

.contact-panel__header p {
  color: rgba(255,255,255,0.74);
  font-size: 0.96rem;
  max-width: 52ch;
}

.contact-highlights {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.contact-highlights article {
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
}

.contact-highlights strong {
  display: block;
  color: var(--white);
  margin-bottom: 5px;
}

.contact-highlights span {
  color: rgba(255,255,255,0.72);
  font-size: 0.92rem;
  line-height: 1.5;
}

.hours--boxed {
  margin-top: 18px;
}

.hours--boxed article {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.10);
}

.hours--boxed span {
  color: rgba(255,255,255,0.66);
}

.hours--boxed strong {
  color: var(--white);
}

.contact-card--premium {
  padding: 26px;
  background: var(--white);
}

.contact-card__intro {
  margin-bottom: 16px;
}

.contact-card__intro h3 {
  color: var(--navy);
  margin-bottom: 6px;
  font-size: clamp(1.28rem, 1.75vw, 1.8rem);
}

.contact-card__intro p {
  color: var(--muted);
  font-size: 0.94rem;
}

.contact-card--premium .form {
  display: grid;
  gap: 0;
}

.contact-card--premium .form__row {
  gap: 12px;
}

.contact-card--premium label {
  margin-bottom: 12px;
}

.contact-card--premium input,
.contact-card--premium select,
.contact-card--premium textarea {
  background: #fbfdff;
}

.contact-card--premium textarea {
  min-height: 96px;
}

.contact-card--premium .btn--full {
  margin-top: 6px;
  min-height: 48px;
}

@media (max-width: 1180px) {
  .contact-form-layout--premium {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .section-heading--agenda {
    margin-bottom: 20px;
  }

  .contact-panel--info,
  .contact-card--premium {
    padding: 20px;
    border-radius: 24px;
  }

  .contact-card__intro {
    margin-bottom: 12px;
  }

  .contact-card--premium .form__row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* ===== Footer compacto ===== */
.footer {
  padding: 14px 0 18px;
}

.footer__inner {
  min-height: auto;
  align-items: center;
}

.footer img {
  width: 56px;
  margin-bottom: 0;
}

.footer__inner > div {
  display: flex;
  align-items: center;
  gap: 14px;
}

.footer p {
  font-size: 0.9rem;
  line-height: 1.35;
}

.footer__inner > p {
  text-align: right;
  margin-left: auto;
}

@media (max-width: 860px) {
  .footer {
    padding: 14px 0 76px;
  }

  .footer__inner {
    gap: 10px;
  }

  .footer__inner > div {
    gap: 10px;
  }

  .footer img {
    width: 50px;
  }

  .footer p {
    font-size: 0.82rem;
  }

  .footer__inner > p {
    text-align: left;
    margin-left: 0;
  }
}

@media (max-width: 560px) {
  .footer__inner > div {
    align-items: flex-start;
  }
}

/* ===== Agenda ajustada: un poco más compacta y simétrica ===== */
.contact-form-section--premium {
  padding-top: 46px;
  padding-bottom: 46px;
}

.section-heading--agenda {
  max-width: 820px;
  margin-bottom: 18px;
}

.section-heading--agenda h2 {
  font-size: clamp(1.55rem, 2.2vw, 2.55rem);
}

.section-heading--agenda p {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

.contact-form-layout--premium {
  max-width: 1120px;
  gap: 18px;
}

.contact-panel--info,
.contact-card--premium {
  padding: 22px;
  border-radius: 26px;
}

.contact-panel__header h3,
.contact-card__intro h3 {
  font-size: clamp(1.2rem, 1.55vw, 1.65rem);
}

.contact-panel__header p,
.contact-card__intro p {
  font-size: 0.91rem;
}

.contact-highlights {
  gap: 9px;
  margin-top: 14px;
}

.contact-highlights article {
  padding: 13px 15px;
  border-radius: 17px;
}

.contact-highlights span {
  font-size: 0.88rem;
}

.hours--boxed {
  margin-top: 14px;
}

.contact-card__intro {
  margin-bottom: 12px;
}

.contact-card--premium label {
  margin-bottom: 9px;
}

.contact-card--premium input,
.contact-card--premium select,
.contact-card--premium textarea {
  min-height: 45px;
  padding: 10px 12px;
}

.contact-card--premium textarea {
  min-height: 82px;
}

.contact-card--premium .btn--full {
  min-height: 46px;
}

@media (max-width: 860px) {
  .contact-form-section--premium {
    padding-top: 38px;
    padding-bottom: 40px;
  }

  .section-heading--agenda {
    margin-bottom: 16px;
  }

  .contact-panel--info,
  .contact-card--premium {
    padding: 18px;
    border-radius: 22px;
  }
}

/* ===== Extras finales: compromiso, testimonios, WhatsApp premium y privacidad ===== */
.testimonials {
  background:
    radial-gradient(circle at 90% 12%, rgba(13,110,253,0.10), transparent 22rem),
    linear-gradient(180deg, #f4f8fd, #ffffff);
}

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

.testimonial-grid article {
  padding: 24px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.testimonial-grid p {
  color: var(--text);
  font-weight: 600;
  margin-bottom: 18px;
}

.testimonial-grid strong {
  display: block;
  color: var(--navy);
}

.testimonial-grid span {
  display: block;
  color: var(--blue);
  font-size: 0.9rem;
  font-weight: 800;
  margin-top: 4px;
}

.form-note {
  margin-top: 10px;
  color: var(--muted);
  font-size: 0.82rem;
  text-align: center;
}

.whatsapp {
  min-height: 50px;
  padding: 11px 18px;
  gap: 8px;
  background: linear-gradient(135deg, #25d366, #1fb855);
  box-shadow: 0 18px 40px rgba(37,211,102,0.32);
}

.whatsapp::before {
  content: "✆";
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  font-size: 0.9rem;
}

.footer a {
  color: rgba(255,255,255,0.82);
  font-weight: 800;
  text-decoration: none;
}

.footer a:hover {
  color: var(--white);
  text-decoration: underline;
}

.privacy-page {
  min-height: 100vh;
  padding: 48px 0;
  background: linear-gradient(180deg, #f4f8fd, #ffffff);
}

.privacy-card {
  max-width: 860px;
  padding: 34px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--soft);
}

.privacy-card h1 {
  color: var(--navy);
  margin: 18px 0;
}

.privacy-card h2 {
  color: var(--navy);
  font-size: 1.35rem;
  margin-top: 24px;
  margin-bottom: 8px;
}

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

.privacy-back {
  display: inline-flex;
  color: var(--blue);
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 1180px) {
  .commitment-grid {
    grid-template-columns: repeat(2, 1fr);
  }

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

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

  .privacy-card {
    padding: 24px;
  }
}

/* ===== Sección video YouTube ===== */
.video-section {
  background:
    radial-gradient(circle at 88% 10%, rgba(13,110,253,0.10), transparent 22rem),
    linear-gradient(180deg, #f4f8fd, #ffffff);
}

.video-card {
  overflow: hidden;
  max-width: 980px;
  margin: 0 auto;
  border-radius: 30px;
  background: var(--navy);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  aspect-ratio: 16 / 9;
}

.video-card iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 860px) {
  .video-card {
    border-radius: 22px;
  }
}

/* ===== Video como tarjeta externa para evitar error de reproducción embebida ===== */
.video-card--link {
  position: relative;
  display: block;
  text-decoration: none;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 20%, rgba(85,214,255,0.20), transparent 18rem),
    linear-gradient(135deg, #06101f, #0d2444);
}

.video-card--link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.42;
  filter: saturate(0.95) contrast(1.05);
  transform: scale(1.02);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.video-card--link:hover img {
  opacity: 0.52;
  transform: scale(1.05);
}

.video-card__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,11,22,0.86), rgba(5,11,22,0.46)),
    linear-gradient(180deg, rgba(5,11,22,0.18), rgba(5,11,22,0.68));
}

.video-card__play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 86px;
  height: 86px;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--white);
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  box-shadow: 0 22px 50px rgba(13,110,253,0.34);
  font-size: 2rem;
  padding-left: 5px;
}

.video-card__text {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 24px;
  display: grid;
  gap: 4px;
  color: var(--white);
}

.video-card__text strong {
  font-size: clamp(1.25rem, 2vw, 2rem);
}

.video-card__text small {
  color: rgba(255,255,255,0.72);
  font-weight: 700;
}

@media (max-width: 860px) {
  .video-card__play {
    width: 68px;
    height: 68px;
    font-size: 1.6rem;
  }

  .video-card__text {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
}

/* ===== Mobile clean 2026: menos saturado, más elegante ===== */
@media (max-width: 860px) {
  body {
    background: #f7faff;
  }

  .container,
  .container-wide {
    width: min(calc(100% - 24px), var(--max-wide));
  }

  .navbar__inner {
    min-height: 64px;
  }

  .brand {
    gap: 9px;
  }

  .brand img {
    width: 60px;
  }

  .brand strong {
    font-size: 0.92rem;
  }

  .menu-toggle {
    width: 42px;
    height: 42px;
    border-radius: 13px;
  }

  .menu {
    top: 72px;
    left: 12px;
    right: 12px;
    padding: 10px;
    border-radius: 18px;
  }

  .menu a {
    min-height: 42px;
    padding: 8px 12px;
    font-size: 0.92rem;
  }

  .hero {
    min-height: 390px;
    align-items: end;
  }

  .hero__media img {
    object-position: 68% center;
  }

  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(5,11,22,0.10) 0%, rgba(5,11,22,0.42) 42%, rgba(5,11,22,0.92) 100%);
  }

  .hero__content {
    padding: 18px 0 22px;
  }

  .hero__text {
    max-width: 100%;
  }

  .hero .eyebrow {
    min-height: 28px;
    padding: 5px 10px;
    font-size: 0.64rem;
  }

  .hero h1 {
    margin-top: 10px;
    font-size: clamp(1.65rem, 8vw, 2.35rem);
    line-height: 1.02;
    max-width: 12ch;
  }

  .hero p {
    margin-top: 10px;
    max-width: 30ch;
    font-size: 0.92rem;
    line-height: 1.45;
  }

  .hero__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 14px;
  }

  .hero__actions .btn {
    width: 100%;
    min-height: 42px;
    padding: 8px 11px;
    font-size: 0.88rem;
  }

  .hero__actions .btn:nth-child(3) {
    grid-column: 1 / -1;
  }

  .quick-actions {
    margin-top: 0;
    padding-top: 10px;
  }

  .quick-actions__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .quick-actions a {
    padding: 12px;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(8,20,38,0.07);
  }

  .quick-actions span {
    font-size: 0.68rem;
  }

  .quick-actions strong {
    font-size: 0.9rem;
  }

  .quick-actions small {
    font-size: 0.75rem;
    line-height: 1.3;
  }

  .section,
  .about--compact,
  .dpf--featured,
  .branches,
  .contact-form-section,
  .contact-form-section--premium,
  .video-section {
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .section-heading,
  .section-heading--agenda {
    margin-bottom: 16px;
    text-align: left;
  }

  .section-heading h2,
  .section-heading--agenda h2,
  .contact-form-copy h2,
  .split__content h2,
  .about__content h2 {
    font-size: clamp(1.45rem, 7vw, 2rem);
    line-height: 1.07;
  }

  .section-heading p,
  .section-heading--agenda p,
  .split__content p,
  .about__content p,
  .contact-form-copy p {
    font-size: 0.9rem;
    line-height: 1.5;
  }

  .eyebrow,
  .eyebrow--light {
    min-height: 28px;
    padding: 5px 10px;
    font-size: 0.64rem;
  }

  .image-card,
  .service-card,
  .contact-card,
  .map-block,
  .location-card,
  .contact-panel,
  .contact-card--premium {
    border-radius: 18px;
  }

  .image-card figcaption {
    padding: 9px 12px;
    font-size: 0.76rem;
    line-height: 1.35;
  }

  .about--compact .about__grid,
  .split,
  .split--image-left,
  .contact-form-layout--premium {
    gap: 14px;
  }

  .about--compact .about__image,
  .image-card {
    max-width: 100%;
  }

  .about__values--compact,
  .about__values,
  .fleet-cards,
  .symptoms,
  .symptoms--clear {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 12px;
  }

  .about__values article,
  .about__values--compact article,
  .fleet-cards article,
  .symptoms article,
  .symptoms--clear article {
    padding: 12px;
    border-radius: 14px;
  }

  .service-list {
    gap: 16px;
  }

  .service-card__content {
    padding: 18px;
  }

  .service-card .image-card img {
    max-height: 230px;
    width: 100%;
    object-fit: contain;
    background: #ffffff;
  }

  .service-card__content span {
    font-size: 0.68rem;
    margin-bottom: 6px;
  }

  .service-card h3 {
    margin-bottom: 8px;
  }

  .service-card p,
  .service-card li {
    font-size: 0.88rem;
    line-height: 1.45;
  }

  .service-card ul {
    margin-top: 10px;
    gap: 4px;
  }

  .service-card__content a {
    margin-top: 13px;
    width: 100%;
    min-height: 42px;
    padding: 9px 14px;
    font-size: 0.9rem;
  }

  .dpf--featured .section-heading {
    text-align: left;
  }

  .image-card--featured {
    margin-top: 12px;
  }

  .image-card--featured img {
    max-height: 260px;
    object-fit: contain;
  }

  .dpf__info {
    gap: 12px;
    margin-top: 14px;
  }

  .dpf__intro {
    text-align: left;
  }

  .dpf__intro h3 {
    font-size: 1.25rem;
    margin-bottom: 6px;
  }

  .dpf__intro p,
  .symptoms--clear span {
    font-size: 0.86rem;
  }

  .dpf__cta .btn {
    width: 100%;
    min-height: 42px;
    font-size: 0.9rem;
  }

  .process-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .process-grid article {
    display: grid;
    grid-template-columns: 38px 1fr;
    column-gap: 12px;
    align-items: start;
    padding: 14px;
    border-radius: 16px;
  }

  .process-grid span {
    width: 36px;
    height: 36px;
    margin: 0;
    grid-row: span 2;
    font-size: 0.82rem;
  }

  .process-grid strong {
    margin-bottom: 3px;
  }

  .process-grid p {
    font-size: 0.84rem;
    line-height: 1.4;
  }

  .contact-form-section--premium {
    background: linear-gradient(180deg, #ffffff, #f4f8fd);
  }

  .contact-form-layout--premium {
    grid-template-columns: 1fr;
  }

  .contact-panel--info,
  .contact-card--premium {
    padding: 16px;
    border-radius: 18px;
  }

  .contact-panel__header h3,
  .contact-card__intro h3 {
    font-size: 1.18rem;
  }

  .contact-panel__header p,
  .contact-card__intro p {
    font-size: 0.84rem;
    line-height: 1.45;
  }

  .contact-highlights {
    gap: 8px;
    margin-top: 12px;
  }

  .contact-highlights article {
    padding: 11px;
    border-radius: 13px;
  }

  .contact-highlights span {
    font-size: 0.82rem;
  }

  .hours,
  .hours--boxed {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 12px 0 0;
  }

  .hours article {
    padding: 10px;
    border-radius: 13px;
  }

  .hours span {
    font-size: 0.75rem;
  }

  .hours strong {
    font-size: 0.88rem;
  }

  .contact-card__intro {
    margin-bottom: 10px;
  }

  .contact-card--premium .form__row,
  .form__row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  label {
    margin-bottom: 8px;
  }

  label span {
    font-size: 0.82rem;
  }

  input,
  select,
  textarea,
  .contact-card--premium input,
  .contact-card--premium select,
  .contact-card--premium textarea {
    min-height: 42px;
    padding: 9px 11px;
    border-radius: 12px;
    font-size: 0.9rem;
  }

  textarea,
  .contact-card--premium textarea {
    min-height: 74px;
  }

  .faq-grid {
    gap: 14px;
  }

  .faq-item {
    padding: 14px;
    border-radius: 15px;
  }

  .faq-item span {
    font-size: 0.92rem;
  }

  .faq-item p {
    font-size: 0.84rem;
    line-height: 1.45;
  }

  .video-card {
    border-radius: 18px;
    aspect-ratio: 16 / 10;
  }

  .video-card__play {
    width: 58px;
    height: 58px;
    font-size: 1.3rem;
  }

  .video-card__text {
    left: 14px;
    right: 14px;
    bottom: 14px;
  }

  .video-card__text strong {
    font-size: 1.1rem;
  }

  .location-cards,
  .location-cards--professional {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .location-card {
    padding: 15px;
  }

  .location-card h3 {
    font-size: 1.05rem;
  }

  .location-card p {
    font-size: 0.86rem;
  }

  .maps-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .map-block .map-card iframe {
    height: 170px;
    min-height: 170px;
  }

  .map-block__label {
    padding: 10px 12px;
    gap: 2px;
  }

  .map-block__label strong,
  .map-block__label span {
    font-size: 0.82rem;
  }

  .mobile-bar {
    left: 8px;
    right: 8px;
    bottom: 8px;
    gap: 6px;
    padding: 6px;
    border-radius: 16px;
  }

  .mobile-bar a {
    min-height: 40px;
    border-radius: 12px;
    font-size: 0.82rem;
  }

  .footer {
    padding-bottom: 72px;
  }
}

@media (max-width: 420px) {
  .quick-actions__grid {
    grid-template-columns: 1fr;
  }

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

  .hero__actions .btn:nth-child(3) {
    grid-column: auto;
  }

  .hours,
  .hours--boxed {
    grid-template-columns: 1fr;
  }
}

/* ===== Mobile premium 2: encabezado limpio y cajones más elegantes ===== */
.mobile-hero-copy {
  display: none;
}

@media (max-width: 860px) {
  /* Encabezado móvil: menos texto, menos saturación visual */
  .hero {
    min-height: 330px;
    align-items: end;
    border-bottom-left-radius: 26px;
    border-bottom-right-radius: 26px;
    overflow: hidden;
  }

  .hero__media img {
    object-position: 72% center;
    filter: saturate(0.96) contrast(0.98) brightness(0.88);
  }

  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(5,11,22,0.05) 0%, rgba(5,11,22,0.28) 36%, rgba(5,11,22,0.92) 100%);
  }

  .hero__content {
    padding: 16px 0 18px;
  }

  .hero .eyebrow,
  .hero h1,
  .hero p {
    display: none;
  }

  .mobile-hero-copy {
    display: grid;
    gap: 6px;
    max-width: 310px;
  }

  .mobile-hero-copy strong {
    color: var(--white);
    font-family: "Space Grotesk", "Inter", sans-serif;
    font-size: clamp(1.85rem, 8vw, 2.55rem);
    line-height: 0.96;
    letter-spacing: -0.055em;
    text-shadow: 0 16px 36px rgba(0,0,0,0.45);
  }

  .mobile-hero-copy span {
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    color: rgba(255,255,255,0.86);
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.14);
    backdrop-filter: blur(10px);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.03em;
  }

  .hero__actions {
    grid-template-columns: 1fr 1fr;
    max-width: 320px;
    margin-top: 14px;
  }

  .hero__actions .btn {
    min-height: 42px;
    border-radius: 14px;
    font-size: 0.88rem;
  }

  .hero__actions .btn:nth-child(3) {
    display: none;
  }

  /* Navbar móvil más liviano */
  .navbar__inner {
    min-height: 60px;
  }

  .brand img {
    width: 54px;
  }

  .brand strong {
    font-size: 0.88rem;
  }

  .menu-toggle {
    width: 40px;
    height: 40px;
  }

  /* Acciones rápidas: menos cajón, más botón premium */
  .quick-actions {
    padding-top: 14px;
    background: #f7faff;
  }

  .quick-actions__grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .quick-actions a {
    display: grid;
    grid-template-columns: 34px 1fr;
    column-gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-radius: 17px;
    background: rgba(255,255,255,0.86);
    border: 1px solid rgba(13,110,253,0.10);
    box-shadow: 0 10px 26px rgba(8,20,38,0.07);
  }

  .quick-actions a::after {
    content: "›";
    grid-column: 3;
    color: var(--blue);
    font-size: 1.4rem;
    font-weight: 900;
  }

  .quick-actions span {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    color: var(--white);
    background: linear-gradient(135deg, var(--blue), var(--cyan));
    font-size: 0.72rem;
  }

  .quick-actions strong {
    font-size: 0.92rem;
    line-height: 1.1;
  }

  .quick-actions small {
    font-size: 0.76rem;
    color: var(--muted);
  }

  /* Tarjetas generales: más suaves y modernas */
  .image-card,
  .service-card,
  .contact-card,
  .map-block,
  .location-card,
  .contact-panel,
  .contact-card--premium,
  .faq-item,
  .process-grid article,
  .about__values article,
  .fleet-cards article,
  .symptoms article,
  .symptoms--clear article {
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(8,20,38,0.06);
  }

  /* Servicios móvil: menos saturados, imagen baja y texto claro */
  .service-card {
    background: #ffffff;
    border: 1px solid rgba(12,31,56,0.10);
  }

  .service-card .image-card {
    background: #ffffff;
  }

  .service-card .image-card img {
    max-height: 190px;
    object-fit: contain;
  }

  .service-card .image-card figcaption {
    display: none;
  }

  .service-card__content {
    padding: 16px;
  }

  .service-card h3 {
    font-size: 1.22rem;
  }

  .service-card p {
    color: #4d6077;
  }

  .service-card ul {
    padding-left: 17px;
  }

  .service-card__content a {
    border-radius: 14px;
  }

  /* DPF móvil: imagen importante, pero no gigante */
  .image-card--featured img {
    max-height: 230px;
  }

  .image-card--featured figcaption {
    display: none;
  }

  .symptoms--clear article {
    background: rgba(255,255,255,0.09);
  }

  /* Agenda móvil: más limpia y menos cargada */
  .contact-panel--info {
    background: linear-gradient(180deg, #071225, #0d2444);
  }

  .contact-highlights article {
    background: rgba(255,255,255,0.075);
  }

  .contact-panel__header p,
  .contact-highlights span {
    color: rgba(255,255,255,0.70);
  }

  .contact-card--premium {
    background: rgba(255,255,255,0.96);
  }

  /* Video móvil más compacto */
  .video-card {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 420px) {
  .hero {
    min-height: 310px;
  }

  .mobile-hero-copy {
    max-width: 280px;
  }

  .mobile-hero-copy strong {
    font-size: clamp(1.7rem, 9vw, 2.25rem);
  }

  .mobile-hero-copy span {
    font-size: 0.72rem;
  }

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

  .quick-actions a {
    grid-template-columns: 32px 1fr 18px;
  }
}

/* ===== Mobile final: menos cajones, más orden y fotos más grandes ===== */
@media (max-width: 860px) {
  /* Acciones rápidas: botones compactos sin textos cortados */
  .quick-actions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .quick-actions a {
    min-height: 74px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: center;
    column-gap: 10px;
    padding: 12px;
    overflow: hidden;
  }

  .quick-actions a::after {
    display: none;
  }

  .quick-actions span {
    grid-column: 1;
    grid-row: 1;
    width: 34px;
    height: 34px;
  }

  .quick-actions strong {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    font-size: 0.9rem;
    line-height: 1.12;
  }

  .quick-actions small {
    display: none;
  }

  /* Fotos más grandes y con mejor presencia en móvil */
  .service-card .image-card img {
    max-height: 270px;
    width: 100%;
    object-fit: contain;
    background: #ffffff;
  }

  .about--compact .about__image img,
  .split .image-card img,
  .split--image-left .image-card img {
    width: 100%;
    max-height: 320px;
    object-fit: contain;
  }

  .image-card--featured img {
    max-height: 330px;
    width: 100%;
    object-fit: contain;
  }

  /* DPF: síntomas compactos en grilla para evitar bajar cajón por cajón */
  .dpf__info {
    margin-top: 12px;
  }

  .symptoms--clear {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .symptoms--clear article {
    min-height: 104px;
    padding: 11px;
    border-radius: 15px;
  }

  .symptoms--clear strong {
    font-size: 0.84rem;
    line-height: 1.15;
    margin-bottom: 6px;
  }

  .symptoms--clear span {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.76rem;
    line-height: 1.35;
  }

  .dpf__intro h3 {
    font-size: 1.12rem;
  }

  .dpf__intro p {
    font-size: 0.82rem;
    line-height: 1.42;
  }

  /* Agenda: más simétrica y compacta, sin verse pesada */
  .contact-form-section--premium {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .section-heading--agenda {
    text-align: center;
    margin-bottom: 14px;
  }

  .section-heading--agenda h2 {
    font-size: clamp(1.35rem, 6.5vw, 1.85rem);
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
  }

  .section-heading--agenda p {
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    font-size: 0.84rem;
  }

  .contact-form-layout--premium {
    gap: 12px;
  }

  .contact-panel--info {
    padding: 15px;
  }

  .contact-panel__header h3 {
    font-size: 1.04rem;
    margin-bottom: 5px;
  }

  .contact-panel__header p {
    font-size: 0.8rem;
    line-height: 1.35;
  }

  .contact-highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 10px;
  }

  .contact-highlights article {
    min-height: 54px;
    display: grid;
    place-items: center;
    padding: 8px;
    text-align: center;
    border-radius: 12px;
  }

  .contact-highlights strong {
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.15;
  }

  .contact-highlights span {
    display: none;
  }

  .hours--boxed {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 10px;
  }

  .hours--boxed article {
    padding: 9px;
  }

  .contact-card--premium {
    padding: 15px;
  }

  .contact-card__intro {
    display: none;
  }

  .contact-card--premium .form__row,
  .form__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .contact-card--premium label {
    margin-bottom: 8px;
  }

  .contact-card--premium label span {
    font-size: 0.76rem;
  }

  .contact-card--premium input,
  .contact-card--premium select,
  .contact-card--premium textarea {
    min-height: 40px;
    padding: 8px 10px;
    font-size: 0.84rem;
    border-radius: 11px;
  }

  .contact-card--premium textarea {
    min-height: 62px;
  }

  .contact-card--premium .btn--full {
    min-height: 42px;
    margin-top: 2px;
    border-radius: 13px;
    font-size: 0.9rem;
  }

  .form-note {
    font-size: 0.72rem;
    line-height: 1.3;
    margin-top: 8px;
  }

  /* Cajones en general más livianos */
  .service-card,
  .image-card,
  .contact-panel,
  .contact-card--premium,
  .process-grid article,
  .faq-item,
  .location-card,
  .map-block {
    box-shadow: 0 8px 20px rgba(8,20,38,0.055);
  }
}

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

  .quick-actions a {
    min-height: 68px;
    padding: 10px;
  }

  .quick-actions strong {
    font-size: 0.82rem;
  }

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

  .symptoms--clear article {
    min-height: 98px;
    padding: 10px;
  }

  .symptoms--clear strong {
    font-size: 0.78rem;
  }

  .symptoms--clear span {
    font-size: 0.7rem;
    -webkit-line-clamp: 3;
  }

  .contact-card--premium .form__row,
  .form__row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .contact-highlights {
    grid-template-columns: 1fr;
  }

  .contact-highlights article {
    min-height: 42px;
  }

  .hours--boxed {
    grid-template-columns: 1fr;
  }
}

/* ===== Mobile: tocar fotos para verlas en grande ===== */
.image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(5, 11, 22, 0.92);
  backdrop-filter: blur(14px);
}

.image-lightbox.open {
  display: flex;
}

.image-lightbox img {
  max-width: 96vw;
  max-height: 86vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(0,0,0,0.45);
}

.image-lightbox__close {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 3001;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  color: #ffffff;
  background: rgba(255,255,255,0.14);
  font-size: 2rem;
  line-height: 1;
  display: grid;
  place-items: center;
}

@media (max-width: 860px) {
  main .image-card img,
  .video-card--link img {
    cursor: zoom-in;
  }

  main .image-card::after {
    content: "Tocar para ampliar";
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 2;
    padding: 6px 9px;
    border-radius: 999px;
    color: #ffffff;
    background: rgba(5, 11, 22, 0.68);
    border: 1px solid rgba(255,255,255,0.16);
    font-size: 0.68rem;
    font-weight: 900;
    pointer-events: none;
    backdrop-filter: blur(8px);
  }

  main .image-card {
    position: relative;
  }

  .image-lightbox {
    padding: 12px;
  }

  .image-lightbox img {
    max-width: 94vw;
    max-height: 82vh;
    border-radius: 14px;
  }
}

@media (min-width: 861px) {
  .image-lightbox {
    display: none !important;
  }
}

/* ===== Mobile Optimizada Final: más limpia, menos saturada y más premium ===== */
@media (max-width: 860px) {
  :root {
    --mobile-gap: 12px;
    --mobile-radius: 18px;
  }

  body {
    background: #f6f9fd;
    overflow-x: hidden;
  }

  .container,
  .container-wide {
    width: min(calc(100% - 22px), var(--max-wide));
  }

  /* Header móvil: más elegante y menos cargado */
  .navbar {
    background: rgba(6, 16, 31, 0.92);
  }

  .navbar__inner {
    min-height: 58px;
  }

  .brand img {
    width: 50px;
  }

  .brand strong {
    font-size: 0.86rem;
  }

  .menu-toggle {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .hero {
    min-height: 300px;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
  }

  .hero__media img {
    object-position: 74% center;
    filter: brightness(0.78) contrast(1.02) saturate(0.92);
  }

  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(6,16,31,0.02) 0%, rgba(6,16,31,0.30) 40%, rgba(6,16,31,0.95) 100%);
  }

  .hero__content {
    padding: 14px 0 16px;
  }

  .mobile-hero-copy {
    max-width: 285px;
  }

  .mobile-hero-copy strong {
    font-size: clamp(1.55rem, 8vw, 2.18rem);
    line-height: 0.98;
  }

  .mobile-hero-copy span {
    padding: 6px 10px;
    font-size: 0.68rem;
  }

  .hero__actions {
    max-width: 285px;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
  }

  .hero__actions .btn {
    min-height: 40px;
    border-radius: 13px;
    font-size: 0.84rem;
    padding: 8px 10px;
  }

  /* Acciones rápidas: compactas, simétricas y sin texto cortado */
  .quick-actions {
    padding-top: 12px;
  }

  .quick-actions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .quick-actions a {
    min-width: 0;
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(13, 110, 253, 0.10);
    box-shadow: 0 8px 22px rgba(8, 20, 38, 0.055);
  }

  .quick-actions a::after {
    display: none;
  }

  .quick-actions span {
    flex: 0 0 31px;
    width: 31px;
    height: 31px;
    border-radius: 11px;
    font-size: 0.68rem;
  }

  .quick-actions strong {
    min-width: 0;
    font-size: 0.82rem;
    line-height: 1.12;
    overflow-wrap: anywhere;
  }

  .quick-actions small {
    display: none !important;
  }

  /* Ritmo visual: menos aire innecesario */
  .section,
  .about--compact,
  .dpf--featured,
  .branches,
  .contact-form-section,
  .contact-form-section--premium,
  .video-section {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .section-heading,
  .section-heading--agenda {
    margin-bottom: 14px;
    text-align: left;
  }

  .section-heading h2,
  .section-heading--agenda h2,
  .split__content h2,
  .about__content h2 {
    font-size: clamp(1.34rem, 6.2vw, 1.86rem);
    line-height: 1.08;
  }

  .section-heading p,
  .section-heading--agenda p,
  .split__content p,
  .about__content p {
    font-size: 0.84rem;
    line-height: 1.45;
  }

  .eyebrow,
  .eyebrow--light {
    min-height: 26px;
    padding: 5px 9px;
    font-size: 0.58rem;
    letter-spacing: 0.07em;
  }

  /* Fotos más grandes y limpias */
  .image-card {
    border-radius: var(--mobile-radius);
    overflow: hidden;
  }

  .image-card img,
  .service-card .image-card img,
  .image-card--featured img,
  .about--compact .about__image img,
  .split .image-card img,
  .split--image-left .image-card img {
    width: 100%;
    max-height: none;
    object-fit: contain;
    background: #ffffff;
  }

  .service-card .image-card img {
    min-height: 210px;
  }

  .image-card--featured img {
    min-height: 210px;
  }

  .image-card figcaption {
    display: none;
  }

  main .image-card::after {
    right: 8px;
    bottom: 8px;
    padding: 5px 8px;
    font-size: 0.62rem;
  }

  /* Servicios: tarjetas más atractivas y menos pesadas */
  .service-list {
    gap: 13px;
  }

  .service-card {
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(12,31,56,0.09);
    box-shadow: 0 10px 26px rgba(8,20,38,0.065);
  }

  .service-card__content {
    padding: 15px;
  }

  .service-card__content span {
    font-size: 0.64rem;
    margin-bottom: 6px;
  }

  .service-card h3 {
    font-size: 1.12rem;
    margin-bottom: 7px;
  }

  .service-card p,
  .service-card li {
    font-size: 0.82rem;
    line-height: 1.38;
  }

  .service-card ul {
    margin-top: 9px;
    gap: 3px;
  }

  .service-card__content a {
    min-height: 40px;
    margin-top: 11px;
    border-radius: 13px;
    font-size: 0.84rem;
  }

  /* DPF: síntoma en grilla legible, no cajones gigantes */
  .dpf__intro {
    text-align: left;
  }

  .dpf__intro h3 {
    font-size: 1.06rem;
  }

  .dpf__intro p {
    font-size: 0.8rem;
  }

  .symptoms--clear {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .symptoms--clear article {
    min-height: 92px;
    padding: 10px;
    border-radius: 14px;
  }

  .symptoms--clear strong {
    font-size: 0.76rem;
    line-height: 1.12;
    margin-bottom: 5px;
  }

  .symptoms--clear span {
    font-size: 0.68rem;
    line-height: 1.28;
    -webkit-line-clamp: 3;
  }

  .dpf__cta .btn {
    min-height: 40px;
    border-radius: 13px;
    font-size: 0.84rem;
  }

  /* Proceso: lista compacta y elegante */
  .process-grid {
    gap: 8px;
  }

  .process-grid article {
    padding: 12px;
    border-radius: 15px;
    grid-template-columns: 34px 1fr;
  }

  .process-grid span {
    width: 33px;
    height: 33px;
    font-size: 0.76rem;
  }

  .process-grid strong {
    font-size: 0.92rem;
  }

  .process-grid p {
    font-size: 0.78rem;
  }

  /* Agenda: más equilibrada, menos pesada */
  .contact-form-section--premium {
    background: linear-gradient(180deg, #ffffff, #f6f9fd);
  }

  .section-heading--agenda {
    text-align: center;
  }

  .section-heading--agenda h2 {
    max-width: 315px;
    margin-inline: auto;
  }

  .section-heading--agenda p {
    max-width: 310px;
    margin-inline: auto;
  }

  .contact-form-layout--premium {
    gap: 10px;
  }

  .contact-panel--info,
  .contact-card--premium {
    padding: 14px;
    border-radius: 17px;
  }

  .contact-panel__header h3 {
    font-size: 0.98rem;
    margin-bottom: 4px;
  }

  .contact-panel__header p {
    font-size: 0.76rem;
  }

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

  .contact-highlights article {
    min-height: 48px;
    padding: 7px;
  }

  .contact-highlights strong {
    font-size: 0.66rem;
  }

  .hours--boxed {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .hours--boxed article {
    padding: 8px;
  }

  .hours span {
    font-size: 0.68rem;
  }

  .hours strong {
    font-size: 0.78rem;
  }

  .contact-card__intro {
    display: none;
  }

  .contact-card--premium .form__row,
  .form__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .contact-card--premium label {
    margin-bottom: 7px;
  }

  .contact-card--premium label span {
    font-size: 0.7rem;
  }

  .contact-card--premium input,
  .contact-card--premium select,
  .contact-card--premium textarea {
    min-height: 38px;
    padding: 8px 9px;
    border-radius: 10px;
    font-size: 0.8rem;
  }

  .contact-card--premium textarea {
    min-height: 58px;
  }

  .contact-card--premium .btn--full {
    min-height: 40px;
    font-size: 0.84rem;
  }

  .form-note {
    font-size: 0.66rem;
  }

  /* Video y sucursales */
  .video-card {
    border-radius: 17px;
  }

  .location-card {
    padding: 13px;
  }

  .map-block .map-card iframe {
    height: 160px;
    min-height: 160px;
  }

  /* Barra inferior menos invasiva */
  .mobile-bar {
    border-radius: 15px;
    padding: 6px;
  }

  .mobile-bar a {
    min-height: 38px;
    font-size: 0.78rem;
  }
}

@media (max-width: 380px) {
  .quick-actions__grid {
    gap: 7px;
  }

  .quick-actions a {
    min-height: 58px;
    padding: 9px;
  }

  .quick-actions span {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    font-size: 0.62rem;
  }

  .quick-actions strong {
    font-size: 0.76rem;
  }

  .symptoms--clear article {
    min-height: 88px;
    padding: 9px;
  }

  .symptoms--clear strong {
    font-size: 0.7rem;
  }

  .symptoms--clear span {
    font-size: 0.64rem;
  }

  .contact-highlights {
    grid-template-columns: 1fr;
  }

  .contact-card--premium .form__row,
  .form__row {
    grid-template-columns: 1fr;
  }
}

/* ===== Mobile Hero Premium Final: portada limpia, elegante y funcional ===== */
@media (max-width: 860px) {
  /* Barra superior más fina y clara */
  .navbar {
    position: sticky;
    top: 0;
    background: rgba(5, 11, 22, 0.96);
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .navbar__inner {
    min-height: 56px;
  }

  .brand img {
    width: 48px;
  }

  .brand strong {
    font-size: 0.9rem;
    letter-spacing: -0.02em;
  }

  .menu-toggle {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.10);
    display: grid;
    place-content: center;
    gap: 4px;
  }

  .menu-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    margin: 0;
    background: rgba(255,255,255,0.92);
  }

  /* Portada móvil rediseñada: texto primero, imagen después */
  .hero {
    min-height: auto;
    display: flex;
    flex-direction: column;
    padding: 18px 0 20px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    background:
      radial-gradient(circle at 88% 12%, rgba(13,110,253,0.30), transparent 17rem),
      linear-gradient(160deg, #050b16 0%, #07172b 58%, #0d2444 100%);
    box-shadow: 0 18px 42px rgba(6,16,31,0.24);
    overflow: hidden;
  }

  .hero__overlay {
    display: none;
  }

  .hero__content {
    order: 1;
    position: relative;
    z-index: 2;
    padding: 0;
  }

  .hero__text {
    max-width: 100%;
  }

  .hero .eyebrow,
  .hero h1,
  .hero p {
    display: none !important;
  }

  .mobile-hero-copy {
    display: grid;
    gap: 9px;
    max-width: 100%;
    padding: 0;
  }

  .mobile-hero-copy strong {
    max-width: 12ch;
    color: #ffffff;
    font-family: "Space Grotesk", "Inter", sans-serif;
    font-size: clamp(1.85rem, 8.5vw, 2.55rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    text-shadow: none;
  }

  .mobile-hero-copy span {
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    color: rgba(255,255,255,0.88);
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.14);
    backdrop-filter: blur(10px);
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.04em;
  }

  .hero__actions {
    order: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
    gap: 9px;
    margin-top: 16px;
  }

  .hero__actions .btn {
    min-height: 44px;
    border-radius: 15px;
    padding: 9px 12px;
    font-size: 0.9rem;
    box-shadow: none;
  }

  .hero__actions .btn--light {
    color: #06101f;
    background: #ffffff;
  }

  .hero__actions .btn--primary {
    background: linear-gradient(135deg, #0d6efd, #55d6ff);
  }

  .hero__actions .btn:nth-child(3) {
    display: none;
  }

  .hero__media {
    order: 3;
    position: relative;
    inset: auto;
    width: min(calc(100% - 22px), 520px);
    height: 158px;
    margin: 16px auto 0;
    overflow: hidden;
    border-radius: 24px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: 0 18px 42px rgba(0,0,0,0.22);
  }

  .hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 62% center;
    filter: brightness(0.92) contrast(1.03) saturate(0.96);
    transform: scale(1.01);
  }

  .hero::after {
    content: "San Bernardo · Padre Hurtado";
    order: 4;
    display: inline-flex;
    width: fit-content;
    margin: 10px auto 0;
    padding: 6px 11px;
    border-radius: 999px;
    color: rgba(255,255,255,0.72);
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.08);
    font-size: 0.72rem;
    font-weight: 800;
  }

  /* Acciones rápidas debajo del hero: estilo premium, no cajones grandes */
  .quick-actions {
    margin-top: 0;
    padding-top: 14px;
    background: #f6f9fd;
  }

  .quick-actions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .quick-actions a {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px;
    border-radius: 17px;
    background: #ffffff;
    border: 1px solid rgba(13,110,253,0.09);
    box-shadow: 0 8px 22px rgba(8,20,38,0.055);
  }

  .quick-actions a::after {
    display: none;
  }

  .quick-actions span {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 11px;
    background: linear-gradient(135deg, #0d6efd, #55d6ff);
    color: #ffffff;
    font-size: 0.64rem;
  }

  .quick-actions strong {
    font-size: 0.78rem;
    line-height: 1.1;
    color: #071225;
  }

  .quick-actions small {
    display: none !important;
  }

  /* Primer título después del hero, más respirable */
  #servicios .section-heading {
    margin-top: 2px;
  }

  #servicios .section-heading h2 {
    font-size: clamp(1.35rem, 6.5vw, 1.95rem);
  }
}

@media (max-width: 420px) {
  .hero {
    padding-top: 16px;
    padding-bottom: 18px;
  }

  .mobile-hero-copy strong {
    font-size: clamp(1.72rem, 8.8vw, 2.28rem);
  }

  .mobile-hero-copy span {
    font-size: 0.68rem;
  }

  .hero__media {
    height: 144px;
    border-radius: 21px;
  }

  .hero__actions {
    gap: 8px;
  }

  .hero__actions .btn {
    min-height: 42px;
    font-size: 0.84rem;
  }

  .quick-actions a {
    min-height: 54px;
    padding: 9px;
  }

  .quick-actions span {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
  }

  .quick-actions strong {
    font-size: 0.74rem;
  }
}

/* ===== Nuevo modelo mobile: hero editorial premium ===== */
@media (max-width: 860px) {
  /* La portada móvil deja de ser un bloque pesado y pasa a ser foto + panel editorial */
  .hero {
    display: flex;
    flex-direction: column;
    min-height: auto;
    padding: 14px 0 18px;
    background: linear-gradient(180deg, #06101f 0%, #081a31 48%, #f6f9fd 48%, #f6f9fd 100%);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: none;
    overflow: visible;
  }

  .hero__overlay {
    display: none !important;
  }

  .hero__media {
    order: 1;
    position: relative;
    inset: auto;
    width: min(calc(100% - 22px), 520px);
    height: 205px;
    margin: 0 auto;
    border-radius: 26px;
    overflow: hidden;
    background: #071225;
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: 0 20px 48px rgba(5,11,22,0.28);
  }

  .hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(5,11,22,0.02), rgba(5,11,22,0.26)),
      linear-gradient(90deg, rgba(5,11,22,0.14), transparent 55%);
    pointer-events: none;
  }

  .hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 62% center;
    filter: brightness(0.94) contrast(1.03) saturate(0.95);
    transform: scale(1.01);
  }

  .hero__content {
    order: 2;
    position: relative;
    z-index: 2;
    width: min(calc(100% - 38px), 500px);
    margin: -38px auto 0;
    padding: 0;
  }

  .hero__text {
    padding: 18px;
    border-radius: 24px;
    background:
      radial-gradient(circle at 100% 0%, rgba(85,214,255,0.17), transparent 13rem),
      linear-gradient(160deg, rgba(6,16,31,0.98), rgba(11,33,59,0.98));
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: 0 18px 44px rgba(5,11,22,0.22);
  }

  .hero .eyebrow,
  .hero h1,
  .hero p {
    display: none !important;
  }

  .mobile-hero-copy {
    display: grid;
    gap: 7px;
    max-width: 100%;
  }

  .mobile-hero-copy small {
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    color: #55d6ff;
    background: rgba(85,214,255,0.09);
    border: 1px solid rgba(85,214,255,0.16);
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .mobile-hero-copy strong {
    max-width: 10.5ch;
    color: #ffffff;
    font-family: "Space Grotesk", "Inter", sans-serif;
    font-size: clamp(1.62rem, 7.6vw, 2.28rem);
    line-height: 0.98;
    letter-spacing: -0.058em;
    text-shadow: none;
  }

  .mobile-hero-copy span {
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    color: rgba(255,255,255,0.82);
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.10);
    font-size: 0.72rem;
    font-weight: 900;
  }

  .hero__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
    gap: 9px;
    margin-top: 14px;
  }

  .hero__actions .btn {
    min-height: 42px;
    border-radius: 14px;
    padding: 9px 12px;
    font-size: 0.86rem;
    box-shadow: none;
  }

  .hero__actions .btn--light {
    color: #071225;
    background: #ffffff;
  }

  .hero__actions .btn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, #0d6efd, #55d6ff);
  }

  .hero__actions .btn:nth-child(3) {
    display: none !important;
  }

  .hero::after {
    content: "San Bernardo · Padre Hurtado";
    order: 3;
    width: fit-content;
    margin: 10px auto 0;
    padding: 6px 11px;
    border-radius: 999px;
    color: #52647a;
    background: #ffffff;
    border: 1px solid rgba(12,31,56,0.09);
    box-shadow: 0 8px 20px rgba(8,20,38,0.055);
    font-size: 0.72rem;
    font-weight: 900;
  }

  /* Acciones rápidas: más finas, menos “cajón”, más funcionales */
  .quick-actions {
    margin-top: 0;
    padding-top: 10px;
    background: #f6f9fd;
  }

  .quick-actions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .quick-actions a {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border-radius: 15px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(12,31,56,0.08);
    box-shadow: 0 8px 20px rgba(8,20,38,0.052);
  }

  .quick-actions a::after {
    display: none !important;
  }

  .quick-actions span {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    color: #ffffff;
    background: linear-gradient(135deg, #0d6efd, #55d6ff);
    font-size: 0.62rem;
  }

  .quick-actions strong {
    min-width: 0;
    color: #071225;
    font-size: 0.76rem;
    line-height: 1.08;
    letter-spacing: -0.02em;
  }

  .quick-actions small {
    display: none !important;
  }
}

@media (max-width: 420px) {
  .hero {
    padding-top: 12px;
  }

  .hero__media {
    height: 188px;
    border-radius: 23px;
  }

  .hero__content {
    width: min(calc(100% - 30px), 500px);
    margin-top: -34px;
  }

  .hero__text {
    padding: 16px;
    border-radius: 22px;
  }

  .mobile-hero-copy strong {
    font-size: clamp(1.52rem, 8.2vw, 2.05rem);
  }

  .mobile-hero-copy span {
    font-size: 0.67rem;
  }

  .hero__actions .btn {
    min-height: 40px;
    font-size: 0.82rem;
  }

  .quick-actions a {
    min-height: 50px;
    padding: 8px;
  }

  .quick-actions span {
    flex-basis: 26px;
    width: 26px;
    height: 26px;
    font-size: 0.58rem;
  }

  .quick-actions strong {
    font-size: 0.71rem;
  }
}

/* ===== Mobile Hero sin imagen: diseño premium, limpio y funcional ===== */
.mobile-hero-points {
  display: none;
}

@media (max-width: 860px) {
  /* Portada móvil sin imagen: más profesional y menos saturada */
  .hero {
    position: relative;
    display: block;
    min-height: auto;
    margin: 0;
    padding: 22px 0 24px;
    overflow: hidden;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    background:
      radial-gradient(circle at 100% 0%, rgba(85,214,255,0.22), transparent 15rem),
      radial-gradient(circle at 0% 100%, rgba(13,110,253,0.22), transparent 14rem),
      linear-gradient(155deg, #050b16 0%, #071225 44%, #0d2444 100%);
    box-shadow: 0 18px 44px rgba(6,16,31,0.22);
  }

  .hero::before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,0.08);
    pointer-events: none;
  }

  .hero::after {
    content: "San Bernardo · Padre Hurtado";
    position: relative;
    display: inline-flex;
    width: fit-content;
    margin: 14px auto 0;
    padding: 7px 12px;
    border-radius: 999px;
    color: rgba(255,255,255,0.74);
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: none;
    font-size: 0.72rem;
    font-weight: 900;
  }

  .hero__media {
    display: none !important;
  }

  .hero__overlay {
    display: none !important;
  }

  .hero__content {
    position: relative;
    z-index: 2;
    width: min(calc(100% - 36px), 520px);
    margin: 0 auto;
    padding: 0;
  }

  .hero__text {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .hero .eyebrow,
  .hero h1,
  .hero p {
    display: none !important;
  }

  .mobile-hero-copy {
    display: grid;
    gap: 9px;
    max-width: 100%;
  }

  .mobile-hero-copy small {
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    color: #55d6ff;
    background: rgba(85,214,255,0.10);
    border: 1px solid rgba(85,214,255,0.18);
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .mobile-hero-copy strong {
    max-width: 11ch;
    color: #ffffff;
    font-family: "Space Grotesk", "Inter", sans-serif;
    font-size: clamp(1.9rem, 8.8vw, 2.7rem);
    line-height: 0.94;
    letter-spacing: -0.065em;
    text-shadow: none;
  }

  .mobile-hero-copy span {
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    color: rgba(255,255,255,0.86);
    background: rgba(255,255,255,0.09);
    border: 1px solid rgba(255,255,255,0.12);
    font-size: 0.74rem;
    font-weight: 900;
  }

  .mobile-hero-points {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin-top: 15px;
  }

  .mobile-hero-points span {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 9px 12px;
    border-radius: 15px;
    color: rgba(255,255,255,0.82);
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.09);
    font-size: 0.82rem;
    font-weight: 800;
  }

  .mobile-hero-points span::before {
    content: "";
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d6efd, #55d6ff);
    box-shadow: 0 0 16px rgba(85,214,255,0.55);
  }

  .hero__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    max-width: 100%;
    margin-top: 16px;
  }

  .hero__actions .btn {
    min-height: 44px;
    border-radius: 15px;
    padding: 9px 12px;
    font-size: 0.88rem;
    box-shadow: none;
  }

  .hero__actions .btn--light {
    color: #06101f;
    background: #ffffff;
  }

  .hero__actions .btn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, #0d6efd, #55d6ff);
  }

  .hero__actions .btn:nth-child(3) {
    display: none !important;
  }

  /* Acciones rápidas más atractivas: mini paneles limpios */
  .quick-actions {
    padding-top: 14px;
    background: #f6f9fd;
  }

  .quick-actions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .quick-actions a {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px;
    border-radius: 17px;
    background: #ffffff;
    border: 1px solid rgba(13,110,253,0.09);
    box-shadow: 0 8px 22px rgba(8,20,38,0.055);
  }

  .quick-actions a::after {
    display: none !important;
  }

  .quick-actions span {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 11px;
    color: #ffffff;
    background: linear-gradient(135deg, #0d6efd, #55d6ff);
    font-size: 0.64rem;
  }

  .quick-actions strong {
    min-width: 0;
    color: #071225;
    font-size: 0.78rem;
    line-height: 1.08;
    letter-spacing: -0.02em;
  }

  .quick-actions small {
    display: none !important;
  }
}

@media (max-width: 420px) {
  .hero {
    padding: 20px 0 22px;
    border-bottom-left-radius: 26px;
    border-bottom-right-radius: 26px;
  }

  .hero__content {
    width: min(calc(100% - 30px), 520px);
  }

  .mobile-hero-copy strong {
    font-size: clamp(1.74rem, 9vw, 2.38rem);
  }

  .mobile-hero-copy span {
    font-size: 0.68rem;
  }

  .mobile-hero-points {
    margin-top: 13px;
  }

  .mobile-hero-points span {
    min-height: 35px;
    padding: 8px 10px;
    font-size: 0.76rem;
  }

  .hero__actions .btn {
    min-height: 42px;
    font-size: 0.84rem;
  }

  .quick-actions a {
    min-height: 54px;
    padding: 9px;
  }

  .quick-actions span {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    font-size: 0.6rem;
  }

  .quick-actions strong {
    font-size: 0.72rem;
  }
}

/* ===== Mobile Hero Ejecutivo Final ===== */
@media (max-width: 860px) {
  .navbar {
    background: #050b16 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  }

  .navbar__inner {
    min-height: 58px !important;
  }

  .brand img {
    width: 52px !important;
  }

  .brand strong {
    font-size: 0.9rem !important;
  }

  .menu-toggle {
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
  }

  .hero {
    display: block !important;
    min-height: auto !important;
    padding: 14px 0 10px !important;
    background: #f6f9fd !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .hero__media,
  .hero__overlay {
    display: none !important;
  }

  .hero::before,
  .hero::after {
    content: none !important;
    display: none !important;
  }

  .hero__content {
    width: min(calc(100% - 24px), 520px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .hero__text {
    position: relative !important;
    overflow: hidden !important;
    padding: 20px !important;
    border-radius: 26px !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(85,214,255,0.18), transparent 12rem),
      radial-gradient(circle at 0% 100%, rgba(13,110,253,0.20), transparent 11rem),
      linear-gradient(155deg, #050b16 0%, #071225 48%, #0d2444 100%) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    box-shadow: 0 18px 42px rgba(5,11,22,0.20) !important;
  }

  .hero__text::before {
    content: "" !important;
    position: absolute !important;
    right: -40px !important;
    top: -44px !important;
    width: 145px !important;
    height: 145px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, rgba(13,110,253,0.22), rgba(85,214,255,0.10)) !important;
    filter: blur(1px) !important;
    pointer-events: none !important;
  }

  .hero__text::after {
    content: "San Bernardo · Padre Hurtado" !important;
    position: absolute !important;
    right: 16px !important;
    top: 16px !important;
    max-width: 128px !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,0.72) !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    font-size: 0.62rem !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    text-align: center !important;
    pointer-events: none !important;
  }

  .hero .eyebrow,
  .hero h1,
  .hero p {
    display: none !important;
  }

  .mobile-hero-copy {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    gap: 8px !important;
    max-width: 260px !important;
  }

  .mobile-hero-copy small {
    width: fit-content !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    color: #55d6ff !important;
    background: rgba(85,214,255,0.10) !important;
    border: 1px solid rgba(85,214,255,0.18) !important;
    font-size: 0.62rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .mobile-hero-copy strong {
    color: #ffffff !important;
    font-family: "Space Grotesk", "Inter", sans-serif !important;
    font-size: clamp(1.65rem, 8vw, 2.35rem) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.06em !important;
    max-width: 9.5ch !important;
  }

  .mobile-hero-copy em {
    display: block !important;
    max-width: 28ch !important;
    color: rgba(255,255,255,0.72) !important;
    font-size: 0.82rem !important;
    line-height: 1.38 !important;
    font-style: normal !important;
    font-weight: 600 !important;
  }

  .mobile-hero-copy span {
    display: none !important;
  }

  .mobile-hero-points {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-top: 16px !important;
  }

  .mobile-hero-points span {
    min-height: 38px !important;
    display: grid !important;
    place-items: center !important;
    padding: 7px 5px !important;
    border-radius: 14px !important;
    color: rgba(255,255,255,0.88) !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    font-size: 0.68rem !important;
    font-weight: 900 !important;
    text-align: center !important;
    line-height: 1.1 !important;
  }

  .mobile-hero-points span::before {
    display: none !important;
  }

  .hero__actions {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
    margin-top: 16px !important;
    max-width: 100% !important;
  }

  .hero__actions .btn {
    min-height: 44px !important;
    padding: 9px 12px !important;
    border-radius: 15px !important;
    font-size: 0.88rem !important;
    box-shadow: none !important;
  }

  .hero__actions .btn--light {
    color: #06101f !important;
    background: #ffffff !important;
  }

  .hero__actions .btn--primary {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0d6efd, #55d6ff) !important;
  }

  .hero__actions .btn:nth-child(3) {
    display: none !important;
  }

  .quick-actions {
    padding-top: 12px !important;
    background: #f6f9fd !important;
  }

  .quick-actions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .quick-actions a {
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 9px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.96) !important;
    border: 1px solid rgba(12,31,56,0.08) !important;
    box-shadow: 0 8px 18px rgba(8,20,38,0.05) !important;
  }

  .quick-actions a::after {
    display: none !important;
  }

  .quick-actions span {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0d6efd, #55d6ff) !important;
    font-size: 0.6rem !important;
  }

  .quick-actions strong {
    min-width: 0 !important;
    color: #071225 !important;
    font-size: 0.72rem !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
  }

  .quick-actions small {
    display: none !important;
  }

  .mobile-bar {
    box-shadow: 0 12px 26px rgba(5,11,22,0.20) !important;
  }
}

@media (max-width: 420px) {
  .hero__text {
    padding: 18px !important;
    border-radius: 24px !important;
  }

  .hero__text::after {
    position: static !important;
    display: inline-flex !important;
    margin-top: 12px !important;
    max-width: none !important;
  }

  .mobile-hero-copy {
    max-width: 100% !important;
  }

  .mobile-hero-copy strong {
    max-width: 10ch !important;
    font-size: clamp(1.56rem, 8.2vw, 2.1rem) !important;
  }

  .mobile-hero-copy em {
    max-width: 27ch !important;
    font-size: 0.78rem !important;
  }

  .mobile-hero-points {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mobile-hero-points span {
    min-height: 34px !important;
    font-size: 0.66rem !important;
  }

  .hero__actions .btn {
    min-height: 42px !important;
    font-size: 0.84rem !important;
  }

  .quick-actions a {
    min-height: 48px !important;
  }

  .quick-actions span {
    flex-basis: 26px !important;
    width: 26px !important;
    height: 26px !important;
  }

  .quick-actions strong {
    font-size: 0.68rem !important;
  }
}

/* ===== Mobile Pro: rediseño visual completo solo para celular ===== */
.mobile-agenda-flow {
  display: none;
}

@media (max-width: 860px) {
  body.mobile-polish {
    background:
      radial-gradient(circle at 100% 0%, rgba(13,110,253,0.06), transparent 18rem),
      linear-gradient(180deg, #f7faff, #eef4fb);
  }

  body.mobile-polish .container,
  body.mobile-polish .container-wide {
    width: min(calc(100% - 22px), var(--max-wide));
  }

  /* Barra superior más fina y premium */
  body.mobile-polish .navbar {
    background: rgba(5, 11, 22, 0.97) !important;
    backdrop-filter: blur(18px);
  }

  body.mobile-polish .navbar__inner {
    min-height: 56px !important;
  }

  body.mobile-polish .brand img {
    width: 48px !important;
  }

  body.mobile-polish .brand strong {
    font-size: 0.86rem !important;
  }

  body.mobile-polish .menu-toggle {
    width: 38px !important;
    height: 38px !important;
    border-radius: 13px !important;
  }

  /* Hero móvil: más compacto, más elegante */
  body.mobile-polish .hero {
    padding-top: 12px !important;
    padding-bottom: 6px !important;
  }

  body.mobile-polish .hero__content {
    width: min(calc(100% - 22px), 520px) !important;
  }

  body.mobile-polish .hero__text {
    padding: 18px !important;
    border-radius: 24px !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(85,214,255,0.16), transparent 11rem),
      linear-gradient(155deg, #050b16 0%, #071225 52%, #0b213b 100%) !important;
    box-shadow: 0 16px 36px rgba(5,11,22,0.18) !important;
  }

  body.mobile-polish .mobile-hero-copy strong {
    font-size: clamp(1.52rem, 7.5vw, 2.16rem) !important;
    max-width: 10ch !important;
  }

  body.mobile-polish .mobile-hero-copy em {
    font-size: 0.78rem !important;
    max-width: 26ch !important;
  }

  body.mobile-polish .mobile-hero-points {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-top: 14px !important;
  }

  body.mobile-polish .mobile-hero-points span {
    min-height: 34px !important;
    border-radius: 12px !important;
    font-size: 0.62rem !important;
  }

  body.mobile-polish .hero__actions {
    gap: 8px !important;
    margin-top: 14px !important;
  }

  body.mobile-polish .hero__actions .btn {
    min-height: 41px !important;
    border-radius: 14px !important;
    font-size: 0.84rem !important;
  }

  /* Acciones rápidas estilo app */
  body.mobile-polish .quick-actions {
    padding-top: 10px !important;
  }

  body.mobile-polish .quick-actions__grid {
    gap: 8px !important;
  }

  body.mobile-polish .quick-actions a {
    min-height: 52px !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.90)) !important;
    box-shadow: 0 10px 22px rgba(8,20,38,0.055) !important;
  }

  body.mobile-polish .quick-actions span {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
  }

  body.mobile-polish .quick-actions strong {
    font-size: 0.7rem !important;
  }

  /* Ritmo general más limpio */
  body.mobile-polish .section,
  body.mobile-polish .about--compact,
  body.mobile-polish .dpf--featured,
  body.mobile-polish .branches,
  body.mobile-polish .contact-form-section,
  body.mobile-polish .contact-form-section--premium,
  body.mobile-polish .video-section {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body.mobile-polish .section-heading,
  body.mobile-polish .section-heading--agenda {
    margin-bottom: 14px !important;
  }

  body.mobile-polish .eyebrow,
  body.mobile-polish .eyebrow--light {
    min-height: 25px !important;
    padding: 5px 9px !important;
    font-size: 0.56rem !important;
  }

  body.mobile-polish .section-heading h2,
  body.mobile-polish .section-heading--agenda h2,
  body.mobile-polish .split__content h2,
  body.mobile-polish .about__content h2 {
    font-size: clamp(1.28rem, 6.1vw, 1.78rem) !important;
    line-height: 1.08 !important;
  }

  body.mobile-polish .section-heading p,
  body.mobile-polish .section-heading--agenda p,
  body.mobile-polish .split__content p,
  body.mobile-polish .about__content p {
    font-size: 0.82rem !important;
    line-height: 1.44 !important;
  }

  /* Imágenes y tarjetas más pulidas */
  body.mobile-polish .image-card,
  body.mobile-polish .service-card,
  body.mobile-polish .contact-card,
  body.mobile-polish .contact-panel,
  body.mobile-polish .contact-card--premium,
  body.mobile-polish .location-card,
  body.mobile-polish .map-block,
  body.mobile-polish .faq-item,
  body.mobile-polish .process-grid article {
    border-radius: 17px !important;
    box-shadow: 0 10px 24px rgba(8,20,38,0.055) !important;
  }

  body.mobile-polish .service-card .image-card img {
    min-height: 210px !important;
    max-height: none !important;
  }

  body.mobile-polish .service-card__content {
    padding: 15px !important;
  }

  body.mobile-polish .service-card h3 {
    font-size: 1.08rem !important;
  }

  body.mobile-polish .service-card p,
  body.mobile-polish .service-card li {
    font-size: 0.8rem !important;
  }

  /* DPF: visual y compacta */
  body.mobile-polish .image-card--featured img {
    min-height: 215px !important;
    max-height: none !important;
  }

  body.mobile-polish .symptoms--clear {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.mobile-polish .symptoms--clear article {
    min-height: 88px !important;
    padding: 10px !important;
    border-radius: 14px !important;
  }

  body.mobile-polish .symptoms--clear strong {
    font-size: 0.72rem !important;
  }

  body.mobile-polish .symptoms--clear span {
    font-size: 0.64rem !important;
    line-height: 1.25 !important;
  }

  /* Proceso: tipo checklist premium */
  body.mobile-polish .process-grid {
    gap: 8px !important;
  }

  body.mobile-polish .process-grid article {
    padding: 12px !important;
    border-left: 4px solid rgba(13,110,253,0.55);
    background: rgba(255,255,255,0.94) !important;
  }

  /* ===== AGENDA MOBILE: sección protagonista, visual y simétrica ===== */
  body.mobile-polish .contact-form-section--premium {
    padding-top: 30px !important;
    padding-bottom: 34px !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(13,110,253,0.10), transparent 16rem),
      linear-gradient(180deg, #ffffff 0%, #eef4fb 100%) !important;
  }

  body.mobile-polish .section-heading--agenda {
    text-align: center !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.mobile-polish .section-heading--agenda .eyebrow {
    margin-inline: auto !important;
  }

  body.mobile-polish .section-heading--agenda h2 {
    font-size: clamp(1.34rem, 6.4vw, 1.88rem) !important;
    max-width: 12ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.mobile-polish .section-heading--agenda p {
    max-width: 32ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: #66778c !important;
  }

  body.mobile-polish .mobile-agenda-flow {
    width: min(calc(100% - 22px), 520px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 0 auto 12px;
  }

  body.mobile-polish .mobile-agenda-flow span {
    min-height: 48px;
    display: grid;
    place-items: center;
    padding: 8px 6px;
    border-radius: 15px;
    color: #071225;
    background: #ffffff;
    border: 1px solid rgba(13,110,253,0.10);
    box-shadow: 0 8px 20px rgba(8,20,38,0.055);
    font-size: 0.66rem;
    line-height: 1.12;
    font-weight: 900;
    text-align: center;
  }

  body.mobile-polish .contact-form-layout--premium {
    gap: 10px !important;
  }

  body.mobile-polish .contact-panel--info {
    padding: 14px !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(85,214,255,0.12), transparent 10rem),
      linear-gradient(155deg, #071225, #0b213b) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
  }

  body.mobile-polish .contact-panel__header {
    text-align: center;
  }

  body.mobile-polish .contact-panel__header h3 {
    font-size: 1.02rem !important;
    margin-bottom: 5px !important;
  }

  body.mobile-polish .contact-panel__header p {
    font-size: 0.74rem !important;
    max-width: 32ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.mobile-polish .contact-highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-top: 11px !important;
  }

  body.mobile-polish .contact-highlights article {
    min-height: 48px !important;
    padding: 7px !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,0.08) !important;
  }

  body.mobile-polish .contact-highlights strong {
    font-size: 0.64rem !important;
    line-height: 1.12 !important;
  }

  body.mobile-polish .contact-highlights span {
    display: none !important;
  }

  body.mobile-polish .hours--boxed {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-top: 10px !important;
  }

  body.mobile-polish .hours--boxed article {
    padding: 8px !important;
    border-radius: 12px !important;
  }

  body.mobile-polish .hours span {
    font-size: 0.66rem !important;
  }

  body.mobile-polish .hours strong {
    font-size: 0.76rem !important;
  }

  body.mobile-polish .contact-card--premium {
    padding: 14px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,0.98) !important;
    border: 1px solid rgba(12,31,56,0.09) !important;
  }

  body.mobile-polish .contact-card__intro {
    display: block !important;
    text-align: center;
    margin-bottom: 10px !important;
  }

  body.mobile-polish .contact-card__intro h3 {
    font-size: 1rem !important;
    margin-bottom: 3px !important;
  }

  body.mobile-polish .contact-card__intro p {
    font-size: 0.72rem !important;
    max-width: 30ch;
    margin-inline: auto;
  }

  body.mobile-polish .contact-card--premium .form__row,
  body.mobile-polish .form__row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body.mobile-polish .contact-card--premium label {
    margin-bottom: 7px !important;
  }

  body.mobile-polish .contact-card--premium label span {
    font-size: 0.68rem !important;
    color: #33445b !important;
  }

  body.mobile-polish .contact-card--premium input,
  body.mobile-polish .contact-card--premium select,
  body.mobile-polish .contact-card--premium textarea {
    min-height: 38px !important;
    padding: 8px 9px !important;
    border-radius: 11px !important;
    font-size: 0.8rem !important;
    background: #f8fbff !important;
  }

  body.mobile-polish .contact-card--premium textarea {
    min-height: 60px !important;
  }

  body.mobile-polish .contact-card--premium .btn--full {
    min-height: 42px !important;
    border-radius: 13px !important;
    font-size: 0.86rem !important;
    margin-top: 2px !important;
  }

  body.mobile-polish .form-note {
    font-size: 0.66rem !important;
    line-height: 1.3 !important;
  }

  /* Video / sucursales / footer */
  body.mobile-polish .video-card {
    border-radius: 17px !important;
  }

  body.mobile-polish .map-block .map-card iframe {
    height: 155px !important;
    min-height: 155px !important;
  }

  body.mobile-polish .mobile-bar {
    left: 9px !important;
    right: 9px !important;
    bottom: 9px !important;
    padding: 6px !important;
    border-radius: 16px !important;
    background: rgba(5,11,22,0.92) !important;
    box-shadow: 0 16px 32px rgba(5,11,22,0.25) !important;
  }

  body.mobile-polish .mobile-bar a {
    min-height: 38px !important;
    border-radius: 12px !important;
    font-size: 0.78rem !important;
  }
}

@media (max-width: 420px) {
  body.mobile-polish .mobile-agenda-flow {
    grid-template-columns: 1fr;
  }

  body.mobile-polish .mobile-agenda-flow span {
    min-height: 38px;
  }

  body.mobile-polish .contact-card--premium .form__row,
  body.mobile-polish .form__row {
    grid-template-columns: 1fr !important;
  }

  body.mobile-polish .contact-highlights,
  body.mobile-polish .hours--boxed {
    grid-template-columns: 1fr !important;
  }
}

/* ===== Mobile blanco premium inspirado en mockup ===== */
.mobile-white-hero {
  display: none;
}

@media (max-width: 860px) {
  body.mobile-white-premium {
    background: #f7faff;
  }

  body.mobile-white-premium .navbar {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(12, 31, 56, 0.08) !important;
    box-shadow: 0 8px 24px rgba(8, 20, 38, 0.05) !important;
  }

  body.mobile-white-premium .navbar__inner {
    min-height: 58px !important;
  }

  body.mobile-white-premium .brand img {
    width: 50px !important;
  }

  body.mobile-white-premium .brand strong {
    color: #071225 !important;
    font-size: 0.9rem !important;
  }

  body.mobile-white-premium .menu-toggle {
    width: 40px !important;
    height: 40px !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    border: 1px solid rgba(12,31,56,0.09) !important;
    box-shadow: 0 10px 24px rgba(8,20,38,0.07) !important;
  }

  body.mobile-white-premium .menu-toggle span {
    background: #071225 !important;
  }

  body.mobile-white-premium .hero {
    display: block !important;
    min-height: auto !important;
    padding: 10px 0 20px !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(13,110,253,0.08), transparent 16rem),
      linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
    border-radius: 0 0 30px 30px !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.mobile-white-premium .hero__media,
  body.mobile-white-premium .hero__overlay,
  body.mobile-white-premium .hero__content {
    display: none !important;
  }

  body.mobile-white-premium .hero::before,
  body.mobile-white-premium .hero::after {
    content: none !important;
    display: none !important;
  }

  body.mobile-white-premium .mobile-white-hero {
    display: block;
    width: min(calc(100% - 22px), 540px);
    margin: 0 auto;
    padding: 18px 14px 20px;
    border-radius: 30px;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.94)),
      radial-gradient(circle at 100% 10%, rgba(13,110,253,0.08), transparent 12rem);
    border: 1px solid rgba(12,31,56,0.08);
    box-shadow: 0 18px 50px rgba(8,20,38,0.08);
    position: relative;
  }

  body.mobile-white-premium .mobile-white-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -24px;
    height: 64px;
    background:
      radial-gradient(ellipse at 40% 0%, rgba(13,110,253,0.16), transparent 62%),
      linear-gradient(90deg, transparent, rgba(13,110,253,0.20), transparent);
    pointer-events: none;
  }

  .mobile-white-hero__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 26px;
  }

  .mobile-white-hero__top img {
    width: 158px;
    max-width: 58%;
    height: auto;
    object-fit: contain;
  }

  .mobile-white-hero__menu {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    gap: 4px;
    border: 0;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(8,20,38,0.08);
  }

  .mobile-white-hero__menu span {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: #071225;
  }

  .mobile-white-hero__headline {
    display: grid;
    grid-template-columns: 4px 1fr;
    gap: 14px;
    align-items: stretch;
  }

  .mobile-white-hero__line {
    width: 3px;
    border-radius: 99px;
    background: linear-gradient(180deg, #0d6efd, #55d6ff);
    box-shadow: 0 0 22px rgba(13,110,253,0.32);
  }

  .mobile-white-hero__headline h1 {
    margin: 0;
    color: #071225;
    font-family: "Space Grotesk", "Inter", sans-serif;
    font-size: clamp(2.18rem, 10.6vw, 3.52rem);
    line-height: 0.96;
    letter-spacing: -0.075em;
  }

  .mobile-white-hero__headline h1 strong {
    display: block;
    color: #0d6efd;
  }

  .mobile-white-hero__headline p {
    margin-top: 16px;
    color: #56677d;
    font-size: 0.98rem;
    line-height: 1.42;
    max-width: 28ch;
  }

  .mobile-white-hero__chips {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-top: 22px;
  }

  .mobile-white-hero__chips span {
    display: grid;
    place-items: center;
    min-height: 40px;
    padding: 7px 6px;
    border-radius: 999px;
    color: #071225;
    background: #ffffff;
    border: 1px solid rgba(13,110,253,0.12);
    box-shadow: 0 8px 18px rgba(8,20,38,0.045);
    font-size: 0.75rem;
    font-weight: 900;
  }

  .mobile-white-hero__actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
  }

  .mobile-white-hero__btn {
    min-height: 46px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 950;
    font-size: 0.86rem;
    letter-spacing: -0.02em;
  }

  .mobile-white-hero__btn--call {
    color: #ffffff;
    background: linear-gradient(135deg, #0d6efd, #1768e8);
    box-shadow: 0 12px 24px rgba(13,110,253,0.18);
  }

  .mobile-white-hero__btn--whatsapp {
    color: #0a9b4b;
    background: rgba(37,211,102,0.07);
    border: 1px solid rgba(37,211,102,0.38);
  }

  .mobile-white-hero__btn--quote {
    color: #0d6efd;
    background: #ffffff;
    border: 1px solid rgba(13,110,253,0.36);
  }

  .mobile-white-hero__location {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 18px;
    color: #506178;
    font-size: 0.86rem;
    font-weight: 850;
  }

  .mobile-white-hero__location::before {
    content: "●";
    color: #0d6efd;
    font-size: 0.78rem;
  }

  .mobile-white-hero__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
    position: relative;
    z-index: 2;
  }

  .mobile-white-hero__cards article {
    min-height: 132px;
    padding: 12px 8px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(13,110,253,0.10);
    box-shadow: 0 10px 26px rgba(8,20,38,0.055);
    text-align: center;
  }

  .mobile-white-hero__cards article > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    margin: 0 auto 10px;
    border-radius: 50%;
    color: #0d6efd;
    background: rgba(13,110,253,0.07);
    font-size: 1rem;
    font-weight: 900;
  }

  .mobile-white-hero__cards strong {
    display: block;
    color: #071225;
    font-size: 0.84rem;
    line-height: 1.12;
  }

  .mobile-white-hero__cards small {
    display: block;
    margin-top: 8px;
    color: #66778c;
    font-size: 0.64rem;
    line-height: 1.28;
  }

  /* Quitar duplicación visual de acciones rápidas en móvil */
  body.mobile-white-premium .quick-actions {
    display: none !important;
  }

  /* Ajustar el comienzo de servicios para que siga limpio */
  body.mobile-white-premium #servicios {
    padding-top: 30px !important;
  }

  body.mobile-white-premium #servicios .section-heading {
    text-align: left !important;
  }

  body.mobile-white-premium #servicios .section-heading h2 {
    font-size: clamp(1.35rem, 6.5vw, 1.95rem) !important;
  }
}

@media (max-width: 420px) {
  body.mobile-white-premium .mobile-white-hero {
    padding: 16px 12px 18px;
    border-radius: 26px;
  }

  .mobile-white-hero__top {
    margin-bottom: 22px;
  }

  .mobile-white-hero__top img {
    width: 146px;
  }

  .mobile-white-hero__menu {
    width: 50px;
    height: 50px;
    border-radius: 18px;
  }

  .mobile-white-hero__headline h1 {
    font-size: clamp(1.96rem, 10.8vw, 3.12rem);
  }

  .mobile-white-hero__headline p {
    font-size: 0.9rem;
  }

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

  .mobile-white-hero__actions {
    grid-template-columns: 1fr;
  }

  .mobile-white-hero__btn {
    min-height: 42px;
  }

  .mobile-white-hero__cards {
    grid-template-columns: 1fr;
  }

  .mobile-white-hero__cards article {
    min-height: auto;
    display: grid;
    grid-template-columns: 42px 1fr;
    column-gap: 10px;
    text-align: left;
    align-items: center;
    padding: 12px;
  }

  .mobile-white-hero__cards article > span {
    margin: 0;
    grid-row: span 2;
  }

  .mobile-white-hero__cards small {
    margin-top: 3px;
  }
}

/* ===== Mobile header premium v2 ===== */
@media (max-width: 860px) {
  body.mobile-white-premium .hero {
    padding-top: 10px !important;
    padding-bottom: 18px !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(13,110,253,0.07), transparent 18rem),
      linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
    border-radius: 0 0 28px 28px !important;
  }

  body.mobile-white-premium .mobile-white-hero {
    width: min(calc(100% - 22px), 540px);
    margin: 0 auto;
    padding: 10px 0 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.mobile-white-premium .mobile-white-hero::after {
    content: none !important;
    display: none !important;
  }

  .mobile-white-hero__brandbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
  }

  .mobile-white-hero__brand {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }

  .mobile-white-hero__brand img {
    width: 54px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 6px 14px rgba(13,110,253,0.08));
  }

  .mobile-white-hero__brand small {
    display: block;
    color: #0d6efd;
    font-size: 0.56rem;
    font-weight: 900;
    letter-spacing: 0.12em;
  }

  .mobile-white-hero__brand strong {
    display: block;
    color: #071225;
    font-size: 0.86rem;
    line-height: 1.12;
    letter-spacing: -0.02em;
  }

  .mobile-white-hero__status {
    flex-shrink: 0;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    color: #0d6efd;
    background: rgba(13,110,253,0.07);
    border: 1px solid rgba(13,110,253,0.12);
    font-size: 0.68rem;
    font-weight: 900;
    white-space: nowrap;
  }

  .mobile-white-hero__panel {
    position: relative;
    overflow: hidden;
    padding: 18px 16px;
    border-radius: 28px;
    background:
      radial-gradient(circle at 100% 0%, rgba(85,214,255,0.10), transparent 9rem),
      linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid rgba(12,31,56,0.08);
    box-shadow:
      0 16px 40px rgba(8,20,38,0.07),
      inset 0 1px 0 rgba(255,255,255,0.9);
  }

  .mobile-white-hero__panel::before {
    content: "";
    position: absolute;
    right: -30px;
    top: -40px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(13,110,253,0.10), transparent 68%);
    pointer-events: none;
  }

  .mobile-white-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    color: #4b5e76;
    background: #f2f7fd;
    border: 1px solid rgba(12,31,56,0.06);
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.06em;
  }

  .mobile-white-hero__panel h1 {
    margin: 14px 0 0;
    color: #071225;
    font-family: "Space Grotesk", "Inter", sans-serif;
    font-size: clamp(2rem, 9vw, 3.1rem);
    line-height: 0.94;
    letter-spacing: -0.075em;
    max-width: 9ch;
  }

  .mobile-white-hero__panel h1 strong {
    display: block;
    color: #0d6efd;
    font-weight: 900;
  }

  .mobile-white-hero__panel p {
    margin: 14px 0 0;
    color: #596b81;
    font-size: 0.88rem;
    line-height: 1.46;
    max-width: 31ch;
  }

  .mobile-white-hero__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 16px;
  }

  .mobile-white-hero__btn {
    min-height: 44px;
    display: grid;
    place-items: center;
    padding: 8px 10px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 950;
    font-size: 0.84rem;
    letter-spacing: -0.02em;
  }

  .mobile-white-hero__btn--call {
    color: #ffffff;
    background: linear-gradient(135deg, #0d6efd, #1b82ff);
    box-shadow: 0 10px 22px rgba(13,110,253,0.18);
  }

  .mobile-white-hero__btn--whatsapp {
    color: #ffffff;
    background: linear-gradient(135deg, #25d366, #43e97b);
    box-shadow: 0 10px 22px rgba(37,211,102,0.16);
  }

  .mobile-white-hero__btn--quote {
    grid-column: 1 / -1;
    color: #0d6efd;
    background: #ffffff;
    border: 1px solid rgba(13,110,253,0.18);
  }

  .mobile-white-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
  }

  .mobile-white-hero__meta span {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    color: #41546c;
    background: #f5f9fe;
    border: 1px solid rgba(12,31,56,0.06);
    font-size: 0.72rem;
    font-weight: 800;
  }

  .mobile-white-hero__trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 12px;
  }

  .mobile-white-hero__trust article {
    padding: 14px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(12,31,56,0.08);
    box-shadow: 0 12px 28px rgba(8,20,38,0.05);
  }

  .mobile-white-hero__trust strong {
    display: block;
    color: #071225;
    font-size: 0.86rem;
    line-height: 1.12;
  }

  .mobile-white-hero__trust small {
    display: block;
    margin-top: 6px;
    color: #607287;
    font-size: 0.72rem;
    line-height: 1.34;
  }

  /* Servicios comienzan más cerca y equilibrados */
  body.mobile-white-premium #servicios {
    padding-top: 22px !important;
  }
}

@media (max-width: 420px) {
  .mobile-white-hero__brand strong {
    font-size: 0.8rem;
  }

  .mobile-white-hero__status {
    font-size: 0.62rem;
    padding: 0 8px;
  }

  .mobile-white-hero__panel {
    padding: 16px 14px;
    border-radius: 24px;
  }

  .mobile-white-hero__panel h1 {
    font-size: clamp(1.85rem, 10vw, 2.75rem);
    max-width: 8.6ch;
  }

  .mobile-white-hero__panel p {
    font-size: 0.83rem;
  }
}

/* ===== Mobile banner hero limpio ===== */
@media (max-width: 860px) {
  body.mobile-white-premium .hero {
    display: block !important;
    min-height: auto !important;
    padding: 10px 0 18px !important;
    background:
      linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%) !important;
    border-radius: 0 0 24px 24px !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  body.mobile-white-premium .hero::before,
  body.mobile-white-premium .hero::after,
  body.mobile-white-premium .hero__overlay,
  body.mobile-white-premium .hero__content,
  body.mobile-white-premium .hero__media {
    display: none !important;
    content: none !important;
  }

  body.mobile-white-premium .mobile-banner-hero {
    display: block;
    width: min(calc(100% - 24px), 560px);
    margin: 0 auto;
  }

  .mobile-banner-hero__figure {
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #eef3fb;
    border: 1px solid rgba(12,31,56,0.08);
    box-shadow: 0 18px 42px rgba(8,20,38,0.08);
  }

  .mobile-banner-hero__figure img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9.5;
    object-fit: cover;
    object-position: center;
  }

  .mobile-banner-hero__actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
  }

  .mobile-banner-hero__btn {
    min-height: 44px;
    display: grid;
    place-items: center;
    padding: 8px 10px;
    border-radius: 16px;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    box-shadow: 0 10px 22px rgba(8,20,38,0.06);
  }

  .mobile-banner-hero__btn--call {
    background: #0d1524;
    color: #ffffff;
  }

  .mobile-banner-hero__btn--whatsapp {
    background: linear-gradient(135deg, #25d366, #43e97b);
    color: #ffffff;
  }

  .mobile-banner-hero__btn--quote {
    background: #ffffff;
    color: #0d6efd;
    border: 1px solid rgba(13,110,253,0.18);
  }

  .mobile-banner-hero__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin-top: 12px;
  }

  .mobile-banner-hero__meta span {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border-radius: 999px;
    background: #ffffff;
    color: #4e6077;
    border: 1px solid rgba(12,31,56,0.08);
    font-size: 0.72rem;
    font-weight: 800;
  }

  /* ocultar el header mobile anterior si queda algún estilo heredado */
  body.mobile-white-premium .mobile-white-hero {
    display: none !important;
  }

  /* menú y barra superiores más limpios */
  body.mobile-white-premium .navbar {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(12,31,56,0.08) !important;
    box-shadow: 0 8px 24px rgba(8,20,38,0.05) !important;
  }

  body.mobile-white-premium .brand strong {
    color: #0b1423 !important;
    font-size: 0.94rem !important;
  }

  body.mobile-white-premium .brand img {
    width: 54px !important;
  }

  body.mobile-white-premium .menu-toggle {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    border: 1px solid rgba(12,31,56,0.09) !important;
    box-shadow: 0 10px 22px rgba(8,20,38,0.06) !important;
  }

  body.mobile-white-premium .menu-toggle span {
    background: #0b1423 !important;
  }

  /* acercar servicios al banner y mejorar continuidad visual */
  body.mobile-white-premium #servicios {
    padding-top: 24px !important;
  }
}

@media (max-width: 420px) {
  .mobile-banner-hero__figure {
    border-radius: 20px;
  }

  .mobile-banner-hero__actions {
    grid-template-columns: 1fr 1fr;
  }

  .mobile-banner-hero__btn--quote {
    grid-column: 1 / -1;
  }
}

/* ===== Mobile banner premium full width ===== */
.mobile-banner-hero__mini {
  display: none;
}

@media (max-width: 860px) {
  body.mobile-white-premium {
    background: #f6f9fd !important;
  }

  body.mobile-white-premium .navbar {
    background: rgba(255,255,255,0.96) !important;
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(12,31,56,0.08) !important;
    box-shadow: 0 8px 24px rgba(8,20,38,0.045) !important;
  }

  body.mobile-white-premium .navbar__inner {
    min-height: 58px !important;
  }

  body.mobile-white-premium .brand img {
    width: 52px !important;
  }

  body.mobile-white-premium .brand strong {
    color: #071225 !important;
    font-size: 0.92rem !important;
  }

  body.mobile-white-premium .menu-toggle {
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
    background: #ffffff !important;
    border: 1px solid rgba(12,31,56,0.09) !important;
    box-shadow: 0 10px 22px rgba(8,20,38,0.055) !important;
  }

  body.mobile-white-premium .menu-toggle span {
    background: #071225 !important;
  }

  body.mobile-white-premium .hero {
    padding: 0 0 22px !important;
    background:
      linear-gradient(180deg, #ffffff 0%, #f6f9fd 72%, #f6f9fd 100%) !important;
    border-radius: 0 0 28px 28px !important;
    overflow: visible !important;
    box-shadow: none !important;
  }

  body.mobile-white-premium .mobile-banner-hero {
    width: 100% !important;
    max-width: 560px;
    margin: 0 auto !important;
    padding: 0 0 0 !important;
  }

  .mobile-banner-hero__figure {
    width: calc(100% - 18px);
    margin: 10px auto 0 !important;
    border-radius: 28px !important;
    border: 1px solid rgba(12,31,56,0.08) !important;
    background: #eaf1fa !important;
    box-shadow: 0 20px 48px rgba(8,20,38,0.10) !important;
    position: relative;
  }

  .mobile-banner-hero__figure::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.00) 45%, rgba(7,18,37,0.10) 100%);
    pointer-events: none;
  }

  .mobile-banner-hero__figure img {
    width: 100% !important;
    aspect-ratio: 16 / 10.2 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transform: scale(1.01);
  }

  .mobile-banner-hero__actions {
    width: calc(100% - 34px);
    max-width: 520px;
    margin: -22px auto 0 !important;
    position: relative;
    z-index: 5;
    display: grid !important;
    grid-template-columns: 1fr 1.15fr 1fr !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,0.92) !important;
    border: 1px solid rgba(12,31,56,0.08) !important;
    box-shadow: 0 16px 36px rgba(8,20,38,0.12) !important;
    backdrop-filter: blur(16px);
  }

  .mobile-banner-hero__btn {
    min-height: 44px !important;
    border-radius: 15px !important;
    font-size: 0.82rem !important;
    font-weight: 950 !important;
    box-shadow: none !important;
  }

  .mobile-banner-hero__btn--call {
    background: #071225 !important;
    color: #ffffff !important;
  }

  .mobile-banner-hero__btn--whatsapp {
    background: linear-gradient(135deg, #25d366, #43e97b) !important;
    color: #ffffff !important;
  }

  .mobile-banner-hero__btn--quote {
    background: #eef5ff !important;
    color: #0d6efd !important;
    border: 1px solid rgba(13,110,253,0.13) !important;
  }

  .mobile-banner-hero__meta {
    width: calc(100% - 28px);
    margin: 12px auto 0 !important;
    justify-content: center !important;
    gap: 7px !important;
  }

  .mobile-banner-hero__meta span {
    min-height: 30px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #465970 !important;
    border: 1px solid rgba(12,31,56,0.08) !important;
    box-shadow: 0 8px 18px rgba(8,20,38,0.045) !important;
    font-size: 0.7rem !important;
    font-weight: 850 !important;
  }

  .mobile-banner-hero__mini {
    width: calc(100% - 28px);
    max-width: 520px;
    margin: 10px auto 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }

  .mobile-banner-hero__mini span {
    min-height: 34px;
    display: grid;
    place-items: center;
    padding: 6px 5px;
    border-radius: 13px;
    background: rgba(13,110,253,0.07);
    color: #0d6efd;
    border: 1px solid rgba(13,110,253,0.10);
    font-size: 0.64rem;
    line-height: 1.05;
    font-weight: 900;
    text-align: center;
  }

  body.mobile-white-premium #servicios {
    padding-top: 22px !important;
  }

  body.mobile-white-premium #servicios .section-heading h2 {
    font-size: clamp(1.34rem, 6.2vw, 1.9rem) !important;
  }

  body.mobile-white-premium #servicios .section-heading p {
    font-size: 0.82rem !important;
  }
}

@media (max-width: 420px) {
  .mobile-banner-hero__figure {
    width: calc(100% - 14px);
    border-radius: 24px !important;
  }

  .mobile-banner-hero__figure img {
    aspect-ratio: 16 / 10.8 !important;
  }

  .mobile-banner-hero__actions {
    width: calc(100% - 24px);
    grid-template-columns: 1fr 1.12fr 1fr !important;
    gap: 6px !important;
    padding: 7px !important;
    border-radius: 20px !important;
  }

  .mobile-banner-hero__btn {
    min-height: 40px !important;
    font-size: 0.76rem !important;
    border-radius: 13px !important;
  }

  .mobile-banner-hero__meta {
    width: calc(100% - 22px);
    gap: 5px !important;
  }

  .mobile-banner-hero__meta span {
    font-size: 0.64rem !important;
    padding: 0 8px !important;
  }

  .mobile-banner-hero__mini {
    width: calc(100% - 22px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ===== Mobile hero graphic pro ===== */
@media (max-width: 860px) {
  body.mobile-white-premium .hero {
    padding: 12px 0 18px !important;
    background: linear-gradient(180deg, #f9fbff 0%, #f3f7fc 100%) !important;
    border-radius: 0 0 30px 30px !important;
  }

  body.mobile-white-premium .hero__content,
  body.mobile-white-premium .hero__media,
  body.mobile-white-premium .hero__overlay,
  body.mobile-white-premium .mobile-banner-hero {
    display: none !important;
  }

  body.mobile-white-premium .mobile-hero-pro {
    display: block;
    width: min(calc(100% - 18px), 560px);
    margin: 0 auto;
  }

  .mobile-hero-pro__card {
    background: #ffffff;
    border: 1px solid rgba(12,31,56,0.08);
    border-radius: 30px;
    padding: 12px;
    box-shadow: 0 22px 48px rgba(8,20,38,0.08);
  }

  .mobile-hero-pro__figure {
    position: relative;
    overflow: hidden;
    margin: 0;
    border-radius: 22px;
    aspect-ratio: 16 / 11.8;
    background: #dfe8f5;
  }

  .mobile-hero-pro__figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
  }

  .mobile-hero-pro__figure::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(4,11,24,0.10) 0%, rgba(4,11,24,0.18) 36%, rgba(4,11,24,0.70) 100%),
      linear-gradient(90deg, rgba(10,27,59,0.72) 0%, rgba(10,27,59,0.12) 56%, rgba(10,27,59,0) 100%);
    pointer-events: none;
  }

  .mobile-hero-pro__overlay {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    padding: 18px 16px 16px;
    color: #ffffff;
  }

  .mobile-hero-pro__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.18);
    backdrop-filter: blur(10px);
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.12em;
  }

  .mobile-hero-pro__overlay h1 {
    margin: 12px 0 0;
    color: #ffffff;
    font-family: "Space Grotesk", "Inter", sans-serif;
    font-size: clamp(1.95rem, 8vw, 2.75rem);
    line-height: 0.95;
    letter-spacing: -0.06em;
    max-width: 9ch;
  }

  .mobile-hero-pro__overlay p {
    margin: 10px 0 0;
    max-width: 30ch;
    color: rgba(255,255,255,0.90);
    font-size: 0.82rem;
    line-height: 1.42;
  }

  .mobile-hero-pro__services {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
  }

  .mobile-hero-pro__services span {
    min-height: 36px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 5px 4px;
    border-radius: 14px;
    background: #eef5ff;
    color: #0d6efd;
    border: 1px solid rgba(13,110,253,0.11);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: -0.01em;
  }

  .mobile-hero-pro__actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 12px;
  }

  .mobile-hero-pro__btn {
    min-height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 950;
    letter-spacing: -0.02em;
    padding: 8px 6px;
  }

  .mobile-hero-pro__btn--call {
    background: #081224;
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(8,18,36,0.14);
  }

  .mobile-hero-pro__btn--whatsapp {
    background: linear-gradient(135deg, #25d366, #43e97b);
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(37,211,102,0.16);
  }

  .mobile-hero-pro__btn--quote {
    background: #ffffff;
    color: #0d6efd;
    border: 1px solid rgba(13,110,253,0.18);
    box-shadow: 0 10px 20px rgba(13,110,253,0.06);
  }

  .mobile-hero-pro__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
  }

  .mobile-hero-pro__meta article {
    min-height: 68px;
    padding: 12px 8px;
    border-radius: 16px;
    text-align: center;
    background: #f8fbff;
    border: 1px solid rgba(12,31,56,0.07);
  }

  .mobile-hero-pro__meta strong {
    display: block;
    color: #0b1423;
    font-size: 0.73rem;
    line-height: 1.15;
    font-weight: 900;
  }

  .mobile-hero-pro__meta small {
    display: block;
    margin-top: 5px;
    color: #6b7a90;
    font-size: 0.64rem;
    line-height: 1.25;
  }

  body.mobile-white-premium #servicios {
    padding-top: 22px !important;
  }

  /* navbar refinement */
  body.mobile-white-premium .navbar {
    background: rgba(255,255,255,0.96) !important;
    border-bottom: 1px solid rgba(12,31,56,0.08) !important;
    box-shadow: 0 10px 24px rgba(8,20,38,0.05) !important;
    backdrop-filter: blur(16px);
  }

  body.mobile-white-premium .brand img {
    width: 54px !important;
  }

  body.mobile-white-premium .brand strong {
    color: #0b1423 !important;
    font-size: 0.98rem !important;
  }

  body.mobile-white-premium .menu-toggle {
    width: 46px !important;
    height: 46px !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    border: 1px solid rgba(12,31,56,0.08) !important;
    box-shadow: 0 10px 22px rgba(8,20,38,0.06) !important;
  }

  body.mobile-white-premium .menu-toggle span {
    background: #0b1423 !important;
  }
}

@media (max-width: 420px) {
  body.mobile-white-premium .mobile-hero-pro {
    width: calc(100% - 14px);
  }

  .mobile-hero-pro__card {
    padding: 10px;
    border-radius: 26px;
  }

  .mobile-hero-pro__figure {
    border-radius: 20px;
    aspect-ratio: 16 / 12.2;
  }

  .mobile-hero-pro__overlay {
    padding: 16px 14px 14px;
  }

  .mobile-hero-pro__overlay h1 {
    font-size: clamp(1.8rem, 9vw, 2.45rem);
    max-width: 8.2ch;
  }

  .mobile-hero-pro__overlay p {
    font-size: 0.76rem;
    max-width: 27ch;
  }

  .mobile-hero-pro__services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .mobile-hero-pro__services span {
    min-height: 34px;
    font-size: 0.66rem;
  }

  .mobile-hero-pro__actions {
    gap: 7px;
  }

  .mobile-hero-pro__btn {
    min-height: 44px;
    font-size: 0.76rem;
    border-radius: 14px;
  }

  .mobile-hero-pro__meta {
    gap: 7px;
  }

  .mobile-hero-pro__meta article {
    min-height: 64px;
    padding: 10px 6px;
  }

  .mobile-hero-pro__meta strong {
    font-size: 0.67rem;
  }

  .mobile-hero-pro__meta small {
    font-size: 0.60rem;
  }
}

/* ===== Mobile header limpio real v4 ===== */
.mobile-hero-clean {
  display: none;
}

@media (max-width: 860px) {
  body.mobile-white-premium {
    background: #f6f9fd !important;
  }

  body.mobile-white-premium .navbar {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(12,31,56,0.08) !important;
    box-shadow: 0 8px 24px rgba(8,20,38,0.045) !important;
    backdrop-filter: blur(14px);
  }

  body.mobile-white-premium .navbar__inner {
    min-height: 60px !important;
  }

  body.mobile-white-premium .brand img {
    width: 54px !important;
  }

  body.mobile-white-premium .brand strong {
    color: #081224 !important;
    font-size: 0.96rem !important;
    line-height: 1 !important;
  }

  body.mobile-white-premium .brand small {
    display: none !important;
  }

  body.mobile-white-premium .menu-toggle {
    width: 44px !important;
    height: 44px !important;
    border-radius: 15px !important;
    background: #ffffff !important;
    border: 1px solid rgba(12,31,56,0.09) !important;
    box-shadow: 0 10px 22px rgba(8,20,38,0.06) !important;
  }

  body.mobile-white-premium .menu-toggle span {
    background: #081224 !important;
  }

  body.mobile-white-premium .hero {
    display: block !important;
    min-height: auto !important;
    padding: 10px 0 22px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9fd 100%) !important;
    border-radius: 0 0 28px 28px !important;
    overflow: visible !important;
    box-shadow: none !important;
  }

  body.mobile-white-premium .hero__media,
  body.mobile-white-premium .hero__overlay,
  body.mobile-white-premium .hero__content,
  body.mobile-white-premium .mobile-hero-pro,
  body.mobile-white-premium .mobile-banner-hero,
  body.mobile-white-premium .mobile-white-hero,
  body.mobile-white-premium .mobile-hero-elegante {
    display: none !important;
  }

  body.mobile-white-premium .mobile-hero-clean {
    display: block !important;
    width: min(calc(100% - 16px), 560px);
    margin: 0 auto;
  }

  .mobile-hero-clean__banner {
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #e9eff7;
    border: 1px solid rgba(12,31,56,0.08);
    box-shadow: 0 18px 44px rgba(8,20,38,0.085);
  }

  .mobile-hero-clean__banner img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9.8;
    object-fit: cover;
    object-position: center;
  }

  .mobile-hero-clean__content {
    width: calc(100% - 20px);
    margin: -18px auto 0;
    position: relative;
    z-index: 3;
    padding: 17px 15px 15px;
    border-radius: 22px;
    background: rgba(255,255,255,0.985);
    border: 1px solid rgba(12,31,56,0.08);
    box-shadow: 0 18px 42px rgba(8,20,38,0.10);
    text-align: left;
  }

  .mobile-hero-clean__tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    color: #0d6efd;
    background: #eef5ff;
    border: 1px solid rgba(13,110,253,0.14);
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .mobile-hero-clean__content h1 {
    margin: 12px 0 0;
    color: #081224;
    font-family: "Space Grotesk", "Inter", sans-serif;
    font-size: clamp(1.72rem, 7.6vw, 2.32rem);
    line-height: 0.98;
    letter-spacing: -0.06em;
    max-width: 11ch;
  }

  .mobile-hero-clean__content p {
    margin: 10px 0 0;
    color: #607086;
    font-size: 0.82rem;
    line-height: 1.42;
    font-weight: 700;
  }

  .mobile-hero-clean__actions {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 9px;
    margin-top: 14px;
  }

  .mobile-hero-clean__btn,
  .mobile-hero-clean__quote {
    min-height: 46px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 950;
    letter-spacing: -0.02em;
  }

  .mobile-hero-clean__btn--whatsapp {
    color: #ffffff;
    background: linear-gradient(135deg, #25d366, #43e97b);
    box-shadow: 0 12px 24px rgba(37,211,102,0.17);
  }

  .mobile-hero-clean__btn--call {
    color: #ffffff;
    background: #081224;
    box-shadow: 0 12px 24px rgba(8,18,36,0.14);
  }

  .mobile-hero-clean__quote {
    margin-top: 9px;
    color: #0d6efd;
    background: #f1f7ff;
    border: 1px solid rgba(13,110,253,0.14);
  }

  .mobile-hero-clean__location {
    margin-top: 12px;
    display: flex;
    justify-content: center;
    color: #53657c;
    font-size: 0.76rem;
    font-weight: 850;
  }

  /* La barra inferior ya no tapa el encabezado inicial; aparece al hacer scroll */
  body.mobile-white-premium .mobile-bar {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(130%) !important;
    transition: opacity 0.22s ease, transform 0.22s ease !important;
  }

  body.mobile-white-premium.mobile-cta-visible .mobile-bar {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  body.mobile-white-premium #servicios {
    padding-top: 24px !important;
  }

  body.mobile-white-premium #servicios .section-heading h2 {
    font-size: clamp(1.34rem, 6.4vw, 1.9rem) !important;
  }
}

@media (max-width: 420px) {
  body.mobile-white-premium .mobile-hero-clean {
    width: calc(100% - 12px);
  }

  .mobile-hero-clean__banner {
    border-radius: 21px;
  }

  .mobile-hero-clean__banner img {
    aspect-ratio: 16 / 10.4;
  }

  .mobile-hero-clean__content {
    width: calc(100% - 16px);
    margin-top: -16px;
    padding: 15px 13px 14px;
    border-radius: 20px;
  }

  .mobile-hero-clean__tag {
    min-height: 26px;
    font-size: 0.58rem;
    padding: 0 9px;
  }

  .mobile-hero-clean__content h1 {
    font-size: clamp(1.58rem, 8.2vw, 2.12rem);
    max-width: 10ch;
  }

  .mobile-hero-clean__content p {
    font-size: 0.76rem;
  }

  .mobile-hero-clean__actions {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .mobile-hero-clean__btn,
  .mobile-hero-clean__quote {
    min-height: 43px;
    border-radius: 14px;
    font-size: 0.78rem;
  }
}

/* ===== Mobile: sin encabezado de servicios ===== */
@media (max-width: 860px) {
  body.mobile-white-premium .hero {
    display: none !important;
  }

  body.mobile-white-premium .quick-actions {
    padding-top: 18px !important;
  }
}

/* ===== Mobile header tal cual mockup premium ===== */
.mobile-mockup-hero {
  display: none;
}

@media (max-width: 860px) {
  body.mobile-white-premium {
    background: #f3f7fc !important;
  }

  body.mobile-white-premium .navbar,
  body.mobile-white-premium .hero,
  body.mobile-white-premium .quick-actions {
    display: none !important;
  }

  body.mobile-white-premium .mobile-mockup-hero {
    display: block !important;
    background: #f3f7fc;
    padding: 0 0 22px;
  }

  .mobile-mockup-hero__frame {
    position: relative;
    width: min(100%, 520px);
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0 0 30px 30px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(8, 20, 38, 0.10);
  }

  .mobile-mockup-hero__frame img {
    display: block;
    width: 100%;
    height: auto;
    user-select: none;
    -webkit-user-drag: none;
  }

  .mobile-mockup-hero__hotspot {
    position: absolute;
    z-index: 4;
    display: block;
    border: 0;
    background: rgba(255,255,255,0);
    cursor: pointer;
    border-radius: 18px;
  }

  .mobile-mockup-hero__hotspot:focus-visible {
    outline: 3px solid rgba(13,110,253,0.65);
    outline-offset: 2px;
  }

  .mobile-mockup-hero__menu {
    left: 82.5%;
    top: 3.4%;
    width: 11.4%;
    height: 6.3%;
  }

  .mobile-mockup-hero__whatsapp {
    left: 8.6%;
    top: 45.9%;
    width: 40.4%;
    height: 7.4%;
  }

  .mobile-mockup-hero__call {
    left: 52.0%;
    top: 45.9%;
    width: 39.9%;
    height: 7.4%;
  }

  .mobile-mockup-hero__agenda {
    left: 8.6%;
    top: 55.3%;
    width: 82.8%;
    height: 6.1%;
  }

  .mobile-mockup-hero__sanbernardo {
    left: 17.7%;
    top: 89.1%;
    width: 30.1%;
    height: 4.8%;
  }

  .mobile-mockup-hero__padrehurtado {
    left: 51.2%;
    top: 89.1%;
    width: 31.2%;
    height: 4.8%;
  }

  body.mobile-white-premium #servicios {
    padding-top: 26px !important;
  }

  body.mobile-white-premium #servicios .section-heading {
    margin-top: 0 !important;
  }

  body.mobile-white-premium .mobile-bar {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(130%) !important;
    transition: opacity 0.22s ease, transform 0.22s ease !important;
  }

  body.mobile-white-premium.mobile-cta-visible .mobile-bar {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
}

@media (min-width: 861px) {
  .mobile-mockup-hero {
    display: none !important;
  }
}

/* ===== Correcciones finales de publicación ===== */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

img,
iframe {
  max-width: 100%;
}

.mobile-mockup-menu-panel {
  display: none;
}

@media (max-width: 860px) {
  body.mobile-white-premium .navbar,
  body.mobile-white-premium .hero,
  body.mobile-white-premium .quick-actions {
    display: none !important;
  }

  body.mobile-white-premium .mobile-mockup-hero {
    display: block !important;
  }

  .mobile-mockup-menu-panel.open {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: grid;
    place-items: start center;
    padding: 18px;
    background: rgba(7, 18, 36, 0.42);
    backdrop-filter: blur(10px);
  }

  .mobile-mockup-menu-panel__box {
    width: min(100%, 430px);
    margin-top: 14px;
    padding: 14px;
    border-radius: 24px;
    background: rgba(255,255,255,0.98);
    border: 1px solid rgba(12,31,56,0.10);
    box-shadow: 0 24px 70px rgba(8,20,38,0.22);
    display: grid;
    gap: 8px;
  }

  .mobile-mockup-menu-panel__close {
    justify-self: end;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 14px;
    background: #eef5ff;
    color: #0d6efd;
    font-size: 1.65rem;
    line-height: 1;
    font-weight: 900;
  }

  .mobile-mockup-menu-panel a {
    min-height: 46px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    border-radius: 15px;
    color: #081224;
    background: #f7faff;
    border: 1px solid rgba(12,31,56,0.07);
    text-decoration: none;
    font-weight: 850;
  }

  .mobile-mockup-menu-panel__cta {
    justify-content: center;
    color: #ffffff !important;
    background: linear-gradient(135deg, #25d366, #43e97b) !important;
    border: 0 !important;
  }
}

@media (min-width: 861px) {
  .mobile-mockup-hero,
  .mobile-mockup-menu-panel {
    display: none !important;
  }
}


/* ===== Unlimit Service Pro 2.0: herramientas comerciales ===== */
.smart-tools {
  background:
    radial-gradient(circle at 100% 10%, rgba(13,110,253,0.08), transparent 26rem),
    linear-gradient(180deg, #ffffff, #f4f8fd);
}

.tools-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 18px;
  align-items: stretch;
}

.tool-card {
  padding: 26px;
  border-radius: 30px;
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(12,31,56,0.09);
  box-shadow: 0 22px 55px rgba(8,20,38,0.08);
}

.tool-card__intro span {
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tool-card__intro h3 {
  margin: 8px 0;
  color: var(--navy);
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.tool-card__intro p {
  color: var(--muted);
  max-width: 58ch;
}

.symptom-selector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.symptom-selector button {
  min-height: 50px;
  padding: 12px;
  border: 1px solid rgba(13,110,253,0.12);
  border-radius: 16px;
  color: var(--navy);
  background: #f7fbff;
  font-weight: 900;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.symptom-selector button:hover {
  transform: translateY(-1px);
}

.symptom-selector button.is-selected {
  color: #ffffff;
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  border-color: transparent;
}

.diagnostic-result {
  margin-top: 16px;
  padding: 16px;
  border-radius: 20px;
  background: #071225;
  color: #ffffff;
}

.diagnostic-result strong {
  display: block;
  margin-bottom: 6px;
}

.diagnostic-result span {
  color: rgba(255,255,255,0.74);
  font-size: 0.92rem;
}

.tool-whatsapp {
  min-height: 50px;
  margin-top: 14px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: #ffffff;
  background: linear-gradient(135deg, #25d366, #43e97b);
  text-decoration: none;
  font-weight: 950;
  box-shadow: 0 14px 30px rgba(37,211,102,0.18);
}

.quote-builder {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.quote-builder label {
  margin: 0;
}

.quote-builder__full {
  grid-column: 1 / -1;
}

.quote-builder textarea {
  min-height: 82px;
}

.service-focus {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.service-focus article {
  padding: 18px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(12,31,56,0.08);
  box-shadow: 0 14px 34px rgba(8,20,38,0.055);
}

.service-focus strong {
  display: block;
  color: var(--navy);
  margin-bottom: 8px;
  font-size: 1.05rem;
}

.service-focus span {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .tools-grid,
  .service-focus {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .smart-tools {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .tools-grid {
    gap: 12px;
  }

  .tool-card {
    padding: 16px;
    border-radius: 22px;
  }

  .tool-card__intro h3 {
    font-size: 1.22rem;
  }

  .tool-card__intro p {
    font-size: 0.82rem;
  }

  .symptom-selector {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 12px;
  }

  .symptom-selector button {
    min-height: 44px;
    padding: 9px 7px;
    border-radius: 13px;
    font-size: 0.74rem;
    line-height: 1.12;
  }

  .diagnostic-result {
    padding: 13px;
    border-radius: 16px;
  }

  .diagnostic-result strong {
    font-size: 0.86rem;
  }

  .diagnostic-result span {
    font-size: 0.76rem;
  }

  .tool-whatsapp {
    min-height: 44px;
    border-radius: 14px;
    font-size: 0.82rem;
  }

  .quote-builder {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 12px;
  }

  .quote-builder__full {
    grid-column: auto;
  }

  .quote-builder textarea {
    min-height: 64px;
  }

  .service-focus {
    gap: 8px;
    margin-top: 12px;
  }

  .service-focus article {
    padding: 13px;
    border-radius: 16px;
  }

  .service-focus strong {
    font-size: 0.92rem;
    margin-bottom: 4px;
  }

  .service-focus span {
    font-size: 0.76rem;
  }
}
